Re: what's the replace for the big kernel lock after kernel version 2.6.39 for system call.

From: Tvrtko Ursulin
Date: Wed Nov 30 2011 - 04:44:33 EST


On Tuesday 29 Nov 2011 21:41:36 Al Viro wrote:
> On Mon, Nov 28, 2011 at 01:03:07AM -0800, Wen Yan Xin wrote:
> > Hi all,
> >
> > I have a trouble of working on kernel 2.6.39 and later. Originally when
> > our kernel module startups, it hooks some file system call, like
> > sys_open... , and the big kernel lock - lock_kernel() - will be held
> > before creating the hook to prevent user application use system calls,
> > and be released after the hook created.
> >
> >
> > But after the kernel 2.6.39, the big kernel lock has been removed. I'm
> > thinking there should be one or more lock that should be used.
> >
> > So, my question is which lock should be held now, when we hook the system
> > call of file system?
> >
> > I'd really appreciate your answer in advance.
>
> 1) your rootkit has always been racy; taking BKL does *NOT* prevent another
> CPU from entering a system call.
>
> 2) none; just don't do it.

Hi Al,

Why not be a nice guy when you already took the effort of replying and mention
fanotify? Because I am sure you know the history and when you see a security
vendor asking these things, you never know, maybe it fits their requirements.
Maybe it is not your favourite thing as well, but not a reason not to mention
it.

And strictly speaking, rootkits actively try to hide themselves hence whatever
unsafe, ugly and wrong stuff they might have it is not a rootkit. :)

Regards,

Tvrtko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/