• Alex Elder's avatar
    printk: tweak do_syslog() to match comments · e97e1267
    Alex Elder authored
    In do_syslog() there's a path used by kmsg_poll() and kmsg_read() that
    only needs to know whether there's any data available to read (and not
    its size).  These callers only check for non-zero return.  As a
    shortcut, do_syslog() returns the difference between what has been
    logged and what has been "seen."
    
    The comments say that the "count of records" should be returned but it's
    not.  Instead it returns (log_next_idx - syslog_idx), which is a
    difference between buffer offsets--and the result could be negative.
    
    The behavior is the same (it'll be zero or not in the same cases), but
    the count of records is more meaningful and it matches what the comments
    say.  So change the code to return that.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Cc: Petr Mladek <pmladek@suse.cz>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Joe Perches <joe@perches.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e97e1267
printk.c 75.8 KB