From patchwork Tue Oct 17 12:32:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 826944 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yGZMp30Zhz9sBW for ; Tue, 17 Oct 2017 23:32:38 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758708AbdJQMcg (ORCPT ); Tue, 17 Oct 2017 08:32:36 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:26967 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752832AbdJQMcf (ORCPT ); Tue, 17 Oct 2017 08:32:35 -0400 Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v9HCWUxB032752 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Oct 2017 12:32:30 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id v9HCWU5m005856 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Oct 2017 12:32:30 GMT Received: from abhmp0003.oracle.com (abhmp0003.oracle.com [141.146.116.9]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v9HCWUuE006724; Tue, 17 Oct 2017 12:32:30 GMT Received: from mwanda (/197.254.35.146) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 17 Oct 2017 05:32:29 -0700 Date: Tue, 17 Oct 2017 15:32:17 +0300 From: Dan Carpenter To: Andreas Noever Cc: Michael Jamet , Mika Westerberg , Yehezkel Bernat , netdev@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [PATCH 1/2 v2 net-next] thunderbolt: Fix a couple right shifting to zero bugs Message-ID: <20171017123217.p3ctmptbrm75ys46@mwanda> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20171013112959.sc2pwazrpk7fxbtw@mwanda> X-Mailer: git-send-email haha only kidding User-Agent: NeoMutt/20170609 (1.8.3) X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The problematic code looks like this: res_seq = res_hdr->xd_hdr.length_sn & TB_XDOMAIN_SN_MASK; res_seq >>= TB_XDOMAIN_SN_SHIFT; TB_XDOMAIN_SN_SHIFT is 27, and right shifting a u8 27 bits is always going to result in zero. The fix is to declare these variables as u32. Fixes: d1ff70241a27 ("thunderbolt: Add support for XDomain discovery protocol") Signed-off-by: Dan Carpenter --- v2: I accidentally sent this through the wrong list, so I'm resending to netdev. Also Mika asked me to split it up because the Fixes tags are different for these patches. diff --git a/drivers/thunderbolt/xdomain.c b/drivers/thunderbolt/xdomain.c index 138027537d29..ff8d91189e99 100644 --- a/drivers/thunderbolt/xdomain.c +++ b/drivers/thunderbolt/xdomain.c @@ -56,7 +56,7 @@ static bool tb_xdomain_match(const struct tb_cfg_request *req, case TB_CFG_PKG_XDOMAIN_RESP: { const struct tb_xdp_header *res_hdr = pkg->buffer; const struct tb_xdp_header *req_hdr = req->request; - u8 req_seq, res_seq; + u32 req_seq, res_seq; if (pkg->frame.size < req->response_size / 4) return false; @@ -476,7 +476,7 @@ static void tb_xdp_handle_request(struct work_struct *work) struct tb_ctl *ctl = tb->ctl; const uuid_t *uuid; int ret = 0; - u8 sequence; + u32 sequence; u64 route; route = ((u64)xhdr->route_hi << 32 | xhdr->route_lo) & ~BIT_ULL(63); From patchwork Tue Oct 17 12:33:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 826945 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yGZNY6FmPz9sBW for ; Tue, 17 Oct 2017 23:33:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761750AbdJQMdP (ORCPT ); Tue, 17 Oct 2017 08:33:15 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:26500 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752634AbdJQMdO (ORCPT ); Tue, 17 Oct 2017 08:33:14 -0400 Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v9HCXB4R017696 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Oct 2017 12:33:12 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v9HCXBZp012997 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 17 Oct 2017 12:33:11 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v9HCXA1G007105; Tue, 17 Oct 2017 12:33:11 GMT Received: from mwanda (/197.254.35.146) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 17 Oct 2017 05:33:10 -0700 Date: Tue, 17 Oct 2017 15:33:01 +0300 From: Dan Carpenter To: Michael Jamet , Amir Levy Cc: Mika Westerberg , Yehezkel Bernat , netdev@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [PATCH 2/2 net-next] thunderbolt: Right shifting to zero bug in tbnet_handle_packet() Message-ID: <20171017123301.z6heqexdlo6lc52b@mwanda> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20171013112959.sc2pwazrpk7fxbtw@mwanda> X-Mailer: git-send-email haha only kidding User-Agent: NeoMutt/20170609 (1.8.3) X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There is a problem when we do: sequence = pkg->hdr.length_sn & TBIP_HDR_SN_MASK; sequence >>= TBIP_HDR_SN_SHIFT; TBIP_HDR_SN_SHIFT is 27, and right shifting a u8 27 bits is always going to result in zero. The fix is to declare these variables as u32. Fixes: e69b6c02b4c3 ("net: Add support for networking over Thunderbolt cable") Signed-off-by: Dan Carpenter Acked-by: Yehezkel Bernat diff --git a/drivers/net/thunderbolt.c b/drivers/net/thunderbolt.c index 1a7bc0bf4598..435854688a7a 100644 --- a/drivers/net/thunderbolt.c +++ b/drivers/net/thunderbolt.c @@ -394,7 +394,7 @@ static int tbnet_handle_packet(const void *buf, size_t size, void *data) struct tbnet *net = data; u32 command_id; int ret = 0; - u8 sequence; + u32 sequence; u64 route; /* Make sure the packet is for us */