Hi, On Monday 13 June 2016 23:53:06 Ben Hutchings wrote: [...] > > Yes, I recognise this bug. I've updated this patch to the version below. looks good to me. Thanks for updating the patch :) Kind regards, Sven > --- > batman-adv: Fix broadcast/ogm queue limit on a removed interface > > commit c4fdb6cff2aa0ae740c5f19b6f745cbbe786d42f upstream. > > When removing a single interface while a broadcast or ogm packet is > still pending then we will free the forward packet without releasing the > queue slots again. > > This patch is supposed to fix this issue. > > Fixes: 6d5808d4ae1b ("batman-adv: Add missing hardif_free_ref in > forw_packet_free") Signed-off-by: Linus Lüssing <linus.luessing@xxxxxxxxx> > [sven@xxxxxxxxxxxxx: fix conflicts with current version] > Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> > Signed-off-by: Marek Lindner <mareklindner@xxxxxxxxxxxxx> > Signed-off-by: Antonio Quartulli <a@xxxxxxxxxxx> > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > --- > net/batman-adv/send.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > --- a/net/batman-adv/send.c > +++ b/net/batman-adv/send.c > @@ -611,6 +611,9 @@ batadv_purge_outstanding_packets(struct > > if (pending) { > hlist_del(&forw_packet->list); > + if (!forw_packet->own) > + atomic_inc(&bat_priv->bcast_queue_left); > + > batadv_forw_packet_free(forw_packet); > } > } > @@ -638,6 +641,9 @@ batadv_purge_outstanding_packets(struct > > if (pending) { > hlist_del(&forw_packet->list); > + if (!forw_packet->own) > + atomic_inc(&bat_priv->batman_queue_left); > + > batadv_forw_packet_free(forw_packet); > } > } > > -- > Ben Hutchings > One of the nice things about standards is that there are so many of > them.
Attachment:
signature.asc
Description: This is a digitally signed message part.