I think powerpc really need to pick the tricks from other architectures
to make cmpxchg work on __bitwise fields.

On Mon, Jun 01, 2026 at 11:26:16PM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git 
> for-7.0/block
> head:   72f4d6fca699a1e35b39c5e5dacac2926d254135
> commit: b37fbce460ad60b0c4449c1c7566cf24f3016713 [19/138] blk-crypto: 
> optimize bio splitting in blk_crypto_fallback_encrypt_bio
> config: powerpc64-randconfig-r111-20260601 
> (https://download.01.org/0day-ci/archive/20260601/[email protected]/config)
> compiler: powerpc64-linux-gcc (GCC) 8.5.0
> sparse: v0.6.5-rc1
> reproduce (this is a W=1 build): 
> (https://download.01.org/0day-ci/archive/20260601/[email protected]/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 <[email protected]>
> | Closes: 
> https://lore.kernel.org/oe-kbuild-all/[email protected]/
> 
> sparse warnings: (new ones prefixed by >>)
> >> block/blk-crypto-fallback.c:154:17: sparse: sparse: cast from restricted 
> >> blk_status_t
> >> block/blk-crypto-fallback.c:154:17: sparse: sparse: cast from restricted 
> >> blk_status_t
>    block/blk-crypto-fallback.c:154:17: sparse: sparse: cast to restricted 
> blk_status_t
> 
> vim +154 block/blk-crypto-fallback.c
> 
>    143        
>    144        static void blk_crypto_fallback_encrypt_endio(struct bio 
> *enc_bio)
>    145        {
>    146                struct bio *src_bio = enc_bio->bi_private;
>    147                int i;
>    148        
>    149                for (i = 0; i < enc_bio->bi_vcnt; i++)
>    150                        mempool_free(enc_bio->bi_io_vec[i].bv_page,
>    151                                     blk_crypto_bounce_page_pool);
>    152        
>    153                if (enc_bio->bi_status)
>  > 154                        cmpxchg(&src_bio->bi_status, 0, 
> enc_bio->bi_status);
>    155        
>    156                bio_put(enc_bio);
>    157                bio_endio(src_bio);
>    158        }
>    159        
> 
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
---end quoted text---

Reply via email to