xfrm: Fix unaligned access to stats in copy_to_user_state()
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Wed, 21 Oct 2015 15:48:25 +0000 (11:48 -0400)
committerSteffen Klassert <steffen.klassert@secunet.com>
Fri, 23 Oct 2015 04:49:29 +0000 (06:49 +0200)
commite33d4f13d21e9f604194ebc8730077ff39916c50
tree8a23a63e2b4240124c3ee55addf0c1e59fba00eb
parentc386578f1cdb4dac230395a951f88027f64346e3
xfrm: Fix unaligned access to stats in copy_to_user_state()

On sparc, deleting established SAs (e.g., by restarting ipsec)
results in unaligned access messages via xfrm_del_sa ->
km_state_notify -> xfrm_send_state_notify().

Even though struct xfrm_usersa_info is aligned on 8-byte boundaries,
netlink attributes are fundamentally only 4 byte aligned, and this
cannot be changed for nla_data() that is passed up to userspace.
As a result, the put_unaligned() macro needs to be used to
set up potentially unaligned fields such as the xfrm_stats in
copy_to_user_state()

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_user.c
This page took 0.024689 seconds and 5 git commands to generate.