Hi Liu,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20200911]

url:    
https://github.com/0day-ci/linux/commits/Liu-Shixin/dm-integrity-convert-to-use-le64_add_cpu/20200914-115650
base:    d5b2251d63b5344ee827d3680fa79bdb9f9ddfa1
config: x86_64-randconfig-s022-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-191-g10164920-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

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


sparse warnings: (new ones prefixed by >>)

   drivers/md/dm-integrity.c:2672:25: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:2712:25: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
sector_hi @@     got restricted __le32 [usertype] @@
   drivers/md/dm-integrity.c:2712:25: sparse:     expected unsigned int 
[usertype] sector_hi
   drivers/md/dm-integrity.c:2712:25: sparse:     got restricted __le32 
[usertype]
   drivers/md/dm-integrity.c:2784:38: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:2945:31: sparse: sparse: invalid assignment: &=
   drivers/md/dm-integrity.c:2945:31: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:2945:31: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:2960:43: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:2977:47: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
provided_data_sectors @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:2977:47: sparse:     expected unsigned long long 
[usertype] provided_data_sectors
   drivers/md/dm-integrity.c:2977:47: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:2983:29: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:2993:55: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:2993:55: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:2993:55: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:2994:63: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
recalc_sector @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:2994:63: sparse:     expected unsigned long long 
[usertype] recalc_sector
   drivers/md/dm-integrity.c:2994:63: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3005:47: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:3005:47: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:3005:47: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:3006:55: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
recalc_sector @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3006:55: sparse:     expected unsigned long long 
[usertype] recalc_sector
   drivers/md/dm-integrity.c:3006:55: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3011:47: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:3011:47: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:3011:47: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:3012:55: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
recalc_sector @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3012:55: sparse:     expected unsigned long long 
[usertype] recalc_sector
   drivers/md/dm-integrity.c:3012:55: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3016:39: sparse: sparse: invalid assignment: &=
   drivers/md/dm-integrity.c:3016:39: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:3016:39: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:3024:39: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:3024:39: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:3024:39: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:3033:45: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3034:29: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3035:66: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3036:77: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3037:72: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3038:77: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3039:75: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3040:77: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3048:29: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3049:36: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3054:47: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
recalc_sector @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3054:47: sparse:     expected unsigned long long 
[usertype] recalc_sector
   drivers/md/dm-integrity.c:3054:47: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3082:37: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3083:25: sparse: sparse: cast to restricted __le64
   drivers/md/dm-integrity.c:3095:49: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3104:47: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3111:37: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3126:38: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3171:32: sparse: sparse: cast to restricted __le32
   drivers/md/dm-integrity.c:3175:29: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3198:41: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:3253:36: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned short [usertype] 
integrity_tag_size @@     got restricted __le16 [usertype] @@
   drivers/md/dm-integrity.c:3253:36: sparse:     expected unsigned short 
[usertype] integrity_tag_size
   drivers/md/dm-integrity.c:3253:36: sparse:     got restricted __le16 
[usertype]
   drivers/md/dm-integrity.c:3256:31: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:3256:31: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:3256:31: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:3265:39: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:3265:39: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:3265:39: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:3266:42: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
journal_sections @@     got restricted __le32 [usertype] @@
   drivers/md/dm-integrity.c:3266:42: sparse:     expected unsigned int 
[usertype] journal_sections
   drivers/md/dm-integrity.c:3266:42: sparse:     got restricted __le32 
[usertype]
   drivers/md/dm-integrity.c:3284:42: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
journal_sections @@     got restricted __le32 [usertype] @@
   drivers/md/dm-integrity.c:3284:42: sparse:     expected unsigned int 
[usertype] journal_sections
   drivers/md/dm-integrity.c:3284:42: sparse:     got restricted __le32 
[usertype]
   drivers/md/dm-integrity.c:3286:55: sparse: sparse: cast to restricted __le32
   drivers/md/dm-integrity.c:3290:50: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
