From: Andi Kleen on 29 Jul 2010 06:00 > IMO memmory allocation fails are dangerous in kernel mode. As it is > probably not exploitable because of boot time, it can destroy some > sensitive data like dirty disk caches those are going to be written on > disk. It's true for runtime, but not for normal boot time. Anyways if it happens on boot time the only thing you can do is panic, but someone else will likely panic anyways for you. Just ignoring it like your patch effectively does (because nothing will ever look at the ENOMEMs for an initcall) is wrong though In this case it's actually better to oops like the original code does. BTW even with your patch likely later code will crash anyways because it doesn't expect init code to fail. -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Borislav Petkov on 29 Jul 2010 06:20 From: Andi Kleen <ak(a)linux.intel.com> Date: Thu, Jul 29, 2010 at 05:51:00AM -0400 > > > IMO memmory allocation fails are dangerous in kernel mode. As it is > > probably not exploitable because of boot time, it can destroy some > > sensitive data like dirty disk caches those are going to be written on > > disk. > > It's true for runtime, but not for normal boot time. > > Anyways if it happens on boot time the only thing you can do is panic, > but someone else > will likely panic anyways for you. Just ignoring it like your patch > effectively does > (because nothing will ever look at the ENOMEMs for an initcall) Not true, initcall_debug will at least dump the -ENOMEM or the other -E's if enabled on the cmdline. So even only for that case does the patch make sense. It's a whole different question whether it actually is prudent to turn on error reporting of failed initcalls unconditionally. -- Regards/Gruss, Boris. Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: walter harms on 29 Jul 2010 06:20 Andi Kleen schrieb: > >> IMO memmory allocation fails are dangerous in kernel mode. As it is >> probably not exploitable because of boot time, it can destroy some >> sensitive data like dirty disk caches those are going to be written on >> disk. > > It's true for runtime, but not for normal boot time. > > Anyways if it happens on boot time the only thing you can do is panic, > but someone else > will likely panic anyways for you. Just ignoring it like your patch > effectively does > (because nothing will ever look at the ENOMEMs for an initcall) is wrong > though > In this case it's actually better to oops like the original code does. > > BTW even with your patch likely later code will crash anyways because it > doesn't > expect init code to fail. > NTL it is nice to have a error message. for users it is worse if you crash suddenly with out warning than having a crash with "OOM" before because it gives you a clue what is going on. short: please think of users that are not kernel developers give them a hint what went wrong. to make thinks more easy on boot we could replace kalloc() with kmalloc_or_die(). When anyone runs out of mem on boottime you can panic() instantly. just my to cents, wh -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Vasiliy Kulikov on 31 Jul 2010 14:30 On Thu, Jul 29, 2010 at 12:10 +0200, walter harms wrote: > > > Andi Kleen schrieb: > > > >> IMO memmory allocation fails are dangerous in kernel mode. As it is > >> probably not exploitable because of boot time, it can destroy some > >> sensitive data like dirty disk caches those are going to be written on > >> disk. > > > > It's true for runtime, but not for normal boot time. > > > > Anyways if it happens on boot time the only thing you can do is panic, > > but someone else > > will likely panic anyways for you. Just ignoring it like your patch > > effectively does > > (because nothing will ever look at the ENOMEMs for an initcall) is wrong > > though > > In this case it's actually better to oops like the original code does. > > > > BTW even with your patch likely later code will crash anyways because it > > doesn't > > expect init code to fail. > > > > NTL it is nice to have a error message. for users it is worse if you crash suddenly > with out warning than having a crash with "OOM" before because it gives you a clue > what is going on. > short: > please think of users that are not kernel developers give them a hint what went wrong. > > to make thinks more easy on boot we could replace kalloc() with kmalloc_or_die(). The thing is that this driver does not call kmalloc() explicitly, it uses function those call functions those call kmalloc() :) If we call BUG_ON() in init code, it would not make big overhead and would make fault exactly when bug was detected, independent from caller checks. Andi, are you fine with it? > When anyone runs out of mem on boottime you can panic() instantly. > > just my to cents, > wh > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Vasiliy Kulikov on 31 Jul 2010 15:10 On Thu, Jul 29, 2010 at 12:10 +0200, walter harms wrote: > > > Andi Kleen schrieb: > > > >> IMO memmory allocation fails are dangerous in kernel mode. As it is > >> probably not exploitable because of boot time, it can destroy some > >> sensitive data like dirty disk caches those are going to be written on > >> disk. > > > > It's true for runtime, but not for normal boot time. > > > > Anyways if it happens on boot time the only thing you can do is panic, > > but someone else > > will likely panic anyways for you. Just ignoring it like your patch > > effectively does > > (because nothing will ever look at the ENOMEMs for an initcall) is wrong > > though > > In this case it's actually better to oops like the original code does. > > > > BTW even with your patch likely later code will crash anyways because it > > doesn't > > expect init code to fail. > > > > NTL it is nice to have a error message. for users it is worse if you crash suddenly > with out warning than having a crash with "OOM" before because it gives you a clue > what is going on. > short: > please think of users that are not kernel developers give them a hint what went wrong. > > to make thinks more easy on boot we could replace kalloc() with kmalloc_or_die(). The thing is that this driver does not call kmalloc() explicitly, it uses function those call functions those call kmalloc() :) If we call BUG_ON() in init code, it would not make big overhead and would make fault exactly when bug was detected, independent from caller checks. Andi, are you fine with it? > When anyone runs out of mem on boottime you can panic() instantly. > > just my to cents, > wh > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
First
|
Prev
|
Pages: 1 2 Prev: [PATCH 04/10] x86: mce: fix error handling Next: mm: check kmalloc() return value |