diff options
| author | 2019-06-26 12:39:34 +0100 | |
|---|---|---|
| committer | 2019-06-26 12:39:34 +0100 | |
| commit | 53c8b29abe42e5601cfa0ea5962532f0cfdec8a0 (patch) | |
| tree | cad53f42ce7a03c39a984bcdbcc42cd47f1af6f9 /tools/io_uring/setup.c | |
| parent | ASoC: soc-core: don't use soc_find_component() at snd_soc_find_dai() (diff) | |
| parent | Linux 5.2-rc6 (diff) | |
| download | linux-dev-53c8b29abe42e5601cfa0ea5962532f0cfdec8a0.tar.xz linux-dev-53c8b29abe42e5601cfa0ea5962532f0cfdec8a0.zip | |
Merge tag 'v5.2-rc6' into asoc-5.3
Linux 5.2-rc6
Diffstat (limited to 'tools/io_uring/setup.c')
| -rw-r--r-- | tools/io_uring/setup.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/io_uring/setup.c b/tools/io_uring/setup.c index 4da19a77132c..0b50fcd78520 100644 --- a/tools/io_uring/setup.c +++ b/tools/io_uring/setup.c @@ -27,7 +27,7 @@ static int io_uring_mmap(int fd, struct io_uring_params *p, sq->kdropped = ptr + p->sq_off.dropped; sq->array = ptr + p->sq_off.array; - size = p->sq_entries * sizeof(struct io_uring_sqe), + size = p->sq_entries * sizeof(struct io_uring_sqe); sq->sqes = mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_POPULATE, fd, IORING_OFF_SQES); @@ -79,7 +79,7 @@ int io_uring_queue_mmap(int fd, struct io_uring_params *p, struct io_uring *ring int io_uring_queue_init(unsigned entries, struct io_uring *ring, unsigned flags) { struct io_uring_params p; - int fd; + int fd, ret; memset(&p, 0, sizeof(p)); p.flags = flags; @@ -88,7 +88,11 @@ int io_uring_queue_init(unsigned entries, struct io_uring *ring, unsigned flags) if (fd < 0) return fd; - return io_uring_queue_mmap(fd, &p, ring); + ret = io_uring_queue_mmap(fd, &p, ring); + if (ret) + close(fd); + + return ret; } void io_uring_queue_exit(struct io_uring *ring) |
