summaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-07-02 15:22:37 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-07-03 09:21:54 -0700
commitf74373a5cc7a0155d232c4e999648c7a95435bb2 (patch)
tree9fe161e959fa98bf4dc32d994ab9f781aecc0ef8 /arch/m68k
parent0bc1f8b0682caa39f45ce1e0228ebf43acb46111 (diff)
downloadlinux-f74373a5cc7a0155d232c4e999648c7a95435bb2.tar.gz
linux-f74373a5cc7a0155d232c4e999648c7a95435bb2.tar.bz2
linux-f74373a5cc7a0155d232c4e999648c7a95435bb2.zip
/proc/stat: convert to single_open_size()
These two patches are supposed to "fix" failed order-4 memory allocations which have been observed when reading /proc/stat. The problem has been observed on s390 as well as on x86. To address the problem change the seq_file memory allocations to fallback to use vmalloc, so that allocations also work if memory is fragmented. This approach seems to be simpler and less intrusive than changing /proc/stat to use an interator. Also it "fixes" other users as well, which use seq_file's single_open() interface. This patch (of 2): Use seq_file's single_open_size() to preallocate a buffer that is large enough to hold the whole output, instead of open coding it. Also calculate the requested size using the number of online cpus instead of possible cpus, since the size of the output only depends on the number of online cpus. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: David Rientjes <rientjes@google.com> Cc: Ian Kent <raven@themaw.net> Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Cc: Thorsten Diehl <thorsten.diehl@de.ibm.com> Cc: Andrea Righi <andrea@betterlinux.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Stefan Bader <stefan.bader@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m68k')
0 files changed, 0 insertions, 0 deletions