Linus Torvalds
f5b65348fd
proc: fix missing final NUL in get_mm_cmdline() rewrite
...
The rewrite of the cmdline fetching missed the fact that we used to also
return the final terminating NUL character of the last argument. I
hadn't noticed, and none of the tools I tested cared, but something
obviously must care, because Michal Kubecek noticed the change in
behavior.
Tweak the "find the end" logic to actually include the NUL character,
and once past the eend of argv, always start the strnlen() at the
expected (original) argument end.
This whole "allow people to rewrite their arguments in place" is a nasty
hack and requires that odd slop handling at the end of the argv array,
but it's our traditional model, so we continue to support it.
Repored-and-bisected-by: Michal Kubecek <mkubecek@suse.cz>
Reviewed-and-tested-by: Michal Kubecek <mkubecek@suse.cz>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-20 15:38:28 +09:00
..
array.c
proc: use "unsigned int" for sigqueue length
2018-06-07 17:34:38 -07:00
base.c
proc: fix missing final NUL in get_mm_cmdline() rewrite
2018-06-20 15:38:28 +09: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
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
generic.c
Merge branch 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-16 16:32:04 +09:00
inode.c
proc: Make inline name size calculation automatic
2018-06-15 00:48:57 -04:00
internal.h
Merge branch 'afs-proc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2018-06-16 16:32:04 +09:00
interrupts.c
proc: introduce proc_create_seq{,_data}
2018-05-16 07:23:35 +02:00
Kconfig
vmcore: add API to collect hardware dump in second kernel
2018-05-14 13:46:04 -04:00
kcore.c
proc/kcore: don't bounds check against address 0
2018-05-11 17:28:45 -07: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: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02: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: Add a way to make network proc files writable
2018-05-18 11:46:15 +01:00
proc_sysctl.c
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07: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
task_mmu.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
task_nommu.c
thread_self.c
proc: introduce a proc_pid_ns helper
2018-05-16 07:23:35 +02:00
uptime.c
vfs/y2038: inode timestamps conversion to timespec64
2018-06-15 07:31:07 +09: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
vmcore: move get_vmcore_size out of __init
2018-05-21 12:34:22 -04:00