Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

fix(shm): make rings work safely across app and coreaudiod users

Aperta
#39 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
macos, rust

Direzione di ricerca

Iniziare in mars-hal::shm_backend e analizzare come vengono creati e aperti gli anelli di memoria condivisa POSIX. Innanzitutto convalidare i permessi richiesti quando un plug-in HAL macOS viene eseguito sotto coreaudiod o DriverHelper, quindi definire lo spazio dei nomi, la proprietà, la pulizia e il modello lettore/scrittore. Il lavoro è completato quando i permessi minimi necessari al funzionamento sono implementati e documentati e vengono dimostrati tramite un test di integrazione o manuale che utilizza un producer nello spazio utente e un consumer HAL.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Context

For HAL virtual input/output, shared memory crosses process and user boundaries. The app or daemon may run as the logged-in user, while the HAL plug-in runs inside CoreAudio/DriverHelper/coreaudiod context.

A downstream app-owned producer may need the HAL driver to read a POSIX shm object created outside the HAL process. MARS currently creates rings in mars-hal::shm_backend with mode 0o600.

Risk

Unit tests that open the ring twice in the same process/user will pass, but real HAL usage can fail if the creator and reader are different users or sandbox contexts.

Acceptance criteria

  • Validate real permissions needed for macOS HAL plug-in access from coreaudiod/DriverHelper.
  • Update ring creation/opening to use the minimum permissions that work cross-user.
  • Document the security model: namespace ownership, app ids/uids, cleanup, and who can read/write a ring.
  • Add an integration or manual acceptance test that proves a user-space producer and HAL consumer can access the same ring.
  • Avoid fallback modes that silently report success while the HAL device cannot read the ring.
Lingua principale
Rust
Stelle
0
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di JacobLinCool/mars

Tutte le issue di JacobLinCool/mars

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.