]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
xfs: only trace buffer items if they exist
authorDave Chinner <dchinner@redhat.com>
Mon, 9 Feb 2015 22:23:40 +0000 (09:23 +1100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 6 Mar 2015 22:57:16 +0000 (14:57 -0800)
commitb1d3ed10df50c11dcc6d9718efb42952d9efa2de
tree0fb7d7c795be5753787bfff9939474febd427f92
parent853e146c6ceb22840d4ed7679a5bff6b5c4f8308
xfs: only trace buffer items if they exist

commit e9892d3cc853afdda2cc69e2576d9ddb5fafad71 upstream.

The commit 2d3d0c5 ("xfs: lobotomise xfs_trans_read_buf_map()") left
a landmine in the tracing code: trace_xfs_trans_buf_read() is now
call on all buffers that are read through this interface rather than
just buffers in transactions. For buffers outside transaction
context, bp->b_fspriv is null, and so the buf log item tracing
functions cannot be called. This causes a NULL pointer dereference
in the trace_xfs_trans_buf_read() function when tracing is turned
on.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/xfs/xfs_trans_buf.c