Test harness: prove Mach name recycling is safe
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- c
- Ambito
- operating-systems, testing
Direzione di ricerca
Start by reading the existing mach_test.c sysctl-handler pattern and the linked plan; the issue also identifies umbrella issue #145 and kernel #144 as context. Add in-kernel regression coverage for the listed name-recycling, allocation, uref, table-growth, reverse-hash, and cross-space cases, plus the namespace-separation assertions. Done means the assertions pass and the cold-boot wedge measurement is 0/100 across 10 blocks of 10 sends.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The regression guard for the whole effort. In-kernel tests following the existing mach_test.c sysctl-handler pattern:
- name recycle — allocate/free N names in one space; assert indices are reused, generation advances per slot, and a saved stale name fails lookup. This is the test the current design cannot pass.
- alloc_name — assert the returned entry carries the requested name; assert
KERN_NAME_EXISTSon repeat; assert no leaked slot - urefs — copy out a send right,
mach_port_deallocateonce, assert the entry is gone andip_srightsdecremented - table growth — assert previously issued names still resolve after each growth step, and entry pointers held across growth stay valid
- reverse hash —
mach_task_self()twice returns the same name - cross-space — allocate in space A from a thread owning space B; assert it lands in A
Namespace-separation assertions: procstat -f 1 shows no port fds; close(port_name) returns EBADF; an ordinary fd passed as a port name returns KERN_INVALID_NAME.
Acceptance for the umbrella: cold-boot wedge measurement (10 blocks x 10 sends) at 0/100. Pre-fix baseline is 35/100; kernel #144 also measured 35/100.
Part of #145. Plan: https://pkgdemon.github.io/nextbsd-mach-namespace-separation-plan.html
- Lingua principale
- C
- Stelle
- 12
- Fork
- 3
- Merge medio
- 7h 1m
- PR unite (30g)
- 7
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nextbsd/nextbsd-kernel
-
area:bluetooth bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
nextbsd/nextbsd-kernel#236 ·
I maintainer di solito rispondono entro 1 giorno
-
area:vm bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
nextbsd/nextbsd-kernel#226 ·
I maintainer di solito rispondono entro 1 giorno
-
area:network enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
nextbsd/nextbsd-kernel#53 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
nextbsd/nextbsd-kernel#254 ·
I maintainer di solito rispondono entro 1 giorno
-
linsysfs: create DRM sysfs nodes for platform-bus GPUs so Linux libdrm finds vc4/v3d on the Pi 5Apertaarea:linux area:rpi5 enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 47/100
nextbsd/nextbsd-kernel#248 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nextbsd/nextbsd-kernel
Issue simili
-
backlog bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
EchoTools/nevr-runtime#653 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
I maintainer di solito rispondono entro 1 giorno
-
base-files: 82_config_generate: regenerate /etc/board.json if 0-bytes / truncated after power cutAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
openwrt/openwrt#25940 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno