X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Fiface-stream.c;h=207f5f02c8dec12cb984fe52395f79ff7fded7ca;hb=82d082daad3fe8afad4be97d97093a3dfb768e1f;hp=27bfe42ebbb3c678518cc592943cb7f1a7937163;hpb=b5380c0aecad02964d5aff23ab51979a063379ce;p=palacios.git diff --git a/linux_module/iface-stream.c b/linux_module/iface-stream.c index 27bfe42..207f5f0 100644 --- a/linux_module/iface-stream.c +++ b/linux_module/iface-stream.c @@ -246,7 +246,8 @@ static void * palacios_stream_open(struct v3_stream * v3_stream, const char * na stream->guest = guest; stream->connected = 0; - strncpy(stream->name, name, STREAM_NAME_LEN - 1); + strncpy(stream->name, name, STREAM_NAME_LEN); + stream->name[STREAM_NAME_LEN-1] = 0; init_waitqueue_head(&(stream->user_poll_queue)); palacios_spinlock_init(&(stream->lock)); @@ -400,6 +401,9 @@ static int guest_stream_deinit(struct v3_guest * guest, void * vm_data) { struct stream_state * stream = NULL; struct stream_state * tmp = NULL; + + remove_guest_ctrl(guest, V3_VM_STREAM_CONNECT); + list_for_each_entry_safe(stream, tmp, &(global_streams), stream_node) { free_ringbuf(stream->out_ring); list_del(&(stream->stream_node)); @@ -407,6 +411,7 @@ static int guest_stream_deinit(struct v3_guest * guest, void * vm_data) { } palacios_free(state); + return 0; }