Summary: | systemd-networkd: dhcp client not working (invalid argument) | ||
---|---|---|---|
Product: | systemd | Reporter: | Markus Rathgeb <maggu2810> |
Component: | general | Assignee: | systemd-bugs |
Status: | RESOLVED WONTFIX | QA Contact: | systemd-bugs |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | ARM | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Markus Rathgeb
2014-09-26 13:44:02 UTC
Used version is 216. I used strace to get more details what is going on: child_stack=0xb6cf6f58, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb6cf7488, tls=0xb6cf78e0, child_tidptr=0xb6cf7488) = 184 [pid 184] set_robust_list(0xb6cf7490, 12 <unfinished ...> [pid 183] open("/dev/urandom", O_RDONLY|O_NOCTTY|O_LARGEFILE|O_CLOEXEC <unfinished ...> [pid 184] <... set_robust_list resumed> ) = 0 [pid 183] <... open resumed> ) = 9 [pid 184] madvise(0xb64f8000, 8364032, MADV_DONTNEED <unfinished ...> [pid 183] read(9, <unfinished ...> [pid 184] <... madvise resumed> ) = 0 [pid 183] <... read resumed> "T\237Td", 4) = 4 [pid 184] exit(0) = ? [pid 183] close(9) = 0 [pid 184] +++ exited with 0 +++ socket(PF_PACKET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 9 setsockopt(9, SOL_PACKET, PACKET_AUXDATA, [1], 4) = 0 setsockopt(9, SOL_SOCKET, SO_ATTACH_FILTER, "-\0\226|\250\325\353\276", 8) = -1 EINVAL (Invalid argument) close(9) = 0 writev(2, [{"DHCP CLIENT (0x64549f54): STOPPE"..., 51}, {"\n", 1}], 2DHCP CLIENT (0x64549f54): STOPPED: Invalid argument ) = 52 writev(2, [{"eth0 : DHCP error: cl"..., 61}, {"\n", 1}], 2eth0 : DHCP error: client failed: Invalid argument ) = 62 clone(Process 185 attached <unfinished ...> [pid 185] set_robust_list(0xb6cf7490, 12 <unfinished ...> [pid 183] <... clone resumed> child_stack=0xb6cf6f58, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb6cf7488, tls=0xb6cf78e0, child_tidptr=0xb6cf7488) = 185 [pid 185] <... set_robust_list resumed> ) = 0 [pid 183] writev(2, [{"eth0 : could not acqu"..., 48}, {"\n", 1}], 2eth0 : could not acquire DHCPv4 lease <unfinished ...> [pid 185] madvise(0xb64f8000, 8364032, MADV_DONTNEED <unfinished ...> [pid 183] <... writev resumed> ) = 49 [pid 185] <... madvise resumed> ) = 0 [pid 183] writev(2, [{"Event source 0xb7717dd0 returned"..., 67}, {"\n", 1}], 2Event source 0xb7717dd0 returned error, disabling: Invalid argument <unfinished ...> [pid 185] exit(0) = ? [pid 183] <... writev resumed> ) = 68 [pid 185] +++ exited with 0 +++ epoll_ctl(3, EPOLL_CTL_DEL, 5, NULL) = 0 epoll_wait(3, So, the code that raised the EINVAL is the following: setsockopt(9, SOL_SOCKET, SO_ATTACH_FILTER, "-\0\226|\250\325\353\276", 8) = -1 EINVAL (Invalid argument) Are you using filters that needs a kernel > 3.4? This filter will raise a EINVAL on my 3.4 kernel: BPF_STMT(BPF_ALU + BPF_XOR + BPF_X, 0), /* A xor X */ BPF_XOR is not known in the 3.4 kernel. Nothing new, if we know what to search for... https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg22454.html BPF_XOR was introduced in kernel 3.7. The requirements for systemd were already bumped to 3.7 (https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg22454.html). |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.