From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 385A71F582D
	for <io-uring@vger.kernel.org>; Fri,  4 Apr 2025 15:52:53 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743781976; cv=none; b=HjtokHq3a+rd72/cm7QXO1K2UKYR6B6NsM7Ji0so61GBkNk5teE2uo4pW4iExej0yzJUfLBc4Yer04YJn8/mfVhnNq6SX93MP/x79FCWGkgqvsEX1v3z3Vg44oLEGHhfdtflrkwCwaLR0m03HW/1NAyLXlXJcODDSkPauGhj1CE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743781976; c=relaxed/simple;
	bh=rbtnVk58sEuu69YS9d5W4gSfdgeNgzHwL3yrvYagMSo=;
	h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SYyAupO9QXLjorpRksNcDlTICTCjdiBOPAfDbt3gHzuhJUgoewYi9RkGQaZviDvfE2y1h67F3wmjeHygWOPMlgMAMKVCZZ+eSOx8/0WuYTHgcT9YxxFHnFURAMBrZVl3Zvw4oRoZgam2LyOD/0mlY8FhSgVUw8LhpGxt9BQZZwo=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=QxMozxkm; arc=none smtp.client-ip=209.85.218.53
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QxMozxkm"
Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-aaf0f1adef8so343702066b.3
        for <io-uring@vger.kernel.org>; Fri, 04 Apr 2025 08:52:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743781972; x=1744386772; darn=vger.kernel.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=fmoEzpjtepWPvv10dlSiXv/dczbDBSLRpMxYpHnMwX4=;
        b=QxMozxkmU+zCOSD7qZroqkH01trsLgPufgPyc/EqUzPJfi1g4vcjE/rXaPsqJwDuUo
         NcV6aAtE5C79/jjwzm33G4ni8TYvsRbVpfXFDwg1jA/mr5lolXXrqyPL72jiyFkLLgy3
         YmuV7oH7tqdlnc5LG7I02Sn4MUwhm+khh94qrC2KxNESP0yeKGCEWASHQZXsWaVw520k
         74YBdbEEIbNT6gpgb6xlXRtJZEOicIvkd6Aa2cN85gF2VCwcTc9Bo7X+RF1l8IDoU8WY
         i8zT/YvI2fzG+FcV/78Q92zlVX/DAyGESrqxPDFmE9MYtBtxdVf1SB7GtYcCYyqIlDBa
         sOlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743781972; x=1744386772;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fmoEzpjtepWPvv10dlSiXv/dczbDBSLRpMxYpHnMwX4=;
        b=PaIEizKqSgnwPeb17w8PL8IXHMt3DrOGGrYr7Im+rufDrz8p7tlKZT9Z89k+x3R0ce
         aSDkK4+DJRtTSi9cEiUtm/mZ2HmmVJge1YFZ3MlHbQXij1bXiSx/ILM2mNZjfIE5frJz
         zd57tA9bCLn6sKVW6Zis0xR51Vy9oZFq3V05AmvDr3+ye+5eOl/2IJqihPyfxT8K5qnb
         TdLaacVAp8f/3IdybmVVNYA7hqCuvlGNZ6xVnOEOoWKR3DIvELEPHRwoboNrK0g3s9xQ
         nRuxz/lYUYvSCHiGp/vR2l1hs/LIcktK39gfOAHeJ7IaqNoEEAVpmLwH4W/zusdYJ83m
         Tvaw==
X-Gm-Message-State: AOJu0YyTWt4FssTGvUuSgZf2Z5o8t5iOdY8z47BP8ObJQOjBjSx82/C7
	D08uoM/m4oDgjIWxuDr7YJUx7G7XsUjZYkGI9LKjKW5B2SifLDmERI4FZA==
