[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAGbDTvrG+Wq6RUXogVXJRgb1QRLR2PYXv7xZ9_rQGwzVWCwcmQ@mail.gmail.com>
Date: Fri, 4 May 2018 09:27:10 +0200
From: Iago Abal <iago.abal@...il.com>
To: Karsten Keil <isdn@...ux-pingi.de>,
"David S. Miller" <davem@...emloft.net>,
Stephen Hemminger <stephen@...workplumber.org>,
Johannes Berg <johannes.berg@...el.com>,
Arvind Yadav <arvind.yadav.cs@...il.com>,
Kees Cook <keescook@...omium.org>, netdev@...r.kernel.org
Subject: Double-lock bug in drivers/isdn/hardware/mISDN/hfcmulti.c
Hi,
There is a potential double-lock sequence starting from hfc_remove_pci().
Forward trace:
1. hfc_remove_pci() LOCKS spin_lock_irqsave(&HFClock, flags) at 5284
2. hfc_remove_pci() calls release_card(card) at 5285
3. release_card() calls release_port(hc, hc->chan[ch].dch) at 4674
4. release_port() calls plxsd_checksync(hc, 1) at 4595
5. plxsd_checksync() calls hfcmulti_resync(hc, ..., rm) at 1036 or 1044
6. hfcmulti_resync() LOCKS spin_lock_irqsave(&HFClock, flags) at 933
NB: Bug found by static analysis thanks to EBA
(https://github.com/IagoAbal/eba).
Hope it helps,
-- iago
Powered by blists - more mailing lists