[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250912185518.39980-1-farbere@amazon.com>
Date: Fri, 12 Sep 2025 18:55:12 +0000
From: Eliav Farber <farbere@...zon.com>
To: <luc.vanoostenryck@...il.com>, <rostedt@...dmis.org>, <mingo@...hat.com>,
<natechancellor@...il.com>, <ndesaulniers@...gle.com>,
<keescook@...omium.org>, <sashal@...nel.org>, <akpm@...ux-foundation.org>,
<ojeda@...nel.org>, <elver@...gle.com>, <gregkh@...uxfoundation.org>,
<kbusch@...nel.org>, <sj@...nel.org>, <bvanassche@....org>,
<leon@...nel.org>, <jgg@...pe.ca>, <linux-kernel@...r.kernel.org>,
<linux-sparse@...r.kernel.org>, <clang-built-linux@...glegroups.com>,
<stable@...r.kernel.org>
CC: <jonnyc@...zon.com>, <farbere@...zon.com>
Subject: [PATCH v3 0/4 5.10.y] overflow: Allow mixed type arguments in overflow macros
This series backports four commits to bring include/linux/overflow.h in
line with v5.15.193:
- 4578be130a64 ("overflow: Correct check_shl_overflow() comment")
- 4eb6bd55cfb2 ("compiler.h: drop fallback overflow checkers")
- 53f2cd86a81c ("overflow: Allow mixed type arguments")
- ed6e37e30826 ("tracing: Define the is_signed_type() macro once")
The motivation is to fix build failures such as:
drivers/net/ethernet/intel/e1000e/ethtool.c: In function ‘e1000_set_eeprom’:
./include/linux/overflow.h:71:15: error: comparison of distinct pointer types lacks a cast [-Werror]
71 | (void) (&__a == __d); \
| ^~
drivers/net/ethernet/intel/e1000e/ethtool.c:582:6: note: in expansion of macro ‘check_add_overflow’
582 | if (check_add_overflow(eeprom->offset, eeprom->len, &total_len) ||
| ^~~~~~~~~~~~~~~~~~
This regression was triggered by commit ce8829d3d44b ("e1000e: fix heap
overflow in e1000_set_eeprom").
check_add_overflow() requires the first two operands and the result
pointer to be of identical type. On 64-bit builds, using size_t for the
result conflicted with the u32 fields eeprom->offset and eeprom->len,
resulting in type check failures.
Bart Van Assche (1):
tracing: Define the is_signed_type() macro once
Kees Cook (1):
overflow: Allow mixed type arguments
Keith Busch (1):
overflow: Correct check_shl_overflow() comment
Nick Desaulniers (1):
compiler.h: drop fallback overflow checkers
include/linux/compiler-clang.h | 13 --
include/linux/compiler-gcc.h | 4 -
include/linux/compiler.h | 6 +
include/linux/overflow.h | 209 ++++++-----------------------
include/linux/trace_events.h | 2 -
tools/include/linux/compiler-gcc.h | 4 -
tools/include/linux/overflow.h | 140 +------------------
7 files changed, 52 insertions(+), 326 deletions(-)
---
Changes in v3:
- Fixed SHA1 of commits mentioned in cover letter
Changes in v2:
- Added missing sign-off in all patches
--
2.47.3
Powered by blists - more mailing lists