Commit graph

5417 commits

Author SHA1 Message Date
Carlo Marcelo Arenas Belón
4d3b040b58 libselinux: improve performance with pcre matches am: 72806f3933 am: 0470684f9e
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2411194

Change-Id: I20bcafd279e50e1354fb1e56d40c799ce26b9777
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-03 12:48:47 +00:00
Carlo Marcelo Arenas Belón
0470684f9e libselinux: improve performance with pcre matches am: 72806f3933
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2411194

Change-Id: I7249eccb5eb1029f753e2d5d2723ce2799ddbd1a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-03 12:19:25 +00:00
Carlo Marcelo Arenas Belón
72806f3933 libselinux: improve performance with pcre matches
Since 30b3e9d2 (libselinux: Workaround for heap overhead of pcre,
2023-01-12), performance of PCRE2 matches has been affected due to
excesive recreation of the match_data in an attempt to reduce memory
utilization; instead of a workaround, it would be better to address
the problem and maybe even improve performance in the process.

The issue is that currently the structure that holds PCRE state has
both a pcre2_code (which is per pattern) and a pcre2_match_data (which
is per match), forcing us to add a mutex to prevent multiple matches to
step on each other.

Lets remove the match_data and the mutex and instead allocate one once
in a thread independent way that could be used and reused, by extending
our pthread interface to not only store TLS variables but also retrieve
them, and then use one of those.

Since we are not interested on the capture groups (if any) lets only
allocate 1 pair which is all that will be needed and change the logic
so that a return of 0 (which means the pattern matched but there were
not enough capture spots) is also considered a match.

This will ensure that the memory use would be bound to the number of
concurrent matches instead of the number of patterns and therefore
reduce the impact that recent changes on the way that the frames used
for matching are allocated might had brough since 10.41 was released.

For cases where threads are not available, just keep it working in slow
mode as done before the workaround was reverted.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>

cherry picked from:
https://patchwork.kernel.org/project/selinux/patch/20230123014047.84911-3-carenas@gmail.com/

Bug: 262469329
Test: atest MicrodroidBenchmarkApp
Change-Id: I3207c6dd2a215f81699aa62e8fcdf65c745bae72
2023-02-02 13:07:40 +09:00
Charles Chen
750dfdf1e7 Merge "Integrate isIsolatedComputeApp selection logics for secontexts" am: fc29fffbde am: 40de9fcf53 am: 9a79d0d04b
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2391312

Change-Id: Ibc418b111bc9e2ac27c69f5fb8719430926ad50e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-01 21:31:16 +00:00
Charles Chen
9a79d0d04b Merge "Integrate isIsolatedComputeApp selection logics for secontexts" am: fc29fffbde am: 40de9fcf53
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2391312

Change-Id: I2afc69f11d821db08eaf07ebb1d0ca9b4dadd3e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-01 20:45:02 +00:00
Charles Chen
40de9fcf53 Merge "Integrate isIsolatedComputeApp selection logics for secontexts" am: fc29fffbde
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2391312

Change-Id: Ifeb21fbbc841e35a56b6ed32dc14ae5abe3ed631
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-01 18:29:01 +00:00
Charles Chen
fc29fffbde Merge "Integrate isIsolatedComputeApp selection logics for secontexts" 2023-02-01 17:34:34 +00:00
Jason Zaman
b5f01626fe ci: bump to python 3.11 in GitHub Actions
- Also drop py3.5, py3.6 since they are no longer supported in the
  github 22.04 runners

Signed-off-by: Jason Zaman <jason@perfinion.com>
2023-02-01 16:48:21 +01:00
Christian Göttsche
4622ac0064 mcstrans: preserve runtime directory
Do not remove the runtime directory /run/setrans/, which is the parent
for the security context translation socket .setrans-unix, when the
service is stopped, so the path can not be taken over by a foreign
program, which could lead to a compromise of the context translation of
libselinux.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-02-01 15:58:41 +01:00
Charles Chen
48c968d184 Integrate isIsolatedComputeApp selection logics for secontexts
Enables processes with :IsolatedComputeApp set to be selected by seapp contexts with isIsolatedComputeApp selector.

Bug: 265540209
Bug: 265746493
Test: m && atest --host libselinux_test with change on android_unittest.cpp
Change-Id: I44f33bdd17454586708cbff2631ecd6725e53087
2023-01-26 15:09:19 +00:00
Treehugger Robot
28042faefb Merge "Revert "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH"" am: a40fe12235 am: fc94ac452f am: 7d485ff377
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2396432

Change-Id: I37cb2b12141e6c0ea6dab2ddc18429b9ddeccf2b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-20 07:15:03 +00:00
Treehugger Robot
7d485ff377 Merge "Revert "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH"" am: a40fe12235 am: fc94ac452f
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2396432

Change-Id: Ic69fd7cceaf6f0734061e2e498048dde14543134
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-20 06:38:33 +00:00
Treehugger Robot
fc94ac452f Merge "Revert "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH"" am: a40fe12235
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2396432

Change-Id: Ibb94f170e065d96842e0bfc50abc7f51395f1d93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-20 05:50:51 +00:00
Treehugger Robot
a40fe12235 Merge "Revert "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH"" 2023-01-20 05:13:32 +00:00
Inseob Kim
50fe98a771 Revert "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH"
This reverts commit 6ffce0a0e3.

Reason for revert: b/266107191

Change-Id: I89e072c384f951637c130d7d2f5515ecc07a74f0
2023-01-20 00:26:44 +00:00
Treehugger Robot
f72b7ade28 Merge "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH" am: 2529ea6e51 am: 12017ba4ef am: 20bb1268bb
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2394772

Change-Id: Iae252e85a855aff2a24f6103bb4afb69d5302e4c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 13:44:50 +00:00
David Brazdil
083e1b3aa1 Merge "Make libselinux_bindgen visible to all Virtualization targets" am: 2eb09c5d74 am: 0e12e86f8c am: 97c00171be
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2387092

Change-Id: I3410f6b7a72e321a42c1904f5095aabd73834a2c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 13:42:08 +00:00
Treehugger Robot
20bb1268bb Merge "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH" am: 2529ea6e51 am: 12017ba4ef
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2394772

Change-Id: I044e7e7e9d3d22af4f3caac450b34a8abb8fce5a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 13:01:18 +00:00
David Brazdil
97c00171be Merge "Make libselinux_bindgen visible to all Virtualization targets" am: 2eb09c5d74 am: 0e12e86f8c
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2387092

Change-Id: I8952e2cc62b18d13b76275ca4480e93716951f0e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 13:00:47 +00:00
Treehugger Robot
12017ba4ef Merge "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH" am: 2529ea6e51
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2394772

Change-Id: Ia9cc36890133c0e6e429031971d0c035cd86f366
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 12:30:29 +00:00
David Brazdil
0e12e86f8c Merge "Make libselinux_bindgen visible to all Virtualization targets" am: 2eb09c5d74
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2387092

Change-Id: I02cb5fdd92c1e5f95d743492d9b590d39cbf2d58
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-19 12:30:12 +00:00
Treehugger Robot
2529ea6e51 Merge "Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH" 2023-01-19 12:07:55 +00:00
David Brazdil
2eb09c5d74 Merge "Make libselinux_bindgen visible to all Virtualization targets" 2023-01-19 11:50:50 +00:00
Inseob Kim
6ffce0a0e3 Set AGGRESSIVE_FREE_AFTER_REGEX_MATCH
This is to workaround a regression on peak memory usage, due to a
behavior change of pcre2. With this patch, peak memory usage decreases
for about 4 MB.

Also verified with microdroid benchmarks that the runtime impact is
negligible.

Before this patch:

testMicrodroidBootTime[protectedVm=false]:
    avf_perf/microdroid/boot_time_average_ms: 1072.2437260666668
    avf_perf/microdroid/boot_time_max_ms: 1153.957195
    avf_perf/microdroid/boot_time_min_ms: 987.760254
    avf_perf/microdroid/boot_time_stdev_ms: 43.715968392943445
testMicrodroidBootTime[protectedVm=true]:
    avf_perf/microdroid/boot_time_average_ms: 1318.7790113333335
    avf_perf/microdroid/boot_time_max_ms: 1367.490967
    avf_perf/microdroid/boot_time_min_ms: 1239.080486
    avf_perf/microdroid/boot_time_stdev_ms: 33.82832311810135

After this patch:

testMicrodroidBootTime[protectedVm=false]:
    avf_perf/microdroid/boot_time_average_ms: 1074.9152321333336
    avf_perf/microdroid/boot_time_max_ms: 1172.233481
    avf_perf/microdroid/boot_time_min_ms: 971.020793
    avf_perf/microdroid/boot_time_stdev_ms: 45.3782260524823
testMicrodroidBootTime[protectedVm=true]:
    avf_perf/microdroid/boot_time_average_ms: 1286.4607849333333
    avf_perf/microdroid/boot_time_max_ms: 1380.643678
    avf_perf/microdroid/boot_time_min_ms: 1209.573649
    avf_perf/microdroid/boot_time_stdev_ms: 44.44544241596637

Bug: 262469329
Test: atest MicrodroidBenchmarks
Test: run device boot time test
Change-Id: Ifc1be381255c263638ea262b995bc06fa3c7bdcc
2023-01-19 10:21:29 +09:00
Inseob Kim
4ae0e084f4 Merge remote-tracking branch 'aosp/upstream-master' into HEAD am: ad990cb28b am: 156b5f8785 am: 73ca382fab
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2390532

Change-Id: I5bfc2fb2b99f4c729b68d446b47a808606ea9fe8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-16 08:40:49 +00:00
Inseob Kim
73ca382fab Merge remote-tracking branch 'aosp/upstream-master' into HEAD am: ad990cb28b am: 156b5f8785
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2390532

Change-Id: Id307003a36cf0be620e79c115f319c1b52d60a26
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-16 08:03:33 +00:00
Inseob Kim
156b5f8785 Merge remote-tracking branch 'aosp/upstream-master' into HEAD am: ad990cb28b
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2390532

Change-Id: Iff4f6ece65d3354ee03ea6272a1ba647f334566f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-01-16 07:27:38 +00:00
Inseob Kim
ad990cb28b Merge remote-tracking branch 'aosp/upstream-master' into HEAD
Bug: 262469329
Test: build and boot cuttlefish
Change-Id: Ic97540265491a501cd89f40f46bf1f97d6a753e2
2023-01-16 13:45:35 +09:00
Jason Zaman
3ccea01c69
Update VERSIONs to 3.5-rc2 for release.
Signed-off-by: Jason Zaman <jason@perfinion.com>
2023-01-15 15:40:55 -08:00
lujiev
27e1c7c8e9 checkpolicy: delete invalid spaces
Closes: https://github.com/SELinuxProject/selinux/pull/372
Signed-off-by: lujiev <572084868@qq.com>
Acked-by: Jason Zaman <jason@perfinion.com>
2023-01-15 14:52:25 -08:00
Inseob Kim
30b3e9d25f libselinux: Workaround for heap overhead of pcre
pcre's behavior is changed so that pcre2_match always allocates heap for
match_data, rather than stack, regardless of size. The heap isn't freed
until explicitly calling pcre2_match_data_free. This new behavior may
result in heap overhead, which may increase the peak memory usage about
a few megabytes. It's because regex_match is first called for regex_data
objects, and then regex_data objects are freed at once.

To workaround it, free match_data as soon as we call regex_match. It's
fine because libselinux currently doesn't use match_data, but use only
the return value.

Signed-off-by: Inseob Kim <inseob@google.com>
Acked-by: Jason Zaman <jason@perfinion.com>
2023-01-15 14:17:15 -08:00
Vit Mojzis
7506771e4b python/sepolicy: add missing booleans to man pages
get_bools should return a list of booleans that can affect given type,
but it did not handle non trivial conditional statements properly
(returning the whole conditional statement instead of a list of booleans
in the statement).

e.g. for
allow httpd_t spamc_t:process transition; [ httpd_can_check_spam && httpd_can_sendmail ]:True
get_bools used to return [("httpd_can_check_spam && httpd_can_sendmail", False)] instead of
[("httpd_can_check_spam", False), ("httpd_can_sendmail", False)]

- rename "boolean" in sepolicy rule dictionary to "booleans" to suggest
  it can contain multiple values and make sure it is populated correctly
- add "conditional" key to the rule dictionary to accommodate
  get_conditionals, which requires the whole conditional statement
- extend get_bools search to dontaudit rules so that it covers booleans
  like httpd_dontaudit_search_dirs

Note: get_bools uses security_get_boolean_active to get the boolean
      value, but the value is later used to represent the default.
      Not ideal, but I'm not aware of a way to get the actual defaults.

Fixes:
        "sepolicy manpage" generates man pages that are missing booleans
        which are included in non trivial conditional expressions
        e.g. httpd_selinux(8) does not include httpd_can_check_spam,
        httpd_tmp_exec, httpd_unified, or httpd_use_gpg

        This fix, however, also adds some not strictly related booleans
        to some man pages. e.g. use_nfs_home_dirs and
        use_samba_home_dirs are added to httpd_selinux(8)

Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
Acked-by: Jason Zaman <jason@perfinion.com>
2023-01-15 14:12:34 -08:00
David Brazdil
c8c407b1a9 Make libselinux_bindgen visible to all Virtualization targets
Bug: 245727626
Test: builds
Change-Id: I0057c4a222a5247a4e83c5398e39473574b46507
2023-01-12 21:12:30 +00:00
Christian Göttsche
986a3fe27e libsepol: do not write empty class definitions
Do not write class definitions for classes without any permission and
any inherited common class.  The classes are already declared in
write_class_decl_rules_to_conf().  Skipping those empty definitions,
which are equal to the corresponding class declarations, will enable to
parse the generated policy conf file with checkpolicy, as checkpolicy
does not accept class declarations after initial sid declarations.

This will enable simple round-trip tests with checkpolicy.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-01-11 08:48:19 -05:00
Christian Göttsche
b32e85cf67 Correct misc typos
Found by codespell(1) and typos[1].

[1]: https://github.com/crate-ci/typos

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-01-11 08:45:08 -05:00
Petr Lautrbach
d0b3d89c11 sepolicy: Make generated boolean descriptions translatable
Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-01-11 08:43:54 -05:00
Christian Göttsche
fa936a0a30 libsepol: reject attributes in type av rules for kernel policies
The kernel does not support type attributes as source or target in type
av rules (type_transition, type_member, type_change)[1].  Such rules
should have been expanded[2].

[1]: abe3c63144/security/selinux/ss/services.c (L1843)
[2]: 0a8c177dac/libsepol/src/expand.c (L1981)

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-01-11 08:43:09 -05:00
kkz
60a0d7285d sepolicy: fix a spelling mistake
Signed-off-by: zhaoshuang <zhaoshuang@uniontech.com>
Signed-off-by: zhaoshuang <izhaoshuang@163.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-01-11 08:42:11 -05:00
Jie Lu
1fe82e5cf5 policycoreutils: fix potential NULL reference in load_checks
In load_checks(), add return check for malloc() to avoid NULL reference.

Signed-off-by: Jie Lu <lujie54@huawei.com>
Acked-by: James Carter <jwcart2@gmail.com>
2023-01-11 08:40:33 -05:00
Jason Zaman
013ecfd7fa Update VERSIONs to 3.5-rc1 for release.
Signed-off-by: Jason Zaman <jason@perfinion.com>
2022-12-22 13:10:26 -08:00
Jason Zaman
d1e3170556 python: Ignore installed when installing to DESTDIR
When installing to a destdir with pip install --prefix= --root=, pip tries to
uninstall the existing root-owned package and fails

Fixes:
python3 -m pip install --prefix=/usr `test -n "/tmp/selinux-release//build-master" && echo --root /tmp/selinux-release//build-master`  .
Processing /tmp/selinux-release/selinux-master/python/sepolicy
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: sepolicy
  Building wheel for sepolicy (setup.py) ... done
  Created wheel for sepolicy: filename=sepolicy-3.4-py3-none-any.whl size=1663564 sha256=229546db123e7d84613d190d49c192291b1a4f7f2a037657b39283b04ac391a4
  Stored in directory: /tmp/pip-ephem-wheel-cache-50r2x4cn/wheels/b2/9e/63/6a6212a84d65a709923228719d065ed34e66a90c7fed01e8cf
Successfully built sepolicy
Installing collected packages: sepolicy
  Attempting uninstall: sepolicy
    Found existing installation: sepolicy 3.4
    Uninstalling sepolicy-3.4:
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: 'generate.py'
Consider using the `--user` option or check the permissions.

Signed-off-by: Jason Zaman <jason@perfinion.com>
Acked-by: Petr Lautrbach <lautrbach@redhat.com>
2022-12-22 08:59:05 -08:00
Jason Zaman
daf687247a libselinux: Ignore installed when installing python bindings to DESTDIR
When the python bindings are installed to a destdir with pip install
--prefix= --root=, pip tries to uninstall the existing root-owned
package and fails

Fixes:
running build_ext
python3 -m pip install --prefix=/usr `test -n "/tmp/selinux-release//build-master" && echo --root /tmp/selinux-release//build-master`  .
Processing /tmp/selinux-release/selinux-master/libselinux/src
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: selinux
  Building wheel for selinux (setup.py) ... done
  Created wheel for selinux: filename=selinux-3.4-cp310-cp310-linux_x86_64.whl size=725511 sha256=b35e9cdb2a6efce389eeece45446826b4ac6b41f81fdc128893f947036f27e8e
  Stored in directory: /tmp/pip-ephem-wheel-cache-kemjh99e/wheels/ca/2d/1e/d1ab52426d9add92931471cfa0d2558bcbeed89084af2388c9
Successfully built selinux
Installing collected packages: selinux
  Attempting uninstall: selinux
    Found existing installation: selinux 3.4
    Uninstalling selinux-3.4:
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '__init__.cpython-310.pyc'
Consider using the `--user` option or check the permissions.

Signed-off-by: Jason Zaman <jason@perfinion.com>
Acked-by: Petr Lautrbach <lautrbach@redhat.com>
2022-12-22 08:58:30 -08:00
Petr Lautrbach
4f9e836f98 Use pip install instead of setup.py install
Fixes:
    /usr/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 17:09:27 -05:00
James Carter
2a91411d7f Revert "Use pip install instead of setup.py install"
This reverts commit 2c3b818f5d.

An earlier version of the patch was commited by mistake.

Signed-off-by: James Carter <jwcart2@gmail.com>
2022-12-16 17:08:58 -05:00
Petr Lautrbach
7ff1d7f1c2 sepolicy: Call os.makedirs() with exist_ok=True
Since commit 7494bb1298 ("sepolicy: generate man pages in parallel")
man pages are generated in parallel and there's a race between
os.path.exists() and os.makedirs().

The check os.path.exists() is not necessary when os.makedirs() is called
with exist_ok=True.

Fixes:
/usr/bin/sepolicy manpage -a -p /__w/usr/share/man/man8/ -w -r /__w/
FileExistsError: [Errno 17] File exists: '/__w/usr/share/man/man8/'

Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 16:43:48 -05:00
Petr Lautrbach
98c637c4cc python: Fix detection of sepolicy.glade location
Commit c08cf24f39 ("python: Remove dependency on the Python module
distutils") replace usage of distutils.sysconfig by sysconfig but it was
forgotten on the fact that the later provide a different api.

Fixes:
    self.code_path = sysconfig.get_python_lib(plat_specific=False) + "/sepolicy/"
                     ^^^^^^^^^^^^^^^^^^^^^^^^
    AttributeError: module 'sysconfig' has no attribute 'get_python_lib'

Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 16:43:41 -05:00
Petr Lautrbach
a9517c3896 sepolicy: Switch main selection menu to GtkPopover
Fixes: https://github.com/SELinuxProject/selinux/issues/206

Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 16:43:17 -05:00
Jie Lu
4c47f92758 libselinux:add check for malloc
Add return check for regex_data_create() to avoid NULL reference of regex_data

(gdb) bt
 #0  0x00007fbde5caec14 in pthread_mutex_init () from /usr/lib64/libc.so.6
 #1  0x00007fbde5e3a489 in regex_data_create () at regex.c:260
 #2  0x00007fbde5e3a4af in regex_prepare_data (regex=regex@entry=0x7fbde4613770, pattern_string=pattern_string@entry=0x563c6799a820 "^/home$", errordata=errordata@entry=0x7ffeb83fa950) at regex.c:76
 #3  0x00007fbde5e32fe6 in compile_regex (errbuf=0x0, spec=0x7fbde4613748) at label_file.h:407
 #4  lookup_all (key=0x563c679974e5 "/var/log/kadmind.log", type=<optimized out>, partial=partial@entry=false, match_count=match_count@entry=0x0, rec=<optimized out>, rec=<optimized out>)
     at label_file.c:949
 #5  0x00007fbde5e33350 in lookup (rec=<optimized out>, key=<optimized out>, type=<optimized out>) at label_file.c:1092
 #6  0x00007fbde5e31878 in selabel_lookup_common (rec=0x563c67998cc0, translating=1, key=<optimized out>, type=<optimized out>) at label.c:167

Signed-off-by: Jie Lu <lujie54@huawei.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 16:32:04 -05:00
Vit Mojzis
c84b977b17 libsemanage: Use more conscious language
https://inclusivenaming.org/word-lists/tier-1/

Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 16:30:19 -05:00
Vit Mojzis
1d33c911f5 checkpolicy: Improve error message for type bounds
Make the error message consistent with other occurrences of the
same issue:
https://github.com/SELinuxProject/selinux/blob/master/checkpolicy/module_compiler.c#L243
https://github.com/SELinuxProject/selinux/blob/master/checkpolicy/module_compiler.c#L488

Signed-off-by: Vit Mojzis <vmojzis@redhat.com>
Acked-by: James Carter <jwcart2@gmail.com>
2022-12-16 16:29:55 -05:00