mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2026-01-27 12:47:24 +01:00
commit 611cf41ef6ac8301d23daadd8e78b013db0c5071 upstream.
The intel_pmc_ipc() function uses ACPI_ALLOCATE_BUFFER to allocate memory
for the ACPI evaluation result but never frees it, causing a 192-byte
memory leak on each call.
This leak is triggered during network interface initialization when the
stmmac driver calls intel_mac_finish() -> intel_pmc_ipc().
unreferenced object 0xffff96a848d6ea80 (size 192):
comm "dhcpcd", pid 541, jiffies 4294684345
hex dump (first 32 bytes):
04 00 00 00 05 00 00 00 98 ea d6 48 a8 96 ff ff ...........H....
00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
backtrace (crc b1564374):
kmemleak_alloc+0x2d/0x40
__kmalloc_noprof+0x2fa/0x730
acpi_ut_initialize_buffer+0x83/0xc0
acpi_evaluate_object+0x29a/0x2f0
intel_pmc_ipc+0xfd/0x170
intel_mac_finish+0x168/0x230
stmmac_mac_finish+0x3d/0x50
phylink_major_config+0x22b/0x5b0
phylink_mac_initial_config.constprop.0+0xf1/0x1b0
phylink_start+0x8e/0x210
__stmmac_open+0x12c/0x2b0
stmmac_open+0x23c/0x380
__dev_open+0x11d/0x2c0
__dev_change_flags+0x1d2/0x250
netif_change_flags+0x2b/0x70
dev_change_flags+0x40/0xb0
Add __free(kfree) for ACPI object to properly release the allocated buffer.
Cc: stable@vger.kernel.org
Fixes:
|
||
|---|---|---|
| .. | ||
| gpio | ||
| media | ||
| txx9 | ||
| x86 | ||
| ad5761.h | ||
| ad7266.h | ||
| ad7791.h | ||
| ad7793.h | ||
| ad7887.h | ||
| adau17x1.h | ||
| adp8860.h | ||
| adp8870.h | ||
| ads7828.h | ||
| amd_qdma.h | ||
| amd_xdma.h | ||
| ams-delta-fiq.h | ||
| apds990x.h | ||
| arm-ux500-pm.h | ||
| asoc-imx-ssi.h | ||
| asoc-kirkwood.h | ||
| asoc-pxa.h | ||
| asoc-s3c.h | ||
| asoc-ti-mcbsp.h | ||
| ata-pxa.h | ||
| atmel.h | ||
| b53.h | ||
| bcm7038_wdt.h | ||
| bcmgenet.h | ||
| bd6107.h | ||
| bh1770glc.h | ||
| brcmfmac.h | ||
| brcmnand.h | ||
| clk-da8xx-cfgchip.h | ||
| clk-fch.h | ||
| cpuidle-exynos.h | ||
| cros_ec_chardev.h | ||
| cros_ec_commands.h | ||
| cros_ec_proto.h | ||
| cros_ec_sensorhub.h | ||
| cros_usbpd_notify.h | ||
| crypto-ux500.h | ||
| davinci_asp.h | ||
| davinci-cpufreq.h | ||
| dma-dw.h | ||
| dma-hsu.h | ||
| dma-iop32x.h | ||
| dma-mcf-edma.h | ||
| dma-mv_xor.h | ||
| dmtimer-omap.h | ||
| ds620.h | ||
| dsa.h | ||
| edma.h | ||
| elm.h | ||
| emc2305.h | ||
| emif_plat.h | ||
| g762.h | ||
| gpio_backlight.h | ||
| gpio-htc-egpio.h | ||
| gpio-omap.h | ||
| gpmc-omap.h | ||
| gsc_hwmon.h | ||
| hirschmann-hellcreek.h | ||
| hsmmc-omap.h | ||
| huawei-gaokun-ec.h | ||
| hwmon-s3c.h | ||
| i2c-gpio.h | ||
| i2c-imx.h | ||
| i2c-mux-gpio.h | ||
| i2c-mux-reg.h | ||
| i2c-ocores.h | ||
| i2c-omap.h | ||
| i2c-pca-platform.h | ||
| i2c-pxa.h | ||
| i2c-s3c2410.h | ||
| i2c-xiic.h | ||
| ina2xx.h | ||
| invensense_mpu6050.h | ||
| iommu-omap.h | ||
| isl9305.h | ||
| itco_wdt.h | ||
| keypad-omap.h | ||
| lcd-mipid.h | ||
| leds-lm355x.h | ||
| leds-lm3642.h | ||
| leds-lp55xx.h | ||
| lenovo-yoga-c630.h | ||
| lm3630a_bl.h | ||
| lm3639_bl.h | ||
| lm8323.h | ||
| lp855x.h | ||
| lp8727.h | ||
| lp8755.h | ||
| ltc4245.h | ||
| lv5207lp.h | ||
| max197.h | ||
| max732x.h | ||
| max3421-hcd.h | ||
| mdio-bcm-unimac.h | ||
| mdio-gpio.h | ||
| mfd-mcp-sa11x0.h | ||
| microchip-ksz.h | ||
| mlxcpld.h | ||
| mlxreg.h | ||
| mmc-davinci.h | ||
| mmc-esdhc-mcf.h | ||
| mmc-mxcmmc.h | ||
| mmc-omap.h | ||
| mmc-pxamci.h | ||
| mmc-sdhci-s3c.h | ||
| mmp_dma.h | ||
| mtd-nand-omap2.h | ||
| mtd-nand-pxa3xx.h | ||
| mtd-orion_nand.h | ||
| mv_usb.h | ||
| mv88e6xxx.h | ||
| net-cw1200.h | ||
| omap-twl4030.h | ||
| omap-wd-timer.h | ||
| omap1_bl.h | ||
| omapdss.h | ||
| pca953x.h | ||
| phy-da8xx-usb.h | ||
| pinctrl-single.h | ||
| pm33xx.h | ||
| pxa_sdhci.h | ||
| pxa2xx_udc.h | ||
| regulator-haptic.h | ||
| s3c-hsotg.h | ||
| sa11x0-serial.h | ||
| sc18is602.h | ||
| sdhci-pic32.h | ||
| serial-omap.h | ||
| serial-sccnxp.h | ||
| sgi-w1.h | ||
| sh_mmcif.h | ||
| shmob_drm.h | ||
| shtc1.h | ||
| si5351.h | ||
| simplefb.h | ||
| spi-davinci.h | ||
| spi-mt65xx.h | ||
| spi-omap2-mcspi.h | ||
| spi-s3c64xx.h | ||
| st_sensors_pdata.h | ||
| tda9950.h | ||
| ti-prm.h | ||
| ti-sysc.h | ||
| tmio.h | ||
| tps68470.h | ||
| tsc2007.h | ||
| tsl2772.h | ||
| uio_dmem_genirq.h | ||
| usb-davinci.h | ||
| usb-ehci-orion.h | ||
| usb-musb-ux500.h | ||
| usb-ohci-pxa27x.h | ||
| usb-ohci-s3c2410.h | ||
| usb-omap.h | ||
| usb-omap1.h | ||
| usb3503.h | ||
| video_s3c.h | ||
| video-ep93xx.h | ||
| video-pxafb.h | ||
| voltage-omap.h | ||
| wilco-ec.h | ||
| wiznet.h | ||
| wkup_m3.h | ||
| xilinx-ll-temac.h | ||
| xtalk-bridge.h | ||