qemu-patch-raspberry4/io
Daniel P. Berrange 510531ea44 io: remove mistaken call to object_ref on QTask
The QTask struct is just a standalone struct, not a QOM Object,
so calling object_ref() on it is not appropriate. This results
in mangling the 'destroy' field in the QTask struct, causing
the later call to qtask_free() to try to call the function
at address 0x1, with predictably segfault happy results.

There is in fact no need for ref counting with QTask, as the
call to qtask_abort() or qtask_complete() will automatically
free associated memory.

This fixes the crash shown in

  https://bugs.launchpad.net/qemu/+bug/1589923

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit bc35d51077)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2016-08-05 13:44:29 -05:00
..
Makefile.objs io: introduce helper for creating channels from file descriptors 2016-02-15 14:49:00 +00:00
channel-buffer.c io: convert QIOChannelBuffer to use uint8_t instead of char 2016-02-15 14:49:18 +00:00
channel-command.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
channel-file.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
channel-socket.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
channel-tls.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
channel-util.c all: Clean up includes 2016-02-23 12:43:05 +00:00
channel-watch.c io: implement socket watch for win32 using WSAEventSelect+select 2016-03-10 17:19:07 +00:00
channel-websock.c io: remove mistaken call to object_ref on QTask 2016-08-05 13:44:29 -05:00
channel.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
task.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00