lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Thu, 13 Oct 2022 21:47:59 +0800
From:   kernel test robot <lkp@...el.com>
To:     Jens Axboe <axboe@...nel.dk>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: io_uring/io_uring.c:11529:1: sparse: sparse: Using plain integer as
 NULL pointer

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a185a0995518a3355c8623c95c36aaaae489de10
commit: ed29b0b4fd835b058ddd151c49d021e28d631ee6 io_uring: move to separate directory
date:   3 months ago
config: s390-randconfig-s043-20221012
compiler: s390-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed29b0b4fd835b058ddd151c49d021e28d631ee6
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout ed29b0b4fd835b058ddd151c49d021e28d631ee6
        # 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=s390 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>

sparse warnings: (new ones prefixed by >>)
   io_uring/io_uring.c:205:37: sparse: sparse: array of flexible structures
   io_uring/io_uring.c:6660:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected signed int [usertype] res @@     got restricted __poll_t @@
   io_uring/io_uring.c:6660:38: sparse:     expected signed int [usertype] res
   io_uring/io_uring.c:6660:38: sparse:     got restricted __poll_t
   io_uring/io_uring.c:6671:56: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:6670:66: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted __poll_t [usertype] val @@     got unsigned int @@
   io_uring/io_uring.c:6670:66: sparse:     expected restricted __poll_t [usertype] val
   io_uring/io_uring.c:6670:66: sparse:     got unsigned int
   io_uring/io_uring.c:6670:52: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t [usertype] mask @@     got unsigned short @@
   io_uring/io_uring.c:6670:52: sparse:     expected restricted __poll_t [usertype] mask
   io_uring/io_uring.c:6670:52: sparse:     got unsigned short
   io_uring/io_uring.c:6676:50: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected signed int [usertype] res @@     got restricted __poll_t [usertype] mask @@
   io_uring/io_uring.c:6676:50: sparse:     expected signed int [usertype] res
   io_uring/io_uring.c:6676:50: sparse:     got restricted __poll_t [usertype] mask
   io_uring/io_uring.c:6713:68: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:6713:57: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted __poll_t [usertype] val @@     got unsigned int @@
   io_uring/io_uring.c:6713:57: sparse:     expected restricted __poll_t [usertype] val
   io_uring/io_uring.c:6713:57: sparse:     got unsigned int
   io_uring/io_uring.c:6831:40: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected int mask @@     got restricted __poll_t [usertype] mask @@
   io_uring/io_uring.c:6831:40: sparse:     expected int mask
   io_uring/io_uring.c:6831:40: sparse:     got restricted __poll_t [usertype] mask
   io_uring/io_uring.c:6925:24: sparse: sparse: incorrect type in return expression (different base types) @@     expected int @@     got restricted __poll_t [assigned] [usertype] mask @@
   io_uring/io_uring.c:6925:24: sparse:     expected int
   io_uring/io_uring.c:6925:24: sparse:     got restricted __poll_t [assigned] [usertype] mask
   io_uring/io_uring.c:6945:40: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected int mask @@     got restricted __poll_t [assigned] [usertype] mask @@
   io_uring/io_uring.c:6945:40: sparse:     expected int mask
   io_uring/io_uring.c:6945:40: sparse:     got restricted __poll_t [assigned] [usertype] mask
   io_uring/io_uring.c:6980:33: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t [usertype] mask @@     got int @@
   io_uring/io_uring.c:6980:33: sparse:     expected restricted __poll_t [usertype] mask
   io_uring/io_uring.c:6980:33: sparse:     got int
   io_uring/io_uring.c:7029:33: sparse: sparse: incorrect type in argument 5 (different base types) @@     expected int mask @@     got restricted __poll_t [assigned] [usertype] mask @@
   io_uring/io_uring.c:7029:33: sparse:     expected int mask
   io_uring/io_uring.c:7029:33: sparse:     got restricted __poll_t [assigned] [usertype] mask
   io_uring/io_uring.c:7029:50: sparse: sparse: incorrect type in argument 6 (different base types) @@     expected int events @@     got restricted __poll_t [usertype] events @@
   io_uring/io_uring.c:7029:50: sparse:     expected int events
   io_uring/io_uring.c:7029:50: sparse:     got restricted __poll_t [usertype] events
   io_uring/io_uring.c:7143:24: sparse: sparse: invalid assignment: |=
   io_uring/io_uring.c:7143:24: sparse:    left side has type unsigned int
   io_uring/io_uring.c:7143:24: sparse:    right side has type restricted __poll_t
   io_uring/io_uring.c:7144:65: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:7144:29: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:7144:38: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted __poll_t @@     got unsigned int @@
   io_uring/io_uring.c:7144:38: sparse:     expected restricted __poll_t
   io_uring/io_uring.c:7144:38: sparse:     got unsigned int
   io_uring/io_uring.c:7233:43: sparse: sparse: invalid assignment: &=
   io_uring/io_uring.c:7233:43: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:7233:43: sparse:    right side has type int
   io_uring/io_uring.c:7234:62: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:7234:43: sparse: sparse: invalid assignment: |=
   io_uring/io_uring.c:7234:43: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:7234:43: sparse:    right side has type unsigned int
