Re: [PATCH v4 2/6] usb: interface authorization: Introduces the default interface authorization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 18 Jun 2015, Stefan Koch wrote:

> Interfaces are allowed per default.
> This can disabled or enabled (again) by writing 0 or 1 to
> /sys/bus/usb/devices/usbX/interface_authorized_default
> 
> Signed-off-by: Stefan Koch <skoch@xxxxxxx>

> +/*
> + * interface_authorized_default_store - store default authorization status
> + * for USB interfaces
> + *
> + * note: interface_auhorized_default is the default value
> + *       for initializing the authorized attribute of interfaces
> + */
> +static ssize_t interface_authorized_default_store(struct device *dev,
> +		struct device_attribute *attr, const char *buf, size_t count)
> +{
> +	struct usb_device *usb_dev = to_usb_device(dev);
> +	struct usb_hcd *hcd = bus_to_hcd(usb_dev->bus);
> +	int rc = count;
> +	bool val;
> +
> +	if (!usb_dev || !hcd)
> +		return -ENODEV;

This can never happen; you should get rid of it.

> --- a/include/linux/usb/hcd.h
> +++ b/include/linux/usb/hcd.h
> @@ -120,6 +120,7 @@ struct usb_hcd {
>  #define HCD_FLAG_WAKEUP_PENDING		4	/* root hub is resuming? */
>  #define HCD_FLAG_RH_RUNNING		5	/* root hub is running? */
>  #define HCD_FLAG_DEAD			6	/* controller has died? */
> +#define HCD_FLAG_INTERFACE_AUTHORIZED_DEFAULT	8
>  
>  	/* The flags can be tested using these macros; they are likely to
>  	 * be slightly faster than test_bit().
> @@ -130,6 +131,8 @@ struct usb_hcd {
>  #define HCD_WAKEUP_PENDING(hcd)	((hcd)->flags & (1U << HCD_FLAG_WAKEUP_PENDING))
>  #define HCD_RH_RUNNING(hcd)	((hcd)->flags & (1U << HCD_FLAG_RH_RUNNING))
>  #define HCD_DEAD(hcd)		((hcd)->flags & (1U << HCD_FLAG_DEAD))
> +#define HCD_INTERFACE_AUTHORIZED_DEFAULT(hcd)	\
> +	((hcd)->flags & (1U << HCD_FLAG_INTERFACE_AUTHORIZED_DEFAULT))
>  
>  	/* Flags that get set only during HCD registration or removal. */
>  	unsigned		rh_registered:1;/* is root hub registered? */
> @@ -142,6 +145,7 @@ struct usb_hcd {
>  	unsigned		uses_new_polling:1;
>  	unsigned		wireless:1;	/* Wireless USB HCD */
>  	unsigned		authorized_default:1;
> +	unsigned		interface_authorized_default:1;

What's this doing here?

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux