linux/drivers
Nicolin Chen 2b3f30c8ed iommufd: Fix out_fput in iommufd_fault_alloc()
commit af7f478051 upstream.

As fput() calls the file->f_op->release op, where fault obj and ictx are
getting released, there is no need to release these two after fput() one
more time, which would result in imbalanced refcounts:
  refcount_t: decrement hit 0; leaking memory.
  WARNING: CPU: 48 PID: 2369 at lib/refcount.c:31 refcount_warn_saturate+0x60/0x230
  Call trace:
   refcount_warn_saturate+0x60/0x230 (P)
   refcount_warn_saturate+0x60/0x230 (L)
   iommufd_fault_fops_release+0x9c/0xe0 [iommufd]
  ...
  VFS: Close: file count is 0 (f_op=iommufd_fops [iommufd])
  WARNING: CPU: 48 PID: 2369 at fs/open.c:1507 filp_flush+0x3c/0xf0
  Call trace:
   filp_flush+0x3c/0xf0 (P)
   filp_flush+0x3c/0xf0 (L)
   __arm64_sys_close+0x34/0x98
  ...
  imbalanced put on file reference count
  WARNING: CPU: 48 PID: 2369 at fs/file.c:74 __file_ref_put+0x100/0x138
  Call trace:
   __file_ref_put+0x100/0x138 (P)
   __file_ref_put+0x100/0x138 (L)
   __fput_sync+0x4c/0xd0

Drop those two lines to fix the warnings above.

