udev: match kfd by name only — misc-class devices have no udev subsystem
The first revision guarded the kfd line with SUBSYSTEM=="misc", which never matches (misc-class devices carry no subsystem for udev matching), so the rule was read but never fired and /dev/kfd stayed 0660 root:render. Name-only match applies 0666 on creation and on trigger. Also fixes test-changed.sh to exit 0 when changed paths map to zero tests (udev rules are mapped-but-untestable) instead of invoking bats with an empty selection.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
# domain) can already ptrace the GPU userspace through an existing holder's
|
||||
# fd inheritance; on a private single-administrator home server this trades a
|
||||
# capability gate that could never be held by the intended user anyway.
|
||||
# Render nodes and /dev/kfd are compute nodes only — display outputs (card0,
|
||||
# card1) keep their owner/group/mode.
|
||||
KERNEL=="kfd", SUBSYSTEM=="misc", MODE="0666"
|
||||
# Note the missing SUBSYSTEM= guard on the kfd line: misc-class devices have no
|
||||
# subsystem for udev matching, so a SUBSYSTEM=="misc" guard never matches.
|
||||
KERNEL=="kfd", MODE="0666"
|
||||
KERNEL=="renderD*", SUBSYSTEM=="drm", MODE="0666"
|
||||
|
||||
@@ -214,6 +214,10 @@ for path in "${CHANGED[@]}"; do
|
||||
esac
|
||||
done
|
||||
|
||||
# Mapped-but-untestable paths (udev rules, trash moves) legitimately produce an
|
||||
# empty selection; that is a pass, not a bats usage error.
|
||||
[ "${#TESTS[@]}" -gt 0 ] || exit 0
|
||||
|
||||
if [ "$LIST_ONLY" -eq 1 ]; then
|
||||
printf '%s\n' "${TESTS[@]}"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user