[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOQ4uxjiRcCh-dQLYu6+Gx0u7urXT=Bsbdd8erfmmzfyU3G5UA@mail.gmail.com>
Date: Sat, 28 Mar 2020 12:15:14 +0300
From: Amir Goldstein <amir73il@...il.com>
To: Nathan Chancellor <natechancellor@...il.com>
Cc: Jan Kara <jack@...e.cz>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
clang-built-linux@...glegroups.com
Subject: Re: [PATCH -next] fanotify: Fix the checks in fanotify_fsid_equal
On Fri, Mar 27, 2020 at 8:10 PM Nathan Chancellor
<natechancellor@...il.com> wrote:
>
> Clang warns:
>
> fs/notify/fanotify/fanotify.c:28:23: warning: self-comparison always
> evaluates to true [-Wtautological-compare]
> return fsid1->val[0] == fsid1->val[0] && fsid2->val[1] == fsid2->val[1];
> ^
> fs/notify/fanotify/fanotify.c:28:57: warning: self-comparison always
> evaluates to true [-Wtautological-compare]
> return fsid1->val[0] == fsid1->val[0] && fsid2->val[1] == fsid2->val[1];
> ^
> 2 warnings generated.
>
> The intention was clearly to compare val[0] and val[1] in the two
> different fsid structs. Fix it otherwise this function always returns
> true.
>
> Fixes: afc894c784c8 ("fanotify: Store fanotify handles differently")
> Link: https://github.com/ClangBuiltLinux/linux/issues/952
> Signed-off-by: Nathan Chancellor <natechancellor@...il.com>
> ---
Ouch! Good catch!
It would have been quite hard to catch this with tests as
non equal fsid and equal fid are quite rare in the wild.
I will try to write some test with mounts of cloned loop devs.
Thanks,
Amir.
Powered by blists - more mailing lists