Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v252 batch up to 400261fd558c1c8d78926674f33f09438d51b455 #443

Merged
merged 37 commits into from
Oct 10, 2024

Conversation

bluca
Copy link
Member

@bluca bluca commented Sep 11, 2024

No description provided.

@bluca bluca changed the title v252 batch v252 batch up to 400261fd558c1c8d78926674f33f09438d51b455 Oct 10, 2024
mrc0mmand and others added 21 commits October 10, 2024 15:45
Since [0] delv no longer does that automagically, so we have to that
explicitly with each delv invocation.

Resolves: #30477

[0] isc-projects/bind9@c144fd2

(cherry picked from commit 438c7cb)
(cherry picked from commit d62f1bb)
(cherry picked from commit e7b9528)
(cherry picked from commit ddef180)
(cherry picked from commit d098b8df6e5c1b4c834272dd1397345483116db6)
(cherry picked from commit f6f96b05585ef3b05cef843a2c1cb2c55e77d3ba)
(cherry picked from commit 77ee2a8)
(cherry picked from commit 8096e23)
(cherry picked from commit 35628ef)
Unprivileged users often make themselves root by unsharing a user namespace
and then mapping their current user to root which does not require privileges.
Let's make sure our tests don't fail in such an environment by adding checks
where required to see if we're not running in a user namespace with only a
single user.

(cherry picked from commit ef31767ed7e21672a50b77e7b3935948aaba114c)
(cherry picked from commit ec5cdf9ba0e003de6f824a000c0bbe46fb4e0925)
(cherry picked from commit 4d4513c)
(cherry picked from commit 1c514e7)
(cherry picked from commit ff09fe5)
(cherry picked from commit 4cf7a676af9a79ff418227d8ff488dfca6f243ab)
(cherry picked from commit 2e52cf1df7f4a874331dcf607e0f4329ffb20bcd)
(cherry picked from commit db1d9bf)
(cherry picked from commit 244ca2d)
(cherry picked from commit 8bc9741)
Builds with kernels headers < 4.14 fail with:

../src/shared/loop-util.c: In function ‘loop_configure_fallback’:
../src/shared/loop-util.c:237:31: error: ‘LOOP_SET_BLOCK_SIZE’ undeclared (first use in this function); did you mean ‘LOOP_SET_DIRECT_IO’?
                 if (ioctl(fd, LOOP_SET_BLOCK_SIZE, (unsigned long) c->block_size) < 0)
                               ^~~~~~~~~~~~~~~~~~~
                               LOOP_SET_DIRECT_IO

Fixes: systemd/systemd#33341

Signed-off-by: Raphaël Mélotte <[email protected]>
(cherry picked from commit 56ab1c54497d9fac74380ff9e11aaf931a917d2b)
(cherry picked from commit 0730ec4f3ecbbb550864ff0dbadeeeb5e271eb50)
(cherry picked from commit ed087e8)
(cherry picked from commit e9e2923)
(cherry picked from commit 4e088c3)
When the bypass logic is invoked, such as for queries to the stub with
the DO bit set, be certain to clear the AD bit in the reply before
forwarding it if the answer is not known to be authentic.

(cherry picked from commit 13e15dae9f0b4566d3ea2ed058a5dd44751216da)
(cherry picked from commit 3a2be652282db2d55d5e28546e6c9a594fb8c43e)
(cherry picked from commit 6c243bb)
(cherry picked from commit edec5cc)
(cherry picked from commit f37f685)
Otherwise, when merging multiple directory trees, the output becomes
unreproducible as the directory timestamps will be changed to the current
time when copying identical directories from the second tree.

We introduce a new copy flag to achieve this behavior.

(cherry picked from commit d850a544bc1f895decb452160c97a884a20b12b7)
(cherry picked from commit d5640c4f8583de2752a7f4e03006a1fa74942da1)
(cherry picked from commit 7a3b3ad)
(cherry picked from commit 87cc4d9)
(cherry picked from commit 3adfd9f)
(cherry picked from commit 190a0953808608b099f9465f9e786e4efe276c26)
(cherry picked from commit c90ae08b0a5f2844504a109f71dcd773c16d8260)
(cherry picked from commit a3872e6)
(cherry picked from commit 4503a6d)
(cherry picked from commit 6dadc4e)
…rs= is specified

Also do not chown if a device node is bind-mounted.

Fixes #34243.

