CVS: cvs.openbsd.org: src

Alexander Bluhm <[email protected]>
Newsgroups gmane.os.openbsd.cvs
Message-ID <[email protected]>
CVSROOT:	/cvs
Module name:	src
Changes by:	[email protected]	2026/07/14 06:26:51

Modified files:
	sys/nfs        : Tag: OPENBSD_7_8 nfs_serv.c nfs_socket.c 
	                 nfs_srvsubs.c nfs_subs.c nfs_var.h nfs_vfsops.c 
	                 nfs_vnops.c nfsm_subs.h 

Log message:
cleanup when nfsm_srvmtofh1() errors in nfsrv_rename()
corrects vnode references and namei_pool leak
reported by Andrew Griffiths of Calif
from jsg@; initial diff from deraadt@ ok miod@

remove use of struct nfsm_info in nfs_serv.c (the non-trivial part)
from jsg@; with and ok miod@

remove use of struct nfsm_info in nfs_serv.c
from jsg@; with and ok miod@

convert nfs_serv.c from nfsm_mtouio() to nfsd_mtouio()
from jsg@; with and ok miod@

convert nfs_serv.c from nfsm_strsiz() to nfsd_strsiz()
from jsg@; with and ok miod@

convert nfs_serv.c from nfsm_dissect() to nfsd_dissect()
from jsg@; with and ok miod@

remove nfsm_info argument from nfsm_srvmtofh1()
from jsg@; with and ok miod@

remove nfsm_info argument from nfsm_reply()
callers all set info.nmi_mreq = NULL
from jsg@; with and ok miod@

make nfsm_srvnamesiz() take an nfsrv_descript argument
from jsg@; with and ok miod@

make nfsm_srvmtofh2() take an nfsrv_descript argument
from jsg@; with and ok miod@

make nfsm_srvsattr() take an nfsrv_descript argument
from jsg@; with and ok miod@

remove nmi_mb from struct nfsm_info
from jsg@; ok miod@

make nfsm_srvmtofh1() take an mbuf argument
from jsg@; ok miod@

make nfsm_srvwcc() take an mbuf argument
from jsg@; ok miod@

make nfsm_srvpostop_fh() take an mbuf argument
from jsg@; ok miod@

make nfsm_srvpostop_attr() take an mbuf argument
from jsg@; ok miod@

make nfsm_reply() take an mbuf argument
from jsg@; ok miod@

switch nfs_getreq() to nfsd_adv()

from miod@ ok jsg@

This round of commits was prompted by a double-free report
from Andrew Griffiths at Calif.
server nfs request mbuf pointers were stored in two structs:
nmi_mrep in struct nfsm_info
nd_mrep in struct nfsrv_descript
but only set to NULL after m_freem() in nmi_mrep
This problem is avoided by removing the use of struct nfsm_info
in the server paths and passing struct nfsrv_descript to
new versions of the nfsm functions.
from jsg@

convert nfs_socket.c from nfsm_dissect() to nfsd_dissect()
from jsg@; with and ok miod@

make nfsm_srvsattr() take an nfsrv_descript argument
from jsg@; with and ok miod@

make nfsm_srvwcc() take an mbuf argument
from jsg@; ok miod@

make nfsm_srvpostop_attr() take an mbuf argument
from jsg@; ok miod@

make nfsm_fhtom() take an mbuf argument
from jsg@; ok miod@

make nfsm_srvsattr() take an nfsrv_descript argument
from jsg@; with and ok miod@

make nfsm_srvwcc() take an mbuf argument
from jsg@; ok miod@

make nfsm_fhtom() take an mbuf argument
from jsg@; ok miod@

make nfsm_srvpostop_attr() take an mbuf argument
from jsg@; ok miod@

remove nmi_mb from struct nfsm_info
from jsg@; ok miod@

make nfsm_fhtom() take an mbuf argument
from jsg@; ok miod@

in nfs_writerpc() error from server would leak an mbuf
reported by Andrew Griffiths of Calif
from jsg@; initial diff from deraadt@ ok miod@

remove nmi_mb from struct nfsm_info
from jsg@; ok miod@

make nfsm_fhtom() take an mbuf argument
from jsg@; ok miod@

make nfsm_strtom() take an mbuf argument
from jsg@; ok miod@

add nfsrv_descript versions of nfsm functions
from jsg@; ok miod@

remove nmi_mb from struct nfsm_info
from jsg@; ok miod@

make nfsm_strtom() take an mbuf argument
from jsg@; ok miod@

this is errata/7.8/042_nfs.patch.sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.