• Wu Fengguang's avatar
    vmstat: fix offset calculation on void* · ff8b16d7
    Wu Fengguang authored
    Fix regression introduced by commit 79da826a ("writeback: report
    dirty thresholds in /proc/vmstat").
    
    The incorrect pointer arithmetic can result in problems like this:
    
      BUG: unable to handle kernel paging request at 07c06d16
      IP: [<c050c336>] strnlen+0x6/0x20
      Call Trace:
       [<c050a249>] ? string+0x39/0xe0
       [<c042be6b>] ? __wake_up_common+0x4b/0x80
       [<c050afcc>] ? vsnprintf+0x1ec/0x380
       [<c04b380e>] ? seq_printf+0x2e/0x60
       [<c04829a6>] ? vmstat_show+0x26/0x30
       [<c04b3bb6>] ? seq_read+0xa6/0x380
       [<c04b3b10>] ? seq_read+0x0/0x380
       [<c04d5d2f>] ? proc_reg_read+0x5f/0x90
       [<c049c4a1>] ? vfs_read+0xa1/0x140
       [<c04d5cd0>] ? proc_reg_read+0x0/0x90
       [<c049c981>] ? sys_read+0x41/0x70
       [<c0402bd0>] ? sysenter_do_call+0x12/0x26
    Reported-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Cc: Michael Rubin <mrubin@google.com>
    Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ff8b16d7
vmstat.c 29.3 KB