On 12/22, Sukadev Bhattiprolu wrote: > > Oleg Nesterov [oleg@xxxxxxxxxx] wrote: > | On 12/20, Sukadev Bhattiprolu wrote: > | > > | > + * TODO: > | > + * Making SI_ASYNCIO a kernel signal could make this less hacky. > | > + */ > | > +#ifdef CONFIG_PID_NS > | > +static inline int siginfo_from_user(siginfo_t *info) > | > +{ > | > + if (!is_si_special(info) && SI_FROMUSER(info) && > | > | OK, if we can trust SI_FROMUSER(), then it is better, i agree. > | > | I was worried about in-kernel usage of .si_code <= 0 ... > | > | > + info->si_code != SI_ASYNCIO) > | > | but this is horrible, imho. > > I am beginning to accept that some amount of ugliness is inevitable > here :-) heh, agreed... > I tried to dig through history of SI_ASYNCIO, but did not > find any changes to its definition in siginfo.h in 6 years. basically, it was needed (afaics) because we didn't have "struct pid" when the patch was sent. Commit 46113830a18847cff8da73005e57bc49c2f95a56 (but the fact that SI_FROMUSER(SI_ASYNCIO) == T is imho unforgivable ;) > | OK, if we can't change the ABI, then perhaps we can change > | kill_pid_info_as_uid() to not send the fatal signals to UNKILLABLE > | task? This helper is strange and ugly anyway, > | > | > | To clarify, I do not blame the patch itself, and I do not suggest > | to do this right now. > > By 'to do this' I assume you are referring to the kill_pid_info_as_uid() > change above ? > > IOW, ugly as it is, can we go with the siginfo_from_user() as in the patch ? Yes. Sorry if I was not clear. I think that this part of patch is imho horrible, but we should blame drivers/usb/core/devio.c. I'd personally like to move the uglification to kill_pid_info_as_uid(), but we can do this later. Oleg. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers