From nobody Thu Mar 19 02:06:34 2026 Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) (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 3A67D199920 for ; Mon, 16 Feb 2026 11:37:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.67 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771241879; cv=none; b=ShPNsio0agPUDanNaAtcz2xbDfF6WeUC9Gb1H7GZVlxfzgVjnNtaGXyTcY5Ywy3Gn1KFXAYhJQY1/cIbfUeXM49H4IUblDgxzOJ5bnNHuE0fAXQfGMjBn+l8WpMhrD0RN+08ww6rcBOQIrKPl4ZL8/UWTa6AIP0m7tzk3593GgM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771241879; c=relaxed/simple; bh=9SwJIXNatGa13MIbu7yYNg7OiZpFMhGhfwjg/TPZMTg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=tzWsMIlq1H5mnOziBwQdXzT0RevCP/7BgrvofNUCzmej15ayfEcmpZ+BaCdYOtLjkLTwD5BgpvQP2AlQJwUQFGsQhXgOan/pA9wkRRfXIQF8cAsJH980BWQC2zygNPS9MQ42piHJ3Zqslai2GPbCsp3ySu9BHhmBXIC3Q1Gz5SM= 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=PhT1ihxA; arc=none smtp.client-ip=209.85.128.67 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="PhT1ihxA" Received: by mail-wm1-f67.google.com with SMTP id 5b1f17b1804b1-483770e0b25so25148875e9.0 for ; Mon, 16 Feb 2026 03:37:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771241876; x=1771846676; 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=Ie7sanvQ2WlrCGUEyafWbbgTttCDULhAbUZjCyVHztk=; b=PhT1ihxABHra87j2/ALm2C+EgfF/uExBMprMXoY/A8bLgZjaoXCCrNUJ0u04jz06mt KIws8eKfSuU+qqj+yImLpmZ3MBdS7hbtUQhJhTE09E2W6KPYDPjis+axwwNQxkmmJ8yQ VfJlIHCTLZZJkktQpaaQ1WiC8jXXGWcC73FvH8fDbJYWkhUmYrfoH+UFzJSSrnrN+QAA nEiXiEuEiSom85PBUtQLCMkbb/KhfsDwz5Wtts1xvejRYd0lMi7840KGzvdif8QO1P9E Gu34cOACd/30f1Sqaqmb3UkLjn/bv03liL4gjNBpQtwua5GLmddqRHSoU9qfTYVf8Rr6 HPog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771241876; x=1771846676; 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=Ie7sanvQ2WlrCGUEyafWbbgTttCDULhAbUZjCyVHztk=; b=SymSQt+lCLu+V6gD0NLWkBXgqEznbIa8Yj0fjp0S8MO5rpAsWP1hsXhkSof3VDWH6O 6J6lEpekBg68I/aJg3qID89IOEHX7P2n3moh1QPKiJmqgzvCBxQlo4uyzS+wxXApwdbh 1TeaeqIFYi4GJ1UqCSENmdBJGsW4tU4eRrdVLiyg9XZDR9ITtu1u87PkPmTwYptNlYtb 74PjfNu7UkstZXOCLzNwEvO0f0ZPp1L7TxQw3VFWaXdMKNFX9IZvmcYgdQkUmdWBHa3j 2n9jwHD0a3k/IIi6KdL7sML/8MoL4nM6qvZ2sH/5TGkisgmeFu9gf5GUZdL+DOYQ5hhN xN5w== X-Forwarded-Encrypted: i=1; AJvYcCXD/E7mxuQxoOXW9qr8RFkvOuNfHv6qLo+gVBpvtUfJqRPrhBbDRI23jFhEeXGowHoDuR9B6wve20ABYYg=@vger.kernel.org X-Gm-Message-State: AOJu0YxSJCGU9dw2LRKUgqxCSykyjwrKky9FfAdHIQRHiXZIfOOL1y3t p/hH8k8joN9G/0J+1n6E5ACb3lDjGPw30Mp4fuPSauWA4cAIgRGGsSTDsDxVKEaKTBcQNg== X-Gm-Gg: AZuq6aIyNwMUeJzuLjm1g0FWFeV+v96jx+qudgqcDHSuWyuj8QUsOtk2M+ZrMGQmMuN W2AXZJguTFG2Wmw63A90g4vevIQ2JtkrfisdrB/pWMLH/Vtqucz1DFYW68sa06Qw/9tNF1Llb++ MZNRTeFS3l33k9Iqx7ijiEuW5mAm5xU1QjgWbesEygTYjsQwCA7sMwezKqLeYH541guvSDDXss4 QzdNDNYhdsvmg1BFix9adnMPovJjK64f7C2qT3lI4ZXcXaD8jd1KH/UaV3fMMonNttpFZOyb6Du +yFq4EChKeMken/lcERbELC/ZkCRekGkfbJrFz/AAv6QtWGAdy57+gNKg2bhhohJWw8KiplfriC ECDqKxQ6IMlLjw/HVhvJNh3nceKu6SP5mp446va2NKDsRl5Nw/a7ULAnZ8eIbuGKMoJdhLHt+TU zddMVV7UT97eF6CdlW+RdhDp2BbL9v8jQvlrhy29jTGZCi6XD1Ej+ZBWo8tMp49mPWpyxInj/7I Vbu2A== X-Received: by 2002:a05:600c:1991:b0:480:2521:4d92 with SMTP id 5b1f17b1804b1-483710858bcmr195564665e9.24.1771241876347; Mon, 16 Feb 2026 03:37:56 -0800 (PST) Received: from localhost.localdomain ([196.119.106.230]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483719b8e71sm242492925e9.2.2026.02.16.03.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Feb 2026 03:37:56 -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 11:37:00 +0000 Message-ID: <20260216113701.4650-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 883c9ceb5..7955ebb98 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