X-Gm-Gg: ASbGncsdRWhqzMAe2UTBUZt6EMxFMiczBK5nM0iimD8d2alvqbFOClceIWG+Oj9P6Qr
	4LWA2Y1iEmQ72/QzsbAAu14qlCNUBK2bSPK9Ivi2LCJ1p+UxBIoOatvqA6CsPdbA2JTrJhIU0eQ
	gNfrHzRmKllKtK5wXQ9LowUgu0jK2jWHb/oucB+iDWOrLPMBL7S00lV160h3NSmPsuM7cTj01zC
	KG3Lo6h9uw9ezvxhWMIBppjUnls3rRQbDEKSLYelnLiJki7QEgvPd8fKDIBYY8AJ+pRc6Tn9W7k
	sbgJjEkGvgagi31DTNk97iN51EvAZ8e/gOM0WXM=
X-Google-Smtp-Source: AGHT+IEbRDYKzFoqCNL7rGOdMQN8+uENyDEjABNqtXaQJjvq8XASnmo0IBbfxC24u1a0olm5Tr4CQw==
X-Received: by 2002:a17:907:96a0:b0:ac3:c56c:26ca with SMTP id a640c23a62f3a-ac7d6c9e90cmr221833566b.8.1743781971826;
        Fri, 04 Apr 2025 08:52:51 -0700 (PDT)
Received: from 127.com ([2620:10d:c092:600::1:ce28])
        by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac7c01c21d0sm281630466b.175.2025.04.04.08.52.50
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Fri, 04 Apr 2025 08:52:51 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org
Cc: asml.silence@gmail.com
Subject: [PATCH liburing 1/1] tests/rsrc_tags: partial registration failure tags
Date: Fri,  4 Apr 2025 16:54:03 +0100
Message-ID: <8791bcaf3c7d444724055a719c98903a83d7c731.1743782006.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.48.1
Precedence: bulk
X-Mailing-List: io-uring@vger.kernel.org
List-Id: <io-uring.vger.kernel.org>
List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make sure we don't post tags for a failed table registration.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 test/rsrc_tags.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/test/rsrc_tags.c b/test/rsrc_tags.c
index e78cfe40..0f7d9b69 100644
--- a/test/rsrc_tags.c
+++ b/test/rsrc_tags.c
@@ -408,6 +408,53 @@ static int test_notag(void)
 	return 0;
 }
 
