Re: [PATCH v2] printk: Do not lose last line in kmsg buffer dump

From: Petr Mladek
Date: Fri Jul 12 2019 - 09:12:02 EST


On Fri 2019-07-12 18:22:53, Sergey Senozhatsky wrote:
> On (07/12/19 11:12), Petr Mladek wrote:
> > > For example, with the following two final prints:
> > >
> > > [ 6.427502] AAAAAAAAAAAAA
> > > [ 6.427769] BBBBBBBB12345
> > >
> > > A dump of a 64-byte buffer filled by kmsg_dump_get_buffer(), before this
> > > patch:
> > >
> > > 00000000: 3c 30 3e 5b 20 20 20 20 36 2e 35 32 32 31 39 37 <0>[ 6.522197
> > > 00000010: 5d 20 41 41 41 41 41 41 41 41 41 41 41 41 41 0a ] AAAAAAAAAAAAA.
> > > 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > > 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > >
> > > After this patch:
> > >
> > > 00000000: 3c 30 3e 5b 20 20 20 20 36 2e 34 35 36 36 37 38 <0>[ 6.456678
> > > 00000010: 5d 20 42 42 42 42 42 42 42 42 31 32 33 34 35 0a ] BBBBBBBB12345.
> > > 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > > 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> > >
> > > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx>
> >
> > I think that I need vacation. I have got lost in all the checks
> > and got it wrongly in the morning.
> >
> > This patch fixes the calculation of messages that might fit
> > into the buffer. It makes sure that the function that writes
> > the messages will really allow to write them.
> >
> > It seems to be the correct fix.
> >
> > Reviewed-by: Petr Mladek <pmladek@xxxxxxxx>
>
> Looks correct to me as well.
>
> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>

The patch has been committed into printk.git, branch for-5.3-fixes.

I am still a bit undecided whether to send pull request the following
week or wait for 5.4. On one hand, it is very old bug (since 3.5).
On the other hand, I think that it was not reported/fixed earlier
only because it was hard to notice. And loosing the very last message
is quite pity.

Anyway, I added stable tag.

Best Regards,
Petr