1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-23 21:35:11 +03:00
Commit Graph

42882 Commits

Author SHA1 Message Date
Anita Zhang
024941a521
Merge pull request #14351 from yuwata/util-constify-strv-xxx
util: constify arguments of strv_xxx()
2019-12-16 18:08:04 -08:00
Yu Watanabe
78f8849f84 udev: extend the length of ID_NET_NAME_XXX= to ALTIFNAMSIZ 2019-12-17 11:04:11 +09:00
Lennart Poettering
861f178905 efivars: properly NUL terminate EFI variables when reading
A follow-up for 35b9eb0a72.
2019-12-16 15:35:31 +01:00
Thomas Haller
e40b4caa1f basic/tmpfile: avoid maybe-uninitialized warning in mkostemp_safe()
The variable is always initialized, but the compiler might not notice
that. With gcc-9.2.1-1.fc31:

    $ CFLAGS='-Werror=maybe-uninitialized -Og' meson build
    $ ninja -C build
    [...]
    ../src/basic/tmpfile-util.c: In function ‘mkostemp_safe’:
    ../src/basic/tmpfile-util.c:76:12: error: ‘fd’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       76 |         if (fd < 0)
          |            ^
2019-12-16 14:25:31 +01:00
Zbigniew Jędrzejewski-Szmek
b742942edf TODO: drop entry
Implemented in 7d1e91d1a9.
2019-12-16 14:19:49 +01:00
Zbigniew Jędrzejewski-Szmek
e51712963b shared/install: log syntax error for invalid DefaultInstance=
Ideally, we would want to report this over back over dbus. But that is pretty hard,
because the unitfile parsing logic doesn't provide any feedback.
systemd-analyze verify also doesn't notice the issue, because it doesn't look
at the [Install] section at all. Let's print a message in the logs at least.
2019-12-16 14:19:49 +01:00
Benjamin Dahlhoff
cb180b09fa Added Trekstor Primetab S11B 2019-12-16 11:18:05 +01:00
Yu Watanabe
3771024c24
Merge pull request #14354 from poettering/link-fix
two trivial doc fixes
2019-12-16 18:06:33 +09:00
Lennart Poettering
da7667518b docs: CSS files should not be executable 2019-12-16 09:50:02 +01:00
Lennart Poettering
90d81ee966 github: use systemd.io links in issue template 2019-12-16 09:49:51 +01:00
Lennart Poettering
c84d9b3b71
Merge pull request #14261 from keszybz/loop-utils-and-efivars
Fixes for networkd, shared/loop-util, basic/efivars
2019-12-16 09:27:46 +01:00
Lennart Poettering
3b5cd25f4d
Merge pull request #14196 from keszybz/gpt-auto-generator-debugging
gpt-auto-generator debugging
2019-12-16 09:24:02 +01:00
Lennart Poettering
32b7cdc14c
Merge pull request #14350 from yuwata/network-udev-altnames-support
network, udev: add altname support
2019-12-16 09:15:23 +01:00
Yu Watanabe
479ddcdf5a util: constify arguments of strv_xxx() 2019-12-16 15:51:04 +09:00
Yu Watanabe
7a2f6fb6f1 test-network: pass environment variables to networkctl 2019-12-16 10:56:02 +09:00
Yu Watanabe
6934ace05d test-network: add a test case for netdev altname 2019-12-16 10:56:02 +09:00
Yu Watanabe
511070ee95 networkctl: show alternative names 2019-12-16 10:56:02 +09:00
Yu Watanabe
572b21d96c network: make Name= in [Match] support alternative names of interfaces 2019-12-16 10:55:56 +09:00
Yu Watanabe
a5053a158b udev: support AlternativeName= setting in .link file 2019-12-16 10:52:22 +09:00
Yu Watanabe
4252696aec util: introduce ifname_valid_full() 2019-12-16 10:52:22 +09:00
Yu Watanabe
d08d92d5ee test: add a test for sd_netlink_message_{append,read}_strv() 2019-12-16 10:52:22 +09:00
Yu Watanabe
6d725977c4 sd-netlink: introduce sd_netlink_message_append_strv() 2019-12-16 10:52:22 +09:00
Yu Watanabe
8f3c185966 sd-netlink: introduce sd_netlink_message_read_strv()
The combination of sd_netlink_message_enter_container() and
sd_netlink_message_read_string() only reads the last element if the attribute is
duplicated, such a situation easily happens for IFLA_ALT_IFNAME.
The function introduced here reads all matched attributes.
2019-12-16 10:52:17 +09:00
Zbigniew Jędrzejewski-Szmek
0181314861 shared/loop-util: spin on open() returning ENOENT too
https://github.com/systemd/systemd/pull/14261#discussion_r355001559
2019-12-15 21:06:42 +01:00
Zbigniew Jędrzejewski-Szmek
35b9eb0a72 basic/efivars: do not return EIO if an efivar read is shorten than fstat size
On my machine stat returns size 22, but only 20 bytes are read:

