Wei Yongjun
3a54b901fd
kernel/relay.c: fix memleak on destroy relay channel
...
commit 71e843295c680898959b22dc877ae3839cc22470 upstream.
kmemleak report memory leak as follows:
unreferenced object 0x607ee4e5f948 (size 8):
comm "syz-executor.1", pid 2098, jiffies 4295031601 (age 288.468s)
hex dump (first 8 bytes):
00 00 00 00 00 00 00 00 ........
backtrace:
relay_open kernel/relay.c:583 [inline]
relay_open+0xb6/0x970 kernel/relay.c:563
do_blk_trace_setup+0x4a8/0xb20 kernel/trace/blktrace.c:557
__blk_trace_setup+0xb6/0x150 kernel/trace/blktrace.c:597
blk_trace_ioctl+0x146/0x280 kernel/trace/blktrace.c:738
blkdev_ioctl+0xb2/0x6a0 block/ioctl.c:613
block_ioctl+0xe5/0x120 fs/block_dev.c:1871
vfs_ioctl fs/ioctl.c:48 [inline]
__do_sys_ioctl fs/ioctl.c:753 [inline]
__se_sys_ioctl fs/ioctl.c:739 [inline]
__x64_sys_ioctl+0x170/0x1ce fs/ioctl.c:739
do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46
entry_SYSCALL_64_after_hwframe+0x44/0xa9
'chan->buf' is malloced in relay_open() by alloc_percpu() but not free
while destroy the relay channel. Fix it by adding free_percpu() before
return from relay_destroy_channel().
Fixes: 017c59c042 ("relay: Use per CPU constructs for the relay channel buffer pointers")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: David Rientjes <rientjes@google.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Daniel Axtens <dja@axtens.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Akash Goel <akash.goel@intel.com>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200817122826.48518-1-weiyongjun1@huawei.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-26 10:30:59 +02:00
arch
arm64: dts: marvell: espressobin: add ethernet alias
2020-08-21 11:05:39 +02:00
block
block: release bip in a right way in error path
2020-07-16 08:17:23 +02:00
certs
export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR()
2018-08-22 23:21:44 +09:00
crypto
crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
2020-07-09 09:37:10 +02:00
Documentation
dt-bindings: iio: io-channel-mux: Fix compatible string in example code
2020-08-21 11:05:30 +02:00
drivers
drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
2020-08-26 10:30:58 +02:00
firmware
Fix built-in early-load Intel microcode alignment
2020-01-23 08:21:29 +01:00
fs
romfs: fix uninitialized memory leak in romfs_dev_read()
2020-08-26 10:30:59 +02:00
include
iommu/vt-d: Enforce PASID devTLB field mask
2020-08-21 11:05:36 +02:00
init
printk: queue wake_up_klogd irq_work only if per-CPU areas are ready
2020-07-22 09:32:13 +02:00
ipc
ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
2020-05-20 08:18:40 +02:00
kernel
kernel/relay.c: fix memleak on destroy relay channel
2020-08-26 10:30:59 +02:00
lib
test_kmod: avoid potential double free in trigger_config_run_type()
2020-08-21 11:05:38 +02:00
LICENSES
LICENSES: Remove CC-BY-SA-4.0 license text
2018-10-18 11:28:50 +02:00
mm
khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
2020-08-26 10:30:58 +02:00
net
mac80211: fix misplaced while instead of if
2020-08-21 11:05:32 +02:00
samples
samples: bpf: Fix build error
2020-06-03 08:19:31 +02:00
scripts
scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
2020-07-29 10:16:51 +02:00
security
Smack: prevent underflow in smk_set_cipso()
2020-08-19 08:14:59 +02:00
sound
ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
2020-08-21 11:05:38 +02:00
tools
perf probe: Fix memory leakage when the probe point is not found
2020-08-26 10:30:58 +02:00
usr
initramfs: restore default compression behavior
2020-04-13 10:44:59 +02:00
virt
KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception
2020-06-22 09:05:09 +02:00
.clang-format
clang-format: Set IndentWrappedFunctionNames false
2018-08-01 18:38:51 +02:00
.cocciconfig
scripts: add Linux .cocciconfig for coccinelle
2016-07-22 12:13:39 +02:00
.get_maintainer.ignore
Add hch to .get_maintainer.ignore
2015-08-21 14:30:10 -07:00
.gitattributes
.gitattributes: set git diff driver for C source code files
2016-10-07 18:46:30 -07:00
.gitignore
Kbuild updates for v4.17 (2nd)
2018-04-15 17:21:30 -07:00
.mailmap
libnvdimm-for-4.19_misc
2018-08-25 18:13:10 -07:00
COPYING
COPYING: use the new text with points to the license files
2018-03-23 12:41:45 -06:00
CREDITS
9p: remove Ron Minnich from MAINTAINERS
2018-08-17 16:20:26 -07:00
Kbuild
Kbuild updates for v4.15
2017-11-17 17:45:29 -08:00
Kconfig
kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
2018-08-02 08:06:55 +09:00
MAINTAINERS
MAINTAINERS: Update drm/i915 bug filing URL
2020-02-28 16:38:49 +01:00
Makefile
Linux 4.19.141
2020-08-21 11:05:39 +02:00
README
Docs: Added a pointer to the formatted docs to README
2018-03-21 09:02:53 -06:00