On Thu, Mar 4, 2021 at 9:56 AM Naresh Kamboju naresh.kamboju@linaro.org wrote:
On Thu, 4 Mar 2021 at 01:34, Guenter Roeck linux@roeck-us.net 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