Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'tty-5.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty/serial fixes from Greg KH:
"Here are four small tty/serial fixes for 5.17-rc4. They are:

- 8250_pericom change revert to fix a reported regression

- two speculation fixes for vt_ioctl

- n_tty regression fix for polling

All of these have been in linux-next for a while with no reported
issues"

* tag 'tty-5.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
vt_ioctl: add array_index_nospec to VT_ACTIVATE
vt_ioctl: fix array_index_nospec in vt_setactivate
serial: 8250_pericom: Revert "Re-enable higher baud rates"
n_tty: wake up poll(POLLRDNORM) on receiving data

+5 -4
+2 -2
drivers/tty/n_tty.c
··· 1329 1329 put_tty_queue(c, ldata); 1330 1330 smp_store_release(&ldata->canon_head, ldata->read_head); 1331 1331 kill_fasync(&tty->fasync, SIGIO, POLL_IN); 1332 - wake_up_interruptible_poll(&tty->read_wait, EPOLLIN); 1332 + wake_up_interruptible_poll(&tty->read_wait, EPOLLIN | EPOLLRDNORM); 1333 1333 return; 1334 1334 } 1335 1335 } ··· 1561 1561 1562 1562 if (read_cnt(ldata)) { 1563 1563 kill_fasync(&tty->fasync, SIGIO, POLL_IN); 1564 - wake_up_interruptible_poll(&tty->read_wait, EPOLLIN); 1564 + wake_up_interruptible_poll(&tty->read_wait, EPOLLIN | EPOLLRDNORM); 1565 1565 } 1566 1566 } 1567 1567
+1 -1
drivers/tty/serial/8250/8250_pericom.c
··· 117 117 uart.port.private_data = pericom; 118 118 uart.port.iotype = UPIO_PORT; 119 119 uart.port.uartclk = 921600 * 16; 120 - uart.port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF | UPF_SHARE_IRQ | UPF_MAGIC_MULTIPLIER; 120 + uart.port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF | UPF_SHARE_IRQ; 121 121 uart.port.set_divisor = pericom_do_set_divisor; 122 122 for (i = 0; i < nr && i < maxnr; i++) { 123 123 unsigned int offset = (i == 3 && nr == 4) ? 0x38 : i * 0x8;
+2 -1
drivers/tty/vt/vt_ioctl.c
··· 599 599 if (vsa.console == 0 || vsa.console > MAX_NR_CONSOLES) 600 600 return -ENXIO; 601 601 602 - vsa.console = array_index_nospec(vsa.console, MAX_NR_CONSOLES + 1); 603 602 vsa.console--; 603 + vsa.console = array_index_nospec(vsa.console, MAX_NR_CONSOLES); 604 604 console_lock(); 605 605 ret = vc_allocate(vsa.console); 606 606 if (ret) { ··· 845 845 return -ENXIO; 846 846 847 847 arg--; 848 + arg = array_index_nospec(arg, MAX_NR_CONSOLES); 848 849 console_lock(); 849 850 ret = vc_allocate(arg); 850 851 console_unlock();