Displaying 20 results from an estimated 67 matches for "cdev_del".
2013 Jul 19
2
[PATCH 03/10] virtio: console: clean up port data immediately at time of unplug
..._console.c
> @@ -1501,14 +1501,6 @@ static void remove_port(struct kref *kref)
>
> port = container_of(kref, struct port, kref);
>
> - sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
> - device_destroy(pdrvdata.class, port->dev->devt);
> - cdev_del(port->cdev);
> -
> - kfree(port->name);
> -
> - debugfs_remove(port->debugfs_file);
> -
> kfree(port);
> }
>
> @@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
> */
> port->portdev = NULL;
>
> + sysfs_remove_group(&...
2013 Jul 19
2
[PATCH 03/10] virtio: console: clean up port data immediately at time of unplug
..._console.c
> @@ -1501,14 +1501,6 @@ static void remove_port(struct kref *kref)
>
> port = container_of(kref, struct port, kref);
>
> - sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
> - device_destroy(pdrvdata.class, port->dev->devt);
> - cdev_del(port->cdev);
> -
> - kfree(port->name);
> -
> - debugfs_remove(port->debugfs_file);
> -
> kfree(port);
> }
>
> @@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
> */
> port->portdev = NULL;
>
> + sysfs_remove_group(&...
2013 Jul 19
1
[PATCH 03/10] virtio: console: clean up port data immediately at time of unplug
...id remove_port(struct kref *kref)
>>>
>>> port = container_of(kref, struct port, kref);
>>>
>>> - sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
>>> - device_destroy(pdrvdata.class, port->dev->devt);
>>> - cdev_del(port->cdev);
>>> -
>>> - kfree(port->name);
>>> -
>>> - debugfs_remove(port->debugfs_file);
>>> -
>>> kfree(port);
>>> }
>>>
>>> @@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
>>&...
2013 Jul 19
1
[PATCH 03/10] virtio: console: clean up port data immediately at time of unplug
...id remove_port(struct kref *kref)
>>>
>>> port = container_of(kref, struct port, kref);
>>>
>>> - sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
>>> - device_destroy(pdrvdata.class, port->dev->devt);
>>> - cdev_del(port->cdev);
>>> -
>>> - kfree(port->name);
>>> -
>>> - debugfs_remove(port->debugfs_file);
>>> -
>>> kfree(port);
>>> }
>>>
>>> @@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
>>&...
2013 Jul 19
0
[PATCH 03/10] virtio: console: clean up port data immediately at time of unplug
...501,6 @@ static void remove_port(struct kref *kref)
> >
> > port = container_of(kref, struct port, kref);
> >
> > - sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
> > - device_destroy(pdrvdata.class, port->dev->devt);
> > - cdev_del(port->cdev);
> > -
> > - kfree(port->name);
> > -
> > - debugfs_remove(port->debugfs_file);
> > -
> > kfree(port);
> > }
> >
> > @@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
> > */
> > port->...
2010 Sep 02
14
[PATCH 00/14] virtio: console: Hot-unplug fixes
Hey Rusty,
These are the patches that rework a few bits to make hot-unplug while
ports are open not crash apps (or kernels).
The problem is when hot-unplug is performed when a port is open, the
cdev struct is kept around by the file pointers and when the app later
does a 'close', things go boom-boom.
This patch series makes sure port as well as device hot-unplug is now
safe to perform
2010 Sep 02
14
[PATCH 00/14] virtio: console: Hot-unplug fixes
Hey Rusty,
These are the patches that rework a few bits to make hot-unplug while
ports are open not crash apps (or kernels).
The problem is when hot-unplug is performed when a port is open, the
cdev struct is kept around by the file pointers and when the app later
does a 'close', things go boom-boom.
This patch series makes sure port as well as device hot-unplug is now
safe to perform
2013 Jul 18
0
[PATCH 03/10] virtio: console: clean up port data immediately at time of unplug
...console.c
+++ b/drivers/char/virtio_console.c
@@ -1501,14 +1501,6 @@ static void remove_port(struct kref *kref)
port = container_of(kref, struct port, kref);
- sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
- device_destroy(pdrvdata.class, port->dev->devt);
- cdev_del(port->cdev);
-
- kfree(port->name);
-
- debugfs_remove(port->debugfs_file);
-
kfree(port);
}
@@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
*/
port->portdev = NULL;
+ sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
+ device_destr...
2013 Jul 25
0
[PATCH v3 3/9] virtio: console: clean up port data immediately at time of unplug
...console.c
+++ b/drivers/char/virtio_console.c
@@ -1501,14 +1501,6 @@ static void remove_port(struct kref *kref)
port = container_of(kref, struct port, kref);
- sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
- device_destroy(pdrvdata.class, port->dev->devt);
- cdev_del(port->cdev);
-
- kfree(port->name);
-
- debugfs_remove(port->debugfs_file);
-
kfree(port);
}
@@ -1566,6 +1558,14 @@ static void unplug_port(struct port *port)
*/
port->portdev = NULL;
+ sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
+ device_destr...
2023 Mar 28
0
[PATCH v4 05/11] vduse: Support set_vq_affinity callback
...ret = vduse_domain_init();
> if (ret)
> @@ -1877,6 +1921,8 @@ static int vduse_init(void)
> err_mgmtdev:
> vduse_domain_exit();
> err_domain:
> + destroy_workqueue(vduse_irq_bound_wq);
> +err_bound_wq:
> destroy_workqueue(vduse_irq_wq);
> err_wq:
> cdev_del(&vduse_cdev);
> @@ -1896,6 +1942,7 @@ static void vduse_exit(void)
> {
> vduse_mgmtdev_exit();
> vduse_domain_exit();
> + destroy_workqueue(vduse_irq_bound_wq);
> destroy_workqueue(vduse_irq_wq);
> cdev_del(&vduse_cdev);
> device_destroy(vduse_class,...
2013 Jul 25
18
[PATCH v3 0/9] virtio: console: fixes for bugs and races with unplug
Hello,
This series fixes a few bugs and races with port unplug and the
various file operations: read(), write() and close().
I started coding up an alternative locking mechanism based on the
discussion earlier in this series, but some of what we already have
has to remain, and the new code is sufficiently different, so I'd
rather it bakes for a while, and I ensure there are no regressions
2013 Jul 25
18
[PATCH v3 0/9] virtio: console: fixes for bugs and races with unplug
Hello,
This series fixes a few bugs and races with port unplug and the
various file operations: read(), write() and close().
I started coding up an alternative locking mechanism based on the
discussion earlier in this series, but some of what we already have
has to remain, and the new code is sufficiently different, so I'd
rather it bakes for a while, and I ensure there are no regressions
2013 Jul 18
16
[PATCH 00/10] virtio: console: fixes for races with port unplug
Hello,
This series fixes a few races with port unplug and the various file
operations: read(), write(), close() and poll().
There still might be more races lurking, but testing this series looks
good to at least solve the easily-triggerable ones. I've run the
virtio-serial testsuite and a few open/close/unplug tests, and haven't
seen any badness.
I've marked these patches for
2013 Jul 18
16
[PATCH 00/10] virtio: console: fixes for races with port unplug
Hello,
This series fixes a few races with port unplug and the various file
operations: read(), write(), close() and poll().
There still might be more races lurking, but testing this series looks
good to at least solve the easily-triggerable ones. I've run the
virtio-serial testsuite and a few open/close/unplug tests, and haven't
seen any badness.
I've marked these patches for
2013 Jul 19
12
[PATCH v2 00/11] virtio: console: fixes for port unplug
Hello,
This series fixes a few bugs and races with port unplug and the
various file operations: read(), write(), close() and poll().
There still might be more races lurking, but testing this series looks
good to at least solve the easily-triggerable ones. I've run the
virtio-serial testsuite and a few open/close/unplug tests, and haven't
seen any badness.
I've marked these patches
2013 Jul 19
12
[PATCH v2 00/11] virtio: console: fixes for port unplug
Hello,
This series fixes a few bugs and races with port unplug and the
various file operations: read(), write(), close() and poll().
There still might be more races lurking, but testing this series looks
good to at least solve the easily-triggerable ones. I've run the
virtio-serial testsuite and a few open/close/unplug tests, and haven't
seen any badness.
I've marked these patches
2013 Jul 25
0
[PATCH v3 9/9] virtio: console: prevent use-after-free of port name in port unplug
...iff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 4e380c1..e910bec 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -1574,9 +1574,8 @@ static void unplug_port(struct port *port)
device_destroy(pdrvdata.class, port->dev->devt);
cdev_del(port->cdev);
- kfree(port->name);
-
debugfs_remove(port->debugfs_file);
+ kfree(port->name);
/*
* Locks around here are not necessary - a port can't be
--
1.8.1.4
2010 May 27
3
[PATCH 1/2] virtio: console: Fix crash when hot-unplugging a port and read is blocked
...ove_port(struct port *port)
hvc_remove(port->cons.hvc);
#endif
}
- if (port->guest_connected)
- send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 0);
-
sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
device_destroy(pdrvdata.class, port->dev->devt);
cdev_del(&port->cdev);
--
1.7.0.1
2010 May 27
3
[PATCH 1/2] virtio: console: Fix crash when hot-unplugging a port and read is blocked
...ove_port(struct port *port)
hvc_remove(port->cons.hvc);
#endif
}
- if (port->guest_connected)
- send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 0);
-
sysfs_remove_group(&port->dev->kobj, &port_attribute_group);
device_destroy(pdrvdata.class, port->dev->devt);
cdev_del(&port->cdev);
--
1.7.0.1
2013 Jul 29
2
[PATCH v3 9/9] virtio: console: prevent use-after-free of port name in port unplug
...o_console.c b/drivers/char/virtio_console.c
> index 4e380c1..e910bec 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -1574,9 +1574,8 @@ static void unplug_port(struct port *port)
> device_destroy(pdrvdata.class, port->dev->devt);
> cdev_del(port->cdev);
>
> - kfree(port->name);
> -
> debugfs_remove(port->debugfs_file);
> + kfree(port->name);
>
> /*
> * Locks around here are not necessary - a port can't be
> --
> 1.8.1.4