All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Francesco Valla <francesco@valla.it>, linux-embedded@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH 1/1] drivers: misc: add driver for bootstage stash
Date: Sat, 24 May 2025 15:18:00 +0800	[thread overview]
Message-ID: <202505241547.wVTtLz71-lkp@intel.com> (raw)
In-Reply-To: <20250522224223.358881-3-francesco@valla.it>

Hi Francesco,

kernel test robot noticed the following build warnings:

[auto build test WARNING on char-misc/char-misc-linus]
[also build test WARNING on robh/for-next linus/master v6.15-rc7]
[cannot apply to char-misc/char-misc-testing char-misc/char-misc-next next-20250523]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Francesco-Valla/drivers-misc-add-driver-for-bootstage-stash/20250523-122757
base:   char-misc/char-misc-linus
patch link:    https://lore.kernel.org/r/20250522224223.358881-3-francesco%40valla.it
patch subject: [PATCH 1/1] drivers: misc: add driver for bootstage stash
config: hexagon-allyesconfig (https://download.01.org/0day-ci/archive/20250524/202505241547.wVTtLz71-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250524/202505241547.wVTtLz71-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/oe-kbuild-all/202505241547.wVTtLz71-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/misc/bootstage.c:164:24: warning: format specifies type 'unsigned long long' but the argument has type 'resource_size_t' (aka 'unsigned int') [-Wformat]
     163 |                 dev_err(dev, "invalid declared stash size %u (expected: <= %llu)\n",
         |                                                                            ~~~~
         |                                                                            %u
     164 |                         drvdata->hdr->size, size);
         |                                             ^~~~
   include/linux/dev_printk.h:154:65: note: expanded from macro 'dev_err'
     154 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                                ~~~     ^~~~~~~~~~~
   include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ~~~    ^~~~~~~~~~~
   drivers/misc/bootstage.c:168:4: warning: format specifies type 'unsigned long long' but the argument has type 'resource_size_t' (aka 'unsigned int') [-Wformat]
     167 |                 dev_err(dev, "invalid calculated stash size %llu (expected: <= %llu)\n",
         |                                                             ~~~~
         |                                                             %u
     168 |                         calc_size, size);
         |                         ^~~~~~~~~
   include/linux/dev_printk.h:154:65: note: expanded from macro 'dev_err'
     154 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                                ~~~     ^~~~~~~~~~~
   include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ~~~    ^~~~~~~~~~~
   drivers/misc/bootstage.c:168:15: warning: format specifies type 'unsigned long long' but the argument has type 'resource_size_t' (aka 'unsigned int') [-Wformat]
     167 |                 dev_err(dev, "invalid calculated stash size %llu (expected: <= %llu)\n",
         |                                                                                ~~~~
         |                                                                                %u
     168 |                         calc_size, size);
         |                                    ^~~~
   include/linux/dev_printk.h:154:65: note: expanded from macro 'dev_err'
     154 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                                ~~~     ^~~~~~~~~~~
   include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ~~~    ^~~~~~~~~~~
   3 warnings generated.


vim +164 drivers/misc/bootstage.c

   143	
   144	static int bootstage_parse(struct device *dev, struct bootstage_drvdata *drvdata,
   145				   resource_size_t size)
   146	{
   147		const char *str_ptr = (const char *)(drvdata->records + drvdata->hdr->count);
   148		const resource_size_t calc_size = (resource_size_t)((void *)str_ptr - (void *)drvdata->hdr);
   149		struct bootstage_record *rec;
   150		u32 r;
   151	
   152		// Sanity checks on bootstage header
   153		if (drvdata->hdr->magic != BOOTSTAGE_MAGIC) {
   154			dev_err(dev, "wrong bootstage magic number %08Xh\n", drvdata->hdr->magic);
   155			return -EINVAL;
   156		} else if (drvdata->hdr->version > BOOTSTAGE_MAX_VERSION) {
   157			dev_err(dev, "bootstage version %u not supported\n", drvdata->hdr->version);
   158			return -EOPNOTSUPP;
   159		} else if (drvdata->hdr->size == 0) {
   160			dev_err(dev, "invalid bootstage stash (declared size is zero)\n");
   161			return -EINVAL;
   162		} else if (drvdata->hdr->size > size) {
   163			dev_err(dev, "invalid declared stash size %u (expected: <= %llu)\n",
 > 164				drvdata->hdr->size, size);
   165			return -EINVAL;
   166		} else if (calc_size > size) {
   167			dev_err(dev, "invalid calculated stash size %llu (expected: <= %llu)\n",
   168				calc_size, size);
   169			return -EINVAL;
   170		} else if (drvdata->hdr->count == 0) {
   171			dev_info(dev, "bootstage stash has no records\n");
   172			return 0;
   173		}
   174	
   175		// Set start time to invalid
   176		drvdata->start_time_us = 0xFFFFFFFF;
   177	
   178		// Associate names to records, which are placed at the end of the record area
   179		for (r = 0, rec = drvdata->records; r < drvdata->hdr->count; r++, rec++) {
   180			// Save minimum time, will be used as bootloader enter time
   181			if (rec->start_us < drvdata->start_time_us)
   182				drvdata->start_time_us = rec->time_us;
   183	
   184			// Save maximum time, will be used as bootloader exit time
   185			if (rec->time_us > drvdata->end_time_us)
   186				drvdata->end_time_us = rec->time_us;
   187	
   188			if (str_ptr > ((const char *)drvdata->hdr + size)) {
   189				dev_err(dev, "name for record %u is corrupted\n", r);
   190				return -ENODATA;
   191			}
   192	
   193			rec->name = str_ptr;
   194			str_ptr += strlen(rec->name) + 1;
   195		}
   196	
   197		return 0;
   198	}
   199	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2025-05-24  7:18 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-22 22:42 [RFC PATCH 0/1] Add driver for bootstage stash Francesco Valla
2025-05-22 22:42 ` [PATCH 1/1] drivers: misc: add " Francesco Valla
2025-05-23  6:29   ` Krzysztof Kozlowski
2025-05-23 19:34     ` Rob Landley
2025-05-24  6:16       ` Krzysztof Kozlowski
2025-05-23 19:43     ` Francesco Valla
2025-05-24  6:15       ` Krzysztof Kozlowski
2025-05-23 23:43   ` Bird, Tim
2025-05-24  7:18   ` kernel test robot [this message]
2025-05-23  7:04 ` [RFC PATCH 0/1] Add " Geert Uytterhoeven
2025-05-23 20:06   ` Francesco Valla
     [not found] ` <PA4PR08MB604681FF6392B25A19926A11ED98A@PA4PR08MB6046.eurprd08.prod.outlook.com>
2025-05-23  7:34   ` Federico Giovanardi
2025-05-23 19:43     ` Rob Landley
2025-05-23 20:11     ` Francesco Valla
2025-05-24  0:07     ` Bird, Tim
2025-05-24  0:28       ` Bird, Tim

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=202505241547.wVTtLz71-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=francesco@valla.it \
    --cc=linux-embedded@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@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.