Messages in this thread | | | From | (Eric W. Biederman) | Subject | Re: [RFC][PATCH 4/6][v3] Define siginfo_from_ancestor_ns() | Date | Mon, 22 Dec 2008 16:32:16 -0800 |
| |
Oleg Nesterov <oleg@redhat.com> writes:
>> I was going through the ->si_pid assignments to try and fix them at >> source (like the mqueue patch I sent last week). > > OK.
Note. When a signal goes to a process group (or similar) we can't fix si_pid at the source. We have to fix it when only a single destination process is known. It doesn't mean that fixing it at the source is hopeless but...
>> The two cases that don't fit the model are sys_kill() and sys_tkill(). >> For that I was hoping we could use siginfo_from_user() again. i.e >> >> if (siginfo_from_user()) >> masquerade_si_pid() >> >> in the default: case of send_signal(). To be safe, masquerade_si_pid() >> could do it only iff si_code is either SI_USER or SI_TKILL. >> >> IOW, with some tweaks, I am trying to see if we can use siginfo_from_user() >> in place of the SIG_FROM_USER. > > sys_rt_sigqueueinfo(). > > But, perhaps we can just ignore the problems with sigqueueinfo() (and > document them).
Yes. I don't think si_pid is valid in that case anyway. It is the kernel signals where si_pid is a reliable field that are important.
Eric
| |