[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202411262240.7uamxDkb-lkp@intel.com>
Date: Tue, 26 Nov 2024 23:01:41 +0800
From: kernel test robot <lkp@...el.com>
To: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>
Subject: drivers/net/ethernet/intel/i40e/i40e_ddp.c:53:1: warning: the frame
size of 1040 bytes is larger than 1024 bytes
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7eef7e306d3c40a0c5b9ff6adc9b273cc894dbd5
commit: cdc594e00370e153c323cf8aa9c43b66679e09a0 i40e: Implement DDP support in i40e driver
date: 6 years ago
config: xtensa-allyesconfig (https://download.01.org/0day-ci/archive/20241126/202411262240.7uamxDkb-lkp@intel.com/config)
compiler: xtensa-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241126/202411262240.7uamxDkb-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411262240.7uamxDkb-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/net/tcp.h:23,
from drivers/net/ethernet/intel/i40e/i40e.h:7,
from drivers/net/ethernet/intel/i40e/i40e_ddp.c:4:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/xtensa/include/asm/page.h:182:16: warning: comparison of unsigned expression in '>= 0' is always true [-Wtype-limits]
182 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
| ^~
include/linux/compiler.h:77:45: note: in definition of macro 'unlikely'
77 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:9: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
arch/xtensa/include/asm/page.h:190:33: note: in expansion of macro 'pfn_valid'
190 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
| ^~~~~~~~~
include/linux/scatterlist.h:143:17: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
In file included from ./arch/xtensa/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/xtensa/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/skbuff.h:19,
from include/linux/tcp.h:21,
from include/net/tcp.h:24:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/xtensa/include/asm/page.h:182:16: warning: comparison of unsigned expression in '>= 0' is always true [-Wtype-limits]
182 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
| ^~
include/asm-generic/bug.h:148:34: note: in definition of macro 'WARN_ON_ONCE'
148 | int __ret_warn_once = !!(condition); \
| ^~~~~~~~~
include/linux/dma-mapping.h:359:26: note: in expansion of macro 'pfn_valid'
359 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
| ^~~~~~~~~
drivers/net/ethernet/intel/i40e/i40e_ddp.c: In function 'i40e_ddp_does_profile_exist':
drivers/net/ethernet/intel/i40e/i40e_ddp.c:49:70: warning: array subscript i is outside array bounds of 'struct i40e_profile_info[0]' [-Warray-bounds=]
49 | if (i40e_ddp_profiles_eq(pinfo, &profile_list->p_info[i]))
| ~~~~~~~~~~~~~~~~~~~~^~~
drivers/net/ethernet/intel/i40e/i40e.h:338:34: note: while referencing 'p_info'
338 | struct i40e_profile_info p_info[0];
| ^~~~~~
In function 'i40e_ddp_profiles_eq',
inlined from 'i40e_ddp_does_profile_exist' at drivers/net/ethernet/intel/i40e/i40e_ddp.c:49:7:
drivers/net/ethernet/intel/i40e/i40e_ddp.c:20:38: warning: array subscript i is outside array bounds of 'struct i40e_profile_info[0]' [-Warray-bounds=]
20 | !memcmp(&a->version, &b->version, sizeof(a->version)) &&
| ^~~~~~~~~~~
drivers/net/ethernet/intel/i40e/i40e.h: In function 'i40e_ddp_does_profile_exist':
drivers/net/ethernet/intel/i40e/i40e.h:338:34: note: while referencing 'p_info'
338 | struct i40e_profile_info p_info[0];
| ^~~~~~
In function 'i40e_ddp_profiles_eq',
inlined from 'i40e_ddp_does_profile_exist' at drivers/net/ethernet/intel/i40e/i40e_ddp.c:49:7:
drivers/net/ethernet/intel/i40e/i40e_ddp.c:21:35: warning: array subscript i is outside array bounds of 'struct i40e_profile_info[0]' [-Warray-bounds=]
21 | !memcmp(&a->name, &b->name, I40E_DDP_NAME_SIZE);
| ^~~~~~~~
drivers/net/ethernet/intel/i40e/i40e.h: In function 'i40e_ddp_does_profile_exist':
drivers/net/ethernet/intel/i40e/i40e.h:338:34: note: while referencing 'p_info'
338 | struct i40e_profile_info p_info[0];
| ^~~~~~
>> drivers/net/ethernet/intel/i40e/i40e_ddp.c:53:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
53 | }
| ^
drivers/net/ethernet/intel/i40e/i40e_ddp.c: In function 'i40e_ddp_does_profile_overlap':
drivers/net/ethernet/intel/i40e/i40e_ddp.c:104:21: warning: array subscript i is outside array bounds of 'struct i40e_profile_info[0]' [-Warray-bounds=]
104 | if (i40e_ddp_profiles_overlap(pinfo,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105 | &profile_list->p_info[i]))
| ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/intel/i40e/i40e.h:338:34: note: while referencing 'p_info'
338 | struct i40e_profile_info p_info[0];
| ^~~~~~
drivers/net/ethernet/intel/i40e/i40e_ddp.c:109:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
109 | }
| ^
vim +53 drivers/net/ethernet/intel/i40e/i40e_ddp.c
23
24 /**
25 * i40e_ddp_does_profile_exist - checks if DDP profile loaded already
26 * @hw: HW data structure
27 * @pinfo: DDP profile information structure
28 *
29 * checks if DDP profile loaded already.
30 * Returns >0 if the profile exists.
31 * Returns 0 if the profile is absent.
32 * Returns <0 if error.
33 **/
34 static int i40e_ddp_does_profile_exist(struct i40e_hw *hw,
35 struct i40e_profile_info *pinfo)
36 {
37 struct i40e_ddp_profile_list *profile_list;
38 u8 buff[I40E_PROFILE_LIST_SIZE];
39 i40e_status status;
40 int i;
41
42 status = i40e_aq_get_ddp_list(hw, buff, I40E_PROFILE_LIST_SIZE, 0,
43 NULL);
44 if (status)
45 return -1;
46
47 profile_list = (struct i40e_ddp_profile_list *)buff;
48 for (i = 0; i < profile_list->p_count; i++) {
49 if (i40e_ddp_profiles_eq(pinfo, &profile_list->p_info[i]))
50 return 1;
51 }
52 return 0;
> 53 }
54
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists