lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <Y4Es4TIbVos5CTO9@ZenIV> Date: Fri, 25 Nov 2022 21:00:17 +0000 From: Al Viro <viro@...iv.linux.org.uk> To: Zhen Lei <thunder.leizhen@...wei.com> Cc: Eric Biggers <ebiggers@...nel.org>, linux-fsdevel@...r.kernel.org, Chris Mason <clm@...com>, Josef Bacik <josef@...icpanda.com>, David Sterba <dsterba@...e.com>, linux-btrfs@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH v3 0/2] fs: clear a UBSAN shift-out-of-bounds warning On Fri, Nov 25, 2022 at 05:13:56PM +0800, Zhen Lei wrote: > v2 --> v3: > Updated the commit message of patch 2/2 based on Alexander Viro's suggestion. Not exactly what I meant... I've tentatively applied it, with the following commit message: -------------------------------- get rid of INT_LIMIT, use type_max() instead INT_LIMIT() tries to do what type_max() does, except that type_max() doesn't rely upon undefined behaviour[*], might as well use type_max() instead. [*] if T is an N-bit signed integer type, the maximal value in T is pow(2, N - 1) - 1, all right, but naive expression for that value ends up with a couple of wraparounds and as usual for wraparounds in signed types, that's an undefined behaviour. type_max() takes care to avoid those... Caught-by: UBSAN Suggested-by: Eric Biggers <ebiggers@...nel.org> Signed-off-by: Zhen Lei <thunder.leizhen@...wei.com> Reviewed-by: Eric Biggers <ebiggers@...gle.com> Signed-off-by: Al Viro <viro@...iv.linux.org.uk> -------------------------------- Does anybody have objections against the commit message above?
Powered by blists - more mailing lists