> Not to jump in or anything, but... > How about a small kernel function to return the current securelevel value? > int get_securelevel(); > Then export THAT to modules.
It doesnt help. The malicious module does
unsigned long **ptr=(unsigned long **)&get_securelevel; unsigned long *securelevelptr=ptr[SOME_CONSTANT]; *securelevelptr=0;