lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202409031507.wUCw4k8n-lkp@intel.com>
Date: Tue, 3 Sep 2024 16:33:52 +0800
From: kernel test robot <lkp@...el.com>
To: ZhangHui <zhanghui31@...omi.com>, axboe@...nel.dk
Cc: oe-kbuild-all@...ts.linux.dev, linux-block@...r.kernel.org,
	linux-kernel@...r.kernel.org, zhanghui31@...omi.com
Subject: Re: [PATCH] block: move non sync requests complete flow to softirq

Hi ZhangHui,

kernel test robot noticed the following build warnings:

[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.11-rc6 next-20240902]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/ZhangHui/block-move-non-sync-requests-complete-flow-to-softirq/20240902-144744
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link:    https://lore.kernel.org/r/20240902064409.25637-1-zhanghui31%40xiaomi.com
patch subject: [PATCH] block: move non sync requests complete flow to softirq
config: x86_64-randconfig-122-20240903 (https://download.01.org/0day-ci/archive/20240903/202409031507.wUCw4k8n-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240903/202409031507.wUCw4k8n-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409031507.wUCw4k8n-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> block/blk-mq.c:1196:45: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted blk_opf_t const [usertype] is_sync @@     got bool @@
   block/blk-mq.c:1196:45: sparse:     expected restricted blk_opf_t const [usertype] is_sync
   block/blk-mq.c:1196:45: sparse:     got bool
   block/blk-mq.c: note: in included file (through include/linux/module.h):
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
   include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true

vim +1196 block/blk-mq.c

  1193	
  1194	bool blk_mq_complete_request_remote(struct request *rq)
  1195	{
> 1196		const blk_opf_t is_sync = op_is_sync(rq->cmd_flags);
  1197	
  1198		WRITE_ONCE(rq->state, MQ_RQ_COMPLETE);
  1199	
  1200		/*
  1201		 * For request which hctx has only one ctx mapping,
  1202		 * or a polled request, always complete locally,
  1203		 * it's pointless to redirect the completion.
  1204		 */
  1205		if ((rq->mq_hctx->nr_ctx == 1 &&
  1206		     rq->mq_ctx->cpu == raw_smp_processor_id()) ||
  1207		     rq->cmd_flags & REQ_POLLED)
  1208			return false;
  1209	
  1210		if (blk_mq_complete_need_ipi(rq)) {
  1211			blk_mq_complete_send_ipi(rq);
  1212			return true;
  1213		}
  1214	
  1215		if ((rq->q->nr_hw_queues == 1) || !is_sync) {
  1216			blk_mq_raise_softirq(rq);
  1217			return true;
  1218		}
  1219		return false;
  1220	}
  1221	EXPORT_SYMBOL_GPL(blk_mq_complete_request_remote);
  1222	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