From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f179.google.com ([209.85.217.179]:35023 "EHLO mail-lb0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751951AbaJ0Lnh (ORCPT ); Mon, 27 Oct 2014 07:43:37 -0400 Received: by mail-lb0-f179.google.com with SMTP id w7so920212lbi.38 for ; Mon, 27 Oct 2014 04:43:36 -0700 (PDT) From: Alexander Aring Subject: [PATCH bluetooth-next 01/16] mac802154: tx: use put_unaligned_le16 for copy crc Date: Mon, 27 Oct 2014 12:42:54 +0100 Message-Id: <1414410189-20092-2-git-send-email-alex.aring@gmail.com> In-Reply-To: <1414410189-20092-1-git-send-email-alex.aring@gmail.com> References: <1414410189-20092-1-git-send-email-alex.aring@gmail.com> Sender: linux-wpan-owner@vger.kernel.org List-ID: To: linux-wpan@vger.kernel.org Cc: kernel@pengutronix.de, Alexander Aring This patch replaces the memcpy with a put_unaligned_le16. The placement of crc inside of PSDU can also be unaligned. With memcpy this can fail on some architectures. Signed-off-by: Alexander Aring Reported-by: Marcel Holtmann --- net/mac802154/tx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/mac802154/tx.c b/net/mac802154/tx.c index fe2e17e..31e51e4 100644 --- a/net/mac802154/tx.c +++ b/net/mac802154/tx.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -84,9 +85,9 @@ ieee802154_tx(struct ieee802154_local *local, struct sk_buff *skb) mac802154_monitors_rx(local, skb); if (!(local->hw.flags & IEEE802154_HW_OMIT_CKSUM)) { - __le16 crc = cpu_to_le16(crc_ccitt(0, skb->data, skb->len)); + u16 crc = crc_ccitt(0, skb->data, skb->len); - memcpy(skb_put(skb, 2), &crc, 2); + put_unaligned_le16(crc, skb_put(skb, 2)); } if (skb_cow_head(skb, local->hw.extra_tx_headroom)) -- 2.1.2