[ELDK] 2.4 signal patch

Levend Sayar levend.sayar at karel.com.tr
Thu Oct 28 14:09:38 CEST 2010


  Hi, everybody.

We have a ppc 852 based embedded board. We are running 2.4.25 kernel. We 
implemented a kernel module
for timer mechanism. A process can set a timer with this module and when 
that timer expires module notifies the process with an RT signal.
Until today, we had just "root" user. But a few weeks ago
we added a web server application (hiawatha) that runs with "nobody" 
user. So we added "nobody" user also.

Later we noticed that some signals sent from kernel to userland are 
missing. The reason is this.

process A with uid root
process B with uid nobody
kernel module M

process A sets a timer with module M.
While B is running, timer expires and module M want to send signal to A.
But M uses send_sig_info (kernel/signal.c). That function makes some 
permission checks (bad_signal). It checks euid of "current" with euid of 
signal destination process.
If these are different, it does not deliver signal.

So as a remedy, we bypassed bad_signal code. Do you think will this have 
some bad side effects ? Or do you suggest a better solution ?

Thank is advance

I.yi çal?s,malar ...

_lvnd_
(^_^)




More information about the eldk mailing list