From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (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 9B9A7331EBC for ; Sat, 4 Jul 2026 09:34:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783157704; cv=none; b=jkUkKwlgK3raIPxDD7MhD8g/daf9VM0w9JqB4pnDngBU3Hv0DhXR2m5x3c0og8qdbxsk4a7sI1WnTpgPIs150hOMYZmy0blcb586z1erRYfIXcLd41FjGVEASUQrxe6ZOtys+gHf+hvmonDp2DTIgL0xx5byFuVDn2lzi3vzAXc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783157704; c=relaxed/simple; bh=LV2q+SmWkEQP+ztTAs63WjVWNQ6/5IT/FQlPd/mWRTw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=dJ2etjfZnutbkbgKYq6hZWvzFA5LSgk10isRAODVFOamkCS6JvUCsCoUqfKV+Yv4LaRqvjKFeXHJrp486CXG65uFuGGkD5jEcyNcUP3omHdg/MRhgdFBfFoCOpbmrdl4+UrkBEE76dS/udEWLk57cfcSOXJSl7Wxpl+kwQ4ZTdo= 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=OiWt0NpX; arc=none smtp.client-ip=209.85.215.175 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="OiWt0NpX" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-c9cf07d2df6so839266a12.2 for ; Sat, 04 Jul 2026 02:34:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783157694; x=1783762494; 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=QLOTX6KmyPfrL9FNVvJ7fuGr5EoZyWCd56EFdXhFaHI=; b=OiWt0NpXbP2dhqKtJN7M5puNMNUxB/BMkhi9Cn8m+ASMHzjoXypj9k1OMly4eYjnp7 yLdqJVWRgsuxvqfa4Sg+g8S2S/k51kU03341HU34O9Gds0TbbW0by/yvrQnRXEIbE1Fu cxprtvZOWqIAmQ1DaPg8WI9cAMIAYTWBO5Gm+Nc5hj6cuyDVOzGEJqifFoODniCurdus US0bzvAQysYKR8bAb8PvykkmLKsZXkNh1RSsl/FMPR3zhinE/LzqC2g05IhrU7yQTN2K 2I6JgOy7e/sPQ4r25oT8d2i3/c5YzN6MR/NTO4Q73XfK9E4H1EYYHgBbeWIYG5ZAsuZv 4WjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783157694; x=1783762494; 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=QLOTX6KmyPfrL9FNVvJ7fuGr5EoZyWCd56EFdXhFaHI=; b=bMh3HRgxmtclLgBiZG9MuEJLQlC583LBRXCWwHNFi48NtjqLX+9/HbTVYC/kgBfFgE AA+enKVTGm50LR2S6bN4zl7cXf8CrtJM+LiZ2AUchkziJJ5+1Hsghslmoikwxh93usfi RcGCuSvCRBeckJH1Y2RWXnZrcxSldOch40m/UxmVJYmCU7wIrA45fe/7riNW4S46jCrR cmdU3LE4GNdXc5OEtCVoIpykbFxf9dmL+voxqo2ltOmbVue531jUTtk/W/3N8NH3Egte 3p/wMKblr4jQPxmiyFoEIKvYIjKCjyISVafU0MWU2JlslsM8PHdrQP3+/umassLfdML7 6Q+w== X-Gm-Message-State: AOJu0YyX6ZoCRDyr1ea75NF2e/SG1bzaL7HtwZOP+L2Jqa7XF8bB25Bp j7LZx4dKprvVfQ9KJHA5NUOdc3Vigs5Hvt7vCFN8i0H6NtNrvfttZZQR+QzfE5nlIds= X-Gm-Gg: AfdE7ckAnr2seExNFLJCt6FacEOO3+m9Kq/qguG2fwohCKWGkoesT0NuQku7GPvOmDj tmsNiuLT68tQQvjEokRcOwj8iHUzqJutrV/3tYxQdMNPTK/Txa8w+67y27txMgIdfxrgAqracNM znPSK8XPSaZMD073mZlBadgz4GlbFwHz3MLCZaFZnuNSRfWp+KiKVsyZ9bqYpnguWswcV88DDOs CR6/gO+rSxfOKiwyxlRGC02YDJxNuP0QjwS2HAyjZMrbpAHZgNebymjxQK8HdrJXodLGO/7bvkW m3HK24skEwQlCHhkSEp2iOD5jKP/JwjV/EZpZ5Wa/wpF4gwViX6rx6pRoHqywQDZqkFdK9ij8Re hjQxLNsIw1WwJpqzOuXOQQPBVic0zeGh77lglgSL9+dhidiz/mSZTexkU7rVO3EKH3QKmSh9zTk lpGNcOU0pRctAgk8jhHbUNP0J56dbEoZLuPyPP/iJk8nceM0vJGP7OSEAsPskQmIi3ICM7 X-Received: by 2002:a05:6a20:1604:b0:3bf:7f0b:2f70 with SMTP id adf61e73a8af0-3c03e421942mr2663235637.34.1783157693593; Sat, 04 Jul 2026 02:34:53 -0700 (PDT) Received: from fedora.mrout-thinkpadp16vgen1.punetw6.csb ([103.133.229.222]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13b3c7fa566sm26491282c88.4.2026.07.04.02.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Jul 2026 02:34:52 -0700 (PDT) From: Malaya Kumar Rout To: linux-kernel@vger.kernel.org, tglx@kernel.org Cc: mrout@redhat.com, skhan@linuxfoundation.org, me@brighamcampbell.com, Malaya Kumar Rout , Anna-Maria Behnsen , Frederic Weisbecker , Dmitry Safonov <0x7f454c46@gmail.com>, Andrei Vagin Subject: [PATCH] time/namespace: Validate nanosecond field in proc_timens_set_offset() Date: Sat, 4 Jul 2026 15:04:28 +0530 Message-ID: <20260704093429.89350-1-malayarout91@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The function validates tv_sec to be within [-KTIME_SEC_MAX, KTIME_SEC_MAX] but never validates that tv_nsec is within the valid range of [0, NSEC_PER_SEC-1] before using it in timespec64_add(). timespec64_add() expects both timespec64 structures to have normalized values with tv_nsec in the range [0, 999999999]. If off->val.tv_nsec contains invalid values (negative or >= NSEC_PER_SEC), it could lead to incorrect calculations or unexpected behavior. Add validation to ensure tv_nsec is within the valid range before performing the addition. Fixes: 04a8682a71be ("fs/proc: Introduce /proc/pid/timens_offsets") Signed-off-by: Malaya Kumar Rout --- kernel/time/namespace.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/time/namespace.c b/kernel/time/namespace.c index 5fa0af66cf3f..d1b5de88f8ff 100644 --- a/kernel/time/namespace.c +++ b/kernel/time/namespace.c @@ -297,6 +297,9 @@ int proc_timens_set_offset(struct file *file, struct task_struct *p, off->val.tv_sec < -KTIME_SEC_MAX) return -ERANGE; + if (off->val.tv_nsec < 0 || off->val.tv_nsec >= NSEC_PER_SEC) + return -EINVAL; + tp = timespec64_add(tp, off->val); /* * KTIME_SEC_MAX is divided by 2 to be sure that KTIME_MAX is -- 2.54.0