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: <55a7be14-6ebc-2ee8-34a2-98781b32e29c@huawei.com>
Date:   Tue, 22 Nov 2022 19:57:59 +0800
From:   Yu Liao <liaoyu15@...wei.com>
To:     syzbot <syzbot+38ee3533e07da8749f85@...kaller.appspotmail.com>,
        <arnd@...db.de>, <catalin.marinas@....com>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>, <syzkaller-bugs@...glegroups.com>,
        <will@...nel.org>, <zhengqi.arch@...edance.com>,
        "liwei (GF)" <liwei391@...wei.com>
Subject: Re: [syzbot] KASAN: use-after-free Write in expire_timers

On 2022/11/22 2:35, syzbot wrote:
> Hello,
> 
> syzbot found the following issue on:
> 
> HEAD commit:    b6e7fdfd6f6a Merge tag 'iommu-fixes-v6.1-rc5' of git://git..
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=11c28f95880000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=95fb379f123ba8ce
> dashboard link: https://syzkaller.appspot.com/bug?extid=38ee3533e07da8749f85
> compiler:       aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> userspace arch: arm64

Fix data race between virtual_ncidev_close() and virtual_ncidev_open().

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

--- a/drivers/nfc/virtual_ncidev.c
+++ b/drivers/nfc/virtual_ncidev.c
@@ -161,12 +161,8 @@ static int virtual_ncidev_close(struct inode *inode,
struct file *file)

    if (state == virtual_ncidev_enabled) {
        state = virtual_ncidev_disabling;
-       mutex_unlock(&nci_mutex);
-
        nci_unregister_device(ndev);
        nci_free_device(ndev);
-
-       mutex_lock(&nci_mutex);
    }

    state = virtual_ncidev_disabled;
-- 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