On (23/08/10 22:45), Kees Cook wrote: > If an output buffer size exceeded U16_MAX, the min_t(u16, ...) cast in > copy_data() was causing writes to truncate. This manifested as output > bytes being skipped, seen as %NUL bytes in pstore dumps when the available > record size was larger than 65536. Fix the cast to no longer truncate > the calculation. > > Cc: Petr Mladek <pmladek@xxxxxxxx> > Cc: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx> > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> > Cc: John Ogness <john.ogness@xxxxxxxxxxxxx> > Reported-by: Vijay Balakrishna <vijayb@xxxxxxxxxxxxxxxxxxx> > Closes: https://lore.kernel.org/lkml/d8bb1ec7-a4c5-43a2-9de0-9643a70b899f@xxxxxxxxxxxxxxxxxxx/ > Fixes: b6cf8b3f3312 ("printk: add lockless ringbuffer") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Thanks a lot! Reviewed-by: Sergey Senozhatsky <senozhatsky@xxxxxxxxxxxx>