Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2324932imm; Fri, 7 Sep 2018 14:41:32 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZjdFCD4al8FT9s8gnPY5nwNOjKzrBLt9TxXtzpUCVbFn4ijIlB3vYlxyR9jL0dB3lp3QNH X-Received: by 2002:a62:1f11:: with SMTP id f17-v6mr10757956pff.168.1536356492226; Fri, 07 Sep 2018 14:41:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536356492; cv=none; d=google.com; s=arc-20160816; b=MhY6zMT5bhxnIk42sQ6mMJGBNXJ8Cx5lHFMSeqdmLS7BrTTM7z0Ea1pwXB89velVYp u/yM8NU+AEZ3fKHn2Uw6SisK14ekbKF6dRZws5d2gt+HVZMYsGNidq2VoaRdPSfWtIAm 89oex8buqax1cRv02LSrNj/N43CDoCEVeBIYEdFP97su9a3Fhj/ypDVbC71m5YqGC3gL rnaStXHPKtYj0+RbaBAGYCX2TmU3kW0+NN1BCzBOsYQ6Da2eZjTIBUemaKbY3KTGHYsr 1e/Hv+eFZa9diRR0iIOXWz8E3QBTRoIzxGQr/ZW4A/6MnW4fk7kOjLdCooA1Iz/sMbPz 9CQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from; bh=AGr01emHlCbh3SdW1phuyM59Ln13r2JKHCfOgN1D5Is=; b=oPPVNjJzzTv55DOOsmMC2NnyUzjJdutxcw68okZF51Y+6hrH4aRQ7dVz3Xwh6rjvMz SUZk0SxnDgltpHou16PXbhz0RC6dZXvJJBBhKXMf6DHiSDkDNgg14tSSR3wbSifwzEI6 RZIVQGN68exkAKfKeAUFOGW1tNRZ4OadIQVU1nzFksIGImIIdIvrr7trb+KsHA2xbUTJ xe6/gQomM0V/Aq9ETp7vvqbt1P3DZ+zYGptsfIoqJHWASOyBTdOBcuVCTS7Y6zC58aaz Wm6mwKtm/y0G5eyvz/NDiISCu5xlViDDoJIpCHtDG4MVqDoqjZK8po4vuoOyxCMg96b+ tEiQ== ARC-Authentication-Results: i=1; mx.google.com; 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 n5-v6si10058593pgg.572.2018.09.07.14.41.17; Fri, 07 Sep 2018 14:41:32 -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; 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 S1730080AbeIHCWp (ORCPT + 99 others); Fri, 7 Sep 2018 22:22:45 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:52848 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727850AbeIHCWo (ORCPT ); Fri, 7 Sep 2018 22:22:44 -0400 Received: from localhost (ip-213-127-74-90.ip.prioritytelecom.net [213.127.74.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 74924E9A; Fri, 7 Sep 2018 21:39:50 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, David Palma , Rabi Narayan Sahoo , Alexander Aring , Stefan Schmidt Subject: [PATCH 4.4 02/47] net: mac802154: tx: expand tailroom if necessary Date: Fri, 7 Sep 2018 23:09:58 +0200 Message-Id: <20180907210904.776221337@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180907210904.607934824@linuxfoundation.org> References: <20180907210904.607934824@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Alexander Aring commit f9c52831133050c6b82aa8b6831c92da2bbf2a0b upstream. This patch is necessary if case of AF_PACKET or other socket interface which I am aware of it and didn't allocated the necessary room. Reported-by: David Palma Reported-by: Rabi Narayan Sahoo Cc: stable@vger.kernel.org Signed-off-by: Alexander Aring Signed-off-by: Stefan Schmidt Signed-off-by: Greg Kroah-Hartman --- net/mac802154/tx.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) --- a/net/mac802154/tx.c +++ b/net/mac802154/tx.c @@ -72,8 +72,21 @@ ieee802154_tx(struct ieee802154_local *l int ret; if (!(local->hw.flags & IEEE802154_HW_TX_OMIT_CKSUM)) { - u16 crc = crc_ccitt(0, skb->data, skb->len); + struct sk_buff *nskb; + u16 crc; + if (unlikely(skb_tailroom(skb) < IEEE802154_FCS_LEN)) { + nskb = skb_copy_expand(skb, 0, IEEE802154_FCS_LEN, + GFP_ATOMIC); + if (likely(nskb)) { + consume_skb(skb); + skb = nskb; + } else { + goto err_tx; + } + } + + crc = crc_ccitt(0, skb->data, skb->len); put_unaligned_le16(crc, skb_put(skb, 2)); }