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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 53E07C433F5 for ; Thu, 18 Nov 2021 04:50:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3A34461B39 for ; Thu, 18 Nov 2021 04:50:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243055AbhKRExD (ORCPT ); Wed, 17 Nov 2021 23:53:03 -0500 Received: from mail.kernel.org ([198.145.29.99]:42048 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243045AbhKREw6 (ORCPT ); Wed, 17 Nov 2021 23:52:58 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 18D1361AA9; Thu, 18 Nov 2021 04:49:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1637210998; bh=EdrBJtFyZU7Qsg46P7CP2x6ybwCyntc4rOKfRN5PTCQ=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=PmzPjN/jxDGfJftekaTpHykA7zQk2URTVYqxqz9gXuHOoXVjRAKxwVSOYfRnsW9l+ lLSEMrhv/MPzmXZEwcIyWTV7J2rQbsI6C+yOWwuqI5/IHLzpp+raDDL90D621AN8j9 po40W2jKmfAdtfk2Iunz6QjyySIapO7YYovfnew7st3mLlGvXX1tbKC+Xzh5IpbLE3 tGiTBdnDaoI87yyoz7uVgRu1TYP/i6NYk2QawfY+eHnj5hBl74LYmMfcz7tnaDfMjc DOACU3B5zLCX9GjPo8tTqte/v8wGBDduCwfVzc43KXelAppK8Zr7VYVZLLj6muKZcL 4IeY5EpVgFG6w== Date: Wed, 17 Nov 2021 20:49:56 -0800 From: Jakub Kicinski To: Leon Romanovsky Cc: "David S . Miller" , Leon Romanovsky , Alexandre Belloni , Andrew Lunn , Aya Levin , Claudiu Manoil , drivers@pensando.io, Florian Fainelli , Ido Schimmel , intel-wired-lan@lists.osuosl.org, Ioana Ciornei , Jesse Brandeburg , Jiri Pirko , linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org, Michael Chan , netdev@vger.kernel.org, oss-drivers@corigine.com, Saeed Mahameed , Shannon Nelson , Simon Horman , Taras Chornyi , Tariq Toukan , Tony Nguyen , UNGLinuxDriver@microchip.com, Vivien Didelot , Vladimir Oltean Subject: Re: [PATCH net-next 5/6] devlink: Reshuffle resource registration logic Message-ID: <20211117204956.6a36963b@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: <6176a137a4ded48501e8a06fda0e305f9cfc787c.1637173517.git.leonro@nvidia.com> References: <6176a137a4ded48501e8a06fda0e305f9cfc787c.1637173517.git.leonro@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 17 Nov 2021 20:26:21 +0200 Leon Romanovsky wrote: > - top_hierarchy = parent_resource_id == DEVLINK_RESOURCE_ID_PARENT_TOP; > - > - mutex_lock(&devlink->lock); > - resource = devlink_resource_find(devlink, NULL, resource_id); > - if (resource) { > - err = -EINVAL; > - goto out; > - } > + WARN_ON(devlink_resource_find(devlink, NULL, resource_id)); This is not atomic with the add now. > resource = kzalloc(sizeof(*resource), GFP_KERNEL); > if (!resource) { > @@ -9851,7 +9843,17 @@ int devlink_resource_register(struct devlink *devlink, > goto out; > } > > - if (top_hierarchy) { > + resource->name = resource_name; > + resource->size = resource_size; > + resource->size_new = resource_size; > + resource->id = resource_id; > + resource->size_valid = true; > + memcpy(&resource->size_params, size_params, > + sizeof(resource->size_params)); > + INIT_LIST_HEAD(&resource->resource_list); > + > + mutex_lock(&devlink->lock);