Cc: stable@vger.kernel.org
Fixes: 07838f7fd5 ("iommufd: Add iommufd fault object")
Link: https://patch.msgid.link/r/b5651beb3a6b1adeef26fffac24607353bf67ba1.1733212723.git.nicolinc@nvidia.com
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-14 20:03:22 +01:00
..
accel accel/ivpu: Prevent recovery invocation during probe and resume 2024-12-05 14:01:44 +01:00
accessibility treewide: remove unnecessary <linux/version.h> inclusion 2024-08-12 18:36:44 +09:00
acpi ACPI: CPPC: Fix _CPC register setting issue 2024-12-05 14:01:20 +01:00
amba ARM: 9416/1: amba: make amba_bustype constant 2024-09-04 15:01:17 +01:00
android binder: add delivered_freeze to debugfs output 2024-12-09 10:41:11 +01:00
ata ata: libata: Set DID_TIME_OUT for commands that actually timed out 2024-10-24 11:14:00 +02:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-08-12 10:41:44 +01:00
auxdisplay move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
base driver core: fw_devlink: Stop trying to optimize cycle detection logic 2024-12-09 10:41:03 +01:00
bcma PCI: Rename CRS Completion Status to RRS 2024-09-10 19:52:30 -05:00
block zram: clear IDLE flag in mark_idle() 2024-12-14 20:03:11 +01:00
bluetooth Bluetooth: btbcm: fix missing of_node_put() in btbcm_get_board_name() 2024-12-05 14:01:59 +01:00
bus bus: mhi: host: Switch trace_mhi_gen_tre fields to native endian 2024-12-05 14:02:38 +01:00
cache cache: StarFive: Require a 64-bit system 2024-08-01 07:15:02 -07:00
cdrom cdrom: Avoid barrier_nospec() in cdrom_ioctl_media_changed() 2024-10-17 19:47:15 -06:00
cdx cdx: remove unused struct 'cdx_mcdi_copy_buffer' 2024-07-31 13:56:50 +02:00
char tpm: Disable TPM on tpm2_create_primary() failure 2024-11-13 21:10:45 +02:00
clk clk: qcom: gcc-qcs404: fix initial rate of GPLL3 2024-12-09 10:41:02 +01:00
clocksource clocksource/drivers/timer-ti-dm: Fix child node refcount handling 2024-12-05 14:01:23 +01:00
comedi comedi: Flush partial mappings in error case 2024-12-05 14:02:46 +01:00
connector connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared" 2024-02-13 11:15:44 +01:00
counter counter: stm32-timer-cnt: fix device_node handling in probe_encoder() 2024-12-05 14:03:01 +01:00
cpufreq cpufreq: scmi: Fix cleanup path when boost enablement fails 2024-12-09 10:41:02 +01:00
cpuidle pmdomain core: 2024-09-18 10:49:45 +02:00
crypto crypto: cavium - Fix an error handling path in cpt_ucode_load_fw() 2024-12-05 14:01:21 +01:00
cxl cxl/port: Prevent out-of-order decoder allocation 2024-10-25 16:07:03 -05:00
dax dax: delete a stale directory pmem 2024-12-05 14:02:13 +01:00
dca Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
devfreq PM / devfreq: imx-bus: Use of_property_present() 2024-09-05 01:23:56 +09:00
dio dio: Have dio_bus_match() callback take a const * 2024-07-10 15:38:14 +02:00
dma dmaengine fixes for v6.12 2024-11-03 10:15:50 -10:00
dma-buf udmabuf: fix vmap_udmabuf error page set 2024-12-05 14:01:38 +01:00
dpll dpll: add Embedded SYNC feature for a pin 2024-08-26 19:21:14 -07:00
edac EDAC/igen6: Avoid segmentation fault on module unload 2024-12-05 14:01:18 +01:00
eisa driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
extcon Char/Misc and other driver changes for 6.12-rc1 2024-09-26 10:13:08 -07:00
firewire firewire: core: fix invalid port index for parent device 2024-10-27 11:14:35 +09:00
firmware efi/libstub: Free correct pointer on failure 2024-12-09 10:40:59 +01:00
fpga move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
fsi move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
gnss [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
gpio gpio: grgpio: Add NULL check in grgpio_probe 2024-12-14 20:03:10 +01:00
gpu drm/v3d: Enable Performance Counters before clearing them 2024-12-14 20:03:18 +01:00
greybus move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid HID: wacom: fix when get product name maybe null pointer 2024-12-14 20:03:20 +01:00
hsi HSI: omap-ssi: Remove unnecessary debugfs_create_dir() error check 2024-08-27 15:28:56 +02:00
hte hte: tegra-194: add missing MODULE_DESCRIPTION() macro 2024-06-19 12:24:03 -07:00
hv drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
hwmon hwmon: (aquacomputer_d5next) Fix length of speed_input array 2024-12-05 14:02:27 +01:00
hwspinlock hwspinlock: qcom: implement bust operation 2024-05-29 12:52:26 -07:00
hwtracing [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
i2c i2c: dev: Fix memory leak when underlying adapter does not support I2C 2024-12-05 14:01:58 +01:00
i3c i3c: master: Fix dynamic address leak when 'assigned-address' is present 2024-12-14 20:03:13 +01:00
idle intel_idle: fix ACPI _CST matching for newer Xeon platforms 2024-09-25 22:30:33 +02:00
iio iio: magnetometer: yas530: use signed integer type for clamp limits 2024-12-14 20:03:19 +01:00
infiniband RDMA/bnxt_re: Correct the sequence of device suspend 2024-12-05 14:02:16 +01:00
input Input: cs40l50 - fix wrong usage of INIT_WORK() 2024-12-05 14:03:02 +01:00
interconnect interconnect: qcom: icc-rpmh: probe defer incase of missing QoS clock dependency 2024-12-05 14:02:37 +01:00
iommu iommufd: Fix out_fput in iommufd_fault_alloc() 2024-12-14 20:03:22 +01:00
ipack driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
irqchip irqchip/stm32mp-exti: CONFIG_STM32MP_EXTI should not default to y when compile-testing 2024-12-14 20:03:16 +01:00
isdn move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
leds leds: flash: mt6360: Fix device_for_each_child_node() refcounting in error paths 2024-12-09 10:41:08 +01:00
macintosh move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mailbox kfifo: don't include dma-mapping.h in kfifo.h 2024-12-05 14:03:03 +01:00
mcb Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
md dm thin: Add missing destroy_work_on_stack() 2024-12-09 10:41:08 +01:00
media media: uvcvideo: Require entities to have a non-zero unique ID 2024-12-09 10:41:00 +01:00
memory memory: pl353-smc: simplify with scoped for each OF child loop 2024-08-31 07:44:24 +02:00
memstick move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
message scsi: fusion: Remove unused variable 'rc' 2024-12-05 14:02:10 +01:00
mfd mfd: rt5033: Fix missing regmap_del_irq_chip() 2024-12-05 14:02:10 +01:00
misc Compiler Attributes: disable __counted_by for clang < 19.1.3 2024-12-05 14:02:45 +01:00
mmc mmc: core: Use GFP_NOIO in ACMD22 2024-12-14 20:03:11 +01:00
most Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
mtd mtd: spinand: winbond: Fix 512GW, 01GW, 01JW and 02JW ECC information 2024-12-09 10:41:05 +01:00
mux mux: remove usage of the deprecated ida_simple_xx() API 2024-04-29 08:20:07 -07:00
net net :mana :Request a V2 response version for MANA_QUERY_GF_STAT 2024-12-14 20:03:21 +01:00
nfc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ntb ntb: Force physically contiguous allocation of rx ring buffers 2024-09-20 10:51:25 -04:00
nubus nubus: Make nubus_bus_type static and constant 2024-01-03 13:33:59 +01:00
nvdimm virtio: features, fixes, cleanups 2024-09-26 08:43:17 -07:00
nvme nvme-rdma: unquiesce admin_q before destroy it 2024-12-14 20:03:17 +01:00
nvmem nvmem: core: Check read_only flag for force_ro in bin_attr_nvmem_write() 2024-12-09 10:41:03 +01:00
of of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-12-05 14:01:32 +01:00
opp OPP: fix error code in dev_pm_opp_set_config() 2024-10-02 01:27:50 +02:00
parisc parisc: pdc_stable: Constify struct kobj_type 2024-09-09 08:53:17 +02:00
parport parport: Proper fix for array out-of-bounds access 2024-10-13 18:17:35 +02:00
pci PCI: rockchip-ep: Fix address translation unit programming 2024-12-09 10:41:09 +01:00
pcmcia move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
peci move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
perf perf/arm-cmn: Ensure port and device id bits are set properly 2024-12-05 14:03:06 +01:00
phy phy: realtek: usb: fix NULL deref in rtk_usb3phy_probe 2024-12-05 14:02:38 +01:00
pinctrl pinctrl: qcom: spmi: fix debugfs drive strength 2024-12-05 14:02:47 +01:00
platform platform/x86: asus-wmi: Ignore return value when writing thermal policy 2024-12-14 20:03:04 +01:00
pmdomain pmdomain: core: Fix error path in pm_genpd_init() when ida alloc fails 2024-12-14 20:03:16 +01:00
pnp driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
power power: reset: ep93xx: add AUXILIARY_BUS dependency 2024-12-05 14:02:30 +01:00
powercap powercap: dtpm_devfreq: Fix error check against dev_pm_qos_add_request() 2024-10-21 13:23:06 +02:00
pps [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ps3 driver/ps3: Include <video/cmdline.h> for mode parsing 2023-02-20 14:56:51 +01:00
ptp ptp: Add error handling for adjfine callback in ptp_clock_adjtime 2024-12-14 20:03:03 +01:00
pwm pwm: Assume a disabled PWM to emit a constant inactive output 2024-12-05 14:01:34 +01:00
rapidio driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
ras RAS/AMD/ATL: Translate normalized to system physical addresses using PRM 2024-08-01 14:36:29 +02:00
regulator regulator: rk808: Restrict DVS GPIOs to the RK808 variant only 2024-12-05 14:01:29 +01:00
remoteproc remoteproc: qcom_q6v5_pas: disable auto boot for wpss 2024-12-09 10:41:04 +01:00
reset reset: starfive: jh71x0: Fix accessing the empty member on JH7110 SoC 2024-09-30 14:24:37 +02:00
rpmsg rpmsg: glink: use only lower 16-bits of param2 for CMD_OPEN name length 2024-12-05 14:02:25 +01:00
rtc rtc: ab-eoz9: don't fail temperature reads on undervoltage notification 2024-12-05 14:03:07 +01:00
s390 s390/cio: Do not unregister the subchannel based on DNV 2024-12-05 14:01:11 +01:00
sbus [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
scsi scsi: scsi_debug: Fix hrtimer support for ndelay 2024-12-14 20:03:18 +01:00
sh sh: intc: Fix use-after-free bug in register_intc_controller() 2024-12-05 14:03:10 +01:00
siox Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
slimbus slimbus: qcom-ngd-ctrl: use 'time_left' variable with wait_for_completion_timeout() 2024-09-03 12:10:38 +02:00
soc soc: fsl: rcpm: fix missing of_node_put() in copy_ippdexpcr1_setting() 2024-12-05 14:02:57 +01:00
soundwire soundwire: intel_ace2x: Send PDI stream number during prepare 2024-10-17 12:11:19 +01:00
spi spi: mpc52xx: Add cancel_work_sync before module remove 2024-12-14 20:03:15 +01:00
spmi spmi: pmic-arb: fix return path in for_each_available_child_of_node() 2024-12-09 10:41:03 +01:00
ssb driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
staging staging: vchiq_arm: Fix missing refcount decrement in error path for fw_node 2024-12-05 14:03:01 +01:00
target scsi: target: Fix incorrect function name in pscsi_create_type_disk() 2024-12-05 14:02:10 +01:00
tc driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
tee optee: Fix a NULL vs IS_ERR() check 2024-09-09 12:22:06 +02:00
thermal thermal: int3400: Fix reading of current_uuid for active policy 2024-12-09 10:41:08 +01:00
thunderbolt thunderbolt: Fixes for v6.12-rc7 2024-11-07 16:11:57 +01:00
tty serial: amba-pl011: fix build regression 2024-12-05 14:02:54 +01:00
ufs scsi: ufs: core: Add ufshcd_send_bsg_uic_cmd() for UFS BSG 2024-12-14 20:03:13 +01:00
uio uio: Constify struct kobj_type 2024-09-11 16:02:54 +02:00
usb usb: dwc3: gadget: Fix looping of queued SG entries 2024-12-05 14:03:01 +01:00
vdpa vdpa/mlx5: Fix suboptimal range on iotlb iteration 2024-12-05 14:02:28 +01:00
vfio vfio/qat: fix overflow check in qat_vf_resume_write() 2024-12-09 10:41:04 +01:00
vhost virtio: bugfixes 2024-10-07 11:33:26 -07:00
video fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem() 2024-12-05 14:02:14 +01:00
virt drivers/virt: pkvm: Don't fail ioremap() call if MMIO_GUARD fails 2024-12-14 20:03:17 +01:00
virtio virtio_pci: Fix admin vq cleanup by using correct info pointer 2024-11-06 04:40:07 -05:00
w1 w1: ds2482: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-09-06 19:18:32 +02:00
watchdog watchdog: rti: of: honor timeout-sec property 2024-12-14 20:03:21 +01:00
xen xen: Fix the issue of resource not being properly released in xenbus_dev_probe() 2024-12-05 14:02:40 +01:00
zorro Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile leds: Init leds class earlier 2024-09-04 17:24:58 -05:00