lkml.org 
[lkml]   [2023]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
SubjectRe: [syzbot] Re: [syzbot] [btrfs?] memory leak in btrfs_ref_tree_mod
From
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org.

***

Subject: Re: [syzbot] [btrfs?] memory leak in btrfs_ref_tree_mod
Author: bragathemanick0908@gmail.com

#syz test
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
25aa0bebba72

--- a/fs/btrfs/ref-verify.c
+++ b/fs/btrfs/ref-verify.c
@@ -791,6 +791,7 @@ int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
             dump_ref_action(fs_info, ra);
             kfree(ref);
             kfree(ra);
+            kfree(re);
             goto out_unlock;
         } else if (be->num_refs == 0) {
             btrfs_err(fs_info,
@@ -800,6 +801,7 @@ int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
             dump_ref_action(fs_info, ra);
             kfree(ref);
             kfree(ra);
+            kfree(re);
             goto out_unlock;
         }
@@ -822,6 +824,7 @@ int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
                 dump_ref_action(fs_info, ra);
                 kfree(ref);
                 kfree(ra);
+                kfree(re);
                 goto out_unlock;
             }
             exist->num_refs--;
@@ -838,6 +841,7 @@ int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
             dump_ref_action(fs_info, ra);
             kfree(ref);
             kfree(ra);
+            kfree(re);
             goto out_unlock;
         }
         kfree(ref);
@@ -849,6 +853,7 @@ int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
             dump_ref_action(fs_info, ra);
             kfree(ref);
             kfree(ra);
+            kfree(re);
             goto out_unlock;
         }
     }
@@ -881,6 +886,8 @@ int btrfs_ref_tree_mod(struct btrfs_fs_info *fs_info,
     }
     list_add_tail(&ra->list, &be->actions);
     ret = 0;
+    kfree(ra);
+    kfree(re);
 out_unlock:
     spin_unlock(&fs_info->ref_verify_lock);
 out:
\
 
 \ /
  Last update: 2023-11-20 13:57    [W:0.068 / U:2.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site