# repo22 ACL/xattr integration smoke report - Date: 2026-08-08 UTC - Source baseline before this batch: `8e629bb9f798f0c76497bd2b623329a0aff430b9` - FreeBSD guest: 15.0-RELEASE-p8 amd64, QEMU TCG - Module SHA256: `18967bd32e89b08a2363241ed4b9b67344b7bfb555f1f77daa64f382925e4fda` - Scope: ACL/xattr worktree integration, build/link validation, and minimal Markdown-directed manual smoke tests ## Results | Check | Result | Evidence | |---|---|---| | `./build.sh` | PASS | `build/erofs.ko` generated without errors | | unresolved `bcmp` | PASS | `nm -u build/erofs.ko` contains no `bcmp` | | ACL kernel dependency | PASS | module declares `acl_posix1e`; `kldload` succeeds | | module lifecycle | PASS | `kldload`, `kldstat`, and exact module-ID `kldunload` succeed | | TC005 user xattr smoke | PASS | `user.comment` lists and reads as `repo22-user-xattr` | | TC082 access ACL smoke | PASS | system xattr lists `posix_acl_access`; raw ACL reads successfully | | FreeBSD ACL decode | PASS | `getfacl` reports named user, group, mask, and other entries | | TC060 ACL capability | PASS | `getconf ACL_EXTENDED` returns `1` | | read-only access smoke | PASS | read succeeds and write access is denied | | cleanup | PASS | no EROFS module, mount, or md device remains | The ACL fixture contained a real extended POSIX.1e access ACL with a named user and mask, so Linux did not collapse it into mode bits. `dump.erofs` reported 88 bytes of inode xattrs. FreeBSD returned: ```text user::rw- user:ntpd:r-- group::r-- mask::r-- other::--- ``` The fixture image, source directory, kernel module, VM overlay, and generated objects remained under `/work/build` or `repo22/build` and were not staged. ## Remaining scope - Default-directory ACL retrieval and access checks under multiple credentials were not exercised in this smoke batch. - Shared-xattr base calculation, long/packed prefixes, xattr filters, malformed xattr bounds, and metabox-backed shared xattrs still require dedicated tests. - Multi-device work is outside this ACL/xattr integration batch.