Messages in this thread Patch in this message | | | From | Jeongjun Park <> | Subject | [PATCH v2] net: hams: Fix deadlock caused by unsafe-irq lock in sp_get() | Date | Sat, 20 Apr 2024 02:43:21 +0900 |
| |
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(-)
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; } -- 2.34.1
| |