CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/07/14 06:27:17
Modified files:
sys/nfs : Tag: OPENBSD_7_9 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.9/006_nfs.patch.sig