git: c3df2fa9a755 - main - netlink: snl_create_msg_request() may fail due to ENOMEM

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Thu, 16 Jan 2025 07:30:20 UTC
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=c3df2fa9a7554e00f34f1cbcf8be6c8ccf9ccd8a

commit c3df2fa9a7554e00f34f1cbcf8be6c8ccf9ccd8a
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2025-01-16 02:50:29 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2025-01-16 07:21:58 +0000

    netlink: snl_create_msg_request() may fail due to ENOMEM
---
 sys/netlink/netlink_snl.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h
index 2861ea93bafb..d10852ac7a36 100644
--- a/sys/netlink/netlink_snl.h
+++ b/sys/netlink/netlink_snl.h
@@ -1261,9 +1261,13 @@ snl_end_attr_nested(const struct snl_writer *nw, int off)
 static inline struct nlmsghdr *
 snl_create_msg_request(struct snl_writer *nw, int nlmsg_type)
 {
+	struct nlmsghdr *hdr;
+
 	assert(nw->hdr == NULL);
 
-	struct nlmsghdr *hdr = snl_reserve_msg_object(nw, struct nlmsghdr);
+	if (__predict_false((hdr =
+	    snl_reserve_msg_object(nw, struct nlmsghdr)) == NULL))
+		return (NULL);
 	hdr->nlmsg_type = nlmsg_type;
 	hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
 	nw->hdr = hdr;