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]
Date: Mon,  1 Jan 2024 10:25:25 +0800
From: Hillf Danton <hdanton@...a.com>
To: syzbot <syzbot+9b4adfed366b14496e7e@...kaller.appspotmail.com>
Cc: linux-kernel@...r.kernel.org,
	syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [dri?] [media?] memory leak in get_sg_table

On Sun, 31 Dec 2023 15:38:19 -0800
> HEAD commit:    fbafc3e621c3 Merge tag 'for_linus' of git://git.kernel.org..
> git tree:       upstream
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=15e8171ae80000

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

--- x/drivers/dma-buf/udmabuf.c
+++ y/drivers/dma-buf/udmabuf.c
@@ -153,7 +153,12 @@ static int begin_cpu_udmabuf(struct dma_
 	int ret = 0;
 
 	if (!ubuf->sg) {
-		ubuf->sg = get_sg_table(dev, buf, direction);
+		static DEFINE_MUTEX(lock);
+
+		mutex_lock(&lock);
+		if (!ubuf->sg)
+			ubuf->sg = get_sg_table(dev, buf, direction);
+		mutex_unlock(&lock);
 		if (IS_ERR(ubuf->sg)) {
 			ret = PTR_ERR(ubuf->sg);
 			ubuf->sg = NULL;
--

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