lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