[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130129194908.GA29480@redhat.com>
Date: Tue, 29 Jan 2013 20:49:08 +0100
From: Oleg Nesterov <oleg@...hat.com>
To: Jiri Slaby <jslaby@...e.cz>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Lingzhu Xiang <lxiang@...hat.com>,
Roman Rakus <rrakus@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] tty: set_termios/set_termiox should not return
-EINTR
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists