On Fri 12-02-21 12:22:07, Matthew Wilcox wrote:
On Fri, Feb 12, 2021 at 08:18:11PM +0900, Tetsuo Handa wrote:
quoted
On 2021/02/12 1:41, Michal Hocko wrote:
quoted
But I suspect we have drifted away from the original issue. I thought
that a simple check would help us narrow down this particular case and
somebody messing up from the IRQ context didn't sound like a completely
off.
From my experience at https://lkml.kernel.org/r/201409192053.IHJ35462.JLOMOSOFFVtQFH@I-love.SAKURA.ne.jp ,
I think we can replace direct PF_* manipulation with macros which do not receive "struct task_struct *" argument.
Since TASK_PFA_TEST()/TASK_PFA_SET()/TASK_PFA_CLEAR() are for manipulating PFA_* flags on a remote thread, we can
define similar ones for manipulating PF_* flags on current thread. Then, auditing dangerous users becomes easier.
No, nobody is manipulating another task's GFP flags.
Agreed. And nobody should be manipulating PF flags on remote tasks
either.
--
Michal Hocko
SUSE Labs