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);