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

Naresh Kamboju
2021-03-05T10:03:23Z

On Fri, 5 Mar 2021 at 14:22, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Fri, Mar 05, 2021 at 01:39:46PM +0530, Naresh Kamboju wrote:
> > On Fri, 5 Mar 2021 at 02:45, Linus Torvalds
> > <torvalds@linux-foundation.org> wrote:
> > >
> > > 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).
>
> I merged it through two different branches by applying it from email,
> one for 5.10-final and one for 5.11-rc1, sorry about that.
>
> > > 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?
> >
> > Yes.
> > As per your suggestion I've added these three patches and tested
> > and the reported test case PASS now [1].
> >
> > This means I have five extra patches on top of the stable v5.10.20 tag.
> >
> > $ git log --oneline
> > 8c1c1de499af tty: teach the n_tty ICANON case about the new "cookie
> > continuations" too
> > 02aada164879 tty: teach n_tty line discipline about the new "cookie
> > continuations"
> > fb0df6b17897 tty: clean up legacy leftovers from n_tty line discipline
> > 429f7fc84d6a tty: fix up iterate_tty_read() EOVERFLOW handling
> > d0d54bca80a8 tty: fix up hung_up_tty_read() conversion
> > 83be32b6c9e5 (tag: v5.10.20, origin/linux-5.10.y) Linux 5.10.20
>
> That last commit, "tty: fix up hung_up_tty_read() conversion" is already
> in 5.10.20 as e018e57fd5c0 ("tty: fix up hung_up_tty_write()
> conversion"), it came in at 5.10.11, so how did you apply it again?

It is easy to confuse between read() and write().
tty: fix up hung_up_tty_read() conversion
tty: fix up hung_up_tty_write() conversion

Write() was there but read() is a commit that has been cherry-picked.

> Anyway, thanks for these, I've queued up the 4 other commits now to the
> 5.10.y and 5.11.y trees, let's see what happens...

Thank you !

- Naresh