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
systemd-236: systemd-networkd segfaults on some iproute2 rules #7704
Labels
network
regression ⚠️
A bug in something that used to work correctly and broke through some recent commit
Comments
lierdakil
changed the title
systemd-236: systemd-networkd segfaults when it sees openvpn interfaces
systemd-236: systemd-networkd segfaults on some iproute2 rules
Dec 19, 2017
yuwata
added a commit
to yuwata/systemd
that referenced
this issue
Dec 19, 2017
Before this, in manager_rtnl_process_rule(), iif and oif are not initialized. However, message may not contain FRA_IIFNAME or FRA_IIFNAME. Thus, uninitialized values are set to RoutingPolicyRule and causes segfault. This makes iif and oif be initialized as NULL. Fixes systemd#7704.
yuwata
added
has-pr
regression ⚠️
A bug in something that used to work correctly and broke through some recent commit
labels
Dec 19, 2017
I've created PR #7706. Please take a look. |
ssahani
pushed a commit
to ssahani/systemd
that referenced
this issue
Dec 20, 2017
Init rule valiable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free.
ssahani
pushed a commit
to ssahani/systemd
that referenced
this issue
Dec 20, 2017
Init rule valiable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free.
ssahani
pushed a commit
to ssahani/systemd
that referenced
this issue
Dec 20, 2017
Init rule variable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free.
ssahani
pushed a commit
to ssahani/systemd
that referenced
this issue
Dec 20, 2017
Init rule variable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free.
Fix is waiting in #7712. |
ssahani
pushed a commit
to ssahani/systemd
that referenced
this issue
Dec 21, 2017
Init rule variable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free.
floppym
pushed a commit
to gentoo/systemd
that referenced
this issue
Dec 28, 2017
Init rule variable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free.
floppym
pushed a commit
to gentoo/systemd
that referenced
this issue
Jan 13, 2018
Init rule variable iif oif and to, from While foreign rules are added the network part is not attached. attach manager to rules and use it in routing_policy_rule_free. (cherry picked from commit 36e6e28)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
network
regression ⚠️
A bug in something that used to work correctly and broke through some recent commit
Submission type
systemd version the issue has been seen with
Used distribution
In case of bug report: Expected behaviour you didn't see
In case of bug report: Unexpected behaviour you saw
In case of bug report: Steps to reproduce the problem
Backtrace:
UPD:
Probably related: #7223. Although I notice that
iif
andoif
which are supposed to bechar*
are basically garbage (oif at least points somewhere, but it doesn't look like an interface name by any stretch) -- so the problem is probably deeper.UPD2:
Nope, was wrong about OpenVPN being responsible. Something to do with iproute2.
UPD3:
Okay, so it's actually iproute2 rules like this:
ip rule add from 192.0.2.0/24 table main
that crash networkd. I'll update OP and title.UPD4:
Now that I think about it, I believe the problem is
sd_netlink_message_read_string
can fail, so bothiif
andoif
can be uninitialized. I hope I don't need to explain why that is not good. Initializing those withNULL
and handling null pointer down the line might be a solution.The text was updated successfully, but these errors were encountered: