From: Josh Law <objecting@objecting.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Josh Law <objecting@objecting.org>, linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] lib/bch: fix signed left-shift undefined behavior
Date: Wed, 18 Mar 2026 07:48:05 +0000 [thread overview]
Message-ID: <20260318074806.16527-2-objecting@objecting.org> (raw)
In-Reply-To: <20260318074806.16527-1-objecting@objecting.org>
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.
Signed-off-by: Josh Law <objecting@objecting.org>
---
lib/bch.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/bch.c b/lib/bch.c
index 9561c0828802..ef733f08082f 100644
--- a/lib/bch.c
+++ b/lib/bch.c
@@ -392,7 +392,7 @@ static void compute_syndromes(struct bch_control *bch, uint32_t *ecc,
for (j = 0; j < 2*t; j += 2)
syn[j] ^= a_pow(bch, (j+1)*(i+s));
- poly ^= (1 << i);
+ poly ^= (1u << i);
}
} while (s > 0);
@@ -612,7 +612,7 @@ static int find_poly_deg2_roots(struct bch_control *bch, struct gf_poly *poly,
while (v) {
i = deg(v);
r ^= bch->xi_tab[i];
- v ^= (1 << i);
+ v ^= (1u << i);
}
/* verify root */
if ((gf_sqr(bch, r)^r) == u) {
--
2.34.1
next prev parent reply other threads:[~2026-03-18 7:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 7:48 [PATCH 0/2] lib/bch: fix undefined behavior from signed left-shifts Josh Law
2026-03-18 7:48 ` Josh Law [this message]
2026-03-18 7:48 ` [PATCH 2/2] lib/bch: fix signed shift overflow in build_mod8_tables Josh Law
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260318074806.16527-2-objecting@objecting.org \
--to=objecting@objecting.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.