Re: [PATCH] mm: use in_atomic() in print_vma_addr()

From: Bart Van Assche
Date: Fri Nov 03 2017 - 16:09:58 EST


On Fri, 2017-11-03 at 11:02 -0700, Andrew Morton wrote:
> Also, checkpatch says
>
> WARNING: use of in_atomic() is incorrect outside core kernel code
> #43: FILE: mm/memory.c:4491:
> + if (in_atomic())
>
> I don't recall why we did that, but perhaps this should be revisited?

Is the comment above in_atomic() still up-to-date? From <linux/preempt.h>:

/*
* Are we running in atomic context? WARNING: this macro cannot
* always detect atomic context; in particular, it cannot know about
* held spinlocks in non-preemptible kernels. Thus it should not be
* used in the general case to determine whether sleeping is possible.
* Do not use in_atomic() in driver code.
*/
#define in_atomic() (preempt_count() != 0)

Bart.