From: kernel test robot <[email protected]>
To: "Alexander V. Buev" <[email protected]>, [email protected]
Cc: [email protected], [email protected],
Jens Axboe <[email protected]>, Christoph Hellwig <[email protected]>,
"Martin K . Petersen" <[email protected]>,
Pavel Begunkov <[email protected]>,
Chaitanya Kulkarni <[email protected]>,
Mikhail Malygin <[email protected]>,
[email protected], "Alexander V. Buev" <[email protected]>
Subject: Re: [PATCH v4 2/3] block: io-uring: add READV_PI/WRITEV_PI operations
Date: Fri, 16 Sep 2022 07:22:06 +0800 [thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
Hi Alexander,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.0-rc5 next-20220915]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-V-Buev/implement-direct-IO-with-integrity/20220909-202433
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: parisc-randconfig-s053-20220914 (https://download.01.org/0day-ci/archive/20220916/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/81de858455c5cf1e5870106f544fe1fd179fa324
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Alexander-V-Buev/implement-direct-IO-with-integrity/20220909-202433
git checkout 81de858455c5cf1e5870106f544fe1fd179fa324
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=parisc SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
sparse warnings: (new ones prefixed by >>)
io_uring/rw_pi.c: note: in included file (through io_uring/io_uring.h):
io_uring/slist.h:138:29: sparse: sparse: no newline at end of file
io_uring/rw_pi.c:248:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *private @@ got void [noderef] __user * @@
io_uring/rw_pi.c:248:27: sparse: expected void *private
io_uring/rw_pi.c:248:27: sparse: got void [noderef] __user *
io_uring/rw_pi.c:458:43: sparse: sparse: Using plain integer as NULL pointer
io_uring/rw_pi.c:543:43: sparse: sparse: Using plain integer as NULL pointer
>> io_uring/rw_pi.c:266:17: sparse: sparse: cast removes address space '__user' of expression
io_uring/rw_pi.c:266:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:266:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:266:14: sparse: got struct iovec *
io_uring/rw_pi.c:275:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:275:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:275:14: sparse: got struct iovec *
>> io_uring/rw_pi.c:266:17: sparse: sparse: cast removes address space '__user' of expression
io_uring/rw_pi.c:266:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:266:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:266:14: sparse: got struct iovec *
io_uring/rw_pi.c:275:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:275:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:275:14: sparse: got struct iovec *
>> io_uring/rw_pi.c:266:17: sparse: sparse: cast removes address space '__user' of expression
io_uring/rw_pi.c:266:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:266:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:266:14: sparse: got struct iovec *
io_uring/rw_pi.c:275:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:275:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:275:14: sparse: got struct iovec *
>> io_uring/rw_pi.c:266:17: sparse: sparse: cast removes address space '__user' of expression
io_uring/rw_pi.c:266:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:266:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:266:14: sparse: got struct iovec *
io_uring/rw_pi.c:275:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct iovec [noderef] __user *uvec @@ got struct iovec * @@
io_uring/rw_pi.c:275:14: sparse: expected struct iovec [noderef] __user *uvec
io_uring/rw_pi.c:275:14: sparse: got struct iovec *
vim +/__user +266 io_uring/rw_pi.c
255
256
257 static inline int
258 io_import_iovecs_pi(int io_dir, struct io_kiocb *req, struct iovec **iovec,
259 struct io_rw_state *s_data, struct __io_rw_pi_state *s_pi)
260 {
261 struct io_rw_pi *rw = io_kiocb_to_cmd(req, struct io_rw_pi);
262 struct iovec __user *uvec;
263 ssize_t ret;
264
265 /* data */
> 266 uvec = (struct iovec *)u64_to_user_ptr(rw->addr);
267 iovec[DATA] = s_data->fast_iov;
268 ret = __import_iovec(io_dir, uvec, rw->nr_segs,
269 UIO_FASTIOV, iovec + DATA,
270 &s_data->iter, req->ctx->compat);
271
272 if (unlikely(ret <= 0))
273 return (ret) ? ret : -EINVAL;
274 /* pi */
275 uvec = (struct iovec *)rw->kiocb.private;
276 iovec[PI] = s_pi->fast_iov;
277 ret = __import_iovec(io_dir, uvec, rw->nr_pi_segs,
278 UIO_FASTIOV_PI, iovec + PI,
279 &s_pi->iter, req->ctx->compat);
280 if (unlikely(ret <= 0)) {
281 if (iovec[DATA])
282 kfree(iovec[DATA]);
283 return (ret) ? ret : -EINVAL;
284 }
285
286 /* save states */
287 io_rw_pi_state_iter_save(s_data, s_pi);
288
289 return 0;
290 }
291
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next prev parent reply other threads:[~2022-09-15 23:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-09 12:20 [PATCH v4 0/3] implement direct IO with integrity Alexander V. Buev
2022-09-09 12:20 ` [PATCH v4 1/3] block: bio-integrity: add PI iovec to bio Alexander V. Buev
2022-09-09 14:38 ` Christoph Hellwig
2022-09-09 16:19 ` Alexander V. Buev
2022-09-09 12:20 ` [PATCH v4 2/3] block: io-uring: add READV_PI/WRITEV_PI operations Alexander V. Buev
2022-09-15 23:22 ` kernel test robot [this message]
2022-09-09 12:20 ` [PATCH v4 3/3] block: fops: handle IOCB_USE_PI in direct IO Alexander V. Buev
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 \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox