Re: [PATCH] x86/sgx: Replace kmap/kunmap_atomic calls

From: Ira Weiny
Date: Thu Oct 06 2022 - 17:27:30 EST

On Thu, Oct 06, 2022 at 01:45:56PM -0700, Hansen, Dave wrote:
> On 10/6/22 13:37, Fabio M. De Francesco wrote:
> > kmap() were not suited in those cases because it might sleep. If the intents
> > of the author are simply map a page while in atomic, so to avoid sleeping in
> > atomic bugs, your conversions looks good.
> >
> > For the reasons above, can you please say something more about why this code
> > needed a kmap_atomic() instead of calling kmap()?
> This question is backwards. kmap_atomic() is the default that folks
> use. You use kmap_atomic() *always* unless you _need_ to sleep or one
> of the other kmap()-only things.
> Folks don't and shouldn't have to explain why this was using kmap_atomic().

I've not looked at the code closely enough but there was some concern that
kmap_atomic() callers are depending on preemption being disabled vs the more
common case of them being used in an atomic context where kmap() can't work.