From nobody Thu Mar 5 06:32:30 2026 Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) (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 87BCF32A3D9 for ; Mon, 16 Feb 2026 16:14:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.68 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771258497; cv=none; b=XPLT6bdS0u1cq3FbFzp2PGvWa3QY9iPnrvP0g/uwTPKC+Y5u5H04jOahWM8WoDabcIRSHNYK2539t6e7lG3ocnq8kFem6cNo/XTjTulEDJokcz4V+3RKdWpOFQfY+NAg98UWxcxRRCbyJnreNAVSdeZFndUy4qZ4ahJo8XOo/QU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771258497; c=relaxed/simple; bh=pLqQtD+fnZB4aI7iBIoVWYS16krvV+aWu2KCByo+DGQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=iraGxUV+YktU2823IAaWFzmdxswEGneMXxqkQ67uilHFkZsXkkwKjGvxH9wu2HHBjGy32p+lNcvcSzZDU1HrllWw4uagMMtk5T1ohgyL5hHzXlVMCAIiuTmg2pFmVB6jyABFAwoRdxdueM7+d451cv+hgjYVDUaenQ15CTcRhJw= 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=mM6aBp90; arc=none smtp.client-ip=209.85.128.68 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="mM6aBp90" Received: by mail-wm1-f68.google.com with SMTP id 5b1f17b1804b1-481188b7760so28310025e9.0 for ; Mon, 16 Feb 2026 08:14:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771258495; x=1771863295; 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=RP+RCcuEkQIJD9ELvJouTH15rgDiNXUlxScfC4dYoF4=; b=mM6aBp90n12DaRgz07kPNiZWB8PdQl80TcyTuwM+691sXnswjE7M0COeWWRmA7TuAL 7zhcrmYfsb6tLfUZOVhhHCTyMQRgiWsraRP275LoXpPimafvDi5sR5Xa3zg7KbDYYxGi IWnCc/tT3fZQCHuSBq/vitPoygTBBuDYX/u1zmPs7ojJn3pLtdmWwkWGFE4ZojKz3ogt OoZ94LV/PIuTLa2W3g7j3oVrrTowM5ZcYwPSjRebjeR/mANFvqh4GlY1z137VWDycpp4 wwJS3X0ZhLSYipLTazhgHY1qiPULz7bCKfl9L4i4PruMBex8g8LunH39hTxibPshbwWe ik5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771258495; x=1771863295; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RP+RCcuEkQIJD9ELvJouTH15rgDiNXUlxScfC4dYoF4=; b=AxkefitIicWOUbLLv4CSex9VbEiPCB27/5q8cNfvEuAuk2JVFHSpLI93XOVvCfEXkr TCsYAuNbG/Qd1GXePyrqkdiALFyYuLVrXuel4ryfVW0V0/cp5iSYbpZY2MHCENQLKxr7 4hin2UhooEosgqs0JCtdu1clZQWupklVpLWILO7M1xanOzTL9oTY8GrL38MhBKeZqMvC UhMidfGCHYSXkvNVCuGf3v8oCDmWMlDMEXQ5nvfhdOjxix+Cd3BslOQJ2bevw8sttHTR FAbGtHzcN8FzIyvlundq8WGp+jMLbSr6cwleK2TE8nIjRg+GDaC5VB2KubWwv3BqiCTS BLDg== X-Forwarded-Encrypted: i=1; AJvYcCUjkBu/4cFpT5W/+483WeQYAdc2Pqlvk4oVkymeiXdQUkmGzNGC/mUY/VFjgGhPER/t+plkpaZnxUTY+GM=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5TqFD/7sT2x4xu4uPo3Z/EChqmqRWfHXEm1AfCgeG/9Vrdfsf bR1teXM90jTNxQuBB5RXQIA4JNtjkcpVm9VpebCAfeVNI80gukrJASqD X-Gm-Gg: AZuq6aLQCKW9emtSR7F37Vl5lxcj8Xkp7Bg5Ywai2hYtbpU2Ecb6d52J4NTYXy/E9GW E6Sob0hGHvuQ0+tZ8NNi9f+ga0GPF4yAokCmQel6LohKi938QrbDQWG55p0WiXPwT4LhccMpIb4 Jky7IqJ8z0HCfLHr5zGP7aQNseVYw5fKS6Whmeepwn4sbi0EQ67T3aVsrU2CwdSiPUKbA34tVK0 b2r7k5OPQV4iGuCb2ks34nQj1uijV4OmkPNVLZc3mG3RhWK/MPgt967dKmHLcJHfgq3Rg/+kRYW rPaXOuGzBELEiMWKcfSSBgi7mLlB62oZ/fzPfhYnF5fRs62kmgNaf+ql0GYI6JJk8pfO3Ugr1uC dyfcmo5GZqlBBqrAKlhJ74cmfa2Lufqtyg1Ihdis9eSVmJ8b6ih1spC174xeohxIfvIr38dGsQp IzXnzL8D1tgM3CG9kJXdctw7d/u6cAKUBkM73Va+orUPMj+cTmGmSgv/YQ1aaTX1hcckEOsPIa3 Pjifw== X-Received: by 2002:a05:600c:4f86:b0:47a:810f:1d06 with SMTP id 5b1f17b1804b1-483739fc258mr169704945e9.4.1771258494709; Mon, 16 Feb 2026 08:14:54 -0800 (PST) Received: from localhost.localdomain ([196.119.106.230]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48370a4e149sm132709755e9.2.2026.02.16.08.14.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Feb 2026 08:14:54 -0800 (PST) From: redacherkaoui To: io-uring@vger.kernel.org Cc: axboe@kernel.dk, linux-kernel@vger.kernel.org, redacherkaoui Subject: [PATCH] io_uring: document advise SQE field reuse for 64-bit lengths Date: Mon, 16 Feb 2026 16:14:24 +0000 Message-ID: <20260216161426.10810-1-redacherkaoui67@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" IORING_OP_FADVISE and IORING_OP_MADVISE reuse SQE fields to support 64-bit lengths without extending struct io_uring_sqe. For IORING_OP_FADVISE, the length is carried in sqe->addr when non-zero, with sqe->len providing legacy fallback. For IORING_OP_MADVISE, the length is carried in sqe->off when non-zero, with sqe->len providing legacy fallback. This differs from the more common addr/off/len interpretation used by many other opcodes and can be confusing when constructing SQEs manually. Document the field mapping in the UAPI header to clarify the intended behavior and reduce the risk of misuse. Signed-off-by: redacherkaoui --- include/uapi/linux/io_uring.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index d84627cf06b4..a19bd1e42561 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -25,9 +25,11 @@ extern "C" { #endif =20 /* + * IO submission data structure (Submission Queue Entry) + * * Field reuse for 64-bit lengths: * - * Most opcodes interpret: + * Many opcodes interpret: * - addr as a userspace pointer (buffer/iov/etc) * - off as a file offset * - len as a 32-bit length @@ -37,12 +39,14 @@ extern "C" { * * IORING_OP_FADVISE: * - off : file offset - * - fadvise_advice: POSIX_FADV_* advice + * - fadvise_advice: POSIX_FADV_* + * - length : addr if non-zero, otherwise len (legacy) * * IORING_OP_MADVISE: * - addr : start address of mapping - * - fadvise_advice: MADV_* advice + * - fadvise_advice: MADV_* + * - length : off if non-zero, otherwise len (legacy) * * This mapping is part of the stable UAPI. --=20 2.43.0