Recent changes (master)

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

 



The following changes since commit bc0fec0e12f19dd424f4bf83cfca89d434184c8d:

  client/server: ensure we don't overrun memory for long option values (2015-12-15 21:02:51 -0700)

are available in the git repository at:

  git://git.kernel.dk/fio.git master

for you to fetch changes up to dde7b2361bf5b052a9c5c727bb2b062c604c7d42:

  gclient: don't free pdu on iolog return (2015-12-16 15:05:54 -0700)

----------------------------------------------------------------
Jens Axboe (4):
      parse: fix segfault if posval option doesn't have a value
      verify: dump failed header, if verification fails
      client: fix double free of command on timeout
      gclient: don't free pdu on iolog return

 client.c  | 7 +++----
 gclient.c | 1 -
 parse.c   | 2 ++
 verify.c  | 5 +++++
 4 files changed, 10 insertions(+), 5 deletions(-)

---

Diff of recent changes:

diff --git a/client.c b/client.c
index 637cd3f..f4b95d3 100644
--- a/client.c
+++ b/client.c
@@ -1666,12 +1666,13 @@ static void request_client_etas(struct client_ops *ops)
 static int handle_cmd_timeout(struct fio_client *client,
 			      struct fio_net_cmd_reply *reply)
 {
+	flist_del(&reply->list);
+	free(reply);
+
 	if (reply->opcode != FIO_NET_CMD_SEND_ETA)
 		return 1;
 
 	log_info("client <%s>: timeout on SEND_ETA\n", client->hostname);
-	flist_del(&reply->list);
-	free(reply);
 
 	flist_del_init(&client->eta_list);
 	if (client->eta_in_flight) {
@@ -1706,8 +1707,6 @@ static int client_check_cmd_timeout(struct fio_client *client,
 
 		log_err("fio: client %s, timeout on cmd %s\n", client->hostname,
 						fio_server_op(reply->opcode));
-		flist_del(&reply->list);
-		free(reply);
 		ret = 1;
 	}
 
diff --git a/gclient.c b/gclient.c
index 17af38a..949ad42 100644
--- a/gclient.c
+++ b/gclient.c
@@ -696,7 +696,6 @@ static void gfio_client_job_start(struct fio_client *client, struct fio_net_cmd
 static void gfio_client_iolog(struct fio_client *client, struct cmd_iolog_pdu *pdu)
 {
 	printf("got iolog: name=%s, type=%u, entries=%lu\n", pdu->name, pdu->log_type, (unsigned long) pdu->nr_samples);
-	free(pdu);
 }
 
 static void gfio_add_total_depths_tree(GtkListStore *model,
diff --git a/parse.c b/parse.c
index df42e22..0ef00b8 100644
--- a/parse.c
+++ b/parse.c
@@ -483,6 +483,8 @@ static int __handle_option(struct fio_option *o, const char *ptr, void *data,
 			if (!vp->ival || vp->ival[0] == '\0')
 				continue;
 			all_skipped = 0;
+			if (!ptr)
+				break;
 			if (!strncmp(vp->ival, ptr, str_match_len(vp, ptr))) {
 				ret = 0;
 				if (o->off1)
diff --git a/verify.c b/verify.c
index 268c060..5d491d7 100644
--- a/verify.c
+++ b/verify.c
@@ -780,6 +780,11 @@ err:
 	log_err(" at file %s offset %llu, length %u\n",
 		io_u->file->file_name,
 		io_u->offset + hdr_num * hdr_len, hdr_len);
+
+	if (td->o.verify_dump)
+		dump_buf(p, hdr_len, io_u->offset + hdr_num * hdr_len,
+				"hdr_fail", io_u->file);
+
 	return EILSEQ;
 }
 
--
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