From patchwork Tue Feb 2 16:16:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Loic Poulain X-Patchwork-Id: 374636 Delivered-To: patch@linaro.org Received: by 2002:a17:906:48d2:0:0:0:0 with SMTP id d18csp338826ejt; Tue, 2 Feb 2021 08:12:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJxiNV7//21cEJEhssJVwJNdOnx7y6CZgvYvBIbf2vwp7tXEteboxVcIa10rkC1EO8fVgTev X-Received: by 2002:a05:6402:10ce:: with SMTP id p14mr24316903edu.261.1612282322070; Tue, 02 Feb 2021 08:12:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612282322; cv=none; d=google.com; s=arc-20160816; b=hZX6p8zOVnWDnQKL45VwokNmThQebYBfNUtbK/OGNmcl4KoY21OTlwRxClkFeyoqxB aaJc0P/9pVCOE8rjSYUd3r7ImC3qu5+DrpIfSM7iCSQs5F5px7fXt6Uo11hCdKpwOXmy WKbhXEpnKzvlEdmnhlJ0SW5jpX921ym+dP2rgsNxBwadqVySNB2kdPEriC8V4T+GCMDw 3KMKtk3kdpTANJn/dBNVnhTo5HrD2w6z3sDZN0NtWLk2l02FKA2pW3uW2cmTP2RbENsX Bj0B6vxBKUSz1dusRMHVZAnc+QSS3eLeP5jgGA6cIHYEX4aJZkmmhuiq9elZyxbLq6iv HyEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=YN/6Ava32WxBGn762wuDrCY8IUGtDZjss5W6LAtfN1M=; b=J9UZQD1XrV7adDxP1ABxn1Rmdx+TKQsCjANSrR4a3t5X1ReZxyGCKM4h01g7xsK131 toSsIejoei+eqVPIwjJgC+yIklZlDuAunvg2ywNevWQY6Ub3FxjgPhW3q7/ITnfeGLHB wnfWWEhHK3/5ZpTw4lGpAqU7zXcj2dx9MWJeWQnDHPT3FWud1Gxa9LOh5OFRBsiKeZ8m CZyyMjCWtu1rhVbX+/toYkoXeXgqxz8QJpSVNtF8g/AV6BiLvNCpJLMQM1wWyb3XWvwJ ECpBlfKjqTjujh5UwNoYjhpyZ9LsCIUTKM1e06hlPte8G8hyP3VA1IzTYxAs4Lmua5Y8 NGsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="AYKk/ile"; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si12832662ejh.49.2021.02.02.08.12.01; Tue, 02 Feb 2021 08:12:02 -0800 (PST) Received-SPF: pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="AYKk/ile"; spf=pass (google.com: domain of netdev-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=netdev-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236100AbhBBQLT (ORCPT + 7 others); Tue, 2 Feb 2021 11:11:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235874AbhBBQJL (ORCPT ); Tue, 2 Feb 2021 11:09:11 -0500 Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FEA5C0613ED for ; Tue, 2 Feb 2021 08:08:30 -0800 (PST) Received: by mail-wm1-x329.google.com with SMTP id j11so2165028wmi.3 for ; Tue, 02 Feb 2021 08:08:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YN/6Ava32WxBGn762wuDrCY8IUGtDZjss5W6LAtfN1M=; b=AYKk/ileFI7PNo79nhx+39cSceU5+W5ywf7Epw7g8EZpj3KqBUjlEYY82Wx8Is5PwM EtjlYHdUtJ3XF8nczNueEiJYqTTslRz4Ne6ohIltWXOckTG9SLH0BFIy7e72tn1OOue0 D83AkIjy4jFHeC4AjO6/PO+0RCfxfcZIPNxA+IQxCX4HkwVzx1q1cNHGQUzjzQ3l/fWs bYS/lEATHKhcFYflrqcrcn6zRCWzgJVmWAsoobYGpQx9Mm01vCQkX13vOK7y+7boQ4g2 48XcjgUkWwZ8jgq3uHY4leab5ezBis2nLB375CULj4FSFu/R7azJJjiQRfK/AJK1LfK2 1mxg== 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:in-reply-to :references; bh=YN/6Ava32WxBGn762wuDrCY8IUGtDZjss5W6LAtfN1M=; b=sn4zrm/KwqbqTxPXs3DFXhEkdMqOqbZQ2pPK4VW9sV2kdBuNVwdZaArc3Whbpy38zi uOFQavTKecKxDzJSU5lvgCNqK6gmPbQvdAq3q9jaUxAHEzTq9ZXjQ5lxkdxkSoWCg0DG O3Y/rg/Q8XIf8tjS/OADkQHpuCo4DX+O+NKJAzzaGxVB/zbmEHnx0nbPber+3zuRr4WZ W1VBiWLcuN/PrI8ViaU8vu6JLB8hPaepaFT+q9PZQ+7jbhR7zSRoEnM2IfnXWPmPyL8m 2vxMwJyLd2fALQwJIRqkTtPAZnKyurDoBcpYIeeyGjk/KNsbZuG6/YFtCccEdDCqa1e2 ABxQ== X-Gm-Message-State: AOAM530K+t/9CIidPpsFPBtvjgs1ZBCfDfKvikAm1ZT+pa+PwMYcasQN cKACz/LII8n6Cl1ofwnn1+LYJw== X-Received: by 2002:a1c:2e04:: with SMTP id u4mr4391698wmu.79.1612282109043; Tue, 02 Feb 2021 08:08:29 -0800 (PST) Received: from localhost.localdomain ([88.122.66.28]) by smtp.gmail.com with ESMTPSA id y6sm3900491wma.19.2021.02.02.08.08.28 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Feb 2021 08:08:28 -0800 (PST) From: Loic Poulain To: kuba@kernel.org, davem@davemloft.net Cc: willemdebruijn.kernel@gmail.com, netdev@vger.kernel.org, stranche@codeaurora.org, subashab@codeaurora.org, Loic Poulain Subject: [PATCH net-next v2 2/2] net: qualcomm: rmnet: Fix rx_handler for non-linear skbs Date: Tue, 2 Feb 2021 17:16:08 +0100 Message-Id: <1612282568-14094-2-git-send-email-loic.poulain@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1612282568-14094-1-git-send-email-loic.poulain@linaro.org> References: <1612282568-14094-1-git-send-email-loic.poulain@linaro.org> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There is no guarantee that rmnet rx_handler is only fed with linear skbs, but current rmnet implementation does not check that, leading to crash in case of non linear skbs processed as linear ones. Fix that by ensuring skb linearization before processing. Signed-off-by: Loic Poulain --- v2: Add this patch to the series to prevent crash drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.4 Acked-by: Willem de Bruijn Reviewed-by: Subash Abhinov Kasiviswanathan diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c index 3d7d3ab..2776c32 100644 --- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c @@ -180,7 +180,7 @@ rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb) struct rmnet_port *port; struct net_device *dev; - if (!skb) + if (!skb || skb_linearize(skb)) goto done; if (skb->pkt_type == PACKET_LOOPBACK)