Revision 3b7995a98ad76da5597b488fa84aa5a56d43b608 authored by Yang Yingliang on 18 December 2019, 08:44:04 UTC, committed by Jens Axboe on 20 December 2019, 18:52:01 UTC
When I doing fuzzy test, get the memleak report: BUG: memory leak unreferenced object 0xffff88837af80000 (size 4096): comm "memleak", pid 3557, jiffies 4294817681 (age 112.499s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 20 00 00 00 10 01 00 00 00 00 00 00 01 00 00 00 ............... backtrace: [<000000001c894df8>] bio_alloc_bioset+0x393/0x590 [<000000008b139a3c>] bio_copy_user_iov+0x300/0xcd0 [<00000000a998bd8c>] blk_rq_map_user_iov+0x2f1/0x5f0 [<000000005ceb7f05>] blk_rq_map_user+0xf2/0x160 [<000000006454da92>] sg_common_write.isra.21+0x1094/0x1870 [<00000000064bb208>] sg_write.part.25+0x5d9/0x950 [<000000004fc670f6>] sg_write+0x5f/0x8c [<00000000b0d05c7b>] __vfs_write+0x7c/0x100 [<000000008e177714>] vfs_write+0x1c3/0x500 [<0000000087d23f34>] ksys_write+0xf9/0x200 [<000000002c8dbc9d>] do_syscall_64+0x9f/0x4f0 [<00000000678d8e9a>] entry_SYSCALL_64_after_hwframe+0x49/0xbe If __blk_rq_map_user_iov() is failed in blk_rq_map_user_iov(), the bio(s) which is allocated before this failing will leak. The refcount of the bio(s) is init to 1 and increased to 2 by calling bio_get(), but __blk_rq_unmap_user() only decrease it to 1, so the bio cannot be freed. Fix it by calling blk_rq_unmap_user(). Reviewed-by: Bob Liu <bob.liu@oracle.com> Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent daa400f
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 55.1 KB |
Makefile | -rw-r--r-- | 7.9 KB |
class.c | -rw-r--r-- | 11.0 KB |
dev.c | -rw-r--r-- | 11.6 KB |
hctosys.c | -rw-r--r-- | 1.6 KB |
interface.c | -rw-r--r-- | 26.2 KB |
lib.c | -rw-r--r-- | 3.3 KB |
nvmem.c | -rw-r--r-- | 2.3 KB |
proc.c | -rw-r--r-- | 2.1 KB |
rtc-88pm80x.c | -rw-r--r-- | 9.2 KB |
rtc-88pm860x.c | -rw-r--r-- | 12.5 KB |
rtc-ab-b5ze-s3.c | -rw-r--r-- | 28.3 KB |
rtc-ab-eoz9.c | -rw-r--r-- | 10.9 KB |
rtc-ab3100.c | -rw-r--r-- | 6.5 KB |
rtc-ab8500.c | -rw-r--r-- | 10.9 KB |
rtc-abx80x.c | -rw-r--r-- | 21.4 KB |
rtc-ac100.c | -rw-r--r-- | 16.9 KB |
rtc-armada38x.c | -rw-r--r-- | 15.8 KB |
rtc-as3722.c | -rw-r--r-- | 6.6 KB |
rtc-asm9260.c | -rw-r--r-- | 8.9 KB |
rtc-aspeed.c | -rw-r--r-- | 3.1 KB |
rtc-at91rm9200.c | -rw-r--r-- | 12.9 KB |
rtc-at91rm9200.h | -rw-r--r-- | 3.0 KB |
rtc-at91sam9.c | -rw-r--r-- | 13.2 KB |
rtc-au1xxx.c | -rw-r--r-- | 3.1 KB |
rtc-bd70528.c | -rw-r--r-- | 11.9 KB |
rtc-bq32k.c | -rw-r--r-- | 7.7 KB |
rtc-bq4802.c | -rw-r--r-- | 4.2 KB |
rtc-brcmstb-waketimer.c | -rw-r--r-- | 7.4 KB |
rtc-cadence.c | -rw-r--r-- | 10.4 KB |
rtc-cmos.c | -rw-r--r-- | 36.6 KB |
rtc-coh901331.c | -rw-r--r-- | 7.2 KB |
rtc-core.h | -rw-r--r-- | 866 bytes |
rtc-cpcap.c | -rw-r--r-- | 7.9 KB |
rtc-cros-ec.c | -rw-r--r-- | 9.8 KB |
rtc-da9052.c | -rw-r--r-- | 7.6 KB |
rtc-da9055.c | -rw-r--r-- | 9.1 KB |
rtc-da9063.c | -rw-r--r-- | 14.6 KB |
rtc-davinci.c | -rw-r--r-- | 13.9 KB |
rtc-digicolor.c | -rw-r--r-- | 5.1 KB |
rtc-dm355evm.c | -rw-r--r-- | 3.5 KB |
rtc-ds1216.c | -rw-r--r-- | 3.8 KB |
rtc-ds1286.c | -rw-r--r-- | 9.0 KB |
rtc-ds1302.c | -rw-r--r-- | 5.7 KB |
rtc-ds1305.c | -rw-r--r-- | 19.5 KB |
rtc-ds1307.c | -rw-r--r-- | 46.2 KB |
rtc-ds1343.c | -rw-r--r-- | 11.1 KB |
rtc-ds1347.c | -rw-r--r-- | 4.2 KB |
rtc-ds1374.c | -rw-r--r-- | 16.8 KB |
rtc-ds1390.c | -rw-r--r-- | 5.8 KB |
rtc-ds1511.c | -rw-r--r-- | 11.9 KB |
rtc-ds1553.c | -rw-r--r-- | 9.2 KB |
rtc-ds1672.c | -rw-r--r-- | 3.6 KB |
rtc-ds1685.c | -rw-r--r-- | 41.2 KB |
rtc-ds1742.c | -rw-r--r-- | 5.9 KB |
rtc-ds2404.c | -rw-r--r-- | 5.8 KB |
rtc-ds3232.c | -rw-r--r-- | 17.1 KB |
rtc-efi-platform.c | -rw-r--r-- | 879 bytes |
rtc-efi.c | -rw-r--r-- | 6.3 KB |
rtc-em3027.c | -rw-r--r-- | 3.7 KB |
rtc-ep93xx.c | -rw-r--r-- | 4.0 KB |
rtc-fm3130.c | -rw-r--r-- | 15.1 KB |
rtc-fsl-ftm-alarm.c | -rw-r--r-- | 7.9 KB |
rtc-ftrtc010.c | -rw-r--r-- | 5.3 KB |
rtc-generic.c | -rw-r--r-- | 952 bytes |
rtc-goldfish.c | -rw-r--r-- | 4.9 KB |
rtc-hid-sensor-time.c | -rw-r--r-- | 9.0 KB |
rtc-hym8563.c | -rw-r--r-- | 14.0 KB |
rtc-imx-sc.c | -rw-r--r-- | 4.5 KB |
rtc-imxdi.c | -rw-r--r-- | 24.1 KB |
rtc-isl12022.c | -rw-r--r-- | 6.8 KB |
rtc-isl12026.c | -rw-r--r-- | 11.0 KB |
rtc-isl1208.c | -rw-r--r-- | 23.0 KB |
rtc-jz4740.c | -rw-r--r-- | 10.0 KB |
rtc-lp8788.c | -rw-r--r-- | 7.6 KB |
rtc-lpc24xx.c | -rw-r--r-- | 8.1 KB |
rtc-lpc32xx.c | -rw-r--r-- | 8.6 KB |
rtc-ls1x.c | -rw-r--r-- | 5.0 KB |
rtc-m41t80.c | -rw-r--r-- | 25.5 KB |
rtc-m41t93.c | -rw-r--r-- | 5.3 KB |
rtc-m41t94.c | -rw-r--r-- | 3.7 KB |
rtc-m48t35.c | -rw-r--r-- | 4.4 KB |
rtc-m48t59.c | -rw-r--r-- | 12.5 KB |
rtc-m48t86.c | -rw-r--r-- | 7.4 KB |
rtc-max6900.c | -rw-r--r-- | 6.2 KB |
rtc-max6902.c | -rw-r--r-- | 3.7 KB |
rtc-max6916.c | -rw-r--r-- | 4.0 KB |
rtc-max77686.c | -rw-r--r-- | 21.0 KB |
rtc-max8907.c | -rw-r--r-- | 5.1 KB |
rtc-max8925.c | -rw-r--r-- | 8.0 KB |
rtc-max8997.c | -rw-r--r-- | 12.2 KB |
rtc-max8998.c | -rw-r--r-- | 7.6 KB |
rtc-mc13xxx.c | -rw-r--r-- | 7.9 KB |
rtc-mc146818-lib.c | -rw-r--r-- | 5.4 KB |
rtc-mcp795.c | -rw-r--r-- | 11.0 KB |
rtc-meson-vrtc.c | -rw-r--r-- | 3.5 KB |
rtc-meson.c | -rw-r--r-- | 10.3 KB |
rtc-moxart.c | -rw-r--r-- | 8.8 KB |
rtc-mpc5121.c | -rw-r--r-- | 10.1 KB |
rtc-mrst.c | -rw-r--r-- | 12.0 KB |
rtc-msm6242.c | -rw-r--r-- | 6.6 KB |
rtc-mt6397.c | -rw-r--r-- | 8.1 KB |
rtc-mt7622.c | -rw-r--r-- | 9.8 KB |
rtc-mv.c | -rw-r--r-- | 8.5 KB |
rtc-mxc.c | -rw-r--r-- | 11.5 KB |
rtc-mxc_v2.c | -rw-r--r-- | 9.9 KB |
rtc-omap.c | -rw-r--r-- | 26.7 KB |
rtc-opal.c | -rw-r--r-- | 6.7 KB |
rtc-palmas.c | -rw-r--r-- | 10.2 KB |
rtc-pcap.c | -rw-r--r-- | 4.5 KB |
rtc-pcf2123.c | -rw-r--r-- | 12.3 KB |
rtc-pcf2127.c | -rw-r--r-- | 19.4 KB |
rtc-pcf50633.c | -rw-r--r-- | 7.2 KB |
rtc-pcf85063.c | -rw-r--r-- | 12.7 KB |
rtc-pcf8523.c | -rw-r--r-- | 8.4 KB |
rtc-pcf85363.c | -rw-r--r-- | 10.5 KB |
rtc-pcf8563.c | -rw-r--r-- | 16.4 KB |
rtc-pcf8583.c | -rw-r--r-- | 6.5 KB |
rtc-pic32.c | -rw-r--r-- | 9.6 KB |
rtc-pl030.c | -rw-r--r-- | 3.7 KB |
rtc-pl031.c | -rw-r--r-- | 12.3 KB |
rtc-pm8xxx.c | -rw-r--r-- | 13.6 KB |
rtc-ps3.c | -rw-r--r-- | 1.4 KB |
rtc-puv3.c | -rw-r--r-- | 6.3 KB |
rtc-pxa.c | -rw-r--r-- | 10.5 KB |
rtc-r7301.c | -rw-r--r-- | 11.0 KB |
rtc-r9701.c | -rw-r--r-- | 4.3 KB |
rtc-rc5t583.c | -rw-r--r-- | 7.9 KB |
rtc-rk808.c | -rw-r--r-- | 13.0 KB |
rtc-rp5c01.c | -rw-r--r-- | 7.4 KB |
rtc-rs5c313.c | -rw-r--r-- | 10.5 KB |
rtc-rs5c348.c | -rw-r--r-- | 6.1 KB |
rtc-rs5c372.c | -rw-r--r-- | 18.3 KB |
rtc-rtd119x.c | -rw-r--r-- | 5.6 KB |
rtc-rv3028.c | -rw-r--r-- | 20.7 KB |
rtc-rv3029c2.c | -rw-r--r-- | 23.3 KB |
rtc-rv8803.c | -rw-r--r-- | 15.1 KB |
rtc-rx4581.c | -rw-r--r-- | 7.6 KB |
rtc-rx6110.c | -rw-r--r-- | 9.7 KB |
rtc-rx8010.c | -rw-r--r-- | 12.1 KB |
rtc-rx8025.c | -rw-r--r-- | 13.9 KB |
rtc-rx8581.c | -rw-r--r-- | 8.9 KB |
rtc-s35390a.c | -rw-r--r-- | 12.8 KB |
rtc-s3c.c | -rw-r--r-- | 19.8 KB |
rtc-s3c.h | -rw-r--r-- | 2.1 KB |
rtc-s5m.c | -rw-r--r-- | 20.6 KB |
rtc-sa1100.c | -rw-r--r-- | 9.8 KB |
rtc-sa1100.h | -rw-r--r-- | 447 bytes |
rtc-sc27xx.c | -rw-r--r-- | 17.5 KB |
rtc-sd3078.c | -rw-r--r-- | 5.8 KB |
rtc-sh.c | -rw-r--r-- | 17.1 KB |
rtc-sirfsoc.c | -rw-r--r-- | 11.2 KB |
rtc-snvs.c | -rw-r--r-- | 9.9 KB |
rtc-spear.c | -rw-r--r-- | 12.6 KB |
rtc-st-lpc.c | -rw-r--r-- | 7.4 KB |
rtc-starfire.c | -rw-r--r-- | 1.2 KB |
rtc-stk17ta8.c | -rw-r--r-- | 9.2 KB |
rtc-stm32.c | -rw-r--r-- | 24.3 KB |
rtc-stmp3xxx.c | -rw-r--r-- | 12.3 KB |
rtc-sun4v.c | -rw-r--r-- | 1.9 KB |
rtc-sun6i.c | -rw-r--r-- | 19.3 KB |
rtc-sunxi.c | -rw-r--r-- | 12.5 KB |
rtc-tegra.c | -rw-r--r-- | 10.7 KB |
rtc-test.c | -rw-r--r-- | 4.2 KB |
rtc-tps6586x.c | -rw-r--r-- | 8.2 KB |
rtc-tps65910.c | -rw-r--r-- | 12.0 KB |
rtc-tps80031.c | -rw-r--r-- | 8.8 KB |
rtc-twl.c | -rw-r--r-- | 16.8 KB |
rtc-tx4939.c | -rw-r--r-- | 7.9 KB |
rtc-v3020.c | -rw-r--r-- | 8.8 KB |
rtc-vr41xx.c | -rw-r--r-- | 8.0 KB |
rtc-vt8500.c | -rw-r--r-- | 7.4 KB |
rtc-wilco-ec.c | -rw-r--r-- | 4.6 KB |
rtc-wm831x.c | -rw-r--r-- | 12.3 KB |
rtc-wm8350.c | -rw-r--r-- | 11.3 KB |
rtc-x1205.c | -rw-r--r-- | 15.9 KB |
rtc-xgene.c | -rw-r--r-- | 6.6 KB |
rtc-zynqmp.c | -rw-r--r-- | 7.7 KB |
sysfs.c | -rw-r--r-- | 8.3 KB |
systohc.c | -rw-r--r-- | 1.6 KB |
Computing file changes ...