Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2095064ybl; Thu, 30 Jan 2020 11:16:00 -0800 (PST) X-Google-Smtp-Source: APXvYqwkFzkLt1pWMg29QCZfBm1Uq0kPT9D9eoRwSo9V0GfacWukfvOHY+1Sd9bSLvEZth9YNjy6 X-Received: by 2002:a9d:7e8c:: with SMTP id m12mr4900667otp.346.1580411760731; Thu, 30 Jan 2020 11:16:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580411760; cv=none; d=google.com; s=arc-20160816; b=QaqACbF/iTbr9zDgPia1Xy4R+9MjYtj9uNJQ0Xn49sNILMFG8Oy++lB0OKeE/b82ML Jief0V2FiRr53+EukdbLENkduy0nplpw9huK3UUZlN98C7hPN3ecrJEyOnHnxxFDgSSK DKri/S4LFSQI7zkD8nrujoXPtm2iovM1FAr9HiFZmbiDBEEtErMBPFN71zwgbaRuuBtt ABfTJvVamFz8rlYQ+B+w6iBs9e2wCZrgIqwPRu+LEYZk7ymwkvMASaFoCVdkhB/40VB6 6WA0x9k7sxQn1SvcDUQr6GTj+uslTjGIgQ8xOZQOCvjvEopYQGAlDv6m1mCtxw0LWAzm eWyQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KXaKHLX4xnLViF2MHH72E7ttyvUuCPK6y4Hx4gUOOQc=; b=oNZQ3OoNWHz71tKv6cLRz5Zh9gRd36XHbVg5ACDBjRsNsuKiVVXOIaa00/8TZdY3iZ tfMpW8yiTxlEjYWbXY7Mb6EhPSwufa4jIJ7M80cufsjEZZhWnGBbuSrQtjqPMSwZdL+8 oR48CepGIGRJahPAfMTMWT7xcIo+c8WtKHaopQkN/izFazos+EpCfBW6ZPsqGiipvHYD 9sGGrp/Lg1wbj/EGyrrTmeCEr0TGfL46npQnKGywtGVrbPOT/bsJ7xeT7dF/0rV/jAhH PwhTZvb1edl0RyaM3RZ5ijiW/tykqZWOwfgtD4DNzSD7giuipevTqHTCQspSZcLg9HjR xuFw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vQOm8WGx; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 14si3326606oie.181.2020.01.30.11.15.48; Thu, 30 Jan 2020 11:16:00 -0800 (PST) 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=@kernel.org header.s=default header.b=vQOm8WGx; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730281AbgA3Sl5 (ORCPT + 99 others); Thu, 30 Jan 2020 13:41:57 -0500 Received: from mail.kernel.org ([198.145.29.99]:50014 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730270AbgA3Sl4 (ORCPT ); Thu, 30 Jan 2020 13:41:56 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CB40E2465B; Thu, 30 Jan 2020 18:41:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580409715; bh=5x8PPQJiNKA7767tXvocesBKsxHI1hUir67V25xNjqs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vQOm8WGxJd9mRdUnxT1HsrZnWJqJvKArxx+qBdHV7LoaKqk5QMyDM0jmCcq2Hw1Co rEJeFskKG6rFgvjHzI7O1hN7qfDT/xNJh4N02bQkrnk/+5+v+9mR1wIfnjdkwfI44r OjdFrakkn+DU/cBN1A2sKsir209fLPk132GDCthA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lorenzo Bianconi , Jesper Dangaard Brouer , Ilias Apalodimas , "David S. Miller" Subject: [PATCH 5.5 40/56] net: socionext: fix possible user-after-free in netsec_process_rx Date: Thu, 30 Jan 2020 19:38:57 +0100 Message-Id: <20200130183616.324057835@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200130183608.849023566@linuxfoundation.org> References: <20200130183608.849023566@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Lorenzo Bianconi [ Upstream commit b5e82e3c89c78ee0407ea8e8087af5519b6c7bae ] Fix possible use-after-free in in netsec_process_rx that can occurs if the first packet is sent to the normal networking stack and the following one is dropped by the bpf program attached to the xdp hook. Fix the issue defining the skb pointer in the 'budget' loop Fixes: ba2b232108d3c ("net: netsec: add XDP support") Signed-off-by: Lorenzo Bianconi Acked-by: Jesper Dangaard Brouer Acked-by: Ilias Apalodimas Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/socionext/netsec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/net/ethernet/socionext/netsec.c +++ b/drivers/net/ethernet/socionext/netsec.c @@ -929,7 +929,6 @@ static int netsec_process_rx(struct nets struct netsec_rx_pkt_info rx_info; enum dma_data_direction dma_dir; struct bpf_prog *xdp_prog; - struct sk_buff *skb = NULL; u16 xdp_xmit = 0; u32 xdp_act = 0; int done = 0; @@ -943,6 +942,7 @@ static int netsec_process_rx(struct nets struct netsec_de *de = dring->vaddr + (DESC_SZ * idx); struct netsec_desc *desc = &dring->desc[idx]; struct page *page = virt_to_page(desc->addr); + struct sk_buff *skb = NULL; u32 xdp_result = XDP_PASS; u16 pkt_len, desc_len; dma_addr_t dma_handle;