Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp36718yba; Mon, 20 May 2019 04:34:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqyL3A85pyHXkeUC9+KaHvYBcsKVElt+I/2WeOrpp5jwK8kpKroY4Z9AT9LkFRCJr6oi4Jxq X-Received: by 2002:a63:6848:: with SMTP id d69mr76243081pgc.0.1558352048008; Mon, 20 May 2019 04:34:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558352047; cv=none; d=google.com; s=arc-20160816; b=SrBtXU6/Gc6bz5vF5ORYo4pPnRc//WsB1mAN5VIidhxMK1U+PzuIJYYuRtogGBs02T 6qTshlB+M/fxgWoqdFWnVy26q8XC790hwTb3RLaB8maIzlMi9rmi1xMYisrqKBM+WukE ltXy1j1D8c3GCS5rWOp+t+PLF80WapTA69csWc8Sauth9FYLoL5JXakv/B6/ydtdTguD FxhsZx1vnXR/y7MDmebWTCtKskZWPm+Rg1fmL+aaDC4ziHnzt1bTBk36Y7wXoSZXULNP 5eemEzWYFtuavlJgMuBOJ9skF67yRIMf9aQrJZwLO32U0cSvZ9MA76egLsMXbPtyoLa8 DTOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=BikJ1LqRGkhlGlmQU7THI1KaCDjHN3UGQHGSJZ6WA6g=; b=UYUTVJpBFwS+Bq8DwSn4Ssdn+1HC3cn17vDBKsFPBjjp8GFKBfUZU9Aq16LH/fhm+9 535xSBOVh8rK9PRPzlijfbu+aj19NWnYzULxY2rNPgePPEDVr4DLdH0fVZGY5h+mxq3M C0oSBEZpEML6ut/pw5nkF07hOKVJ8uprHU2GADe56aiv94F6DtQO0lEMMIk7bLbyTcFE EBu83CxYlAk3ZfNyTZRS6xRiy053xQuxdjIzA7hvShXHW0CV/scU3O5zQZ0T/+GCySAf LybOjFH35F5GuFRyQVrn1va+XHRjz2sSXZNrSaLwIBn2ek6yTT4Ajs4+UwdDvxa4D8hq KTNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=J3MG2YP0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v14si18943786pfa.252.2019.05.20.04.33.53; Mon, 20 May 2019 04:34:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=J3MG2YP0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732212AbfETJdD (ORCPT + 99 others); Mon, 20 May 2019 05:33:03 -0400 Received: from mail-pg1-f196.google.com ([209.85.215.196]:40483 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729030AbfETJdD (ORCPT ); Mon, 20 May 2019 05:33:03 -0400 Received: by mail-pg1-f196.google.com with SMTP id d30so6518566pgm.7; Mon, 20 May 2019 02:33:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BikJ1LqRGkhlGlmQU7THI1KaCDjHN3UGQHGSJZ6WA6g=; b=J3MG2YP03SsO1qXFGAn18jiLeOIAZKbuUAmVf8TReg9hr8zgctqHFzViHxpq2gC0tY 36pvwXRsbT/4UCMYRnfO9qEMu11ogdiZyszY6xfl3EHJV1shVwKI3pjY3PX2Pl8XcrP+ 6GPs3ujoS6y+08+8yvK9RK8grOWM9nQL4l4ywllQFmpkpn9rtiCIBAZZiA3PkN/m2rFM j4gyCECQkqM2GMKeRoAlBs2GBWjSrflpZZowYoiSQQ0fXdEtVfZuYLNEFrtzmPI3neUC JWVtug+EtI3GGNZxDbIyyx2rict/Oe5SDrtO/WqbAQ9r7fUxfXeghj8S50Un3VkAkohX 3ZGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BikJ1LqRGkhlGlmQU7THI1KaCDjHN3UGQHGSJZ6WA6g=; b=gE/ugULGr0JlST60PrqpdNAGoRrIIUSa0+A5qiYagqJxBjLc7UFFMOjxYDxhkAXQwI KftenFbMSXzvvuxmFjqcleY6oWfPaa+BQnInbDpGMm3N+DVtO4s8HP5+bo5kceaXflZF udQRNJa627W/xpKXGm/8C+s+Qca4zwgERyXl70gB2RsZEW7XyawxMYHR3YAABTYYLhAO XxSY2zZZ6NiJG+Ht3jtuf2lqRxpIQpHmr/YFpTD3EaLRxuTApIJKfnRNXKP8zjp7q3FS W40y0F4IA6grSVSyJsAnCgJzQ3OuPlOtTJAG5PRYkULD/D/y0lWTcAbwMEybIplzvE9m 49EA== X-Gm-Message-State: APjAAAXotKEhBuUB/+abobMbUVRbL0Pmrx++ryXnbpD12XuqU9q7Z8Gj jdt/wg0x1GV/AN5xTMU6ccQRhLpYp0w= X-Received: by 2002:a63:d016:: with SMTP id z22mr75145505pgf.116.1558344782769; Mon, 20 May 2019 02:33:02 -0700 (PDT) Received: from localhost.localdomain ([27.61.168.215]) by smtp.googlemail.com with ESMTPSA id f36sm17649707pgb.76.2019.05.20.02.32.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 May 2019 02:33:02 -0700 (PDT) From: Anirudh Gupta X-Google-Original-From: Anirudh Gupta To: Steffen Klassert Cc: Anirudh Gupta , Herbert Xu , "David S. Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net] xfrm: Fix xfrm sel prefix length validation Date: Mon, 20 May 2019 15:01:56 +0530 Message-Id: <20190520093157.59825-1-anirudh.gupta@sophos.com> X-Mailer: git-send-email 2.19.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Family of src/dst can be different from family of selector src/dst. Use xfrm selector family to validate address prefix length, while verifying new sa from userspace. Validated patch with this command: ip xfrm state add src 1.1.6.1 dst 1.1.6.2 proto esp spi 4260196 \ reqid 20004 mode tunnel aead "rfc4106(gcm(aes))" \ 0x1111016400000000000000000000000044440001 128 \ sel src 1011:1:4::2/128 sel dst 1021:1:4::2/128 dev Port5 Fixes: 07bf7908950a ("xfrm: Validate address prefix lengths in the xfrm selector.") Signed-off-by: Anirudh Gupta --- net/xfrm/xfrm_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index eb8d14389601..fc2a8c08091b 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -149,7 +149,7 @@ static int verify_newsa_info(struct xfrm_usersa_info *p, int err; err = -EINVAL; - switch (p->family) { + switch (p->sel.family) { case AF_INET: if (p->sel.prefixlen_d > 32 || p->sel.prefixlen_s > 32) goto out; -- 2.19.0