USB: serial: bus: fix const issue in usb_serial_device_match()
Subsystems (2)
Greg Kroah-Hartman
maintainerPATCH 1/1 USB: serial: bus: fix const issue in usb_serial_device_match()
usb_serial_device_match() takes a const pointer, and then decides to cast it away into a non-const one, which is not a good thing to do overall. Fix this up by properly setting the pointers to be const to preserve that attribute.
--- drivers/usb/serial/bus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/serial/bus.c +1 -1
@@ -17,7 +17,7 @@ static int usb_serial_device_match(struct device *dev, const struct device_driver *drv) {const struct usb_serial_port *port =to_usb_serial_port (dev); -struct usb_serial_driver *driver =to_usb_serial_driver (drv); +const struct usb_serial_driver *driver =to_usb_serial_driver (drv);/* * drivers are already assigned to ports in serial_probe so it's
Signature · 1 line
2.49.0
Johan Hovold
maintainerQuoted 4 lines · Greg Kroah-Hartman
usb_serial_device_match()takes a const pointer, and then decides to cast it away into a non-const one, which is not a good thing to do overall. Fix this up by properly setting the pointers to be const to preserve that attribute.
I think this deserves a Fixes tag as this is a recent issue introduced by commit d69d80484598 ("driver core: have match() callback in struct bus_type take a const *") (even if we only use the address of the pointer).
drivers/usb/serial/bus.c static int usb_serial_device_match(struct device *dev, · line 23
Quoted 12 lines
Cc Johan Hovold <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>drivers/usb/serial/bus.c +1
-1@@ -17,7 +17,7 @@ static int usb_serial_device_match(struct device *dev, const struct device_driver *drv) {const struct usb_serial_port *port =to_usb_serial_port (dev); -struct usb_serial_driver *driver =to_usb_serial_driver (drv); +const struct usb_serial_driver *driver =to_usb_serial_driver (drv);/* * drivers are already assigned to ports in serial_probe so it's
Now applied with a Fixes tag added.
Johan
Greg Kroah-Hartman
maintainerQuoted 10 lines · Johan Hovold
Quoted 4 lines · Greg Kroah-Hartman
usb_serial_device_match()takes a const pointer, and then decides to cast it away into a non-const one, which is not a good thing to do overall. Fix this up by properly setting the pointers to be const to preserve that attribute.I think this deserves a Fixes tag as this is a recent issue introduced by commit
d69d80484598("driver core: havematch()callback in structbus_typetake a const *") (even if we only use the address of the pointer).
Oops, yes, that is needed, sorry about that.
Quoted 10 lines
Quoted 10 lines
Cc Johan Hovold <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>drivers/usb/serial/bus.c +1
-1@@ -17,7 +17,7 @@ static int usb_serial_device_match(struct device *dev, const struct device_driver *drv) {const struct usb_serial_port *port =to_usb_serial_port (dev); -struct usb_serial_driver *driver =to_usb_serial_driver (drv); +const struct usb_serial_driver *driver =to_usb_serial_driver (drv);
Quoted 4 lines
drivers/usb/serial/bus.c static int usb_serial_device_match(struct device *dev, · line 23
Quoted 2 lines
drivers/usb/serial/bus.c +0
-0/* * drivers are already assigned to ports in serial_probe so it's Now applied with a Fixes tag added.
Great, thanks!
greg k-h