SELinux Security Module development
 help / color / mirror / Atom feed
* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox