Re: [PATCH] btrfs: volumes: Increase bioc pointer check

From: Qu Wenruo
Date: Tue Oct 25 2022 - 05:48:41 EST




On 2022/10/25 16:28, Li zeming wrote:
If kzalloc fails to allocate the bioc pointer, NULL is returned
directly.

s/is returned/should be returned/


Signed-off-by: Li zeming <zeming@xxxxxxxxxxxx>
---
fs/btrfs/volumes.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 064ab2a79c80..f9cb815fe23d 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -5892,6 +5892,8 @@ static struct btrfs_io_context *alloc_btrfs_io_context(struct btrfs_fs_info *fs_
*/
sizeof(u64) * (total_stripes),
GFP_NOFS|__GFP_NOFAIL);

I think you can also remove the __GFP_NOFAIL flag.

Especially the only caller is properly handling the error.

With that __GFP_NOFAIL flag there, it should not fail, but we can not
just rely on NOFAIL flag to save our asses.

Otherwise looks good to me.

With above two points fixed, you can add my tag:

Reviewed-by: Qu Wenruo <wqu@xxxxxxxx>

Thanks,
Qu

+ if (!bioc)
+ return NULL;

atomic_set(&bioc->error, 0);
refcount_set(&bioc->refs, 1);