From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86A70C43219 for ; Fri, 26 Apr 2019 02:32:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6A24E20685 for ; Fri, 26 Apr 2019 02:32:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="H0JsEbv0" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728905AbfDZCcO (ORCPT ); Thu, 25 Apr 2019 22:32:14 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:46741 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727204AbfDZCcJ (ORCPT ); Thu, 25 Apr 2019 22:32:09 -0400 Received: by mail-pg1-f193.google.com with SMTP id n2so801972pgg.13 for ; Thu, 25 Apr 2019 19:32:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8slzOhwecWc/TEIjHISX9VfMdnXaKQVb1CTWOb3nYiE=; b=H0JsEbv0Xxlb2OfWpCbyd8kA0++iEyJmHLGY+dNf/nFCZisLPVXUy1mwIdg1MLKiMH H5Cpbgiw+gz1ENPJfpKV7MTyNySV9Ig3dvj9thX3fFTNGk7Jbnatw37kZySK1MiMP9mu ND/KmcJnjHVHJZyj+ev1Vx1fdW2eQhXOV1bks= 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=8slzOhwecWc/TEIjHISX9VfMdnXaKQVb1CTWOb3nYiE=; b=McC0+psttjD1EMr7a/hbhYyfmW2bGQ/h3GO9kCf0A9clkdmW9nFKZ/CQz07VmL6MWx 6tbmLQ8Z4dJORWfols6jio0lyiYpkElz4g9rz8hyaKeoTb438Y04i8IUopvur5N7GQH3 RVA1ahzetoUDbJxV2m6oU8XrQGxcYq2jqb0hW+tw70BqPeIxrIxOQadkZ3EpC8b9nniw wO5WE5Iu2CzsqWENSK9w7Xk+SwWgtEUz5HdKNNCrpXjn/cITCoPk5K0NwSSC9MSNI2Wp dzngPeFkUjEu42kkFCqLvBjS6nlGuFXcHaRj0fFTc6TRgXUlwLcSAJxHnr5NnbVHlp+6 Df/Q== X-Gm-Message-State: APjAAAUWtMW1RuAVHKVQGtxxF7sB98jsPe8w6pt4nxhByHFrUOJN6eMZ GCdIodskDoem6hzJM7w9uHZWrA== X-Google-Smtp-Source: APXvYqyjF4WzEBAA4EhB/7QP/RDMbJWddi5aTJIBQvY98tThjMQ4hEigqpwHiuZRE3irohlsX2xljA== X-Received: by 2002:a65:4802:: with SMTP id h2mr37911445pgs.98.1556245928225; Thu, 25 Apr 2019 19:32:08 -0700 (PDT) Received: from localhost.localdomain.dhcp.broadcom.net ([192.19.223.250]) by smtp.gmail.com with ESMTPSA id n5sm25690368pgp.80.2019.04.25.19.32.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Apr 2019 19:32:07 -0700 (PDT) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Nathan Chancellor Subject: [PATCH net 6/6] bnxt_en: Fix uninitialized variable usage in bnxt_rx_pkt(). Date: Thu, 25 Apr 2019 22:31:55 -0400 Message-Id: <1556245915-5430-7-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1556245915-5430-1-git-send-email-michael.chan@broadcom.com> References: <1556245915-5430-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In bnxt_rx_pkt(), if the driver encounters BD errors, it will recycle the buffers and jump to the end where the uninitailized variable "len" is referenced. Fix it by adding a new jump label that will skip the length update. This is the most correct fix since the length may not be valid when we get this type of error. Fixes: 6a8788f25625 ("bnxt_en: add support for software dynamic interrupt moderation") Reported-by: Nathan Chancellor Cc: Nathan Chancellor Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index b6cb7b8..52ade13 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -1625,7 +1625,7 @@ static int bnxt_rx_pkt(struct bnxt *bp, struct bnxt_cp_ring_info *cpr, netdev_warn(bp->dev, "RX buffer error %x\n", rx_err); bnxt_sched_reset(bp, rxr); } - goto next_rx; + goto next_rx_no_len; } len = le32_to_cpu(rxcmp->rx_cmp_len_flags_type) >> RX_CMP_LEN_SHIFT; @@ -1706,12 +1706,13 @@ static int bnxt_rx_pkt(struct bnxt *bp, struct bnxt_cp_ring_info *cpr, rc = 1; next_rx: - rxr->rx_prod = NEXT_RX(prod); - rxr->rx_next_cons = NEXT_RX(cons); - cpr->rx_packets += 1; cpr->rx_bytes += len; +next_rx_no_len: + rxr->rx_prod = NEXT_RX(prod); + rxr->rx_next_cons = NEXT_RX(cons); + next_rx_no_prod_no_len: *raw_cons = tmp_raw_cons; -- 2.5.1