(cherry picked from commit efedb6b0f3cff37950112fd37cb750c16d599bc7)
(cherry picked from commit a23591891b9e85107f39d103eabbb5bc9a6ced6f)
(cherry picked from commit bc72d95)
(cherry picked from commit b431088)
(cherry picked from commit 675c577)
As the seed is used by context_load_partition_table() -> derive_uuid().

Fixes #34257.

(cherry picked from commit b8a8000aba4620a1d93ac1d04dbb86050d9c5fe8)
(cherry picked from commit f85a4fba330822c44f9b2deb527acecc03bcfed9)
(cherry picked from commit 175dafa)
(cherry picked from commit ed474d3)
(cherry picked from commit b859991)
For issue #34257.

(cherry picked from commit 56d6ebd40468e2a743b39ad7d87b0675bdf9a042)
(cherry picked from commit 69282da9aab90c2dc1e440b04af5b2163779515a)
(cherry picked from commit fbfe769)
(cherry picked from commit 1211e6c)
(cherry picked from commit 2fa6459)
git restore -s origin/main hwdb.d/ test/hwdb.d

(cherry picked from commit f13e3a93d7c2c549ff9a83cdbb04c30ab9e46bea)
(cherry picked from commit 799ecea)
(cherry picked from commit ea9af9d)
(cherry picked from commit e31a80d)
…tover unit

Force means force, we skip checks with PID1 for existing units, but
then bail out with EEXIST if the files are actually there. Overwrite
everything instead.

(cherry picked from commit 1e2d1a7202400e08a00782f32804fdc503259806)
(cherry picked from commit 2552348da2c961ac9732614eb129228bba4d51da)
(cherry picked from commit 5ce348a)
(cherry picked from commit 7bdcb23)
(cherry picked from commit 7778e24)
Closes #34478.

Co-authored-by: Mike Yuan <[email protected]>
(cherry picked from commit 144fbbac235b6b89d5d31795be1cc0dca9852ccc)
(cherry picked from commit 4bbd6f589ad97a0df6ab59e03c8c535d298d05eb)
(cherry picked from commit 04a5426)
(cherry picked from commit c70e657)
(cherry picked from commit a83ca1a)
(cherry picked from commit c07e10628b6add9ee9664956a28d3f727c9848f8)
(cherry picked from commit 308c93c51f85f1b6a5e6a3def951fa8e5643048d)
(cherry picked from commit 299c64d)
(cherry picked from commit 0dd6949)
(cherry picked from commit 232eeb1)
…tate

When a network is busy, an ARP may be received before the timer event
source triggered first time.

Fixes #34489.

(cherry picked from commit 146b44d0a0001712ced2f22ca76d242eedac26ad)
(cherry picked from commit 06eb9b14829f3a5819f6daefb09fdb855cd868f4)
(cherry picked from commit b054898)
(cherry picked from commit 8ed0c0b)
(cherry picked from commit 6449cd6)
Different device paths may resolve to same device node
(lookup_block_device()), e.g.
        IOReadBandwidthMax=/dev/sda1 18879
        IOReadBandwidthMax=/dev/sda2 18878
where both partitions resolve to /dev/sda and when these values are
applied (they are associated with original paths, i.e. as if applied for
different device) in the order from io_device_limits.

The parsing code prepends, so they end up in reverse order wrt config
file. Switch the direction so that the order of application matches the
order of configuration -- i.e. semantics in all other unit file
directives.

Apply same change to all directives that use per-device lists. (The
question whether partitions should be resolved to base device is
independent.)

And apply the changes equally to DBus properties write handlers.

Fixes #34126

(cherry picked from commit 0fa0dfa04465651a18107d503f9967f84bd761d1)
(cherry picked from commit 00dfa7964b5e48a37596207ad8b2862b157cffaf)
(cherry picked from commit f45acd0)
(cherry picked from commit 8846e21)
(cherry picked from commit 52ccb2d)
The type is a(ss), so a custom printer is required.

Fixes systemd/systemd#33967.

(cherry picked from commit 69c751c61cb2b386afe51f03b58f8f7ceeeb643e)
(cherry picked from commit 28ced52894cf6921d1fe9831f2def29de164e189)
(cherry picked from commit 64d833d)
(cherry picked from commit a28e7e9)
(cherry picked from commit f4a7ec3)
fix pointer constness in documentation

(cherry picked from commit fec09ff094670a6903b12b1c599b00b39a2b0c88)
(cherry picked from commit 072ea04e26c84ac25419316c659f4d89d8002f34)
(cherry picked from commit a422935)
(cherry picked from commit add0dca)
(cherry picked from commit a921cd8)
Let's systematically use RTL_NOW|RLTD_NODELETE as flags passed to
dlopen(), across our codebase.

Various distros build with "-z now" anyway, hence it's weird to specify
RTLD_LAZY trying to override that (which it doesn't). Hence, let's
follow suit, and just do what everybody else does.

Also set RTLD_NODELETE, which is apparently what distros will probably
end up implying sooner or later anyway. Given that for pretty much all
our dlopen() calls we never call dlclose() anyway, let's just set this
everywhere too, to make things systematic.

This way, the flags we use by default match what distros such as fedora
do, there are no surprises, and read-only relocations can be a thing.

Fixes: #34537
(cherry picked from commit bd4beaa2ebfbbec0a1263a7091a91e528ce8cf13)
(cherry picked from commit e012eedd727a38bd18c9a540b92b95aa880d2b42)
(cherry picked from commit 82019cc)
(cherry picked from commit 4d4e8b3)
(cherry picked from commit 5469d51)
The latest clang has started catching more integer promotions which
cause us to pass the wrong type to printf() format specifiers so let's
fix those.

(cherry picked from commit c73d14c43e7998ca54011875ad25afc634d57498)
(cherry picked from commit e129e3a8618b1b56f70978cb1db1d66a0fdcd573)
(cherry picked from commit 44e3f1c)
(cherry picked from commit 7b9f8e9)
(cherry picked from commit e9c2bd2)
lnykryn and others added 16 commits October 10, 2024 15:45
We had several users, that wrote their unit files with
WantedBy=default.target because it should be started "every time".
But for example in Fedora/CentOS/RHEL, this often breaks for
example selinux relabels (where we just want to do a relabel and reboot).

(cherry picked from commit 67b6404b80cf8078f3d9ec6d4c2f34ac25b15077)
(cherry picked from commit adc57cd81c02e5afc8efcbc64eb3a6305a97c62c)
(cherry picked from commit 02447d2)
(cherry picked from commit 3f7bf5a)
(cherry picked from commit f2fb29f)
Avoids the need to maintain the same list over and over again, and
link it to the defition table in the implementation as a reminder
too

(cherry picked from commit 3509fe124d3a4fe2934028f83ae156ade050c8fe)
(cherry picked from commit 1075727f7fe9436d2e468147cf663aaa1be867fd)
(cherry picked from commit 42521e2)
(cherry picked from commit e644a61)
(cherry picked from commit 3526368)
(cherry picked from commit 56f32d9e782f8ba43f17cb04687c915a7e41d10e)
(cherry picked from commit 5b5f5666b2fd32950325387a3e0bc0b60f0b1808)
(cherry picked from commit 7cc52eb)
(cherry picked from commit c3bcc2f)
(cherry picked from commit d3ec586)
Reported in #34126

(cherry picked from commit 321637743313f896e275fd038996b8cfb5a070b3)
(cherry picked from commit 84cd501ae4d2689ac39e510d1d33b7e3234f5199)
(cherry picked from commit 5184f86)
(cherry picked from commit 43202f5)
(cherry picked from commit 48b38de)
boot loader specification states:

architecture: refers to the architecture this entry is for. The argument
should be an architecture identifier, using the architecture vocabulary
defined by the EFI specification (i.e. IA32, x64, IA64, ARM, AA64, …).
If specified and it does not match the local system architecture this
entry should be hidden. The comparison should be done case-insensitively.

Example: architecture aa64

https://uapi-group.org/specifications/specs/boot_loader_specification/#type-1-boot-loader-entry-keys
(cherry picked from commit f819a516dbbddb16724f33dcef5badcb6fe8b80b)
(cherry picked from commit d65b7426e93e50c470173614c2eaca094f318ab5)
(cherry picked from commit 129c30b)
(cherry picked from commit a4577e3)
(cherry picked from commit 2641b10)
The disk/by-diskseq symlink should not be shared with multiple block
devices. Hence, it is not necessary to create stack directory for the
symlink that manages which device owns the symlink.

This is not just a optimization.
If a service unit tries to mount a disk image but the service fails, then
the diskseq of the loop device for the image may be continuously increased
during restart, and inodes in /run may increase rapidly, as the stack
directories are cleaned up only when udev queue is empty.

Fixes #34637.

(cherry picked from commit 09373c1a50297079e6b0447ea97af4e9a60f77fa)
(cherry picked from commit 02a5e5a32338869cc0ac352da81cf6d83da5c9e9)
(cherry picked from commit 54bc0da)
(cherry picked from commit 67216d2)
(cherry picked from commit cc2523a)
(cherry picked from commit 88d186e4829bc7ef4a4253fe2bf4857903bca830)
(cherry picked from commit 7b9e412d8aba8f415f35d02da5e5fa5bd92632cc)
(cherry picked from commit d0569c4)
(cherry picked from commit 42f7d15)
(cherry picked from commit 916fb2d)
laccess is our own macro that uses RET_NERRNO.

(cherry picked from commit 7c1dd9e288047a69d4a6a6dd6585725410cfdadd)
(cherry picked from commit 4296a567d48ee43917b4f338fa1e927ffd53b36b)
(cherry picked from commit 9cf6035)
(cherry picked from commit 8770e09)
(cherry picked from commit 6c14211)
- avoid stripping debug symbols and creating dbgsym packages
- avoid LTO, slows down build a lot
- avoid compressing packages, they are thrown out immediately after use
- avoid building udeb packages, not needed

(cherry picked from commit 7eedcb4)
(cherry picked from commit 81930bc)
(cherry picked from commit b070eb9)
(cherry picked from commit d737ef1)
Instead of fixing the commit, we can workaround the adduser issue by
simply creating a user manually beforehand, which means the broken
codepath in autopkgtest is not taken. We can remove it once it's
fixed upstream, which is in progress:

https://salsa.debian.org/ci-team/autopkgtest/-/merge_requests/297
(cherry picked from commit 8b7485c)
(cherry picked from commit 4f4cd7c)
(cherry picked from commit 9b47039)
(cherry picked from commit 9642f72)
Offending commit has been reverted, so it's no longer necessary:

https://salsa.debian.org/ci-team/autopkgtest/-/commit/90167696914889efa782aac3f1f44ab68498c529

Follow-up for 8b7485c

(cherry picked from commit 2bbe5ca)
(cherry picked from commit 030f72f)
(cherry picked from commit 55ee831)
(cherry picked from commit 2bfe1e1)
Builds have been failing as we run out of space in /tmp/, move to
/var/tmp

(cherry picked from commit 0c7b5dad33ee01b7ff6b7a8c583a7e2c27ac0673)
(cherry picked from commit bc0102b0caacb97041ada0b0dbca40da09eab453)
(cherry picked from commit 82baa27)
(cherry picked from commit f19a717)
(cherry picked from commit 57572e2)
This slows down the build, which is often near the 1hr limit. There are
other jobs running the extra unit tests.

(cherry picked from commit 3bc5480bac474263881e4c5919d5cce0debf3c40)
(cherry picked from commit 52afaa8034f59dda44ec181e79604a9a222e60ad)
(cherry picked from commit 3891c50)
(cherry picked from commit 0c82cc2)
(cherry picked from commit e8ced00)
There are other CI runs that build manpages, speed up build which is close to 1hr limit

(cherry picked from commit d58a904d35d3abcb7265b28b14aac596631e27d6)
(cherry picked from commit 966d8a90ca44659123c15e3a7e7d498aa2b50510)
(cherry picked from commit 0c6e525)
(cherry picked from commit ece14d9)
(cherry picked from commit 7efc395)
This feature has been deprecated since QEMU 5.0 and finally removed in
QEMU 9.1 [0] which now causes issues when running the storage tests on
latest Arch:

------ testcase_long_sysfs_path: BEGIN ------
...
qemu-system-x86_64: -device virtio-blk-pci,drive=drive0,scsi=off,bus=pci_bridge25: Property 'virtio-blk-pci.scsi' not found
E: qemu failed with exit code 1

[0] qemu/qemu@a271b8d

(cherry picked from commit cd57920fbf6a8f7769a82cfc9bebc12965de0199)
(cherry picked from commit c5baa5d9d9d778aee25b751387c60f43a0a6fb74)
(cherry picked from commit 192a6e9)
(cherry picked from commit 1d24510)
(cherry picked from commit 1a20768)
On jammy it started to fail, it's not really needed and we install
an empty stub anyway, so just mask the generator

(cherry picked from commit 565916c)
(cherry picked from commit dfb007f)
(cherry picked from commit 85cc6a4)
@bluca bluca merged commit 8c2b721 into systemd:v252-stable Oct 10, 2024
32 of 34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.