diff options
author | NeilBrown <neilb@suse.com> | 2017-04-07 10:03:26 +1000 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-04-11 09:06:32 +0200 |
commit | 717a94b5fc7092afebe9c93791f29b2d8e5d297a (patch) | |
tree | 9a7c56b8c2daac8ea7c0f39f58e4c5aa84615ad3 /net/core/dev.c | |
parent | 36a4dfc37856cae40e4d864950f768d8b7d4f9f5 (diff) | |
download | linux-717a94b5fc7092afebe9c93791f29b2d8e5d297a.tar.gz linux-717a94b5fc7092afebe9c93791f29b2d8e5d297a.tar.bz2 linux-717a94b5fc7092afebe9c93791f29b2d8e5d297a.zip |
sched/core: Remove 'task' parameter and rename tsk_restore_flags() to current_restore_flags()
It is not safe for one thread to modify the ->flags
of another thread as there is no locking that can protect
the update.
So tsk_restore_flags(), which takes a task pointer and modifies
the flags, is an invitation to do the wrong thing.
All current users pass "current" as the task, so no developers have
accepted that invitation. It would be best to ensure it remains
that way.
So rename tsk_restore_flags() to current_restore_flags() and don't
pass in a task_struct pointer. Always operate on current->flags.
Signed-off-by: NeilBrown <neilb@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 7869ae3837ca..e8a366387a99 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4240,7 +4240,7 @@ static int __netif_receive_skb(struct sk_buff *skb) */ current->flags |= PF_MEMALLOC; ret = __netif_receive_skb_core(skb, true); - tsk_restore_flags(current, pflags, PF_MEMALLOC); + current_restore_flags(pflags, PF_MEMALLOC); } else ret = __netif_receive_skb_core(skb, false); |