Commit 1b6df693 authored by Dan Williams's avatar Dan Williams

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: default avatarDan Williams <dan.j.williams@intel.com>
parent 376ec376
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#define NDISKS 16 /* Including P and Q */ #define NDISKS 16 /* Including P and Q */
static struct page *dataptrs[NDISKS]; static struct page *dataptrs[NDISKS];
static addr_conv_t addr_conv[NDISKS];
static struct page *data[NDISKS+3]; static struct page *data[NDISKS+3];
static struct page *spare; static struct page *spare;
static struct page *recovi; static struct page *recovi;
...@@ -69,7 +70,6 @@ static char disk_type(int d, int disks) ...@@ -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) static void raid6_dual_recov(int disks, size_t bytes, int faila, int failb, struct page **ptrs)
{ {
struct async_submit_ctl submit; struct async_submit_ctl submit;
addr_conv_t addr_conv[disks];
struct completion cmp; struct completion cmp;
struct dma_async_tx_descriptor *tx = NULL; struct dma_async_tx_descriptor *tx = NULL;
enum sum_check_flags result = ~0; enum sum_check_flags result = ~0;
...@@ -156,7 +156,6 @@ static int test_disks(int i, int j, int disks) ...@@ -156,7 +156,6 @@ static int test_disks(int i, int j, int disks)
static int test(int disks, int *tests) static int test(int disks, int *tests)
{ {
addr_conv_t addr_conv[disks];
struct dma_async_tx_descriptor *tx; struct dma_async_tx_descriptor *tx;
struct async_submit_ctl submit; struct async_submit_ctl submit;
struct completion cmp; struct completion cmp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment