virtual_oss(8): Create loopback devices with GID_AUDIO #26

Manually merged
christos merged 2 commits from christos/group into main 2026-05-21 17:34:58 +00:00 AGit
Member

Make sure the user is part of the audio group to avoid unintended
snooping of loopback audio by unprivileged users.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week

Make sure the user is part of the audio group to avoid unintended snooping of loopback audio by unprivileged users. Sponsored by: The FreeBSD Foundation MFC after: 1 week
To be used by virtual_oss(8) loopback devices.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
virtual_oss(8): Create loopback devices with GID_AUDIO
Some checks are pending
Checklist / commit (pull_request_target) Waiting to run
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Waiting to run
Style Checker / Style Checker (pull_request) Waiting to run
f6f8b3438a
Make sure the user is part of the audio group to avoid unintended
snooping of loopback audio by unprivileged users.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
markj left a comment

Make sure the user is part of the audio group to avoid unintended snooping of loopback audio by unprivileged users.

But how are you doing that? The mode is still 0666.

And we should avoid hard-coding GIDs in userspace. Use getgrnam("audio") to find the GID.

> Make sure the user is part of the audio group to avoid unintended snooping of loopback audio by unprivileged users. But how are you doing that? The mode is still 0666. And we should avoid hard-coding GIDs in userspace. Use getgrnam("audio") to find the GID.
christos force-pushed christos/group from f6f8b3438a
Some checks are pending
Checklist / commit (pull_request_target) Waiting to run
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Waiting to run
Style Checker / Style Checker (pull_request) Waiting to run
to 7aa92a43fb
Some checks are pending
Checklist / commit (pull_request_target) Waiting to run
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Waiting to run
Style Checker / Style Checker (pull_request) Waiting to run
2026-05-07 14:04:49 +00:00
Compare
Author
Member

@markj wrote in #26 (comment):

Make sure the user is part of the audio group to avoid unintended snooping of loopback audio by unprivileged users.

But how are you doing that? The mode is still 0666.

And we should avoid hard-coding GIDs in userspace. Use getgrnam("audio") to find the GID.

Addressed.

@markj wrote in https://ron-dev.freebsd.org/FreeBSD/src/pulls/26#issuecomment-348: > > Make sure the user is part of the audio group to avoid unintended snooping of loopback audio by unprivileged users. > > But how are you doing that? The mode is still 0666. > > And we should avoid hard-coding GIDs in userspace. Use getgrnam("audio") to find the GID. Addressed.
christos requested review from markj 2026-05-07 14:12:34 +00:00
christos force-pushed christos/group from 7aa92a43fb
Some checks are pending
Checklist / commit (pull_request_target) Waiting to run
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Waiting to run
Style Checker / Style Checker (pull_request) Waiting to run
to 193f38bee6
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
2026-05-07 16:17:44 +00:00
Compare
Author
Member

Updated the man page to document this change.

Updated the man page to document this change.
Author
Member

Bump.

Bump.
christos force-pushed christos/group from 193f38bee6
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
to 0dfa879abe
Some checks are pending
Checklist / commit (pull_request_target) Waiting to run
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Waiting to run
Style Checker / Style Checker (pull_request) Waiting to run
2026-05-14 14:16:23 +00:00
Compare
christos force-pushed christos/group from 0dfa879abe
Some checks are pending
Checklist / commit (pull_request_target) Waiting to run
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Waiting to run
Style Checker / Style Checker (pull_request) Waiting to run
to b5cd30dd69
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
2026-05-14 15:27:20 +00:00
Compare
christos force-pushed christos/group from b5cd30dd69
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
to 72228b0cd3
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
2026-05-14 18:42:33 +00:00
Compare
@ -1868,0 +1875,4 @@
* users.
*/
if ((gr = getgrnam("audio")) == NULL)
return ("getgrnam() failed");
Member

the most likely cause is that the audio group does not exist; we probably want to check errno and have the string be "audio group not found" or such for that case.

the most likely cause is that the audio group does not exist; we probably want to check errno and have the string be "audio group not found" or such for that case.
christos force-pushed christos/group from 72228b0cd3
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
to c9c10a3c8c
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
2026-05-21 17:30:29 +00:00
Compare
christos force-pushed christos/group from c9c10a3c8c
Some checks failed
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
to 5f904cb1b0
Some checks failed
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Has been cancelled
Checklist / commit (pull_request_target) Has been cancelled
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (pull_request) Has been cancelled
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / amd64 macos-latest (clang-18) (pull_request) Has been cancelled
Cross-build Kernel / aarch64 macos-latest (clang-18) (pull_request) Has been cancelled
Style Checker / Style Checker (pull_request) Has been cancelled
2026-05-21 17:32:51 +00:00
Compare
gitadm referenced this pull request from a commit 2026-05-21 17:34:55 +00:00
christos manually merged commit 5f904cb1b0 into main 2026-05-21 17:34:58 +00:00
gitadm referenced this pull request from a commit 2026-05-28 09:40:14 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
FreeBSD/src!26
No description provided.