linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Tian Tao <tiantao6@hisilicon.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 057/102] drm/hisilicon: Fix use-after-free
Date: Fri,  5 Mar 2021 13:21:16 +0100	[thread overview]
Message-ID: <20210305120906.092893205@linuxfoundation.org> (raw)
In-Reply-To: <20210305120903.276489876@linuxfoundation.org>

From: Tian Tao <tiantao6@hisilicon.com>

[ Upstream commit c855af2f9c5c60760fd1bed7889a81bc37d2591d ]

Fix the problem of dev being released twice.
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 75 PID: 15700 at lib/refcount.c:28 refcount_warn_saturate+0xd4/0x150
CPU: 75 PID: 15700 Comm: rmmod Tainted: G            E     5.10.0-rc3+ #3
Hardware name: Huawei TaiShan 200 (Model 2280)/BC82AMDDA, BIOS 0.88 07/24/2019
pstate: 40400009 (nZcv daif +PAN -UAO -TCO BTYPE=--)
pc : refcount_warn_saturate+0xd4/0x150
lr : refcount_warn_saturate+0xd4/0x150
sp : ffff2028150cbc00
x29: ffff2028150cbc00 x28: ffff2028150121c0
x27: 0000000000000000 x26: 0000000000000000
x25: 0000000000000000 x24: 0000000000000003
x23: 0000000000000000 x22: ffff2028150cbc90
x21: ffff2020038a30a8 x20: ffff2028150cbc90
x19: ffff0020cd938020 x18: 0000000000000010
x17: 0000000000000000 x16: 0000000000000000
x15: ffffffffffffffff x14: ffff2028950cb88f
x13: ffff2028150cb89d x12: 0000000000000000
x11: 0000000005f5e0ff x10: ffff2028150cb800
x9 : 00000000ffffffd0 x8 : 75203b776f6c6672
x7 : ffff800011a6f7c8 x6 : 0000000000000001
x5 : 0000000000000000 x4 : 0000000000000000
x3 : 0000000000000000 x2 : ffff202ffe2f9dc0
x1 : ffffa02fecf40000 x0 : 0000000000000026
Call trace:
 refcount_warn_saturate+0xd4/0x150
 devm_drm_dev_init_release+0x50/0x70
 devm_action_release+0x20/0x30
 release_nodes+0x13c/0x218
 devres_release_all+0x80/0x170
 device_release_driver_internal+0x128/0x1f0
 driver_detach+0x6c/0xe0
 bus_remove_driver+0x74/0x100
 driver_unregister+0x34/0x60
 pci_unregister_driver+0x24/0xd8
 hibmc_pci_driver_exit+0x14/0xe858 [hibmc_drm]
 __arm64_sys_delete_module+0x1fc/0x2d0
 el0_svc_common.constprop.3+0xa8/0x188
 do_el0_svc+0x80/0xa0
 el0_sync_handler+0x8c/0xb0
 el0_sync+0x15c/0x180
CPU: 75 PID: 15700 Comm: rmmod Tainted: G            E     5.10.0-rc3+ #3
Hardware name: Huawei TaiShan 200 (Model 2280)/BC82AMDDA, BIOS 0.88 07/24/2019
Call trace:
 dump_backtrace+0x0/0x208
 show_stack+0x2c/0x40
 dump_stack+0xd8/0x10c
 __warn+0xac/0x128
 report_bug+0xcc/0x180
 bug_handler+0x24/0x78
 call_break_hook+0x80/0xa0
 brk_handler+0x28/0x68
 do_debug_exception+0x9c/0x148
 el1_sync_handler+0x7c/0x128
 el1_sync+0x80/0x100
 refcount_warn_saturate+0xd4/0x150
 devm_drm_dev_init_release+0x50/0x70
 devm_action_release+0x20/0x30
 release_nodes+0x13c/0x218
 devres_release_all+0x80/0x170
 device_release_driver_internal+0x128/0x1f0
 driver_detach+0x6c/0xe0
 bus_remove_driver+0x74/0x100
 driver_unregister+0x34/0x60
 pci_unregister_driver+0x24/0xd8
 hibmc_pci_driver_exit+0x14/0xe858 [hibmc_drm]
 __arm64_sys_delete_module+0x1fc/0x2d0
 el0_svc_common.constprop.3+0xa8/0x188
 do_el0_svc+0x80/0xa0
 el0_sync_handler+0x8c/0xb0
 el0_sync+0x15c/0x180
---[ end trace 00718630d6e5ff18 ]---

Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/1607941973-32287-1-git-send-email-tiantao6@hisilicon.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index 085d1b2fa8c0..d3485f742acc 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -368,7 +368,6 @@ static void hibmc_pci_remove(struct pci_dev *pdev)
 
 	drm_dev_unregister(dev);
 	hibmc_unload(dev);
-	drm_dev_put(dev);
 }
 
 static struct pci_device_id hibmc_pci_table[] = {
-- 
2.30.1




  parent reply	other threads:[~2021-03-05 12:31 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-05 12:20 [PATCH 5.10 000/102] 5.10.21-rc1 review Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 001/102] net: usb: qmi_wwan: support ZTE P685M modem Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 002/102] Input: elantech - fix protocol errors for some trackpoints in SMBus mode Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 003/102] Input: elan_i2c - add new trackpoint report type 0x5F Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 004/102] drm/virtio: use kvmalloc for large allocations Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 005/102] x86/build: Treat R_386_PLT32 relocation as R_386_PC32 Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 006/102] JFS: more checks for invalid superblock Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 007/102] sched/core: Allow try_invoke_on_locked_down_task() with irqs disabled Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 008/102] udlfb: Fix memory leak in dlfb_usb_probe Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 009/102] media: mceusb: sanity check for prescaler value Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 010/102] erofs: fix shift-out-of-bounds of blkszbits Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 011/102] media: v4l2-ctrls.c: fix shift-out-of-bounds in std_validate Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 012/102] xfs: Fix assert failure in xfs_setattr_size() Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 013/102] net/af_iucv: remove WARN_ONCE on malformed RX packets Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 014/102] smackfs: restrict bytes count in smackfs write functions Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 015/102] tomoyo: ignore data race while checking quota Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 016/102] net: fix up truesize of cloned skb in skb_prepare_for_shift() Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 017/102] riscv: Get rid of MAX_EARLY_MAPPING_SIZE Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 018/102] nbd: handle device refs for DESTROY_ON_DISCONNECT properly Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 019/102] mm/hugetlb.c: fix unnecessary address expansion of pmd sharing Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 020/102] RDMA/rtrs: Do not signal for heatbeat Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 021/102] RDMA/rtrs-clt: Use bitmask to check sess->flags Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 022/102] RDMA/rtrs-srv: Do not signal REG_MR Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 023/102] tcp: fix tcp_rmem documentation Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 024/102] mptcp: do not wakeup listener for MPJ subflows Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 025/102] net: bridge: use switchdev for port flags set through sysfs too Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 026/102] net/sched: cls_flower: Reject invalid ct_state flags rules Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 027/102] net: dsa: tag_rtl4_a: Support also egress tags Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 028/102] net: ag71xx: remove unnecessary MTU reservation Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 029/102] net: hsr: add support for EntryForgetTime Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 030/102] net: psample: Fix netlink skb length with tunnel info Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 031/102] net: fix dev_ifsioc_locked() race condition Greg Kroah-Hartman
