Commit 01e5610d authored by Chunyang Hui's avatar Chunyang Hui Committed by Darek Stojaczyk
Browse files

parse: add return value to app_parse callback



Need to check user input and return status of parsing
to prevent app or target from crashing.
Input checking function will be added in the future.

Change-Id: I8167ac13306ae4f81e2cacb80edd9dcf9382c374
Signed-off-by: default avatarChunyang Hui <chunyang.hui@intel.com>
Reviewed-on: https://review.gerrithub.io/c/439479


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
parent 2d272954
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2,6 +2,12 @@

## v19.01: (Upcoming Release)

### event framework

For `spdk_app_parse_args`, add return value to the callback which parses application
specific command line parameters to protect SPDK applications from crashing by invalid
values from user input.

### environment

A new public header file env_dpdk.h has been introduced, and function spdk_env_dpdk_post_init
+2 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ spdk_startup(void *arg1, void *arg2)
	}
}

static void
static int
iscsi_parse_arg(int ch, char *arg)
{
	switch (ch) {
@@ -82,6 +82,7 @@ iscsi_parse_arg(int ch, char *arg)
		assert(false);
		break;
	}
	return 0;
}

int
+2 −1
Original line number Diff line number Diff line
@@ -41,9 +41,10 @@ nvmf_usage(void)
{
}

static void
static int
nvmf_parse_arg(int ch, char *arg)
{
	return 0;
}

static void
+2 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ spdk_tgt_save_pid(const char *pid_path)
}


static void
static int
spdk_tgt_parse_arg(int ch, char *arg)
{
	switch (ch) {
@@ -90,6 +90,7 @@ spdk_tgt_parse_arg(int ch, char *arg)
		break;
#endif
	}
	return 0;
}

static void
+2 −1
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ save_pid(const char *pid_path)
	fclose(pid_file);
}

static void
static int
vhost_parse_arg(int ch, char *arg)
{
	switch (ch) {
@@ -73,6 +73,7 @@ vhost_parse_arg(int ch, char *arg)
		spdk_vhost_set_socket_path(arg);
		break;
	}
	return 0;
}

static void
Loading