diff options
author | 2005-01-09 16:21:03 +0000 | |
---|---|---|
committer | 2005-01-09 16:21:03 +0000 | |
commit | a1804b2bfe781d01c41fa60c0731eb38db8a16c9 (patch) | |
tree | 2a1ba48b34583d78cb7741978d8aec47ba7f1182 | |
parent | Re-enabling patch; bug 70000 (diff) | |
download | historical-a1804b2bfe781d01c41fa60c0731eb38db8a16c9.tar.gz historical-a1804b2bfe781d01c41fa60c0731eb38db8a16c9.tar.bz2 historical-a1804b2bfe781d01c41fa60c0731eb38db8a16c9.zip |
Security bump; fixes bugs #77025 and #77094.
11 files changed, 585 insertions, 25 deletions
diff --git a/sys-kernel/wolk-sources/ChangeLog b/sys-kernel/wolk-sources/ChangeLog index fe87d98569e3..d2b8f65fcd3e 100644 --- a/sys-kernel/wolk-sources/ChangeLog +++ b/sys-kernel/wolk-sources/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for sys-kernel/wolk-sources -# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/ChangeLog,v 1.63 2004/12/24 19:42:58 plasmaroo Exp $ +# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/ChangeLog,v 1.64 2005/01/09 16:21:03 plasmaroo Exp $ + +*wolk-sources-4.14-r13 (09 Jan 2005) + + 09 Jan 2005; <plasmaroo@gentoo.org> -wolk-sources-4.11-r15.ebuild, + +wolk-sources-4.11-r16.ebuild, -wolk-sources-4.14-r12.ebuild, + +wolk-sources-4.14-r13.ebuild, -wolk-sources-4.9-r19.ebuild, + +wolk-sources-4.9-r20.ebuild, +files/wolk-sources-4.9s.brk-locked.patch, + +files/wolk-sources.77094.patch, +files/wolk-sources.brk-locked.patch: + Security bump; fixes bugs #77025 and #77094. *wolk-sources-4.14-r12 (24 Dec 2004) diff --git a/sys-kernel/wolk-sources/Manifest b/sys-kernel/wolk-sources/Manifest index 881826ee87dc..9b468d0845be 100644 --- a/sys-kernel/wolk-sources/Manifest +++ b/sys-kernel/wolk-sources/Manifest @@ -1,36 +1,38 @@ -MD5 95ef00cc3e93d153a381533c87cbc747 ChangeLog 21093 -MD5 fa40fe208bffd704d78fc7e4b44cf049 wolk-sources-4.14-r12.ebuild 2716 -MD5 fd0fab9657cbbb5bb971b2583c299bac wolk-sources-4.11-r15.ebuild 3739 +MD5 4a315e02cb6b7800f9f93fd925c85d37 ChangeLog 21523 +MD5 85a9f3fc28aedabb350688fa1a0a7518 wolk-sources-4.14-r13.ebuild 2787 +MD5 3cb84beafb972e1b22274b07a8992158 wolk-sources-4.9-r20.ebuild 6953 MD5 6fd890f722da90b57c3c3f37ff79c75e metadata.xml 226 -MD5 d1dac2fbdd62f39a8c8927914205c5c9 wolk-sources-4.9-r19.ebuild 6767 +MD5 e818c213fdd33c87555010b52deefca7 wolk-sources-4.11-r16.ebuild 3920 MD5 0f66013f643c79c97fda489618a4e2fd files/wolk-sources.CAN-2004-0535.patch 476 MD5 e47f4118ace22fbcd917d36fdc648c3c files/wolk-sources-4.9s.CAN-2004-1056.patch 11020 MD5 d5efa40a4cca5b1a29d16204dd1f3a32 files/wolk-4.9s-page.h.patch 635 MD5 b0a1f80aff51d6601e8924329023b241 files/wolk-sources.AF_UNIX.patch 515 MD5 aa193a78c4f2fdd248f992db935c7895 files/wolk-sources-4.9s.CAN-2004-0010.patch 6065 MD5 ac42024b6e6ee1e2165914db4b22a61c files/wolk-sources.CAN-2004-0178.patch 424 -MD5 30e9fd1fbb477c5fc965dbf0fe41f3e8 files/digest-wolk-sources-4.9-r19 1480 MD5 21f3a4f186017d925067335e24db36a1 files/wolk-sources.CAN-2004-0109.patch 1877 MD5 94da93ba922ec8143b6d7a8470747fb5 files/wolk-4.9s-setup.c.patch 531 MD5 a4cb2b30bc0ad5f4f3913a6ec2ddfe1a files/wolk-sources.binfmt_elf.patch 2618 MD5 6ed89b8ac0b47a4c25d3a616ef9245cc files/wolk-sources.vma.patch 11369 +MD5 1d78b90e495e432432e095ee47bbc2fc files/wolk-sources.77094.patch 452 MD5 5bf9836a632a861728d33f9736bb7431 files/wolk-sources.CAN-2004-0133.patch 427 MD5 c9da1bc82b906f6abc648c056e7bf662 files/wolk-sources.FPULockup-53804.patch 354 MD5 dc18e982f8149588a291956481885a8c files/wolk-sources.CAN-2004-0495.patch 17549 MD5 2ca46d61e534cfd18a965e9ae8e870e2 files/binfmt_elf.patch 2347 MD5 c460ea130cb4ae84a5063ba044e3ce72 files/wolk-sources.CAN-2004-0427.patch 460 MD5 3bdf00d5f80fe9dfbfe8220e076cd04c files/wolk-sources.CAN-2004-0497.patch 707 +MD5 29e531cdd3f2effce5e31a1f2afb5b5d files/wolk-sources-4.9s.brk-locked.patch 8912 MD5 b9a94233e1457787352e5f85e3e3582d files/wolk-sources.binfmt_a.out.patch 2009 MD5 d4a740ae56c2049247083af387a22a85 files/wolk-sources.CAN-2004-0394.patch 350 MD5 528da73c9e4a6fb017561e51dc0ab815 files/wolk-sources.CAN-2003-0643.patch 747 MD5 1e1fe7bb98c80db4644f4b7fd7dd5d32 files/wolk-sources.smbfs.patch 3434 -MD5 895c08b40b862ad74da9d49232ec83f1 files/digest-wolk-sources-4.11-r15 392 MD5 d4ef22c0e842ad7a48980130bf579e6e files/wolk-4.9s-speedstep.c.patch 777 +MD5 c044945955ee6197962aa12240fb7954 files/digest-wolk-sources-4.9-r20 1483 +MD5 bf7030a67c46e734e2a7ea9265a45191 files/wolk-sources.brk-locked.patch 8859 MD5 de75cfa969ed092578d9ddda6c5be334 files/wolk-sources.CAN-2004-0181.patch 1233 MD5 60d25ff310fc6abfdce39ec9e47345af files/wolk-sources.CAN-2004-0685.patch 2809 MD5 d1ccc2047be533c992f67270a150a210 files/wolk-sources.cmdlineLeak.patch 388 MD5 e7b64a09d10444ca699e9696a4035c3e files/patches.txt 12893 -MD5 696de19810e15bd0d4373c0256efb3e0 files/digest-wolk-sources-4.14-r12 248 +MD5 3efc989563d2231b95bfacd58b102c3b files/digest-wolk-sources-4.14-r13 251 MD5 e77a93fdf26f06cf3ea5080b27211725 files/wolk-sources.CAN-2003-0985.patch 414 MD5 370cc17582bbb17605090009d24eba51 files/wolk-sources.CAN-2004-1016.patch 2168 MD5 2b3ddb8b8b15f8da35ade38544b57857 files/wolk-sources.XDRWrapFix.patch 1499 @@ -38,5 +40,6 @@ MD5 92f1b3aa68de326081b75653a77d64cf files/wolk-sources-4.9s.CAN-2004-0685.patch MD5 eaeda68a619caaddd5b8fdc5e7c39932 files/wolk-sources.CAN-2004-0177.patch 384 MD5 757ee1239c3f14645ccea3640d551e11 files/wolk-sources.CAN-2004-1056.patch 11249 MD5 a61e57d5483a06f20da339d91f98fbb8 files/wolk-sources-4.9s.rtc_fix.patch 6769 +MD5 95368f06c3d00c867341f5b34847d5f4 files/digest-wolk-sources-4.11-r16 395 MD5 e637c6fa41097ea2c4693d0766f2e1c5 files/do_brk_fix.patch 242 MD5 21ebf0ddc4b8ec4013470c4d243cd03b files/wolk-sources-4.9s.munmap.patch 826 diff --git a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r15 b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r16 index 49ba6c313556..fc2b3f589d27 100644 --- a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r15 +++ b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.11-r16 @@ -2,4 +2,4 @@ MD5 c439d5c93d7fc9a1480a90842465bb97 linux-2.4.20.tar.bz2 27421046 MD5 7ab3d945def110a2ee78ce88175c7abe linux-2.4.20-wolk4.10s.patch.bz2 12773140 MD5 befb7511aa4075255bb7755fb961c0e5 linux-2.4.20-wolk4.10s-to-4.11s.patch.bz2 88660 MD5 5483fa54161c0dd4b2762332a24c3b8a wolk-sources-4.11-CAN-2004-0415.patch 83257 -MD5 534bb4c1e4a2cc5cd11b2bd3a3a74a3a wolk-sources-4.9-CAN-2004-0814.patch 82272 +MD5 eda46d7ee8f0a5e062c1f5e326d854ca wolk-sources-4.9-CAN-2004-0814.2.patch 136752 diff --git a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.14-r12 b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.14-r13 index 0d04b5cf57f2..5d30e6495187 100644 --- a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.14-r12 +++ b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.14-r13 @@ -1,3 +1,3 @@ MD5 5b2e099686c30bc9c848072a43b95c00 linux-2.4.20-wolk4.14-fullkernel.tar.bz2 36588181 MD5 5483fa54161c0dd4b2762332a24c3b8a wolk-sources-4.11-CAN-2004-0415.patch 83257 -MD5 534bb4c1e4a2cc5cd11b2bd3a3a74a3a wolk-sources-4.9-CAN-2004-0814.patch 82272 +MD5 eda46d7ee8f0a5e062c1f5e326d854ca wolk-sources-4.9-CAN-2004-0814.2.patch 136752 diff --git a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r19 b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r20 index 1fcc6f96f959..bbec75a12713 100644 --- a/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r19 +++ b/sys-kernel/wolk-sources/files/digest-wolk-sources-4.9-r20 @@ -15,4 +15,4 @@ MD5 87bdd189276be8de8c9f8177855e7f27 1007_bootsplash-v3.0.8-2.4.20-update.patch MD5 48110e2e60a28e6a433bbb24f0bd93a9 1008_supermount-1.2.9-2.4.20-OLDIDE.patch 169980 MD5 4c94545d63a35b216c7a9c5c3e10b223 1009_mipv6-0.9.5.1-v2.4.20-wolk4.0s.patch 586142 MD5 c4a897cb2cfbc031bf73cf71ea45c6f2 wolk-sources-4.9-CAN-2004-0415.patch 83245 -MD5 534bb4c1e4a2cc5cd11b2bd3a3a74a3a wolk-sources-4.9-CAN-2004-0814.patch 82272 +MD5 eda46d7ee8f0a5e062c1f5e326d854ca wolk-sources-4.9-CAN-2004-0814.2.patch 136752 diff --git a/sys-kernel/wolk-sources/files/wolk-sources-4.9s.brk-locked.patch b/sys-kernel/wolk-sources/files/wolk-sources-4.9s.brk-locked.patch new file mode 100644 index 000000000000..c275b0b1649e --- /dev/null +++ b/sys-kernel/wolk-sources/files/wolk-sources-4.9s.brk-locked.patch @@ -0,0 +1,265 @@ +diff -ur linux-2.4.28-gentoo-r4/arch/mips/kernel/irixelf.c linux-2.4.28-gentoo-r5/arch/mips/kernel/irixelf.c +--- linux-2.4.28-gentoo-r4/arch/mips/kernel/irixelf.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/arch/mips/kernel/irixelf.c 2005-01-07 20:20:32.000000000 +0000 +@@ -130,7 +130,7 @@ + end = PAGE_ALIGN(end); + if (end <= start) + return; +- do_brk(start, end - start); ++ do_brk_locked(start, end - start); + } + + +@@ -379,7 +379,7 @@ + + /* Map the last of the bss segment */ + if (last_bss > len) { +- do_brk(len, (last_bss - len)); ++ do_brk_locked(len, (last_bss - len)); + } + kfree(elf_phdata); + +@@ -567,7 +567,7 @@ + unsigned long v; + struct prda *pp; + +- v = do_brk (PRDA_ADDRESS, PAGE_SIZE); ++ v = do_brk_locked (PRDA_ADDRESS, PAGE_SIZE); + + if (v < 0) + return; +@@ -859,7 +859,7 @@ + len = (elf_phdata->p_filesz + elf_phdata->p_vaddr+ 0xfff) & 0xfffff000; + bss = elf_phdata->p_memsz + elf_phdata->p_vaddr; + if (bss > len) +- do_brk(len, bss-len); ++ do_brk_locked(len, bss-len); + kfree(elf_phdata); + return 0; + } +diff -ur linux-2.4.28-gentoo-r4/arch/sparc64/kernel/binfmt_aout32.c linux-2.4.28-gentoo-r5/arch/sparc64/kernel/binfmt_aout32.c +--- linux-2.4.28-gentoo-r4/arch/sparc64/kernel/binfmt_aout32.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/arch/sparc64/kernel/binfmt_aout32.c 2005-01-07 20:20:32.000000000 +0000 +@@ -49,7 +49,7 @@ + end = PAGE_ALIGN(end); + if (end <= start) + return; +- do_brk(start, end - start); ++ do_brk_locked(start, end - start); + } + + /* +@@ -246,10 +246,10 @@ + if (N_MAGIC(ex) == NMAGIC) { + loff_t pos = fd_offset; + /* Fuck me plenty... */ +- error = do_brk(N_TXTADDR(ex), ex.a_text); ++ error = do_brk_locked(N_TXTADDR(ex), ex.a_text); + bprm->file->f_op->read(bprm->file, (char *) N_TXTADDR(ex), + ex.a_text, &pos); +- error = do_brk(N_DATADDR(ex), ex.a_data); ++ error = do_brk_locked(N_DATADDR(ex), ex.a_data); + bprm->file->f_op->read(bprm->file, (char *) N_DATADDR(ex), + ex.a_data, &pos); + goto beyond_if; +@@ -257,7 +257,7 @@ + + if (N_MAGIC(ex) == OMAGIC) { + loff_t pos = fd_offset; +- do_brk(N_TXTADDR(ex) & PAGE_MASK, ++ do_brk_locked(N_TXTADDR(ex) & PAGE_MASK, + ex.a_text+ex.a_data + PAGE_SIZE - 1); + bprm->file->f_op->read(bprm->file, (char *) N_TXTADDR(ex), + ex.a_text+ex.a_data, &pos); +@@ -272,7 +272,7 @@ + + if (!bprm->file->f_op->mmap) { + loff_t pos = fd_offset; +- do_brk(0, ex.a_text+ex.a_data); ++ do_brk_locked(0, ex.a_text+ex.a_data); + bprm->file->f_op->read(bprm->file,(char *)N_TXTADDR(ex), + ex.a_text+ex.a_data, &pos); + goto beyond_if; +@@ -388,7 +388,7 @@ + len = PAGE_ALIGN(ex.a_text + ex.a_data); + bss = ex.a_text + ex.a_data + ex.a_bss; + if (bss > len) { +- error = do_brk(start_addr + len, bss - len); ++ error = do_brk_locked(start_addr + len, bss - len); + retval = error; + if (error != start_addr + len) + goto out; +diff -ur linux-2.4.28-gentoo-r4/fs/binfmt_aout.c linux-2.4.28-gentoo-r5/fs/binfmt_aout.c +--- linux-2.4.28-gentoo-r4/fs/binfmt_aout.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/fs/binfmt_aout.c 2005-01-07 20:20:32.000000000 +0000 +@@ -46,7 +46,7 @@ + start = PAGE_ALIGN(start); + end = PAGE_ALIGN(end); + if (end > start) { +- unsigned long addr = do_brk(start, end - start); ++ unsigned long addr = do_brk_locked(start, end - start); + if (BAD_ADDR(addr)) + return addr; + } +@@ -341,10 +341,10 @@ + loff_t pos = fd_offset; + /* Fuck me plenty... */ + /* <AOL></AOL> */ +- error = do_brk(N_TXTADDR(ex), ex.a_text); ++ error = do_brk_locked(N_TXTADDR(ex), ex.a_text); + bprm->file->f_op->read(bprm->file, (char *) N_TXTADDR(ex), + ex.a_text, &pos); +- error = do_brk(N_DATADDR(ex), ex.a_data); ++ error = do_brk_locked(N_DATADDR(ex), ex.a_data); + bprm->file->f_op->read(bprm->file, (char *) N_DATADDR(ex), + ex.a_data, &pos); + goto beyond_if; +@@ -365,7 +365,7 @@ + map_size = ex.a_text+ex.a_data; + #endif + +- error = do_brk(text_addr & PAGE_MASK, map_size); ++ error = do_brk_locked(text_addr & PAGE_MASK, map_size); + if (error != (text_addr & PAGE_MASK)) { + send_sig(SIGKILL, current, 0); + return error; +@@ -399,7 +399,7 @@ + + if (!bprm->file->f_op->mmap||((fd_offset & ~PAGE_MASK) != 0)) { + loff_t pos = fd_offset; +- do_brk(N_TXTADDR(ex), ex.a_text+ex.a_data); ++ do_brk_locked(N_TXTADDR(ex), ex.a_text+ex.a_data); + bprm->file->f_op->read(bprm->file,(char *)N_TXTADDR(ex), + ex.a_text+ex.a_data, &pos); + flush_icache_range((unsigned long) N_TXTADDR(ex), +@@ -500,7 +500,7 @@ + error_time = jiffies; + } + +- do_brk(start_addr, ex.a_text + ex.a_data + ex.a_bss); ++ do_brk_locked(start_addr, ex.a_text + ex.a_data + ex.a_bss); + + file->f_op->read(file, (char *)start_addr, + ex.a_text + ex.a_data, &pos); +@@ -524,7 +524,7 @@ + len = PAGE_ALIGN(ex.a_text + ex.a_data); + bss = ex.a_text + ex.a_data + ex.a_bss; + if (bss > len) { +- error = do_brk(start_addr + len, bss - len); ++ error = do_brk_locked(start_addr + len, bss - len); + retval = error; + if (error != start_addr + len) + goto out; +diff -ur linux-2.4.28-gentoo-r4/fs/binfmt_elf.c linux-2.4.28-gentoo-r5/fs/binfmt_elf.c +--- linux-2.4.28-gentoo-r4/fs/binfmt_elf.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/fs/binfmt_elf.c 2005-01-07 20:20:46.000000000 +0000 +@@ -88,6 +88,7 @@ static void set_brk(unsigned long start, + end = ELF_PAGEALIGN(end); + if (end <= start) + return; ++ down_write(¤t->mm->mmap_sem); + do_brk(start, end - start); + + #ifdef CONFIG_GRKERNSEC_PAX_RANDEXEC +@@ -95,6 +96,7 @@ static void set_brk(unsigned long start, + __do_mmap_pgoff(NULL, ELF_PAGEALIGN(start + current->mm->delta_exec), 0UL, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED | MAP_MIRROR, start); + #endif + ++ up_write(¤t->mm->mmap_sem); + } + + +@@ -295,7 +297,9 @@ static unsigned long load_elf_interp(str + */ + if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) + goto out; +- if (interp_elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) ++ ++ if (interp_elf_ex->e_phnum < 1 || ++ interp_elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) + goto out; + + /* Now read in all of the header information */ +@@ -370,7 +370,7 @@ + + /* Map the last of the bss segment */ + if (last_bss > elf_bss) +- do_brk(elf_bss, last_bss - elf_bss); ++ do_brk_locked(elf_bss, last_bss - elf_bss); + + *interp_load_addr = load_addr; + error = ((unsigned long) interp_elf_ex->e_entry) + load_addr; +@@ -407,7 +407,7 @@ + goto out; + } + +- do_brk(0, text_data); ++ do_brk_locked(0, text_data); + if (!interpreter->f_op || !interpreter->f_op->read) + goto out; + if (interpreter->f_op->read(interpreter, addr, text_data, &offset) < 0) +@@ -415,7 +415,7 @@ + flush_icache_range((unsigned long)addr, + (unsigned long)addr + text_data); + +- do_brk(ELF_PAGESTART(text_data + ELF_MIN_ALIGN - 1), ++ do_brk_locked(ELF_PAGESTART(text_data + ELF_MIN_ALIGN - 1), + interp_ex->a_bss); + elf_entry = interp_ex->a_entry; + +@@ -1271,7 +1271,7 @@ + len = ELF_PAGESTART(elf_phdata->p_filesz + elf_phdata->p_vaddr + ELF_MIN_ALIGN - 1); + bss = elf_phdata->p_memsz + elf_phdata->p_vaddr; + if (bss > len) +- do_brk(len, bss - len); ++ do_brk_locked(len, bss - len); + error = 0; + + out_free_ph: +diff -ur linux-2.4.28-gentoo-r4/include/linux/mm.h linux-2.4.28-gentoo-r5/include/linux/mm.h +--- linux-2.4.28-gentoo-r4/include/linux/mm.h 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/include/linux/mm.h 2005-01-07 20:20:32.000000000 +0000 +@@ -601,6 +601,7 @@ + extern int do_munmap(struct mm_struct *, unsigned long, size_t); + + extern unsigned long do_brk(unsigned long, unsigned long); ++extern unsigned long do_brk_locked(unsigned long, unsigned long); + + static inline void __vma_unlink(struct mm_struct * mm, struct vm_area_struct * vma, struct vm_area_struct * prev) + { +diff -ur linux-2.4.28-gentoo-r4/kernel/ksyms.c linux-2.4.28-gentoo-r5/kernel/ksyms.c +--- linux-2.4.28-gentoo-r4/kernel/ksyms.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/kernel/ksyms.c 2005-01-07 20:20:32.000000000 +0000 +@@ -90,6 +90,7 @@ + EXPORT_SYMBOL(__do_mmap_pgoff); + EXPORT_SYMBOL(do_munmap); + EXPORT_SYMBOL(do_brk); ++EXPORT_SYMBOL(do_brk_locked); + EXPORT_SYMBOL(exit_mm); + EXPORT_SYMBOL(exit_files); + EXPORT_SYMBOL(exit_fs); +diff -ur linux-2.4.28-gentoo-r4/mm/mmap.c linux-2.4.28-gentoo-r5/mm/mmap.c +--- linux-2.4.28-gentoo-r4/mm/mmap.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/mm/mmap.c 2005-01-07 20:20:32.000000000 +0000 +@@ -1401,6 +1401,21 @@ + return addr; + } + ++/* locking version of do_brk. */ ++unsigned long do_brk_locked(unsigned long addr, unsigned long len) ++{ ++ unsigned long ret; ++ ++ down_write(¤t->mm->mmap_sem); ++ ret = do_brk(addr, len); ++ up_write(¤t->mm->mmap_sem); ++ ++ return ret; ++} ++ ++ ++ ++ + /* Build the RB tree corresponding to the VMA list. */ + void build_mmap_rb(struct mm_struct * mm) + { diff --git a/sys-kernel/wolk-sources/files/wolk-sources.77094.patch b/sys-kernel/wolk-sources/files/wolk-sources.77094.patch new file mode 100644 index 000000000000..cc3a1552c83d --- /dev/null +++ b/sys-kernel/wolk-sources/files/wolk-sources.77094.patch @@ -0,0 +1,12 @@ +diff -ur linux-2.4.28/drivers/char/random.c linux-2.4.28.plasmaroo/drivers/char/random.c +--- linux-2.4.28/drivers/char/random.c 2004-11-17 11:54:21.000000000 +0000 ++++ linux-2.4.28.plasmaroo/drivers/char/random.c 2005-01-08 02:54:49.198635736 +0000 +@@ -1787,7 +1787,7 @@ + void *oldval, size_t *oldlenp, + void *newval, size_t newlen, void **context) + { +- int len; ++ size_t len; + + sysctl_poolsize = random_state->poolinfo.POOLBYTES; + diff --git a/sys-kernel/wolk-sources/files/wolk-sources.brk-locked.patch b/sys-kernel/wolk-sources/files/wolk-sources.brk-locked.patch new file mode 100644 index 000000000000..78bed1e5577a --- /dev/null +++ b/sys-kernel/wolk-sources/files/wolk-sources.brk-locked.patch @@ -0,0 +1,265 @@ +diff -ur linux-2.4.28-gentoo-r4/arch/mips/kernel/irixelf.c linux-2.4.28-gentoo-r5/arch/mips/kernel/irixelf.c +--- linux-2.4.28-gentoo-r4/arch/mips/kernel/irixelf.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/arch/mips/kernel/irixelf.c 2005-01-07 20:20:32.000000000 +0000 +@@ -130,7 +130,7 @@ + end = PAGE_ALIGN(end); + if (end <= start) + return; +- do_brk(start, end - start); ++ do_brk_locked(start, end - start); + } + + +@@ -379,7 +379,7 @@ + + /* Map the last of the bss segment */ + if (last_bss > len) { +- do_brk(len, (last_bss - len)); ++ do_brk_locked(len, (last_bss - len)); + } + kfree(elf_phdata); + +@@ -567,7 +567,7 @@ + unsigned long v; + struct prda *pp; + +- v = do_brk (PRDA_ADDRESS, PAGE_SIZE); ++ v = do_brk_locked (PRDA_ADDRESS, PAGE_SIZE); + + if (v < 0) + return; +@@ -859,7 +859,7 @@ + len = (elf_phdata->p_filesz + elf_phdata->p_vaddr+ 0xfff) & 0xfffff000; + bss = elf_phdata->p_memsz + elf_phdata->p_vaddr; + if (bss > len) +- do_brk(len, bss-len); ++ do_brk_locked(len, bss-len); + kfree(elf_phdata); + return 0; + } +diff -ur linux-2.4.28-gentoo-r4/arch/sparc64/kernel/binfmt_aout32.c linux-2.4.28-gentoo-r5/arch/sparc64/kernel/binfmt_aout32.c +--- linux-2.4.28-gentoo-r4/arch/sparc64/kernel/binfmt_aout32.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/arch/sparc64/kernel/binfmt_aout32.c 2005-01-07 20:20:32.000000000 +0000 +@@ -49,7 +49,7 @@ + end = PAGE_ALIGN(end); + if (end <= start) + return; +- do_brk(start, end - start); ++ do_brk_locked(start, end - start); + } + + /* +@@ -246,10 +246,10 @@ + if (N_MAGIC(ex) == NMAGIC) { + loff_t pos = fd_offset; + /* Fuck me plenty... */ +- error = do_brk(N_TXTADDR(ex), ex.a_text); ++ error = do_brk_locked(N_TXTADDR(ex), ex.a_text); + bprm->file->f_op->read(bprm->file, (char *) N_TXTADDR(ex), + ex.a_text, &pos); +- error = do_brk(N_DATADDR(ex), ex.a_data); ++ error = do_brk_locked(N_DATADDR(ex), ex.a_data); + bprm->file->f_op->read(bprm->file, (char *) N_DATADDR(ex), + ex.a_data, &pos); + goto beyond_if; +@@ -257,7 +257,7 @@ + + if (N_MAGIC(ex) == OMAGIC) { + loff_t pos = fd_offset; +- do_brk(N_TXTADDR(ex) & PAGE_MASK, ++ do_brk_locked(N_TXTADDR(ex) & PAGE_MASK, + ex.a_text+ex.a_data + PAGE_SIZE - 1); + bprm->file->f_op->read(bprm->file, (char *) N_TXTADDR(ex), + ex.a_text+ex.a_data, &pos); +@@ -272,7 +272,7 @@ + + if (!bprm->file->f_op->mmap) { + loff_t pos = fd_offset; +- do_brk(0, ex.a_text+ex.a_data); ++ do_brk_locked(0, ex.a_text+ex.a_data); + bprm->file->f_op->read(bprm->file,(char *)N_TXTADDR(ex), + ex.a_text+ex.a_data, &pos); + goto beyond_if; +@@ -388,7 +388,7 @@ + len = PAGE_ALIGN(ex.a_text + ex.a_data); + bss = ex.a_text + ex.a_data + ex.a_bss; + if (bss > len) { +- error = do_brk(start_addr + len, bss - len); ++ error = do_brk_locked(start_addr + len, bss - len); + retval = error; + if (error != start_addr + len) + goto out; +diff -ur linux-2.4.28-gentoo-r4/fs/binfmt_aout.c linux-2.4.28-gentoo-r5/fs/binfmt_aout.c +--- linux-2.4.28-gentoo-r4/fs/binfmt_aout.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/fs/binfmt_aout.c 2005-01-07 20:20:32.000000000 +0000 +@@ -46,7 +46,7 @@ + start = PAGE_ALIGN(start); + end = PAGE_ALIGN(end); + if (end > start) { +- unsigned long addr = do_brk(start, end - start); ++ unsigned long addr = do_brk_locked(start, end - start); + if (BAD_ADDR(addr)) + return addr; + } +@@ -341,10 +341,10 @@ + loff_t pos = fd_offset; + /* Fuck me plenty... */ + /* <AOL></AOL> */ +- error = do_brk(N_TXTADDR(ex), ex.a_text); ++ error = do_brk_locked(N_TXTADDR(ex), ex.a_text); + bprm->file->f_op->read(bprm->file, (char *) N_TXTADDR(ex), + ex.a_text, &pos); +- error = do_brk(N_DATADDR(ex), ex.a_data); ++ error = do_brk_locked(N_DATADDR(ex), ex.a_data); + bprm->file->f_op->read(bprm->file, (char *) N_DATADDR(ex), + ex.a_data, &pos); + goto beyond_if; +@@ -365,7 +365,7 @@ + map_size = ex.a_text+ex.a_data; + #endif + +- error = do_brk(text_addr & PAGE_MASK, map_size); ++ error = do_brk_locked(text_addr & PAGE_MASK, map_size); + if (error != (text_addr & PAGE_MASK)) { + send_sig(SIGKILL, current, 0); + return error; +@@ -399,7 +399,7 @@ + + if (!bprm->file->f_op->mmap||((fd_offset & ~PAGE_MASK) != 0)) { + loff_t pos = fd_offset; +- do_brk(N_TXTADDR(ex), ex.a_text+ex.a_data); ++ do_brk_locked(N_TXTADDR(ex), ex.a_text+ex.a_data); + bprm->file->f_op->read(bprm->file,(char *)N_TXTADDR(ex), + ex.a_text+ex.a_data, &pos); + flush_icache_range((unsigned long) N_TXTADDR(ex), +@@ -500,7 +500,7 @@ + error_time = jiffies; + } + +- do_brk(start_addr, ex.a_text + ex.a_data + ex.a_bss); ++ do_brk_locked(start_addr, ex.a_text + ex.a_data + ex.a_bss); + + file->f_op->read(file, (char *)start_addr, + ex.a_text + ex.a_data, &pos); +@@ -524,7 +524,7 @@ + len = PAGE_ALIGN(ex.a_text + ex.a_data); + bss = ex.a_text + ex.a_data + ex.a_bss; + if (bss > len) { +- error = do_brk(start_addr + len, bss - len); ++ error = do_brk_locked(start_addr + len, bss - len); + retval = error; + if (error != start_addr + len) + goto out; +diff -ur linux-2.4.28-gentoo-r4/fs/binfmt_elf.c linux-2.4.28-gentoo-r5/fs/binfmt_elf.c +--- linux-2.4.28-gentoo-r4/fs/binfmt_elf.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/fs/binfmt_elf.c 2005-01-07 20:20:46.000000000 +0000 +@@ -88,6 +88,7 @@ static void set_brk(unsigned long start, + end = ELF_PAGEALIGN(end); + if (end <= start) + return; ++ down_write(¤t->mm->mmap_sem); + do_brk(start, end - start); + + #ifdef CONFIG_GRKERNSEC_PAX_RANDEXEC +@@ -95,6 +96,7 @@ static void set_brk(unsigned long start, + __do_mmap_pgoff(NULL, ELF_PAGEALIGN(start + current->mm->delta_exec), 0UL, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED | MAP_MIRROR, start); + #endif + ++ up_write(¤t->mm->mmap_sem); + } + + +@@ -295,7 +297,9 @@ static unsigned long load_elf_interp(str + */ + if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) + goto out; +- if (interp_elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) ++ ++ if (interp_elf_ex->e_phnum < 1 || ++ interp_elf_ex->e_phnum > 65536U / sizeof(struct elf_phdr)) + goto out; + + /* Now read in all of the header information */ +@@ -370,7 +370,7 @@ + + /* Map the last of the bss segment */ + if (last_bss > elf_bss) +- do_brk(elf_bss, last_bss - elf_bss); ++ do_brk_locked(elf_bss, last_bss - elf_bss); + + *interp_load_addr = load_addr; + error = ((unsigned long) interp_elf_ex->e_entry) + load_addr; +@@ -407,7 +407,7 @@ + goto out; + } + +- do_brk(0, text_data); ++ do_brk_locked(0, text_data); + retval = -ENOEXEC; + if (!interpreter->f_op || !interpreter->f_op->read) + goto out; +@@ -415,7 +415,7 @@ + flush_icache_range((unsigned long)addr, + (unsigned long)addr + text_data); + +- do_brk(ELF_PAGESTART(text_data + ELF_MIN_ALIGN - 1), ++ do_brk_locked(ELF_PAGESTART(text_data + ELF_MIN_ALIGN - 1), + interp_ex->a_bss); + elf_entry = interp_ex->a_entry; + +@@ -1271,7 +1271,7 @@ + len = ELF_PAGESTART(elf_phdata->p_filesz + elf_phdata->p_vaddr + ELF_MIN_ALIGN - 1); + bss = elf_phdata->p_memsz + elf_phdata->p_vaddr; + if (bss > len) +- do_brk(len, bss - len); ++ do_brk_locked(len, bss - len); + error = 0; + + out_free_ph: +diff -ur linux-2.4.28-gentoo-r4/include/linux/mm.h linux-2.4.28-gentoo-r5/include/linux/mm.h +--- linux-2.4.28-gentoo-r4/include/linux/mm.h 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/include/linux/mm.h 2005-01-07 20:20:32.000000000 +0000 +@@ -601,6 +601,7 @@ + extern int do_munmap(struct mm_struct *, unsigned long, size_t); + + extern unsigned long do_brk(unsigned long, unsigned long); ++extern unsigned long do_brk_locked(unsigned long, unsigned long); + + static inline void __vma_unlink(struct mm_struct * mm, struct vm_area_struct * vma, struct vm_area_struct * prev) + { +diff -ur linux-2.4.28-gentoo-r4/kernel/ksyms.c linux-2.4.28-gentoo-r5/kernel/ksyms.c +--- linux-2.4.28-gentoo-r4/kernel/ksyms.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/kernel/ksyms.c 2005-01-07 20:20:32.000000000 +0000 +@@ -90,6 +90,7 @@ + EXPORT_SYMBOL(__do_mmap_pgoff); + EXPORT_SYMBOL(do_munmap); + EXPORT_SYMBOL(do_brk); ++EXPORT_SYMBOL(do_brk_locked); + EXPORT_SYMBOL(exit_mm); + EXPORT_SYMBOL(exit_files); + EXPORT_SYMBOL(exit_fs); +diff -ur linux-2.4.28-gentoo-r4/mm/mmap.c linux-2.4.28-gentoo-r5/mm/mmap.c +--- linux-2.4.28-gentoo-r4/mm/mmap.c 2005-01-07 20:33:12.000000000 +0000 ++++ linux-2.4.28-gentoo-r5/mm/mmap.c 2005-01-07 20:20:32.000000000 +0000 +@@ -1401,6 +1401,21 @@ + return addr; + } + ++/* locking version of do_brk. */ ++unsigned long do_brk_locked(unsigned long addr, unsigned long len) ++{ ++ unsigned long ret; ++ ++ down_write(¤t->mm->mmap_sem); ++ ret = do_brk(addr, len); ++ up_write(¤t->mm->mmap_sem); ++ ++ return ret; ++} ++ ++ ++ ++ + /* Build the RB tree corresponding to the VMA list. */ + void build_mmap_rb(struct mm_struct * mm) + { diff --git a/sys-kernel/wolk-sources/wolk-sources-4.11-r15.ebuild b/sys-kernel/wolk-sources/wolk-sources-4.11-r16.ebuild index 4203f4711dcc..cedb1c5227db 100644 --- a/sys-kernel/wolk-sources/wolk-sources-4.11-r15.ebuild +++ b/sys-kernel/wolk-sources/wolk-sources-4.11-r16.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.11-r15.ebuild,v 1.1 2004/12/24 19:42:58 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.11-r16.ebuild,v 1.1 2005/01/09 16:21:03 plasmaroo Exp $ # OKV=original kernel version, KV=patched kernel version. They can be the same. @@ -22,7 +22,7 @@ SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2 mirror://sourceforge/wolk/linux-${OKV}-wolk4.10s.patch.bz2 mirror://sourceforge/wolk/linux-${OKV}-wolk4.10s-to-4.11s.patch.bz2 http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0415.patch - http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-4.9-CAN-2004-0814.patch" + http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-4.9-CAN-2004-0814.2.patch" SLOT="${KV}" HOMEPAGE="http://wolk.sourceforge.net http://www.kernel.org" @@ -47,7 +47,7 @@ src_unpack() { epatch ${FILESDIR}/${PN}.CAN-2004-0497.patch || die "Failed to add the CAN-2004-0497 patch!" epatch ${FILESDIR}/${PN}.CAN-2004-0535.patch || die "Failed to add the CAN-2004-0535 patch!" epatch ${FILESDIR}/${PN}.CAN-2004-0685.patch || die "Failed to add the CAN-2004-0685 patch!" - epatch ${DISTDIR}/${PN}-4.9-CAN-2004-0814.patch || die "Failed to add the CAN-2004-0814 patch!" + epatch ${DISTDIR}/${PN}-4.9-CAN-2004-0814.2.patch || die "Failed to add the CAN-2004-0814 patch!" epatch ${FILESDIR}/${PN}.FPULockup-53804.patch || die "Failed to apply FPU-lockup patch!" epatch ${FILESDIR}/${PN}.cmdlineLeak.patch || die "Failed to apply the /proc/cmdline patch!" epatch ${FILESDIR}/${PN}.XDRWrapFix.patch || die "Failed to apply the kNFSd XDR patch!" @@ -58,6 +58,8 @@ src_unpack() { epatch ${FILESDIR}/${PN}.vma.patch || die "Failed to apply the VMA patch!" epatch ${FILESDIR}/${PN}.CAN-2004-1016.patch || die "Failed to apply the CAN-2004-1016 patch!" epatch ${FILESDIR}/${PN}.CAN-2004-1056.patch || die "Failed to apply the CAN-2004-1056 patch!" + epatch ${FILESDIR}/${PN}.brk-locked.patch || die "Failed to apply the do_brk() locking patch!" + epatch ${FILESDIR}/${PN}.77094.patch || die "Failed to apply bug #77094 patch!" kernel_universal_unpack } diff --git a/sys-kernel/wolk-sources/wolk-sources-4.14-r12.ebuild b/sys-kernel/wolk-sources/wolk-sources-4.14-r13.ebuild index 7186a433e9f3..e25c66e3154b 100644 --- a/sys-kernel/wolk-sources/wolk-sources-4.14-r12.ebuild +++ b/sys-kernel/wolk-sources/wolk-sources-4.14-r13.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.14-r12.ebuild,v 1.1 2004/12/24 19:42:58 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.14-r13.ebuild,v 1.1 2005/01/09 16:21:03 plasmaroo Exp $ OKV="2.4.20" OKB="2.4" @@ -18,7 +18,7 @@ DESCRIPTION="Full sources for Marc-Christian Peterson's WOLK kernel, based on 2. HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/mcp/${OKB}-WOLK/" SRC_URI="mirror://kernel/linux/kernel/people/mcp/${OKB}-WOLK/${WOLK_SRC} http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-4.11-CAN-2004-0415.patch - http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-4.9-CAN-2004-0814.patch" + http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-4.9-CAN-2004-0814.2.patch" KEYWORDS="x86 ~ppc ~sparc ~alpha ~hppa -mips" @@ -29,7 +29,7 @@ this file in the directory containing the sources." UNIPATCH_LIST=" ${DISTDIR}/${PN}-4.11-CAN-2004-0415.patch - ${DISTDIR}/${PN}-4.9-CAN-2004-0814.patch + ${DISTDIR}/${PN}-4.9-CAN-2004-0814.2.patch ${FILESDIR}/${PN}.CAN-2004-0133.patch ${FILESDIR}/${PN}.CAN-2004-0181.patch ${FILESDIR}/${PN}.CAN-2004-0394.patch @@ -46,7 +46,9 @@ UNIPATCH_LIST=" ${FILESDIR}/${PN}.binfmt_a.out.patch ${FILESDIR}/${PN}.vma.patch ${FILESDIR}/${PN}.CAN-2004-1016.patch - ${FILESDIR}/${PN}.CAN-2004-1056.patch" + ${FILESDIR}/${PN}.CAN-2004-1056.patch + ${FILESDIR}/${PN}.brk-locked.patch + ${FILESDIR}/${PN}.77094.patch" #============================================================================ # We'll override the src_unpack() function from the eclass. This is necessary diff --git a/sys-kernel/wolk-sources/wolk-sources-4.9-r19.ebuild b/sys-kernel/wolk-sources/wolk-sources-4.9-r20.ebuild index 97d794d30013..25067e886f40 100644 --- a/sys-kernel/wolk-sources/wolk-sources-4.9-r19.ebuild +++ b/sys-kernel/wolk-sources/wolk-sources-4.9-r20.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2004 Gentoo Foundation +# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.9-r19.ebuild,v 1.1 2004/12/24 19:42:58 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/wolk-sources/wolk-sources-4.9-r20.ebuild,v 1.1 2005/01/09 16:21:03 plasmaroo Exp $ # OKV=original kernel version, KV=patched kernel version. They can be the same. @@ -35,7 +35,7 @@ SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2 wolk-supermount? ( http://wolk.sourceforge.net/Workstation-Edition/1008_supermount-1.2.9-2.4.20-OLDIDE.patch) ipv6? ( http://wolk.sourceforge.net/Workstation-Edition/1009_mipv6-0.9.5.1-v2.4.20-wolk4.0s.patch ) http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0415.patch - http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0814.patch" + http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0814.2.patch" SLOT="${KV}" HOMEPAGE="http://wolk.sourceforge.net http://www.kernel.org" @@ -92,7 +92,7 @@ src_unpack() { epatch ${FILESDIR}/${PN}.CAN-2004-0497.patch || die "Failed to add the CAN-2004-0497 patch!" epatch ${FILESDIR}/${PN}.CAN-2004-0535.patch || die "Failed to add the CAN-2004-0535 patch!" epatch ${FILESDIR}/${PN}-4.9s.CAN-2004-0685.patch || die "Failed to add the CAN-2004-0685 patch!" - epatch ${DISTDIR}/${P}-CAN-2004-0814.patch || die "Failed to add the CAN-2004-0814 patch!" + epatch ${DISTDIR}/${P}-CAN-2004-0814.2.patch || die "Failed to add the CAN-2004-0814 patch!" epatch ${FILESDIR}/${PN}.FPULockup-53804.patch || die "Failed to apply FPU-lockup patch!" epatch ${FILESDIR}/${PN}.cmdlineLeak.patch || die "Failed to apply the /proc/cmdline patch!" epatch ${FILESDIR}/${PN}.XDRWrapFix.patch || die "Failed to apply the kNFSd XDR patch!" @@ -103,6 +103,8 @@ src_unpack() { epatch ${FILESDIR}/${PN}.vma.patch || die "Failed to apply the VMA patch!" epatch ${FILESDIR}/${PN}.CAN-2004-1016.patch || die "Failed to apply the CAN-2004-1016 patch!" epatch ${FILESDIR}/${PN}-4.9s.CAN-2004-1056.patch || die "Failed to apply the CAN-2004-1056 patch!" + epatch ${FILESDIR}/${PN}-4.9s.brk-locked.patch || die "Failed to apply the do_brk() locking patch!" + epatch ${FILESDIR}/${PN}.77094.patch || die "Failed to apply bug #77094 patch!" kernel_universal_unpack } |