| From a4d768e702de224cc85e0c8eac9311763403b368 Mon Sep 17 00:00:00 2001 |
| From: Eric Sandeen <sandeen@sandeen.net> |
| Date: Mon, 22 May 2017 19:54:10 -0700 |
| Subject: xfs: fix unaligned access in xfs_btree_visit_blocks |
| |
| From: Eric Sandeen <sandeen@sandeen.net> |
| |
| commit a4d768e702de224cc85e0c8eac9311763403b368 upstream. |
| |
| This structure copy was throwing unaligned access warnings on sparc64: |
| |
| Kernel unaligned access at TPC[1043c088] xfs_btree_visit_blocks+0x88/0xe0 [xfs] |
| |
| xfs_btree_copy_ptrs does a memcpy, which avoids it. |
| |
| Signed-off-by: Eric Sandeen <sandeen@redhat.com> |
| Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> |
| Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| fs/xfs/libxfs/xfs_btree.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/xfs/libxfs/xfs_btree.c |
| +++ b/fs/xfs/libxfs/xfs_btree.c |
| @@ -4376,7 +4376,7 @@ xfs_btree_visit_blocks( |
| xfs_btree_readahead_ptr(cur, ptr, 1); |
| |
| /* save for the next iteration of the loop */ |
| - lptr = *ptr; |
| + xfs_btree_copy_ptrs(cur, &lptr, ptr, 1); |
| } |
| |
| /* for each buffer in the level */ |