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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 853A1CE7B1F for ; Fri, 29 Sep 2023 10:18:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232907AbjI2KSe (ORCPT ); Fri, 29 Sep 2023 06:18:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232800AbjI2KSd (ORCPT ); Fri, 29 Sep 2023 06:18:33 -0400 Received: from orbyte.nwl.cc (orbyte.nwl.cc [IPv6:2001:41d0:e:133a::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A9DA11A8 for ; Fri, 29 Sep 2023 03:18:30 -0700 (PDT) Received: from n0-1 by orbyte.nwl.cc with local (Exim 4.94.2) (envelope-from ) id 1qmAZo-0007LK-O1; Fri, 29 Sep 2023 12:18:28 +0200 Date: Fri, 29 Sep 2023 12:18:28 +0200 From: Phil Sutter To: Pablo Neira Ayuso Cc: Florian Westphal , netfilter-devel@vger.kernel.org Subject: Re: [nf PATCH v2 7/8] netfilter: nf_tables: Pass reset bit in nft_set_dump_ctx Message-ID: Mail-Followup-To: Phil Sutter , Pablo Neira Ayuso , Florian Westphal , netfilter-devel@vger.kernel.org References: <20230928165244.7168-1-phil@nwl.cc> <20230928165244.7168-8-phil@nwl.cc> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org On Fri, Sep 29, 2023 at 12:15:16PM +0200, Pablo Neira Ayuso wrote: > On Fri, Sep 29, 2023 at 12:08:18PM +0200, Phil Sutter wrote: > > On Thu, Sep 28, 2023 at 08:53:11PM +0200, Pablo Neira Ayuso wrote: > > > On Thu, Sep 28, 2023 at 06:52:43PM +0200, Phil Sutter wrote: > > > > Relieve the dump callback from having to check nlmsg_type upon each > > > > call. Prep work for set element reset locking. > > > > > > Maybe add this as a preparation patch first place in this series, > > > rather making this cleanup at this late stage of the batch. > > > > Sure, no problem. I extracted it from v1 of patch 8 and so they are > > closely related. > > > > Maybe I should split the series up in per-callback ones? I'd start with > > the getsetelem_reset one as that is most cumbersome it seems. > > Thanks. > > Side note: I also read a comment from Florian regarding the use of > ctx.table. You have to be very careful with what you cache in the dump > context area, since such pointer might just go away. > > So far this code caches was "careful" to cache only to check if the > table was still there, but iterating over the table list again > (another safer approach could be to use the table handle which is > unique). > > All this is also related to the chunked nature of netlink dumps > (in other words, userspace retrieves part of it in every > netlink_recvmsg() call). Good point. I think we may reduce all this to 'strdup(table->name)' and not care what happens in other CPUs. The only requirement is to cache table->family for audit logging also (IIRC). I'll give this a try.