Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp3058998ybh; Mon, 5 Aug 2019 11:15:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqxYh0oM01vzWfF4An1SU8Jdh3zpFYwSDt2OjjGFyghFWsDwu9uzl6kOlSm7cqdrz65PxeFS X-Received: by 2002:a17:902:6b85:: with SMTP id p5mr140952177plk.225.1565028938386; Mon, 05 Aug 2019 11:15:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565028938; cv=none; d=google.com; s=arc-20160816; b=wOnoAzEYCJksb/IjaLjBAL0GIx4KUOmT9T5dCtmi0KZJ573oBsviShw9+AIawy4MTT S4hfReyzMPmPmdR9pdrEmLYSuKT2PxDpIV364lsP2ZckGwhN9yKaaMU+5ZFHdl8K/Vms qJzdw+az2vMsLAVdyEJJYCwdPImBPG7EQWacZebzx+Wh0G0EFe3r+NUtVEsgUhugttLH Qgj1lENXagI1vB66tbYroSIWOLAh8TDixQuY9ei71Af47sqYzbEtF6lwN6Zkk4aIRnIG 1/E6YbbyXy6Z6rjGVkL3Rn2xRZ7pENm310J1wBLZLjqi7S3RZTqeUlBTZLW5SYsmUzX/ 9n6w== 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 :references:in-reply-to:from:subject:cc:to:message-id:date; bh=vMaI8ojoFBcU07hwxlNsPoily2ob3Fr6fhegC1jzIPY=; b=sOFxBlEHmRsq4QIY0C3F+9QpEzZYLJobGGUxQbfQ6E3bZRomZMp7J1VLvA7II51ZP6 Zv2A37zhA4DyhPI8fhzOwtu6KFDJEHdObZOG7kTwdJL8U/Z/a/eLooL53UEualppvQ+v 5G2AhRwBILhtjkExeuP17o5EeBbbLCQWGiS3SUhim81zKUw/mqiLdqlZt9wtYU/6HNKt 0khvXyLZpYlE/vwKnwkO3b/Cx7FynGqj7j+HzcBcWCHWktdGv3twr3ncQYr8gDosd/4e eInhH06Nlk+LYkk8ZHywdkww7XQnP+u3YKTOCiHB6+M0qDyGc4suA9pMX9caFC6zDj7w Wd2g== 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 t143si17435147pgb.542.2019.08.05.11.15.21; Mon, 05 Aug 2019 11:15:38 -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 S1730080AbfHESOJ (ORCPT + 99 others); Mon, 5 Aug 2019 14:14:09 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:60212 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728686AbfHESOJ (ORCPT ); Mon, 5 Aug 2019 14:14:09 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::d71]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 8F6DE1540C725; Mon, 5 Aug 2019 11:14:06 -0700 (PDT) Date: Mon, 05 Aug 2019 11:14:05 -0700 (PDT) Message-Id: <20190805.111405.1284530866900143643.davem@davemloft.net> To: cai@lca.pw Cc: saeedm@mellanox.com, tariqt@mellanox.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] net/mlx5e: always initialize frag->last_in_page From: David Miller In-Reply-To: <1564667574-31542-1-git-send-email-cai@lca.pw> References: <1564667574-31542-1-git-send-email-cai@lca.pw> X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 05 Aug 2019 11:14:09 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Qian Cai Date: Thu, 1 Aug 2019 09:52:54 -0400 > The commit 069d11465a80 ("net/mlx5e: RX, Enhance legacy Receive Queue > memory scheme") introduced an undefined behaviour below due to > "frag->last_in_page" is only initialized in mlx5e_init_frags_partition() > when, > > if (next_frag.offset + frag_info[f].frag_stride > PAGE_SIZE) > > or after bailed out the loop, > > for (i = 0; i < mlx5_wq_cyc_get_size(&rq->wqe.wq); i++) > > As the result, there could be some "frag" have uninitialized > value of "last_in_page". > > Later, get_frag() obtains those "frag" and check "frag->last_in_page" in > mlx5e_put_rx_frag() and triggers the error during boot. Fix it by always > initializing "frag->last_in_page" to "false" in > mlx5e_init_frags_partition(). ... > Fixes: 069d11465a80 ("net/mlx5e: RX, Enhance legacy Receive Queue memory scheme") > Signed-off-by: Qian Cai Applied and queued up for -stable.