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_
(^_^)


_______________________________________________
eldk mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/eldk

Reply via email to