Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2431766imj; Mon, 18 Feb 2019 06:00:55 -0800 (PST) X-Google-Smtp-Source: AHgI3IZYh7MuVCJt+uxbQOgyGqVC8s+jLPfVabNbSaIvHvtRlKl0Zr6GTMc5HvkI7DXaYKcMu6WW X-Received: by 2002:a17:902:2966:: with SMTP id g93mr24852299plb.11.1550498455362; Mon, 18 Feb 2019 06:00:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550498455; cv=none; d=google.com; s=arc-20160816; b=dqQBaI7QssFwlpUyx8oWZnvNR6JgcdaxYuOmMitMBg3KOwN9zZhR63FiHKNY+aBRcL /Z+1CkdBVEDhTQAgo0vhvoFGvP0HAf/b1fmbxRXxo37e/rqVUDj40PguT1bsQHDKRDLb h6Fy1L9M1p+UjO2rHcosLH4tiDeXs7seYv/tMQTe02gp74cyL+Qq2aOaDi26V+hbGoWr GIxr5xRnvkBF8WGeX0ki79rcElk/vfuDo8SJFtEC3SukTljMTdtH5tt33Ot8aEYaE2p8 LgJ+SxEwBxMi5DdQBm0JPBb+zPuiQ5xWu1KVjKzT4xTNWCH7Geq7fNVz0DZc4lFNEyKs 4cTQ== 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=nROE3ZdfHsnWRmw6LzfW8D7XfP7Uz/r+aM/i/+yYpbI=; b=WhAaK3FFbTLgl6oL/WWJmH1HdG3OZdyfDmC5OpORVzO42ZE1zygZs4vYmfL6d/lTmR 85w0PLJUrGZucWgSG23j+lfDvgdhWQbxsSUQETdIk/3JkhMkS9PFAEmVMxYPphJNKYwa E3DYFZTNBB3T+GTDp87LyGbs8KHR2whPDjxDBC6LzZfzzfcjBch81ZGAw0wYZcc/ciDG J9gQK3JH/uZtqK6YzuNxWZ+r97YRSrAIFDO5z6b6Jzvm4rWc0KtBPL4r2RAno6t4zCQ2 mhYmFWmGfvvsZCjwBVGV8LxlxUWPL4nsKudeUdO1HcTfi3h/nixRNlDT/1XyLjc3UHY2 uwcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ybID3I6u; 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 g132si13869465pfb.23.2019.02.18.06.00.39; Mon, 18 Feb 2019 06:00:55 -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=ybID3I6u; 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 S2388686AbfBRN7v (ORCPT + 99 others); Mon, 18 Feb 2019 08:59:51 -0500 Received: from mail.kernel.org ([198.145.29.99]:40790 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388673AbfBRN7t (ORCPT ); Mon, 18 Feb 2019 08:59:49 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 175F62173C; Mon, 18 Feb 2019 13:59:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550498388; bh=kR216GrfSalPzPX82UrnXjeTki067F74faW46FXbyTI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ybID3I6uBMTdo1Ra7F00vKA6EFffge8HMCNRs7dEBFHvfGToLnoSJ5/EmDLpi8RXO WIv7B96RL2AhtJ17Phji5IFQdI49D/bnMRuP+zOnHQRSOUmow9UcNehB2aldaE/Urd ihrDaVd9HtLedYZVNwEQJGAjN0jiYGasn+eWmiEo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Eric Dumazet , James Hughes , Matthew Garrett , "David S. Miller" , Linus Walleij Subject: [PATCH 4.9 53/58] ch9200: use skb_cow_head() to deal with cloned skbs Date: Mon, 18 Feb 2019 14:44:14 +0100 Message-Id: <20190218133512.532827950@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190218133508.567416115@linuxfoundation.org> References: <20190218133508.567416115@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Eric Dumazet commit 6bc6895bdd6744e0136eaa4a11fbdb20a7db4e40 upstream. We need to ensure there is enough headroom to push extra header, but we also need to check if we are allowed to change headers. skb_cow_head() is the proper helper to deal with this. Fixes: 4a476bd6d1d9 ("usbnet: New driver for QinHeng CH9200 devices") Signed-off-by: Eric Dumazet Cc: James Hughes Cc: Matthew Garrett Signed-off-by: David S. Miller Signed-off-by: Linus Walleij Signed-off-by: Greg Kroah-Hartman --- drivers/net/usb/ch9200.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) --- a/drivers/net/usb/ch9200.c +++ b/drivers/net/usb/ch9200.c @@ -254,14 +254,9 @@ static struct sk_buff *ch9200_tx_fixup(s tx_overhead = 0x40; len = skb->len; - if (skb_headroom(skb) < tx_overhead) { - struct sk_buff *skb2; - - skb2 = skb_copy_expand(skb, tx_overhead, 0, flags); + if (skb_cow_head(skb, tx_overhead)) { dev_kfree_skb_any(skb); - skb = skb2; - if (!skb) - return NULL; + return NULL; } __skb_push(skb, tx_overhead);