On Thu, Mar 4, 2021 at 9:56 AM Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote: > > On Thu, 4 Mar 2021 at 01:34, Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > > > > Upstream has: > > > > e71a8d5cf4b4 tty: fix up iterate_tty_read() EOVERFLOW handling > > ddc5fda74561 tty: fix up hung_up_tty_read() conversion > > I have applied these two patches and the reported problem did not solve. Hmm. Upstream has: * 3342ff2698e9 ("tty: protect tty_write from odd low-level tty disciplines") * a9cbbb80e3e7 ("tty: avoid using vfs_iocb_iter_write() for redirected console writes") * 17749851eb9c ("tty: fix up hung_up_tty_write() conversion") G e71a8d5cf4b4 ("tty: fix up iterate_tty_read() EOVERFLOW handling") G ddc5fda74561 ("tty: fix up hung_up_tty_read() conversion") * c7135bbe5af2 ("tty: fix up hung_up_tty_write() conversion") d7fe75cbc23c ("tty: teach the n_tty ICANON case about the new "cookie continuations" too") 15ea8ae8e03f ("tty: teach n_tty line discipline about the new "cookie continuations"") 64a69892afad ("tty: clean up legacy leftovers from n_tty line discipline") * 9bb48c82aced ("tty: implement write_iter") * dd78b0c483e3 ("tty: implement read_iter") * 3b830a9c34d5 ("tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer") Where those ones marked with '*' seem to be in v5.10.y, and the one prefixed with 'G' are the ones Guenter mentioned. (We seem to have the "tty: fix up hung_up_tty_write() conversion" commit twice. I'm not sure how that happened, but whatever). But that still leaves three commits that don't seem to be in 5.10.y: d7fe75cbc23c ("tty: teach the n_tty ICANON case about the new "cookie continuations" too") 15ea8ae8e03f ("tty: teach n_tty line discipline about the new "cookie continuations"") 64a69892afad ("tty: clean up legacy leftovers from n_tty line discipline") and they might fix what are otherwise short reads. Which is allowed by POSIX, afaik, but .. Do those three commits fix your test-case? (And maybe my filtering and trying to figure out what is upstream and what is in 5.10.y is broken, and there's something else there too). Linus