summaryrefslogtreecommitdiff
path: root/scripts/Makefile.clean
diff options
context:
space:
mode:
authorJiri Slaby <jslaby@suse.cz>2022-07-07 10:25:58 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-07-08 15:16:28 +0200
commita501ab75e7624d133a5a3c7ec010687c8b961d23 (patch)
tree52b516a215d0e6d7f19ad2ceed10ffcddcbd3dde /scripts/Makefile.clean
parent716b10580283fda66f2b88140e3964f8a7f9da89 (diff)
tty: use new tty_insert_flip_string_and_push_buffer() in pty_write()
There is a race in pty_write(). pty_write() can be called in parallel with e.g. ioctl(TIOCSTI) or ioctl(TCXONC) which also inserts chars to the buffer. Provided, tty_flip_buffer_push() in pty_write() is called outside the lock, it can commit inconsistent tail. This can lead to out of bounds writes and other issues. See the Link below. To fix this, we have to introduce a new helper called tty_insert_flip_string_and_push_buffer(). It does both tty_insert_flip_string() and tty_flip_buffer_commit() under the port lock. It also calls queue_work(), but outside the lock. See 71a174b39f10 (pty: do tty_flip_buffer_push without port->lock in pty_write) for the reasons. Keep the helper internal-only (in drivers' tty.h). It is not intended to be used widely. Link: https://seclists.org/oss-sec/2022/q2/155 Fixes: 71a174b39f10 (pty: do tty_flip_buffer_push without port->lock in pty_write) Cc: 一只狗 <chennbnbnb@gmail.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Suggested-by: Hillf Danton <hdanton@sina.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz> Link: https://lore.kernel.org/r/20220707082558.9250-2-jslaby@suse.cz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/Makefile.clean')
0 files changed, 0 insertions, 0 deletions