journal_sections @@     got restricted __le32 [usertype] @@
   drivers/md/dm-integrity.c:3290:50: sparse:     expected unsigned int 
[usertype] journal_sections
   drivers/md/dm-integrity.c:3290:50: sparse:     got restricted __le32 
[usertype]
   drivers/md/dm-integrity.c:3292:58: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned int [usertype] 
journal_sections @@     got restricted __le32 [usertype] @@
   drivers/md/dm-integrity.c:3292:58: sparse:     expected unsigned int 
[usertype] journal_sections
   drivers/md/dm-integrity.c:3292:58: sparse:     got restricted __le32 
[usertype]
   drivers/md/dm-integrity.c:3295:22: sparse: sparse: cast to restricted __le32
   drivers/md/dm-integrity.c:3304:39: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
provided_data_sectors @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3304:39: sparse:     expected unsigned long long 
[usertype] provided_data_sectors
   drivers/md/dm-integrity.c:3304:39: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3496:27: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long @@     got 
restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3496:27: sparse:     expected unsigned long long
   drivers/md/dm-integrity.c:3496:27: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3497:27: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long @@     got 
restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3497:27: sparse:     expected unsigned long long
   drivers/md/dm-integrity.c:3497:27: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3498:27: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long @@     got 
restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3498:27: sparse:     expected unsigned long long
   drivers/md/dm-integrity.c:3498:27: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3499:27: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long @@     got 
restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:3499:27: sparse:     expected unsigned long long
   drivers/md/dm-integrity.c:3499:27: sparse:     got restricted __le64 
[usertype]
   drivers/md/dm-integrity.c:3653:52: sparse: sparse: incorrect type in 
initializer (different base types) @@     expected unsigned int [usertype] 
section_le @@     got restricted __le32 [usertype] @@
   drivers/md/dm-integrity.c:3653:52: sparse:     expected unsigned int 
[usertype] section_le
   drivers/md/dm-integrity.c:3653:52: sparse:     got restricted __le32 
[usertype]
>> drivers/md/dm-integrity.c:3699:61: sparse: sparse: incorrect type in 
>> argument 1 (different base types) @@     expected restricted __le64 
>> [usertype] *var @@     got unsigned long long * @@
>> drivers/md/dm-integrity.c:3699:61: sparse:     expected restricted __le64 
>> [usertype] *var
>> drivers/md/dm-integrity.c:3699:61: sparse:     got unsigned long long *
   drivers/md/dm-integrity.c:4066:13: sparse: sparse: cast to restricted __le16
   drivers/md/dm-integrity.c:4076:14: sparse: sparse: cast to restricted __le32
   drivers/md/dm-integrity.c:4096:32: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:4174:55: sparse: sparse: restricted __le32 
degrades to integer
   drivers/md/dm-integrity.c:4175:31: sparse: sparse: invalid assignment: |=
   drivers/md/dm-integrity.c:4175:31: sparse:    left side has type unsigned int
   drivers/md/dm-integrity.c:4175:31: sparse:    right side has type restricted 
__le32
   drivers/md/dm-integrity.c:4176:39: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected unsigned long long [usertype] 
recalc_sector @@     got restricted __le64 [usertype] @@
   drivers/md/dm-integrity.c:4176:39: sparse:     expected unsigned long long 
[usertype] recalc_sector
   drivers/md/dm-integrity.c:4176:39: sparse:     got restricted __le64 
[usertype]

# 
https://github.com/0day-ci/linux/commit/d0fe72210efe84e8e9c90b1650eb8a5728378dbe
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Liu-Shixin/dm-integrity-convert-to-use-le64_add_cpu/20200914-115650
git checkout d0fe72210efe84e8e9c90b1650eb8a5728378dbe
vim +3699 drivers/md/dm-integrity.c

  3487  
  3488  static int create_journal(struct dm_integrity_c *ic, char **error)
  3489  {
  3490          int r = 0;
  3491          unsigned i;
  3492          __u64 journal_pages, journal_desc_size, journal_tree_size;
  3493          unsigned char *crypt_data = NULL, *crypt_iv = NULL;
  3494          struct skcipher_request *req = NULL;
  3495  
  3496          ic->commit_ids[0] = cpu_to_le64(0x1111111111111111ULL);
  3497          ic->commit_ids[1] = cpu_to_le64(0x2222222222222222ULL);
  3498          ic->commit_ids[2] = cpu_to_le64(0x3333333333333333ULL);
  3499          ic->commit_ids[3] = cpu_to_le64(0x4444444444444444ULL);
  3500  
  3501          journal_pages = roundup((__u64)ic->journal_sections * 
ic->journal_section_sectors,
  3502                                  PAGE_SIZE >> SECTOR_SHIFT) >> 
(PAGE_SHIFT - SECTOR_SHIFT);
  3503          journal_desc_size = journal_pages * sizeof(struct page_list);
  3504          if (journal_pages >= totalram_pages() - totalhigh_pages() || 
journal_desc_size > ULONG_MAX) {
  3505                  *error = "Journal doesn't fit into memory";
  3506                  r = -ENOMEM;
  3507                  goto bad;
  3508          }
  3509          ic->journal_pages = journal_pages;
  3510  
  3511          ic->journal = dm_integrity_alloc_page_list(ic->journal_pages);
  3512          if (!ic->journal) {
  3513                  *error = "Could not allocate memory for journal";
  3514                  r = -ENOMEM;
  3515                  goto bad;
  3516          }
  3517          if (ic->journal_crypt_alg.alg_string) {
  3518                  unsigned ivsize, blocksize;
  3519                  struct journal_completion comp;
  3520  
  3521                  comp.ic = ic;
  3522                  ic->journal_crypt = 
crypto_alloc_skcipher(ic->journal_crypt_alg.alg_string, 0, 0);
  3523                  if (IS_ERR(ic->journal_crypt)) {
  3524                          *error = "Invalid journal cipher";
  3525                          r = PTR_ERR(ic->journal_crypt);
  3526                          ic->journal_crypt = NULL;
  3527                          goto bad;
  3528                  }
  3529                  ivsize = crypto_skcipher_ivsize(ic->journal_crypt);
  3530                  blocksize = 
crypto_skcipher_blocksize(ic->journal_crypt);
  3531  
  3532                  if (ic->journal_crypt_alg.key) {
  3533                          r = crypto_skcipher_setkey(ic->journal_crypt, 
ic->journal_crypt_alg.key,
  3534                                                     
ic->journal_crypt_alg.key_size);
  3535                          if (r) {
  3536                                  *error = "Error setting encryption key";
  3537                                  goto bad;
  3538                          }
  3539                  }
  3540                  DEBUG_print("cipher %s, block size %u iv size %u\n",
  3541                              ic->journal_crypt_alg.alg_string, 
blocksize, ivsize);
  3542  
  3543                  ic->journal_io = 
dm_integrity_alloc_page_list(ic->journal_pages);
  3544                  if (!ic->journal_io) {
  3545                          *error = "Could not allocate memory for journal 
io";
  3546                          r = -ENOMEM;
  3547                          goto bad;
  3548                  }
  3549  
  3550                  if (blocksize == 1) {
  3551                          struct scatterlist *sg;
  3552  
  3553                          req = skcipher_request_alloc(ic->journal_crypt, 
GFP_KERNEL);
  3554                          if (!req) {
  3555                                  *error = "Could not allocate crypt 
request";
  3556                                  r = -ENOMEM;
  3557                                  goto bad;
  3558                          }
  3559  
  3560                          crypt_iv = kzalloc(ivsize, GFP_KERNEL);
  3561                          if (!crypt_iv) {
  3562                                  *error = "Could not allocate iv";
  3563                                  r = -ENOMEM;
  3564                                  goto bad;
  3565                          }
  3566  
  3567                          ic->journal_xor = 
dm_integrity_alloc_page_list(ic->journal_pages);
  3568                          if (!ic->journal_xor) {
  3569                                  *error = "Could not allocate memory for 
journal xor";
  3570                                  r = -ENOMEM;
  3571                                  goto bad;
  3572                          }
  3573  
  3574                          sg = kvmalloc_array(ic->journal_pages + 1,
  3575                                              sizeof(struct scatterlist),
  3576                                              GFP_KERNEL);
  3577                          if (!sg) {
  3578                                  *error = "Unable to allocate sg list";
  3579                                  r = -ENOMEM;
  3580                                  goto bad;
  3581                          }
  3582                          sg_init_table(sg, ic->journal_pages + 1);
  3583                          for (i = 0; i < ic->journal_pages; i++) {
  3584                                  char *va = 
lowmem_page_address(ic->journal_xor[i].page);
  3585                                  clear_page(va);
  3586                                  sg_set_buf(&sg[i], va, PAGE_SIZE);
  3587                          }
  3588                          sg_set_buf(&sg[i], &ic->commit_ids, sizeof 
ic->commit_ids);
  3589  
  3590                          skcipher_request_set_crypt(req, sg, sg,
  3591                                                     PAGE_SIZE * 
ic->journal_pages + sizeof ic->commit_ids, crypt_iv);
  3592                          init_completion(&comp.comp);
  3593                          comp.in_flight = (atomic_t)ATOMIC_INIT(1);
  3594                          if (do_crypt(true, req, &comp))
  3595                                  wait_for_completion(&comp.comp);
  3596                          kvfree(sg);
  3597                          r = dm_integrity_failed(ic);
  3598                          if (r) {
  3599                                  *error = "Unable to encrypt journal";
  3600                                  goto bad;
  3601                          }
  3602                          
DEBUG_bytes(lowmem_page_address(ic->journal_xor[0].page), 64, "xor data");
  3603  
  3604                          crypto_free_skcipher(ic->journal_crypt);
  3605                          ic->journal_crypt = NULL;
  3606                  } else {
  3607                          unsigned crypt_len = roundup(ivsize, blocksize);
  3608  
  3609                          req = skcipher_request_alloc(ic->journal_crypt, 
GFP_KERNEL);
  3610                          if (!req) {
  3611                                  *error = "Could not allocate crypt 
request";
  3612                                  r = -ENOMEM;
  3613                                  goto bad;
  3614                          }
  3615  
  3616                          crypt_iv = kmalloc(ivsize, GFP_KERNEL);
  3617                          if (!crypt_iv) {
  3618                                  *error = "Could not allocate iv";
  3619                                  r = -ENOMEM;
  3620                                  goto bad;
  3621                          }
  3622  
  3623                          crypt_data = kmalloc(crypt_len, GFP_KERNEL);
  3624                          if (!crypt_data) {
  3625                                  *error = "Unable to allocate crypt 
data";
  3626                                  r = -ENOMEM;
  3627                                  goto bad;
  3628                          }
  3629  
  3630                          ic->journal_scatterlist = 
dm_integrity_alloc_journal_scatterlist(ic, ic->journal);
  3631                          if (!ic->journal_scatterlist) {
  3632                                  *error = "Unable to allocate sg list";
  3633                                  r = -ENOMEM;
  3634                                  goto bad;
  3635                          }
  3636                          ic->journal_io_scatterlist = 
dm_integrity_alloc_journal_scatterlist(ic, ic->journal_io);
  3637                          if (!ic->journal_io_scatterlist) {
  3638                                  *error = "Unable to allocate sg list";
  3639                                  r = -ENOMEM;
  3640                                  goto bad;
  3641                          }
  3642                          ic->sk_requests = 
kvmalloc_array(ic->journal_sections,
  3643                                                           sizeof(struct 
skcipher_request *),
  3644                                                           GFP_KERNEL | 
__GFP_ZERO);
  3645                          if (!ic->sk_requests) {
  3646                                  *error = "Unable to allocate sk 
requests";
  3647                                  r = -ENOMEM;
  3648                                  goto bad;
  3649                          }
  3650                          for (i = 0; i < ic->journal_sections; i++) {
  3651                                  struct scatterlist sg;
  3652                                  struct skcipher_request *section_req;
  3653                                  __u32 section_le = cpu_to_le32(i);
  3654  
  3655                                  memset(crypt_iv, 0x00, ivsize);
  3656                                  memset(crypt_data, 0x00, crypt_len);
  3657                                  memcpy(crypt_data, &section_le, 
min((size_t)crypt_len, sizeof(section_le)));
  3658  
  3659                                  sg_init_one(&sg, crypt_data, crypt_len);
  3660                                  skcipher_request_set_crypt(req, &sg, 
&sg, crypt_len, crypt_iv);
  3661                                  init_completion(&comp.comp);
  3662                                  comp.in_flight = 
(atomic_t)ATOMIC_INIT(1);
  3663                                  if (do_crypt(true, req, &comp))
  3664                                          wait_for_completion(&comp.comp);
  3665  
  3666                                  r = dm_integrity_failed(ic);
  3667                                  if (r) {
  3668                                          *error = "Unable to generate 
iv";
  3669                                          goto bad;
  3670                                  }
  3671  
  3672                                  section_req = 
skcipher_request_alloc(ic->journal_crypt, GFP_KERNEL);
  3673                                  if (!section_req) {
  3674                                          *error = "Unable to allocate 
crypt request";
  3675                                          r = -ENOMEM;
  3676                                          goto bad;
  3677                                  }
  3678                                  section_req->iv = kmalloc_array(ivsize, 
2,
  3679                                                                  
GFP_KERNEL);
  3680                                  if (!section_req->iv) {
  3681                                          
skcipher_request_free(section_req);
  3682                                          *error = "Unable to allocate 
iv";
  3683                                          r = -ENOMEM;
  3684                                          goto bad;
  3685                                  }
  3686                                  memcpy(section_req->iv + ivsize, 
crypt_data, ivsize);
  3687                                  section_req->cryptlen = 
(size_t)ic->journal_section_sectors << SECTOR_SHIFT;
  3688                                  ic->sk_requests[i] = section_req;
  3689                                  DEBUG_bytes(crypt_data, ivsize, 
"iv(%u)", i);
  3690                          }
  3691                  }
  3692          }
  3693  
  3694          for (i = 0; i < N_COMMIT_IDS; i++) {
  3695                  unsigned j;
  3696  retest_commit_id:
  3697                  for (j = 0; j < i; j++) {
  3698                          if (ic->commit_ids[j] == ic->commit_ids[i]) {
> 3699                                  le64_add_cpu(&ic->commit_ids[i], 1);
  3700                                  goto retest_commit_id;
  3701                          }
  3702                  }
  3703                  DEBUG_print("commit id %u: %016llx\n", i, 
ic->commit_ids[i]);
  3704          }
  3705  
  3706          journal_tree_size = (__u64)ic->journal_entries * sizeof(struct 
journal_node);
  3707          if (journal_tree_size > ULONG_MAX) {
  3708                  *error = "Journal doesn't fit into memory";
  3709                  r = -ENOMEM;
  3710                  goto bad;
  3711          }
  3712          ic->journal_tree = kvmalloc(journal_tree_size, GFP_KERNEL);
  3713          if (!ic->journal_tree) {
  3714                  *error = "Could not allocate memory for journal tree";
  3715                  r = -ENOMEM;
  3716          }
  3717  bad:
  3718          kfree(crypt_data);
  3719          kfree(crypt_iv);
  3720          skcipher_request_free(req);
  3721  
  3722          return r;
  3723  }
  3724  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to