openat(AT_FDCWD, "/sys/firmware/efi/efivars/LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f", O_RDONLY|O_NOCTTY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
read(3, "\6\0\0\0", 4)                  = 4
read(3, "7\0001\0001\0003\0005\0002\0007\0\0\0", 18) = 16
Failed to read LoaderTimeInitUSec: Input/output error

Let's just accept that the kernel is returning inconsistent results.
It seems to happen two only two variables on my machine:
/sys/firmware/efi/efivars/LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
/sys/firmware/efi/efivars/LoaderTimeMenuUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
so it might be related to the way we write them.
2019-12-15 21:06:42 +01:00
Zbigniew Jędrzejewski-Szmek
a97abb30e7 shared/efi-loader: add some debugging statements
Should make it easier to figure out why some operations fail...
2019-12-15 21:06:42 +01:00
Zbigniew Jędrzejewski-Szmek
f2d9213fee shared/loop-util: spin on LOOP_CTL_REMOVE
If we call LOOP_CLR_FD and LOOP_CTL_REMOVE too rapidly, the kernel cannot deal
with that (5.3.13-300.fc31.x86_64 running on dual core
Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz).

$ sudo strace -eioctl build/test-dissect-image /tmp/foobar3.img
ioctl(3, TCGETS, 0x7ffcee47de20)        = -1 ENOTTY (Inappropriate ioctl for device)
ioctl(4, LOOP_CTL_GET_FREE)             = 9
ioctl(5, LOOP_SET_FD, 3)                = 0
ioctl(5, LOOP_SET_STATUS64, {lo_offset=0, lo_number=0, lo_flags=LO_FLAGS_READ_ONLY|LO_FLAGS_AUTOCLEAR|LO_FLAGS_PARTSCAN, lo_file_name="", ...}) = 0
ioctl(5, BLKGETSIZE64, [299999744])     = 0
ioctl(5, CDROM_GET_CAPABILITY, 0)       = -1 EINVAL (Invalid argument)
ioctl(5, BLKSSZGET, [512])              = 0
Waiting for device (parent + 0 partitions) to appear...
Found root partition, writable of type btrfs at #-1 (/dev/block/7:9)
ioctl(5, LOOP_CLR_FD)                   = 0
ioctl(3, LOOP_CTL_REMOVE, 9)            = -1 EBUSY (Device or resource busy)
Failed to remove loop device: Device or resource busy

This seems to be clear race condition, and attaching strace is generally enough
to "win" the race. But even with strace attached, we will fail occasionally.
Let's wait a bit and retry. With the wait, on my machine, the second attempt
always succeeds:

...
Found root partition, writable of type btrfs at #-1 (/dev/block/7:9)
ioctl(5, LOOP_CLR_FD)                   = 0
ioctl(3, LOOP_CTL_REMOVE, 9)            = -1 EBUSY (Device or resource busy)
ioctl(3, LOOP_CTL_REMOVE, 9)            = 9
+++ exited with 0 +++

Without the wait, all 64 attempts will occasionally fail.
2019-12-15 21:06:42 +01:00
Zbigniew Jędrzejewski-Szmek
e8af3bfd63 shared/loop-util: fix error handling in loop_device_make_full()
The function no longer returns the fd. This complicated semantics, because it
wasn't clear what holds the ownership: the return value or the output
parameter.  There were no users of the fd in the return value, so let's
simplify things conceptually and only return the fd once.

Reduce the scope of variables.

LOOP_CLR_FD was called on the wrong fd. Let's use a cleanup function to make
this automatic and reduce chances of a mixup in the future.

CID 1408498.
2019-12-15 21:06:42 +01:00
Yu Watanabe
ffeb16f5d8 sd-netlink: support IFLA_PROP_LIST and IFLA_ALT_IFNAME attributes 2019-12-16 04:37:50 +09:00
Yu Watanabe
d3678e3a0b linux: update headers 2019-12-16 04:37:50 +09:00
Jin Park
d9ceeb9fe7 Add Acer Spin 1 SP111-33 to sensor hwdb 2019-12-15 19:21:38 +01:00
Hans de Goede
c8bf87b339 hwdb: Add accel orientation quirk for Thundersoft TST168 tablet
Add a quirk to fix the accelerometer orientation on the Thundersoft
TST168 tablet.
2019-12-15 12:28:22 +00:00
Yu Watanabe
4ef289250f test-network: add a test case for new FQ settings 2019-12-14 12:33:37 +09:00
Zbigniew Jędrzejewski-Szmek
d7ceaf7261 shared/install: provide a nicer error message for invalid WantedBy=/Required= values
$ build/systemctl --user cat badinstall
 # /home/zbyszek/.config/systemd/user/badinstall.service
[Service]
ExecStart=true

[Install]
WantedBy=asdf

$ build/systemctl --user enable badinstall
Failed to enable unit: "asdf" is not a valid unit name.

Fixes #4209.
2019-12-13 19:30:36 +01:00
Zbigniew Jędrzejewski-Szmek
d9c1c43e67 shared/install: remove duplicated check
install_info_add() does the exact same check.
2019-12-13 19:30:36 +01:00
Yu Watanabe
e83562e51e network: tc: add more settings for FQ 2019-12-13 23:36:17 +09:00
Lennart Poettering
d0556c55e7 nspawn: fix overlay with automatic temporary tree
This makes --overlay=+/foobar::/foobar work again, i.e. where the middle
parameter is left out. According to the documentation this is supposed
to generate a temporary writable work place in the midle. But it
apparently never did. Weird.
2019-12-13 15:11:38 +01:00
Tobias Bernard
be3e4467d4
Merge pull request #14333 from poettering/markdown-header-fixes
docs: make sure there's only one # markdown header in each file
2019-12-13 12:01:59 +01:00
Lennart Poettering
ff2c2d0850 docs: make sure there's only one # markdown header in each file
@bertob wants us to be strict here, and only have one "#" header per
markdown file, and use "##" (or "###", …) for all others. Interestingly,
we mostly got this right already, but this fixes a few cases where this
wasn't correct.
2019-12-13 11:56:08 +01:00
Lennart Poettering
db8728a60c blockdev-util: rework get_block_device()
Let's open the specified path once, and use the same fd for all lookups.
Also, don't check for btrfs twice.

The behaviour remains unmodified.
2019-12-13 18:38:35 +09:00
Yu Watanabe
2e048b14eb
Merge pull request #13915 from ddstreet/ipv6_mtu
Set ipv6 mtu after link-up or device mtu change
2019-12-13 18:33:04 +09:00
Yu Watanabe
f7c79f0911
Merge pull request #14320 from yuwata/network-tc-fq_codel-more
network: tc: introduce more FQ-CoDel settings
2019-12-13 11:09:36 +09:00
Lennart Poettering
a724732208
Merge pull request #14269 from DaanDeMeyer/enable-mounts-on-root
nspawn: Enable specifying root as the mount target directory.
2019-12-13 00:05:38 +01:00
Daan De Meyer
bd6609eb11 nspawn-mount: Use FLAGS_SET to check flags. 2019-12-12 20:18:37 +01:00
Daan De Meyer
5530dc87f2 nspawn: Only bind-mount directory when necessary. 2019-12-12 20:15:10 +01:00
Daan De Meyer
e091a5dfd1 nspawn-mount: Remove unused parameters 2019-12-12 20:15:10 +01:00
Daan De Meyer
5f0a6347ac nspawn: Enable specifying root as the mount target directory.
Fixes #3847.
2019-12-12 20:15:03 +01:00
Christian Ehrhardt
eae1ef076d test: increase qemu timeout for TEST-08 and TEST-09
These tests two have shown to be flaky in Ubuntu test infrastructure,
but got more reliable with increased timeouts of 300 seconds each.

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2019-12-12 19:42:04 +01:00
Shengjing Zhu
679ecd3616 nspawn: allow combination of private-network and network-namespace-path
Fixes: #14289
2019-12-12 19:26:32 +01:00
Lennart Poettering
3e761fe2c9
Merge pull request #14321 from yuwata/network-generator-14319
network-generator: allow empty hostname
2019-12-12 17:52:09 +01:00