>> io_uring/io_uring.c:11529:1: sparse: sparse: Using plain integer as NULL pointer
>> io_uring/io_uring.c:11529:1: sparse: sparse: Using plain integer as NULL pointer
   io_uring/io_uring.c:12132:1: sparse: sparse: Using plain integer as NULL pointer
   io_uring/io_uring.c:12132:1: sparse: sparse: Using plain integer as NULL pointer
   io_uring/io_uring.c:12727:1: sparse: sparse: Using plain integer as NULL pointer
   io_uring/io_uring.c:12727:1: sparse: sparse: Using plain integer as NULL pointer
   io_uring/io_uring.c:2673:17: sparse: sparse: context imbalance in 'handle_prev_tw_list' - different lock contexts for basic block
   io_uring/io_uring.c:9311:9: sparse: sparse: context imbalance in 'io_sq_thread_unpark' - wrong count at exit
   io_uring/io_uring.c:9322:9: sparse: sparse: context imbalance in 'io_sq_thread_park' - wrong count at exit

vim +11529 io_uring/io_uring.c

c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11528  
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07 @11529  SYSCALL_DEFINE6(io_uring_enter, unsigned int, fd, u32, to_submit,
c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11530  		u32, min_complete, u32, flags, const void __user *, argp,
c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11531  		size_t, argsz)
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11532  {
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11533  	struct io_ring_ctx *ctx;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11534  	struct fd f;
33f993da982973 fs/io_uring.c Pavel Begunkov     2021-03-19  11535  	long ret;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11536  
4c6e277c4cc4a6 fs/io_uring.c Jens Axboe         2020-07-01  11537  	io_run_task_work();
b41e98524e424d fs/io_uring.c Jens Axboe         2020-02-17  11538  
33f993da982973 fs/io_uring.c Pavel Begunkov     2021-03-19  11539  	if (unlikely(flags & ~(IORING_ENTER_GETEVENTS | IORING_ENTER_SQ_WAKEUP |
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11540  			       IORING_ENTER_SQ_WAIT | IORING_ENTER_EXT_ARG |
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11541  			       IORING_ENTER_REGISTERED_RING)))
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11542  		return -EINVAL;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11543  
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11544  	/*
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11545  	 * Ring fd has been registered via IORING_REGISTER_RING_FDS, we
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11546  	 * need only dereference our task private array to find it.
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11547  	 */
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11548  	if (flags & IORING_ENTER_REGISTERED_RING) {
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11549  		struct io_uring_task *tctx = current->io_uring;
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11550  
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11551  		if (!tctx || fd >= IO_RINGFD_REG_MAX)
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11552  			return -EINVAL;
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11553  		fd = array_index_nospec(fd, IO_RINGFD_REG_MAX);
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11554  		f.file = tctx->registered_rings[fd];
4329490a78b66a fs/io_uring.c Al Viro            2022-05-11  11555  		f.flags = 0;
e7a6c00dc77aed fs/io_uring.c Jens Axboe         2022-03-04  11556  	} else {
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11557  		f = fdget(fd);
4329490a78b66a fs/io_uring.c Al Viro            2022-05-11  11558  	}
4329490a78b66a fs/io_uring.c Al Viro            2022-05-11  11559  
33f993da982973 fs/io_uring.c Pavel Begunkov     2021-03-19  11560  	if (unlikely(!f.file))
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11561  		return -EBADF;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11562  
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11563  	ret = -EOPNOTSUPP;
33f993da982973 fs/io_uring.c Pavel Begunkov     2021-03-19  11564  	if (unlikely(f.file->f_op != &io_uring_fops))
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11565  		goto out_fput;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11566  
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11567  	ret = -ENXIO;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11568  	ctx = f.file->private_data;
33f993da982973 fs/io_uring.c Pavel Begunkov     2021-03-19  11569  	if (unlikely(!percpu_ref_tryget(&ctx->refs)))
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11570  		goto out_fput;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11571  
7e84e1c7566a1d fs/io_uring.c Stefano Garzarella 2020-08-27  11572  	ret = -EBADFD;
33f993da982973 fs/io_uring.c Pavel Begunkov     2021-03-19  11573  	if (unlikely(ctx->flags & IORING_SETUP_R_DISABLED))
7e84e1c7566a1d fs/io_uring.c Stefano Garzarella 2020-08-27  11574  		goto out;
7e84e1c7566a1d fs/io_uring.c Stefano Garzarella 2020-08-27  11575  
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11576  	/*
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11577  	 * For SQ polling, the thread will do all submissions and completions.
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11578  	 * Just return the requested submit count, and wake the thread if
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11579  	 * we were asked to.
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11580  	 */
b2a9eadab85730 fs/io_uring.c Jens Axboe         2019-09-12  11581  	ret = 0;
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11582  	if (ctx->flags & IORING_SETUP_SQPOLL) {
90f67366cb8871 fs/io_uring.c Pavel Begunkov     2021-08-09  11583  		io_cqring_overflow_flush(ctx);
6c503150ae33ee fs/io_uring.c Pavel Begunkov     2021-01-04  11584  
21f965221e7c42 fs/io_uring.c Jens Axboe         2021-08-14  11585  		if (unlikely(ctx->sq_data->thread == NULL)) {
041474885e9707 fs/io_uring.c Stefan Metzmacher  2021-03-07  11586  			ret = -EOWNERDEAD;
5f3f26f98ae484 fs/io_uring.c Jens Axboe         2021-02-25  11587  			goto out;
21f965221e7c42 fs/io_uring.c Jens Axboe         2021-08-14  11588  		}
6c271ce2f1d572 fs/io_uring.c Jens Axboe         2019-01-10  11589  		if (flags & IORING_ENTER_SQ_WAKEUP)
534ca6d684f1fe fs/io_uring.c Jens Axboe         2020-09-02  11590  			wake_up(&ctx->sq_data->wait);
d9d05217cb6990 fs/io_uring.c Pavel Begunkov     2021-01-08  11591  		if (flags & IORING_ENTER_SQ_WAIT) {
d9d05217cb6990 fs/io_uring.c Pavel Begunkov     2021-01-08  11592  			ret = io_sqpoll_wait_sq(ctx);
d9d05217cb6990 fs/io_uring.c Pavel Begunkov     2021-01-08  11593  			if (ret)
d9d05217cb6990 fs/io_uring.c Pavel Begunkov     2021-01-08  11594  				goto out;
d9d05217cb6990 fs/io_uring.c Pavel Begunkov     2021-01-08  11595  		}
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11596  		ret = to_submit;
b2a9eadab85730 fs/io_uring.c Jens Axboe         2019-09-12  11597  	} else if (to_submit) {
eef51daa72f745 fs/io_uring.c Pavel Begunkov     2021-06-14  11598  		ret = io_uring_add_tctx_node(ctx);
0f2122045b9462 fs/io_uring.c Jens Axboe         2020-09-13  11599  		if (unlikely(ret))
0f2122045b9462 fs/io_uring.c Jens Axboe         2020-09-13  11600  			goto out;
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11601  
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11602  		mutex_lock(&ctx->uring_lock);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11603  		ret = io_submit_sqes(ctx, to_submit);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11604  		if (ret != to_submit) {
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11605  			mutex_unlock(&ctx->uring_lock);
7c504e65206a43 fs/io_uring.c Pavel Begunkov     2019-12-18  11606  			goto out;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11607  		}
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11608  		if ((flags & IORING_ENTER_GETEVENTS) && ctx->syscall_iopoll)
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11609  			goto iopoll_locked;
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11610  		mutex_unlock(&ctx->uring_lock);
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11611  	}
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11612  	if (flags & IORING_ENTER_GETEVENTS) {
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11613  		int ret2;
773697b610bff9 fs/io_uring.c Pavel Begunkov     2022-03-22  11614  		if (ctx->syscall_iopoll) {
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11615  			/*
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11616  			 * We disallow the app entering submit/complete with
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11617  			 * polling, but we still need to lock the ring to
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11618  			 * prevent racing with polled issue that got punted to
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11619  			 * a workqueue.
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11620  			 */
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11621  			mutex_lock(&ctx->uring_lock);
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11622  iopoll_locked:
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11623  			ret2 = io_validate_ext_arg(flags, argp, argsz);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11624  			if (likely(!ret2)) {
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11625  				min_complete = min(min_complete,
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11626  						   ctx->cq_entries);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11627  				ret2 = io_iopoll_check(ctx, min_complete);
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11628  			}
d487b43cd3276e fs/io_uring.c Pavel Begunkov     2022-03-22  11629  			mutex_unlock(&ctx->uring_lock);
def596e9557c91 fs/io_uring.c Jens Axboe         2019-01-09  11630  		} else {
c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11631  			const sigset_t __user *sig;
c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11632  			struct __kernel_timespec __user *ts;
c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11633  
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11634  			ret2 = io_get_ext_arg(flags, argp, &argsz, &ts, &sig);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11635  			if (likely(!ret2)) {
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11636  				min_complete = min(min_complete,
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11637  						   ctx->cq_entries);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11638  				ret2 = io_cqring_wait(ctx, min_complete, sig,
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11639  						      argsz, ts);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11640  			}
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11641  		}
c73ebb685fb6df fs/io_uring.c Hao Xu             2020-11-03  11642  
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11643  		if (!ret) {
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11644  			ret = ret2;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11645  
32b2244a840a90 fs/io_uring.c Xiaoguang Wang     2020-03-11  11646  			/*
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11647  			 * EBADR indicates that one or more CQE were dropped.
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11648  			 * Once the user has been informed we can clear the bit
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11649  			 * as they are obviously ok with those drops.
32b2244a840a90 fs/io_uring.c Xiaoguang Wang     2020-03-11  11650  			 */
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11651  			if (unlikely(ret2 == -EBADR))
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11652  				clear_bit(IO_CHECK_CQ_DROPPED_BIT,
155bc9505dbd66 fs/io_uring.c Dylan Yudaken      2022-04-21  11653  					  &ctx->check_cq);
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11654  		}
def596e9557c91 fs/io_uring.c Jens Axboe         2019-01-09  11655  	}
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11656  
7c504e65206a43 fs/io_uring.c Pavel Begunkov     2019-12-18  11657  out:
6805b32ec2b089 fs/io_uring.c Pavel Begunkov     2019-10-08  11658  	percpu_ref_put(&ctx->refs);
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11659  out_fput:
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11660  	fdput(f);
3e813c9026720c fs/io_uring.c Dylan Yudaken      2022-04-21  11661  	return ret;
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11662  }
2b188cc1bb857a fs/io_uring.c Jens Axboe         2019-01-07  11663  

:::::: The code at line 11529 was first introduced by commit
:::::: 2b188cc1bb857a9d4701ae59aa7768b5124e262e Add io_uring IO interface

:::::: TO: Jens Axboe <axboe@...nel.dk>
:::::: CC: Jens Axboe <axboe@...nel.dk>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

View attachment "config" of type "text/plain" (133584 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