linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Satya Tangirala <satyat@google.com>,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
	Jens Axboe <axboe@kernel.dk>, Eric Biggers <ebiggers@google.com>,
	Satya Tangirala <satyat@google.com>
Subject: Re: [PATCH v2 6/8] block: keyslot-manager: introduce blk_ksm_restrict_dus_to_queue_limits()
Date: Fri, 26 Mar 2021 11:50:16 +0800	[thread overview]
Message-ID: <202103261145.gAR94bP0-lkp@intel.com> (raw)
In-Reply-To: <20210325212609.492188-7-satyat@google.com>

[-- Attachment #1: Type: text/plain, Size: 4631 bytes --]

Hi Satya,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on block/for-next]
[also build test WARNING on dm/for-next mkp-scsi/for-next scsi/for-next linux/master linus/master v5.12-rc4 next-20210325]
[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/Satya-Tangirala/ensure-bios-aren-t-split-in-middle-of-crypto-data-unit/20210326-053016
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: arm-randconfig-r033-20210325 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project f490a5969bd52c8a48586f134ff8f02ccbb295b3)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://github.com/0day-ci/linux/commit/9b8b677bfdba70695b8d01ee318ef552fcc0392e
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Satya-Tangirala/ensure-bios-aren-t-split-in-middle-of-crypto-data-unit/20210326-053016
        git checkout 9b8b677bfdba70695b8d01ee318ef552fcc0392e
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> block/keyslot-manager.c:457:6: warning: no previous prototype for function 'blk_ksm_restrict_dus_to_queue_limits' [-Wmissing-prototypes]
   void blk_ksm_restrict_dus_to_queue_limits(struct blk_keyslot_manager *ksm,
        ^
   block/keyslot-manager.c:457:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void blk_ksm_restrict_dus_to_queue_limits(struct blk_keyslot_manager *ksm,
   ^
   static 
   1 warning generated.


vim +/blk_ksm_restrict_dus_to_queue_limits +457 block/keyslot-manager.c

   452	
   453	/*
   454	 * Restrict the supported data unit sizes of the ksm based on the request queue
   455	 * limits
   456	 */
 > 457	void blk_ksm_restrict_dus_to_queue_limits(struct blk_keyslot_manager *ksm,
   458						  struct queue_limits *limits)
   459	{
   460		/* The largest possible data unit size we support is PAGE_SIZE. */
   461		unsigned long largest_dus = PAGE_SIZE;
   462		unsigned int dus_allowed_mask;
   463		int i;
   464		bool dus_was_restricted = false;
   465	
   466		/*
   467		 * If the queue doesn't support SG gaps, a bio might get split in the
   468		 * middle of a data unit. So require SG gap support for inline
   469		 * encryption for any data unit size larger than a single sector.
   470		 */
   471		if (limits->virt_boundary_mask)
   472			largest_dus = SECTOR_SIZE;
   473	
   474		/*
   475		 * If the queue has chunk_sectors, the bio might be split within a data
   476		 * unit if the data unit size is larger than a single sector. So only
   477		 * support a single sector data unit size in this case.
   478		 */
   479		if (limits->chunk_sectors)
   480			largest_dus = SECTOR_SIZE;
   481	
   482		/*
   483		 * Any bio sent to the queue must be allowed to contain at least a
   484		 * data_unit_size worth of data. Since each segment in a bio contains
   485		 * at least a SECTOR_SIZE worth of data, it's sufficient that
   486		 * queue_max_segments(q) * SECTOR_SIZE >= data_unit_size. So disable
   487		 * all data_unit_sizes not satisfiable.
   488		 */
   489		largest_dus = min(largest_dus,
   490				1UL << (fls(limits->max_segments) - 1 + SECTOR_SHIFT));
   491	
   492		/* Clear all unsupported data unit sizes. */
   493		dus_allowed_mask = (largest_dus << 1) - 1;
   494		for (i = 0; i < ARRAY_SIZE(ksm->crypto_modes_supported); i++) {
   495			if (ksm->crypto_modes_supported[i] & (~dus_allowed_mask))
   496				dus_was_restricted = true;
   497			ksm->crypto_modes_supported[i] &= dus_allowed_mask;
   498		}
   499	
   500		if (dus_was_restricted) {
   501			pr_warn("Disallowed use of encryption data unit sizes above %lu bytes with inline encryption hardware because of device request queue limits.\n",
   502				largest_dus);
   503		}
   504	}
   505	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27905 bytes --]

  reply	other threads:[~2021-03-26  3:51 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25 21:26 [PATCH v2 0/8] ensure bios aren't split in middle of crypto data unit Satya Tangirala
2021-03-25 21:26 ` [PATCH v2 1/8] block: introduce blk_ksm_is_empty() Satya Tangirala
2021-03-30 18:04   ` Christoph Hellwig
2021-04-15 19:21   ` Eric Biggers
2021-03-25 21:26 ` [PATCH v2 2/8] dm,mmc,ufshcd: handle error from blk_ksm_register() Satya Tangirala
2021-04-15 19:27   ` Eric Biggers
2021-03-25 21:26 ` [PATCH v2 3/8] block: blk-crypto: introduce blk_crypto_bio_sectors_alignment() Satya Tangirala
2021-04-15 19:33   ` Eric Biggers
2021-03-25 21:26 ` [PATCH v2 4/8] block: introduce bio_required_sector_alignment() Satya Tangirala
2021-03-30 18:06   ` Christoph Hellwig
2021-04-15 19:37     ` Eric Biggers
2021-04-15 19:44   ` Eric Biggers
2021-03-25 21:26 ` [PATCH v2 5/8] block: respect bio_required_sector_alignment() in blk-crypto-fallback Satya Tangirala
2021-04-15 19:45   ` Eric Biggers
2021-03-25 21:26 ` [PATCH v2 6/8] block: keyslot-manager: introduce blk_ksm_restrict_dus_to_queue_limits() Satya Tangirala
2021-03-26  3:50   ` kernel test robot [this message]
2021-03-26  6:28   ` kernel test robot
2021-04-15 19:55   ` Eric Biggers
2021-03-25 21:26 ` [PATCH v2 7/8] blk-merge: Ensure bios aren't split in middle of a crypto data unit Satya Tangirala
2021-03-25 21:26 ` [PATCH v2 8/8] block: add WARN() in bio_split() for sector alignment Satya Tangirala
2021-03-26  3:47   ` Bart Van Assche
2021-04-15 20:00   ` Eric Biggers
2021-03-25 21:51 ` [PATCH v2 0/8] ensure bios aren't split in middle of crypto data unit Bart Van Assche
2021-03-26  1:39   ` Satya Tangirala
2021-03-26  3:46     ` Bart Van Assche
2021-03-26  7:56       ` Satya Tangirala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202103261145.gAR94bP0-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=axboe@kernel.dk \
    --cc=clang-built-linux@googlegroups.com \
    --cc=ebiggers@google.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=satyat@google.com \
    --subject='Re: [PATCH v2 6/8] block: keyslot-manager: introduce blk_ksm_restrict_dus_to_queue_limits()' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
on how to clone and mirror all data and code used for this inbox