[dpdk-dev] [PATCH v3 2/2] eal: fix signed integers in fbarray
Burakov, Anatoly
anatoly.burakov at intel.com
Sat Apr 14 12:03:50 CEST 2018
On 13-Apr-18 7:43 PM, Adrien Mazarguil wrote:
> While debugging startup issues encountered with Clang (see "eal: fix
> undefined behavior in fbarray"), I noticed that fbarray stores indices,
> sizes and masks on signed integers involved in bitwise operations.
>
> Such operations almost invariably cause undefined behavior with values that
> cannot be represented by the result type, as is often the case with
> bit-masks and left-shifts.
>
> This patch replaces them with unsigned integers as a safety measure and
> promotes a few internal variables to larger types for consistency.
>
> Fixes: c44d09811b40 ("eal: add shared indexed file-backed array")
> Cc: Anatoly Burakov <anatoly.burakov at intel.com>
>
> Signed-off-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
>
> --
>
> v3 changes:
>
> - Added INT_MAX upper bound check in fully_validate() as suggested by
> Anatoly.
> - Added a sysconf() result check to appease Coverity since calc_data_size()
> now takes an unsigned page size (Coverity issues 272598 and 272599).
>
> v2 changes:
>
> Removed unnecessary "(unsigned int)" cast leftovers.
Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
--
Thanks,
Anatoly
More information about the dev
mailing list