]> git.pld-linux.org Git - packages/kernel.git/blame - 2.6.x-memleak-while-coredumping-lkml.patch
- ported from linux-2.4.25-atmdd.patch
[packages/kernel.git] / 2.6.x-memleak-while-coredumping-lkml.patch
CommitLineData
760f7b32 1--- old/fs/binfmt_elf.c Fri Jan 16 12:12:24 2004
2+++ new/fs/binfmt_elf.c Mon Feb 2 19:31:42 2004
3@@ -1441,12 +1441,22 @@
4 DUMP_SEEK (file->f_pos + PAGE_SIZE);
5 } else {
6 if (page == ZERO_PAGE(addr)) {
7- DUMP_SEEK (file->f_pos + PAGE_SIZE);
8+ if (!dump_seek(file,
9+ file->f_pos + PAGE_SIZE)) {
10+ page_cache_release(page);
11+ goto end_coredump;
12+ }
13 } else {
14 void *kaddr;
15 flush_cache_page(vma, addr);
16 kaddr = kmap(page);
17- DUMP_WRITE(kaddr, PAGE_SIZE);
18+ if ((size += PAGE_SIZE) > limit ||
19+ !dump_write(file, kaddr,
20+ PAGE_SIZE)) {
21+ kunmap(page);
22+ page_cache_release(page);
23+ goto end_coredump;
24+ }
25 kunmap(page);
26 }
27 page_cache_release(page);
This page took 2.047342 seconds and 4 git commands to generate.