Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jan 2023 08:49:00 -0800
From:      Gleb Smirnoff <glebius@freebsd.org>
To:        Alexander Chernikov <melifaro@freebsd.org>
Cc:        Alan Somers <asomers@freebsd.org>, "Danilo G. Baio" <dbaio@freebsd.org>, dev-commits-src-all@freebsd.org
Subject:   Re: git: 2c24ad3377a6 - main - ifconfig: abort if loading a module fails other than for ENOENT
Message-ID:  <Y8rF/IkQwllzGVhJ@cell.glebi.us>
In-Reply-To: <1E9FAE83-B5C2-4E1F-8D04-CF4F477F76C7@freebsd.org>
References:  <202301091857.309Iv87L068285@gitrepo.freebsd.org> <2f4e4ccf-b19a-4f8f-a9e0-72298e500d7c@app.fastmail.com> <CAOtMX2hv182P2HTAPkbYDZiwNxkV2-C%2BWp2%2BL0SpfDpqn2Zccw@mail.gmail.com> <1E9FAE83-B5C2-4E1F-8D04-CF4F477F76C7@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 20, 2023 at 11:04:33AM +0000, Alexander Chernikov wrote:
A> I think another question is that if if should be done by ifconfig(8) at all. Kernel can take care of trying to load the required modules, checking the privileges.
A> I’m considering adding such code for the netlink-based interface creation.

This is already done in netgraph, but I won't call this solution a
pretty one. You ask kernel to do some network related ioctl(2), but
it actually does kldload(2).

At what stage of the syscall we understand that kldload(2) needs to
be done? Are we free of network locks at this stage? Cause kldload
will take a very different set of locks, possibly creating a LOR,
and in an edge case will go into NFS taking network locks.

-- 
Gleb Smirnoff



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Y8rF/IkQwllzGVhJ>