[rds-devel] [PATCH v2] net/rds: fix unaligned memory access
David Miller
davem at davemloft.net
Sun May 3 20:39:19 PDT 2015
From: David Ahern <david.ahern at oracle.com>
Date: Thu, 30 Apr 2015 20:58:07 -0400
> From: shamir rabinovitch <shamir.rabinovitch at oracle.com>
>
> rdma_conn_param private data is copied using memcpy after headers such
> as cma_hdr (see cma_resolve_ib_udp as example). so the start of the
> private data is aligned to the end of the structure that come before. if
> this structure end with u32 the meaning is that the start of the private
> data will be 4 bytes aligned. structures that use u8/u16/u32/u64 are
> naturally aligned but in case the structure start is not 8 bytes aligned,
> all u64 members of this structure will not be aligned. to solve this issue
> we must use special macros that allow unaligned access to those
> unaligned members.
>
> Addresses the following kernel log seen when attempting to use RDMA:
>
> Kernel unaligned access at TPC[10507a88] rds_ib_cm_connect_complete+0x1bc/0x1e0 [rds_rdma]
>
> Acked-by: Chien Yen <chien.yen at oracle.com>
> Signed-off-by: shamir rabinovitch <shamir.rabinovitch at oracle.com>
> [Minor tweaks for top of tree by:]
> Signed-off-by: David Ahern <david.ahern at oracle.com>
Applied, thanks.
More information about the rds-devel
mailing list