|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugeny Balahonov 2:452/50.1 06 Oct 2001 11:00:08 To : Dmitry Sergienko Subject : /var/run & utmp -------------------------------------------------------------------------------- Hello Dmitry! Friday October 05 2001 09:42, Dmitry Sergienko wrote to Eugeny Balahonov: EB>> Зато приятную глюку добавили из-за которой на сервак это 2.4.10 EB>> ставить ни в коем случае нельзя. DS> Можно подробнее? Единственное, что я слышал о 2.4.10 - глюкавит DS> reiserfs. Повторяю ;) В ядре 2.4.10 обнаружена ошибка позволяющая любому локальному пользователю перезагрузить систему. Она возникла (или просто всплыла старая, по версии Линуса) после исправления ELF loader'а. Hаиболее легко испытать эффект путем запуска vmlinux файла, который создается в процесс собирания ядра Linux. У некоторых: А еще в 2.4.10 нажимаешь в (чистой) командной строке "/" и <Tab> и получаешь процесс, намертво подвисший в uninterruptable режиме (т.е. его невозможно убить). Патч на предмет ELF от Линуса: From: torvalds@transmeta.com (Linus Torvalds) Subject: Re: 2.4.10 bad ELF kills system bug Date: Wed, 3 Oct 2001 01:56:03 +0000 (UTC) In article <200110030040.f930eF921188@www.hockin.org>, Tim Hockin <thockin@hockin.org> wrote: >I can't believe how nonchalant everyone is about this bug. Is there a >definate fix yet? If so, what is it? Will there be a rushed 2.4.11, or >will it languish for a while? Well, the bug is actually ancient. The fix is something along the lines of the attached, although there are people with prettier versions (Andrea is looking at other buglets in the ELF loader). Linus ---- -+- pre2/linux/fs/binfmt_elf.c Tue Oct 2 16:24:18 2001 +++ linux/fs/binfmt_elf.c Tue Oct 2 16:23:33 2001 @@ -298,6 +298,8 @@ elf_type |= MAP_FIXED; map_addr = elf_map(interpreter, load_addr + vaddr, eppnt, elf_prot, elf_type); + if (map_addr > TASK_SIZE) + goto out_close; if (!load_addr_set && interp_elf_ex->e_type == ET_DYN) { load_addr = map_addr - ELF_PAGESTART(vaddr); @@ -649,6 +651,8 @@ } error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, elf_prot, elf_flags); + if (error > TASK_SIZE) + continue; if (!load_addr_set) { load_addr_set = 1; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ Best regards, Eugeny [FIDO Wizard! team] E-mail: johnball@bmz.gomel.by ICQ: 5456961 --- GoldED+ 1.1.4.5 (WinNT 5.1.2600 i686) * Origin: Программу циклом не испортишь (2:452/50.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/191133bbebaa2.html, оценка из 5, голосов 10
|