From patchwork Tue Nov 8 00:57:22 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Maciej_=C5=BBenczykowski?= X-Patchwork-Id: 124231 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.180.67]) by ozlabs.org (Postfix) with ESMTP id 7414E1007D4 for ; Tue, 8 Nov 2011 11:57:52 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753808Ab1KHA5k (ORCPT ); Mon, 7 Nov 2011 19:57:40 -0500 Received: from mail-qy0-f174.google.com ([209.85.216.174]:61423 "EHLO mail-qy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752937Ab1KHA5j (ORCPT ); Mon, 7 Nov 2011 19:57:39 -0500 Received: by mail-qy0-f174.google.com with SMTP id 27so3070970qyk.19 for ; Mon, 07 Nov 2011 16:57:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=XVRBmLa+6TV2lYfX1VEjQNtZpuoD8L9y4Q5h3nVZSXc=; b=xijF3Cq6NB++MhENGe9VWjudGjXiKTYaKbCnyMWCrCY+10xkJ0KbBzH5LW6BoJnxGC Bm8bPL/fErRzJ8GfBCEuL/c0WcX/YTvVlJDJvx00qd0du6xv/lldq6S+3yqrKfcHng8H lRaOkXPzRub+hX4ILz1DkAxx30is6fk3S81Fo= Received: by 10.68.17.7 with SMTP id k7mr3438980pbd.20.1320713859351; Mon, 07 Nov 2011 16:57:39 -0800 (PST) Received: from localhost.localdomain (sugar.mtv.corp.google.com [172.22.97.53]) by mx.google.com with ESMTPS id wf19sm1131850pbb.17.2011.11.07.16.57.38 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 07 Nov 2011 16:57:38 -0800 (PST) From: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= To: =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Cc: netdev@vger.kernel.org, =?UTF-8?q?Maciej=20=C5=BBenczykowski?= Subject: [PATCH 2/2] net: make ipv6 PKTINFO honour freebind Date: Mon, 7 Nov 2011 16:57:22 -0800 Message-Id: <1320713842-21152-2-git-send-email-zenczykowski@gmail.com> X-Mailer: git-send-email 1.7.3.1 In-Reply-To: References: MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Maciej Żenczykowski This just makes it possible to spoof source IPv6 address on a socket without having to create and bind a new socket for every source IP we wish to spoof. Signed-off-by: Maciej Żenczykowski --- net/ipv6/datagram.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c index e248069..83037af 100644 --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c @@ -654,7 +654,7 @@ int datagram_send_ctl(struct net *net, struct sock *sk, if (addr_type != IPV6_ADDR_ANY) { int strict = __ipv6_addr_src_scope(addr_type) <= IPV6_ADDR_SCOPE_LINKLOCAL; - if (!inet_sk(sk)->transparent && + if (!(inet_sk(sk)->freebind || inet_sk(sk)->transparent) && !ipv6_chk_addr(net, &src_info->ipi6_addr, strict ? dev : NULL, 0)) err = -EINVAL;