aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/usb.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-11-13 15:04:41 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-11-14 17:57:33 +0100
commitd6fa15bbcf9604e3c14816410550d2cf22b955e4 (patch)
treef71a0bbcb09ba0fe71fb4ee191773b5fa62a5ecb /include/linux/usb.h
parentUSB: make to_usb_driver() use container_of_const() (diff)
downloadwireguard-linux-d6fa15bbcf9604e3c14816410550d2cf22b955e4.tar.xz
wireguard-linux-d6fa15bbcf9604e3c14816410550d2cf22b955e4.zip
USB: make to_usb_device_driver() use container_of_const()
Turns out that we have some const pointers being passed to to_usb_device_driver() but were not catching this. Change the macro to properly propagate the const-ness of the pointer so that we will notice when we try to write to memory that we shouldn't be writing to. This requires fixing up the usb_driver_applicable() function as well, because it can handle a const * to struct usb_driver. Cc: Johan Hovold <johan@kernel.org> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Grant Grundler <grundler@chromium.org> Cc: Yajun Deng <yajun.deng@linux.dev> Cc: Oliver Neukum <oneukum@suse.com> Cc: Douglas Anderson <dianders@chromium.org> Cc: linux-usb@vger.kernel.org Link: https://lore.kernel.org/r/2024111342-lagoon-reapprove-5e49@gregkh Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r--include/linux/usb.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h
index 7a9e96f9d886..cfa8005e24f9 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -1294,8 +1294,7 @@ struct usb_device_driver {
unsigned int supports_autosuspend:1;
unsigned int generic_subclass:1;
};
-#define to_usb_device_driver(d) container_of(d, struct usb_device_driver, \
- driver)
+#define to_usb_device_driver(d) container_of_const(d, struct usb_device_driver, driver)
/**
* struct usb_class_driver - identifies a USB driver that wants to use the USB major number