{"id":2175244,"url":"http://patchwork.ozlabs.org/api/1.0/covers/2175244/?format=json","project":{"id":26,"url":"http://patchwork.ozlabs.org/api/1.0/projects/26/?format=json","name":"Netfilter Development","link_name":"netfilter-devel","list_id":"netfilter-devel.vger.kernel.org","list_email":"netfilter-devel@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<20251217162744.352391-1-mkoutny@suse.com>","date":"2025-12-17T16:27:32","name":"[0/4] Use __counted_by for ancestor arrays","submitter":{"id":74126,"url":"http://patchwork.ozlabs.org/api/1.0/people/74126/?format=json","name":"Michal Koutný","email":"mkoutny@suse.com"},"series":[{"id":485721,"url":"http://patchwork.ozlabs.org/api/1.0/series/485721/?format=json","date":"2025-12-17T16:27:32","name":"Use __counted_by for ancestor arrays","version":1,"mbox":"http://patchwork.ozlabs.org/series/485721/mbox/"}],"headers":{"Return-Path":"\n <netfilter-devel+bounces-10145-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","netfilter-devel@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256\n header.s=google header.b=UbGQDrg+;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-10145-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com\n header.b=\"UbGQDrg+\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.52","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=suse.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=suse.com"],"Received":["from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dWfRD26z9z1xty\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 18 Dec 2025 03:30:16 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 2D37C302CBAF\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 17 Dec 2025 16:30:13 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 010BE355038;\n\tWed, 17 Dec 2025 16:28:04 +0000 (UTC)","from mail-wm1-f52.google.com (mail-wm1-f52.google.com\n [209.85.128.52])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id EC85D34D4C1\n\tfor <netfilter-devel@vger.kernel.org>; Wed, 17 Dec 2025 16:28:00 +0000 (UTC)","by mail-wm1-f52.google.com with SMTP id\n 5b1f17b1804b1-47789cd2083so32819815e9.2\n        for <netfilter-devel@vger.kernel.org>;\n Wed, 17 Dec 2025 08:28:00 -0800 (PST)","from blackdock.suse.cz (nat2.prg.suse.com. [195.250.132.146])\n        by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-4310adeee0esm5728364f8f.29.2025.12.17.08.27.58\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Wed, 17 Dec 2025 08:27:58 -0800 (PST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1765988883; cv=none;\n b=PX9gMzad6/1D45ligvrlu88iJkNBg4viZxHlSgeC3yfoFEx8tiEwHoKQVqj0sZGlVM0s2JcBHKLJl7caWHYOb9p/Vd6TSvtSsOOB8WGF1zy+3u2icezsP3fpBL3XCcscHnKT4DqwdXjL9j5rJE1SxftdmR3jmdIEmwFZwtquS14=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1765988883; c=relaxed/simple;\n\tbh=0v6GiZwQmw10VgYg7XmvF5rjkeue5FWN8L2ipdtQVmk=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type;\n b=c0KQKCrEqLWmNUsMmjDhoWuY/EEKMuIOXHbGYdNtWYfboQnq98d8SQqjf92PE/IUaFnoNry/Ydj48u+95rhNeL8vajy299aLZHv6aDd/6e9v35qzIItbXlEB9g7P8R6XQn8FPZADydIzjWELWmYPGEs90hfIjn+lb9JrPE5dxgs=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=suse.com;\n spf=pass smtp.mailfrom=suse.com;\n dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com\n header.b=UbGQDrg+; arc=none smtp.client-ip=209.85.128.52","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=suse.com; s=google; t=1765988879; x=1766593679;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=AUIBRQ1EfMgD4rZghNrrxsliWBknI9gTPJQu3bDLcJY=;\n        b=UbGQDrg+UUeEvVqqTzNHHL2CAtmr0I9eivMDfiPs4dvksQdkDU/B3/wR9FEybrFdHr\n         SgIjdbP6RwhsIXv5PHq85HSnQFzcXVHnTKEStgGDukUaTAYffZ4OOz6dtGN1coTVe9FO\n         Nehe2UuFXP6JgfANpbTmZK4g+WlyNCbIMgGcsLes3wNE3khOOdj7mNbWAcWsu+5PjlkQ\n         9+URkf7nYwCCb5XIlw3QHFKkzA9OnvR6QP/5eil33+qX9EZRYOuR4wlL5GM+Ay/sqnGv\n         Jr4mfbsJdqrdkWD6uyWFIOvjMcABh1LW7b5DWRBxnP5rg6R4V2AHdYMWnYBuIaRN+gLy\n         72sQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20230601; t=1765988879; x=1766593679;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=AUIBRQ1EfMgD4rZghNrrxsliWBknI9gTPJQu3bDLcJY=;\n        b=aEFAy5O0Pzz1OwdddRVP9dR9Eq8P9MvGnscEJ5RTOB+kmq3AfJviJe0pagYnOSmnzB\n         A44mQtCqQcd+BXNPV8NHkx80B1shjucvqAj/rdOsmxUSdvSnWm7hgA3inRlF4VFnAtAh\n         X8/vZzo1Re/tX7MG73K+bWc2fB66gyGVQ+OhEQUQURREqgK+L0N8a0n5MVr1+ZOO6UjK\n         xcJ1hkzGHHU26+6M+hLfPsBjRV+ZHUQZF6X1d8cT3W3I6nISIxORrf8LosXD5KQpKY+V\n         LqpoDaBzGOnLJCtR+FPPMso3qGzqPmYLdoqhISni6r4q3u/dH1vpzG/qP3wje6TF8l2S\n         +BQA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVJats5k3wUrrTT4BYyn0akVoWG5UQllNi3A0HM50k59kzwM8C3KhVLTaEjbGmKduhwbkicn0+BzsLIRNF8fUk=@vger.kernel.org","X-Gm-Message-State":"AOJu0Yze9Q4fdTq4oahXzrE9+b95WmMnYILKuYVQj4tJvYBSH8xDIEON\n\twaKuWwJel6m4+E7hq65KsNhmwN7h3ijL1xULdx0X/LoruGaUFLxwbHmTuQH0MxhNnjc=","X-Gm-Gg":"AY/fxX5GDnbk5DCCHRZSjEkH/kn/ovAcVCMwT5QvHdVR8qoCEnnnAHHgfk9TiXR6HXM\n\tSCFYfoLA+iqZKDLnbWPhf2hzOwiob9Oi82jBLr4X3RRu+OQXHFbLtfwupC6qDS0+7/8A8whoKq9\n\twHWUKxk07UP/2kAL165wdfnBpgNggr7gMOnhpFQ8Ox+5XeCqQydPG3MuC4ZdGjt4iPhiB3PFJ9r\n\tKesSxl/oteXc6SWKYb9ybn30qiNB4CirhSmCDS2342Hj5wKXgxF82HKQ0DuFI1Pnmb7DSZ4tgMh\n\t3Rz5jjGM5G9M5VLk5mKyQqvVBAF9UwtlQy6EfaqMMSHT6MUDu/9UdD/2EJQVAKMlB7h7cRzvEqP\n\tfs4z170qsRvoz/g1ZCfrZn2LN3q8kElkxeiaODAsuwl9D3s9AooqEPeWA8JdzPTIx8VPot1bfTv\n\t9OsXlZL6IFHLtXTspF+D3cxoD8bRM6o5c=","X-Google-Smtp-Source":"\n AGHT+IHGmMOUEefQoO5S3en43Zsul1QO3grq/W53kRWnWoSN5JrVJ1XTvQBX4MbJYn1xXsNPaQdx7A==","X-Received":"by 2002:a05:600c:5298:b0:46e:1a5e:211 with SMTP id\n 5b1f17b1804b1-47bdf5f0e9dmr21345875e9.21.1765988879254;\n        Wed, 17 Dec 2025 08:27:59 -0800 (PST)","From":"=?utf-8?q?Michal_Koutn=C3=BD?= <mkoutny@suse.com>","To":"linux-block@vger.kernel.org,\n\tbpf@vger.kernel.org,\n\tlinux-trace-kernel@vger.kernel.org,\n\tnetfilter-devel@vger.kernel.org,\n\tnetdev@vger.kernel.org,\n\tcoreteam@netfilter.org,\n\tlinux-hardening@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tcgroups@vger.kernel.org","Cc":"=?utf-8?q?Michal_Koutn=C3=BD?= <mkoutny@suse.com>,\n Hao Luo <haoluo@google.com>,\n Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,\n Alexei Starovoitov <ast@kernel.org>, Phil Sutter <phil@nwl.cc>,\n Yonghong Song <yonghong.song@linux.dev>, Jens Axboe <axboe@kernel.dk>,\n Jozsef Kadlecsik <kadlec@netfilter.org>,\n Steven Rostedt <rostedt@goodmis.org>,\n Martin KaFai Lau <martin.lau@linux.dev>, KP Singh <kpsingh@kernel.org>,\n Eric Dumazet <edumazet@google.com>, Florian Westphal <fw@strlen.de>,\n Jiri Olsa <jolsa@kernel.org>, Stanislav Fomichev <sdf@fomichev.me>,\n Song Liu <song@kernel.org>, \"David S. Miller\" <davem@davemloft.net>,\n Simon Horman <horms@kernel.org>, John Fastabend <john.fastabend@gmail.com>,\n Johannes Weiner <hannes@cmpxchg.org>, Daniel Borkmann <daniel@iogearbox.net>,\n Andrii Nakryiko <andrii@kernel.org>, Tejun Heo <tj@kernel.org>,\n Josef Bacik <josef@toxicpanda.com>, Paolo Abeni <pabeni@redhat.com>,\n \"Gustavo A. R. Silva\" <gustavoars@kernel.org>,\n Pablo Neira Ayuso <pablo@netfilter.org>,\n Eduard Zingerman <eddyz87@gmail.com>, Yu Kuai <yukuai@fnnas.com>,\n Masami Hiramatsu <mhiramat@kernel.org>, Kees Cook <kees@kernel.org>,\n Jakub Kicinski <kuba@kernel.org>","Subject":"[PATCH 0/4] Use __counted_by for ancestor arrays","Date":"Wed, 17 Dec 2025 17:27:32 +0100","Message-ID":"<20251217162744.352391-1-mkoutny@suse.com>","X-Mailer":"git-send-email 2.52.0","Precedence":"bulk","X-Mailing-List":"netfilter-devel@vger.kernel.org","List-Id":"<netfilter-devel.vger.kernel.org>","List-Subscribe":"<mailto:netfilter-devel+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:netfilter-devel+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit"},"content":"The trick with utilizing space in cgroup_root for cgroup::ancetors flex\narray was an obstacle for kernel reworks for\n-Wflex-array-member-not-at-end.\n\nThe first patch fixes that, then I wanted to utilize __counted_by for\nthis flex array which required some more rework how cgroup level is\nevaluated.\n\nSimilar flex array is also in struct ioc_gq where it was tempting to\nsimply use __counted_by(level), however, this would be off-by-one as it\nhas semantics like cgroup's level (0 == root).\nProper adjustment for __counted_by() would either need similar\nlevel/ancestor helpers or abstracted macros for ancestors up/down\niterations.\n\nI only made a simple comment fixup since I'm not sure about benefit of\n__counted_by for structs that aren't sized based on direct user input.\n\nMichal Koutný (4):\n  cgroup: Eliminate cgrp_ancestor_storage in cgroup_root\n  cgroup: Introduce cgroup_level() helper\n  cgroup: Use __counted_by for cgroup::ancestors\n  blk-iocost: Correct comment ioc_gq::level\n\n block/bfq-iosched.c           |  2 +-\n block/blk-iocost.c            |  6 ++---\n include/linux/cgroup-defs.h   | 43 +++++++++++++++++++----------------\n include/linux/cgroup.h        | 18 ++++++++++++---\n include/trace/events/cgroup.h |  8 +++----\n kernel/bpf/helpers.c          |  2 +-\n kernel/cgroup/cgroup.c        |  9 ++++----\n net/netfilter/nft_socket.c    |  2 +-\n 8 files changed, 53 insertions(+), 37 deletions(-)\n\n\nbase-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8"}