* ANN: SELinux userspace 3.11-rc1 release
@ 2026-06-05 9:54 Petr Lautrbach
0 siblings, 0 replies; only message in thread
From: Petr Lautrbach @ 2026-06-05 9:54 UTC (permalink / raw)
To: selinux
Hello!
The 3.11-rc1 release for the SELinux userspace is now available at:
https://github.com/SELinuxProject/selinux/releases/tag/3.11-rc1
https://github.com/SELinuxProject/selinux/wiki/Releases
I signed all tarballs using my gpg key, see .asc files.
You can download the public key from
https://github.com/bachradsusi.gpg
Thanks to all the contributors, reviewers, testers and reporters!
If you miss something important not mentioned bellow, please let me
know.
User-visible changes since 3.10
-------------------------------
- Several security improvements in libselinux, dbus, gui, mcstrans and sandbox
- Added `secilcheck` program to check CIL neverallows against binary policies
- Improved `restorecond.service` to use new `restorecond -F` option to run in foreground
- restorecon only logs error on read-only filesystem instead of failing (allows relabeling with read-only BTRFS subvolumes)
- Added `setfiles -A` option to disable SELINUX_RESTORECON_ADD_ASSOC
- Improved restorecon related functionality in libselinux
- Improved semanage-fcontext(8) manpage
- Dropped Python 2 support from audit2why
- Bug fixes
Development-relevant changes
----------------------------
- Reformated all code based on .clang-format configuration
Shortlog of the changes since 3.10 release
------------------------------------------
Cathy Hu (4):
Disable build isolation for sepolicy python module
README: add SLES and openSUSE as distros
restorecon: Only log error on readonly fs (bsc#1232226)
libsemanage: Require LIBSO before SWIGSO and SWIGRUBYSO (bsc#1266385)
Christian Göttsche (19):
libselinux: prefix ruby objects with interpreter
tree-wide: build shared libraries with -fPIC
libselinux: drop unnecessary strdup(3)
libselinux: support non-pthread build
libselinux: drop duplicate include header
libselinux: drop void cast on function returning void
libselinux: enclose macros and macro arguments
libselinux: constify regex interfaces
libselinux: hide regex_data_create()
libselinux: drop unreachable return
libselinux: drop Python 2 support from audit2why
libselinux: drop unneeded warning overrides
libselinux: correctly find partial matches
libselinux: avoid heap allocation in partial_match() leak path
libselinux: skip per-dirent fstat() when d_type is sufficient
gitignore: add entries for coverage related files extensions
libselinux: improve restorecon progress locking
libselinux: reset scanned file count at selinux_restorecon(3) entry
libsepol: link xperm rule permissions correctly
Dustin Kirkland (1):
policycoreutils/secon: fix discarded-qualifiers warning with glibc 2.43
James Carter (11):
libsepol: Fix out-of-bounds memory write in discard_tunbables()
libsepol: When resolving names check if a block is abstract
libsepol: Validate datum array entries for avrule blocks
libsepol: Change log level of "Failed to resolve" message
libsepol: Fix double free in copy_avrule_block
libsepol: In module_to_cil skip empty conditional blocks
libsepol: In module_to_cil correctly choose tunableif or booleanif
libsepol: In module_to_cil use constrain and validatetrans where possible
libsepol/cil: Add function to check CIL neverallows against binary policy
libsepol: Add a function to output CIL declarations from a binary policy
secilc: Add program that checks CIL neverallows against a binary policy
Kalevi Kolttonen (8):
libselinux: remove useless assignment and test
checkpolicy: replace malloc()+memset() with calloc()
checkpolicy: use calloc() so no need to do memset()
checkpolicy: remove unneeded tests before free() calls
checkpolicy: add missing strdup() failure checks
checkpolicy: remove unneeded malloc() casts
libsemanage: use 'bool' for boolean options
libsemanage: make expand-check a proper boolean option
Petr Lautrbach (9):
semanage-fcontext(8): improve -e documentation
restorecond: Add -F for run in foreground
restorecond.service: Use Type=simple
libselinux: do not discard const qualifier
libsemanage: Do not discard ‘const’ qualifier
libsemanage: Do not use vfork()
restorecond: Do not unlink pidfile if not used
Reformat all the code based on .clang-format
Update VERSIONs to 3.11-rc1 for release.
Rahul Sandhu (6):
libsepol: policydb_read(): use a static string for policydb_str
seunshare: guard fallible function calls by checking retval
cil_reference_guide: update specification for valid symbols
libsepol: check the number of elements in the avtab
libsepol: cil_policy: check at least one perm exists in a classperm
libselinux: restorecon: add_exclude: validate directory before deref
Stephen Smalley (49):
libselinux: Do not fall back to /selinux on a sysfs mount failure
sandbox/seunshare: pass O_NOFOLLOW to openat()
sandbox/seunshare: switch seunshare_mount_file() to use open()
sandbox/seunshare: fix error checking for setfsuid()
sandbox/seunshare: remount /tmp and /var/tmp with the proper flags
libsemanage/tests: fix const correctness for test_utilities
libselinux: update pywrap targets for modern python builds
python/sepolicy: update for modern python builds
libselinux: restorecon: revisit pinning files to avoid TOCTOU issues
restorecond: do not follow symlinks and do not relabel hard links
restorecond: NUL-terminate ut_user before use
sandbox/seunshare: prevent rsync from interpreting paths as options
sandbox/seunshare: fix getopt flags
sandbox/seunshare: prevent path traversal via -W/-P
sandbox/seunshare: verify RUNTIME_DIR before use
sandbox/seunshare: drop unused runuserdir_r
sandbox/seunshare: fix killall() realloc and missing type comparison
sandbox/seunshare: rewrite to pin directories before use
sandbox/seunshare: fully check setfsuid() calls
sandbox/seunshare: check owner in seunshare_mount_file()
sandbox/seunshare: fix fd_tmpdir_r check
libselinux: fix selinux_restorecon() error handling
libselinux: selinux_restorecon: write digests during traversal
dbus/selinux_server.py: validate policy config value
gui: do not load from cwd and properly quote inputs
restorecond: don't set gl_offs for glob()
restorecond: do not pass the same string to basename()/dirname()
restorecond: create a separate io channel callback for stdin
sandbox/seunshare: check for errors from parent drop_caps()
sandbox/seunshare: fix undefined behavior for child
sandbox/seunshare: drop -k/--kill support
mcstrans: prevent stack overflows
mcstrans: avoid size_t underflow
mcstrans: cap maximum category bits
mcstrans: continue on failed accept() or add_pollfd() calls
mcstrans: fix memory leak of sortable
mcstrans: fix after base classification pointer computation
mcstrans: fix error path leaks and NULL-derefs
mcstrans: only update maxbit for categories read from config
mcstrans: fix off-by-one in MAX_CATS / maxbit comparisons
mcstrans: check and handle NULL returns from create_*()
libselinux: selabel_subs_init(): do not read past terminating NUL byte
libselinux: load_mmap: avoid unmapping already merged mapping
libselinux: read_spec_entries(): handle nread == 0
libselinux: label_backends_android: preserve errors from process_line
libselinux: label_media/label_x: preserve errors from process_line
libselinux: label_backends_android: free prop
libselinux: label_x: do not leak memory on an invalid type
libselinux: label_support: move digest_add_specfile() bounds check
Thiébaud Weksteen (2):
libselinux: do not log on unexpected escaped character
libsepol: Fix off-by-one error in cats_ebitmap_len
Vit Mojzis (4):
libselinux: Ignore directories removed during relabeling
mcstrans: Fix translation for uncached entries
libsepol: Fix memory leak in role_dominates_copy_callback
checkpolicy/test: Show all options for dispol and dismod in -h
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-05 9:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-05 9:54 ANN: SELinux userspace 3.11-rc1 release Petr Lautrbach
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.