XFRM: copy_to_user_kmaddress() reports local address twice
While adding support for MIGRATE/KMADDRESS in strongSwan (as specified in draft-ebalard-mext-pfkey-enhanced-migrate-00), Andreas Steffen noticed that XFRMA_KMADDRESS attribute passed to userland contains the local address twice (remote provides local address instead of remote one). This bug in copy_to_user_kmaddress() affects only key managers that use native XFRM interface (key managers that use PF_KEY are not affected). For the record, the bug was in the initial changeset I posted which added support for KMADDRESS (13c1d18931ebb5cf407cb348ef2cd6284d68902d 'xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate)'). Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Reported-by: Andreas Steffen <andreas.steffen@strongswan.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
55c8eb6c8e
commit
a1caa32295
@ -1816,7 +1816,7 @@ static int copy_to_user_kmaddress(struct xfrm_kmaddress *k, struct sk_buff *skb)
|
||||
uk.family = k->family;
|
||||
uk.reserved = k->reserved;
|
||||
memcpy(&uk.local, &k->local, sizeof(uk.local));
|
||||
memcpy(&uk.remote, &k->local, sizeof(uk.remote));
|
||||
memcpy(&uk.remote, &k->remote, sizeof(uk.remote));
|
||||
|
||||
return nla_put(skb, XFRMA_KMADDRESS, sizeof(uk), &uk);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user