[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250624082559.1616-1-hdanton@sina.com>
Date: Tue, 24 Jun 2025 16:25:58 +0800
From: Hillf Danton <hdanton@...a.com>
To: syzbot <syzbot+daba72c4af9915e9c894@...kaller.appspotmail.com>
Cc: linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [trace?] KASAN: slab-use-after-free Read in __free_filter
> Date: Mon, 23 Jun 2025 16:58:28 -0700
> syzbot found the following issue on:
>
> HEAD commit: 86731a2a651e Linux 6.16-rc3
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=1611eb0c580000
> kernel config: https://syzkaller.appspot.com/x/.config?x=4ad206eb0100c6a2
> dashboard link: https://syzkaller.appspot.com/bug?extid=daba72c4af9915e9c894
> compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13b16dd4580000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17c7bb0c580000
#syz test
--- x/kernel/trace/trace_events_filter.c
+++ y/kernel/trace/trace_events_filter.c
@@ -1429,6 +1429,7 @@ static void filter_free_subsystem_filter
struct trace_event_file *file;
struct filter_head *head;
struct filter_list *item;
+ int free_filter = 1;
head = kmalloc(sizeof(*head), GFP_KERNEL);
if (!head)
@@ -1442,6 +1443,7 @@ static void filter_free_subsystem_filter
item->filter = filter;
list_add_tail(&item->list, &head->list);
+ free_filter = 0;
list_for_each_entry(file, &tr->events, list) {
if (file->system != dir)
@@ -1467,7 +1469,8 @@ static void filter_free_subsystem_filter
continue;
__free_subsystem_filter(file);
}
- __free_filter(filter);
+ if (free_filter)
+ __free_filter(filter);
}
int filter_assign_type(const char *type)
--
Powered by blists - more mailing lists