kernel_optimize_test/fs/proc
Oleg Nesterov 9f6e963f06 proc: fix ->f_pos overflows in first_tid()
1. proc_task_readdir()->first_tid() path truncates f_pos to int, this
   is wrong even on 64bit.

   We could check that f_pos < PID_MAX or even INT_MAX in
   proc_task_readdir(), but this patch simply checks the potential
   overflow in first_tid(), this check is nop on 64bit.  We do not care if
   it was negative and the new unsigned value is huge, all we need to
   ensure is that we never wrongly return !NULL.

2. Remove the 2nd "nr != 0" check before get_nr_threads(),
   nr_threads == 0 is not distinguishable from !pid_task() above.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Sameer Nanda <snanda@chromium.org>
Cc: Sergey Dyasly <dserrg@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-01-23 16:37:01 -08:00
..
array.c proc: cleanup/simplify get_task_state/task_state_array 2014-01-23 16:37:01 -08:00
base.c proc: fix ->f_pos overflows in first_tid() 2014-01-23 16:37:01 -08:00
cmdline.c
consoles.c seq_file: remove "%n" usage from seq_file users 2013-11-15 09:32:20 +09:00
cpuinfo.c
devices.c
fd.c
fd.h
generic.c consolidate simple ->d_delete() instances 2013-11-15 22:04:17 -05:00
inode.c procfs: also fix proc_reg_get_unmapped_area() for !MMU case 2013-12-12 18:19:26 -08:00
internal.h
interrupts.c
Kconfig kcore: add Kconfig help text 2013-11-13 12:09:33 +09:00
kcore.c
kmsg.c
loadavg.c
Makefile
meminfo.c /proc/meminfo: provide estimated available memory 2014-01-21 16:19:43 -08:00
namespaces.c consolidate simple ->d_delete() instances 2013-11-15 22:04:17 -05:00
nommu.c seq_file: remove "%n" usage from seq_file users 2013-11-15 09:32:20 +09:00
page.c fs/proc/page.c: add PageAnon check to surely detect thp 2014-01-23 16:36:50 -08:00
proc_devtree.c
proc_net.c
proc_sysctl.c
proc_tty.c
root.c
self.c
softirqs.c
stat.c
task_mmu.c seq_file: remove "%n" usage from seq_file users 2013-11-15 09:32:20 +09:00
task_nommu.c seq_file: remove "%n" usage from seq_file users 2013-11-15 09:32:20 +09:00
uptime.c
version.c
vmcore.c