+static char buffer[16];
+
+static int test_tagged_register_partial_fail(void)
+{
+	__u64 tags[2] = { 1, 2 };
+	int fds[2] = { pipes[0], -1 };
+	struct iovec iovec[2];
+	struct io_uring ring;
+	int ret;
+
+	iovec[0].iov_base = buffer;
+	iovec[0].iov_len = 1;
+	iovec[1].iov_base = (void *)1UL;
+	iovec[1].iov_len = 1;
+
+	ret = io_uring_queue_init(1, &ring, 0);
+	if (ret) {
+		printf("ring setup failed\n");
+		return 1;
+	}
+
+	ret = io_uring_register_buffers_tags(&ring, iovec, tags, 2);
+	if (ret >= 0) {
+		fprintf(stderr, "io_uring_register_buffers_tags returned %i\n", ret);
+		return -EFAULT;
+	}
+
+	if (!check_cq_empty(&ring)) {
+		fprintf(stderr, "stray buffer CQEs found\n");
+		return -EFAULT;
+	}
+
+	ret = io_uring_register_files_tags(&ring, fds, tags, 2);
+	if (ret >= 0) {
+		fprintf(stderr, "io_uring_register_files_tags returned %i\n", ret);
+		return -EFAULT;
+	}
+
+	if (!check_cq_empty(&ring)) {
+		fprintf(stderr, "stray file CQEs found\n");
+		return -EFAULT;
+	}
+
+	io_uring_queue_exit(&ring);
+	return 0;
+}
+
 int main(int argc, char *argv[])
 {
 	int ring_flags[] = {0, IORING_SETUP_IOPOLL, IORING_SETUP_SQPOLL,
@@ -426,6 +473,12 @@ int main(int argc, char *argv[])
 		return 1;
 	}
 
+	ret = test_tagged_register_partial_fail();
+	if (ret) {
+		printf("test_tagged_register_partial_fail() failed\n");
+		return ret;
+	}
+
 	ret = test_notag();
 	if (ret) {
 		printf("test_notag failed\n");
-- 
2.48.1


From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id C611F3C38
	for <io-uring@vger.kernel.org>; Fri,  4 Apr 2025 16:17:12 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1743783434; cv=none; b=o7nFxA69JULI0OxAIghFj3QHJcxC1dabV4JGY/8FuuMFOovs4p89mECWNJxS45eG69lzpab6DKSaW/1h3pKHbW7BAKHQ3IbrsvMnQiyWyJJ99zs3+pPsGkIfYKs4JaUlgTmvz7AOeN1NILZAcSGosDrdOMlCMjltIW66oo4vvZY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1743783434; c=relaxed/simple;
	bh=rbtnVk58sEuu69YS9d5W4gSfdgeNgzHwL3yrvYagMSo=;
	h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=IpABh4JRKkeNEaT+Bfuc4G56UdfAsk+cawQy2tlpcVvTu8SEBSXd451tbktYrHSVhDOJLi3rpkDglSq57mkbqCHSjJJ18foNk+EWTx1zo5Tk3KwwvrvaX3NdBANZ7qUBmNxSI0G92dC/4omBfpMNSuovU41t8ClSaW3WAhzZqS0=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Tunx884I; arc=none smtp.client-ip=209.85.218.46
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Tunx884I"
Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-aaf0f1adef8so347764766b.3
        for <io-uring@vger.kernel.org>; Fri, 04 Apr 2025 09:17:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743783431; x=1744388231; darn=vger.kernel.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=fmoEzpjtepWPvv10dlSiXv/dczbDBSLRpMxYpHnMwX4=;
        b=Tunx884IBNYkft0ByO5OCG6YHkfqU60u9CO30eGvo1HlxbtFirpyaYg5WIGiPctp7S
         0dJ4zTtXl321dy8zKyOyYHcqxAsMxqJr6bL1QrHuhcZXzaWtQc4vKSao38hyDYHMUeQe
         Hw560nagt5say2XNBV20fqui87SiRvB764m8PsNLRoPHurZb4GDYAO/u2wo6HRWNVBUD
         Pe5mTgTKaOIV3zjdzx49IVpXkFoOKkfXkQVzpbMzynftnxC/49bt6EM2rUknVRx8Bl6A
         ezktsxUIZ7J86qEGZXR//mMVs1puGxTjgR1TYyfSH/i0JWQBd0AXz0BWINry9sqCZXXG
         6QlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743783431; x=1744388231;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fmoEzpjtepWPvv10dlSiXv/dczbDBSLRpMxYpHnMwX4=;
        b=SB3MQzsBzg8R+kOlKKce9rqFZEnrF89J1ZaP/VF4NU3WfvpDymHBgrAVpZTCO+8Ecc
         183GvoiVMTR91A7QqIKKvfEsMJRIQxfh2c8Gr2F9dmm3qKqm5b7uYQGDTT1XKN05uRvR
         kAgwEMlwoge3ulzSA5T71Rn4zk+/SwpSghezrgC3VZ3HfAgPU5aE9ZO69ORobE1TR8wF
         fnmJaOFRLAE3p6vlYgmWsVkr6KwxAs1TIPMsRspFjJ7B9vuK9hYyYFpfcDtrQpmiSO9V
         XDR25FixmuhYBxM3YT4yaOiSIZ24f8pRTnfofumEDenGbPULN0TD4lue9zG2VwcpuM7Y
         KexA==
X-Gm-Message-State: AOJu0YzeLrU2NvEvCkqHlFl1WUrbjcxGIVJvIKQr7W4AA7Bx32eac6JY
	qNGq12TiTOZ0VwpbrGthI+pSoIGYI7QI+eN5HgMskxAiJ2QtmvniFK0TMA==
X-Gm-Gg: ASbGncsrQV4TO3vgh59CXEUujLe9zQVYhfwoBb54yVZvQ2f4UQVIhG9QcxkpzIUsNBk
	VbK/87i1leL1kJ7J5hCIzzI/JLty25cw+5+NEZ6MQN7iT1eiDIPivb9ClnPIABvqR8QpG2GQm3G
	G1WRygos8PSrlPaC3ysX7uoPPyoM5P0IYlBTKOlet/i5l0LLuMLCDZpoqKQpYbTe++n2gIYNcK8
	iQWAn0j8LDhly3IP+JkKozkbC+YemqruWmFk6ELi8ujfWRivx442RF3TMn2pkE/pDA5tkylJYt1
	mznRgNvaj/uh+1s0JyJxaI+Goi54
X-Google-Smtp-Source: AGHT+IH82FAfJrX9yEvUKN7VhMoD7L1gqHwJ6aia0IW8pzQzOnbmo/n/E/W6pye9d28LOQ3bGCF0NA==
X-Received: by 2002:a17:907:3da3:b0:ac7:794e:1dbf with SMTP id a640c23a62f3a-ac7d6ec8d9cmr293281066b.57.1743783430479;
        Fri, 04 Apr 2025 09:17:10 -0700 (PDT)
Received: from 127.com ([2620:10d:c092:600::1:ce28])
        by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ac7c013f685sm282700766b.102.2025.04.04.09.17.09
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Fri, 04 Apr 2025 09:17:09 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org
Cc: asml.silence@gmail.com
Subject: [PATCH liburing 1/1] tests/rsrc_tags: partial registration failure tags
Date: Fri,  4 Apr 2025 17:18:21 +0100
Message-ID: <8791bcaf3c7d444724055a719c98903a83d7c731.1743782006.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.48.1
Precedence: bulk
X-Mailing-List: io-uring@vger.kernel.org
List-Id: <io-uring.vger.kernel.org>
List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Message-ID: <20250404161821.kfKsClHNyF4ydAhgjGN9M_0jYAtdXp0bCBcH6M751M4@z>

Make sure we don't post tags for a failed table registration.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 test/rsrc_tags.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/test/rsrc_tags.c b/test/rsrc_tags.c
index e78cfe40..0f7d9b69 100644
--- a/test/rsrc_tags.c
+++ b/test/rsrc_tags.c
@@ -408,6 +408,53 @@ static int test_notag(void)
 	return 0;
 }
 
+static char buffer[16];
+
+static int test_tagged_register_partial_fail(void)
+{
+	__u64 tags[2] = { 1, 2 };
+	int fds[2] = { pipes[0], -1 };
+	struct iovec iovec[2];
+	struct io_uring ring;
+	int ret;
+
+	iovec[0].iov_base = buffer;
+	iovec[0].iov_len = 1;
+	iovec[1].iov_base = (void *)1UL;
+	iovec[1].iov_len = 1;
+
+	ret = io_uring_queue_init(1, &ring, 0);
+	if (ret) {
+		printf("ring setup failed\n");
+		return 1;
+	}
+
+	ret = io_uring_register_buffers_tags(&ring, iovec, tags, 2);
+	if (ret >= 0) {
+		fprintf(stderr, "io_uring_register_buffers_tags returned %i\n", ret);
+		return -EFAULT;
+	}
+
+	if (!check_cq_empty(&ring)) {
+		fprintf(stderr, "stray buffer CQEs found\n");
+		return -EFAULT;
+	}
+
+	ret = io_uring_register_files_tags(&ring, fds, tags, 2);
+	if (ret >= 0) {
+		fprintf(stderr, "io_uring_register_files_tags returned %i\n", ret);
+		return -EFAULT;
+	}
+
+	if (!check_cq_empty(&ring)) {
+		fprintf(stderr, "stray file CQEs found\n");
+		return -EFAULT;
+	}
+
+	io_uring_queue_exit(&ring);
+	return 0;
+}
+
 int main(int argc, char *argv[])
 {
 	int ring_flags[] = {0, IORING_SETUP_IOPOLL, IORING_SETUP_SQPOLL,
@@ -426,6 +473,12 @@ int main(int argc, char *argv[])
 		return 1;
 	}
 
+	ret = test_tagged_register_partial_fail();
+	if (ret) {
+		printf("test_tagged_register_partial_fail() failed\n");
+		return ret;
+	}
+
 	ret = test_notag();
 	if (ret) {
 		printf("test_notag failed\n");
-- 
2.48.1