Messages in this thread | | | From | (H. Peter Anvin) | Subject | Re: Allocation of too much memory hangs system, kernel 2.2.* | Date | 1 Jun 1999 11:05:41 GMT |
| |
Followup to: <Pine.LNX.4.10.9906010942170.3302-100000@cola.svenskatest.se> By author: Urban Widmark <urban@svenskatest.se> In newsgroup: linux.dev.kernel > > It is perhaps not possible to kill init, but the kernel can stop init from > working (if it was actually killed or not ...). The effects I've seen is > that all processes that die end up as zombies and shutdown/reboot/halt > stop working. > > I don't remember if I reported it or not, since I thought the "OOM" > problem was well known and left for future Linux versions. > (there were a lot of "OOM killer patches" that Andrea et al threw at each > other, around late 2.1.1xx :) > > Some old(?) version of postgresql didn't like a sql statement of mine and > decided it needed lots of memory to optimize/parse it. That killed almost > everything on the machine (2.2.0 or 2.2.0-preX), I telnet'ed back and > there were zombies everywhere. > I didn't save the logfiles either, if init was killed the oom() should > have logged that. > > And just to be sure I re-ran the same sql after rebooting and again random > processes were killed, but this time init was not killed/stopped/... > > > mm/memory.c does, on a task failing to 'put_dirty_page' > force_sig(SIGKILL, task); > which (I think) leads to > force_sig_info(sig, (void*)1L, p); > return send_sig_info(sig, info, t); > > Then there is a permissions check with lots of && expressions, where > info == 1L > This part is then not true, so the operation is allowed > (!info || ((unsigned long)info != 1 && SI_FROMUSER(info)) > > And then I'm lost ... I can't find where the kernel is stopped from > killing init. > > > I suppose I should provide better debugging info by repeatedly killing a > machine (with a recent 2.2 kernel) until I manage to hit init, if that is > possible. >
It's possible there is a bug in the check here. If so, we should fix it. It would be bad for the kernel to kill init under any circumstances.
-hpa -- "The user's computer downloads the ActiveX code and simulates a 'Blue Screen' crash, a generally benign event most users are familiar with and that would not necessarily arouse suspicions." -- Security exploit description on http://www.zks.net/p3/how.asp
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |