* [dhowells-fs:ceph-iter 98/105] fs/ceph/crypto.c:608:28: error: incompatible pointer types passing 'u32 *' (aka 'unsigned int *') to parameter of type 'size_t *' (aka 'unsigned long *')
@ 2024-01-17 10:54 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-01-17 10:54 UTC (permalink / raw)
To: David Howells; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git ceph-iter
head: 2cf82c6e7baf6d3a2adc0692707028da395f1553
commit: da0d419452928c43bddccbfdc3f5636a36ad05cd [98/105] ceph: Make ceph_calc_file_object_mapping() return size as size_t
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20240117/202401171830.v1grY7cK-lkp@intel.com/config)
compiler: ClangBuiltLinux clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240117/202401171830.v1grY7cK-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401171830.v1grY7cK-lkp@intel.com/
All errors (new ones prefixed by >>):
>> fs/ceph/crypto.c:608:28: error: incompatible pointer types passing 'u32 *' (aka 'unsigned int *') to parameter of type 'size_t *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types]
608 | &objno, &objoff, &xlen);
| ^~~~~
include/linux/ceph/striper.h:12:41: note: passing argument to parameter 'xlen' here
12 | u64 *objno, u64 *objoff, size_t *xlen);
| ^
1 error generated.
vim +608 fs/ceph/crypto.c
77cdb7e17e39eb Jeff Layton 2022-08-25 577
77cdb7e17e39eb Jeff Layton 2022-08-25 578 /**
77cdb7e17e39eb Jeff Layton 2022-08-25 579 * ceph_fscrypt_decrypt_extents: decrypt received extents in given buffer
77cdb7e17e39eb Jeff Layton 2022-08-25 580 * @inode: inode associated with pages being decrypted
77cdb7e17e39eb Jeff Layton 2022-08-25 581 * @page: pointer to page array
77cdb7e17e39eb Jeff Layton 2022-08-25 582 * @off: offset into the file that the data in page[0] starts
77cdb7e17e39eb Jeff Layton 2022-08-25 583 * @map: pointer to extent array
77cdb7e17e39eb Jeff Layton 2022-08-25 584 * @ext_cnt: length of extent array
77cdb7e17e39eb Jeff Layton 2022-08-25 585 *
77cdb7e17e39eb Jeff Layton 2022-08-25 586 * Given an extent map and a page array, decrypt the received data in-place,
77cdb7e17e39eb Jeff Layton 2022-08-25 587 * skipping holes. Returns the offset into buffer of end of last decrypted
77cdb7e17e39eb Jeff Layton 2022-08-25 588 * block.
77cdb7e17e39eb Jeff Layton 2022-08-25 589 */
77cdb7e17e39eb Jeff Layton 2022-08-25 590 int ceph_fscrypt_decrypt_extents(struct inode *inode, struct page **page,
77cdb7e17e39eb Jeff Layton 2022-08-25 591 u64 off, struct ceph_sparse_extent *map,
77cdb7e17e39eb Jeff Layton 2022-08-25 592 u32 ext_cnt)
77cdb7e17e39eb Jeff Layton 2022-08-25 593 {
38d46409c4639a Xiubo Li 2023-06-12 594 struct ceph_client *cl = ceph_inode_to_client(inode);
77cdb7e17e39eb Jeff Layton 2022-08-25 595 int i, ret = 0;
77cdb7e17e39eb Jeff Layton 2022-08-25 596 struct ceph_inode_info *ci = ceph_inode(inode);
77cdb7e17e39eb Jeff Layton 2022-08-25 597 u64 objno, objoff;
77cdb7e17e39eb Jeff Layton 2022-08-25 598 u32 xlen;
77cdb7e17e39eb Jeff Layton 2022-08-25 599
77cdb7e17e39eb Jeff Layton 2022-08-25 600 /* Nothing to do for empty array */
77cdb7e17e39eb Jeff Layton 2022-08-25 601 if (ext_cnt == 0) {
38d46409c4639a Xiubo Li 2023-06-12 602 doutc(cl, "%p %llx.%llx empty array, ret 0\n", inode,
38d46409c4639a Xiubo Li 2023-06-12 603 ceph_vinop(inode));
77cdb7e17e39eb Jeff Layton 2022-08-25 604 return 0;
77cdb7e17e39eb Jeff Layton 2022-08-25 605 }
77cdb7e17e39eb Jeff Layton 2022-08-25 606
77cdb7e17e39eb Jeff Layton 2022-08-25 607 ceph_calc_file_object_mapping(&ci->i_layout, off, map[0].len,
77cdb7e17e39eb Jeff Layton 2022-08-25 @608 &objno, &objoff, &xlen);
77cdb7e17e39eb Jeff Layton 2022-08-25 609
77cdb7e17e39eb Jeff Layton 2022-08-25 610 for (i = 0; i < ext_cnt; ++i) {
77cdb7e17e39eb Jeff Layton 2022-08-25 611 struct ceph_sparse_extent *ext = &map[i];
77cdb7e17e39eb Jeff Layton 2022-08-25 612 int pgsoff = ext->off - objoff;
77cdb7e17e39eb Jeff Layton 2022-08-25 613 int pgidx = pgsoff >> PAGE_SHIFT;
77cdb7e17e39eb Jeff Layton 2022-08-25 614 int fret;
77cdb7e17e39eb Jeff Layton 2022-08-25 615
77cdb7e17e39eb Jeff Layton 2022-08-25 616 if ((ext->off | ext->len) & ~CEPH_FSCRYPT_BLOCK_MASK) {
38d46409c4639a Xiubo Li 2023-06-12 617 pr_warn_client(cl,
38d46409c4639a Xiubo Li 2023-06-12 618 "%p %llx.%llx bad encrypted sparse extent "
38d46409c4639a Xiubo Li 2023-06-12 619 "idx %d off %llx len %llx\n",
38d46409c4639a Xiubo Li 2023-06-12 620 inode, ceph_vinop(inode), i, ext->off,
38d46409c4639a Xiubo Li 2023-06-12 621 ext->len);
77cdb7e17e39eb Jeff Layton 2022-08-25 622 return -EIO;
77cdb7e17e39eb Jeff Layton 2022-08-25 623 }
77cdb7e17e39eb Jeff Layton 2022-08-25 624 fret = ceph_fscrypt_decrypt_pages(inode, &page[pgidx],
77cdb7e17e39eb Jeff Layton 2022-08-25 625 off + pgsoff, ext->len);
38d46409c4639a Xiubo Li 2023-06-12 626 doutc(cl, "%p %llx.%llx [%d] 0x%llx~0x%llx fret %d\n", inode,
38d46409c4639a Xiubo Li 2023-06-12 627 ceph_vinop(inode), i, ext->off, ext->len, fret);
77cdb7e17e39eb Jeff Layton 2022-08-25 628 if (fret < 0) {
77cdb7e17e39eb Jeff Layton 2022-08-25 629 if (ret == 0)
77cdb7e17e39eb Jeff Layton 2022-08-25 630 ret = fret;
77cdb7e17e39eb Jeff Layton 2022-08-25 631 break;
77cdb7e17e39eb Jeff Layton 2022-08-25 632 }
77cdb7e17e39eb Jeff Layton 2022-08-25 633 ret = pgsoff + fret;
77cdb7e17e39eb Jeff Layton 2022-08-25 634 }
38d46409c4639a Xiubo Li 2023-06-12 635 doutc(cl, "ret %d\n", ret);
77cdb7e17e39eb Jeff Layton 2022-08-25 636 return ret;
77cdb7e17e39eb Jeff Layton 2022-08-25 637 }
77cdb7e17e39eb Jeff Layton 2022-08-25 638
:::::: The code at line 608 was first introduced by commit
:::::: 77cdb7e17e39ebb986f60bbd3c2b3507687bf475 ceph: add infrastructure for file encryption and decryption
:::::: TO: Jeff Layton <jlayton@kernel.org>
:::::: CC: Ilya Dryomov <idryomov@gmail.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-01-17 10:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-17 10:54 [dhowells-fs:ceph-iter 98/105] fs/ceph/crypto.c:608:28: error: incompatible pointer types passing 'u32 *' (aka 'unsigned int *') to parameter of type 'size_t *' (aka 'unsigned long *') kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox