[PATCH] Fix bug in bssplit parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fio,

I found a bug is bssplit parsing in bssplit_ddir() when trying to use
FIO on an ARM platform.  It looks like str_to_decimal() takes a "void
*" as its fourth argument, which it passes to get_multi_bytes(), which
is passes to fio_get_kb_base(), which casts it to a "struct
thread_data *".  bssplit_ddir() is passing in "struct thread_data **",
which I think is causing fio_get_kb_base() to go paw around in the
stack; I believe the different stack layouts between ARM and x86 is
causing me to see this problem.  The first change that introduces this
bug seems to be d6978a3242daad9cb7b0710b724f19225d1ed7e2.

Kenneth Waters

I apologize if this patch is in the wrong format.

---
 options.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/options.c b/options.c
index 549775c..b5abd74 100644
--- a/options.c
+++ b/options.c
@@ -82,7 +82,7 @@ static int bssplit_ddir(struct thread_data *td, int
ddir, char *str)
 		} else
 			perc = -1;

-		if (str_to_decimal(fname, &val, 1, &td)) {
+		if (str_to_decimal(fname, &val, 1, td)) {
 			log_err("fio: bssplit conversion failed\n");
 			free(td->o.bssplit);
 			return 1;
-- 
1.6.5
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux