From patchwork Mon Nov 3 09:23:27 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnaud Ebalard X-Patchwork-Id: 6892 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id CEE94DDDF3 for ; Mon, 3 Nov 2008 20:25:29 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754785AbYKCJZR (ORCPT ); Mon, 3 Nov 2008 04:25:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754772AbYKCJZQ (ORCPT ); Mon, 3 Nov 2008 04:25:16 -0500 Received: from moog.chdir.org ([88.191.42.160]:53870 "EHLO moog.chdir.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754640AbYKCJZN (ORCPT ); Mon, 3 Nov 2008 04:25:13 -0500 Received: from [2001:7a8:78df:2:20d:93ff:fe55:8f78] (helo=localhost.localdomain) by moog.chdir.org with esmtpsa (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1KwvgM-0000CE-DP; Mon, 03 Nov 2008 10:25:10 +0100 X-Hashcash: 1:20:081103:davem@davemloft.net::6XVBaLNEKPX7vVpB:0000000000000000000000000000000000000000000zya X-Hashcash: 1:20:081103:netdev@vger.kernel.org::5JJSrCMlkzcoIFMr:0000000000000000000000000000000000000001jyY X-Hashcash: 1:20:081103:andreas.steffen@strongswan.org::Yre/cjfL7lkJD03e:00000000000000000000000000000004C1P X-Hashcash: 1:20:081103:martin@strongswan.org::Y+t95xrKVaEYtp8Q:00000000000000000000000000000000000000000gng From: arno@natisbad.org (Arnaud Ebalard) To: David Miller Cc: netdev@vger.kernel.org, Andreas Steffen , Martin Willi Subject: [BUG, PATCH] XFRM: copy_to_user_kmaddress() reports local address twice X-PGP-Key-URL: http://natisbad.org/arno@natisbad.org.asc X-Fingerprint: 47EB 85FE B99A AB85 FD09 46F3 0255 957C 047A 5026 Date: Mon, 03 Nov 2008 10:23:27 +0100 Message-ID: <87vdv5uprk.fsf@natisbad.org> User-Agent: Gnus/5.110009 (No Gnus v0.9) Emacs/22.2 (gnu/linux) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi David, Stupid bug, sorry for that. Attached patch is against current net-2.6. Cheers, a+ 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). Signed-off-by: Arnaud Ebalard Reported-by: Andreas Steffen --- net/xfrm/xfrm_user.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 4a8a1ab..a278a6f 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -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); }