diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-05-20 22:43:58 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-05-20 22:43:58 +0300 |
commit | d0e71e23ec5e71655e1a046c9be6f35f78b1d6bb (patch) | |
tree | a380dcf5972943d69d7e16f68fcc4312027bcc16 /fs/notify | |
parent | 5af9d1cf3906171de28f1c395264f29088bdd267 (diff) | |
download | linux-d0e71e23ec5e71655e1a046c9be6f35f78b1d6bb.tar.xz |
Revert "fanotify: remove unneeded sub-zero check for unsigned value"
This reverts commit e6595224464b692ddae193d783402130d1625147.
These kinds of patches are only making the code worse.
Compilers don't care about the unnecessary check, but removing it makes
the code less obvious to a human. The declaration of 'len' is more than
80 lines earlier, so a human won't easily see that 'len' is of an
unsigned type, so to a human the range check that checks against zero is
much more explicit and obvious.
Any tool that complains about a range check like this just because the
variable is unsigned is actively detrimental, and should be ignored.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/notify')
-rw-r--r-- | fs/notify/fanotify/fanotify_user.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index 483a6a1255fb..9ec313e9f6e1 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -502,7 +502,7 @@ static int copy_fid_info_to_user(__kernel_fsid_t *fsid, struct fanotify_fh *fh, } /* Pad with 0's */ - WARN_ON_ONCE(len >= FANOTIFY_EVENT_ALIGN); + WARN_ON_ONCE(len < 0 || len >= FANOTIFY_EVENT_ALIGN); if (len > 0 && clear_user(buf, len)) return -EFAULT; |