Commit a1a64a15 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso
Browse files

netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM



If caller reports ENOMEM, then stop iterating over the batch and send a
single netlink message to userspace to report OOM.

Fixes: cbb8125e ("netfilter: nfnetlink: deliver netlink errors on batch completion")
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 212ed75d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -533,7 +533,8 @@ static void nfnetlink_rcv_batch(struct sk_buff *skb, struct nlmsghdr *nlh,
			 * processed, this avoids that the same error is
			 * reported several times when replaying the batch.
			 */
			if (nfnl_err_add(&err_list, nlh, err, &extack) < 0) {
			if (err == -ENOMEM ||
			    nfnl_err_add(&err_list, nlh, err, &extack) < 0) {
				/* We failed to enqueue an error, reset the
				 * list of errors and send OOM to userspace
				 * pointing to the batch header.