LGTM. Without this patch and with Linux DCO peer stats openvpn crashes, with this patch it doesn't.
Acked-by: Lev Stipakov <lstipa...@gmail.com> ti 21. maalisk. 2023 klo 12.30 Antonio Quartulli (a...@unstable.cc) kirjoitti: > > The agreement with the DCO submodule is that no API should be called if > DCO is actually disabled. For this reason, every invocation must happen > only after having checked that dco_enabled() returns true. > > Add missing checks before invoking dco_get_peer_stats_multi() > > Reported-by: Lev Stipakov <l...@openvpn.net> > Signed-off-by: Antonio Quartulli <a...@unstable.cc> > --- > src/openvpn/multi.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/src/openvpn/multi.c b/src/openvpn/multi.c > index 53c17b3a..1f0a9c01 100644 > --- a/src/openvpn/multi.c > +++ b/src/openvpn/multi.c > @@ -549,7 +549,10 @@ multi_del_iroutes(struct multi_context *m, > static void > setenv_stats(struct multi_context *m, struct context *c) > { > - dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m); > + if (dco_enabled(&m->top.options)) > + { > + dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m); > + } > > setenv_counter(c->c2.es, "bytes_received", c->c2.link_read_bytes + > c->c2.dco_read_bytes); > setenv_counter(c->c2.es, "bytes_sent", c->c2.link_write_bytes + > c->c2.dco_write_bytes); > @@ -849,7 +852,10 @@ multi_print_status(struct multi_context *m, struct > status_output *so, const int > > status_reset(so); > > - dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m); > + if (dco_enabled(&m->top.options)) > + { > + dco_get_peer_stats_multi(&m->top.c1.tuntap->dco, m); > + } > > if (version == 1) > { > -- > 2.39.2 > > > > _______________________________________________ > Openvpn-devel mailing list > Openvpn-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openvpn-devel -- -Lev _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel