Date: Sat, 24 Jan 2026 09:51:44 +0000 From: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 04f6b99947d2 - main - netlink: use caller's credentials in rtnl_handle_newlink Message-ID: <69749630.309de.521b11ac@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=04f6b99947d2d2e0f6ec7703609c74083b5646e2 commit 04f6b99947d2d2e0f6ec7703609c74083b5646e2 Author: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> AuthorDate: 2026-01-24 09:50:50 +0000 Commit: Pouria Mousavizadeh Tehrani <pouria@FreeBSD.org> CommitDate: 2026-01-24 09:50:50 +0000 netlink: use caller's credentials in rtnl_handle_newlink Make sure rtnl_handle_newlink sets the caller's credential during calls to ifc_create_ifp_nl and ifc_modify_ifp_nl Reviewed by: glebius, melifaro Approved by: glebius (mentor) Differential Revision: https://reviews.freebsd.org/D54109 --- sys/netlink/route/iface.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index e9c053015fad..2ae43e22f7ed 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -675,6 +675,8 @@ static int rtnl_handle_newlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) { struct nlattr_bmask bm; + struct thread *td = curthread; + struct ucred *cred; int error; struct nl_parsed_link attrs = {}; @@ -683,10 +685,16 @@ rtnl_handle_newlink(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *n return (error); nl_get_attrs_bmask_nlmsg(hdr, &ifmsg_parser, &bm); + /* XXX: temporary patch until the D39180 review lands */ + cred = td->td_ucred; + td->td_ucred = nlp_get_cred(nlp); if (hdr->nlmsg_flags & NLM_F_CREATE) - return (create_link(hdr, &attrs, &bm, nlp, npt)); + error = create_link(hdr, &attrs, &bm, nlp, npt); else - return (modify_link(hdr, &attrs, &bm, nlp, npt)); + error = modify_link(hdr, &attrs, &bm, nlp, npt); + td->td_ucred = cred; + + return (error); } static voidhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69749630.309de.521b11ac>
