From: kernel test robot <lkp@intel.com>
To: David Howells <dhowells@redhat.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
GNU/Weeb Mailing List <gwml@vger.gnuweeb.org>,
linux-kernel@vger.kernel.org
Subject: [ammarfaizi2-block:dhowells/linux-fs/cifs-for-sfrench 5/6] fs/cifs/smb2ops.c:4752:11: warning: comparison of distinct pointer types ('typeof (size - copied) *' (aka 'unsigned int *') and 'typeof (((1UL) << (12))) *' (aka 'unsigned long *'))
Date: Fri, 13 May 2022 21:35:53 +0800 [thread overview]
Message-ID: <202205132109.23GgU6Kd-lkp@intel.com> (raw)
tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/cifs-for-sfrench
head: 627ce4da99bb612945366770c5604019fb74b653
commit: e4b60df6a12099568c671591d36a9fa16515f6eb [5/6] cifs: Change the I/O paths to use an iterator rather than a page list
config: riscv-randconfig-c006-20220510 (https://download.01.org/0day-ci/archive/20220513/202205132109.23GgU6Kd-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 18dd123c56754edf62c7042dcf23185c3727610f)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/ammarfaizi2/linux-block/commit/e4b60df6a12099568c671591d36a9fa16515f6eb
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/cifs-for-sfrench
git checkout e4b60df6a12099568c671591d36a9fa16515f6eb
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> fs/cifs/smb2ops.c:4752:11: warning: comparison of distinct pointer types ('typeof (size - copied) *' (aka 'unsigned int *') and 'typeof (((1UL) << (12))) *' (aka 'unsigned long *')) [-Wcompare-distinct-pointer-types]
seg = min(size - copied, PAGE_SIZE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
fs/cifs/smb2ops.c:4961:7: warning: variable 'length' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (rdata->result != 0) {
^~~~~~~~~~~~~~~~~~
fs/cifs/smb2ops.c:4993:9: note: uninitialized use occurs here
return length;
^~~~~~
fs/cifs/smb2ops.c:4961:3: note: remove the 'if' if its condition is always true
if (rdata->result != 0) {
^~~~~~~~~~~~~~~~~~~~~~~~
fs/cifs/smb2ops.c:4860:12: note: initialize the variable 'length' to silence this warning
int length;
^
= 0
2 warnings generated.
vim +4752 fs/cifs/smb2ops.c
4702
4703 /*
4704 * This function will initialize new_rq and encrypt the content.
4705 * The first entry, new_rq[0], only contains a single iov which contains
4706 * a smb2_transform_hdr and is pre-allocated by the caller.
4707 * This function then populates new_rq[1+] with the content from olq_rq[0+].
4708 *
4709 * The end result is an array of smb_rqst structures where the first structure
4710 * only contains a single iov for the transform header which we then can pass
4711 * to crypt_message().
4712 *
4713 * new_rq[0].rq_iov[0] : smb2_transform_hdr pre-allocated by the caller
4714 * new_rq[1+].rq_iov[*] == old_rq[0+].rq_iov[*] : SMB2/3 requests
4715 */
4716 static int
4717 smb3_init_transform_rq(struct TCP_Server_Info *server, int num_rqst,
4718 struct smb_rqst *new_rq, struct smb_rqst *old_rq)
4719 {
4720 struct smb2_transform_hdr *tr_hdr = new_rq[0].rq_iov[0].iov_base;
4721 struct page *page;
4722 unsigned int orig_len = 0;
4723 int i, j;
4724 int rc = -ENOMEM;
4725
4726 for (i = 1; i < num_rqst; i++) {
4727 struct smb_rqst *old = &old_rq[i - 1];
4728 struct smb_rqst *new = &new_rq[i];
4729 struct xarray *buffer = &new->rq_buffer;
4730 unsigned int npages;
4731 size_t size = iov_iter_count(&old->rq_iter), seg, copied = 0;
4732
4733 xa_init(buffer);
4734
4735 if (size > 0) {
4736 npages = DIV_ROUND_UP(size, PAGE_SIZE);
4737 for (j = 0; j < npages; j++) {
4738 void *o;
4739
4740 rc = -ENOMEM;
4741 page = alloc_page(GFP_KERNEL|__GFP_HIGHMEM);
4742 if (!page)
4743 goto err_free;
4744 page->index = j;
4745 o = xa_store(buffer, j, page, GFP_KERNEL);
4746 if (xa_is_err(o)) {
4747 rc = xa_err(o);
4748 put_page(page);
4749 goto err_free;
4750 }
4751
> 4752 seg = min(size - copied, PAGE_SIZE);
4753 if (copy_page_from_iter(page, 0, seg, &old->rq_iter) != seg) {
4754 rc = -EFAULT;
4755 goto err_free;
4756 }
4757 copied += seg;
4758 }
4759 iov_iter_xarray(&new->rq_iter, iov_iter_rw(&old->rq_iter),
4760 buffer, 0, size);
4761 }
4762 new->rq_iov = old->rq_iov;
4763 new->rq_nvec = old->rq_nvec;
4764 orig_len += smb_rqst_len(server, new);
4765 }
4766
4767 /* fill the 1st iov with a transform header */
4768 fill_transform_hdr(tr_hdr, orig_len, old_rq, server->cipher_type);
4769
4770 rc = crypt_message(server, num_rqst, new_rq, 1);
4771 cifs_dbg(FYI, "Encrypt message returned %d\n", rc);
4772 if (rc)
4773 goto err_free;
4774
4775 return rc;
4776
4777 err_free:
4778 smb3_free_compound_rqst(num_rqst - 1, &new_rq[1]);
4779 return rc;
4780 }
4781
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-05-13 13:37 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202205132109.23GgU6Kd-lkp@intel.com \
--to=lkp@intel.com \
--cc=dhowells@redhat.com \
--cc=gwml@vger.gnuweeb.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.