Re: [PATCH] block: Removed a warning while compiling with a cross compiler for parisc
by kernel test robot
Hi Abd-Alrhman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on block/for-next]
[also build test WARNING on v5.13 next-20210630]
[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/Abd-Alrhman-Masalkhi/block-Remov...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: s390-randconfig-r014-20210630 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d21d5472501460933e78aead04cf59579025ba4)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://github.com/0day-ci/linux/commit/749f487a31d6818dadc37ba729475d048...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Abd-Alrhman-Masalkhi/block-Removed-a-warning-while-compiling-with-a-cross-compiler-for-parisc/20210630-161407
git checkout 749f487a31d6818dadc37ba729475d0486daf81c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
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 >>):
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __raw_readb(PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:477:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:36:59: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) __swab16((__force __u16)(__le16)(x))
^
include/uapi/linux/swab.h:102:54: note: expanded from macro '__swab16'
#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
^
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:115:54: note: expanded from macro '__swab32'
#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
^
In file included from block/genhd.c:14:
In file included from include/linux/blkdev.h:25:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:75:
include/asm-generic/io.h:501:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:511:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:609:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:617:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:625:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:634:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:643:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
>> block/genhd.c:1110:6: warning: no previous prototype for function 'print_disk_stats' [-Wmissing-prototypes]
void print_disk_stats(struct seq_file *seqf,
^
block/genhd.c:1110:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void print_disk_stats(struct seq_file *seqf,
^
static
13 warnings generated.
vim +/print_disk_stats +1110 block/genhd.c
1109
> 1110 void print_disk_stats(struct seq_file *seqf,
1111 unsigned int inflight, struct disk_stats *stat)
1112 {
1113 seq_printf(seqf, "%lu %lu %lu %u "
1114 "%lu %lu %lu %u "
1115 "%u %u %u "
1116 "%lu %lu %lu %u "
1117 "%lu %u"
1118 "\n",
1119 stat->ios[STAT_READ],
1120 stat->merges[STAT_READ],
1121 stat->sectors[STAT_READ],
1122 (unsigned int)div_u64(stat->nsecs[STAT_READ],
1123 NSEC_PER_MSEC),
1124 stat->ios[STAT_WRITE],
1125 stat->merges[STAT_WRITE],
1126 stat->sectors[STAT_WRITE],
1127 (unsigned int)div_u64(stat->nsecs[STAT_WRITE],
1128 NSEC_PER_MSEC),
1129 inflight,
1130 jiffies_to_msecs(stat->io_ticks),
1131 (unsigned int)div_u64(stat->nsecs[STAT_READ] +
1132 stat->nsecs[STAT_WRITE] +
1133 stat->nsecs[STAT_DISCARD] +
1134 stat->nsecs[STAT_FLUSH],
1135 NSEC_PER_MSEC),
1136 stat->ios[STAT_DISCARD],
1137 stat->merges[STAT_DISCARD],
1138 stat->sectors[STAT_DISCARD],
1139 (unsigned int)div_u64(stat->nsecs[STAT_DISCARD],
1140 NSEC_PER_MSEC),
1141 stat->ios[STAT_FLUSH],
1142 (unsigned int)div_u64(stat->nsecs[STAT_FLUSH],
1143 NSEC_PER_MSEC)
1144 );
1145 }
1146
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[jolsa-perf:bpf/get_func_ip 4/5] kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git bpf/get_func_ip
head: f7f7594305316b0109a5f2a25883fd492cbf735e
commit: 0fb3acab8e6b6ed1be00589579ef642201cd11d7 [4/5] bpf: Add bpf_get_func_ip helper for kprobe programs
config: i386-randconfig-s001-20210630 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git/commit/?id...
git remote add jolsa-perf https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
git fetch --no-tags jolsa-perf bpf/get_func_ip
git checkout 0fb3acab8e6b6ed1be00589579ef642201cd11d7
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash kernel/trace/
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 >>)
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
>> kernel/trace/trace_kprobe.c:1583:9: sparse: sparse: non size-preserving pointer to integer cast
vim +1583 kernel/trace/trace_kprobe.c
1580
1581 static void trace_current_kprobe_set(struct trace_kprobe *tk)
1582 {
> 1583 __this_cpu_write(current_kprobe_addr, (u64) tk->rp.kp.addr);
1584 }
1585
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[chrome-os:chromeos-4.14 12/15] arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:493:13: error: no previous declaration for 'kvm_arch_mmu_clear_young_walk'
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.14
head: d80bee5436eff90f5e8b640bcbd1b903ce521269
commit: fc7e7985491a43523c7319f6e8212975b4fde6a2 [12/15] CHROMIUM: mm: multigenerational lru: scan kvm mmu pages
config: powerpc-pseries_defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.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 chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.14
git checkout fc7e7985491a43523c7319f6e8212975b4fde6a2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 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 arch/powerpc/include/asm/book3s/64/mmu-hash.h:24:0,
from arch/powerpc/include/asm/book3s/64/mmu.h:30,
from arch/powerpc/include/asm/mmu.h:305,
from arch/powerpc/include/asm/lppaca.h:36,
from arch/powerpc/include/asm/paca.h:21,
from arch/powerpc/include/asm/smp.h:28,
from include/linux/smp.h:64,
from include/linux/percpu.h:7,
from include/linux/context_tracking_state.h:5,
from include/linux/vtime.h:5,
from include/linux/hardirq.h:8,
from include/linux/kvm_host.h:10,
from arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:22:
arch/powerpc/include/asm/book3s/64/pgtable.h:1218:15: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
static inline const int pud_pfn(pud_t pud)
^~~~~
In file included from include/linux/hugetlb.h:444:0,
from arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:51:
arch/powerpc/include/asm/hugetlb.h: In function 'huge_ptep_clear_flush':
arch/powerpc/include/asm/hugetlb.h:167:8: error: variable 'pte' set but not used [-Werror=unused-but-set-variable]
pte_t pte;
^~~
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c: At top level:
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:142:13: error: no previous declaration for 'kvm_arch_mmu_notifier_invalidate_range' [-Werror=missing-declarations]
__weak void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:493:13: error: no previous declaration for 'kvm_arch_mmu_clear_young_walk' [-Werror=missing-declarations]
__weak void kvm_arch_mmu_clear_young_walk(struct kvm *kvm,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:701:12: error: no previous declaration for 'kvm_arch_post_init_vm' [-Werror=missing-declarations]
int __weak kvm_arch_post_init_vm(struct kvm *kvm)
^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:710:13: error: no previous declaration for 'kvm_arch_pre_destroy_vm' [-Werror=missing-declarations]
void __weak kvm_arch_pre_destroy_vm(struct kvm *kvm)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:14:0,
from arch/powerpc/kvm/../../../virt/kvm/kvm_main.c:22:
include/linux/signal.h: In function 'sigemptyset':
include/linux/signal.h:176:22: error: this statement may fall through [-Werror=implicit-fallthrough=]
case 2: set->sig[1] = 0;
~~~~~~~~~~~~^~~
include/linux/signal.h:177:2: note: here
case 1: set->sig[0] = 0;
^~~~
cc1: all warnings being treated as errors
vim +/kvm_arch_mmu_clear_young_walk +493 arch/powerpc/kvm/../../../virt/kvm/kvm_main.c
492
> 493 __weak void kvm_arch_mmu_clear_young_walk(struct kvm *kvm,
494 struct mmu_notifier_walk *walk)
495 {
496 }
497
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[RFC PATCH] drm/bochs: bochs_mode_funcs can be static
by kernel test robot
drivers/gpu/drm/tiny/bochs.c:542:36: warning: symbol 'bochs_mode_funcs' was not declared. Should it be static?
Reported-by: kernel test robot <lkp(a)intel.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
bochs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c
index edcd31db5b9ce..067e043de437d 100644
--- a/drivers/gpu/drm/tiny/bochs.c
+++ b/drivers/gpu/drm/tiny/bochs.c
@@ -539,7 +539,7 @@ bochs_gem_fb_create(struct drm_device *dev, struct drm_file *file,
return drm_gem_fb_create(dev, file, mode_cmd);
}
-const struct drm_mode_config_funcs bochs_mode_funcs = {
+static const struct drm_mode_config_funcs bochs_mode_funcs = {
.fb_create = bochs_gem_fb_create,
.mode_valid = drm_vram_helper_mode_valid,
.atomic_check = drm_atomic_helper_check,
11 months
Re: [PATCH 1/3] drm/bochs: Move to tiny/
by kernel test robot
Hi Thomas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20210630]
[cannot apply to linus/master v5.13 v5.13-rc7 v5.13-rc6 v5.13]
[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/Thomas-Zimmermann/drm-bochs-Move...
base: 2e0046650f0f192a84a1793f0dc2f0991ed9a3e4
config: i386-randconfig-s001-20210630 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://github.com/0day-ci/linux/commit/b6c460f7ad814dab0a55db296162fecc5...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Thomas-Zimmermann/drm-bochs-Move-to-tiny-and-simplify/20210630-220827
git checkout b6c460f7ad814dab0a55db296162fecc5828bc87
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpu/drm/tiny/
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 >>)
>> drivers/gpu/drm/tiny/bochs.c:542:36: sparse: sparse: symbol 'bochs_mode_funcs' was not declared. Should it be static?
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[luto:sched/lazymm 10/14] fs/exec.c:981:2: error: implicit declaration of function 'exec_mm_release'; did you mean 'exit_mm_release'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git sched/lazymm
head: 717e171609e72e2f3362c56eab7732cb2e08d2f7
commit: 3a2b0d850d08b87040853ff26b46da9ac798f378 [10/14] membarrier: Fix incorrect barrier position during exec
config: i386-tinyconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?id...
git remote add luto https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
git fetch --no-tags luto sched/lazymm
git checkout 3a2b0d850d08b87040853ff26b46da9ac798f378
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
>> kernel/fork.c:1343:6: warning: no previous prototype for 'exec_mm_release' [-Wmissing-prototypes]
1343 | void exec_mm_release(struct task_struct *tsk, struct mm_struct *mm)
| ^~~~~~~~~~~~~~~
--
fs/exec.c: In function 'exec_mmap':
>> fs/exec.c:981:2: error: implicit declaration of function 'exec_mm_release'; did you mean 'exit_mm_release'? [-Werror=implicit-function-declaration]
981 | exec_mm_release(tsk, old_mm);
| ^~~~~~~~~~~~~~~
| exit_mm_release
cc1: some warnings being treated as errors
vim +981 fs/exec.c
3dc20cb282ec03 Al Viro 2013-04-13 966
eea9673250db4e Eric W. Biederman 2020-03-25 967 /*
eea9673250db4e Eric W. Biederman 2020-03-25 968 * Maps the mm_struct mm into the current task struct.
f7cfd871ae0c50 Eric W. Biederman 2020-12-03 969 * On success, this function returns with exec_update_lock
f7cfd871ae0c50 Eric W. Biederman 2020-12-03 970 * held for writing.
eea9673250db4e Eric W. Biederman 2020-03-25 971 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 972 static int exec_mmap(struct mm_struct *mm)
^1da177e4c3f41 Linus Torvalds 2005-04-16 973 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 974 struct task_struct *tsk;
^1da177e4c3f41 Linus Torvalds 2005-04-16 975 struct mm_struct *old_mm, *active_mm;
eea9673250db4e Eric W. Biederman 2020-03-25 976 int ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 977
^1da177e4c3f41 Linus Torvalds 2005-04-16 978 /* Notify parent that we're no longer interested in the old VM */
^1da177e4c3f41 Linus Torvalds 2005-04-16 979 tsk = current;
^1da177e4c3f41 Linus Torvalds 2005-04-16 980 old_mm = current->mm;
4610ba7ad877fa Thomas Gleixner 2019-11-06 @981 exec_mm_release(tsk, old_mm);
a28bf136e651e1 Eric W. Biederman 2020-03-30 982 if (old_mm)
a28bf136e651e1 Eric W. Biederman 2020-03-30 983 sync_mm_rss(old_mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 984
f7cfd871ae0c50 Eric W. Biederman 2020-12-03 985 ret = down_write_killable(&tsk->signal->exec_update_lock);
eea9673250db4e Eric W. Biederman 2020-03-25 986 if (ret)
eea9673250db4e Eric W. Biederman 2020-03-25 987 return ret;
eea9673250db4e Eric W. Biederman 2020-03-25 988
^1da177e4c3f41 Linus Torvalds 2005-04-16 989 if (old_mm) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 990 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 991 * Make sure that if there is a core dump in progress
^1da177e4c3f41 Linus Torvalds 2005-04-16 992 * for the old mm, we get out and die instead of going
c1e8d7c6a7a682 Michel Lespinasse 2020-06-08 993 * through with the exec. We must hold mmap_lock around
999d9fc1670bc0 Oleg Nesterov 2008-07-25 994 * checking core_state and changing tsk->mm.
^1da177e4c3f41 Linus Torvalds 2005-04-16 995 */
d8ed45c5dcd455 Michel Lespinasse 2020-06-08 996 mmap_read_lock(old_mm);
999d9fc1670bc0 Oleg Nesterov 2008-07-25 997 if (unlikely(old_mm->core_state)) {
d8ed45c5dcd455 Michel Lespinasse 2020-06-08 998 mmap_read_unlock(old_mm);
f7cfd871ae0c50 Eric W. Biederman 2020-12-03 999 up_write(&tsk->signal->exec_update_lock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1000 return -EINTR;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1001 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1002 }
eea9673250db4e Eric W. Biederman 2020-03-25 1003
^1da177e4c3f41 Linus Torvalds 2005-04-16 1004 task_lock(tsk);
ab22b43ceabaac Andy Lutomirski 2021-06-22 1005 __activate_mm(mm);
615d6e8756c871 Davidlohr Bueso 2014-04-07 1006 tsk->mm->vmacache_seqnum = 0;
615d6e8756c871 Davidlohr Bueso 2014-04-07 1007 vmacache_flush(tsk);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1008 task_unlock(tsk);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1009 if (old_mm) {
d8ed45c5dcd455 Michel Lespinasse 2020-06-08 1010 mmap_read_unlock(old_mm);
7dddb12c63553d Eric Sesterhenn 2006-04-01 1011 BUG_ON(active_mm != old_mm);
701085b219016d Oleg Nesterov 2012-03-19 1012 setmax_mm_hiwater_rss(&tsk->signal->maxrss, old_mm);
31a78f23bac006 Balbir Singh 2008-09-28 1013 mm_update_next_owner(old_mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1014 mmput(old_mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1015 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1016 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1017 mmdrop(active_mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1018 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1019 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1020
:::::: The code at line 981 was first introduced by commit
:::::: 4610ba7ad877fafc0a25a30c6c82015304120426 exit/exec: Seperate mm_release()
:::::: TO: Thomas Gleixner <tglx(a)linutronix.de>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[linuxppc:next-test 215/220] arch/powerpc/lib/restart_table.c:22:6: error: no previous prototype for function 'search_kernel_soft_mask_table'
by kernel test robot
tree: https://github.com/linuxppc/linux next-test
head: 91fc46eced0f70526d74468ac6c932c90a8585b3
commit: 325678fd052259e7c05ef29060a73c705ea90432 [215/220] powerpc/64s: add a table of implicit soft-masked addresses
config: powerpc-buildonly-randconfig-r003-20210630 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d21d5472501460933e78aead04cf59579025ba4)
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://github.com/linuxppc/linux/commit/325678fd052259e7c05ef29060a73c70...
git remote add linuxppc https://github.com/linuxppc/linux
git fetch --no-tags linuxppc next-test
git checkout 325678fd052259e7c05ef29060a73c705ea90432
# 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 >>):
__do_insb
^
arch/powerpc/include/asm/io.h:556:56: note: expanded from macro '__do_insb'
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from arch/powerpc/lib/restart_table.c:1:
In file included from arch/powerpc/include/asm/interrupt.h:70:
In file included from include/linux/hardirq.h:11:
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:45:1: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (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>:204: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 arch/powerpc/lib/restart_table.c:1:
In file included from arch/powerpc/include/asm/interrupt.h:70:
In file included from include/linux/hardirq.h:11:
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: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-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>:206: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 arch/powerpc/lib/restart_table.c:1:
In file included from arch/powerpc/include/asm/interrupt.h:70:
In file included from include/linux/hardirq.h:11:
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: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-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>:208: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 arch/powerpc/lib/restart_table.c:1:
In file included from arch/powerpc/include/asm/interrupt.h:70:
In file included from include/linux/hardirq.h:11:
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: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-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>:210: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 arch/powerpc/lib/restart_table.c:1:
In file included from arch/powerpc/include/asm/interrupt.h:70:
In file included from include/linux/hardirq.h:11:
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: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-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>:212: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))
~~~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/lib/restart_table.c:22:6: error: no previous prototype for function 'search_kernel_soft_mask_table' [-Werror,-Wmissing-prototypes]
bool search_kernel_soft_mask_table(unsigned long addr)
^
arch/powerpc/lib/restart_table.c:22:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
bool search_kernel_soft_mask_table(unsigned long addr)
^
static
arch/powerpc/lib/restart_table.c:40:15: error: no previous prototype for function 'search_kernel_restart_table' [-Werror,-Wmissing-prototypes]
unsigned long search_kernel_restart_table(unsigned long addr)
^
arch/powerpc/lib/restart_table.c:40:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
unsigned long search_kernel_restart_table(unsigned long addr)
^
static
14 errors generated.
vim +/search_kernel_soft_mask_table +22 arch/powerpc/lib/restart_table.c
20
21 /* Given an address, look for it in the soft mask table */
> 22 bool search_kernel_soft_mask_table(unsigned long addr)
23 {
24 struct soft_mask_table_entry *smte = __start___soft_mask_table;
25
26 while (smte < __stop___soft_mask_table) {
27 unsigned long start = smte->start;
28 unsigned long end = smte->end;
29
30 if (addr >= start && addr < end)
31 return true;
32
33 smte++;
34 }
35 return false;
36 }
37 NOKPROBE_SYMBOL(search_kernel_soft_mask_table);
38
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[linux-next:master 2287/14009] sound/core/rawmidi_compat.c:29:29: warning: taking address of packed member 'mode' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 2e0046650f0f192a84a1793f0dc2f0991ed9a3e4
commit: 08fdced60ca08e34e316a3ab945636fcdfcbc973 [2287/14009] ALSA: rawmidi: Add framing mode
config: mips-buildonly-randconfig-r005-20210630 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 8d21d5472501460933e78aead04cf59579025ba4)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 08fdced60ca08e34e316a3ab945636fcdfcbc973
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
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 >>):
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:26:31: warning: taking address of packed member 'stream' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
if (get_user(params.stream, &src->stream) ||
^~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:21: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:26:31: warning: taking address of packed member 'stream' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
if (get_user(params.stream, &src->stream) ||
^~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:42: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:27:36: warning: taking address of packed member 'buffer_size' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(params.buffer_size, &src->buffer_size) ||
^~~~~~~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:21: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:27:36: warning: taking address of packed member 'buffer_size' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(params.buffer_size, &src->buffer_size) ||
^~~~~~~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:42: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:28:34: warning: taking address of packed member 'avail_min' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(params.avail_min, &src->avail_min) ||
^~~~~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:21: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:28:34: warning: taking address of packed member 'avail_min' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(params.avail_min, &src->avail_min) ||
^~~~~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:42: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
>> sound/core/rawmidi_compat.c:29:29: warning: taking address of packed member 'mode' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(params.mode, &src->mode) ||
^~~~~~~~~
arch/mips/include/asm/uaccess.h:135:21: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
>> sound/core/rawmidi_compat.c:29:29: warning: taking address of packed member 'mode' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(params.mode, &src->mode) ||
^~~~~~~~~
arch/mips/include/asm/uaccess.h:135:42: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:30:21: warning: taking address of packed member 'no_active_sensing' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(val, &src->no_active_sensing))
^~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:21: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:30:21: warning: taking address of packed member 'no_active_sensing' of class or structure 'snd_rawmidi_params32' may result in an unaligned pointer value [-Waddress-of-packed-member]
get_user(val, &src->no_active_sensing))
^~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:42: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:63:31: warning: taking address of packed member 'stream' of class or structure 'compat_snd_rawmidi_status64' may result in an unaligned pointer value [-Waddress-of-packed-member]
if (get_user(status.stream, &src->stream))
^~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:21: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
In file included from sound/core/rawmidi.c:1608:
sound/core/rawmidi_compat.c:63:31: warning: taking address of packed member 'stream' of class or structure 'compat_snd_rawmidi_status64' may result in an unaligned pointer value [-Waddress-of-packed-member]
if (get_user(status.stream, &src->stream))
^~~~~~~~~~~
arch/mips/include/asm/uaccess.h:135:42: note: expanded from macro 'get_user'
const __typeof__(*(ptr)) __user *__p = (ptr); \
^~~
12 warnings generated.
vim +29 sound/core/rawmidi_compat.c
19
20 static int snd_rawmidi_ioctl_params_compat(struct snd_rawmidi_file *rfile,
21 struct snd_rawmidi_params32 __user *src)
22 {
23 struct snd_rawmidi_params params;
24 unsigned int val;
25
26 if (get_user(params.stream, &src->stream) ||
27 get_user(params.buffer_size, &src->buffer_size) ||
28 get_user(params.avail_min, &src->avail_min) ||
> 29 get_user(params.mode, &src->mode) ||
30 get_user(val, &src->no_active_sensing))
31 return -EFAULT;
32 params.no_active_sensing = val;
33 switch (params.stream) {
34 case SNDRV_RAWMIDI_STREAM_OUTPUT:
35 if (!rfile->output)
36 return -EINVAL;
37 return snd_rawmidi_output_params(rfile->output, ¶ms);
38 case SNDRV_RAWMIDI_STREAM_INPUT:
39 if (!rfile->input)
40 return -EINVAL;
41 return snd_rawmidi_input_params(rfile->input, ¶ms);
42 }
43 return -EINVAL;
44 }
45
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months
[luto:sched/lazymm 8/14] kernel/sched/core.c:4343:14: error: 'tsk' undeclared
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git sched/lazymm
head: 717e171609e72e2f3362c56eab7732cb2e08d2f7
commit: ab22b43ceabaacf410f3c9e5a0ad82fd82eb2d1a [8/14] sched, exec: Move the activate_mm() call sequence into sched/core.c
config: i386-tinyconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?id...
git remote add luto https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
git fetch --no-tags luto sched/lazymm
git checkout ab22b43ceabaacf410f3c9e5a0ad82fd82eb2d1a
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
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/sched/core.c: In function 'ttwu_stat':
kernel/sched/core.c:2916:13: warning: variable 'rq' set but not used [-Wunused-but-set-variable]
2916 | struct rq *rq;
| ^~
kernel/sched/core.c: In function 'context_switch':
kernel/sched/core.c:4316:33: error: 'struct rq' has no member named 'membarrier_state'
4316 | membarrier_finish_switch_mm(rq->membarrier_state);
| ^~
kernel/sched/core.c: In function '__activate_mm':
>> kernel/sched/core.c:4343:14: error: 'tsk' undeclared (first use in this function)
4343 | active_mm = tsk->active_mm;
| ^~~
kernel/sched/core.c:4343:14: note: each undeclared identifier is reported only once for each function it appears in
vim +/tsk +4343 kernel/sched/core.c
4335
4336 void __activate_mm(struct mm_struct *mm)
4337 {
4338 struct mm_struct *active_mm;
4339
4340 lockdep_assert_preemption_disabled();
4341
4342 local_irq_disable();
> 4343 active_mm = tsk->active_mm;
4344 tsk->active_mm = mm;
4345 WRITE_ONCE(tsk->mm, mm); /* membarrier reads this without locks */
4346 /*
4347 * This prevents preemption while active_mm is being loaded and
4348 * it and mm are being updated, which could cause problems for
4349 * lazy tlb mm refcounting when these are updated by context
4350 * switches. Not all architectures can handle irqs off over
4351 * activate_mm yet.
4352 */
4353 if (!IS_ENABLED(CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM))
4354 local_irq_enable();
4355 activate_mm(active_mm, mm);
4356 if (IS_ENABLED(CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM))
4357 local_irq_enable();
4358 }
4359
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
11 months