From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: [zen:6.13/zen-sauce 8/31] arch/arm/boot/compressed/atags_to_fdt.c:218:1: warning: the frame size of 1296 bytes is larger than 1280 bytes
Date: Thu, 23 Jan 2025 22:12:54 +0800 [thread overview]
Message-ID: <202501232235.BTbDI8vL-lkp@intel.com> (raw)
::::::
:::::: Manual check reason: "only suspicious fbc files changed"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: steven@liquorix.net
tree: https://github.com/zen-kernel/zen-kernel 6.13/zen-sauce
head: ae96db84281e1b10aee61ef832aabd0941743e99
commit: 532c154f9710e705de5a6085c4aff795c7e65f59 [8/31] ZEN: Disable stack conservation for GCC
:::::: branch date: 13 hours ago
:::::: commit date: 13 hours ago
config: arm-randconfig-003-20250123 (https://download.01.org/0day-ci/archive/20250123/202501232235.BTbDI8vL-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250123/202501232235.BTbDI8vL-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@intel.com>
| Closes: https://lore.kernel.org/r/202501232235.BTbDI8vL-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/arm/boot/compressed/atags_to_fdt.c: In function 'atags_to_fdt':
>> arch/arm/boot/compressed/atags_to_fdt.c:218:1: warning: the frame size of 1296 bytes is larger than 1280 bytes [-Wframe-larger-than=]
218 | }
| ^
vim +218 arch/arm/boot/compressed/atags_to_fdt.c
31d0b9f9982f8e Ben Dooks 2018-10-12 121
b90b9a38251e9c Nicolas Pitre 2011-09-13 122 /*
b90b9a38251e9c Nicolas Pitre 2011-09-13 123 * Convert and fold provided ATAGs into the provided FDT.
b90b9a38251e9c Nicolas Pitre 2011-09-13 124 *
4716e2e34a22a8 Geert Uytterhoeven 2021-05-19 125 * Return values:
b90b9a38251e9c Nicolas Pitre 2011-09-13 126 * = 0 -> pretend success
b90b9a38251e9c Nicolas Pitre 2011-09-13 127 * = 1 -> bad ATAG (may retry with another possible ATAG pointer)
b90b9a38251e9c Nicolas Pitre 2011-09-13 128 * < 0 -> error from libfdt
b90b9a38251e9c Nicolas Pitre 2011-09-13 129 */
b90b9a38251e9c Nicolas Pitre 2011-09-13 130 int atags_to_fdt(void *atag_list, void *fdt, int total_space)
b90b9a38251e9c Nicolas Pitre 2011-09-13 131 {
b90b9a38251e9c Nicolas Pitre 2011-09-13 132 struct tag *atag = atag_list;
faefd550c45d8d Gregory CLEMENT 2013-05-15 133 /* In the case of 64 bits memory size, need to reserve 2 cells for
faefd550c45d8d Gregory CLEMENT 2013-05-15 134 * address and size for each bank */
43fa593eb7eec9 Ben Dooks (Codethink 2019-10-11 135) __be32 mem_reg_property[2 * 2 * NR_BANKS];
b90b9a38251e9c Nicolas Pitre 2011-09-13 136 int memcount = 0;
faefd550c45d8d Gregory CLEMENT 2013-05-15 137 int ret, memsize;
b90b9a38251e9c Nicolas Pitre 2011-09-13 138
b90b9a38251e9c Nicolas Pitre 2011-09-13 139 /* make sure we've got an aligned pointer */
b90b9a38251e9c Nicolas Pitre 2011-09-13 140 if ((u32)atag_list & 0x3)
b90b9a38251e9c Nicolas Pitre 2011-09-13 141 return 1;
b90b9a38251e9c Nicolas Pitre 2011-09-13 142
b90b9a38251e9c Nicolas Pitre 2011-09-13 143 /* if we get a DTB here we're done already */
43fa593eb7eec9 Ben Dooks (Codethink 2019-10-11 144) if (*(__be32 *)atag_list == cpu_to_fdt32(FDT_MAGIC))
b90b9a38251e9c Nicolas Pitre 2011-09-13 145 return 0;
b90b9a38251e9c Nicolas Pitre 2011-09-13 146
b90b9a38251e9c Nicolas Pitre 2011-09-13 147 /* validate the ATAG */
b90b9a38251e9c Nicolas Pitre 2011-09-13 148 if (atag->hdr.tag != ATAG_CORE ||
b90b9a38251e9c Nicolas Pitre 2011-09-13 149 (atag->hdr.size != tag_size(tag_core) &&
b90b9a38251e9c Nicolas Pitre 2011-09-13 150 atag->hdr.size != 2))
b90b9a38251e9c Nicolas Pitre 2011-09-13 151 return 1;
b90b9a38251e9c Nicolas Pitre 2011-09-13 152
b90b9a38251e9c Nicolas Pitre 2011-09-13 153 /* let's give it all the room it could need */
b90b9a38251e9c Nicolas Pitre 2011-09-13 154 ret = fdt_open_into(fdt, fdt, total_space);
b90b9a38251e9c Nicolas Pitre 2011-09-13 155 if (ret < 0)
b90b9a38251e9c Nicolas Pitre 2011-09-13 156 return ret;
b90b9a38251e9c Nicolas Pitre 2011-09-13 157
b90b9a38251e9c Nicolas Pitre 2011-09-13 158 for_each_tag(atag, atag_list) {
b90b9a38251e9c Nicolas Pitre 2011-09-13 159 if (atag->hdr.tag == ATAG_CMDLINE) {
d0f34a11ddab9b Richard Genoud 2012-06-26 160 /* Append the ATAGS command line to the device tree
d0f34a11ddab9b Richard Genoud 2012-06-26 161 * command line.
d0f34a11ddab9b Richard Genoud 2012-06-26 162 * NB: This means that if the same parameter is set in
d0f34a11ddab9b Richard Genoud 2012-06-26 163 * the device tree and in the tags, the one from the
d0f34a11ddab9b Richard Genoud 2012-06-26 164 * tags will be chosen.
d0f34a11ddab9b Richard Genoud 2012-06-26 165 */
d0f34a11ddab9b Richard Genoud 2012-06-26 166 if (do_extend_cmdline)
d0f34a11ddab9b Richard Genoud 2012-06-26 167 merge_fdt_bootargs(fdt,
d0f34a11ddab9b Richard Genoud 2012-06-26 168 atag->u.cmdline.cmdline);
d0f34a11ddab9b Richard Genoud 2012-06-26 169 else
b90b9a38251e9c Nicolas Pitre 2011-09-13 170 setprop_string(fdt, "/chosen", "bootargs",
b90b9a38251e9c Nicolas Pitre 2011-09-13 171 atag->u.cmdline.cmdline);
b90b9a38251e9c Nicolas Pitre 2011-09-13 172 } else if (atag->hdr.tag == ATAG_MEM) {
b90b9a38251e9c Nicolas Pitre 2011-09-13 173 if (memcount >= sizeof(mem_reg_property)/4)
b90b9a38251e9c Nicolas Pitre 2011-09-13 174 continue;
a106b21a352517 Marc Zyngier 2012-04-11 175 if (!atag->u.mem.size)
a106b21a352517 Marc Zyngier 2012-04-11 176 continue;
faefd550c45d8d Gregory CLEMENT 2013-05-15 177 memsize = get_cell_size(fdt);
faefd550c45d8d Gregory CLEMENT 2013-05-15 178
faefd550c45d8d Gregory CLEMENT 2013-05-15 179 if (memsize == 2) {
faefd550c45d8d Gregory CLEMENT 2013-05-15 180 /* if memsize is 2, that means that
faefd550c45d8d Gregory CLEMENT 2013-05-15 181 * each data needs 2 cells of 32 bits,
faefd550c45d8d Gregory CLEMENT 2013-05-15 182 * so the data are 64 bits */
43fa593eb7eec9 Ben Dooks (Codethink 2019-10-11 183) __be64 *mem_reg_prop64 =
43fa593eb7eec9 Ben Dooks (Codethink 2019-10-11 184) (__be64 *)mem_reg_property;
faefd550c45d8d Gregory CLEMENT 2013-05-15 185 mem_reg_prop64[memcount++] =
faefd550c45d8d Gregory CLEMENT 2013-05-15 186 cpu_to_fdt64(atag->u.mem.start);
faefd550c45d8d Gregory CLEMENT 2013-05-15 187 mem_reg_prop64[memcount++] =
faefd550c45d8d Gregory CLEMENT 2013-05-15 188 cpu_to_fdt64(atag->u.mem.size);
faefd550c45d8d Gregory CLEMENT 2013-05-15 189 } else {
faefd550c45d8d Gregory CLEMENT 2013-05-15 190 mem_reg_property[memcount++] =
faefd550c45d8d Gregory CLEMENT 2013-05-15 191 cpu_to_fdt32(atag->u.mem.start);
faefd550c45d8d Gregory CLEMENT 2013-05-15 192 mem_reg_property[memcount++] =
faefd550c45d8d Gregory CLEMENT 2013-05-15 193 cpu_to_fdt32(atag->u.mem.size);
faefd550c45d8d Gregory CLEMENT 2013-05-15 194 }
faefd550c45d8d Gregory CLEMENT 2013-05-15 195
b90b9a38251e9c Nicolas Pitre 2011-09-13 196 } else if (atag->hdr.tag == ATAG_INITRD2) {
b90b9a38251e9c Nicolas Pitre 2011-09-13 197 uint32_t initrd_start, initrd_size;
b90b9a38251e9c Nicolas Pitre 2011-09-13 198 initrd_start = atag->u.initrd.start;
b90b9a38251e9c Nicolas Pitre 2011-09-13 199 initrd_size = atag->u.initrd.size;
b90b9a38251e9c Nicolas Pitre 2011-09-13 200 setprop_cell(fdt, "/chosen", "linux,initrd-start",
b90b9a38251e9c Nicolas Pitre 2011-09-13 201 initrd_start);
b90b9a38251e9c Nicolas Pitre 2011-09-13 202 setprop_cell(fdt, "/chosen", "linux,initrd-end",
b90b9a38251e9c Nicolas Pitre 2011-09-13 203 initrd_start + initrd_size);
31d0b9f9982f8e Ben Dooks 2018-10-12 204 } else if (atag->hdr.tag == ATAG_SERIAL) {
31d0b9f9982f8e Ben Dooks 2018-10-12 205 char serno[16+2];
31d0b9f9982f8e Ben Dooks 2018-10-12 206 hex_str(serno, atag->u.serialnr.high);
31d0b9f9982f8e Ben Dooks 2018-10-12 207 hex_str(serno+8, atag->u.serialnr.low);
31d0b9f9982f8e Ben Dooks 2018-10-12 208 setprop_string(fdt, "/", "serial-number", serno);
b90b9a38251e9c Nicolas Pitre 2011-09-13 209 }
b90b9a38251e9c Nicolas Pitre 2011-09-13 210 }
b90b9a38251e9c Nicolas Pitre 2011-09-13 211
faefd550c45d8d Gregory CLEMENT 2013-05-15 212 if (memcount) {
faefd550c45d8d Gregory CLEMENT 2013-05-15 213 setprop(fdt, "/memory", "reg", mem_reg_property,
faefd550c45d8d Gregory CLEMENT 2013-05-15 214 4 * memcount * memsize);
faefd550c45d8d Gregory CLEMENT 2013-05-15 215 }
b90b9a38251e9c Nicolas Pitre 2011-09-13 216
b90b9a38251e9c Nicolas Pitre 2011-09-13 217 return fdt_pack(fdt);
b90b9a38251e9c Nicolas Pitre 2011-09-13 @218 }
:::::: The code at line 218 was first introduced by commit
:::::: b90b9a38251e9c89c34179eccde57411ceb5f1aa ARM: zImage: allow supplementing appended DTB with traditional ATAG data
:::::: TO: Nicolas Pitre <nicolas.pitre@linaro.org>
:::::: CC: Nicolas Pitre <nico@fluxnic.net>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-01-23 14:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202501232235.BTbDI8vL-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.