aboutsummaryrefslogtreecommitdiff
path: root/lib/mpi/mpi-inline.h
diff options
context:
space:
mode:
authorTetsuo Handa <[email protected]>2021-04-15 09:22:22 +0900
committerGreg Kroah-Hartman <[email protected]>2021-04-22 12:01:26 +0200
commitc0070e1e60270f6a1e09442a9ab2335f3eaeaad2 (patch)
treed292f1bf3d8524792f14786275489d9195fdb12f /lib/mpi/mpi-inline.h
parentf9f54983005cdd1060b85b16933677442139d88d (diff)
ttyprintk: Add TTY hangup callback.
syzbot is reporting hung task due to flood of tty_warn(tty, "%s: tty->count = 1 port count = %d\n", __func__, port->count); message [1], for ioctl(TIOCVHANGUP) prevents tty_port_close() from decrementing port->count due to tty_hung_up_p() == true. ---------- #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> #include <unistd.h> int main(int argc, char *argv[]) { int i; int fd[10]; for (i = 0; i < 10; i++) fd[i] = open("/dev/ttyprintk", O_WRONLY); ioctl(fd[0], TIOCVHANGUP); for (i = 0; i < 10; i++) close(fd[i]); close(open("/dev/ttyprintk", O_WRONLY)); return 0; } ---------- When TTY hangup happens, port->count needs to be reset via "struct tty_operations"->hangup callback. [1] https://syzkaller.appspot.com/bug?id=39ea6caa479af471183997376dc7e90bc7d64a6a Reported-by: syzbot <[email protected]> Reported-by: syzbot <[email protected]> Tested-by: syzbot <[email protected]> Signed-off-by: Tetsuo Handa <[email protected]> Fixes: 24b4b67d17c308aa ("add ttyprintk driver") Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-inline.h')
0 files changed, 0 insertions, 0 deletions