mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
2d18e54dd8
A memory leak is found in cgroup1_parse_param() when multiple source
parameters overwrite fc->source in the fs_context struct without free.
unreferenced object 0xffff888100d930e0 (size 16):
comm "mount", pid 520, jiffies 4303326831 (age 152.783s)
hex dump (first 16 bytes):
74 65 73 74 6c 65 61 6b 00 00 00 00 00 00 00 00 testleak........
backtrace:
[<000000003e5023ec>] kmemdup_nul+0x2d/0xa0
[<00000000377dbdaa>] vfs_parse_fs_string+0xc0/0x150
[<00000000cb2b4882>] generic_parse_monolithic+0x15a/0x1d0
[<000000000f750198>] path_mount+0xee1/0x1820
[<0000000004756de2>] do_mount+0xea/0x100
[<0000000094cafb0a>] __x64_sys_mount+0x14b/0x1f0
Fix this bug by permitting a single source parameter and rejecting with
an error all subsequent ones.
Fixes:
|
||
---|---|---|
.. | ||
cgroup-internal.h | ||
cgroup-v1.c | ||
cgroup.c | ||
cpuset.c | ||
debug.c | ||
freezer.c | ||
legacy_freezer.c | ||
Makefile | ||
namespace.c | ||
pids.c | ||
rdma.c | ||
rstat.c |