diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2025-11-10 15:46:53 +0100 |
|---|---|---|
| committer | Ilya Dryomov <idryomov@gmail.com> | 2025-12-10 11:50:54 +0100 |
| commit | 04d8712b079327409b09dee628378f9583e2e035 (patch) | |
| tree | 8463d734da024f3fbe8227eedc80bb2733c63dbc /drivers/fpga/tests/fpga-region-test.c | |
| parent | 87327d4eaaeafd3a2f6a1ffe84d6d25a96a2495d (diff) | |
libceph: Amend checking to fix `make W=1` build breakage
In a few cases the code compares 32-bit value to a SIZE_MAX derived
constant which is much higher than that value on 64-bit platforms,
Clang, in particular, is not happy about this
net/ceph/osdmap.c:1441:10: error: result of comparison of constant 4611686018427387891 with expression of type 'u32' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
1441 | if (len > (SIZE_MAX - sizeof(*pg)) / sizeof(u32))
| ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/ceph/osdmap.c:1624:10: error: result of comparison of constant 2305843009213693945 with expression of type 'u32' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
1624 | if (len > (SIZE_MAX - sizeof(*pg)) / (2 * sizeof(u32)))
| ~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fix this by casting to size_t. Note, that possible replacement of SIZE_MAX
by U32_MAX may lead to the behaviour changes on the corner cases.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'drivers/fpga/tests/fpga-region-test.c')
0 files changed, 0 insertions, 0 deletions
