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=-7.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no 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 96EEDC2D0A3 for ; Thu, 5 Nov 2020 00:38:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 29D7420BED for ; Thu, 5 Nov 2020 00:38:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604536726; bh=sjNjOJHO0NGjiUqAB0P25+fWUu6Ubi1Y9pli2T2hipk=; h=Subject:From:To:Cc:Date:In-Reply-To:References:List-ID:From; b=knbQk8/OkCn8k5FvjcKDShADGkw3BWNEg3dikplTE52fWx3AAhH4Rz5rRGoKhrSwc vZWYDAmH2YN8c5utpGQuGYDfYYpMJsEgUUaf7sfhl2B3j1BC130pLhJaLlsiEKm2x2 h8pjN8j9acfxP76jAz0HWv65+AyPuuRt8c3V3rd4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387449AbgKEAip (ORCPT ); Wed, 4 Nov 2020 19:38:45 -0500 Received: from mail.kernel.org ([198.145.29.99]:50538 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726608AbgKEAip (ORCPT ); Wed, 4 Nov 2020 19:38:45 -0500 Received: from sx1.lan (c-24-6-56-119.hsd1.ca.comcast.net [24.6.56.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1FC202080D; Thu, 5 Nov 2020 00:38:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604536724; bh=sjNjOJHO0NGjiUqAB0P25+fWUu6Ubi1Y9pli2T2hipk=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=SeyXtvLkjuSU2kk/gDAxvzF9kiB7shbkzwC+VR8GUTCwyIBQT0dK8nMP41TERAJrP PUfjVd/2fWZ9uEoGoSlBEM6gA+GuJGoa0Fmns3cEWfbSoxl6oMk5oaBRgrPZWLYdBn v7e4YC2qm03mpWubbXGYLp81wO4h8AFxwFQUgjgc= Message-ID: Subject: Re: [net-next 09/12] net/mlx5e: Validate stop_room size upon user input From: Saeed Mahameed To: Jakub Kicinski Cc: netdev@vger.kernel.org, "David S. Miller" , Vladyslav Tarasiuk , Tariq Toukan Date: Wed, 04 Nov 2020 16:38:43 -0800 In-Reply-To: <20201104140256.1b65e751@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> References: <20201103194738.64061-1-saeedm@nvidia.com> <20201103194738.64061-10-saeedm@nvidia.com> <20201104140256.1b65e751@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.36.5 (3.36.5-1.fc32) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Wed, 2020-11-04 at 14:02 -0800, Jakub Kicinski wrote: > On Tue, 3 Nov 2020 11:47:35 -0800 Saeed Mahameed wrote: > > From: Vladyslav Tarasiuk > > > > Stop room is a space that may be taken by WQEs in the SQ during a > > packet > > transmit. It is used to check if next packet has enough room in the > > SQ. > > Stop room guarantees this packet can be served and if not, the > > queue is > > stopped, so no more packets are passed to the driver until it's > > ready. > > > > Currently, stop_room size is calculated and validated upon tx > > queues > > allocation. This makes it impossible to know if user provided valid > > input for certain parameters when interface is down. > > > > Instead, store stop_room in mlx5e_sq_param and create > > mlx5e_validate_params(), to validate its fields upon user input > > even > > when the interface is down. > > > > Signed-off-by: Vladyslav Tarasiuk > > Reviewed-by: Tariq Toukan > > Signed-off-by: Saeed Mahameed > > 32 bit build wants you to use %zd or such: > We do not test 32 bit. Will fix this, Thanks. > drivers/net/ethernet/mellanox/mlx5/core/en/params.c: In function > ‘mlx5e_validate_params’: > drivers/net/ethernet/mellanox/mlx5/core/en/params.c:182:72: warning: > format ‘%lu’ expects argument of type ‘long unsigned int’, but > argument 4 has type ‘size_t’ {aka ‘unsigned int’} [-Wformat=] > 182 | netdev_err(priv->netdev, "Stop room %hu is bigger than the > SQ size %lu\n", > | > ~~^ > | > | > | > long unsigned int > | > %u > 183 | stop_room, sq_size); > | ~~~~~~~ > > | | > | size_t {aka unsigned int}