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

From: Nikolay Borisov
Date: Tue Oct 25 2022 - 05:30:46 EST




On 25.10.22 г. 11:28 ч., Li zeming wrote:
If kzalloc fails to allocate the bioc pointer, NULL is returned
directly.

Signed-off-by: Li zeming <zeming@xxxxxxxxxxxx>

This patch clearly shows you haven't really understood the code. As is evident there is __GFP_NOFAIL flag so as per the guarantees for this flag we either loop infinitely trying to allocate a bioc or simply allocated it. So this check can never be triggered.

NAK
---
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);
+ if (!bioc)
+ return NULL;
atomic_set(&bioc->error, 0);
refcount_set(&bioc->refs, 1);