diff options
| author | Josh Law <objecting@objecting.org> | 2026-03-18 07:48:05 +0000 |
|---|---|---|
| committer | Andrew Morton <akpm@linux-foundation.org> | 2026-03-27 21:19:48 -0700 |
| commit | f42b510990030bbc0d6e4ba4486decbcd952b924 (patch) | |
| tree | ecbf48fbb68b9a7f1dcff8a4d2cfc731cf5312ab /rust/kernel/interop/git@git.tavy.me:linux-stable.git | |
| parent | b8822d73d6fe0d43de3b98ccc995b7032993b1b7 (diff) | |
lib/bch: fix signed left-shift undefined behavior
Patch series "lib/bch: fix undefined behavior from signed left-shifts".
Fix two instances of undefined behavior in lib/bch.c caused by
left-shifting signed integers into or past the sign bit.
While the kernel's -fno-strict-overflow flag prevents miscompilation
today, these are formally UB per C11 6.5.7p4 and trivial to fix.
This patch (of 2):
Use 1u instead of 1 to avoid undefined behavior when left-shifting into
the sign bit of a signed int. deg() can return up to 31, and 1 << 31 is
UB per C11.
Link: https://lkml.kernel.org/r/20260318074806.16527-2-objecting@objecting.org
Signed-off-by: Josh Law <objecting@objecting.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Ivan Djelic <ivan.djelic@parrot.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'rust/kernel/interop/git@git.tavy.me:linux-stable.git')
0 files changed, 0 insertions, 0 deletions
