sch_gred: should not use GFP_KERNEL while holding a spinlock
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 11 Dec 2011 23:42:53 +0000 (23:42 +0000)
committerRohan Somvanshi <rsomvanshi@nvidia.com>
Wed, 11 Jan 2012 18:23:38 +0000 (10:23 -0800)
commit30bbf4c0b17c5b066efb2df30e3a9cb0e660286f
tree2918449dade59a1e7e5e9bfd1daa4f123608982f
parentf41f227f30f910b784c0d58d039c459c268c5ec5
sch_gred: should not use GFP_KERNEL while holding a spinlock

[ Upstream commit 3f1e6d3fd37bd4f25e5b19f1c7ca21850426c33f ]

gred_change_vq() is called under sch_tree_lock(sch).

This means a spinlock is held, and we are not allowed to sleep in this
context.

We might pre-allocate memory using GFP_KERNEL before taking spinlock,
but this is not suitable for stable material.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change-Id: I79a25778ca9fbc4ea2bd8c1f32d73bd73a1a3817
Reviewed-on: http://git-master/r/74218
Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
Tested-by: Varun Wadekar <vwadekar@nvidia.com>
net/sched/sch_gred.c