2021-03-08 12:50   ` Pavel Machek
2021-03-08 13:21     ` Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 032/102] dt-bindings: ethernet-controller: fix fixed-link specification Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 033/102] dt-bindings: net: btusb: DT fix s/interrupt-name/interrupt-names/ Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 034/102] ASoC: qcom: Remove useless debug print Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 035/102] rsi: Fix TX EAPOL packet handling against iwlwifi AP Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 036/102] rsi: Move card interrupt handling to RX thread Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 037/102] rcu/nocb: Trigger self-IPI on late deferred wake up before user resume Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 038/102] entry: Explicitly flush pending rcuog wakeup before last rescheduling point Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 039/102] entry/kvm: " Greg Kroah-Hartman
2021-03-05 12:20 ` [PATCH 5.10 040/102] EDAC/amd64: Do not load on family 0x15, model 0x13 Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 041/102] staging: fwserial: Fix error handling in fwserial_create Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 042/102] x86/reboot: Add Zotac ZBOX CI327 nano PCI reboot quirk Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 043/102] vt/consolemap: do font sum unsigned Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 044/102] wlcore: Fix command execute failure 19 for wl12xx Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 045/102] Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 046/102] Bluetooth: btusb: fix memory leak on suspend and resume Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 047/102] mt76: mt7615: reset token when mac_reset happens Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 048/102] pktgen: fix misuse of BUG_ON() in pktgen_thread_worker() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 049/102] ath10k: fix wmi mgmt tx queue full due to race condition Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 050/102] net: sfp: add mode quirk for GPON module Ubiquiti U-Fiber Instant Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 051/102] Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 052/102] Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 053/102] staging: most: sound: add sanity check for function argument Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 054/102] staging: bcm2835-audio: Replace unsafe strcpy() with strscpy() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 055/102] brcmfmac: Add DMI nvram filename quirk for Predia Basic tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 056/102] brcmfmac: Add DMI nvram filename quirk for Voyo winpad A15 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` Greg Kroah-Hartman [this message]
2021-03-05 12:21 ` [PATCH 5.10 058/102] crypto: tcrypt - avoid signed overflow in byte count Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 059/102] fs: make unlazy_walk() error handling consistent Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 060/102] drm/amdgpu: Add check to prevent IH overflow Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 061/102] PCI: Add a REBAR size quirk for Sapphire RX 5600 XT Pulse Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 062/102] ASoC: Intel: bytcr_rt5640: Add new BYT_RT5640_NO_SPEAKERS quirk-flag Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 063/102] drm/amd/display: Guard against NULL pointer deref when get_i2c_info fails Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 064/102] drm/amd/amdgpu: add error handling to amdgpu_virt_read_pf2vf_data Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 065/102] media: uvcvideo: Allow entities with no pads Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 066/102] f2fs: handle unallocated section and zone on pinned/atgc Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 067/102] f2fs: fix to set/clear I_LINKABLE under i_lock Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 068/102] nvme-core: add cancel tagset helpers Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 069/102] nvme-rdma: add clean action for failed reconnection Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 070/102] nvme-tcp: " Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 071/102] ASoC: Intel: Add DMI quirk table to soc_intel_is_byt_cr() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 072/102] btrfs: fix error handling in commit_fs_roots Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 073/102] drm/amdgpu: enable only one high prio compute queue Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 074/102] perf/x86/kvm: Add Cascade Lake Xeon steppings to isolation_ucodes[] Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 075/102] ASoC: Intel: sof-sdw: indent and add quirks consistently Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 076/102] ASoC: Intel: sof_sdw: detect DMIC number based on mach params Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 077/102] parisc: Bump 64-bit IRQ stack size to 64 KB Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 078/102] sched/features: Fix hrtick reprogramming Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 079/102] ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 080/102] ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 081/102] ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 082/102] ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 083/102] scsi: iscsi: Restrict sessions and handles to admin capabilities Greg Kroah-Hartman
2021-03-05 22:42   ` Pavel Machek
2021-03-06  0:05     ` Lee Duncan
2021-03-05 12:21 ` [PATCH 5.10 084/102] scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 085/102] scsi: iscsi: Verify lengths on passthrough PDUs Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 086/102] Xen/gnttab: handle p2m update errors on a per-slot basis Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 087/102] xen-netback: respect gnttab_map_refs()s return value Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 088/102] xen: fix p2m size in dom0 for disabled memory hotplug case Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 089/102] zsmalloc: account the number of compacted pages correctly Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 090/102] remoteproc/mediatek: Fix kernel test robot warning Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 091/102] swap: fix swapfile read/write offset Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 092/102] powerpc/sstep: Check instruction validity against ISA version before emulation Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 093/102] powerpc/sstep: Fix incorrect return from analyze_instr() Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 094/102] tty: fix up iterate_tty_read() EOVERFLOW handling Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 095/102] tty: fix up hung_up_tty_read() conversion Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 096/102] tty: clean up legacy leftovers from n_tty line discipline Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 097/102] tty: teach n_tty line discipline about the new "cookie continuations" Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 098/102] tty: teach the n_tty ICANON case about the new "cookie continuations" too Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 099/102] media: v4l: ioctl: Fix memory leak in video_usercopy Greg Kroah-Hartman
2021-03-05 12:21 ` [PATCH 5.10 100/102] ALSA: hda/realtek: Add quirk for Clevo NH55RZQ Greg Kroah-Hartman
2021-03-05 12:22 ` [PATCH 5.10 101/102] ALSA: hda/realtek: Add quirk for Intel NUC 10 Greg Kroah-Hartman
2021-03-05 12:22 ` [PATCH 5.10 102/102] ALSA: hda/realtek: Apply dual codec quirks for MSI Godlike X570 board Greg Kroah-Hartman
2021-03-05 22:10 ` [PATCH 5.10 000/102] 5.10.21-rc1 review Pavel Machek
2021-03-07 17:18   ` Pavel Machek
2021-03-07 17:47     ` Greg Kroah-Hartman
2021-03-06  3:24 ` Guenter Roeck
2021-03-06  9:54   ` Greg Kroah-Hartman
2021-03-06 17:19     ` Greg Kroah-Hartman
2021-03-06  5:31 ` Florian Fainelli
2021-03-07 11:39   ` Greg Kroah-Hartman
2021-03-06  6:25 ` Samuel Zou
2021-03-07 11:38   ` Greg Kroah-Hartman
2021-03-06  9:36 ` Naresh Kamboju
2021-03-06 16:50 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210305120906.092893205@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tiantao6@hisilicon.com \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).