diff options
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.patch | 42 |
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 + + |