fs/fuse/inode.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
kzalloc_obj with __GFP_NOFAIL is documented to never return failure,
and checking for NULL is redundant (__GFP_NOFAIL in gfp_types.h).
Besides, its caller fuse_sync_fs_writes() uses it without a
NULL check (atomic_inc on new_bucket, rcu_assign_pointer).
fuse_fill_super_common() passes fuse_sync_bucket_alloc() directly to
rcu_assign_pointer() without NULL check either.
Signed-off-by: Li Wang <liwang@kylinos.cn>
---
fs/fuse/inode.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 33009227e91d..e5069d2f8e90 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -676,11 +676,9 @@ static struct fuse_sync_bucket *fuse_sync_bucket_alloc(void)
struct fuse_sync_bucket *bucket;
bucket = kzalloc_obj(*bucket, GFP_KERNEL | __GFP_NOFAIL);
- if (bucket) {
- init_waitqueue_head(&bucket->waitq);
- /* Initial active count */
- atomic_set(&bucket->count, 1);
- }
+ init_waitqueue_head(&bucket->waitq);
+ /* Initial active count */
+ atomic_set(&bucket->count, 1);
return bucket;
}
--
2.34.1
On Sun, Apr 19, 2026 at 8:10 PM Li Wang <liwang@kylinos.cn> wrote:
>
> kzalloc_obj with __GFP_NOFAIL is documented to never return failure,
> and checking for NULL is redundant (__GFP_NOFAIL in gfp_types.h).
> Besides, its caller fuse_sync_fs_writes() uses it without a
> NULL check (atomic_inc on new_bucket, rcu_assign_pointer).
> fuse_fill_super_common() passes fuse_sync_bucket_alloc() directly to
> rcu_assign_pointer() without NULL check either.
Sorry to be pedantic, but imo the commit message would be better if
you dropped these last 2 sentences - the way it's phrased reads as if
the callers not checking for null is a reason to drop the check. Your
first sentence is the complete justification for the patch.
>
> Signed-off-by: Li Wang <liwang@kylinos.cn>
Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
btw just as a sidenote, as per this post by Amir [1], there is now a
transition where fuse patches should be sent to the
fuse-devel@lists.linux.dev list
Thanks,
Joanne
[1] https://lore.kernel.org/linux-fsdevel/20260419113529.1523179-1-amir73il@gmail.com/
> ---
> fs/fuse/inode.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
> index 33009227e91d..e5069d2f8e90 100644
> --- a/fs/fuse/inode.c
> +++ b/fs/fuse/inode.c
> @@ -676,11 +676,9 @@ static struct fuse_sync_bucket *fuse_sync_bucket_alloc(void)
> struct fuse_sync_bucket *bucket;
>
> bucket = kzalloc_obj(*bucket, GFP_KERNEL | __GFP_NOFAIL);
> - if (bucket) {
> - init_waitqueue_head(&bucket->waitq);
> - /* Initial active count */
> - atomic_set(&bucket->count, 1);
> - }
> + init_waitqueue_head(&bucket->waitq);
> + /* Initial active count */
> + atomic_set(&bucket->count, 1);
> return bucket;
> }
>
> --
> 2.34.1
>
kzalloc_obj with __GFP_NOFAIL is documented to never return failure,
and checking for NULL is redundant (__GFP_NOFAIL in gfp_types.h).
Signed-off-by: Li Wang <liwang@kylinos.cn>
Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
---
Changes since v1:
- Per review, removed the last two sentences of the commit message.
fs/fuse/inode.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 33009227e91d..e5069d2f8e90 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -676,11 +676,9 @@ static struct fuse_sync_bucket *fuse_sync_bucket_alloc(void)
struct fuse_sync_bucket *bucket;
bucket = kzalloc_obj(*bucket, GFP_KERNEL | __GFP_NOFAIL);
- if (bucket) {
- init_waitqueue_head(&bucket->waitq);
- /* Initial active count */
- atomic_set(&bucket->count, 1);
- }
+ init_waitqueue_head(&bucket->waitq);
+ /* Initial active count */
+ atomic_set(&bucket->count, 1);
return bucket;
}
--
2.34.1
On Tue, 21 Apr 2026 at 05:38, Li Wang <liwang@kylinos.cn> wrote: > > kzalloc_obj with __GFP_NOFAIL is documented to never return failure, > and checking for NULL is redundant (__GFP_NOFAIL in gfp_types.h). > > Signed-off-by: Li Wang <liwang@kylinos.cn> > Reviewed-by: Joanne Koong <joannelkoong@gmail.com> Applied, thanks. Miklos
© 2016 - 2026 Red Hat, Inc.