Linus Torvalds
54ffaa53e7
/proc/<pid>/cmdline: remove all the special cases
...
commit 3d712546d8ba9f25cdf080d79f90482aa4231ed4 upstream.
Start off with a clean slate that only reads exactly from arg_start to
arg_end, without any oddities. This simplifies the code and in the
process removes the case that caused us to potentially leak an
uninitialized byte from the temporary kernel buffer.
Note that in order to start from scratch with an understandable base,
this simplifies things _too_ much, and removes all the legacy logic to
handle setproctitle() having changed the argument strings.
We'll add back those special cases very differently in the next commit.
Link: https://lore.kernel.org/lkml/20190712160913.17727-1-izbyshev@ispras.ru/
Fixes: f5b65348fd ("proc: fix missing final NUL in get_mm_cmdline() rewrite")
Cc: Alexey Izbyshev <izbyshev@ispras.ru>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-04 09:30:56 +02:00
..
array.c
fs/proc/array.c: allow reporting eip/esp for all coredumping threads
2019-07-03 13:14:44 +02:00
base.c
/proc/<pid>/cmdline: remove all the special cases
2019-08-04 09:30:56 +02:00
cmdline.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
consoles.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
cpuinfo.c
x86 / CPU: Always show current CPU frequency in /proc/cpuinfo
2017-11-15 19:46:50 +01:00
devices.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
fd.c
proc: use "unsigned int" in proc_fill_cache()
2018-06-07 17:34:38 -07:00
fd.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
generic.c
proc: fix /proc/net/* after setns(2)
2019-03-13 14:02:32 -07:00
inode.c
proc: fixup PDE allocation bloat
2018-08-22 10:52:45 -07:00
internal.h
proc: fix /proc/net/* after setns(2)
2019-03-13 14:02:32 -07:00
interrupts.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
Kconfig
proc/kcore: add vmcoreinfo note to /proc/kcore
2018-08-22 10:52:46 -07:00
kcore.c
x86/gart: Exclude GART aperture from kcore
2019-04-20 09:15:59 +02:00
kmsg.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
loadavg.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
Makefile
proc: : uninline name_to_int()
2017-11-17 16:10:00 -08:00
meminfo.c
/proc/meminfo: add percpu populated pages count
2018-08-22 10:52:45 -07:00
namespaces.c
procfs: switch instantiate_t to d_splice_alias()
2018-05-26 14:20:50 -04:00
nommu.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
page.c
mm: mark pages in use for page tables
2018-06-07 17:34:37 -07:00
proc_net.c
proc: fix /proc/net/* after setns(2)
2019-03-13 14:02:32 -07:00
proc_sysctl.c
fs/proc/proc_sysctl.c: fix the default values of i_uid/i_gid on /proc/sys inodes.
2019-07-26 09:14:24 +02:00
proc_tty.c
tty: replace ->proc_fops with ->proc_show
2018-05-16 07:24:30 +02:00
root.c
proc: Make inline name size calculation automatic
2018-06-15 00:48:57 -04:00
self.c
proc: introduce a proc_pid_ns helper
2018-05-16 07:23:35 +02:00
softirqs.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
stat.c
proc: use "unsigned int" in /proc/stat hook
2018-08-22 10:52:46 -07:00
task_mmu.c
proc: use down_read_killable mmap_sem for /proc/pid/maps
2019-07-31 07:27:09 +02:00
task_nommu.c
proc: use down_read_killable mmap_sem for /proc/pid/maps
2019-07-31 07:27:09 +02:00
thread_self.c
proc: introduce a proc_pid_ns helper
2018-05-16 07:23:35 +02:00
uptime.c
fs/proc/uptime.c: use ktime_get_boottime_ts64
2018-08-22 10:52:45 -07:00
util.c
proc: use do-while in name_to_int()
2017-11-17 16:10:00 -08:00
version.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
vmcore.c
fs/proc/vmcore.c: hide vmcoredd_mmap_dumps() for nommu builds
2018-08-23 18:48:43 -07:00