Re: fs/crypto/bio.c:67:17: sparse: sparse: cast to restricted blk_status_t

From: Christoph Hellwig

Date: Tue Feb 24 2026 - 09:58:11 EST


It looks like some arm64 configs generate sparse warnings when using
cmpxchg on __bitwise types. Any chance I could prod the arm64 maintainers
into looking into this?

On Mon, Feb 23, 2026 at 09:23:07AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
> commit: bc26e2efa2c5bb9289fa894834446840dea0bc31 fscrypt: keep multiple bios in flight in fscrypt_zeroout_range_inline_crypt
> date: 6 weeks ago
> config: arm64-randconfig-r134-20260223 (https://download.01.org/0day-ci/archive/20260223/202602230947.uNRsPyBn-lkp@xxxxxxxxx/config)
> compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project d8f778935a5bf8a173a3c1d886fd736a4ef6cf05)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260223/202602230947.uNRsPyBn-lkp@xxxxxxxxx/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@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202602230947.uNRsPyBn-lkp@xxxxxxxxx/
>
> sparse warnings: (new ones prefixed by >>)
> fs/crypto/bio.c:67:17: sparse: sparse: cast from restricted blk_status_t
> >> fs/crypto/bio.c:67:17: sparse: sparse: cast to restricted blk_status_t
>
> vim +67 fs/crypto/bio.c
>
> 61
> 62 static void fscrypt_zeroout_range_end_io(struct bio *bio)
> 63 {
> 64 struct fscrypt_zero_done *done = bio->bi_private;
> 65
> 66 if (bio->bi_status)
> > 67 cmpxchg(&done->status, 0, bio->bi_status);
> 68 fscrypt_zeroout_range_done(done);
> 69 bio_put(bio);
> 70 }
> 71
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
---end quoted text---