Thread (75 messages) 75 messages, 9 authors, 2021-10-06

Re: [PATCH v2 1/6] driver core: Move the "authorized" attribute from USB/Thunderbolt to core

From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2021-09-30 09:05:15
Also in: linux-pci, lkml, virtualization

On Thu, Sep 30, 2021 at 6:59 AM Dan Williams [off-list ref] wrote:
On Wed, Sep 29, 2021 at 7:39 PM Kuppuswamy, Sathyanarayanan
[off-list ref] wrote:
quoted


On 9/29/21 6:55 PM, Dan Williams wrote:
quoted
quoted
Also, you ignored the usb_[de]authorize_interface() functions and
their friends.
Ugh, yes.
I did not change it because I am not sure about the interface vs device
dependency.
This is was the rationale for has_probe_authorization flag. USB
performs authorization of child devices based on the authorization
state of the parent interface.
quoted
I think following change should work.
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index f57b5a7a90ca..84969732d09c 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -334,7 +334,7 @@ static int usb_probe_interface(struct device *dev)
        if (udev->dev.authorized == false) {
                dev_err(&intf->dev, "Device is not authorized for usage\n");
                return error;
-       } else if (intf->authorized == 0) {
+       } else if (intf->dev.authorized == 0) {
== false
Or even (!intf->dev.authorized).
quoted
                dev_err(&intf->dev, "Interface %d is not authorized for usage\n",
                                intf->altsetting->desc.bInterfaceNumber);
                return error;
@@ -546,7 +546,7 @@ int usb_driver_claim_interface(struct usb_driver *driver,
                return -EBUSY;

        /* reject claim if interface is not authorized */
-       if (!iface->authorized)
+       if (!iface->dev.authorized)
I'd do == false to keep it consistent with other conversions.
But this looks odd, FWIW.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help