[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0a8264a8-e2a9-952a-97ce-a7f06920ad39@huawei.com>
Date: Sat, 26 Nov 2022 09:59:06 +0800
From: "Leizhen (ThunderTown)" <thunder.leizhen@...wei.com>
To: Al Viro <viro@...iv.linux.org.uk>
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 2022/11/26 5:00, Al Viro wrote:
> 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
Haha, I felt like something was missing yesterday, too. But as far as my English
level is concerned, I usually copy the words suggested by others directly.
> following commit message:
Thanks.
>
> --------------------------------
> 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?
Looks good to me.
>
> .
>
--
Regards,
Zhen Lei
Powered by blists - more mailing lists