Re: [PATCH 5.10 000/657] 5.10.20-rc4 review

Linus Torvalds
2021-03-04T21:16:45Z

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