dissertation writing service
by Oliver Jake
We Provide dissertation writing service In The UK. Our team is highly inclined to help those students who face difficulties in completing Essay and Assignments due to any reason. We are serving students for many years with clear goals, high values, work excellence, and a supreme reputation. Encourage Students To Overcome Academic Work Processes By Providing Affordable essay Writing Services in the UK.
<a href="https://essaysnassignments.co.uk/dissertation-writing-services/">Dissertation Writing Service</a>
1 year, 1 month
Re: [PATCH 5/5] ext4: Improve scalability of ext4 orphan file handling
by kernel test robot
Hi Jan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on ext4/dev]
[also build test WARNING on ext3/for_next linus/master v5.14-rc5 next-20210811]
[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]
url: https://github.com/0day-ci/linux/commits/Jan-Kara/ext4-Speedup-orphan-fil...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
config: parisc-randconfig-s032-20210810 (attached as .config)
compiler: hppa-linux-gcc (GCC) 10.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-348-gf0e6938b-dirty
# https://github.com/0day-ci/linux/commit/77029a42c6e037181b218cbf10a93561e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jan-Kara/ext4-Speedup-orphan-file-handling/20210811-182113
git checkout 77029a42c6e037181b218cbf10a93561e664fb9e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=parisc SHELL=/bin/bash fs/ext4/
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 >>)
>> fs/ext4/orphan.c:76:18: sparse: sparse: cast from restricted __le32
>> fs/ext4/orphan.c:76:18: sparse: sparse: cast from restricted __le32
>> fs/ext4/orphan.c:76:18: sparse: sparse: cast to restricted __le32
vim +76 fs/ext4/orphan.c
10
11 static int ext4_orphan_file_add(handle_t *handle, struct inode *inode)
12 {
13 int i, j, start;
14 struct ext4_orphan_info *oi = &EXT4_SB(inode->i_sb)->s_orphan_info;
15 int ret = 0;
16 bool found = false;
17 __le32 *bdata;
18 int inodes_per_ob = ext4_inodes_per_orphan_block(inode->i_sb);
19 int looped = 0;
20
21 /*
22 * Find block with free orphan entry. Use CPU number for a naive hash
23 * for a search start in the orphan file
24 */
25 start = raw_smp_processor_id()*13 % oi->of_blocks;
26 i = start;
27 do {
28 if (atomic_dec_if_positive(&oi->of_binfo[i].ob_free_entries)
29 >= 0) {
30 found = true;
31 break;
32 }
33 if (++i >= oi->of_blocks)
34 i = 0;
35 } while (i != start);
36
37 if (!found) {
38 /*
39 * For now we don't grow or shrink orphan file. We just use
40 * whatever was allocated at mke2fs time. The additional
41 * credits we would have to reserve for each orphan inode
42 * operation just don't seem worth it.
43 */
44 return -ENOSPC;
45 }
46
47 ret = ext4_journal_get_write_access(handle, inode->i_sb,
48 oi->of_binfo[i].ob_bh, EXT4_JTR_ORPHAN_FILE);
49 if (ret)
50 return ret;
51
52 bdata = (__le32 *)(oi->of_binfo[i].ob_bh->b_data);
53 /* Find empty slot in a block */
54 j = 0;
55 do {
56 if (looped) {
57 /*
58 * Did we walk through the block several times without
59 * finding free entry? It is theoretically possible
60 * if entries get constantly allocated and freed or
61 * if the block is corrupted. Avoid indefinite looping
62 * and bail. We'll use orphan list instead.
63 */
64 if (looped > 3) {
65 atomic_inc(&oi->of_binfo[i].ob_free_entries);
66 return -ENOSPC;
67 }
68 cond_resched();
69 }
70 while (bdata[j]) {
71 if (++j >= inodes_per_ob) {
72 j = 0;
73 looped++;
74 }
75 }
> 76 } while (cmpxchg(&bdata[j], 0, cpu_to_le32(inode->i_ino)) != 0);
77
78 EXT4_I(inode)->i_orphan_idx = i * inodes_per_ob + j;
79 ext4_set_inode_state(inode, EXT4_STATE_ORPHAN_FILE);
80
81 return ext4_handle_dirty_metadata(handle, NULL, oi->of_binfo[i].ob_bh);
82 }
83
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[android-common:android-5.4-stable 1/1] arch/arm64/kernel/vdso/vgettimeofday.c:27:8: warning: no previous prototype for '__kernel_time'
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-5.4-stable
head: 7bbd50f11d3086fe75fac78882de0d42e27293fa
commit: 7bbd50f11d3086fe75fac78882de0d42e27293fa [1/1] ANDROID: arch: arm64: vdso: export the symbols for time()
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 10.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 android-5.4-stable
git checkout 7bbd50f11d3086fe75fac78882de0d42e27293fa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.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 warnings (new ones prefixed by >>):
arch/arm64/kernel/vdso/vgettimeofday.c:9:5: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes]
9 | int __kernel_clock_gettime(clockid_t clock,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/vdso/vgettimeofday.c:15:5: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes]
15 | int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
| ^~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/vdso/vgettimeofday.c:21:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes]
21 | int __kernel_clock_getres(clockid_t clock_id,
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/vdso/vgettimeofday.c:27:8: warning: no previous prototype for '__kernel_time' [-Wmissing-prototypes]
27 | time_t __kernel_time(time_t *time)
| ^~~~~~~~~~~~~
--
arch/arm64/kernel/vdso/vgettimeofday.c:9:5: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes]
9 | int __kernel_clock_gettime(clockid_t clock,
| ^~~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/vdso/vgettimeofday.c:15:5: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes]
15 | int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
| ^~~~~~~~~~~~~~~~~~~~~
arch/arm64/kernel/vdso/vgettimeofday.c:21:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes]
21 | int __kernel_clock_getres(clockid_t clock_id,
| ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kernel/vdso/vgettimeofday.c:27:8: warning: no previous prototype for '__kernel_time' [-Wmissing-prototypes]
27 | time_t __kernel_time(time_t *time)
| ^~~~~~~~~~~~~
vim +/__kernel_time +27 arch/arm64/kernel/vdso/vgettimeofday.c
> 9 int __kernel_clock_gettime(clockid_t clock,
10 struct __kernel_timespec *ts)
11 {
12 return __cvdso_clock_gettime(clock, ts);
13 }
14
15 int __kernel_gettimeofday(struct __kernel_old_timeval *tv,
16 struct timezone *tz)
17 {
18 return __cvdso_gettimeofday(tv, tz);
19 }
20
21 int __kernel_clock_getres(clockid_t clock_id,
22 struct __kernel_timespec *res)
23 {
24 return __cvdso_clock_getres(clock_id, res);
25 }
26
> 27 time_t __kernel_time(time_t *time)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
Re: [PATCH v3] Bluetooth: btusb: Add support different nvm to distinguish different factory for WCN6855 controller
by kernel test robot
Hi Zijun,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on bluetooth-next/master]
[also build test ERROR on linus/master v5.14-rc5 next-20210812]
[cannot apply to bluetooth/master linux/master]
[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]
url: https://github.com/0day-ci/linux/commits/Zijun-Hu/Bluetooth-btusb-Add-sup...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: alpha-randconfig-s032-20210811 (attached as .config)
compiler: alpha-linux-gcc (GCC) 10.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-348-gf0e6938b-dirty
# https://github.com/0day-ci/linux/commit/c9758b351006b29772f27d1e5e7fe9042...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Zijun-Hu/Bluetooth-btusb-Add-support-different-nvm-to-distinguish-different-factory-for-WCN6855-controller/20210812-165229
git checkout c9758b351006b29772f27d1e5e7fe904270f1356
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=alpha
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 >>):
drivers/bluetooth/btusb.c: In function 'btusb_setup_qca_form_nvm_name':
drivers/bluetooth/btusb.c:3371:1: error: no return statement in function returning non-void [-Werror=return-type]
3371 | }
| ^
drivers/bluetooth/btusb.c: In function 'btusb_setup_qca_load_nvm':
>> drivers/bluetooth/btusb.c:3385:34: error: passing argument 1 of 'btusb_setup_qca_form_nvm_name' from incompatible pointer type [-Werror=incompatible-pointer-types]
3385 | btusb_setup_qca_form_nvm_name(&fwname, sizeof(fwname), ver, "gf");
| ^~~~~~~
| |
| char (*)[64]
drivers/bluetooth/btusb.c:3340:49: note: expected 'char **' but argument is of type 'char (*)[64]'
3340 | static int btusb_setup_qca_form_nvm_name(char **fwname,
| ~~~~~~~^~~~~~
drivers/bluetooth/btusb.c:3393:34: error: passing argument 1 of 'btusb_setup_qca_form_nvm_name' from incompatible pointer type [-Werror=incompatible-pointer-types]
3393 | btusb_setup_qca_form_nvm_name(&fwname, sizeof(fwname), ver, NULL);
| ^~~~~~~
| |
| char (*)[64]
drivers/bluetooth/btusb.c:3340:49: note: expected 'char **' but argument is of type 'char (*)[64]'
3340 | static int btusb_setup_qca_form_nvm_name(char **fwname,
| ~~~~~~~^~~~~~
cc1: some warnings being treated as errors
vim +/btusb_setup_qca_form_nvm_name +3385 drivers/bluetooth/btusb.c
3372
3373 static int btusb_setup_qca_load_nvm(struct hci_dev *hdev,
3374 struct qca_version *ver,
3375 const struct qca_device_info *info)
3376 {
3377 const struct firmware *fw;
3378 char fwname[64];
3379 int err;
3380
3381 switch (ver->ram_version) {
3382 case WCN6855_2_0_RAM_VERSION_GF:
3383 case WCN6855_2_1_RAM_VERSION_GF:
3384 if (((ver->flag >> 8) & 0xff) == QCA_FLAG_MULTI_NVM) {
> 3385 btusb_setup_qca_form_nvm_name(&fwname, sizeof(fwname), ver, "gf");
3386 } else {
3387 snprintf(fwname, sizeof(fwname), "qca/nvm_usb_%08x.bin",
3388 le32_to_cpu(ver->rom_version));
3389 }
3390 break;
3391 default:
3392 if (((ver->flag >> 8) & 0xff) == QCA_FLAG_MULTI_NVM) {
3393 btusb_setup_qca_form_nvm_name(&fwname, sizeof(fwname), ver, NULL);
3394 } else {
3395 snprintf(fwname, sizeof(fwname), "qca/nvm_usb_%08x.bin",
3396 le32_to_cpu(ver->rom_version));
3397 }
3398 break;
3399 }
3400
3401 err = request_firmware(&fw, fwname, &hdev->dev);
3402 if (err) {
3403 bt_dev_err(hdev, "failed to request NVM file: %s (%d)",
3404 fwname, err);
3405 return err;
3406 }
3407
3408 bt_dev_info(hdev, "using NVM file: %s", fwname);
3409
3410 err = btusb_setup_qca_download_fw(hdev, fw, info->nvm_hdr);
3411
3412 release_firmware(fw);
3413
3414 return err;
3415 }
3416
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[kbuild] [drm-drm-misc:drm-misc-next 10/24] drivers/gpu/drm/mgag200/mgag200_pll.c:142 mgag200_pixpll_compute_g200se_00() error: uninitialized symbol 'delta'.
by Dan Carpenter
tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: 2ca380ea0e6a31046b7c4048e3f61cfc2f6b2aa3
commit: 2545ac960364d0395802a27374b46f13827b4cf5 [10/24] drm/mgag200: Abstract pixel PLL via struct mgag200_pll
config: x86_64-randconfig-m001-20210812 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/gpu/drm/mgag200/mgag200_pll.c:142 mgag200_pixpll_compute_g200se_00() error: uninitialized symbol 'delta'.
vim +/delta +142 drivers/gpu/drm/mgag200/mgag200_pll.c
2545ac960364d0 Thomas Zimmermann 2021-07-14 114 static int mgag200_pixpll_compute_g200se_00(struct mgag200_pll *pixpll, long clock,
2545ac960364d0 Thomas Zimmermann 2021-07-14 115 struct mgag200_pll_values *pixpllc)
2545ac960364d0 Thomas Zimmermann 2021-07-14 116 {
2545ac960364d0 Thomas Zimmermann 2021-07-14 117 static const unsigned int vcomax = 320000;
2545ac960364d0 Thomas Zimmermann 2021-07-14 118 static const unsigned int vcomin = 160000;
2545ac960364d0 Thomas Zimmermann 2021-07-14 119 static const unsigned int pllreffreq = 25000;
2545ac960364d0 Thomas Zimmermann 2021-07-14 120
2545ac960364d0 Thomas Zimmermann 2021-07-14 121 unsigned int delta, tmpdelta, permitteddelta;
^^^^^^^^^^^^^^^^^^
2545ac960364d0 Thomas Zimmermann 2021-07-14 122 unsigned int testp, testm, testn;
2545ac960364d0 Thomas Zimmermann 2021-07-14 123 unsigned int p, m, n, s;
2545ac960364d0 Thomas Zimmermann 2021-07-14 124 unsigned int computed;
2545ac960364d0 Thomas Zimmermann 2021-07-14 125
2545ac960364d0 Thomas Zimmermann 2021-07-14 126 m = n = p = s = 0;
2545ac960364d0 Thomas Zimmermann 2021-07-14 127 permitteddelta = clock * 5 / 1000;
2545ac960364d0 Thomas Zimmermann 2021-07-14 128
2545ac960364d0 Thomas Zimmermann 2021-07-14 129 for (testp = 8; testp > 0; testp /= 2) {
2545ac960364d0 Thomas Zimmermann 2021-07-14 130 if (clock * testp > vcomax)
2545ac960364d0 Thomas Zimmermann 2021-07-14 131 continue;
2545ac960364d0 Thomas Zimmermann 2021-07-14 132 if (clock * testp < vcomin)
2545ac960364d0 Thomas Zimmermann 2021-07-14 133 continue;
2545ac960364d0 Thomas Zimmermann 2021-07-14 134
2545ac960364d0 Thomas Zimmermann 2021-07-14 135 for (testn = 17; testn < 256; testn++) {
2545ac960364d0 Thomas Zimmermann 2021-07-14 136 for (testm = 1; testm < 32; testm++) {
2545ac960364d0 Thomas Zimmermann 2021-07-14 137 computed = (pllreffreq * testn) / (testm * testp);
2545ac960364d0 Thomas Zimmermann 2021-07-14 138 if (computed > clock)
2545ac960364d0 Thomas Zimmermann 2021-07-14 139 tmpdelta = computed - clock;
2545ac960364d0 Thomas Zimmermann 2021-07-14 140 else
2545ac960364d0 Thomas Zimmermann 2021-07-14 141 tmpdelta = clock - computed;
2545ac960364d0 Thomas Zimmermann 2021-07-14 @142 if (tmpdelta < delta) {
"delta" is not intialized until the next line.
2545ac960364d0 Thomas Zimmermann 2021-07-14 143 delta = tmpdelta;
2545ac960364d0 Thomas Zimmermann 2021-07-14 144 m = testm;
2545ac960364d0 Thomas Zimmermann 2021-07-14 145 n = testn;
2545ac960364d0 Thomas Zimmermann 2021-07-14 146 p = testp;
2545ac960364d0 Thomas Zimmermann 2021-07-14 147 }
2545ac960364d0 Thomas Zimmermann 2021-07-14 148 }
2545ac960364d0 Thomas Zimmermann 2021-07-14 149 }
2545ac960364d0 Thomas Zimmermann 2021-07-14 150 }
2545ac960364d0 Thomas Zimmermann 2021-07-14 151
2545ac960364d0 Thomas Zimmermann 2021-07-14 152 if (delta > permitteddelta) {
2545ac960364d0 Thomas Zimmermann 2021-07-14 153 pr_warn("PLL delta too large\n");
2545ac960364d0 Thomas Zimmermann 2021-07-14 154 return -EINVAL;
2545ac960364d0 Thomas Zimmermann 2021-07-14 155 }
2545ac960364d0 Thomas Zimmermann 2021-07-14 156
2545ac960364d0 Thomas Zimmermann 2021-07-14 157 pixpllc->m = m;
2545ac960364d0 Thomas Zimmermann 2021-07-14 158 pixpllc->n = n;
2545ac960364d0 Thomas Zimmermann 2021-07-14 159 pixpllc->p = p;
2545ac960364d0 Thomas Zimmermann 2021-07-14 160 pixpllc->s = s;
2545ac960364d0 Thomas Zimmermann 2021-07-14 161
2545ac960364d0 Thomas Zimmermann 2021-07-14 162 return 0;
2545ac960364d0 Thomas Zimmermann 2021-07-14 163 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild(a)lists.01.org
To unsubscribe send an email to kbuild-leave(a)lists.01.org
1 year, 1 month
[congwang:sch_bpf 2/2] net/sched/sch_bpf.c:174:13: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
by kernel test robot
tree: https://github.com/congwang/linux.git sch_bpf
head: aa61f170d88b706060a1977b7b7bef9d08e33ff1
commit: aa61f170d88b706060a1977b7b7bef9d08e33ff1 [2/2] sch_bpf: draft
config: hexagon-buildonly-randconfig-r001-20210812 (attached as .config)
compiler: clang version 12.0.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://github.com/congwang/linux/commit/aa61f170d88b706060a1977b7b7bef9d...
git remote add congwang https://github.com/congwang/linux.git
git fetch --no-tags congwang sch_bpf
git checkout aa61f170d88b706060a1977b7b7bef9d08e33ff1
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=hexagon SHELL=/bin/bash net/sched/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> net/sched/sch_bpf.c:174:13: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
enqueue = rcu_dereference(q->enqueue_prog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:596:28: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:528:2: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:389:9: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
^~
>> net/sched/sch_bpf.c:174:13: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
enqueue = rcu_dereference(q->enqueue_prog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:596:28: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:528:2: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:389:35: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
^~
>> net/sched/sch_bpf.c:174:13: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
enqueue = rcu_dereference(q->enqueue_prog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:596:28: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:528:2: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:392:11: note: expanded from macro '__rcu_dereference_check'
((typeof(*p) __force __kernel *)(________p1)); \
^~
>> net/sched/sch_bpf.c:174:11: error: assigning to 'struct bpf_prog *' from incompatible type 'void'
enqueue = rcu_dereference(q->enqueue_prog);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/sched/sch_bpf.c:219:12: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
dequeue = rcu_dereference(q->dequeue_prog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:596:28: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:528:2: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:389:9: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
^~
net/sched/sch_bpf.c:219:12: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
dequeue = rcu_dereference(q->dequeue_prog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:596:28: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:528:2: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:389:35: note: expanded from macro '__rcu_dereference_check'
typeof(*p) *________p1 = (typeof(*p) *__force)READ_ONCE(p); \
^~
net/sched/sch_bpf.c:219:12: error: indirection requires pointer operand ('struct sch_bpf_prog' invalid)
dequeue = rcu_dereference(q->dequeue_prog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:596:28: note: expanded from macro 'rcu_dereference'
#define rcu_dereference(p) rcu_dereference_check(p, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:528:2: note: expanded from macro 'rcu_dereference_check'
__rcu_dereference_check((p), (c) || rcu_read_lock_held(), __rcu)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/rcupdate.h:392:11: note: expanded from macro '__rcu_dereference_check'
((typeof(*p) __force __kernel *)(________p1)); \
^~
net/sched/sch_bpf.c:219:10: error: assigning to 'struct bpf_prog *' from incompatible type 'void'
dequeue = rcu_dereference(q->dequeue_prog);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/sched/sch_bpf.c:220:28: error: use of undeclared identifier 'skb'
bpf_compute_data_pointers(skb);
^
>> net/sched/sch_bpf.c:231:11: error: incompatible pointer types assigning to 'struct sk_buff *' from 'struct pq_node *' [-Werror,-Wincompatible-pointer-types]
ctx.skb = pq_pop(&cl->pq);
^ ~~~~~~~~~~~~~~~
>> net/sched/sch_bpf.c:237:13: error: use of undeclared identifier 'SCH_BPF_RET_OK'
if (res == SCH_BPF_RET_OK) {
^
>> net/sched/sch_bpf.c:239:20: error: use of undeclared identifier 'SCH_BPF_RET_REQUEUE'
} else if (res == SCH_BPF_RET_REQUEUE) {
^
>> net/sched/sch_bpf.c:284:37: warning: incompatible integer to pointer conversion passing 'u32' (aka 'unsigned int') to parameter of type 'struct Qdisc *' [-Wint-conversion]
return (unsigned long)sch_bpf_find(handle, sch);
^~~~~~
net/sched/sch_bpf.c:115:57: note: passing argument to parameter 'sch' here
static struct sch_bpf_class *sch_bpf_find(struct Qdisc *sch, u32 classid)
^
>> net/sched/sch_bpf.c:284:45: warning: incompatible pointer to integer conversion passing 'struct Qdisc *' to parameter of type 'u32' (aka 'unsigned int') [-Wint-conversion]
return (unsigned long)sch_bpf_find(handle, sch);
^~~
net/sched/sch_bpf.c:115:66: note: passing argument to parameter 'classid' here
static struct sch_bpf_class *sch_bpf_find(struct Qdisc *sch, u32 classid)
^
>> net/sched/sch_bpf.c:298:3: error: use of undeclared identifier 'TCA_SCH_BPF_ENQUEUE_PROG_FD'; did you mean 'TCA_SCH_BPF_ENQUEUE_PROG_ID'?
[TCA_SCH_BPF_ENQUEUE_PROG_FD] = { .type = NLA_U32 },
^~~~~~~~~~~~~~~~~~~~~~~~~~~
TCA_SCH_BPF_ENQUEUE_PROG_ID
include/uapi/linux/pkt_sched.h:1269:2: note: 'TCA_SCH_BPF_ENQUEUE_PROG_ID' declared here
TCA_SCH_BPF_ENQUEUE_PROG_ID, /* u32 */
^
>> net/sched/sch_bpf.c:301:3: error: use of undeclared identifier 'TCA_SCH_BPF_DEQUEUE_PROG_FD'; did you mean 'TCA_SCH_BPF_DEQUEUE_PROG_ID'?
[TCA_SCH_BPF_DEQUEUE_PROG_FD] = { .type = NLA_U32 },
^~~~~~~~~~~~~~~~~~~~~~~~~~~
TCA_SCH_BPF_DEQUEUE_PROG_ID
include/uapi/linux/pkt_sched.h:1272:2: note: 'TCA_SCH_BPF_DEQUEUE_PROG_ID' declared here
TCA_SCH_BPF_DEQUEUE_PROG_ID, /* u32 */
^
>> net/sched/sch_bpf.c:314:33: error: use of undeclared identifier 'BPF_PROG_TYPE_SCHED_SCH'; did you mean 'BPF_PROG_TYPE_SCHED_ACT'?
fp = bpf_prog_get_type(bpf_fd, BPF_PROG_TYPE_SCHED_SCH);
^~~~~~~~~~~~~~~~~~~~~~~
BPF_PROG_TYPE_SCHED_ACT
include/uapi/linux/bpf.h:924:2: note: 'BPF_PROG_TYPE_SCHED_ACT' declared here
BPF_PROG_TYPE_SCHED_ACT,
^
net/sched/sch_bpf.c:353:26: error: use of undeclared identifier 'TCA_SCH_BPF_ENQUEUE_PROG_FD'; did you mean 'TCA_SCH_BPF_ENQUEUE_PROG_ID'?
err = bpf_init_prog(opt[TCA_SCH_BPF_ENQUEUE_PROG_FD],
^~~~~~~~~~~~~~~~~~~~~~~~~~~
TCA_SCH_BPF_ENQUEUE_PROG_ID
include/uapi/linux/pkt_sched.h:1269:2: note: 'TCA_SCH_BPF_ENQUEUE_PROG_ID' declared here
TCA_SCH_BPF_ENQUEUE_PROG_ID, /* u32 */
^
>> net/sched/sch_bpf.c:353:22: error: passing 'struct nlattr' to parameter of incompatible type 'struct nlattr *'; take the address with &
err = bpf_init_prog(opt[TCA_SCH_BPF_ENQUEUE_PROG_FD],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&
net/sched/sch_bpf.c:306:41: note: passing argument to parameter 'fd' here
static int bpf_init_prog(struct nlattr *fd, struct nlattr *name, struct sch_bpf_prog *prog)
^
net/sched/sch_bpf.c:357:26: error: use of undeclared identifier 'TCA_SCH_BPF_DEQUEUE_PROG_FD'; did you mean 'TCA_SCH_BPF_DEQUEUE_PROG_ID'?
err = bpf_init_prog(opt[TCA_SCH_BPF_DEQUEUE_PROG_FD],
^~~~~~~~~~~~~~~~~~~~~~~~~~~
TCA_SCH_BPF_DEQUEUE_PROG_ID
include/uapi/linux/pkt_sched.h:1272:2: note: 'TCA_SCH_BPF_DEQUEUE_PROG_ID' declared here
TCA_SCH_BPF_DEQUEUE_PROG_ID, /* u32 */
^
net/sched/sch_bpf.c:357:22: error: passing 'struct nlattr' to parameter of incompatible type 'struct nlattr *'; take the address with &
err = bpf_init_prog(opt[TCA_SCH_BPF_DEQUEUE_PROG_FD],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&
net/sched/sch_bpf.c:306:41: note: passing argument to parameter 'fd' here
static int bpf_init_prog(struct nlattr *fd, struct nlattr *name, struct sch_bpf_prog *prog)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
vim +174 net/sched/sch_bpf.c
160
161 static int sch_bpf_enqueue(struct sk_buff *skb, struct Qdisc *sch,
162 struct sk_buff **to_free)
163 {
164 struct sch_bpf_qdisc *q = qdisc_priv(sch);
165 unsigned int len = qdisc_pkt_len(skb);
166 struct sch_bpf_ctx ctx = {};
167 struct sch_bpf_class *cl;
168 int res;
169
170 cl = sch_bpf_classify(skb, sch, &res);
171 if (!cl) {
172 struct bpf_prog *enqueue;
173
> 174 enqueue = rcu_dereference(q->enqueue_prog);
175 bpf_compute_data_pointers(skb);
176
177 ctx.skb = skb;
178 ctx.nr_classes = q->clhash.hashelems;
179 ctx.nr_packets = sch->q.qlen;
180 res = BPF_PROG_RUN(enqueue, &ctx);
181 cl = sch_bpf_find(sch, ctx.classid);
182 if (!cl) {
183 if (res & __NET_XMIT_BYPASS)
184 qdisc_qstats_drop(sch);
185 __qdisc_drop(skb, to_free);
186 return res;
187 }
188 }
189
190 if (cl->qdisc) {
191 if ((res = qdisc_enqueue(skb, cl->qdisc,
192 to_free)) != NET_XMIT_SUCCESS) {
193 if (net_xmit_drop_count(ret)) {
194 qdisc_qstats_drop(sch);
195 cl->drops++;
196 }
197 return res;
198 }
199 } else {
200 sch_bpf_skb_cb(skb)->rank = ctx.rank;
201 pq_push(&cl->pq, &skb->pqnode);
202 }
203
204 sch->qstats.backlog += len;
205 sch->q.qlen++;
206 return res;
207 }
208
209 static struct sk_buff *sch_bpf_dequeue(struct Qdisc *sch)
210 {
211 struct sch_bpf_qdisc *q = qdisc_priv(sch);
212 struct sch_bpf_ctx ctx = {};
213 struct sk_buff *ret = NULL;
214 struct bpf_prog *dequeue;
215 struct sch_bpf_class *cl;
216 struct pq_node *flow;
217 int res;
218
219 dequeue = rcu_dereference(q->dequeue_prog);
> 220 bpf_compute_data_pointers(skb);
221
222 flow = pq_pop(&q->flows);
223 if (!flow)
224 return NULL;
225
226 cl = container_of(flow, struct sch_bpf_class, node);
227 if (cl->qdisc) {
228 ctx.skb = cl->qdisc->dequeue(cl->qdisc);
229 ctx.classid = cl->common.classid;
230 } else {
> 231 ctx.skb = pq_pop(&cl->pq);
232 ctx.classid = cl->rank;
233 }
234 ctx.nr_classes = q->clhash.hashelems;
235 ctx.nr_packets = sch->q.qlen;
236 res = BPF_PROG_RUN(dequeue, &ctx);
> 237 if (res == SCH_BPF_RET_OK) {
238 ret = ctx.skb;
> 239 } else if (res == SCH_BPF_RET_REQUEUE) {
240 sch_bpf_skb_cb(ctx.skb)->rank = ctx.rank;
241 pq_push(&cl->pq, &ctx.skb->pqnode);
242 ret = NULL;
243 } else {
244 kfree_skb(ctx.skb);
245 ret = NULL;
246 }
247
248 cl->rank = ctx.classid;
249 if (pq_top(&cl->pq)) {
250 pq_push(&q->flows, &cl->node);
251 }
252 return ret;
253 }
254
255 static struct Qdisc *sch_bpf_leaf(struct Qdisc *sch, unsigned long arg)
256 {
257 struct sch_bpf_class *cl = (struct sch_bpf_class *)arg;
258
259 return cl->qdisc;
260 }
261
262 static int sch_bpf_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
263 struct Qdisc **old, struct netlink_ext_ack *extack)
264 {
265 struct sch_bpf_class *cl = (struct sch_bpf_class *)arg;
266
267 if (new)
268 *old = qdisc_replace(sch, new, &cl->qdisc);
269 return 0;
270 }
271
272 static unsigned long sch_bpf_bind(struct Qdisc *sch, unsigned long parent,
273 u32 classid)
274 {
275 return 0;
276 }
277
278 static void sch_bpf_unbind(struct Qdisc *q, unsigned long cl)
279 {
280 }
281
282 static unsigned long sch_bpf_search(struct Qdisc *sch, u32 handle)
283 {
> 284 return (unsigned long)sch_bpf_find(handle, sch);
285 }
286
287 static struct tcf_block *sch_bpf_tcf_block(struct Qdisc *sch, unsigned long cl,
288 struct netlink_ext_ack *extack)
289 {
290 struct sch_bpf_qdisc *q = qdisc_priv(sch);
291
292 if (cl)
293 return NULL;
294 return q->block;
295 }
296
297 static const struct nla_policy sch_bpf_policy[TCA_SCH_BPF_MAX + 1] = {
> 298 [TCA_SCH_BPF_ENQUEUE_PROG_FD] = { .type = NLA_U32 },
299 [TCA_SCH_BPF_ENQUEUE_PROG_NAME] = { .type = NLA_NUL_STRING,
300 .len = ACT_BPF_NAME_LEN },
> 301 [TCA_SCH_BPF_DEQUEUE_PROG_FD] = { .type = NLA_U32 },
302 [TCA_SCH_BPF_DEQUEUE_PROG_NAME] = { .type = NLA_NUL_STRING,
303 .len = ACT_BPF_NAME_LEN },
304 };
305
306 static int bpf_init_prog(struct nlattr *fd, struct nlattr *name, struct sch_bpf_prog *prog)
307 {
308 char *prog_name = NULL;
309 struct bpf_prog *fp;
310 u32 bpf_fd;
311
312 bpf_fd = nla_get_u32(fd);
313
> 314 fp = bpf_prog_get_type(bpf_fd, BPF_PROG_TYPE_SCHED_SCH);
315 if (IS_ERR(fp))
316 return PTR_ERR(fp);
317
318 if (name) {
319 prog_name = nla_memdup(name, GFP_KERNEL);
320 if (!prog_name) {
321 bpf_prog_put(fp);
322 return -ENOMEM;
323 }
324 }
325
326 prog->name = prog_name;
327 prog->prog = fp;
328 return 0;
329 }
330
331 static bpf_cleanup_prog(struct sch_bpf_prog *prog)
332 {
333 if (prog->prog)
334 bpf_prog_put(prog->prog);
335 kfree(prog->name);
336 }
337
338 static int sch_bpf_change(struct Qdisc *sch, struct nlattr *opt,
339 struct netlink_ext_ack *extack)
340 {
341 struct sch_bpf_qdisc *q = qdisc_priv(sch);
342 struct nlattr *tb[TCA_SCH_BPF_MAX + 1];
343 u32 gen_flags = 0;
344 int err;
345
346 if (!opt)
347 return -EINVAL;
348
349 err = nla_parse_nested_deprecated(tb, TCA_SCH_BPF_MAX, opt,
350 sch_bpf_policy, NULL);
351 if (err < 0)
352 return err;
> 353 err = bpf_init_prog(opt[TCA_SCH_BPF_ENQUEUE_PROG_FD],
354 opt[TCA_SCH_BPF_ENQUEUE_PROG_NAME], &q->enqueue_prog);
355 if (err)
356 return err;
357 err = bpf_init_prog(opt[TCA_SCH_BPF_DEQUEUE_PROG_FD],
358 opt[TCA_SCH_BPF_DEQUEUE_PROG_NAME], &q->dequeue_prog);
359 return err;
360 }
361
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
drivers/hsi/clients/cmt_speech.c:831: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
by kernel test robot
Hi Aditya,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1746f4db513563bb22e0ba0c419d0c90912dfae1
commit: 3e58e839150db0857dfcb3a0bb3d4af4c6ac1abf scripts: kernel-doc: add warning for comment not following kernel-doc syntax
date: 5 months ago
config: arm-buildonly-randconfig-r004-20210812 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 10.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/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 3e58e839150db0857dfcb3a0bb3d4af4c6ac1abf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arm
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 >>):
>> drivers/hsi/clients/cmt_speech.c:831: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* Block until pending data transfers have completed.
vim +831 drivers/hsi/clients/cmt_speech.c
7f62fe8a5851db Kai Vehmanen 2010-06-02 829
7f62fe8a5851db Kai Vehmanen 2010-06-02 830 /**
7f62fe8a5851db Kai Vehmanen 2010-06-02 @831 * Block until pending data transfers have completed.
7f62fe8a5851db Kai Vehmanen 2010-06-02 832 */
7f62fe8a5851db Kai Vehmanen 2010-06-02 833 static int cs_hsi_data_sync(struct cs_hsi_iface *hi)
7f62fe8a5851db Kai Vehmanen 2010-06-02 834 {
7f62fe8a5851db Kai Vehmanen 2010-06-02 835 int r = 0;
7f62fe8a5851db Kai Vehmanen 2010-06-02 836
7f62fe8a5851db Kai Vehmanen 2010-06-02 837 spin_lock_bh(&hi->lock);
7f62fe8a5851db Kai Vehmanen 2010-06-02 838
7f62fe8a5851db Kai Vehmanen 2010-06-02 839 if (!cs_state_xfer_active(hi->data_state)) {
7f62fe8a5851db Kai Vehmanen 2010-06-02 840 dev_dbg(&hi->cl->device, "hsi_data_sync break, idle\n");
7f62fe8a5851db Kai Vehmanen 2010-06-02 841 goto out;
7f62fe8a5851db Kai Vehmanen 2010-06-02 842 }
7f62fe8a5851db Kai Vehmanen 2010-06-02 843
7f62fe8a5851db Kai Vehmanen 2010-06-02 844 for (;;) {
7f62fe8a5851db Kai Vehmanen 2010-06-02 845 int s;
7f62fe8a5851db Kai Vehmanen 2010-06-02 846 DEFINE_WAIT(wait);
7f62fe8a5851db Kai Vehmanen 2010-06-02 847 if (!cs_state_xfer_active(hi->data_state))
7f62fe8a5851db Kai Vehmanen 2010-06-02 848 goto out;
7f62fe8a5851db Kai Vehmanen 2010-06-02 849 if (signal_pending(current)) {
7f62fe8a5851db Kai Vehmanen 2010-06-02 850 r = -ERESTARTSYS;
7f62fe8a5851db Kai Vehmanen 2010-06-02 851 goto out;
7f62fe8a5851db Kai Vehmanen 2010-06-02 852 }
7f62fe8a5851db Kai Vehmanen 2010-06-02 853 /**
7f62fe8a5851db Kai Vehmanen 2010-06-02 854 * prepare_to_wait must be called with hi->lock held
7f62fe8a5851db Kai Vehmanen 2010-06-02 855 * so that callbacks can check for waitqueue_active()
7f62fe8a5851db Kai Vehmanen 2010-06-02 856 */
7f62fe8a5851db Kai Vehmanen 2010-06-02 857 prepare_to_wait(&hi->datawait, &wait, TASK_INTERRUPTIBLE);
7f62fe8a5851db Kai Vehmanen 2010-06-02 858 spin_unlock_bh(&hi->lock);
7f62fe8a5851db Kai Vehmanen 2010-06-02 859 s = schedule_timeout(
7f62fe8a5851db Kai Vehmanen 2010-06-02 860 msecs_to_jiffies(CS_HSI_TRANSFER_TIMEOUT_MS));
7f62fe8a5851db Kai Vehmanen 2010-06-02 861 spin_lock_bh(&hi->lock);
7f62fe8a5851db Kai Vehmanen 2010-06-02 862 finish_wait(&hi->datawait, &wait);
7f62fe8a5851db Kai Vehmanen 2010-06-02 863 if (!s) {
7f62fe8a5851db Kai Vehmanen 2010-06-02 864 dev_dbg(&hi->cl->device,
7f62fe8a5851db Kai Vehmanen 2010-06-02 865 "hsi_data_sync timeout after %d ms\n",
7f62fe8a5851db Kai Vehmanen 2010-06-02 866 CS_HSI_TRANSFER_TIMEOUT_MS);
7f62fe8a5851db Kai Vehmanen 2010-06-02 867 r = -EIO;
7f62fe8a5851db Kai Vehmanen 2010-06-02 868 goto out;
7f62fe8a5851db Kai Vehmanen 2010-06-02 869 }
7f62fe8a5851db Kai Vehmanen 2010-06-02 870 }
7f62fe8a5851db Kai Vehmanen 2010-06-02 871
7f62fe8a5851db Kai Vehmanen 2010-06-02 872 out:
7f62fe8a5851db Kai Vehmanen 2010-06-02 873 spin_unlock_bh(&hi->lock);
7f62fe8a5851db Kai Vehmanen 2010-06-02 874 dev_dbg(&hi->cl->device, "hsi_data_sync done with res %d\n", r);
7f62fe8a5851db Kai Vehmanen 2010-06-02 875
7f62fe8a5851db Kai Vehmanen 2010-06-02 876 return r;
7f62fe8a5851db Kai Vehmanen 2010-06-02 877 }
7f62fe8a5851db Kai Vehmanen 2010-06-02 878
:::::: The code at line 831 was first introduced by commit
:::::: 7f62fe8a5851db94e10d8d956c123d4011aaeed9 HSI: cmt_speech: Add cmt-speech driver
:::::: TO: Kai Vehmanen <kai.vehmanen(a)nokia.com>
:::::: CC: Sebastian Reichel <sre(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[xlnx:xlnx_rebase_v5.10 961/1761] drivers/irqchip/irq-xilinx-intc.c:175:10: error: implicit declaration of function 'handle_domain_irq'; did you mean 'handle_bad_irq'?
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.10
head: e14d4574ca81a569ee6d07e03271f2ae2dad38e4
commit: ec26ada995b2cdeda14911845e1884150e099d5b [961/1761] irqchip: xilinx: Use handle_domain_irq()
config: m68k-randconfig-r014-20210812 (attached as .config)
compiler: m68k-linux-gcc (GCC) 10.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://github.com/Xilinx/linux-xlnx/commit/ec26ada995b2cdeda14911845e188...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.10
git checkout ec26ada995b2cdeda14911845e1884150e099d5b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=m68k
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 >>):
drivers/irqchip/irq-xilinx-intc.c: In function 'xil_intc_handle_irq':
drivers/irqchip/irq-xilinx-intc.c:173:15: error: 'struct xintc_irq_chip' has no member named 'read_fn'
173 | hwirq = irqc->read_fn(irqc->base + IVR);
| ^~
>> drivers/irqchip/irq-xilinx-intc.c:175:10: error: implicit declaration of function 'handle_domain_irq'; did you mean 'handle_bad_irq'? [-Werror=implicit-function-declaration]
175 | ret = handle_domain_irq(irqc->root_domain, hwirq, regs);
| ^~~~~~~~~~~~~~~~~
| handle_bad_irq
drivers/irqchip/irq-xilinx-intc.c: In function 'xilinx_intc_of_init':
drivers/irqchip/irq-xilinx-intc.c:192:2: error: 'ret' undeclared (first use in this function)
192 | ret = of_property_read_u32(intc, "cpu-id", &cpu_id);
| ^~~
drivers/irqchip/irq-xilinx-intc.c:192:2: note: each undeclared identifier is reported only once for each function it appears in
drivers/irqchip/irq-xilinx-intc.c:257:3: error: 'irq' undeclared (first use in this function); did you mean 'irqc'?
257 | irq = irq_of_parse_and_map(intc, 0);
| ^~~
| irqc
drivers/irqchip/irq-xilinx-intc.c:189:19: warning: unused variable 'intc_dev' [-Wunused-variable]
189 | struct irq_chip *intc_dev;
| ^~~~~~~~
drivers/irqchip/irq-xilinx-intc.c:280:1: error: control reaches end of non-void function [-Werror=return-type]
280 | }
| ^
cc1: some warnings being treated as errors
vim +175 drivers/irqchip/irq-xilinx-intc.c
165
166 static void xil_intc_handle_irq(struct pt_regs *regs)
167 {
168 int ret;
169 unsigned int hwirq, cpu_id = smp_processor_id();
170 struct xintc_irq_chip *irqc = per_cpu_ptr(&primary_intc, cpu_id);
171
172 do {
173 hwirq = irqc->read_fn(irqc->base + IVR);
174 if (hwirq != -1U) {
> 175 ret = handle_domain_irq(irqc->root_domain, hwirq, regs);
176 WARN_ONCE(ret, "cpu %d: Unhandled HWIRQ %d\n",
177 cpu_id, hwirq);
178 continue;
179 }
180
181 break;
182 } while (1);
183 }
184
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[zen-kernel-zen-kernel:5.13/zen-sauce 5/8] drivers/pci/controller/intel-nvme-remap.c:447:12: warning: initializer overrides prior initialization of this subobject
by kernel test robot
Hi Daniel,
FYI, the error/warning still remains.
tree: https://github.com/zen-kernel/zen-kernel 5.13/zen-sauce
head: df089c73ce7c2ecc19aaa81af627c8682f3e7aa9
commit: 28defae036a002630b50952e29ed454586ed4212 [5/8] PCI: Add Intel remapped NVMe device support
config: x86_64-randconfig-c001-20210810 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 767496d19cb9a1fbba57ff08095faa161998ee36)
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://github.com/zen-kernel/zen-kernel/commit/28defae036a002630b50952e2...
git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
git fetch --no-tags zen-kernel-zen-kernel 5.13/zen-sauce
git checkout 28defae036a002630b50952e29ed454586ed4212
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
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 >>):
>> drivers/pci/controller/intel-nvme-remap.c:447:12: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.class = PCI_CLASS_STORAGE_RAID << 8,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/pci_ids.h:23:33: note: expanded from macro 'PCI_CLASS_STORAGE_RAID'
#define PCI_CLASS_STORAGE_RAID 0x0104
^
drivers/pci/controller/intel-nvme-remap.c:446:3: note: previous initialization is here
PCI_VDEVICE(INTEL, PCI_ANY_ID),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/pci.h:941:52: note: expanded from macro 'PCI_VDEVICE'
.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, 0, 0
^
drivers/pci/controller/intel-nvme-remap.c:448:17: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.class_mask = 0xffffff00,
^~~~~~~~~~
drivers/pci/controller/intel-nvme-remap.c:446:3: note: previous initialization is here
PCI_VDEVICE(INTEL, PCI_ANY_ID),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/pci.h:941:55: note: expanded from macro 'PCI_VDEVICE'
.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, 0, 0
^
2 warnings generated.
vim +447 drivers/pci/controller/intel-nvme-remap.c
434
435 static const struct pci_device_id nvme_remap_ids[] = {
436 /*
437 * Match all Intel RAID controllers.
438 *
439 * There's overlap here with the set of devices detected by the ahci
440 * driver, but ahci will only successfully probe when there
441 * *aren't* any remapped NVMe devices, and this driver will only
442 * successfully probe when there *are* remapped NVMe devices that
443 * need handling.
444 */
445 {
446 PCI_VDEVICE(INTEL, PCI_ANY_ID),
> 447 .class = PCI_CLASS_STORAGE_RAID << 8,
448 .class_mask = 0xffffff00,
449 },
450 {0,}
451 };
452 MODULE_DEVICE_TABLE(pci, nvme_remap_ids);
453
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month