[gustavoars-linux:testing/uapi/nfsd/nfsfh 1/2] fs/hpfs/dir.c:163:41: warning: array subscript 1 is above array bounds of {aka 'unsigned
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git testing/uapi/nfsd/nfsfh
head: d28670226e028e65b0de5e6744c5df188fc2728b
commit: 5c976c3f03be89378ca672c1a3c7ce7048d90606 [1/2] Makefile: Enable -Warray-bounds
config: h8300-randconfig-s031-20210209 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/comm...
git remote add gustavoars-linux https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git
git fetch --no-tags gustavoars-linux testing/uapi/nfsd/nfsfh
git checkout 5c976c3f03be89378ca672c1a3c7ce7048d90606
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=h8300
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
fs/hpfs/dir.c: In function 'hpfs_readdir':
>> fs/hpfs/dir.c:163:41: warning: array subscript 1 is above array bounds of 'u8[1]' {aka 'unsigned char[1]'} [-Warray-bounds]
163 | || de ->name[0] != 1 || de->name[1] != 1))
| ~~~~~~~~^~~
vim +163 fs/hpfs/dir.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 64
568f8f5ec5f1ac Al Viro 2013-05-18 65 static int hpfs_readdir(struct file *file, struct dir_context *ctx)
^1da177e4c3f41 Linus Torvalds 2005-04-16 66 {
568f8f5ec5f1ac Al Viro 2013-05-18 67 struct inode *inode = file_inode(file);
^1da177e4c3f41 Linus Torvalds 2005-04-16 68 struct hpfs_inode_info *hpfs_inode = hpfs_i(inode);
^1da177e4c3f41 Linus Torvalds 2005-04-16 69 struct quad_buffer_head qbh;
^1da177e4c3f41 Linus Torvalds 2005-04-16 70 struct hpfs_dirent *de;
^1da177e4c3f41 Linus Torvalds 2005-04-16 71 int lc;
568f8f5ec5f1ac Al Viro 2013-05-18 72 loff_t next_pos;
7e7742ee005c88 Al Viro 2010-01-31 73 unsigned char *tempname;
^1da177e4c3f41 Linus Torvalds 2005-04-16 74 int c1, c2 = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 75 int ret = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 76
9a311b96c3065f Arnd Bergmann 2011-01-22 77 hpfs_lock(inode->i_sb);
^1da177e4c3f41 Linus Torvalds 2005-04-16 78
^1da177e4c3f41 Linus Torvalds 2005-04-16 79 if (hpfs_sb(inode->i_sb)->sb_chk) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 80 if (hpfs_chk_sectors(inode->i_sb, inode->i_ino, 1, "dir_fnode")) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 81 ret = -EFSERROR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 82 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 83 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 84 if (hpfs_chk_sectors(inode->i_sb, hpfs_inode->i_dno, 4, "dir_dnode")) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 85 ret = -EFSERROR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 86 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 87 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 88 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 89 if (hpfs_sb(inode->i_sb)->sb_chk >= 2) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 90 struct buffer_head *bh;
^1da177e4c3f41 Linus Torvalds 2005-04-16 91 struct fnode *fno;
^1da177e4c3f41 Linus Torvalds 2005-04-16 92 int e = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 93 if (!(fno = hpfs_map_fnode(inode->i_sb, inode->i_ino, &bh))) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 94 ret = -EIOERROR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 95 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 96 }
c4c995430a94e7 Al Viro 2012-04-06 97 if (!fnode_is_dir(fno)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 98 e = 1;
18debbbcce1306 Randy Dunlap 2006-12-06 99 hpfs_error(inode->i_sb, "not a directory, fnode %08lx",
18debbbcce1306 Randy Dunlap 2006-12-06 100 (unsigned long)inode->i_ino);
^1da177e4c3f41 Linus Torvalds 2005-04-16 101 }
0b69760be6968c Mikulas Patocka 2011-05-08 102 if (hpfs_inode->i_dno != le32_to_cpu(fno->u.external[0].disk_secno)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 103 e = 1;
0b69760be6968c Mikulas Patocka 2011-05-08 104 hpfs_error(inode->i_sb, "corrupted inode: i_dno == %08x, fnode -> dnode == %08x", hpfs_inode->i_dno, le32_to_cpu(fno->u.external[0].disk_secno));
^1da177e4c3f41 Linus Torvalds 2005-04-16 105 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 106 brelse(bh);
^1da177e4c3f41 Linus Torvalds 2005-04-16 107 if (e) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 108 ret = -EFSERROR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 109 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 110 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 111 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 112 lc = hpfs_sb(inode->i_sb)->sb_lowercase;
568f8f5ec5f1ac Al Viro 2013-05-18 113 if (ctx->pos == 12) { /* diff -r requires this (note, that diff -r */
568f8f5ec5f1ac Al Viro 2013-05-18 114 ctx->pos = 13; /* also fails on msdos filesystem in 2.0) */
^1da177e4c3f41 Linus Torvalds 2005-04-16 115 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 116 }
568f8f5ec5f1ac Al Viro 2013-05-18 117 if (ctx->pos == 13) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 118 ret = -ENOENT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 119 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 120 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 121
^1da177e4c3f41 Linus Torvalds 2005-04-16 122 while (1) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 123 again:
^1da177e4c3f41 Linus Torvalds 2005-04-16 124 /* This won't work when cycle is longer than number of dirents
^1da177e4c3f41 Linus Torvalds 2005-04-16 125 accepted by filldir, but what can I do?
^1da177e4c3f41 Linus Torvalds 2005-04-16 126 maybe killall -9 ls helps */
^1da177e4c3f41 Linus Torvalds 2005-04-16 127 if (hpfs_sb(inode->i_sb)->sb_chk)
568f8f5ec5f1ac Al Viro 2013-05-18 128 if (hpfs_stop_cycles(inode->i_sb, ctx->pos, &c1, &c2, "hpfs_readdir")) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 129 ret = -EFSERROR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 130 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 131 }
568f8f5ec5f1ac Al Viro 2013-05-18 132 if (ctx->pos == 12)
^1da177e4c3f41 Linus Torvalds 2005-04-16 133 goto out;
568f8f5ec5f1ac Al Viro 2013-05-18 134 if (ctx->pos == 3 || ctx->pos == 4 || ctx->pos == 5) {
a19189e5535ed8 Fabian Frederick 2014-06-06 135 pr_err("pos==%d\n", (int)ctx->pos);
^1da177e4c3f41 Linus Torvalds 2005-04-16 136 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 137 }
568f8f5ec5f1ac Al Viro 2013-05-18 138 if (ctx->pos == 0) {
568f8f5ec5f1ac Al Viro 2013-05-18 139 if (!dir_emit_dot(file, ctx))
^1da177e4c3f41 Linus Torvalds 2005-04-16 140 goto out;
568f8f5ec5f1ac Al Viro 2013-05-18 141 ctx->pos = 11;
^1da177e4c3f41 Linus Torvalds 2005-04-16 142 }
568f8f5ec5f1ac Al Viro 2013-05-18 143 if (ctx->pos == 11) {
568f8f5ec5f1ac Al Viro 2013-05-18 144 if (!dir_emit(ctx, "..", 2, hpfs_inode->i_parent_dir, DT_DIR))
^1da177e4c3f41 Linus Torvalds 2005-04-16 145 goto out;
568f8f5ec5f1ac Al Viro 2013-05-18 146 ctx->pos = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 147 }
568f8f5ec5f1ac Al Viro 2013-05-18 148 if (ctx->pos == 1) {
e82c3147554785 Al Viro 2016-05-12 149 ret = hpfs_add_pos(inode, &file->f_pos);
e82c3147554785 Al Viro 2016-05-12 150 if (unlikely(ret < 0))
e82c3147554785 Al Viro 2016-05-12 151 goto out;
568f8f5ec5f1ac Al Viro 2013-05-18 152 ctx->pos = ((loff_t) hpfs_de_as_down_as_possible(inode->i_sb, hpfs_inode->i_dno) << 4) + 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 153 }
568f8f5ec5f1ac Al Viro 2013-05-18 154 next_pos = ctx->pos;
568f8f5ec5f1ac Al Viro 2013-05-18 155 if (!(de = map_pos_dirent(inode, &next_pos, &qbh))) {
568f8f5ec5f1ac Al Viro 2013-05-18 156 ctx->pos = next_pos;
^1da177e4c3f41 Linus Torvalds 2005-04-16 157 ret = -EIOERROR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 158 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 159 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 160 if (de->first || de->last) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 161 if (hpfs_sb(inode->i_sb)->sb_chk) {
18debbbcce1306 Randy Dunlap 2006-12-06 162 if (de->first && !de->last && (de->namelen != 2
18debbbcce1306 Randy Dunlap 2006-12-06 @163 || de ->name[0] != 1 || de->name[1] != 1))
568f8f5ec5f1ac Al Viro 2013-05-18 164 hpfs_error(inode->i_sb, "hpfs_readdir: bad ^A^A entry; pos = %08lx", (unsigned long)ctx->pos);
18debbbcce1306 Randy Dunlap 2006-12-06 165 if (de->last && (de->namelen != 1 || de ->name[0] != 255))
568f8f5ec5f1ac Al Viro 2013-05-18 166 hpfs_error(inode->i_sb, "hpfs_readdir: bad \\377 entry; pos = %08lx", (unsigned long)ctx->pos);
^1da177e4c3f41 Linus Torvalds 2005-04-16 167 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 168 hpfs_brelse4(&qbh);
568f8f5ec5f1ac Al Viro 2013-05-18 169 ctx->pos = next_pos;
^1da177e4c3f41 Linus Torvalds 2005-04-16 170 goto again;
^1da177e4c3f41 Linus Torvalds 2005-04-16 171 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 172 tempname = hpfs_translate_name(inode->i_sb, de->name, de->namelen, lc, de->not_8x3);
568f8f5ec5f1ac Al Viro 2013-05-18 173 if (!dir_emit(ctx, tempname, de->namelen, le32_to_cpu(de->fnode), DT_UNKNOWN)) {
7e7742ee005c88 Al Viro 2010-01-31 174 if (tempname != de->name) kfree(tempname);
^1da177e4c3f41 Linus Torvalds 2005-04-16 175 hpfs_brelse4(&qbh);
^1da177e4c3f41 Linus Torvalds 2005-04-16 176 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 177 }
568f8f5ec5f1ac Al Viro 2013-05-18 178 ctx->pos = next_pos;
7e7742ee005c88 Al Viro 2010-01-31 179 if (tempname != de->name) kfree(tempname);
^1da177e4c3f41 Linus Torvalds 2005-04-16 180 hpfs_brelse4(&qbh);
^1da177e4c3f41 Linus Torvalds 2005-04-16 181 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 182 out:
9a311b96c3065f Arnd Bergmann 2011-01-22 183 hpfs_unlock(inode->i_sb);
^1da177e4c3f41 Linus Torvalds 2005-04-16 184 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 185 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 186
:::::: The code at line 163 was first introduced by commit
:::::: 18debbbcce1306f0bbb1c71cf587fd90413acab6 [PATCH] hpfs: fix printk format warnings
:::::: TO: Randy Dunlap <randy.dunlap(a)oracle.com>
:::::: CC: Linus Torvalds <torvalds(a)woody.osdl.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[dhowells-fs:keys-acl 23/24] security/integrity/digsig_asymmetric.c:35:10: error: too few arguments to function 'keyring_search'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git keys-acl
head: 06a67e452fb9c5815f6181878949ab31178c6d67
commit: eed986d8643280beed60cf7e7b9599f768706a53 [23/24] keys: Split the search perms between KEY_NEED_USE and KEY_NEED_SEARCH
config: c6x-randconfig-r031-20210209 (attached as .config)
compiler: c6x-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/com...
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs keys-acl
git checkout eed986d8643280beed60cf7e7b9599f768706a53
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
security/integrity/digsig_asymmetric.c: In function 'request_asymmetric_key':
>> security/integrity/digsig_asymmetric.c:35:10: error: too few arguments to function 'keyring_search'
35 | kref = keyring_search(make_key_ref(key, 1),
| ^~~~~~~~~~~~~~
In file included from include/linux/key-type.h:11,
from security/integrity/digsig_asymmetric.c:11:
include/linux/key.h:434:18: note: declared here
434 | extern key_ref_t keyring_search(key_ref_t keyring,
| ^~~~~~~~~~~~~~
security/integrity/digsig_asymmetric.c:47:10: error: too few arguments to function 'keyring_search'
47 | kref = keyring_search(make_key_ref(keyring, 1),
| ^~~~~~~~~~~~~~
In file included from include/linux/key-type.h:11,
from security/integrity/digsig_asymmetric.c:11:
include/linux/key.h:434:18: note: declared here
434 | extern key_ref_t keyring_search(key_ref_t keyring,
| ^~~~~~~~~~~~~~
--
lib/digsig.c: In function 'digsig_verify':
>> lib/digsig.c:220:10: error: too few arguments to function 'keyring_search'
220 | kref = keyring_search(make_key_ref(keyring, 1UL),
| ^~~~~~~~~~~~~~
In file included from lib/digsig.c:20:
include/linux/key.h:434:18: note: declared here
434 | extern key_ref_t keyring_search(key_ref_t keyring,
| ^~~~~~~~~~~~~~
vim +/keyring_search +35 security/integrity/digsig_asymmetric.c
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 18
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 19 /*
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 20 * Request an asymmetric key.
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 21 */
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 22 static struct key *request_asymmetric_key(struct key *keyring, uint32_t keyid)
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 23 {
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 24 struct key *key;
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 25 char name[12];
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 26
594081ee7145cc Dmitry Kasatkin 2014-10-06 27 sprintf(name, "id:%08x", keyid);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 28
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 29 pr_debug("key search: \"%s\"\n", name);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 30
41c89b64d7184a Petko Manolov 2015-12-02 31 key = get_ima_blacklist_keyring();
41c89b64d7184a Petko Manolov 2015-12-02 32 if (key) {
41c89b64d7184a Petko Manolov 2015-12-02 33 key_ref_t kref;
41c89b64d7184a Petko Manolov 2015-12-02 34
41c89b64d7184a Petko Manolov 2015-12-02 @35 kref = keyring_search(make_key_ref(key, 1),
dcf49dbc8077e2 David Howells 2019-06-26 36 &key_type_asymmetric, name, true);
41c89b64d7184a Petko Manolov 2015-12-02 37 if (!IS_ERR(kref)) {
41c89b64d7184a Petko Manolov 2015-12-02 38 pr_err("Key '%s' is in ima_blacklist_keyring\n", name);
41c89b64d7184a Petko Manolov 2015-12-02 39 return ERR_PTR(-EKEYREJECTED);
41c89b64d7184a Petko Manolov 2015-12-02 40 }
41c89b64d7184a Petko Manolov 2015-12-02 41 }
41c89b64d7184a Petko Manolov 2015-12-02 42
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 43 if (keyring) {
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 44 /* search in specific keyring */
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 45 key_ref_t kref;
41c89b64d7184a Petko Manolov 2015-12-02 46
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 47 kref = keyring_search(make_key_ref(keyring, 1),
dcf49dbc8077e2 David Howells 2019-06-26 48 &key_type_asymmetric, name, true);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 49 if (IS_ERR(kref))
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 50 key = ERR_CAST(kref);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 51 else
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 52 key = key_ref_to_ptr(kref);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 53 } else {
d136eb9630296f David Howells 2020-02-12 54 key = request_key(&key_type_asymmetric, name, NULL, NULL);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 55 }
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 56
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 57 if (IS_ERR(key)) {
8c2f516c99f0b7 Bruno Meneguele 2020-09-04 58 if (keyring)
8c2f516c99f0b7 Bruno Meneguele 2020-09-04 59 pr_err_ratelimited("Request for unknown key '%s' in '%s' keyring. err %ld\n",
8c2f516c99f0b7 Bruno Meneguele 2020-09-04 60 name, keyring->description,
8c2f516c99f0b7 Bruno Meneguele 2020-09-04 61 PTR_ERR(key));
8c2f516c99f0b7 Bruno Meneguele 2020-09-04 62 else
d9a2e5d788d39f Dmitry Kasatkin 2014-07-02 63 pr_err_ratelimited("Request for unknown key '%s' err %ld\n",
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 64 name, PTR_ERR(key));
8c2f516c99f0b7 Bruno Meneguele 2020-09-04 65
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 66 switch (PTR_ERR(key)) {
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 67 /* Hide some search errors */
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 68 case -EACCES:
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 69 case -ENOTDIR:
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 70 case -EAGAIN:
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 71 return ERR_PTR(-ENOKEY);
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 72 default:
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 73 return key;
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 74 }
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 75 }
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 76
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 77 pr_debug("%s() = 0 [%x]\n", __func__, key_serial(key));
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 78
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 79 return key;
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 80 }
e0751257a64ea1 Dmitry Kasatkin 2013-02-07 81
:::::: The code at line 35 was first introduced by commit
:::::: 41c89b64d7184a780f12f2cccdabe65cb2408893 IMA: create machine owner and blacklist keyrings
:::::: TO: Petko Manolov <petkan(a)mip-labs.com>
:::::: CC: Mimi Zohar <zohar(a)linux.vnet.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[dhowells-fs:keys-acl 23/24] fs/crypto/keyring.c:145:58: error: too few arguments to function call, expected 5, have 4
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git keys-acl
head: 06a67e452fb9c5815f6181878949ab31178c6d67
commit: eed986d8643280beed60cf7e7b9599f768706a53 [23/24] keys: Split the search perms between KEY_NEED_USE and KEY_NEED_SEARCH
config: powerpc64-randconfig-r016-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/com...
git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
git fetch --no-tags dhowells-fs keys-acl
git checkout eed986d8643280beed60cf7e7b9599f768706a53
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:102:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/crypto/keyring.c:26:
In file included from fs/crypto/fscrypt_private.h:17:
In file included from include/linux/blk-crypto.h:72:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:104:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/crypto/keyring.c:26:
In file included from fs/crypto/fscrypt_private.h:17:
In file included from include/linux/blk-crypto.h:72:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:106:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/crypto/keyring.c:26:
In file included from fs/crypto/fscrypt_private.h:17:
In file included from include/linux/blk-crypto.h:72:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:51:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:108:1: note: expanded from here
__do_outsw
^
arch/powerpc/include/asm/io.h:560:58: note: expanded from macro '__do_outsw'
#define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from fs/crypto/keyring.c:26:
In file included from fs/crypto/fscrypt_private.h:17:
In file included from include/linux/blk-crypto.h:72:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:11:
In file included from include/linux/highmem.h:10:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:53:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:110:1: note: expanded from here
__do_outsl
^
arch/powerpc/include/asm/io.h:561:58: note: expanded from macro '__do_outsl'
#define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
>> fs/crypto/keyring.c:145:58: error: too few arguments to function call, expected 5, have 4
keyref = keyring_search(keyref, type, description, false);
~~~~~~~~~~~~~~ ^
include/linux/key.h:434:18: note: 'keyring_search' declared here
extern key_ref_t keyring_search(key_ref_t keyring,
^
12 warnings and 1 error generated.
vim +145 fs/crypto/keyring.c
23c688b54016ee Eric Biggers 2019-08-04 133
23c688b54016ee Eric Biggers 2019-08-04 134 /* Search ->s_master_keys or ->mk_users */
22d94f493bfb40 Eric Biggers 2019-08-04 135 static struct key *search_fscrypt_keyring(struct key *keyring,
22d94f493bfb40 Eric Biggers 2019-08-04 136 struct key_type *type,
22d94f493bfb40 Eric Biggers 2019-08-04 137 const char *description)
22d94f493bfb40 Eric Biggers 2019-08-04 138 {
22d94f493bfb40 Eric Biggers 2019-08-04 139 /*
22d94f493bfb40 Eric Biggers 2019-08-04 140 * We need to mark the keyring reference as "possessed" so that we
22d94f493bfb40 Eric Biggers 2019-08-04 141 * acquire permission to search it, via the KEY_POS_SEARCH permission.
22d94f493bfb40 Eric Biggers 2019-08-04 142 */
22d94f493bfb40 Eric Biggers 2019-08-04 143 key_ref_t keyref = make_key_ref(keyring, true /* possessed */);
22d94f493bfb40 Eric Biggers 2019-08-04 144
22d94f493bfb40 Eric Biggers 2019-08-04 @145 keyref = keyring_search(keyref, type, description, false);
22d94f493bfb40 Eric Biggers 2019-08-04 146 if (IS_ERR(keyref)) {
22d94f493bfb40 Eric Biggers 2019-08-04 147 if (PTR_ERR(keyref) == -EAGAIN || /* not found */
22d94f493bfb40 Eric Biggers 2019-08-04 148 PTR_ERR(keyref) == -EKEYREVOKED) /* recently invalidated */
22d94f493bfb40 Eric Biggers 2019-08-04 149 keyref = ERR_PTR(-ENOKEY);
22d94f493bfb40 Eric Biggers 2019-08-04 150 return ERR_CAST(keyref);
22d94f493bfb40 Eric Biggers 2019-08-04 151 }
22d94f493bfb40 Eric Biggers 2019-08-04 152 return key_ref_to_ptr(keyref);
22d94f493bfb40 Eric Biggers 2019-08-04 153 }
22d94f493bfb40 Eric Biggers 2019-08-04 154
:::::: The code at line 145 was first introduced by commit
:::::: 22d94f493bfb408fdd764f7b1d0363af2122fba5 fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl
:::::: TO: Eric Biggers <ebiggers(a)google.com>
:::::: CC: Eric Biggers <ebiggers(a)google.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[powerpc:next-test 129/159] arch/powerpc/mm/book3s64/radix_tlb.c:646:6: warning: no previous prototype for function 'exit_lazy_flush_tlb'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head: 5811244192fc4e18c001c69300044c2acf30bd91
commit: 032b7f08932c9b212952d6d585e45b2941b3e8be [129/159] powerpc/64s/radix: serialize_against_pte_lookup IPIs trim mm_cpumask
config: powerpc-randconfig-r026-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/...
git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
git fetch --no-tags powerpc next-test
git checkout 032b7f08932c9b212952d6d585e45b2941b3e8be
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/powerpc/mm/book3s64/radix_tlb.c:646:6: warning: no previous prototype for function 'exit_lazy_flush_tlb' [-Wmissing-prototypes]
void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush)
^
arch/powerpc/mm/book3s64/radix_tlb.c:646:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush)
^
static
1 warning generated.
vim +/exit_lazy_flush_tlb +646 arch/powerpc/mm/book3s64/radix_tlb.c
641
642 /*
643 * If always_flush is true, then flush even if this CPU can't be removed
644 * from mm_cpumask.
645 */
> 646 void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush)
647 {
648 unsigned long pid = mm->context.id;
649 int cpu = smp_processor_id();
650
651 /*
652 * A kthread could have done a mmget_not_zero() after the flushing CPU
653 * checked mm_cpumask, and be in the process of kthread_use_mm when
654 * interrupted here. In that case, current->mm will be set to mm,
655 * because kthread_use_mm() setting ->mm and switching to the mm is
656 * done with interrupts off.
657 */
658 if (current->mm == mm)
659 goto out;
660
661 if (current->active_mm == mm) {
662 WARN_ON_ONCE(current->mm != NULL);
663 /* Is a kernel thread and is using mm as the lazy tlb */
664 mmgrab(&init_mm);
665 current->active_mm = &init_mm;
666 switch_mm_irqs_off(mm, &init_mm, current);
667 mmdrop(mm);
668 }
669
670 /*
671 * This IPI may be initiated from any source including those not
672 * running the mm, so there may be a racing IPI that comes after
673 * this one which finds the cpumask already clear. Check and avoid
674 * underflowing the active_cpus count in that case. The race should
675 * not otherwise be a problem, but the TLB must be flushed because
676 * that's what the caller expects.
677 */
678 if (cpumask_test_cpu(cpu, mm_cpumask(mm))) {
679 atomic_dec(&mm->context.active_cpus);
680 cpumask_clear_cpu(cpu, mm_cpumask(mm));
681 always_flush = true;
682 }
683
684 out:
685 if (always_flush)
686 _tlbiel_pid(pid, RIC_FLUSH_ALL);
687 }
688
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[hyperv-linux:hyperv-next 31/32] arch/x86/hyperv/irqdomain.c:27:18: sparse: sparse: incorrect type in initializer (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git hyperv-next
head: 9c9e1c68259d6cf8a348289fd13ed8f320c0d662
commit: 6f9128509b3f298893a0102fac73035b05ad0aea [31/32] x86/hyperv: implement an MSI domain for root partition
config: x86_64-randconfig-s022-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git/commit/?...
git remote add hyperv-linux https://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
git fetch --no-tags hyperv-linux hyperv-next
git checkout 6f9128509b3f298893a0102fac73035b05ad0aea
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> arch/x86/hyperv/irqdomain.c:27:18: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got void [noderef] __percpu ** @@
arch/x86/hyperv/irqdomain.c:27:18: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/hyperv/irqdomain.c:27:18: sparse: got void [noderef] __percpu **
arch/x86/hyperv/irqdomain.c:27:15: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct hv_input_map_device_interrupt *input @@ got void [noderef] __percpu * @@
arch/x86/hyperv/irqdomain.c:27:15: sparse: expected struct hv_input_map_device_interrupt *input
arch/x86/hyperv/irqdomain.c:27:15: sparse: got void [noderef] __percpu *
arch/x86/hyperv/irqdomain.c:28:19: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got void [noderef] __percpu ** @@
arch/x86/hyperv/irqdomain.c:28:19: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/hyperv/irqdomain.c:28:19: sparse: got void [noderef] __percpu **
arch/x86/hyperv/irqdomain.c:28:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct hv_output_map_device_interrupt *output @@ got void [noderef] __percpu * @@
arch/x86/hyperv/irqdomain.c:28:16: sparse: expected struct hv_output_map_device_interrupt *output
arch/x86/hyperv/irqdomain.c:28:16: sparse: got void [noderef] __percpu *
arch/x86/hyperv/irqdomain.c:80:18: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] __percpu *__vpp_verify @@ got void [noderef] __percpu ** @@
arch/x86/hyperv/irqdomain.c:80:18: sparse: expected void const [noderef] __percpu *__vpp_verify
arch/x86/hyperv/irqdomain.c:80:18: sparse: got void [noderef] __percpu **
>> arch/x86/hyperv/irqdomain.c:80:15: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct hv_input_unmap_device_interrupt *input @@ got void [noderef] __percpu * @@
arch/x86/hyperv/irqdomain.c:80:15: sparse: expected struct hv_input_unmap_device_interrupt *input
arch/x86/hyperv/irqdomain.c:80:15: sparse: got void [noderef] __percpu *
vim +27 arch/x86/hyperv/irqdomain.c
14
15 static int hv_map_interrupt(union hv_device_id device_id, bool level,
16 int cpu, int vector, struct hv_interrupt_entry *entry)
17 {
18 struct hv_input_map_device_interrupt *input;
19 struct hv_output_map_device_interrupt *output;
20 struct hv_device_interrupt_descriptor *intr_desc;
21 unsigned long flags;
22 u64 status;
23 int nr_bank, var_size;
24
25 local_irq_save(flags);
26
> 27 input = *this_cpu_ptr(hyperv_pcpu_input_arg);
28 output = *this_cpu_ptr(hyperv_pcpu_output_arg);
29
30 intr_desc = &input->interrupt_descriptor;
31 memset(input, 0, sizeof(*input));
32 input->partition_id = hv_current_partition_id;
33 input->device_id = device_id.as_uint64;
34 intr_desc->interrupt_type = HV_X64_INTERRUPT_TYPE_FIXED;
35 intr_desc->vector_count = 1;
36 intr_desc->target.vector = vector;
37
38 if (level)
39 intr_desc->trigger_mode = HV_INTERRUPT_TRIGGER_MODE_LEVEL;
40 else
41 intr_desc->trigger_mode = HV_INTERRUPT_TRIGGER_MODE_EDGE;
42
43 intr_desc->target.vp_set.valid_bank_mask = 0;
44 intr_desc->target.vp_set.format = HV_GENERIC_SET_SPARSE_4K;
45 nr_bank = cpumask_to_vpset(&(intr_desc->target.vp_set), cpumask_of(cpu));
46 if (nr_bank < 0) {
47 local_irq_restore(flags);
48 pr_err("%s: unable to generate VP set\n", __func__);
49 return EINVAL;
50 }
51 intr_desc->target.flags = HV_DEVICE_INTERRUPT_TARGET_PROCESSOR_SET;
52
53 /*
54 * var-sized hypercall, var-size starts after vp_mask (thus
55 * vp_set.format does not count, but vp_set.valid_bank_mask
56 * does).
57 */
58 var_size = nr_bank + 1;
59
60 status = hv_do_rep_hypercall(HVCALL_MAP_DEVICE_INTERRUPT, 0, var_size,
61 input, output);
62 *entry = output->interrupt_entry;
63
64 local_irq_restore(flags);
65
66 if ((status & HV_HYPERCALL_RESULT_MASK) != HV_STATUS_SUCCESS)
67 pr_err("%s: hypercall failed, status %lld\n", __func__, status);
68
69 return status & HV_HYPERCALL_RESULT_MASK;
70 }
71
72 static int hv_unmap_interrupt(u64 id, struct hv_interrupt_entry *old_entry)
73 {
74 unsigned long flags;
75 struct hv_input_unmap_device_interrupt *input;
76 struct hv_interrupt_entry *intr_entry;
77 u64 status;
78
79 local_irq_save(flags);
> 80 input = *this_cpu_ptr(hyperv_pcpu_input_arg);
81
82 memset(input, 0, sizeof(*input));
83 intr_entry = &input->interrupt_entry;
84 input->partition_id = hv_current_partition_id;
85 input->device_id = id;
86 *intr_entry = *old_entry;
87
88 status = hv_do_hypercall(HVCALL_UNMAP_DEVICE_INTERRUPT, input, NULL);
89 local_irq_restore(flags);
90
91 return status & HV_HYPERCALL_RESULT_MASK;
92 }
93
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[android-common:android12-5.4 6/15] lib/kunit/test.c:19:9: error: implicit declaration of function 'vprintk_emit'; did you mean
by kernel test robot
Hi Brendan,
First bad commit (maybe != root cause):
tree: https://android.googlesource.com/kernel/common android12-5.4
head: 150b1f5ee2833587c93b2931f3139b5b9d4ef616
commit: 5063607dbf3a4cef1150af59fd04611e4e9ddc09 [6/15] UPSTREAM: lib: enable building KUnit in lib/
config: arm64-randconfig-r001-20210209 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.4
git checkout 5063607dbf3a4cef1150af59fd04611e4e9ddc09
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
lib/kunit/test.c: In function 'kunit_vprintk_emit':
>> lib/kunit/test.c:19:9: error: implicit declaration of function 'vprintk_emit'; did you mean 'kunit_vprintk_emit'? [-Werror=implicit-function-declaration]
19 | return vprintk_emit(0, level, NULL, 0, fmt, args);
| ^~~~~~~~~~~~
| kunit_vprintk_emit
cc1: some warnings being treated as errors
vim +19 lib/kunit/test.c
ff82dbcb3e2cc5 Brendan Higgins 2019-09-23 16
ff82dbcb3e2cc5 Brendan Higgins 2019-09-23 17 static int kunit_vprintk_emit(int level, const char *fmt, va_list args)
ff82dbcb3e2cc5 Brendan Higgins 2019-09-23 18 {
ff82dbcb3e2cc5 Brendan Higgins 2019-09-23 @19 return vprintk_emit(0, level, NULL, 0, fmt, args);
ff82dbcb3e2cc5 Brendan Higgins 2019-09-23 20 }
ff82dbcb3e2cc5 Brendan Higgins 2019-09-23 21
:::::: The code at line 19 was first introduced by commit
:::::: ff82dbcb3e2cc596f464302579fdf331f7422384 UPSTREAM: kunit: test: add KUnit test runner core
:::::: TO: Brendan Higgins <brendanhiggins(a)google.com>
:::::: CC: Alexander Potapenko <glider(a)google.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months