summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorYun Zhou <yun.zhou@windriver.com>2026-07-31 16:11:51 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-08-14 10:48:46 +0900
commit9dbf74f4022f80f7669d2b3c22c5deb46c1b5674 (patch)
tree9096f6d70f60057b7e808be4ac1027535492e22d /include/linux
parentbf1e90189a98ca4a824fd64b4f3c6043d13c98ea (diff)
usb: gadget: f_tcm: fix deadlock in usbg_make_tpg()
usbg_make_tpg() held dep_lock while calling configfs_depend_item_unlocked(), which acquires the configfs root inode lock when operating across subsystems. This creates a circular lock dependency with configfs_rmdir(): dep_lock -> configfs root inode lock -> su_mutex -> dep_lock In usbg_make_tpg(), dep_lock only serialized the read of opts->ready, which is a monotonic flag that transitions from false to true exactly once (in tcm_set_name()) and never reverts. Remove dep_lock from usbg_make_tpg() entirely and use READ_ONCE/WRITE_ONCE to access opts->ready locklessly instead. Reported-by: syzbot+c9f9d646b08f3b6032fe@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=c9f9d646b08f3b6032fe Fixes: 4bb8548df632 ("usb: gadget: f_tcm: add configfs support") Cc: stable@vger.kernel.org Signed-off-by: Yun Zhou <yun.zhou@windriver.com> Link: https://patch.msgid.link/20260731081151.285599-1-yun.zhou@windriver.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions