From: Nico Schottelius <nicos@pcsystems.de>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: memory/cpu handling problem ? (x86)
Date: Wed, 05 Dec 2001 23:39:28 +0100 [thread overview]
Message-ID: <3C0EA220.D943FAF6@pcsystems.de> (raw)
[-- Attachment #1: Type: text/plain, Size: 1227 bytes --]
Hello Folks!
A small ansi C program which tries to get all cpu power and as much ram
as possible got my system.
Background:
Discussing about NT and Linux with friends I decided to write a program
to demonstrate how the os reacts if one process tries to get the whole
system.
Please take a look into the attached program, before you continue
reading.
1, NT Test
System keeps on beeing stable, no new programs can be started.
2. Linux Test (1 process)
System hangs. No keyboard nor network conection is possible.
SysRq-Kill kills the process.
3. Linux Test (3 processes)
Nothing to do anymore. System is blocked. SysRq still reports
what it does, but not even killall/SAK helps. s+u+b was the only
possible solution.
The program ran under a standard user id on both operating systems.
I was not able to ctrl+c/z the process under Linux.
Question: Isn't that some kind of security or at least DoS hole ?
Could not anybody with SSH / Telnet access to a server stop this
server running ?
Is it possible (via sysctl ?) to impede that ?
Please CC me when answering.
--
{Greetings,Gruss},
Nico Schottelius
I am some kind of busy -
Do not expect an answer within 24 hours.
Instead use the telephon: +49 (0) 173 - 750 7022.
[-- Attachment #2: ram_voll2.c --]
[-- Type: text/plain, Size: 1408 bytes --]
/*******************************************************************************
* Test what the OS does, if there is no ram and cpu left.
* Author: Nico Schottelius <nicos@pcsystems.de>
* Date: 4th of July 2001
*
*
* 5th of Decembre 2001:
* added initialization of the new allocated ram. Without this 'feature'
* Linux 2.4 has no problems. It is even possible to allocate 2000 MB RAM,
* where only 128 MB is! (Linux gives you 'SoftRam'...)
*
******************************************************************************/
#include <stdlib.h>
#include <stdio.h>
#define lint long int
lint add(lint last) {
if(last == 0)
return last;
else if(last < 0)
return -1;
else
return last + add(last -1);
}
int main ( void )
{
char **uebervoll = NULL;
int x = 1, a = 0; /* how many megs to allocate within one step */
int one_k = 1024;
int one_meg = one_k * 1024;
lint i = 0;
uebervoll = (char **) realloc(uebervoll, (i+1) * sizeof(char *) );
for(i=0;;) {
uebervoll = (char **) realloc(uebervoll, (i+1) * sizeof(char *));
if(uebervoll != NULL) {
uebervoll[i] = (char *) malloc(x * one_meg * sizeof(char) );
/* init allocated ram */
for(a=0;a<(x*one_meg*sizeof(char));a++) uebervoll[i][a] = 'a';
if(uebervoll[i] != NULL) {
i++;
printf("%d MB RAM allocated\n",x * i);
}
}
}
}
next reply other threads:[~2001-12-05 23:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-05 22:39 Nico Schottelius [this message]
2001-12-05 23:23 ` memory/cpu handling problem ? (x86) Doug McNaught
2002-03-14 9:01 ` Nico Schottelius
[not found] ` <u8elm99qsn.fsf@gromit.moeb>
2001-12-06 19:52 ` Nico Schottelius
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3C0EA220.D943FAF6@pcsystems.de \
--to=nicos@pcsystems.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox