aboutsummaryrefslogtreecommitdiffstats
path: root/main/linux-grsec/0004-staging-hv-fix-netvsc-sleeping-while-atomic.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/linux-grsec/0004-staging-hv-fix-netvsc-sleeping-while-atomic.patch')
-rw-r--r--main/linux-grsec/0004-staging-hv-fix-netvsc-sleeping-while-atomic.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/main/linux-grsec/0004-staging-hv-fix-netvsc-sleeping-while-atomic.patch b/main/linux-grsec/0004-staging-hv-fix-netvsc-sleeping-while-atomic.patch
new file mode 100644
index 00000000000..3ba0a1e3142
--- /dev/null
+++ b/main/linux-grsec/0004-staging-hv-fix-netvsc-sleeping-while-atomic.patch
@@ -0,0 +1,42 @@
+Subject: [PATCH] staging: hv: fix netvsc sleeping while atomic
+Date: Fri, 17 Dec 2010 11:40:24 +0200
+Message-Id: <1292578824-14408-1-git-send-email-timo.teras@iki.fi>
+X-Mailer: git-send-email 1.7.1
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+X-Virus-Scanned: ClamAV using ClamSMTP
+Status: O
+Content-Length: 845
+Lines: 29
+
+The channel callbacks are called directly from vmbus_event_dpc
+which runs in tasklet context. These callbacks need to use
+GFP_ATOMIC.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=16701
+
+Cc: Hank Janssen <hjanssen@microsoft.com>
+Cc: Haiyang Zhang <haiyangz@microsoft.com>
+Signed-off-by: Timo Teräs <timo.teras@iki.fi>
+---
+ drivers/staging/hv/netvsc.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/staging/hv/netvsc.c b/drivers/staging/hv/netvsc.c
+index 8022781..3784923 100644
+--- a/drivers/staging/hv/netvsc.c
++++ b/drivers/staging/hv/netvsc.c
+@@ -1236,7 +1236,7 @@ static void NetVscOnChannelCallback(void *Context)
+ /* ASSERT(device); */
+
+ packet = kzalloc(NETVSC_PACKET_SIZE * sizeof(unsigned char),
+- GFP_KERNEL);
++ GFP_ATOMIC);
+ if (!packet)
+ return;
+ buffer = packet;
+--
+1.7.1
+
+