#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# This file adds permissions on top of static-nodes.conf generated by
# kmod-static-nodes.service. Rules specified here should match the
# permissions specified for udev in 50-udev-default.rules.

z /dev/snd/seq      0660 - audio -
z /dev/snd/timer    0660 - audio -
z /dev/loop-control 0660 - disk  -
z /dev/net/tun      0666 - -     -
z /dev/fuse         0666 - -     -
z /dev/kvm          {{DEV_KVM_MODE}} - kvm -
z /dev/vhost-net    {{DEV_KVM_MODE}} - kvm -
z /dev/vhost-vsock  {{DEV_KVM_MODE}} - kvm -
