Re: [PATCH next v1 1/2] dump_stack: move cpu lock to printk.c
by kernel test robot
Hi John,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20210528]
url: https://github.com/0day-ci/linux/commits/John-Ogness/introduce-printk-cpu...
base: 3e029760e6f8ce90c122c267a039ae73b3f1f5a4
config: m68k-allmodconfig (attached as .config)
compiler: m68k-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
# https://github.com/0day-ci/linux/commit/528abf3d0ab80471d02f4f16cbe97b2ea...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review John-Ogness/introduce-printk-cpu-lock/20210601-013122
git checkout 528abf3d0ab80471d02f4f16cbe97b2eaa918a11
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.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 warnings (new ones prefixed by >>):
lib/dump_stack.c:97: warning: Function parameter or member 'log_lvl' not described in 'dump_stack_lvl'
>> lib/dump_stack.c:97: warning: expecting prototype for dump_stack(). Prototype was for dump_stack_lvl() instead
vim +97 lib/dump_stack.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 90
196779b9b4ce19 Tejun Heo 2013-04-30 91 /**
196779b9b4ce19 Tejun Heo 2013-04-30 92 * dump_stack - dump the current task information and its stack trace
196779b9b4ce19 Tejun Heo 2013-04-30 93 *
196779b9b4ce19 Tejun Heo 2013-04-30 94 * Architectures can override this implementation by implementing its own.
196779b9b4ce19 Tejun Heo 2013-04-30 95 */
d542aa86de8ad0 Alexander Potapenko 2021-05-26 96 asmlinkage __visible void dump_stack_lvl(const char *log_lvl)
^1da177e4c3f41 Linus Torvalds 2005-04-16 @97 {
528abf3d0ab804 John Ogness 2021-05-31 98 unsigned int cpu_store;
d7ce36924344ac Eric Dumazet 2016-02-05 99 unsigned long flags;
b58d977432c80e Alex Thorlton 2013-07-03 100
528abf3d0ab804 John Ogness 2021-05-31 101 printk_cpu_lock(&cpu_store, &flags);
d542aa86de8ad0 Alexander Potapenko 2021-05-26 102 __dump_stack(log_lvl);
528abf3d0ab804 John Ogness 2021-05-31 103 printk_cpu_unlock(cpu_store, flags);
b58d977432c80e Alex Thorlton 2013-07-03 104 }
d542aa86de8ad0 Alexander Potapenko 2021-05-26 105 EXPORT_SYMBOL(dump_stack_lvl);
d542aa86de8ad0 Alexander Potapenko 2021-05-26 106
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks
[integrity:next-integrity-testing 18/20] security/integrity/ima/ima_template_lib.c:623:5: warning: no previous prototype for 'ima_eventinodexattrs_init_common'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity-testing
head: 845885f2e585faac4f3814d27f503f50ab766d6c
commit: 875cccb5479e321effab74268e27befb47282303 [18/20] ima: Define new template fields xattrnames, xattrlengths and xattrvalues
config: openrisc-randconfig-r024-20210531 (attached as .config)
compiler: or1k-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
# https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git...
git remote add integrity https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git
git fetch --no-tags integrity next-integrity-testing
git checkout 875cccb5479e321effab74268e27befb47282303
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=openrisc
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 >>):
>> security/integrity/ima/ima_template_lib.c:623:5: warning: no previous prototype for 'ima_eventinodexattrs_init_common' [-Wmissing-prototypes]
623 | int ima_eventinodexattrs_init_common(struct ima_event_data *event_data,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/ima_eventinodexattrs_init_common +623 security/integrity/ima/ima_template_lib.c
622
> 623 int ima_eventinodexattrs_init_common(struct ima_event_data *event_data,
624 struct ima_field_data *field_data,
625 char type)
626 {
627 u8 *buffer = NULL;
628 int rc;
629
630 if (!event_data->file)
631 return 0;
632
633 rc = evm_read_protected_xattrs(file_dentry(event_data->file), NULL, 0,
634 type, ima_canonical_fmt);
635 if (rc < 0)
636 return 0;
637
638 buffer = kmalloc(rc, GFP_KERNEL);
639 if (!buffer)
640 return 0;
641
642 rc = evm_read_protected_xattrs(file_dentry(event_data->file), buffer,
643 rc, type, ima_canonical_fmt);
644 if (rc < 0) {
645 rc = 0;
646 goto out;
647 }
648
649 rc = ima_write_template_field_data((char *)buffer, rc, DATA_FMT_HEX,
650 field_data);
651 out:
652 kfree(buffer);
653 return rc;
654 }
655
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks
drivers/gpu/drm/msm/dp/dp_display.c:496:19: warning: variable 'hpd' set but not used
by kernel test robot
Hi Kuogee,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c2131f7e73c9e9365613e323d65c7b9e5b910f56
commit: c58eb1b54feefc3a47fab78addd14083bc941c44 drm/msm/dp: fix connect/disconnect handled at irq_hpd
date: 6 months ago
config: arm-randconfig-r012-20210531 (attached as .config)
compiler: arm-linux-gnueabi-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/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 c58eb1b54feefc3a47fab78addd14083bc941c44
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.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/gpu/drm/msm/dp/dp_display.c: In function 'dp_display_usbpd_attention_cb':
>> drivers/gpu/drm/msm/dp/dp_display.c:496:19: warning: variable 'hpd' set but not used [-Wunused-but-set-variable]
496 | struct dp_usbpd *hpd;
| ^~~
vim +/hpd +496 drivers/gpu/drm/msm/dp/dp_display.c
c943b4948b5848 Chandan Uddaraju 2020-08-27 490
c943b4948b5848 Chandan Uddaraju 2020-08-27 491 static int dp_display_usbpd_attention_cb(struct device *dev)
c943b4948b5848 Chandan Uddaraju 2020-08-27 492 {
c943b4948b5848 Chandan Uddaraju 2020-08-27 493 int rc = 0;
26b8d66a399e62 Kuogee Hsieh 2020-11-03 494 u32 sink_request;
c943b4948b5848 Chandan Uddaraju 2020-08-27 495 struct dp_display_private *dp;
26b8d66a399e62 Kuogee Hsieh 2020-11-03 @496 struct dp_usbpd *hpd;
c943b4948b5848 Chandan Uddaraju 2020-08-27 497
c943b4948b5848 Chandan Uddaraju 2020-08-27 498 if (!dev) {
c943b4948b5848 Chandan Uddaraju 2020-08-27 499 DRM_ERROR("invalid dev\n");
c943b4948b5848 Chandan Uddaraju 2020-08-27 500 return -EINVAL;
c943b4948b5848 Chandan Uddaraju 2020-08-27 501 }
c943b4948b5848 Chandan Uddaraju 2020-08-27 502
061eb621fc2780 Abhinav Kumar 2020-09-12 503 dp = container_of(g_dp_display,
061eb621fc2780 Abhinav Kumar 2020-09-12 504 struct dp_display_private, dp_display);
c943b4948b5848 Chandan Uddaraju 2020-08-27 505 if (!dp) {
c943b4948b5848 Chandan Uddaraju 2020-08-27 506 DRM_ERROR("no driver data found\n");
c943b4948b5848 Chandan Uddaraju 2020-08-27 507 return -ENODEV;
c943b4948b5848 Chandan Uddaraju 2020-08-27 508 }
c943b4948b5848 Chandan Uddaraju 2020-08-27 509
26b8d66a399e62 Kuogee Hsieh 2020-11-03 510 hpd = dp->usbpd;
26b8d66a399e62 Kuogee Hsieh 2020-11-03 511
c943b4948b5848 Chandan Uddaraju 2020-08-27 512 /* check for any test request issued by sink */
8ede2ecc3e5ee3 Kuogee Hsieh 2020-09-11 513 rc = dp_link_process_request(dp->link);
26b8d66a399e62 Kuogee Hsieh 2020-11-03 514 if (!rc) {
26b8d66a399e62 Kuogee Hsieh 2020-11-03 515 sink_request = dp->link->sink_request;
c58eb1b54feefc Kuogee Hsieh 2020-11-18 516 if (sink_request & DS_PORT_STATUS_CHANGED)
c58eb1b54feefc Kuogee Hsieh 2020-11-18 517 rc = dp_display_handle_port_ststus_changed(dp);
c58eb1b54feefc Kuogee Hsieh 2020-11-18 518 else
26b8d66a399e62 Kuogee Hsieh 2020-11-03 519 rc = dp_display_handle_irq_hpd(dp);
26b8d66a399e62 Kuogee Hsieh 2020-11-03 520 }
c943b4948b5848 Chandan Uddaraju 2020-08-27 521
8ede2ecc3e5ee3 Kuogee Hsieh 2020-09-11 522 return rc;
c943b4948b5848 Chandan Uddaraju 2020-08-27 523 }
c943b4948b5848 Chandan Uddaraju 2020-08-27 524
:::::: The code at line 496 was first introduced by commit
:::::: 26b8d66a399e625f3aa2c02ccbab1bff2e00040c drm/msm/dp: promote irq_hpd handle to handle link training correctly
:::::: TO: Kuogee Hsieh <khsieh(a)codeaurora.org>
:::::: CC: Rob Clark <robdclark(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks
Re: [PATCH 1/2] audit: add filtering for io_uring records, addendum
by kernel test robot
Hi Richard,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pcmoore-audit/next]
[also build test ERROR on v5.13-rc4 next-20210528]
[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/Richard-Guy-Briggs/audit-add-fil...
base: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next
config: arm64-randconfig-r021-20210531 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project bc6799f2f79f0ae87e9f1ebf9d25ba799fbd25a9)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/07a3e22a2f984838bc98b43b58e8ef08e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Richard-Guy-Briggs/audit-add-filtering-for-io_uring-records-addendum/20210531-214941
git checkout 07a3e22a2f984838bc98b43b58e8ef08e9353483
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 >>):
>> kernel/auditfilter.c:155:24: error: use of undeclared identifier 'AUDIT_FILTER_URING_EXIT'
krule->listnr != AUDIT_FILTER_URING_EXIT) ||
^
kernel/auditfilter.c:252:7: error: use of undeclared identifier 'AUDIT_FILTER_URING_EXIT'
case AUDIT_FILTER_URING_EXIT:
^
kernel/auditfilter.c:986:28: error: use of undeclared identifier 'AUDIT_FILTER_URING_EXIT'
entry->rule.listnr == AUDIT_FILTER_URING_EXIT) {
^
3 errors generated.
--
>> kernel/audit_watch.c:187:24: error: use of undeclared identifier 'AUDIT_FILTER_URING_EXIT'
krule->listnr != AUDIT_FILTER_URING_EXIT) ||
^
1 error generated.
--
>> kernel/audit_tree.c:731:23: error: use of undeclared identifier 'AUDIT_FILTER_URING_EXIT'
rule->listnr != AUDIT_FILTER_URING_EXIT) ||
^
1 error generated.
vim +/AUDIT_FILTER_URING_EXIT +155 kernel/auditfilter.c
149
150 /* Translate an inode field to kernel representation. */
151 static inline int audit_to_inode(struct audit_krule *krule,
152 struct audit_field *f)
153 {
154 if ((krule->listnr != AUDIT_FILTER_EXIT &&
> 155 krule->listnr != AUDIT_FILTER_URING_EXIT) ||
156 krule->inode_f || krule->watch || krule->tree ||
157 (f->op != Audit_equal && f->op != Audit_not_equal))
158 return -EINVAL;
159
160 krule->inode_f = f;
161 return 0;
162 }
163
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks
Re: [PATCH 1/2] audit: add filtering for io_uring records, addendum
by kernel test robot
Hi Richard,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pcmoore-audit/next]
[also build test ERROR on v5.13-rc4 next-20210528]
[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/Richard-Guy-Briggs/audit-add-fil...
base: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next
config: parisc-randconfig-r015-20210531 (attached as .config)
compiler: hppa-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
# https://github.com/0day-ci/linux/commit/07a3e22a2f984838bc98b43b58e8ef08e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Richard-Guy-Briggs/audit-add-filtering-for-io_uring-records-addendum/20210531-214941
git checkout 07a3e22a2f984838bc98b43b58e8ef08e9353483
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 >>):
kernel/auditfilter.c: In function 'audit_to_inode':
>> kernel/auditfilter.c:155:24: error: 'AUDIT_FILTER_URING_EXIT' undeclared (first use in this function); did you mean 'AUDIT_FILTER_EXIT'?
155 | krule->listnr != AUDIT_FILTER_URING_EXIT) ||
| ^~~~~~~~~~~~~~~~~~~~~~~
| AUDIT_FILTER_EXIT
kernel/auditfilter.c:155:24: note: each undeclared identifier is reported only once for each function it appears in
kernel/auditfilter.c: In function 'audit_to_entry_common':
kernel/auditfilter.c:252:7: error: 'AUDIT_FILTER_URING_EXIT' undeclared (first use in this function); did you mean 'AUDIT_FILTER_EXIT'?
252 | case AUDIT_FILTER_URING_EXIT:
| ^~~~~~~~~~~~~~~~~~~~~~~
| AUDIT_FILTER_EXIT
kernel/auditfilter.c: In function 'audit_add_rule':
kernel/auditfilter.c:986:28: error: 'AUDIT_FILTER_URING_EXIT' undeclared (first use in this function); did you mean 'AUDIT_FILTER_EXIT'?
986 | entry->rule.listnr == AUDIT_FILTER_URING_EXIT) {
| ^~~~~~~~~~~~~~~~~~~~~~~
| AUDIT_FILTER_EXIT
--
kernel/audit_watch.c: In function 'audit_to_watch':
>> kernel/audit_watch.c:187:24: error: 'AUDIT_FILTER_URING_EXIT' undeclared (first use in this function); did you mean 'AUDIT_FILTER_EXIT'?
187 | krule->listnr != AUDIT_FILTER_URING_EXIT) ||
| ^~~~~~~~~~~~~~~~~~~~~~~
| AUDIT_FILTER_EXIT
kernel/audit_watch.c:187:24: note: each undeclared identifier is reported only once for each function it appears in
--
kernel/audit_tree.c: In function 'audit_make_tree':
>> kernel/audit_tree.c:731:23: error: 'AUDIT_FILTER_URING_EXIT' undeclared (first use in this function); did you mean 'AUDIT_FILTER_EXIT'?
731 | rule->listnr != AUDIT_FILTER_URING_EXIT) ||
| ^~~~~~~~~~~~~~~~~~~~~~~
| AUDIT_FILTER_EXIT
kernel/audit_tree.c:731:23: note: each undeclared identifier is reported only once for each function it appears in
vim +155 kernel/auditfilter.c
149
150 /* Translate an inode field to kernel representation. */
151 static inline int audit_to_inode(struct audit_krule *krule,
152 struct audit_field *f)
153 {
154 if ((krule->listnr != AUDIT_FILTER_EXIT &&
> 155 krule->listnr != AUDIT_FILTER_URING_EXIT) ||
156 krule->inode_f || krule->watch || krule->tree ||
157 (f->op != Audit_equal && f->op != Audit_not_equal))
158 return -EINVAL;
159
160 krule->inode_f = f;
161 return 0;
162 }
163
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks
[thomash:topic/ttm_branch_v5 7/15] drivers/gpu/drm/drm_cache.c:386:54: error: 'has_movntdqa' undeclared
by kernel test robot
tree: git://people.freedesktop.org/~thomash/linux topic/ttm_branch_v5
head: 9f73f48e82d8cc2d9a3f649b8d86d290bc76f1be
commit: 4f04be58645eac4d7d401dffff634ed246a6b6b9 [7/15] drm: Add a prefetching memcpy_from_wc
config: ia64-allmodconfig (attached as .config)
compiler: ia64-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 thomash git://people.freedesktop.org/~thomash/linux
git fetch --no-tags thomash topic/ttm_branch_v5
git checkout 4f04be58645eac4d7d401dffff634ed246a6b6b9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=ia64
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 >>):
In file included from include/linux/init.h:5,
from include/linux/io.h:10,
from include/linux/dma-buf-map.h:9,
from drivers/gpu/drm/drm_cache.c:31:
drivers/gpu/drm/drm_cache.c: In function 'drm_memcpy_from_wc':
>> drivers/gpu/drm/drm_cache.c:386:54: error: 'has_movntdqa' undeclared (first use in this function)
386 | if (IS_ENABLED(CONFIG_X86) && static_branch_likely(&has_movntdqa)) {
| ^~~~~~~~~~~~
include/linux/compiler.h:77:40: note: in definition of macro 'likely'
77 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
include/linux/jump_label.h:495:34: note: in expansion of macro 'likely_notrace'
495 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~
include/linux/jump_label.h:495:49: note: in expansion of macro 'static_key_enabled'
495 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_cache.c:386:32: note: in expansion of macro 'static_branch_likely'
386 | if (IS_ENABLED(CONFIG_X86) && static_branch_likely(&has_movntdqa)) {
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_cache.c:386:54: note: each undeclared identifier is reported only once for each function it appears in
386 | if (IS_ENABLED(CONFIG_X86) && static_branch_likely(&has_movntdqa)) {
| ^~~~~~~~~~~~
include/linux/compiler.h:77:40: note: in definition of macro 'likely'
77 | # define likely(x) __builtin_expect(!!(x), 1)
| ^
include/linux/jump_label.h:495:34: note: in expansion of macro 'likely_notrace'
495 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~
include/linux/jump_label.h:495:49: note: in expansion of macro 'static_key_enabled'
495 | #define static_branch_likely(x) likely_notrace(static_key_enabled(&(x)->key))
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_cache.c:386:32: note: in expansion of macro 'static_branch_likely'
386 | if (IS_ENABLED(CONFIG_X86) && static_branch_likely(&has_movntdqa)) {
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_cache.c:387:3: error: implicit declaration of function '__drm_memcpy_from_wc'; did you mean 'drm_memcpy_from_wc'? [-Werror=implicit-function-declaration]
387 | __drm_memcpy_from_wc(dst->is_iomem ?
| ^~~~~~~~~~~~~~~~~~~~
| drm_memcpy_from_wc
cc1: some warnings being treated as errors
vim +/has_movntdqa +386 drivers/gpu/drm/drm_cache.c
371
372 /**
373 * drm_memcpy_from_wc - Perform the fastest available memcpy from a source
374 * that may be WC.
375 * @dst: The destination pointer
376 * @src: The source pointer
377 * @len: The size of the area o transfer in bytes
378 *
379 * Tries an arch optimized memcpy for prefetching reading out of a WC region,
380 * and if no such beast is available, falls back to a normal memcpy.
381 */
382 void drm_memcpy_from_wc(struct dma_buf_map *dst,
383 const struct dma_buf_map *src,
384 unsigned long len)
385 {
> 386 if (IS_ENABLED(CONFIG_X86) && static_branch_likely(&has_movntdqa)) {
> 387 __drm_memcpy_from_wc(dst->is_iomem ?
388 (void __force *)dst->vaddr_iomem :
389 dst->vaddr,
390 src->is_iomem ?
391 (void const __force *)src->vaddr_iomem :
392 src->vaddr,
393 len);
394 return;
395 }
396
397 memcpy_fallback(dst, src, len);
398 }
399 EXPORT_SYMBOL(drm_memcpy_from_wc);
400
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks
[asm-generic:clkdev 4/5] drivers/clk/clk.c:723:6: error: redefinition of 'clk_rate_exclusive_put'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git clkdev
head: 3c150d2578b204c2e18c7ac6d967b43a614befbe
commit: b82125f4dd714ff85c00fdf585722f02a6929ade [4/5] clkdev: remove CONFIG_CLKDEV_LOOKUP
config: powerpc-randconfig-r016-20210531 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project bc6799f2f79f0ae87e9f1ebf9d25ba799fbd25a9)
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/arnd/asm-generic.git/comm...
git remote add asm-generic https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
git fetch --no-tags asm-generic clkdev
git checkout b82125f4dd714ff85c00fdf585722f02a6929ade
# 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 errors (new ones prefixed by >>):
In file included from drivers/clk/clk.c:9:
In file included from include/linux/clk.h:13:
In file included from include/linux/kernel.h:12:
In file included from include/linux/bitops.h:32:
In file included from arch/powerpc/include/asm/bitops.h:62:
arch/powerpc/include/asm/barrier.h:49:9: warning: '__lwsync' macro redefined [-Wmacro-redefined]
#define __lwsync() __asm__ __volatile__ (stringify_in_c(LWSYNC) : : :"memory")
^
<built-in>:308:9: note: previous definition is here
#define __lwsync __builtin_ppc_lwsync
^
>> drivers/clk/clk.c:723:6: error: redefinition of 'clk_rate_exclusive_put'
void clk_rate_exclusive_put(struct clk *clk)
^
include/linux/clk.h:861:20: note: previous definition is here
static inline void clk_rate_exclusive_put(struct clk *clk) {}
^
>> drivers/clk/clk.c:789:5: error: redefinition of 'clk_rate_exclusive_get'
int clk_rate_exclusive_get(struct clk *clk)
^
include/linux/clk.h:856:19: note: previous definition is here
static inline int clk_rate_exclusive_get(struct clk *clk)
^
>> drivers/clk/clk.c:993:6: error: redefinition of 'clk_disable'
void clk_disable(struct clk *clk)
^
include/linux/clk.h:874:20: note: previous definition is here
static inline void clk_disable(struct clk *clk) {}
^
>> drivers/clk/clk.c:1106:5: error: redefinition of 'clk_save_context'
int clk_save_context(void)
^
include/linux/clk.h:936:19: note: previous definition is here
static inline int clk_save_context(void)
^
>> drivers/clk/clk.c:1133:6: error: redefinition of 'clk_restore_context'
void clk_restore_context(void)
^
include/linux/clk.h:941:20: note: previous definition is here
static inline void clk_restore_context(void) {}
^
>> drivers/clk/clk.c:1158:5: error: redefinition of 'clk_enable'
int clk_enable(struct clk *clk)
^
include/linux/clk.h:863:19: note: previous definition is here
static inline int clk_enable(struct clk *clk)
^
>> drivers/clk/clk.c:1458:6: error: redefinition of 'clk_round_rate'
long clk_round_rate(struct clk *clk, unsigned long rate)
^
include/linux/clk.h:895:20: note: previous definition is here
static inline long clk_round_rate(struct clk *clk, unsigned long rate)
^
>> drivers/clk/clk.c:1652:15: error: redefinition of 'clk_get_rate'
unsigned long clk_get_rate(struct clk *clk)
^
include/linux/clk.h:880:29: note: previous definition is here
static inline unsigned long clk_get_rate(struct clk *clk)
^
>> drivers/clk/clk.c:2243:5: error: redefinition of 'clk_set_rate'
int clk_set_rate(struct clk *clk, unsigned long rate)
^
include/linux/clk.h:885:19: note: previous definition is here
static inline int clk_set_rate(struct clk *clk, unsigned long rate)
^
>> drivers/clk/clk.c:2286:5: error: redefinition of 'clk_set_rate_exclusive'
int clk_set_rate_exclusive(struct clk *clk, unsigned long rate)
^
include/linux/clk.h:890:19: note: previous definition is here
static inline int clk_set_rate_exclusive(struct clk *clk, unsigned long rate)
^
>> drivers/clk/clk.c:2322:5: error: redefinition of 'clk_set_rate_range'
int clk_set_rate_range(struct clk *clk, unsigned long min, unsigned long max)
^
include/linux/clk.h:905:19: note: previous definition is here
static inline int clk_set_rate_range(struct clk *clk, unsigned long min,
^
>> drivers/clk/clk.c:2394:5: error: redefinition of 'clk_set_min_rate'
int clk_set_min_rate(struct clk *clk, unsigned long rate)
^
include/linux/clk.h:911:19: note: previous definition is here
static inline int clk_set_min_rate(struct clk *clk, unsigned long rate)
^
>> drivers/clk/clk.c:2412:5: error: redefinition of 'clk_set_max_rate'
int clk_set_max_rate(struct clk *clk, unsigned long rate)
^
include/linux/clk.h:916:19: note: previous definition is here
static inline int clk_set_max_rate(struct clk *clk, unsigned long rate)
^
>> drivers/clk/clk.c:2429:13: error: redefinition of 'clk_get_parent'
struct clk *clk_get_parent(struct clk *clk)
^
include/linux/clk.h:926:27: note: previous definition is here
static inline struct clk *clk_get_parent(struct clk *clk)
^
>> drivers/clk/clk.c:2481:6: error: redefinition of 'clk_has_parent'
bool clk_has_parent(struct clk *clk, struct clk *parent)
^
include/linux/clk.h:900:20: note: previous definition is here
static inline bool clk_has_parent(struct clk *clk, struct clk *parent)
^
>> drivers/clk/clk.c:2593:5: error: redefinition of 'clk_set_parent'
int clk_set_parent(struct clk *clk, struct clk *parent)
^
include/linux/clk.h:921:19: note: previous definition is here
static inline int clk_set_parent(struct clk *clk, struct clk *parent)
^
1 warning and 16 errors generated.
vim +/clk_rate_exclusive_put +723 drivers/clk/clk.c
e55a839a7a1c56 Jerome Brunet 2017-12-01 704
55e9b8b7b806ec Jerome Brunet 2017-12-01 705 /**
55e9b8b7b806ec Jerome Brunet 2017-12-01 706 * clk_rate_exclusive_put - release exclusivity over clock rate control
55e9b8b7b806ec Jerome Brunet 2017-12-01 707 * @clk: the clk over which the exclusivity is released
55e9b8b7b806ec Jerome Brunet 2017-12-01 708 *
55e9b8b7b806ec Jerome Brunet 2017-12-01 709 * clk_rate_exclusive_put() completes a critical section during which a clock
55e9b8b7b806ec Jerome Brunet 2017-12-01 710 * consumer cannot tolerate any other consumer making any operation on the
55e9b8b7b806ec Jerome Brunet 2017-12-01 711 * clock which could result in a rate change or rate glitch. Exclusive clocks
55e9b8b7b806ec Jerome Brunet 2017-12-01 712 * cannot have their rate changed, either directly or indirectly due to changes
55e9b8b7b806ec Jerome Brunet 2017-12-01 713 * further up the parent chain of clocks. As a result, clocks up parent chain
55e9b8b7b806ec Jerome Brunet 2017-12-01 714 * also get under exclusive control of the calling consumer.
55e9b8b7b806ec Jerome Brunet 2017-12-01 715 *
55e9b8b7b806ec Jerome Brunet 2017-12-01 716 * If exlusivity is claimed more than once on clock, even by the same consumer,
55e9b8b7b806ec Jerome Brunet 2017-12-01 717 * the rate effectively gets locked as exclusivity can't be preempted.
55e9b8b7b806ec Jerome Brunet 2017-12-01 718 *
55e9b8b7b806ec Jerome Brunet 2017-12-01 719 * Calls to clk_rate_exclusive_put() must be balanced with calls to
55e9b8b7b806ec Jerome Brunet 2017-12-01 720 * clk_rate_exclusive_get(). Calls to this function may sleep, and do not return
55e9b8b7b806ec Jerome Brunet 2017-12-01 721 * error status.
55e9b8b7b806ec Jerome Brunet 2017-12-01 722 */
55e9b8b7b806ec Jerome Brunet 2017-12-01 @723 void clk_rate_exclusive_put(struct clk *clk)
55e9b8b7b806ec Jerome Brunet 2017-12-01 724 {
55e9b8b7b806ec Jerome Brunet 2017-12-01 725 if (!clk)
55e9b8b7b806ec Jerome Brunet 2017-12-01 726 return;
55e9b8b7b806ec Jerome Brunet 2017-12-01 727
55e9b8b7b806ec Jerome Brunet 2017-12-01 728 clk_prepare_lock();
55e9b8b7b806ec Jerome Brunet 2017-12-01 729
55e9b8b7b806ec Jerome Brunet 2017-12-01 730 /*
55e9b8b7b806ec Jerome Brunet 2017-12-01 731 * if there is something wrong with this consumer protect count, stop
55e9b8b7b806ec Jerome Brunet 2017-12-01 732 * here before messing with the provider
55e9b8b7b806ec Jerome Brunet 2017-12-01 733 */
55e9b8b7b806ec Jerome Brunet 2017-12-01 734 if (WARN_ON(clk->exclusive_count <= 0))
55e9b8b7b806ec Jerome Brunet 2017-12-01 735 goto out;
55e9b8b7b806ec Jerome Brunet 2017-12-01 736
55e9b8b7b806ec Jerome Brunet 2017-12-01 737 clk_core_rate_unprotect(clk->core);
55e9b8b7b806ec Jerome Brunet 2017-12-01 738 clk->exclusive_count--;
55e9b8b7b806ec Jerome Brunet 2017-12-01 739 out:
55e9b8b7b806ec Jerome Brunet 2017-12-01 740 clk_prepare_unlock();
55e9b8b7b806ec Jerome Brunet 2017-12-01 741 }
55e9b8b7b806ec Jerome Brunet 2017-12-01 742 EXPORT_SYMBOL_GPL(clk_rate_exclusive_put);
55e9b8b7b806ec Jerome Brunet 2017-12-01 743
e55a839a7a1c56 Jerome Brunet 2017-12-01 744 static void clk_core_rate_protect(struct clk_core *core)
e55a839a7a1c56 Jerome Brunet 2017-12-01 745 {
e55a839a7a1c56 Jerome Brunet 2017-12-01 746 lockdep_assert_held(&prepare_lock);
e55a839a7a1c56 Jerome Brunet 2017-12-01 747
e55a839a7a1c56 Jerome Brunet 2017-12-01 748 if (!core)
e55a839a7a1c56 Jerome Brunet 2017-12-01 749 return;
e55a839a7a1c56 Jerome Brunet 2017-12-01 750
e55a839a7a1c56 Jerome Brunet 2017-12-01 751 if (core->protect_count == 0)
e55a839a7a1c56 Jerome Brunet 2017-12-01 752 clk_core_rate_protect(core->parent);
e55a839a7a1c56 Jerome Brunet 2017-12-01 753
e55a839a7a1c56 Jerome Brunet 2017-12-01 754 core->protect_count++;
e55a839a7a1c56 Jerome Brunet 2017-12-01 755 }
e55a839a7a1c56 Jerome Brunet 2017-12-01 756
e55a839a7a1c56 Jerome Brunet 2017-12-01 757 static void clk_core_rate_restore_protect(struct clk_core *core, int count)
e55a839a7a1c56 Jerome Brunet 2017-12-01 758 {
e55a839a7a1c56 Jerome Brunet 2017-12-01 759 lockdep_assert_held(&prepare_lock);
e55a839a7a1c56 Jerome Brunet 2017-12-01 760
e55a839a7a1c56 Jerome Brunet 2017-12-01 761 if (!core)
e55a839a7a1c56 Jerome Brunet 2017-12-01 762 return;
e55a839a7a1c56 Jerome Brunet 2017-12-01 763
e55a839a7a1c56 Jerome Brunet 2017-12-01 764 if (count == 0)
e55a839a7a1c56 Jerome Brunet 2017-12-01 765 return;
e55a839a7a1c56 Jerome Brunet 2017-12-01 766
e55a839a7a1c56 Jerome Brunet 2017-12-01 767 clk_core_rate_protect(core);
e55a839a7a1c56 Jerome Brunet 2017-12-01 768 core->protect_count = count;
e55a839a7a1c56 Jerome Brunet 2017-12-01 769 }
e55a839a7a1c56 Jerome Brunet 2017-12-01 770
55e9b8b7b806ec Jerome Brunet 2017-12-01 771 /**
55e9b8b7b806ec Jerome Brunet 2017-12-01 772 * clk_rate_exclusive_get - get exclusivity over the clk rate control
55e9b8b7b806ec Jerome Brunet 2017-12-01 773 * @clk: the clk over which the exclusity of rate control is requested
55e9b8b7b806ec Jerome Brunet 2017-12-01 774 *
a37a5a9d715f0d Andy Shevchenko 2020-03-10 775 * clk_rate_exclusive_get() begins a critical section during which a clock
55e9b8b7b806ec Jerome Brunet 2017-12-01 776 * consumer cannot tolerate any other consumer making any operation on the
55e9b8b7b806ec Jerome Brunet 2017-12-01 777 * clock which could result in a rate change or rate glitch. Exclusive clocks
55e9b8b7b806ec Jerome Brunet 2017-12-01 778 * cannot have their rate changed, either directly or indirectly due to changes
55e9b8b7b806ec Jerome Brunet 2017-12-01 779 * further up the parent chain of clocks. As a result, clocks up parent chain
55e9b8b7b806ec Jerome Brunet 2017-12-01 780 * also get under exclusive control of the calling consumer.
55e9b8b7b806ec Jerome Brunet 2017-12-01 781 *
55e9b8b7b806ec Jerome Brunet 2017-12-01 782 * If exlusivity is claimed more than once on clock, even by the same consumer,
55e9b8b7b806ec Jerome Brunet 2017-12-01 783 * the rate effectively gets locked as exclusivity can't be preempted.
55e9b8b7b806ec Jerome Brunet 2017-12-01 784 *
55e9b8b7b806ec Jerome Brunet 2017-12-01 785 * Calls to clk_rate_exclusive_get() should be balanced with calls to
55e9b8b7b806ec Jerome Brunet 2017-12-01 786 * clk_rate_exclusive_put(). Calls to this function may sleep.
55e9b8b7b806ec Jerome Brunet 2017-12-01 787 * Returns 0 on success, -EERROR otherwise
55e9b8b7b806ec Jerome Brunet 2017-12-01 788 */
55e9b8b7b806ec Jerome Brunet 2017-12-01 @789 int clk_rate_exclusive_get(struct clk *clk)
55e9b8b7b806ec Jerome Brunet 2017-12-01 790 {
55e9b8b7b806ec Jerome Brunet 2017-12-01 791 if (!clk)
55e9b8b7b806ec Jerome Brunet 2017-12-01 792 return 0;
55e9b8b7b806ec Jerome Brunet 2017-12-01 793
55e9b8b7b806ec Jerome Brunet 2017-12-01 794 clk_prepare_lock();
55e9b8b7b806ec Jerome Brunet 2017-12-01 795 clk_core_rate_protect(clk->core);
55e9b8b7b806ec Jerome Brunet 2017-12-01 796 clk->exclusive_count++;
55e9b8b7b806ec Jerome Brunet 2017-12-01 797 clk_prepare_unlock();
55e9b8b7b806ec Jerome Brunet 2017-12-01 798
55e9b8b7b806ec Jerome Brunet 2017-12-01 799 return 0;
55e9b8b7b806ec Jerome Brunet 2017-12-01 800 }
55e9b8b7b806ec Jerome Brunet 2017-12-01 801 EXPORT_SYMBOL_GPL(clk_rate_exclusive_get);
55e9b8b7b806ec Jerome Brunet 2017-12-01 802
:::::: The code at line 723 was first introduced by commit
:::::: 55e9b8b7b806ec3f9a8817e13596682a5981c19c clk: add clk_rate_exclusive api
:::::: TO: Jerome Brunet <jbrunet(a)baylibre.com>
:::::: CC: Michael Turquette <mturquette(a)baylibre.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months, 4 weeks