]> git.pld-linux.org Git - packages/kernel.git/blob - 2.6.x-memleak-while-coredumping-lkml.patch
- obsolete
[packages/kernel.git] / 2.6.x-memleak-while-coredumping-lkml.patch
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 0.025327 seconds and 3 git commands to generate.