Hi Jan, I love your patch! Perhaps something to improve: [auto build test WARNING on axboe-block/for-next] [also build test WARNING on linus/master v5.19-rc3 next-20220622] [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/intel-lab-lkp/linux/commits/Jan-Kara/block-Fix-IO-priority-mess/20220621-183235 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-s022 (https://download.01.org/0day-ci/archive/20220622/202206221920.pxBCy0Di-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-31-g4880bd19-dirty # https://github.com/intel-lab-lkp/linux/commit/8421c851d4fe5f4b9d9d6870ada8ccd0b48a4012 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Jan-Kara/block-Fix-IO-priority-mess/20220621-183235 git checkout 8421c851d4fe5f4b9d9d6870ada8ccd0b48a4012 # 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=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) fs/read_write.c: note: in included file (through include/linux/fs.h, include/linux/fsnotify_backend.h, include/linux/fsnotify.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/read_write.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast fs/read_write.c: note: in included file (through include/linux/fs.h, include/linux/fsnotify_backend.h, include/linux/fsnotify.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/read_write.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast fs/read_write.c: note: in included file (through include/linux/fs.h, include/linux/fsnotify_backend.h, include/linux/fsnotify.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/read_write.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast fs/read_write.c: note: in included file (through include/linux/fs.h, include/linux/fsnotify_backend.h, include/linux/fsnotify.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/read_write.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast fs/read_write.c: note: in included file (through include/linux/fs.h, include/linux/fsnotify_backend.h, include/linux/fsnotify.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/read_write.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast -- fs/seq_file.c:938:9: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/seq_file.c:938:9: sparse: struct list_head [noderef] __rcu * fs/seq_file.c:938:9: sparse: struct list_head * fs/seq_file.c:938:9: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/seq_file.c:938:9: sparse: struct list_head [noderef] __rcu * fs/seq_file.c:938:9: sparse: struct list_head * fs/seq_file.c:960:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct list_head *lh @@ got struct list_head [noderef] __rcu * @@ fs/seq_file.c:960:12: sparse: expected struct list_head *lh fs/seq_file.c:960:12: sparse: got struct list_head [noderef] __rcu * fs/seq_file.c:1087:24: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/seq_file.c:1087:24: sparse: struct hlist_node [noderef] __rcu * fs/seq_file.c:1087:24: sparse: struct hlist_node * fs/seq_file.c:1089:24: sparse: sparse: incompatible types in comparison expression (different address spaces): fs/seq_file.c:1089:24: sparse: struct hlist_node [noderef] __rcu * fs/seq_file.c:1089:24: sparse: struct hlist_node * fs/seq_file.c: note: in included file (through include/linux/fs.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/seq_file.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast -- fs/splice.c: note: in included file (through include/linux/fs.h, include/linux/highmem.h, include/linux/bvec.h): include/linux/ioprio.h:60:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected int ioprio @@ got struct task_struct * @@ include/linux/ioprio.h:60:34: sparse: expected int ioprio include/linux/ioprio.h:60:34: sparse: got struct task_struct * fs/splice.c: note: in included file (through include/linux/thread_info.h, arch/x86/include/asm/preempt.h, include/linux/preempt.h, ...): >> arch/x86/include/asm/current.h:15:16: sparse: sparse: non size-preserving pointer to integer cast vim +15 arch/x86/include/asm/current.h f0766440dda7ace include/asm-x86/current.h Christoph Lameter 2008-05-09 12 f0766440dda7ace include/asm-x86/current.h Christoph Lameter 2008-05-09 13 static __always_inline struct task_struct *get_current(void) f0766440dda7ace include/asm-x86/current.h Christoph Lameter 2008-05-09 14 { c6ae41e7d469f00 arch/x86/include/asm/current.h Alex Shi 2012-05-11 @15 return this_cpu_read_stable(current_task); f0766440dda7ace include/asm-x86/current.h Christoph Lameter 2008-05-09 16 } f0766440dda7ace include/asm-x86/current.h Christoph Lameter 2008-05-09 17 -- 0-DAY CI Kernel Test Service https://01.org/lkp