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

From: Greg Kroah-Hartman
Date: Fri Mar 05 2021 - 05:10:58 EST


On Fri, Mar 05, 2021 at 03:32:14PM +0530, Naresh Kamboju wrote:
> On Fri, 5 Mar 2021 at 14:22, Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > 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).
> >
> > 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.

Ugh, you are right.

Ok, I think I have things correct in the queue, if not, please let me
know.

greg k-h