From nobody Thu Oct 2 14:24:06 2025 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6C1462F2612; Tue, 16 Sep 2025 16:33:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758040405; cv=none; b=mM8d2QFtG6N6anE9dvCdyeDQv37/GACKuityKo6vxPQhSEesaAWBCOxkoF+Md4o1RgeEnwrAf/cGqpqTNvE2QXgLj7VSKgWl6efkt7u/MWrI7/09jYWAfXhGb8pUL8pcFY2iX+35pkV4qNmLOwwv45V8ExkfqblVlij2wOiEDHU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758040405; c=relaxed/simple; bh=/E1ackxbc77ZJbDwQp8PQvOGdLQElttCXc0w52nzIRA=; h=Message-ID:From:To:Cc:Subject:References:MIME-Version: Content-Type:Date; b=Ya5fjsvy/tBU5BLRG3MCOJKSiAI8TSuxHrqN9eujuxxTI4elZf5bPlA5bZgyhGKb9PjNxf3vOObcwXw1MZeg/nGCdmSLXLOb1kI6kogmeNwjiM47mhyq5Yab7WzXvsDolmjA5lwhByO8Qmy5/TI22TZIzEGZznuodABFWUn6Zks= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=DrvgrNFT; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=DyLDMbzc; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="DrvgrNFT"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="DyLDMbzc" Message-ID: <20250916163252.354989948@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1758040400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=W1zu4x4fa5rvVrKhE+/ECo02MeVuSwO/q/d1on1UR7Q=; b=DrvgrNFTGKmj1+43NZd+59JIHNOiW1+82xk29dQVGLRESoUBR427aucz0yd06GAO3ZXTsJ eU1LF2RodVVnrqxgxb+ojC6o0Spr5OQPrmUX81VtyKrcjbcu3MvDyY6CET6AU1FiRnOjGQ gggVYH+wPfA6u4HcUJwelw7Nho73XXrTRQfLwWrdu8ySB6rlCfhk/3xQzq6qfedP2AmJqk qm6MzFyTfWdB9+/4pGAeP9hN5siip8u1dFcMwnFE3hWsK60oZLHpsB3xZzMr48q/Q3/mRm Cgdk0L33jkVzqfhm2CqTT8ELZcXFn8JmWRYqwzIBMiQJJKPIgCwiNsdavmz7Rw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1758040400; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=W1zu4x4fa5rvVrKhE+/ECo02MeVuSwO/q/d1on1UR7Q=; b=DyLDMbzcLtTlwrEoG8vlXwT6jPbP+53jHDPa6qdnCJa8xkn/9bwrAuXgUVftBZAoFY0j+B f4sxKunptF6qF8BA== From: Thomas Gleixner To: LKML Cc: Linus Torvalds , Peter Zijlstra , Alexander Viro , Christian Brauner , Jan Kara , linux-fsdevel@vger.kernel.org, kernel test robot , Russell King , linux-arm-kernel@lists.infradead.org, Nathan Chancellor , Christophe Leroy , Darren Hart , Davidlohr Bueso , =?UTF-8?q?Andr=C3=A9=20Almeida?= , x86@kernel.org Subject: [patch V2 6/6] select: Convert to scoped masked user access References: <20250916163004.674341701@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Date: Tue, 16 Sep 2025 18:33:19 +0200 (CEST) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Thomas Gleixner Replace the open coded implementation with the scoped masked user access mechanism. No functional change intended. Signed-off-by: Thomas Gleixner Cc: Alexander Viro Cc: Christian Brauner Cc: Jan Kara Cc: linux-fsdevel@vger.kernel.org --- fs/select.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) --- --- a/fs/select.c +++ b/fs/select.c @@ -776,18 +776,12 @@ static inline int get_sigset_argpack(str { // the path is hot enough for overhead of copy_from_user() to matter if (from) { - if (can_do_masked_user_access()) - from =3D masked_user_access_begin(from); - else if (!user_read_access_begin(from, sizeof(*from))) - return -EFAULT; - unsafe_get_user(to->p, &from->p, Efault); - unsafe_get_user(to->size, &from->size, Efault); - user_read_access_end(); + scoped_masked_user_rw_access(from, return -EFAULT, { + scoped_get_user(to->p, &from->p); + scoped_get_user(to->size, &from->size); + }); } return 0; -Efault: - user_read_access_end(); - return -EFAULT; } =20 SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, o= utp,