summaryrefslogtreecommitdiff
path: root/crypto/async_tx
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-09-16 21:03:29 -0700
committerDan Williams <dan.j.williams@intel.com>2009-09-16 21:03:29 -0700
commit587ac5806497d8c9bdb526489f060f9e4b512c16 (patch)
tree758bdf36e0c78c99f6b38868f7bd9664553a5c76 /crypto/async_tx
parent1bb7c4ae99ff35151d529c3d1a466d65cadb8a0c (diff)
downloadlinux-crypto-587ac5806497d8c9bdb526489f060f9e4b512c16.tar.gz
linux-crypto-587ac5806497d8c9bdb526489f060f9e4b512c16.zip
raid6test: fix stack overflow
Testing on x86_64 with NDISKS=255 yields: do_IRQ: modprobe near stack overflow (cur:ffff88007d19c000,sp:ffff88007d19c128) ...and eventually general protection fault: 0000 [#1] Moving the scribble buffers off the stack allows the test to complete successfully. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'crypto/async_tx')
-rw-r--r--crypto/async_tx/raid6test.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/crypto/async_tx/raid6test.c b/crypto/async_tx/raid6test.c
index 98c83ca9..3ec27c7e 100644
--- a/crypto/async_tx/raid6test.c
+++ b/crypto/async_tx/raid6test.c
@@ -28,6 +28,7 @@
#define NDISKS 16 /* Including P and Q */
static struct page *dataptrs[NDISKS];
+static addr_conv_t addr_conv[NDISKS];
static struct page *data[NDISKS+3];
static struct page *spare;
static struct page *recovi;
@@ -69,7 +70,6 @@ static char disk_type(int d, int disks)
static void raid6_dual_recov(int disks, size_t bytes, int faila, int failb, struct page **ptrs)
{
struct async_submit_ctl submit;
- addr_conv_t addr_conv[disks];
struct completion cmp;
struct dma_async_tx_descriptor *tx = NULL;
enum sum_check_flags result = ~0;
@@ -156,7 +156,6 @@ static int test_disks(int i, int j, int disks)
static int test(int disks, int *tests)
{
- addr_conv_t addr_conv[disks];
struct dma_async_tx_descriptor *tx;
struct async_submit_ctl submit;
struct completion cmp;