CC: [email protected]
TO: Todd Kjos <[email protected]>

tree:   https://android.googlesource.com/kernel/goldfish android-5.4
head:   0dccdc03e008291c781aa70498ae4750df363aba
commit: a1423568e2aecd27a202e7053945905dddcc6045 [2/3] ANDROID: dm: add support 
for passing through derive_raw_secret
:::::: branch date: 3 months ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-s032-20200609 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-247-gcadbd124-dirty
        git checkout a1423568e2aecd27a202e7053945905dddcc6045
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   drivers/md/dm.c:520:12: sparse: sparse: context imbalance in 
'dm_prepare_ioctl' - wrong count at exit
   drivers/md/dm.c:555:13: sparse: sparse: context imbalance in 
'dm_unprepare_ioctl' - wrong count at exit
   drivers/md/dm.c:1136:13: sparse: sparse: context imbalance in 
'dm_dax_supported' - different lock contexts for basic block
   drivers/md/dm.c:2281:12: sparse: sparse: context imbalance in 
'dm_keyslot_evict' - different lock contexts for basic block
>> drivers/md/dm.c:2340:12: sparse: sparse: context imbalance in 
>> 'dm_derive_raw_secret' - different lock contexts for basic block
   arch/x86/include/asm/bitops.h:77:37: sparse: sparse: cast truncates bits 
from constant value (ffffff7f becomes 7f)

git remote add android-goldfish https://android.googlesource.com/kernel/goldfish
git remote update android-goldfish
git checkout a1423568e2aecd27a202e7053945905dddcc6045
vim +/dm_derive_raw_secret +2340 drivers/md/dm.c

a1423568e2aecd Barani Muthukumaran 2020-02-06  2334  
a1423568e2aecd Barani Muthukumaran 2020-02-06  2335  /*
a1423568e2aecd Barani Muthukumaran 2020-02-06  2336   * Retrieve the raw_secret 
from the underlying device. Given that
a1423568e2aecd Barani Muthukumaran 2020-02-06  2337   * only only one 
raw_secret can exist for a particular wrappedkey,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2338   * retrieve it only from 
the first device that supports derive_raw_secret()
a1423568e2aecd Barani Muthukumaran 2020-02-06  2339   */
a1423568e2aecd Barani Muthukumaran 2020-02-06 @2340  static int 
dm_derive_raw_secret(struct keyslot_manager *ksm,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2341                             
const u8 *wrapped_key,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2342                             
unsigned int wrapped_key_size,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2343                             
u8 *secret, unsigned int secret_size)
a1423568e2aecd Barani Muthukumaran 2020-02-06  2344  {
a1423568e2aecd Barani Muthukumaran 2020-02-06  2345     struct mapped_device 
*md = keyslot_manager_private(ksm);
a1423568e2aecd Barani Muthukumaran 2020-02-06  2346     struct 
dm_derive_raw_secret_args args = {
a1423568e2aecd Barani Muthukumaran 2020-02-06  2347             .wrapped_key = 
wrapped_key,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2348             
.wrapped_key_size = wrapped_key_size,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2349             .secret = 
secret,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2350             .secret_size = 
secret_size,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2351             .err = 
-EOPNOTSUPP,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2352     };
a1423568e2aecd Barani Muthukumaran 2020-02-06  2353     struct dm_table *t;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2354     int srcu_idx;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2355     int i;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2356     struct dm_target *ti;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2357  
a1423568e2aecd Barani Muthukumaran 2020-02-06  2358     t = 
dm_get_live_table(md, &srcu_idx);
a1423568e2aecd Barani Muthukumaran 2020-02-06  2359     if (!t)
a1423568e2aecd Barani Muthukumaran 2020-02-06  2360             return 
-EOPNOTSUPP;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2361     for (i = 0; i < 
dm_table_get_num_targets(t); i++) {
a1423568e2aecd Barani Muthukumaran 2020-02-06  2362             ti = 
dm_table_get_target(t, i);
a1423568e2aecd Barani Muthukumaran 2020-02-06  2363             if 
(!ti->type->iterate_devices)
a1423568e2aecd Barani Muthukumaran 2020-02-06  2364                     
continue;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2365             
ti->type->iterate_devices(ti, dm_derive_raw_secret_callback,
a1423568e2aecd Barani Muthukumaran 2020-02-06  2366                             
          &args);
a1423568e2aecd Barani Muthukumaran 2020-02-06  2367             if (!args.err)
a1423568e2aecd Barani Muthukumaran 2020-02-06  2368                     break;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2369     }
a1423568e2aecd Barani Muthukumaran 2020-02-06  2370     dm_put_live_table(md, 
srcu_idx);
a1423568e2aecd Barani Muthukumaran 2020-02-06  2371     return args.err;
a1423568e2aecd Barani Muthukumaran 2020-02-06  2372  }
a1423568e2aecd Barani Muthukumaran 2020-02-06  2373  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to