Message ID | 20240419174319.28528-1-aha310510@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2] net: hams: Fix deadlock caused by unsafe-irq lock in sp_get() | expand |
diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c index 6ed38a3cdd73..fee583b1e59a 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c @@ -373,11 +373,11 @@ static struct sixpack *sp_get(struct tty_struct *tty) { struct sixpack *sp; - read_lock(&disc_data_lock); + read_lock_irq(&disc_data_lock); sp = tty->disc_data; if (sp) refcount_inc(&sp->refcnt); - read_unlock(&disc_data_lock); + read_unlock_irq(&disc_data_lock); return sp; }
read_lock() present in sp_get() is interrupt-vulnerable, so the function needs to be modified. Reported-by: syzbot+8e03da5d64bc85098811@syzkaller.appspotmail.com Signed-off-by: Jeongjun Park <aha310510@gmail.com> --- drivers/net/hamradio/6pack.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)