# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2026 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

  abi <abi/4.0>,

  @{sys}/class/ r,
  @{sys}/class/usbmisc/ r,

  @{sys}/bus/ r,
  @{sys}/bus/usb/ r,
  @{sys}/bus/usb/devices/ r,

  @{sys}/devices/**/usb@{int}/ r,
  @{sys}/devices/**/usb@{int}/{,**/}bcdDevice r,
  @{sys}/devices/**/usb@{int}/{,**/}bConfigurationValue r,
  @{sys}/devices/**/usb@{int}/{,**/}bDeviceClass r,
  @{sys}/devices/**/usb@{int}/{,**/}bInterfaceClass r,
  @{sys}/devices/**/usb@{int}/{,**/}bInterfaceNumber r,
  @{sys}/devices/**/usb@{int}/{,**/}bInterfaceProtocol r,
  @{sys}/devices/**/usb@{int}/{,**/}bInterfaceSubClass r,
  @{sys}/devices/**/usb@{int}/{,**/}busnum r,
  @{sys}/devices/**/usb@{int}/{,**/}descriptors r,
  @{sys}/devices/**/usb@{int}/{,**/}devnum r,
  @{sys}/devices/**/usb@{int}/{,**/}devpath r,
  @{sys}/devices/**/usb@{int}/{,**/}idProduct r,
  @{sys}/devices/**/usb@{int}/{,**/}idVendor r,
  @{sys}/devices/**/usb@{int}/{,**/}interface r,
  @{sys}/devices/**/usb@{int}/{,**/}manufacturer r,
  @{sys}/devices/**/usb@{int}/{,**/}modalias r,
  @{sys}/devices/**/usb@{int}/{,**/}product r,
  @{sys}/devices/**/usb@{int}/{,**/}removable r,
  @{sys}/devices/**/usb@{int}/{,**/}serial r,
  @{sys}/devices/**/usb@{int}/{,**/}speed r,
  @{sys}/devices/**/usb@{int}/{,**/}uevent r,

  include if exists <abstractions/sys/usb.d>

# vim:syntax=apparmor
