Yes it's non-trivial, but would be very appreciated. On the other hand, backporting these fixes (which are not about security, and can be applied in your private layer via bbappend) removes all incentive for you to work on the upgrade and it becomes someone else's problem.
Alex On Tue, 18 May 2021 at 12:18, William Kennington <w...@google.com> wrote: > It would be nice, but it was non-trivial so I opted to go this path > first. These patches can be dropped once v248.2 is brought in. > > On Tue, May 18, 2021 at 2:26 AM Alexander Kanavin > <alex.kana...@gmail.com> wrote: > > > > At this point it might be better to update systemd itself to 248? > > > > Alex > > > > On Tue, 18 May 2021 at 00:51, William A. Kennington III via > lists.openembedded.org <wak=google....@lists.openembedded.org> wrote: > >> > >> Backport a patch to fix the creation of static neighbors. > >> > >> Signed-off-by: William A. Kennington III <w...@google.com> > >> --- > >> ...or-Always-add-neighbors-with-replace.patch | 50 +++++++++++++++++++ > >> meta/recipes-core/systemd/systemd_247.6.bb | 1 + > >> 2 files changed, 51 insertions(+) > >> create mode 100644 > meta/recipes-core/systemd/systemd/0001-network-neighbor-Always-add-neighbors-with-replace.patch > >> > >> diff --git > a/meta/recipes-core/systemd/systemd/0001-network-neighbor-Always-add-neighbors-with-replace.patch > b/meta/recipes-core/systemd/systemd/0001-network-neighbor-Always-add-neighbors-with-replace.patch > >> new file mode 100644 > >> index 0000000000..5593c3f479 > >> --- /dev/null > >> +++ > b/meta/recipes-core/systemd/systemd/0001-network-neighbor-Always-add-neighbors-with-replace.patch > >> @@ -0,0 +1,50 @@ > >> +From faa0f758bc2f194d63bbed6e7f91df176f594a06 Mon Sep 17 00:00:00 2001 > >> +From: "William A. Kennington III" <will...@wkennington.com> > >> +Date: Tue, 27 Apr 2021 01:25:58 -0700 > >> +Subject: [PATCH] network: neighbor: Always add neighbors with replace > >> + > >> +We were duplicating setting flags for the message and a combination of > >> +NLM_F_APPEND and NLM_F_CREATE which does not make sense. We should have > >> +been using NLM_F_REPLACE and NLM_F_CREATE since the kernel can > >> +dynamically create neighbors prior to us adding an entry. Otherwise, we > >> +can end up with cases where the message will time out after ~25s even > >> +though the neighbor still gets added. This delays the rest of the setup > >> +of the interface even though the error is ultimately ignored. > >> + > >> +Upstream-Status: Backport [ > https://github.com/systemd/systemd/commit/192a9d95ea3e058afd824d38a9cea16ad0a84a57 > ] > >> +--- > >> + src/libsystemd/sd-netlink/rtnl-message.c | 2 +- > >> + src/network/networkd-neighbor.c | 4 ---- > >> + 2 files changed, 1 insertion(+), 5 deletions(-) > >> + > >> +diff --git a/src/libsystemd/sd-netlink/rtnl-message.c > b/src/libsystemd/sd-netlink/rtnl-message.c > >> +index 4cabbabba6..c9d0c9b1e7 100644 > >> +--- a/src/libsystemd/sd-netlink/rtnl-message.c > >> ++++ b/src/libsystemd/sd-netlink/rtnl-message.c > >> +@@ -445,7 +445,7 @@ int sd_rtnl_message_new_neigh(sd_netlink *rtnl, > sd_netlink_message **ret, uint16 > >> + return r; > >> + > >> + if (nlmsg_type == RTM_NEWNEIGH) > >> +- (*ret)->hdr->nlmsg_flags |= NLM_F_CREATE | > NLM_F_APPEND; > >> ++ (*ret)->hdr->nlmsg_flags |= NLM_F_CREATE | > NLM_F_REPLACE; > >> + > >> + ndm = NLMSG_DATA((*ret)->hdr); > >> + > >> +diff --git a/src/network/networkd-neighbor.c > b/src/network/networkd-neighbor.c > >> +index c805d52cf3..adce055009 100644 > >> +--- a/src/network/networkd-neighbor.c > >> ++++ b/src/network/networkd-neighbor.c > >> +@@ -259,10 +259,6 @@ static int neighbor_configure(Neighbor *neighbor, > Link *link) { > >> + if (r < 0) > >> + return log_link_error_errno(link, r, "Could not set > state: %m"); > >> + > >> +- r = sd_netlink_message_set_flags(req, NLM_F_REQUEST | > NLM_F_ACK | NLM_F_CREATE | NLM_F_REPLACE); > >> +- if (r < 0) > >> +- return log_link_error_errno(link, r, "Could not set > flags: %m"); > >> +- > >> + r = sd_netlink_message_append_data(req, NDA_LLADDR, > &neighbor->lladdr, neighbor->lladdr_size); > >> + if (r < 0) > >> + return log_link_error_errno(link, r, "Could not > append NDA_LLADDR attribute: %m"); > >> +-- > >> +2.31.1.498.g6c1eba8ee3d-goog > >> + > >> diff --git a/meta/recipes-core/systemd/systemd_247.6.bb > b/meta/recipes-core/systemd/systemd_247.6.bb > >> index ce6ac7ebaa..fb4acf2d37 100644 > >> --- a/meta/recipes-core/systemd/systemd_247.6.bb > >> +++ b/meta/recipes-core/systemd/systemd_247.6.bb > >> @@ -27,6 +27,7 @@ SRC_URI += "file://touchscreen.rules \ > >> > file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \ > >> > file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \ > >> > file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \ > >> + > file://0001-network-neighbor-Always-add-neighbors-with-replace.patch \ > >> " > >> > >> # patches needed by musl > >> -- > >> 2.31.1.751.gd2f1c929bd-goog > >> > >> > >> > >> >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#152028): https://lists.openembedded.org/g/openembedded-core/message/152028 Mute This Topic: https://lists.openembedded.org/mt/82899808/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-