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

abi <abi/4.0>,

include <tunables/global>

@{exec_path} = @{lib}/needrestart/iucode-scan-versions
@{att} = ""
profile needrestart-iucode-scan-versions /{,usr/}lib{,exec,32,64}/needrestart/iucode-scan-versions flags=(complain) {
  include <abstractions/base-strict>

  @{exec_path} mr,

  @{sh_path}              rix,
  @{bin}/{,e}grep         rix,
  @{bin}/bsdtar           rix,
  @{bin}/cat              rix,
  @{sbin}/iucode_tool     rix,

  /usr/share/misc/ r,
  /usr/share/misc/amd-microcode* r,
  /usr/share/misc/intel-microcode* r,

  /etc/default/amd-microcode r,
  /etc/default/intel-microcode r,
  /etc/needrestart/iucode.sh r,

  @{efi}/amd-ucode.img r,
  @{efi}/intel-ucode.img r,
  @{efi}/early_ucode.cpio r,

  @{sys}/devices/system/cpu/cpu@{int}/microcode/processor_flags r,

        /dev/tty rw,
        /dev/tty@{int} rw,
  owner /dev/pts/@{int} rw,

  include if exists <local/needrestart-iucode-scan-versions>
}

# vim:syntax=apparmor
