2021-03-25 08:41:17

by Christian Brauner

[permalink] [raw]
Subject: [PATCH] fanotify_user: use upper_32_bits() to verify mask

From: Christian Brauner <[email protected]>

I don't see an obvious reason why the upper 32 bit check needs to be
open-coded this way. Switch to upper_32_bits() which is more idiomatic and
should conceptually be the same check.

Cc: Amir Goldstein <[email protected]>
Cc: Jan Kara <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>
---
fs/notify/fanotify/fanotify_user.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
index 9e0c1afac8bd..d5683fa9d495 100644
--- a/fs/notify/fanotify/fanotify_user.c
+++ b/fs/notify/fanotify/fanotify_user.c
@@ -1126,7 +1126,7 @@ static int do_fanotify_mark(int fanotify_fd, unsigned int flags, __u64 mask,
__func__, fanotify_fd, flags, dfd, pathname, mask);

/* we only use the lower 32 bits as of right now. */
- if (mask & ((__u64)0xffffffff << 32))
+ if (upper_32_bits(mask))
return -EINVAL;

if (flags & ~FANOTIFY_MARK_FLAGS)

base-commit: 0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b
--
2.27.0


2021-03-25 14:36:28

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] fanotify_user: use upper_32_bits() to verify mask

On Thu 25-03-21 09:37:43, Christian Brauner wrote:
> From: Christian Brauner <[email protected]>
>
> I don't see an obvious reason why the upper 32 bit check needs to be
> open-coded this way. Switch to upper_32_bits() which is more idiomatic and
> should conceptually be the same check.
>
> Cc: Amir Goldstein <[email protected]>
> Cc: Jan Kara <[email protected]>
> Signed-off-by: Christian Brauner <[email protected]>

Thanks for the cleanup. I've added it to my tree.

Honza

> ---
> fs/notify/fanotify/fanotify_user.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
> index 9e0c1afac8bd..d5683fa9d495 100644
> --- a/fs/notify/fanotify/fanotify_user.c
> +++ b/fs/notify/fanotify/fanotify_user.c
> @@ -1126,7 +1126,7 @@ static int do_fanotify_mark(int fanotify_fd, unsigned int flags, __u64 mask,
> __func__, fanotify_fd, flags, dfd, pathname, mask);
>
> /* we only use the lower 32 bits as of right now. */
> - if (mask & ((__u64)0xffffffff << 32))
> + if (upper_32_bits(mask))
> return -EINVAL;
>
> if (flags & ~FANOTIFY_MARK_FLAGS)
>
> base-commit: 0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b
> --
> 2.27.0
>
--
Jan Kara <[email protected]>
SUSE Labs, CR