Luca Boccassi [Wed, 15 Feb 2023 18:11:21 +0000 (18:11 +0000)]
NEWS: finalize
Luca Boccassi [Wed, 15 Feb 2023 19:08:36 +0000 (19:08 +0000)]
Merge pull request #26427 from bluca/hwdb
Update news and hwdb
Luca Boccassi [Wed, 15 Feb 2023 18:05:43 +0000 (18:05 +0000)]
hwdb: update
Luca Boccassi [Wed, 15 Feb 2023 18:03:15 +0000 (18:03 +0000)]
NEWS: update contributors list
Luca Boccassi [Wed, 15 Feb 2023 00:44:01 +0000 (00:44 +0000)]
cryptsetup: do not assert when unsealing token without salt
Salt was added in v253. We are not checking whether it was actually found
(non-zero size), so when an old tpm+pin enrollment is opened things go boom.
For good measure, check both the buffer and the size in both places.
Assertion 'saltlen > 0' failed at src/shared/tpm2-util.c:2490, function tpm2_util_pbkdf2_hmac_sha256(). Aborting.
Yu Watanabe [Wed, 15 Feb 2023 16:59:08 +0000 (01:59 +0900)]
ukify: fix padding length
Luca Boccassi [Wed, 15 Feb 2023 17:03:59 +0000 (17:03 +0000)]
Merge pull request #26417 from yuwata/sysusers-root-group
sysusers: also create root group
Yu Watanabe [Wed, 15 Feb 2023 15:10:18 +0000 (00:10 +0900)]
Merge pull request #26424 from ldv-alt/fix-typos
Fix a few typos in NEWS, docs and comments
Raul Tambre [Wed, 15 Feb 2023 14:21:21 +0000 (16:21 +0200)]
man/tc: Fix hexadecimals being with an O
Dmitry V. Levin [Wed, 15 Feb 2023 08:00:00 +0000 (08:00 +0000)]
treewide: fix a few typos in NEWS, docs and comments
Yu Watanabe [Wed, 15 Feb 2023 10:17:54 +0000 (19:17 +0900)]
NEWS: mention that the default mDNS mode is now "yes"
C.f. issue #25252, PR #25255, and
RHBZ#
2169786 (https://bugzilla.redhat.com/show_bug.cgi?id=
2169786).
Dmitry V. Levin [Wed, 15 Feb 2023 08:00:00 +0000 (08:00 +0000)]
src: fix several typos in log messages
Yu Watanabe [Wed, 15 Feb 2023 01:49:14 +0000 (10:49 +0900)]
test-sysusers: add test for basic.conf
Yu Watanabe [Wed, 15 Feb 2023 01:29:07 +0000 (10:29 +0900)]
sysusers: also add root group
Follow-up for
49bb7fe5f88fc35b8529d7d8dfcd4c151a9aaf1a.
Fixes an issue reported at
https://github.com/systemd/systemd/pull/26270#issuecomment-
1428945403.
Jean-Tiare Le Bigot [Tue, 14 Feb 2023 22:40:38 +0000 (23:40 +0100)]
hwdb: Add HP ENVY x360 2-in-1
Since #26144, RFKILL events are disabled for HP ENVY x360 Convertible.
This commit adds a variation of the name.
Mike Gilbert [Tue, 14 Feb 2023 19:46:25 +0000 (14:46 -0500)]
bootctl: avoid using __WORDSIZE macro
__WORDSIZE does not seem to be documented anywhere, and is probably
meant to be used internally by glibc headers.
In systemd, it was only being used in warning messages. We can avoid
using it by rewording the messages slightly.
Fixes a build error with musl libc.
Bug: https://bugs.gentoo.org/894430
Yu Watanabe [Thu, 2 Feb 2023 18:15:13 +0000 (03:15 +0900)]
core/execute: fix comment
Yu Watanabe [Wed, 15 Feb 2023 01:08:16 +0000 (10:08 +0900)]
tree-wide: fix typo and comment style update
Daan De Meyer [Mon, 13 Feb 2023 13:27:24 +0000 (14:27 +0100)]
test-boot-timestamp: Handle ERANGE error
Timestampfs from sysfs files can be zero in which case ERANGE will
be returned so let's make sure we catch that.
Jan Janssen [Sun, 12 Feb 2023 19:23:18 +0000 (20:23 +0100)]
boot: Ensure raise() is not dropped by LTO
Daan De Meyer [Sun, 12 Feb 2023 17:16:06 +0000 (18:16 +0100)]
mkosi: Stop installing kernel headers to /usr
The selftests automatically pick up the headers from the kernel
build directory so we don't have to install them to /usr ourselves.
Yu Watanabe [Sun, 12 Feb 2023 08:33:41 +0000 (17:33 +0900)]
Merge pull request #26400 from ml-/fix-directory-and-typos
Fix directory for user home bind mounts in log error and man page
ml [Sat, 11 Feb 2023 23:54:07 +0000 (00:54 +0100)]
man: fix typos
ml [Sat, 11 Feb 2023 23:30:28 +0000 (00:30 +0100)]
man: fix directory for user home bind mounts
ml [Sat, 11 Feb 2023 23:22:52 +0000 (00:22 +0100)]
nspawn: fix directory in logged error
Jan Macku [Sat, 11 Feb 2023 06:38:28 +0000 (07:38 +0100)]
ci(labeler): fix missing emoji in `dont-merge` label
Jan Macku [Sat, 11 Feb 2023 06:35:07 +0000 (07:35 +0100)]
ci(labeler): fix missing emoji in `quick-review` label
Luca Boccassi [Fri, 10 Feb 2023 17:12:31 +0000 (17:12 +0000)]
NEWS: update date
Zbigniew Jędrzejewski-Szmek [Fri, 10 Feb 2023 17:05:17 +0000 (18:05 +0100)]
Merge pull request #26392 from bluca/news
Update hwdb and news
Lennart Poettering [Fri, 10 Feb 2023 15:03:46 +0000 (16:03 +0100)]
dissect-image: unknown/unsupported diskseq is indicated by 0, not by UINT64_MAX
At almost all places if diskseq is not supported we encode this as
diskseq zero. But in two places we got the check for that wrong,
assuming it was UINT64_MAX.
Fix that.
Luca Boccassi [Fri, 10 Feb 2023 16:17:24 +0000 (16:17 +0000)]
hwdb: update database
Luca Boccassi [Fri, 10 Feb 2023 16:14:06 +0000 (16:14 +0000)]
NEWS: update contributors list
Lennart Poettering [Fri, 10 Feb 2023 12:38:08 +0000 (13:38 +0100)]
core: when isolating to a unit, also keep units running that are triggered by units we keep running
Inspired by: #26364
(this might even "fix" #26364, but without debug logs it's hard to make
such claims)
Fixes: #23055
Samuel Cabrero [Fri, 10 Feb 2023 13:04:27 +0000 (14:04 +0100)]
userdb: Use json_dispatch_user_group_name() to parse GetMembership fields
It allows to relax the checks and allow characters like '\', used by
windows to split the domain name and user name.
For reference, discussion in the systemd-devel mailing list:
https://lists.freedesktop.org/archives/systemd-devel/2023-February/048804.html
Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Daan De Meyer [Fri, 10 Feb 2023 14:33:31 +0000 (15:33 +0100)]
mkosi: Use globs instead of prepare script to install extra packages
This allows us to install everything in the same dnf command instead
of having to use a prepare script to run dnf from within the image.
This is a hack until mkosi supports release specific dropin files.
Luca Boccassi [Fri, 10 Feb 2023 14:23:16 +0000 (14:23 +0000)]
Merge pull request #26387 from bluca/swapon_util_linux
README/NEWS: note that we now explicitly require util-linux's swapon due to new option
Luca Boccassi [Fri, 10 Feb 2023 12:00:21 +0000 (12:00 +0000)]
NEWS: note that we require a swapon that supports --fixpgsz
Luca Boccassi [Fri, 10 Feb 2023 11:58:20 +0000 (11:58 +0000)]
README: explicitly note that util-linux's mount/swap are required
These are the most visible and hard requirements, as we use options that
busybox does not provide, so list them explicitly to avoid surprises
Yu Watanabe [Fri, 10 Feb 2023 09:22:57 +0000 (18:22 +0900)]
cryptenroll: drop deadcode
Follow-up for
b0fc23fae51d244d2c33d70c10003aa5d5840223.
After the commit, 'signature_path' is now always non-NULL, hence the
condition can be dropped.
Fixes CID#
1504492.
Daan De Meyer [Thu, 9 Feb 2023 08:53:05 +0000 (09:53 +0100)]
mkosi: Update to latest
Let's make sure we're testing unprivileged builds properly. Usage
of SourceFileTransfer= and SourceFileTransferFinal= are removed as
they were dropped by mkosi. SourceFileTransfer=mount is now the
default in mkosi so behavior for the build script is unchanged. We
stop copying sources in the final image until mkosi adds support
for virtiofs.
Jan Janssen [Thu, 9 Feb 2023 20:03:14 +0000 (21:03 +0100)]
boot: Fix undefined reference to raise() on arm
This is just a workaround. Once we drop gnu-efi, the arm build system
for EFI binaries should be changed to use the arm-none-eabi toolchain,
which should not exhibit this behavior.
Zbigniew Jędrzejewski-Szmek [Thu, 9 Feb 2023 13:50:47 +0000 (14:50 +0100)]
various: boldify version output
Follow-up for
4453ebe4db0511d25bed1040930ea6430c1bed91.
With the feature list all dandified, the most important part of the
output, i.e. the project name and version, are less visible.
Daan De Meyer [Thu, 9 Feb 2023 09:53:16 +0000 (10:53 +0100)]
boot: Make sure we take --root into account everywhere.
Luca Boccassi [Thu, 9 Feb 2023 14:45:40 +0000 (14:45 +0000)]
Merge pull request #26377 from keszybz/doc-fixups-2
Fix links in man pages
Zbigniew Jędrzejewski-Szmek [Thu, 9 Feb 2023 13:30:43 +0000 (14:30 +0100)]
man: fix links to man pages
Done using linkchecker as usual.
Zbigniew Jędrzejewski-Szmek [Thu, 9 Feb 2023 13:04:26 +0000 (14:04 +0100)]
man: fix section number
Fixes #26376.
Luca Boccassi [Wed, 8 Feb 2023 23:06:27 +0000 (23:06 +0000)]
units: change assert to condition to skip running in initrd/os
These units are also present in the initrd, so instead of an assert,
just use a condition so they are skipped where they need to be skipped.
Fixes https://github.com/systemd/systemd/issues/26358
Daan De Meyer [Thu, 9 Feb 2023 09:44:35 +0000 (10:44 +0100)]
bootctl: Add missing %m
Luca Boccassi [Thu, 9 Feb 2023 10:04:14 +0000 (10:04 +0000)]
Merge pull request #26366 from yuwata/nss-myhostname
nss-myhostname: two fixlets
Yu Watanabe [Wed, 8 Feb 2023 21:07:13 +0000 (06:07 +0900)]
nss-myhostname: do not return empty result with NSS_STATUS_SUCCESS
Fixes a bug introduced by
db50d326a46beca3cc24b6354b6e1b3591902d45.
Fixes RHBZ#
2167468 (https://bugzilla.redhat.com/show_bug.cgi?id=
2167468).
Yu Watanabe [Wed, 8 Feb 2023 20:55:42 +0000 (05:55 +0900)]
nss-myhostname: fix inverted condition in
Fixes a bug introduced by
db50d326a46beca3cc24b6354b6e1b3591902d45.
Luca Boccassi [Wed, 8 Feb 2023 20:25:10 +0000 (20:25 +0000)]
Merge pull request #26354 from bluca/news
NEWS: add future incompatible changes notice
Lennart Poettering [Wed, 8 Feb 2023 17:02:27 +0000 (18:02 +0100)]
process-util: add missing error check
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 16:31:45 +0000 (17:31 +0100)]
hwdb: add override for IdeaPad5 insert key
Fixes #25968.
I wrote the rule to assume that all IdeaPad5 thingies are like that.
Luca Boccassi [Wed, 8 Feb 2023 19:36:21 +0000 (19:36 +0000)]
Merge pull request #26225 from qdeslandes/fix_delegate_cgroup_logs_filtering
Fix delegate cgroup logs filtering
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 15:17:30 +0000 (16:17 +0100)]
ukify: add explanatory message when import fails
Lennart Poettering [Wed, 8 Feb 2023 10:05:46 +0000 (11:05 +0100)]
journal: modernize sd_journal_get_realtime_usec() a bit
This does what
404803e6caad2de2d8e74caab0b79ec3f030f801 did for the
monotonic timestamp getter, but for the realtime timestamp.
It also also makes the return value optional, exactly as for the
monotonic timestamp logic.
Luca Boccassi [Wed, 8 Feb 2023 13:38:38 +0000 (13:38 +0000)]
NEWS: note about future implicit PrivateUsers= in user units
Luca Boccassi [Wed, 8 Feb 2023 17:05:16 +0000 (17:05 +0000)]
Merge pull request #26350 from keszybz/reload-messages
Improve messages emitted when Reload or Reexec is requested
Geert Lorang [Wed, 8 Feb 2023 16:10:28 +0000 (17:10 +0100)]
docs/NETWORK_ONLINE: fix example
Type=oneshot is necessary for systemd to actually wait for the service
to return. With RemainAfterExit=yes it won't be started again.
Fixes #26342.
Quentin Deslandes [Thu, 26 Jan 2023 18:44:10 +0000 (19:44 +0100)]
journald: fix ignored filtering patterns for delegated cgroups
If a service defines Delegate=yes, its subcgroup won't inherit the
LogFilterPatterns= option, because the option is stored on the unit's
cgroup attributes, not on the subcgroup.
Fixed by using the unit's cgroup attributes instead.
Quentin Deslandes [Thu, 26 Jan 2023 18:39:08 +0000 (19:39 +0100)]
core: add cg_path_get_unit_path()
From a given cgroup path, cg_path_get_unit() allows to retrieve the
unit's name. Although, this removes the path to the unit's cgroup,
preventing the result to be used to fetch xattrs.
Introduce cg_path_get_unit_path() which provides the path to the unit's
cgroup. This function behave similarly to cg_path_get_unit() (checking
the validity and escaping the unit's name).
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 10:58:23 +0000 (11:58 +0100)]
sd-bus: adjust line breaks
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 10:36:22 +0000 (11:36 +0100)]
manager: improve message about Reload/Reexec requests
If we fail to get the necessary information, let's just not print that
part of the message. 'n/a' looks pretty ugly.
I used a bunch of ternary operators instead of seperate log lines because
with two components that might or might not be there, we need four different
combinations.
Also, the unit name doesn't need to be quoted, it's always printable.
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 10:30:13 +0000 (11:30 +0100)]
manager: "downgrade" message about command vanishing from the unit file
We would print "Current command vanished from the unit file, execution of
the command list won't be resumed." as a warning, but most of the time there
is nothing to resume, because a unit has just one command. So let's detect
the case where the command that was active is the last command in the sequence
and skip the warning.
I was considering how to store the information that the command is last. An
important consideration is not to use a format that would confuse older versions
of systemd. (It wouldn't be a big problem if older systemd just refused the
new serialization, since we require systemd to be newer, but we should avoid
the case where the deserialization is "successful", but actually incorrect.)
Similarly, the deserialization from the old systemd must not confuse new systemd.
For this command, we have a list of arguments at the end, so just adding a
new field either in the middle or at the end is problematic because it's hard
to ensure that we don't mix up the positional and variable arguments.
We actually need to store just one bit of information, so '+' is prefixed on
the index of the last command and used by new systemd to skip the warning.
When deserializing from older systemd, '+' is not present, so we detect all
commands as "not last", and still emit the warning, so we err on the side of
caution. If the user were to deserialize from newer to older systemd, nothing
untoward would happen, because the '+' is ignored. (Users shouldn't do this,
but we know that this occasionally happens with initrds or exitrds and package
downgrades.)
Luca Boccassi [Wed, 8 Feb 2023 13:38:15 +0000 (13:38 +0000)]
NEWS: copy future incompatible changes notice from 252
These are in the future, so it's good to re-emphasize on every release until they
actually happen
Jan Macku [Wed, 8 Feb 2023 12:02:49 +0000 (13:02 +0100)]
ci: Add names to steps in labeler workflow
This makes it easier to see what step failed/was skipped in the GitHub
Actions UI. It also makes future debugging easier.
Fabian Gurtner [Thu, 2 Feb 2023 09:28:23 +0000 (10:28 +0100)]
hwdb: Add HP Envy x360 Convertible 15-cn0xxx to existing entry
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 09:54:49 +0000 (10:54 +0100)]
test-parse-util: add tests with explicit plus character
I expected this to work, but our tests did not cover this
explicitly.
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 08:40:24 +0000 (09:40 +0100)]
core/service: constify ExecCommand* in two functions
Luca Boccassi [Wed, 8 Feb 2023 00:25:00 +0000 (00:25 +0000)]
core: imply DeviceAllow=/dev/tpmrm0 with LoadCredentialEncrypted
If the device access policy is restricted, add implicitly access to the TPM
if at least one encrypted credential needs to be loaded.
Fixes https://github.com/systemd/systemd/issues/26042
Luca Boccassi [Wed, 8 Feb 2023 02:10:28 +0000 (02:10 +0000)]
cryptenroll: do not implicitly verify with default tpm policy signature
If it was not requested to use a tpm2 signature file when enrolling, do
not fallback to the default /run/systemd/tpm2-pcr-signature.json as it
likely will be unrelated if it exists.
Fixes https://github.com/systemd/systemd/issues/25435
msizanoen1 [Tue, 7 Feb 2023 13:17:21 +0000 (20:17 +0700)]
unit: always return 1 in log_kill
This ensures that cg_kill_items returns the correct value to let the
manager know that a process was killed.
Zbigniew Jędrzejewski-Szmek [Wed, 8 Feb 2023 07:57:05 +0000 (08:57 +0100)]
Merge pull request #26328 from yuwata/udev-worker-set-process-name
udev: set worker process name
Lennart Poettering [Tue, 7 Feb 2023 10:06:31 +0000 (11:06 +0100)]
journal: minor modernizations
Luca Boccassi [Tue, 7 Feb 2023 19:36:27 +0000 (19:36 +0000)]
Merge pull request #26337 from poettering/journal-display-ts
logs-show: rename "ts" paramater/variable to "display_ts"
Luca Boccassi [Tue, 7 Feb 2023 19:35:56 +0000 (19:35 +0000)]
Merge pull request #26336 from poettering/journal-etoomanyrefs
journal: print nicer log message when limit of open journal files during display is hit
Luca Boccassi [Tue, 7 Feb 2023 19:33:07 +0000 (19:33 +0000)]
Merge pull request #26335 from keszybz/dns-not-found
resolve: adjust message for NXDOMAIN lookup result
drosdeck [Tue, 7 Feb 2023 12:14:59 +0000 (09:14 -0300)]
Fix Positivo-vaio VJPW12F11X key toggle touchpad
Zbigniew Jędrzejewski-Szmek [Tue, 7 Feb 2023 15:27:06 +0000 (16:27 +0100)]
Merge pull request #26338 from jamacku/fix-labeling
ci: Fix automatic removing of labels when PR is closed
Jan Macku [Tue, 7 Feb 2023 14:40:47 +0000 (15:40 +0100)]
ci: remove `if: github.event.issue.pull_request` from `labeler.yml`
`github.event.issue.pull_request` is an object, not a boolean.
This is the root cause of why the step that is supposed to remove labels
is always skipped. Having this condition in place is not necessary since
the workflow is run on the `pull_request_target` event.
Lennart Poettering [Tue, 7 Feb 2023 10:20:24 +0000 (11:20 +0100)]
logs-show: rename "ts" paramater/variable to "display_ts"
When displaying log data we deal with two kind of timestamps: the one we
use for display (typically the source timestamp if available), and the
one we use internally (typically the reception timestamp of journald).
The user-facing output modes generally use the display timestamp, the
ones intended for further processing (i.e. json + export outputs) do
not, and directly query the timestamps of the entry, ignoring the
source. This gets a bit confusing, since it's not always clear why we
use which timestamp where. Let's address that by renaming the generic
"ts" parameter/variable to "display_ts" to emphasize that the stored
timestamp are "corrected" timestamps for display only.
No real code change, just some renaming.
Jan Macku [Tue, 7 Feb 2023 14:39:37 +0000 (15:39 +0100)]
ci: fix missing quotes in `labeler.yml`
Lennart Poettering [Tue, 7 Feb 2023 14:11:52 +0000 (15:11 +0100)]
update TODO
Lennart Poettering [Tue, 7 Feb 2023 14:03:45 +0000 (15:03 +0100)]
journal: print a useful error message if we hit the journal file open limit
See: #20921
Zbigniew Jędrzejewski-Szmek [Tue, 7 Feb 2023 13:43:48 +0000 (14:43 +0100)]
resolve: adjust message for NXDOMAIN lookup result
Previously, we reported:
nx.example.org: resolve call failed: 'nx.example.org' not found
But the call did succeed, and in fact all communication with the upstream
servers was successful, and we got an authoritative negative answer.
So instead of saying that the call fail, just say that the host doesn't exist:
nx.example.org: Name 'nx.example.org' not found
I wanted to keep the prefix of "<name>: ", to keep the output uniform. But
it'd look a bit strange to say "<name>: <name> not found", so I added "Name "
to make the output more readable. (Another option would be to not display
the error string received from resolved, but that seems risky: even if right
now resolved uses just one message format, it could start doing something else
in the future, so it's better to display the error as received.)
Fixes #26233.
Zbigniew Jędrzejewski-Szmek [Tue, 7 Feb 2023 13:38:28 +0000 (14:38 +0100)]
resolve: define normal macros for BUS_ERROR_DNS error codes
This result is identical after cpp is done, so we don't save anything
by not having the usual macros. And with the usual macros it's easier to
grep and code-crossreferencing works better.
Yu Watanabe [Tue, 7 Feb 2023 05:33:06 +0000 (14:33 +0900)]
tree-wide: set FORK_RLIMIT_NOFILE_SAFE flag
No functional changes, just refactoring.
Yu Watanabe [Tue, 7 Feb 2023 05:16:11 +0000 (14:16 +0900)]
udevd: configure a child process name for worker processes
This effectively reverts commit
ff86c92e3043f71fc801cf687600a480ee8f6778,
and re-apply
49f3ee7e74c714f55aab395c080b1099fc17f7fd.
The change was dropped due to the process name was not correctly logged,
but the issue was fixed by
dd15e4cb57129b915e01495e113696bfe0b70214.
Let's set the child process name again.
Yu Watanabe [Tue, 7 Feb 2023 03:08:07 +0000 (12:08 +0900)]
Merge pull request #26324 from yuwata/argv-util-update-short-name
argv-util: also update short invocation name
Yu Watanabe [Tue, 7 Feb 2023 03:07:45 +0000 (12:07 +0900)]
Merge pull request #26322 from keszybz/log-errno-fix
Log errno fix
Yu Watanabe [Tue, 7 Feb 2023 03:07:21 +0000 (12:07 +0900)]
Merge pull request #26321 from keszybz/flex-arrays
Enable new compiler diagnostics for invalid array accesses
Yu Watanabe [Tue, 7 Feb 2023 03:06:49 +0000 (12:06 +0900)]
Merge pull request #26320 from keszybz/operator-whitespace
Drop whitespace after shell redirection operators
Topi Miettinen [Mon, 6 Feb 2023 20:29:50 +0000 (20:29 +0000)]
NEWS: fix typo
Lennart Poettering [Mon, 6 Feb 2023 10:53:05 +0000 (11:53 +0100)]
update TODO
Yu Watanabe [Fri, 3 Feb 2023 09:29:36 +0000 (18:29 +0900)]
argv-util: also update program_invocation_short_name
Our logging uses program_invocation_short_name. Without this patch,
logs from forked client may become broken; spuriously truncated or
the short invocation name is not completely shown in the log.
Yu Watanabe [Mon, 6 Feb 2023 13:49:35 +0000 (22:49 +0900)]
test: use notice log level to make easily filter out logs from PID1
Zbigniew Jędrzejewski-Szmek [Mon, 6 Feb 2023 08:46:55 +0000 (09:46 +0100)]
meson: enable -Wzero-length-bounds
This will warn if fake flexible arrays are re-introduced. I'm not using
-Werror=… because we may still get warnings when compiling against old kernel
headers. We can crank this up to error later.
Zbigniew Jędrzejewski-Szmek [Sun, 5 Feb 2023 19:44:19 +0000 (20:44 +0100)]
meson: enable -Warray-bounds and -fstrict-flex-arrays
-fstrict-flex-arrays means that the compiler doesn't have to assume that any
trailing array is a flex array. I.e. unless the array is declared without a
specified size, only indices in the declared range are valid.
-Warray-bounds turns on the warnings about out-of-bounds array accesses.
-Warray-bounds=2 does some more warnings, with higher false positive rate. But
it doesn't seem to yield any false positives in our codebase, so enable it.
clang supports -Warray-bounds, but not -Warray-bounds=2.
gcc supports both.
gcc-13 supports -fstrict-flex-arrays.
See https://people.kernel.org/kees/bounded-flexible-arrays-in-c for a long
discussion of use in the kernel.
Zbigniew Jędrzejewski-Szmek [Mon, 6 Feb 2023 11:03:09 +0000 (12:03 +0100)]
shared/json: avoid use of fake flex array