Hi Sebastian, kernel test robot noticed the following build warnings: [auto build test WARNING on net-next/main] url: https://github.com/intel-lab-lkp/linux/commits/Sebastian-Andrzej-Siewior/netfilter-Make-xt_table-private-RCU-protected/20250216-210418 base: net-next/main patch link: https://lore.kernel.org/r/20250216125135.3037967-3-bigeasy%40linutronix.de patch subject: [PATCH net-next 2/3] netfilter: Split the xt_counters type between kernel and user. config: i386-buildonly-randconfig-001-20250216 (https://download.01.org/0day-ci/archive/20250216/202502162342.iQ248XrR-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250216/202502162342.iQ248XrR-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202502162342.iQ248XrR-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> net/netfilter/x_tables.c:1912: warning: Function parameter or struct member 'xt_pad' not described in 'xt_percpu_counter_alloc' >> net/netfilter/x_tables.c:1912: warning: Excess function parameter 'counter' description in 'xt_percpu_counter_alloc' vim +1912 net/netfilter/x_tables.c 2e4e6a17af35be Harald Welte 2006-01-12 1887 f28e15bacedd44 Florian Westphal 2016-11-22 1888 /** f28e15bacedd44 Florian Westphal 2016-11-22 1889 * xt_percpu_counter_alloc - allocate x_tables rule counter f28e15bacedd44 Florian Westphal 2016-11-22 1890 * ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1891 * @state: pointer to xt_percpu allocation state f28e15bacedd44 Florian Westphal 2016-11-22 1892 * @counter: pointer to counter struct inside the ip(6)/arpt_entry struct f28e15bacedd44 Florian Westphal 2016-11-22 1893 * f28e15bacedd44 Florian Westphal 2016-11-22 1894 * On SMP, the packet counter [ ip(6)t_entry->counters.pcnt ] will then f28e15bacedd44 Florian Westphal 2016-11-22 1895 * contain the address of the real (percpu) counter. f28e15bacedd44 Florian Westphal 2016-11-22 1896 * f28e15bacedd44 Florian Westphal 2016-11-22 1897 * Rule evaluation needs to use xt_get_this_cpu_counter() helper f28e15bacedd44 Florian Westphal 2016-11-22 1898 * to fetch the real percpu counter. f28e15bacedd44 Florian Westphal 2016-11-22 1899 * ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1900 * To speed up allocation and improve data locality, a 4kb block is 9ba5c404bf1d62 Ben Hutchings 2018-03-29 1901 * allocated. Freeing any counter may free an entire block, so all 9ba5c404bf1d62 Ben Hutchings 2018-03-29 1902 * counters allocated using the same state must be freed at the same 9ba5c404bf1d62 Ben Hutchings 2018-03-29 1903 * time. ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1904 * ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1905 * xt_percpu_counter_alloc_state contains the base address of the ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1906 * allocated page and the current sub-offset. ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1907 * f28e15bacedd44 Florian Westphal 2016-11-22 1908 * returns false on error. f28e15bacedd44 Florian Westphal 2016-11-22 1909 */ ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1910 bool xt_percpu_counter_alloc(struct xt_percpu_counter_alloc_state *state, e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1911 struct xt_counter_pad *xt_pad) f28e15bacedd44 Florian Westphal 2016-11-22 @1912 { e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1913 union xt_counter_k *xt_cnt = (union xt_counter_k *)xt_pad; e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1914 e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1915 BUILD_BUG_ON(XT_PCPU_BLOCK_SIZE < (sizeof(struct xt_counters_k) * 2)); e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1916 BUILD_BUG_ON(sizeof(struct xt_counters_k) != sizeof(struct xt_counters)); e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1917 BUILD_BUG_ON(sizeof(struct xt_counters_k) != sizeof(struct xt_counter_pad)); f28e15bacedd44 Florian Westphal 2016-11-22 1918 f28e15bacedd44 Florian Westphal 2016-11-22 1919 if (nr_cpu_ids <= 1) f28e15bacedd44 Florian Westphal 2016-11-22 1920 return true; f28e15bacedd44 Florian Westphal 2016-11-22 1921 ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1922 if (!state->mem) { ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1923 state->mem = __alloc_percpu(XT_PCPU_BLOCK_SIZE, ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1924 XT_PCPU_BLOCK_SIZE); ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1925 if (!state->mem) f28e15bacedd44 Florian Westphal 2016-11-22 1926 return false; ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1927 } e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1928 xt_cnt->pcpu = state->mem + state->off; e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1929 state->off += sizeof(struct xt_counters_k); e99ca3c3e3ed04 Sebastian Andrzej Siewior 2025-02-16 1930 if (state->off > (XT_PCPU_BLOCK_SIZE - sizeof(struct xt_counters_k))) { ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1931 state->mem = NULL; ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1932 state->off = 0; ae0ac0ed6fcf5a Florian Westphal 2016-11-22 1933 } f28e15bacedd44 Florian Westphal 2016-11-22 1934 return true; f28e15bacedd44 Florian Westphal 2016-11-22 1935 } f28e15bacedd44 Florian Westphal 2016-11-22 1936 EXPORT_SYMBOL_GPL(xt_percpu_counter_alloc); f28e15bacedd44 Florian Westphal 2016-11-22 1937 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki