Patch "drop_monitor: add missing call to genlmsg_end" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drop_monitor: add missing call to genlmsg_end
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drop_monitor-add-missing-call-to-genlmsg_end.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Jan 12 21:36:14 CET 2017
From: Reiter Wolfgang <[email protected]>
Date: Sat, 31 Dec 2016 21:11:57 +0100
Subject: drop_monitor: add missing call to genlmsg_end
From: Reiter Wolfgang <[email protected]>
[ Upstream commit 4200462d88f47f3759bdf4705f87e207b0f5b2e4 ]
Update nlmsg_len field with genlmsg_end to enable userspace processing using nlmsg_next helper. Also adds error handling.
--- net/core/drop_monitor.c | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-)
net/core/drop_monitor.c +24 -9
@@ -80,6 +80,7 @@ static struct sk_buff *reset_per_cpu_datstruct nlattr *nla;struct sk_buff *skb;unsigned long flags; +void *msg_header; al =sizeof (struct net_dm_alert_msg ); al += dm_hit_limit *sizeof (struct net_dm_drop_point );
@@ -87,17 +88,31 @@ static struct sk_buff *reset_per_cpu_dat skb =genlmsg_new (al,GFP_KERNEL ); -if (skb) { -genlmsg_put (skb,0 ,0 , &net_drop_monitor_family, -0 ,NET_DM_CMD_ALERT ); - nla =nla_reserve (skb,NLA_UNSPEC , -sizeof (struct net_dm_alert_msg )); - msg =nla_data (nla); -memset (msg,0 , al); - }else { -mod_timer (&data->send_timer, jiffies +HZ /10 ); +if (!skb) + goto err; + + msg_header =genlmsg_put (skb,0 ,0 , &net_drop_monitor_family, +0 ,NET_DM_CMD_ALERT ); +if (!msg_header) { +nlmsg_free (skb); + skb =NULL ; + goto err; + } + nla =nla_reserve (skb,NLA_UNSPEC , +sizeof (struct net_dm_alert_msg )); +if (!nla) { +nlmsg_free (skb); + skb =NULL ; + goto err; } + msg =nla_data (nla); +memset (msg,0 , al); +genlmsg_end (skb, msg_header); + goto out; +err: +mod_timer (&data->send_timer, jiffies +HZ /10 ); +out:spin_lock_irqsave (&data->lock, flags);swap (data->skb, skb);spin_unlock_irqrestore (&data->lock, flags);
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/drop_monitor-add-missing-call-to-genlmsg_end.patch queue-4.4/drop_monitor-consider-inserted-data-in-genlmsg_end.patch