On 01/29, Jiri Slaby wrote: > > On 01/29/2013 08:07 PM, Oleg Nesterov wrote: > > > > Change set_termios/set_termiox to return -ERESTARTSYS to fix this > > particular problem. > > This looks reasonable. However given the link above says: > You are not authorized to access bug #904907. > the description above is poor. What problem exactly does this fix?
A syscall must never return EINTR unless it can not be restarted (or it should not be restarted by, say, historical reasons). In this case ioctl(TCSETAW) returns -EINTR even if it is interrupted by the signal which has the SA_RESTART handler. This doesn't look right no matter what. > Why this should go to stable at all? OK, this is up to you. But if this patch is correct, perhaps it should be backported. This -EINTR breaks /bin/bash which doesn't expect it, this leads to "*** glibc detected *** ./bash-4.1.2-14.el6/bin/bash: double free or corruption (out):" Perhaps /bin/bash is buggy too, I do not know. Probably Roman and Lingzhu can tell more. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

