diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index 7cfa99fbbb62..4f21a21a1fd5 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -853,9 +853,8 @@ static ssize_t iterate_tty_read(struct tty_ldisc *ld, struct tty_struct *tty, size_t copied, count = iov_iter_count(to); do { - ssize_t size; + ssize_t size = min(count, sizeof(kernel_buf)); - size = count > sizeof(kernel_buf) ? sizeof(kernel_buf) : count; size = ld->ops->read(tty, file, kernel_buf, size, &cookie, offset); if (!size) break;