[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202407061823.qXqNlq8o-lkp@intel.com>
Date: Sat, 6 Jul 2024 19:13:41 +0800
From: kernel test robot <lkp@...el.com>
To: Nicolas Pitre <nico@...xnic.net>, Arnd Bergmann <arnd@...db.de>,
Russell King <linux@...linux.org.uk>
Cc: oe-kbuild-all@...ts.linux.dev, Nicolas Pitre <npitre@...libre.com>,
linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] asm-generic/div64: reimplement __arch_xprod64()
Hi Nicolas,
kernel test robot noticed the following build warnings:
[auto build test WARNING on arnd-asm-generic/master]
[also build test WARNING on arm/for-next arm/fixes soc/for-next linus/master v6.10-rc6 next-20240703]
[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/Nicolas-Pitre/ARM-div64-remove-custom-__arch_xprod_64/20240705-195905
base: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master
patch link: https://lore.kernel.org/r/20240705022334.1378363-3-nico%40fluxnic.net
patch subject: [PATCH 2/2] asm-generic/div64: reimplement __arch_xprod64()
config: parisc-defconfig (https://download.01.org/0day-ci/archive/20240706/202407061823.qXqNlq8o-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240706/202407061823.qXqNlq8o-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/202407061823.qXqNlq8o-lkp@intel.com/
All warnings (new ones prefixed by >>):
security/keys/proc.c: In function 'proc_keys_show':
security/keys/proc.c:215:45: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
215 | sprintf(xbuf, "%llud", div_u64(timo, 60 * 60 * 24));
| ^
security/keys/proc.c:215:25: note: 'sprintf' output between 3 and 17 bytes into a destination of size 16
215 | sprintf(xbuf, "%llud", div_u64(timo, 60 * 60 * 24));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
security/keys/proc.c:213:44: warning: 'h' directive writing 1 byte into a region of size between 0 and 15 [-Wformat-overflow=]
213 | sprintf(xbuf, "%lluh", div_u64(timo, 60 * 60));
| ^
security/keys/proc.c:213:25: note: 'sprintf' output between 3 and 18 bytes into a destination of size 16
213 | sprintf(xbuf, "%lluh", div_u64(timo, 60 * 60));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> security/keys/proc.c:211:40: warning: '%llu' directive writing between 1 and 19 bytes into a region of size 16 [-Wformat-overflow=]
211 | sprintf(xbuf, "%llum", div_u64(timo, 60));
| ^~~~
security/keys/proc.c:211:39: note: directive argument in the range [0, 1229782946264575725]
211 | sprintf(xbuf, "%llum", div_u64(timo, 60));
| ^~~~~~~
security/keys/proc.c:211:25: note: 'sprintf' output between 3 and 21 bytes into a destination of size 16
211 | sprintf(xbuf, "%llum", div_u64(timo, 60));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +211 security/keys/proc.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 152
^1da177e4c3f415 Linus Torvalds 2005-04-16 153 static int proc_keys_show(struct seq_file *m, void *v)
^1da177e4c3f415 Linus Torvalds 2005-04-16 154 {
^1da177e4c3f415 Linus Torvalds 2005-04-16 155 struct rb_node *_p = v;
^1da177e4c3f415 Linus Torvalds 2005-04-16 156 struct key *key = rb_entry(_p, struct key, serial_node);
ab5c69f01313c80 Eric Biggers 2017-09-27 157 unsigned long flags;
927942aabbbe506 David Howells 2010-06-11 158 key_ref_t key_ref, skey_ref;
074d58989569b39 Baolin Wang 2017-11-15 159 time64_t now, expiry;
03dab869b7b239c David Howells 2016-10-26 160 char xbuf[16];
363b02dab09b322 David Howells 2017-10-04 161 short state;
074d58989569b39 Baolin Wang 2017-11-15 162 u64 timo;
06ec7be557a1259 Michael LeMay 2006-06-26 163 int rc;
06ec7be557a1259 Michael LeMay 2006-06-26 164
4bdf0bc30031414 David Howells 2013-09-24 165 struct keyring_search_context ctx = {
ede0fa98a900e65 Eric Biggers 2019-02-22 166 .index_key = key->index_key,
4aa68e07d845562 Eric Biggers 2017-09-18 167 .cred = m->file->f_cred,
462919591a1791e David Howells 2014-09-16 168 .match_data.cmp = lookup_user_key_possessed,
462919591a1791e David Howells 2014-09-16 169 .match_data.raw_data = key,
462919591a1791e David Howells 2014-09-16 170 .match_data.lookup_type = KEYRING_SEARCH_LOOKUP_DIRECT,
dcf49dbc8077e27 David Howells 2019-06-26 171 .flags = (KEYRING_SEARCH_NO_STATE_CHECK |
dcf49dbc8077e27 David Howells 2019-06-26 172 KEYRING_SEARCH_RECURSE),
4bdf0bc30031414 David Howells 2013-09-24 173 };
4bdf0bc30031414 David Howells 2013-09-24 174
028db3e290f15ac Linus Torvalds 2019-07-10 175 key_ref = make_key_ref(key, 0);
927942aabbbe506 David Howells 2010-06-11 176
927942aabbbe506 David Howells 2010-06-11 177 /* determine if the key is possessed by this process (a test we can
927942aabbbe506 David Howells 2010-06-11 178 * skip if the key does not indicate the possessor can view it
927942aabbbe506 David Howells 2010-06-11 179 */
028db3e290f15ac Linus Torvalds 2019-07-10 180 if (key->perm & KEY_POS_VIEW) {
028db3e290f15ac Linus Torvalds 2019-07-10 181 rcu_read_lock();
e59428f721ee096 David Howells 2019-06-19 182 skey_ref = search_cred_keyrings_rcu(&ctx);
028db3e290f15ac Linus Torvalds 2019-07-10 183 rcu_read_unlock();
927942aabbbe506 David Howells 2010-06-11 184 if (!IS_ERR(skey_ref)) {
927942aabbbe506 David Howells 2010-06-11 185 key_ref_put(skey_ref);
927942aabbbe506 David Howells 2010-06-11 186 key_ref = make_key_ref(key, 1);
927942aabbbe506 David Howells 2010-06-11 187 }
927942aabbbe506 David Howells 2010-06-11 188 }
927942aabbbe506 David Howells 2010-06-11 189
4aa68e07d845562 Eric Biggers 2017-09-18 190 /* check whether the current task is allowed to view the key */
f5895943d91b41b David Howells 2014-03-14 191 rc = key_task_permission(key_ref, ctx.cred, KEY_NEED_VIEW);
06ec7be557a1259 Michael LeMay 2006-06-26 192 if (rc < 0)
028db3e290f15ac Linus Torvalds 2019-07-10 193 return 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 194
074d58989569b39 Baolin Wang 2017-11-15 195 now = ktime_get_real_seconds();
^1da177e4c3f415 Linus Torvalds 2005-04-16 196
028db3e290f15ac Linus Torvalds 2019-07-10 197 rcu_read_lock();
028db3e290f15ac Linus Torvalds 2019-07-10 198
^1da177e4c3f415 Linus Torvalds 2005-04-16 199 /* come up with a suitable timeout value */
ab5c69f01313c80 Eric Biggers 2017-09-27 200 expiry = READ_ONCE(key->expiry);
39299bdd2546688 David Howells 2023-12-09 201 if (expiry == TIME64_MAX) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 202 memcpy(xbuf, "perm", 5);
074d58989569b39 Baolin Wang 2017-11-15 203 } else if (now >= expiry) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 204 memcpy(xbuf, "expd", 5);
7b1b9164598286f David Howells 2009-09-02 205 } else {
074d58989569b39 Baolin Wang 2017-11-15 206 timo = expiry - now;
^1da177e4c3f415 Linus Torvalds 2005-04-16 207
^1da177e4c3f415 Linus Torvalds 2005-04-16 208 if (timo < 60)
074d58989569b39 Baolin Wang 2017-11-15 209 sprintf(xbuf, "%llus", timo);
^1da177e4c3f415 Linus Torvalds 2005-04-16 210 else if (timo < 60*60)
074d58989569b39 Baolin Wang 2017-11-15 @211 sprintf(xbuf, "%llum", div_u64(timo, 60));
^1da177e4c3f415 Linus Torvalds 2005-04-16 212 else if (timo < 60*60*24)
074d58989569b39 Baolin Wang 2017-11-15 213 sprintf(xbuf, "%lluh", div_u64(timo, 60 * 60));
^1da177e4c3f415 Linus Torvalds 2005-04-16 214 else if (timo < 60*60*24*7)
074d58989569b39 Baolin Wang 2017-11-15 @215 sprintf(xbuf, "%llud", div_u64(timo, 60 * 60 * 24));
^1da177e4c3f415 Linus Torvalds 2005-04-16 216 else
074d58989569b39 Baolin Wang 2017-11-15 217 sprintf(xbuf, "%lluw", div_u64(timo, 60 * 60 * 24 * 7));
^1da177e4c3f415 Linus Torvalds 2005-04-16 218 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 219
363b02dab09b322 David Howells 2017-10-04 220 state = key_read_state(key);
363b02dab09b322 David Howells 2017-10-04 221
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists