1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-06 13:17:44 +03:00
Backports of patch from systemd git to stable distributions
Go to file
Siddhesh Poyarekar 70653ebeb6 Use dummy allocator to make accesses defined as per standard
systemd uses malloc_usable_size() everywhere to use memory blocks
obtained through malloc, but that is abuse since the
malloc_usable_size() interface isn't meant for this kind of use, it is
for diagnostics only.  This is also why systemd behaviour is flaky when
built with _FORTIFY_SOURCE.

One way to make this more standard (and hence safer) is to, at every
malloc_usable_size() call, also 'reallocate' the block so that the
compiler can see the larger size.  This is done through a dummy
reallocator whose only purpose is to tell the compiler about the larger
usable size, it doesn't do any actual reallocation.

Florian Weimer pointed out that this doesn't solve the problem of an
allocator potentially growing usable size at will, which will break the
implicit assumption in systemd use that the value returned remains
constant as long as the object is valid.  The safest way to fix that is
for systemd to step away from using malloc_usable_size() like this.

Resolves #22801.

(cherry picked from commit 7929e180aa)
(cherry picked from commit 34b9eddfc1)
2023-01-23 12:10:19 +01:00
.clusterfuzzlite ci: unpin CFLite 2022-04-26 09:13:57 +00:00
.github mkosi: work around a file conflict between systemd and systemd-boot 2022-12-16 16:06:15 +00:00
.lgtm/cpp-queries ci: pack-ify our custom CodeQL queries and enable them in Actions 2021-12-07 14:57:09 +01:00
.semaphore semaphore: remove the Semaphore repositories recursively 2022-11-08 00:09:18 +01:00
catalog catalog,po: update Polish translation 2022-05-15 17:42:36 +01:00
coccinelle coccinelle: automatically look for timestamp_is_set candidates 2022-02-22 22:47:12 +01:00
docs Revert "initrd: extend SYSTEMD_IN_INITRD to accept non-ramfs rootfs" 2022-12-14 17:27:04 +01:00
factory meson: also allow setting GIT_VERSION via templates 2022-04-05 22:18:31 +02:00
hwdb.d parse_hwdb: allow negative value for EVDEV_ABS_ properties 2022-11-08 00:09:18 +01:00
LICENSES network: license all config files as CC0 2022-01-12 16:05:59 +01:00
man Revert "cryptsetup: support keyfile-timeout for using a device as the key file" 2022-12-22 17:30:53 +01:00
mkosi.default.d mkosi: pull in libbpf1 instead of legacy libbpf0 on debian 2022-12-14 23:27:59 +00:00
modprobe.d meson: install the right README file in modprobe.d 2021-07-07 14:52:05 +02:00
network network: add example file that enables DHCP on ethernet links 2022-01-12 16:05:59 +01:00
po catalog,po: update Polish translation 2022-05-15 17:42:36 +01:00
presets units: enable systemd-network-generator by default 2021-12-16 09:49:39 +01:00
rules.d udev: rework 60-evdev.rules to be "additive" 2022-12-14 18:22:53 +01:00
shell-completion bash-completion: add systemd-dissect support 2022-10-24 20:49:45 +02:00
src Use dummy allocator to make accesses defined as per standard 2023-01-23 12:10:19 +01:00
sysctl.d meson: also allow setting GIT_VERSION via templates 2022-04-05 22:18:31 +02:00
sysusers.d meson: also allow setting GIT_VERSION via templates 2022-04-05 22:18:31 +02:00
test test-network: add test for bond mac address config 2022-12-14 17:55:12 +01:00
tmpfiles.d meson: Sort lines in tmpfiles.d/meson.build 2022-05-03 20:46:16 +02:00
tools Merge pull request #23246 from medhefgo/check-compilation 2022-05-05 01:53:28 +03:00
units units: change Requires=systemd-networkd.service → BindsTo= one more time 2022-12-14 17:52:19 +01:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format clang-format: we actually typically use 16ch continuation indentation 2022-02-22 17:32:50 +01:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig docs: configure editorconfig for css and html 2022-05-17 21:13:17 +02:00
.gitattributes gitattributes: introduce and use "generated" attribute 2021-10-18 09:42:55 +02:00
.gitignore emacs: ignore .dir-locals-2.el (personal customization) versioning 2022-07-13 13:12:31 +02:00
.lgtm.yml Revert "lgtm: disable cpp/missing-return (again)" 2022-04-16 10:59:29 +00:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop/replace deprecated directives 2022-12-16 16:06:14 +00:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure tools: shellcheck-ify tool scripts 2021-09-30 12:27:06 +02:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson_options.txt manager: optionally, do a full preset on first boot 2022-08-09 13:02:00 +02:00
meson.build namespace: Add hidepid/subset support check 2022-11-08 00:09:18 +01:00
mkosi.build mkosi: Ensure we build all features/components in mkosi 2022-11-08 00:09:18 +01:00
mkosi.postinst mkosi: Ensure we build all features/components in mkosi 2022-11-08 00:09:18 +01:00
NEWS NEWS: finalize 2022-05-21 12:55:07 +01:00
README README: fix typo 2022-05-18 08:29:17 +02:00
README.md README: rawhide -> Rawhide 2022-04-06 23:14:21 +09:00
TODO Update TODO 2022-05-17 17:47:38 +01:00

Systemd

System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Language Grade: C/C++
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
CentOS CI - Rawhide (SELinux)
Fossies codespell report
Coverage Status
Packaging status

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Code Map for information about this repository's layout and content.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.