[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250610205358.07b1cc05@pumpkin>
Date: Tue, 10 Jun 2025 20:53:58 +0100
From: David Laight <david.laight.linux@...il.com>
To: Christophe Leroy <christophe.leroy@...roup.eu>
Cc: Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-sound@...r.kernel.org, Herve Codina <herve.codina@...tlin.com>, Mark
Brown <broonie@...nel.org>
Subject: Re: [PATCH] ALSA: pcm: Convert multiple {get/put}_user to
user_access_begin/user_access_end()
On Sat, 7 Jun 2025 13:37:42 +0200
Christophe Leroy <christophe.leroy@...roup.eu> wrote:
> With user access protection (Called SMAP on x86 or KUAP on powerpc)
> each and every call to get_user() or put_user() performs heavy
> operations to unlock and lock kernel access to userspace.
>
> To avoid that, perform user accesses by blocks using
> user_access_begin/user_access_end() and unsafe_get_user()/
> unsafe_put_user() and alike.
Did you consider using masked_user_access_begin() ?
It removes a conditional branch and lfence as well.
David
Powered by blists - more mailing lists