[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