linux-stable/drivers
John Einar Reitan af1eddcc17 Revert "ipmi_si: fix memory leak on new_smi"
This reverts commit c97e41076a, which
incorrectly was taken from upstream c0a32fe13c.

The referenced memory leak doesn't exist on the 4.14 stable branch as
the new logic of doing the kzalloc hasn't moved to this function.
By adding this kfree we actually end up doing double kfree as all callers of
smi_add does a kfree on error.

Sample with SLAB_FREELIST_HARDENED=y:

ipmi_si: Adding ACPI-specified kcs state machine
IPMI System Interface driver.
ipmi_si: probing via SPMI
ipmi_si: SPMI: io 0xca2 regsize 1 spacing 1 irq 0
(NULL device *): SPMI-specified kcs state machine: duplicate
------------[ cut here ]------------
kernel BUG at mm/slub.c:295!
invalid opcode: 0000 [#1] SMP
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.8-gentoo-r1 #5
Hardware name: Supermicro X9SCL/X9SCM/X9SCL/X9SCM, BIOS 2.2 02/20/2015
task: ffff88080c208000 task.stack: ffffc90000020000
RIP: 0010:kfree+0xf5/0x157
RSP: 0000:ffffc90000023e58 EFLAGS: 00010246
RAX: ffff88080b2e6200 RBX: ffff88080b2e6200 RCX: ffff88080b2e6200
RDX: 000000000000008e RSI: ffff88082fc1cd60 RDI: ffff88080c003080
RBP: ffffc90000002808 R08: 000000000001cd60 R09: ffffffff814da10e
R10: ffffea00202cb980 R11: 000000000000005c R12: ffffffff814da10e
R13: 00000000ffffffed R14: ffffffff82317bd0 R15: 0000000000000003
FS:  0000000000000000(0000) GS:ffff88082fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000002e09001 CR4: 00000000001606f0
Call Trace:
 init_ipmi_si+0x493/0x5c7
 ? cleanup_ipmi_si+0x84/0x84
 ? set_debug_rodata+0xc/0xc
 ? kthread+0x4c/0x11c
 do_one_initcall+0x94/0x13d
 ? set_debug_rodata+0xc/0xc
 kernel_init_freeable+0x112/0x18e
 ? rest_init+0xa0/0xa0
 kernel_init+0x5/0xe1
 ret_from_fork+0x22/0x30
Code: 24 18 49 8b 7a 30 48 8b 37 65 48 8b 56 08 65 48 03 35 3a 29 e2 7e 4c 3b 56 10 75 39 48 8b 0e 48 63 47 20 48 01 d8 48 39 cb 75 02 <0f> 0b 49 89 c0 4c 33
 87 40 01 00 00 4c 31 c1 48 89 08 48 8d 4a
---[ end trace 4ac2e2c100842676 ]---

Signed-off-by: John Einar Reitan <john.einar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-29 17:53:49 +01:00
..
accessibility License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi acpi, nfit: fix health event notification 2017-12-29 17:53:45 +01:00
amba License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
android ANDROID: binder: fix transaction leak. 2017-12-10 13:40:37 +01:00
ata ata: fixes kernel crash while tracing ata_eh_link_autopsy event 2017-11-30 08:40:47 +00:00
atm atm: horizon: Fix irq release error 2017-12-14 09:53:13 +01:00
auxdisplay Update MIPS email addresses 2017-11-03 09:02:30 -07:00
base PM / OPP: Move error message to debug level 2017-12-25 14:26:26 +01:00
bcma License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
block nullb: fix error return code in null_init() 2017-12-20 10:10:35 +01:00
bluetooth Bluetooth: hci_bcm: Fix setting of irq trigger type 2017-12-25 14:26:27 +01:00
bus arm-ccn: perf: Prevent module unload while PMU is in use 2017-12-20 10:10:26 +01:00
cdrom License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
char Revert "ipmi_si: fix memory leak on new_smi" 2017-12-29 17:53:49 +01:00
clk clk: sunxi: sun9i-mmc: Implement reset callback for reset controls 2017-12-29 17:53:48 +01:00
clocksource clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame 2017-12-10 13:40:41 +01:00
connector
cpufreq License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpuidle cpuidle: fix broadcast control when broadcast can not be entered 2017-12-25 14:26:30 +01:00
crypto crypto: crypto4xx - increase context and scatter ring buffer elements 2017-12-25 14:26:25 +01:00
dax dev/dax: fix uninitialized variable build warning 2017-12-20 10:10:34 +01:00
dca
devfreq License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type 2017-12-20 10:10:24 +01:00
dma-buf dma-buf/sw_sync: force signal all unsignaled fences on dying timeline 2017-12-10 13:40:44 +01:00
edac EDAC, sb_edac: Fix missing break in switch 2017-12-10 13:40:41 +01:00
eisa License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
extcon License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
firewire License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
firmware efi/esrt: Use memunmap() instead of kfree() to free the remapping 2017-12-14 09:52:52 +01:00
fmc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fpga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsi
gpio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gpu drm/sun4i: Fix error path handling 2017-12-29 17:53:49 +01:00
hid HID: cp2112: fix broken gpio_direction_input callback 2017-12-20 10:10:22 +01:00
hsi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hv x86/virt: Add enum for hypervisors to replace x86_hyper 2017-12-25 14:26:20 +01:00
hwmon hwmon: (pmbus/core) Prevent unintentional setting of page to 0xFF 2017-12-10 13:40:40 +01:00
hwspinlock License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hwtracing License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
i2c i2c: i801: Fix Failed to allocate irq -2147483648 error 2017-12-05 11:26:33 +01:00
ide ide: ide-atapi: fix compile error with defining macro DEBUG 2017-12-17 15:08:00 +01:00
idle Revert "x86/mm: Stop calling leave_mm() in idle code" 2017-11-04 15:01:50 +01:00
iio iio: st_sensors: add register mask for status register 2017-12-25 14:26:26 +01:00
infiniband IB/opa_vnic: Properly return the total MACs in UC MAC list 2017-12-25 14:26:30 +01:00
input x86/virt: Add enum for hypervisors to replace x86_hyper 2017-12-25 14:26:20 +01:00
iommu iommu/amd: Limit the IOVA page range to the specified addresses 2017-12-20 10:10:26 +01:00
ipack
irqchip irqchip/qcom: Fix u32 comparison with value less than zero 2017-12-14 09:53:05 +01:00
isdn License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
leds leds: pca955x: Don't invert requested value in pca955x_gpio_set_value() 2017-12-25 14:26:27 +01:00
lightnvm lightnvm: pblk: protect line bitmap while submitting meta io 2017-12-20 10:10:38 +01:00
macintosh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mailbox mailbox: mailbox-test: don't rely on rx_buffer content to signal data ready 2017-12-14 09:53:12 +01:00
mcb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
md md: always set THREAD_WAKEUP and wake up wqueue if thread existed 2017-12-25 14:26:26 +01:00
media media: usbtv: fix brightness and contrast controls 2017-12-20 10:10:29 +01:00
memory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memstick License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
message License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mfd mfd: twl6040: Fix child-node lookup 2017-12-29 17:53:46 +01:00
misc drivers/misc/intel/pti: Rename the header file to free up the namespace 2017-12-25 14:26:20 +01:00
mmc mmc: core: apply NO_CMD23 quirk to some specific cards 2017-12-20 10:10:19 +01:00
mtd mtd: spi-nor: stm32-quadspi: Fix uninitialized error return code 2017-12-20 10:10:30 +01:00
mux
net net: mvneta: eliminate wrong call to handle rx descriptor error 2017-12-29 17:53:49 +01:00
nfc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ntb
nubus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nvdimm libnvdimm, pfn: fix start_pad handling for aligned namespaces 2017-12-29 17:53:49 +01:00
nvme nvme: use kref_get_unless_zero in nvme_find_get_ns 2017-12-20 10:10:31 +01:00
nvmem License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
of License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parisc parisc: Hide Diva-built-in serial aux and graphics card 2017-12-29 17:53:47 +01:00
parport License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci PCI / PM: Force devices to D0 in pci_pm_thaw_noirq() 2017-12-29 17:53:47 +01:00
pcmcia License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
phy License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pinctrl pinctrl: cherryview: Mask all interrupts on Intel_Strago based systems 2017-12-29 17:53:48 +01:00
platform platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes 2017-12-25 14:26:31 +01:00
pnp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
power Update MIPS email addresses 2017-11-03 09:02:30 -07:00
powercap
pps
ps3
ptp License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pwm License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rapidio drivers/rapidio/devices/rio_mport_cdev.c: fix resource leak in error handling path in 'rio_dma_transfer()' 2017-12-14 09:53:08 +01:00
ras License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
regulator License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
remoteproc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reset License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rpmsg rpmsg: glink: Initialize the "intent_req_comp" completion variable 2017-12-20 10:10:29 +01:00
rtc rtc: set the alarm to the next expiring timer 2017-12-25 14:26:30 +01:00
s390 s390/qeth: fix GSO throughput regression 2017-12-17 15:07:57 +01:00
sbus License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi scsi: lpfc: Fix warning messages when NVME_TARGET_FC not defined 2017-12-25 14:26:29 +01:00
sfi
sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sn
soc soc: mediatek: pwrap: fix compiler errors 2017-12-20 10:10:34 +01:00
spi spi: a3700: Fix clk prescaling for coefficient over 15 2017-12-29 17:53:47 +01:00
spmi
ssb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
staging staging: greybus: light: Release memory obtained by kasprintf 2017-12-25 14:26:30 +01:00
target target/file: Do not return error for UNMAP if length is zero 2017-12-20 10:10:26 +01:00
tc
tee optee: fix invalid of_node_put() in optee_driver_init() 2017-12-25 14:26:24 +01:00
thermal thermal/drivers/hisi: Fix multiple alarm interrupts firing 2017-12-25 14:26:31 +01:00
thunderbolt thunderbolt: tb: fix use after free in tb_activate_pcie_devices 2017-12-20 10:10:24 +01:00
tty serdev: ttyport: enforce tty-driver open() requirement 2017-12-20 10:10:33 +01:00
uio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usb usb: musb: da8xx: fix babble condition handling 2017-12-20 10:10:38 +01:00
uwb License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vfio vfio/pci: Virtualize Maximum Payload Size 2017-12-25 14:26:29 +01:00
vhost vhost: fix skb leak in handle_rx() 2017-12-17 15:07:56 +01:00
video backlight: pwm_bl: Fix overflow condition 2017-12-25 14:26:24 +01:00
virt
virtio virtio: release virtio index when fail to device_register 2017-12-14 09:52:48 +01:00
vlynq
vme License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
w1 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
watchdog License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xen License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
zorro License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00