Skip to contentSkip to conversation

patch "tty: Fix GPF in flush_to_ldisc(), part 2" added to tty-next

PATCH [email protected] 1 participant 1 message Jan 29, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

tty: Fix GPF in flush_to_ldisc(), part 2

to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-next branch.

The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)

The patch will also be merged in the next major kernel release during the merge window.

If you have any questions about this process, please let me know.

Quoted 1 line

From f33798deecbd59a2955f40ac0ae2bc7dff54c069 Mon Sep 17 00:00:00 2001

From: Peter Hurley <[email protected]>
Date: Sun, 10 Jan 2016 20:36:12 -0800
Subject: tty: Fix GPF in flush_to_ldisc(), part 2

commit 9ce119f318ba ("tty: Fix GPF in flush_to_ldisc()") fixed a GPF caused by a line discipline which does not define a receive_buf() method.

However, the vt driver (and speakup driver also) pushes selection data directly to the line discipline receive_buf() method via tty_ldisc_receive_buf(). Fix the same problem in tty_ldisc_receive_buf().

---
 include/linux/tty.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/linux/tty.h +1 -1
index dea7d54d00d4..03e4015fa033 100644
@@ -579,7 +579,7 @@ static inline int tty_ldisc_receive_buf(struct tty_ldisc *ld, unsigned char *p,
 		count = ld->ops->receive_buf2(ld->tty, p, f, count);
 	else {
 		count = min_t(int, count, ld->tty->receive_room);
-		if (count)
+		if (count && ld->ops->receive_buf)
 			ld->ops->receive_buf(ld->tty, p, f, count);
 	}
 	return count;
Signature · 1 line
2.7.0