Skip to content
  • Petr Mladek's avatar
    printk: use also the last bytes in the ring buffer · 39b25109
    Petr Mladek authored
    
    
    It seems that we have newer used the last byte in the ring buffer.  In
    fact, we have newer used the last 4 bytes because of padding.
    
    First problem is in the check for free space.  The exact number of free
    bytes is enough to store the length of data.
    
    Second problem is in the check where the ring buffer is rotated.  The
    left side counts the first unused index.  It is unused, so it might be
    the same as the size of the buffer.
    
    Note that the first problem has to be fixed together with the second
    one.  Otherwise, the buffer is rotated even when there is enough space
    on the end of the buffer.  Then the beginning of the buffer is rewritten
    and valid entries get corrupted.
    
    Signed-off-by: default avatarPetr Mladek <pmladek@suse.cz>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Michal Hocko <mhocko@suse.cz>
    Cc: Kay Sievers <kay@vrfy.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    39b25109