summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2009-05-18 10:06:49 -0500
committerMike Christie <michaelc@cs.wisc.edu>2009-05-18 10:06:49 -0500
commit53ee54dbf10597ff0cea09b4f3ff697bc48ddd5e (patch)
tree880e2c506c0af466e98790eb9093712b62aa6b97
parent6fc020102775dd54c0f76f5107cec72a78ca68ee (diff)
downloadopen-iscsi-53ee54dbf10597ff0cea09b4f3ff697bc48ddd5e.tar.gz
iscsid: fix unknown kernel event handling
If we do not recognize the kernel event we should not read in or begin process to the data payload.
-rw-r--r--usr/netlink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr/netlink.c b/usr/netlink.c
index 3d697ef..83d162a 100644
--- a/usr/netlink.c
+++ b/usr/netlink.c
@@ -936,13 +936,17 @@ static int ctldev_handle(void)
case ISCSI_KEVENT_CONN_ERROR:
sid = ev->r.connerror.sid;
cid = ev->r.connerror.cid;
+ break;
case ISCSI_KEVENT_UNBIND_SESSION:
sid = ev->r.unbind_session.sid;
/* session wide event so cid is 0 */
cid = 0;
break;
default:
- ; /* fall through */
+ log_error("Unknown kernel event %d. You may want to upgrade "
+ "your iscsi tools.", ev->type);
+ drop_data(nlh);
+ return -EINVAL;
}
/* verify connection */