Lock out table resizes while dumping Netlink sockets to user space. This keeps disruptions to a minimum for readers which don't handle the NLM_F_DUMP_INTR flag. Signed-off-by: Thomas Graf <tgraf@xxxxxxx> --- net/netlink/diag.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/netlink/diag.c b/net/netlink/diag.c index 50aa385..be4ea6e 100644 --- a/net/netlink/diag.c +++ b/net/netlink/diag.c @@ -114,6 +114,8 @@ static int __netlink_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, req = nlmsg_data(cb->nlh); cb->seq = atomic_read(&nl_table_seq); + mutex_lock(&ht->mutex); + for (i = 0; i < htbl->size; i++) { struct rhash_head *pos; @@ -161,6 +163,7 @@ static int __netlink_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, num++; } done: + mutex_unlock(&ht->mutex); cb->args[0] = num; cb->args[1] = protocol; -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html