lkml.org 
[lkml]   [2022]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: cleanup bio_kmalloc v2
This should fix it:

diff --git a/fs/squashfs/block.c b/fs/squashfs/block.c
index 930eb530fa622..fed99bb3df3be 100644
--- a/fs/squashfs/block.c
+++ b/fs/squashfs/block.c
@@ -72,6 +72,13 @@ static int copy_bio_to_actor(struct bio *bio,
return copied_bytes;
}

+static void squashfs_bio_free(struct bio *bio)
+{
+ bio_free_pages(bio);
+ bio_uninit(bio);
+ kfree(bio);
+}
+
static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
struct bio **biop, int *block_offset)
{
@@ -118,9 +125,7 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
return 0;

out_free_bio:
- bio_free_pages(bio);
- bio_uninit(bio);
- kfree(bio);
+ squashfs_bio_free(bio);
return error;
}

@@ -183,8 +188,7 @@ int squashfs_read_data(struct super_block *sb, u64 index, int length,
data = bvec_virt(bvec);
length |= data[0] << 8;
}
- bio_free_pages(bio);
- bio_put(bio);
+ squashfs_bio_free(bio);

compressed = SQUASHFS_COMPRESSED(length);
length = SQUASHFS_COMPRESSED_SIZE(length);
@@ -217,8 +221,7 @@ int squashfs_read_data(struct super_block *sb, u64 index, int length,
}

out_free_bio:
- bio_free_pages(bio);
- bio_put(bio);
+ squashfs_bio_free(bio);
out:
if (res < 0) {
ERROR("Failed to read block 0x%llx: %d\n", index, res);
\
 
 \ /
  Last update: 2022-03-31 18:41    [W:0.124 / U:0.304 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site