Commit d090bffa authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring/memmap: explicitly return -EFAULT for mmap on NULL rings



The later mapping will actually check this too, but in terms of code
clarify, explicitly check for whether or not the rings and sqes are
valid during validation. That makes it explicit that if they are
non-NULL, they are valid and can get mapped.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 81d8191e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -204,11 +204,15 @@ static void *io_uring_validate_mmap_request(struct file *file, loff_t pgoff,
		/* Don't allow mmap if the ring was setup without it */
		if (ctx->flags & IORING_SETUP_NO_MMAP)
			return ERR_PTR(-EINVAL);
		if (!ctx->rings)
			return ERR_PTR(-EFAULT);
		return ctx->rings;
	case IORING_OFF_SQES:
		/* Don't allow mmap if the ring was setup without it */
		if (ctx->flags & IORING_SETUP_NO_MMAP)
			return ERR_PTR(-EINVAL);
		if (!ctx->sq_sqes)
			return ERR_PTR(-EFAULT);
		return ctx->sq_sqes;
	case IORING_OFF_PBUF_RING: {
		struct io_buffer_list *bl;