* [PATCH v2] virtio_console: fix a crash in config_work_handler
[not found] <20170116033550.GK16209@amit-lp.rh>
@ 2017-01-16 9:45 ` G. Campana
[not found] ` <1484559902-5346-1-git-send-email-gcampana@quarkslab.com>
1 sibling, 0 replies; 3+ messages in thread
From: G. Campana @ 2017-01-16 9:45 UTC (permalink / raw)
To: Amit Shah; +Cc: G. Campana, linux-kernel, virtualization
Using control_work instead of config_work as the 3rd argument to
container_of results in an invalid portdev pointer. Indeed, the work
structure is initialized as below:
INIT_WORK(&portdev->config_work, &config_work_handler);
It leads to a crash when portdev->vdev is dereferenced later. This bug
is triggered when the guest uses a virtio-console without multiport
feature and receives a config_changed virtio interrupt.
Signed-off-by: G. Campana <gcampana@quarkslab.com>
---
drivers/char/virtio_console.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 8b00e79..17857be 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1862,7 +1862,7 @@ static void config_work_handler(struct work_struct *work)
{
struct ports_device *portdev;
- portdev = container_of(work, struct ports_device, control_work);
+ portdev = container_of(work, struct ports_device, config_work);
if (!use_multiport(portdev)) {
struct virtio_device *vdev;
struct port *port;
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] virtio_console: fix a crash in config_work_handler
[not found] ` <1484559902-5346-1-git-send-email-gcampana@quarkslab.com>
@ 2017-01-16 10:27 ` Amit Shah
[not found] ` <20170116102723.GM16209@amit-lp.rh>
1 sibling, 0 replies; 3+ messages in thread
From: Amit Shah @ 2017-01-16 10:27 UTC (permalink / raw)
To: G. Campana; +Cc: Michael S. Tsirkin, linux-kernel, virtualization
On (Mon) 16 Jan 2017 [10:45:02], G. Campana wrote:
> Using control_work instead of config_work as the 3rd argument to
> container_of results in an invalid portdev pointer. Indeed, the work
> structure is initialized as below:
>
> INIT_WORK(&portdev->config_work, &config_work_handler);
>
> It leads to a crash when portdev->vdev is dereferenced later. This bug
> is triggered when the guest uses a virtio-console without multiport
> feature and receives a config_changed virtio interrupt.
>
> Signed-off-by: G. Campana <gcampana@quarkslab.com>
Reviewed-by: Amit Shah <amit.shah@redhat.com>
Michael, can you please pick this up?
Amit
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] virtio_console: fix a crash in config_work_handler
[not found] ` <20170116102723.GM16209@amit-lp.rh>
@ 2017-01-16 13:30 ` Michael S. Tsirkin
0 siblings, 0 replies; 3+ messages in thread
From: Michael S. Tsirkin @ 2017-01-16 13:30 UTC (permalink / raw)
To: Amit Shah; +Cc: G. Campana, linux-kernel, virtualization
On Mon, Jan 16, 2017 at 03:57:23PM +0530, Amit Shah wrote:
> On (Mon) 16 Jan 2017 [10:45:02], G. Campana wrote:
> > Using control_work instead of config_work as the 3rd argument to
> > container_of results in an invalid portdev pointer. Indeed, the work
> > structure is initialized as below:
> >
> > INIT_WORK(&portdev->config_work, &config_work_handler);
> >
> > It leads to a crash when portdev->vdev is dereferenced later. This bug
> > is triggered when the guest uses a virtio-console without multiport
> > feature and receives a config_changed virtio interrupt.
> >
> > Signed-off-by: G. Campana <gcampana@quarkslab.com>
>
> Reviewed-by: Amit Shah <amit.shah@redhat.com>
>
> Michael, can you please pick this up?
>
> Amit
Sure.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-16 13:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20170116033550.GK16209@amit-lp.rh>
2017-01-16 9:45 ` [PATCH v2] virtio_console: fix a crash in config_work_handler G. Campana
[not found] ` <1484559902-5346-1-git-send-email-gcampana@quarkslab.com>
2017-01-16 10:27 ` Amit Shah
[not found] ` <20170116102723.GM16209@amit-lp.rh>
2017-01-16 13:30 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).