Summary: | media-sound/pulseaudio - udev detect does not work until udevadm trigger is run | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sean Santos <quantheory> |
Component: | Current packages | Assignee: | Arun Raghavan (RETIRED) <ford_prefect> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | hardened, sound |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | emerge --info pulseaudio udev udev-init-scripts |
Description
Sean Santos
2012-10-28 22:33:59 UTC
Created attachment 327648 [details]
emerge --info pulseaudio udev udev-init-scripts
This sounds like a grsec issue - works just fine on all the systems I have ever seen. CC'ing hardened to see if they know what might be happening. I agree; my initial suspicion was that some grsecurity filesystem options might have been the problem; I was trying to figure out what precisely the issue was without having to disable them one-by-one (which, in retrospect, probably would have been the fastest way to figure this out). What confused me is that the udevadm trigger mechanism works at all (although now it makes more sense to me, since running that command as root re-provides information that probably isn't available when pulseaudio starts). Anyway, I just now tried the obvious experiment, and started pulseaudio as root with -vvvv. Now pulseaudio detects the card (while running as a normal user with pulseaudio suid as root does not work). So that narrows it down. This is caused by CONFIG_GRKERNSEC_SYSFS_RESTRICT (which I feel a bit dumb for not figuring out before). Since non-root can't get at /sys, root needs to run "udevadm trigger --subsystem-match=sound" (or something like it) in order to re-run the appropriate events. I'm not sure what to think here; maybe this bug should be INVALID? There are a number of possible, but not ideal, workarounds (dump pulseaudio and use bare ALSA, use system-wide pulseaudio, turn off SYSFS_RESTRICT, use udevadm to trigger the card every time pulseaudio restarts, probably other things I can't think of right now). I guess one question is whether SYSFS_RESTRICT is intended to work with a typical desktop environment, or if it was my mistake for turning it on in the first place. AFAICT, pulseaudio is the only program affected on my system. +1 for INVALID due to wrong user settings of kernel This seems to hit people every few months, and I always forget what the culprit was, so I've blogged about it at: http://arunraghavan.net/2012/10/grsec-and-pulseaudio/ Marking INVALID now. |