tree: https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git libnvdimm-pending head: 88f22c83135a62c0c829c39ef90ed72e92b929ba commit: 2b875a80bf47494c661a874af3941af8f06de24e [19/25] devdax: Sparse fixes for vm_fault_t in tracepoints config: i386-randconfig-s003 compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git/commit/?id=2b875a80bf47494c661a874af3941af8f06de24e git remote add djbw-nvdimm https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git git fetch --no-tags djbw-nvdimm libnvdimm-pending git checkout 2b875a80bf47494c661a874af3941af8f06de24e # save the config file mkdir build_dir && cp config build_dir/.config make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/dax/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/dax/mapping.c: note: in included file (through include/trace/trace_events.h, include/trace/define_trace.h, include/trace/events/fs_dax.h): include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:10:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:10:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:10:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in initializer (different base types) @@ expected unsigned long mask @@ got restricted vm_fault_t @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long mask include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t >> include/trace/events/fs_dax.h:153:1: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned long flags @@ got restricted vm_fault_t [usertype] result @@ include/trace/events/fs_dax.h:153:1: sparse: expected unsigned long flags include/trace/events/fs_dax.h:153:1: sparse: got restricted vm_fault_t [usertype] result drivers/dax/mapping.c: note: in included file (through include/trace/trace_events.h, include/trace/define_trace.h, include/trace/events/fs_dax.h): >> include/trace/events/fs_dax.h:153:1: sparse: sparse: cast to restricted vm_fault_t >> include/trace/events/fs_dax.h:153:1: sparse: sparse: cast to restricted vm_fault_t >> include/trace/events/fs_dax.h:153:1: sparse: sparse: restricted vm_fault_t degrades to integer >> include/trace/events/fs_dax.h:153:1: sparse: sparse: restricted vm_fault_t degrades to integer vim +153 include/trace/events/fs_dax.h 27a7ffaccd91567 Ross Zwisler 2017-02-22 152 a9c42b33ed80968 Ross Zwisler 2017-05-08 @153 DECLARE_EVENT_CLASS(dax_pte_fault_class, 2b875a80bf47494 Dan Williams 2022-10-10 154 TP_PROTO(struct inode *inode, struct vm_fault *vmf, vm_fault_t result), a9c42b33ed80968 Ross Zwisler 2017-05-08 155 TP_ARGS(inode, vmf, result), a9c42b33ed80968 Ross Zwisler 2017-05-08 156 TP_STRUCT__entry( a9c42b33ed80968 Ross Zwisler 2017-05-08 157 __field(unsigned long, ino) a9c42b33ed80968 Ross Zwisler 2017-05-08 158 __field(unsigned long, vm_flags) a9c42b33ed80968 Ross Zwisler 2017-05-08 159 __field(unsigned long, address) a9c42b33ed80968 Ross Zwisler 2017-05-08 160 __field(pgoff_t, pgoff) a9c42b33ed80968 Ross Zwisler 2017-05-08 161 __field(dev_t, dev) a9c42b33ed80968 Ross Zwisler 2017-05-08 162 __field(unsigned int, flags) 2b875a80bf47494 Dan Williams 2022-10-10 163 __field(vm_fault_t, result) a9c42b33ed80968 Ross Zwisler 2017-05-08 164 ), a9c42b33ed80968 Ross Zwisler 2017-05-08 165 TP_fast_assign( a9c42b33ed80968 Ross Zwisler 2017-05-08 166 __entry->dev = inode->i_sb->s_dev; a9c42b33ed80968 Ross Zwisler 2017-05-08 167 __entry->ino = inode->i_ino; a9c42b33ed80968 Ross Zwisler 2017-05-08 168 __entry->vm_flags = vmf->vma->vm_flags; a9c42b33ed80968 Ross Zwisler 2017-05-08 169 __entry->address = vmf->address; a9c42b33ed80968 Ross Zwisler 2017-05-08 170 __entry->flags = vmf->flags; a9c42b33ed80968 Ross Zwisler 2017-05-08 171 __entry->pgoff = vmf->pgoff; a9c42b33ed80968 Ross Zwisler 2017-05-08 172 __entry->result = result; a9c42b33ed80968 Ross Zwisler 2017-05-08 173 ), a9c42b33ed80968 Ross Zwisler 2017-05-08 174 TP_printk("dev %d:%d ino %#lx %s %s address %#lx pgoff %#lx %s", a9c42b33ed80968 Ross Zwisler 2017-05-08 175 MAJOR(__entry->dev), a9c42b33ed80968 Ross Zwisler 2017-05-08 176 MINOR(__entry->dev), a9c42b33ed80968 Ross Zwisler 2017-05-08 177 __entry->ino, a9c42b33ed80968 Ross Zwisler 2017-05-08 178 __entry->vm_flags & VM_SHARED ? "shared" : "private", a9c42b33ed80968 Ross Zwisler 2017-05-08 179 __print_flags(__entry->flags, "|", FAULT_FLAG_TRACE), a9c42b33ed80968 Ross Zwisler 2017-05-08 180 __entry->address, a9c42b33ed80968 Ross Zwisler 2017-05-08 181 __entry->pgoff, a9c42b33ed80968 Ross Zwisler 2017-05-08 182 __print_flags(__entry->result, "|", VM_FAULT_RESULT_TRACE) a9c42b33ed80968 Ross Zwisler 2017-05-08 183 ) a9c42b33ed80968 Ross Zwisler 2017-05-08 184 ) a9c42b33ed80968 Ross Zwisler 2017-05-08 185 :::::: The code at line 153 was first introduced by commit :::::: a9c42b33ed80968dd160e3be48c7e84ccf171cf9 dax: add tracepoints to dax_iomap_pte_fault() :::::: TO: Ross Zwisler :::::: CC: Linus Torvalds -- 0-DAY CI Kernel Test Service https://01.org/lkp