FreeBSD Bugzilla – Attachment 229867 Details for
Bug 260176
nfsrvd_verify() passes sfp=NULL to nfsv4_loadattr(), which can crash
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Just reply not same for verify of file system stats attributes
crash7.patch (text/plain), 2.26 KB, created by
Rick Macklem
on 2021-12-04 01:21:26 UTC
(
hide
)
Description:
Just reply not same for verify of file system stats attributes
Filename:
MIME Type:
Creator:
Rick Macklem
Created:
2021-12-04 01:21:26 UTC
Size:
2.26 KB
patch
obsolete
>--- sys/fs/nfs/nfs_commonsubs.c.crash7 2021-12-03 16:55:57.542473000 -0800 >+++ sys/fs/nfs/nfs_commonsubs.c 2021-12-03 16:56:03.463696000 -0800 >@@ -1630,8 +1630,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, > case NFSATTRBIT_FILESAVAIL: > NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); > if (compare) { >- if (!(*retcmpp) && >- sfp->sf_afiles != fxdr_hyper(tl)) >+ if (!(*retcmpp)) > *retcmpp = NFSERR_NOTSAME; > } else if (sfp != NULL) { > sfp->sf_afiles = fxdr_hyper(tl); >@@ -1641,8 +1640,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, > case NFSATTRBIT_FILESFREE: > NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); > if (compare) { >- if (!(*retcmpp) && >- sfp->sf_ffiles != fxdr_hyper(tl)) >+ if (!(*retcmpp)) > *retcmpp = NFSERR_NOTSAME; > } else if (sfp != NULL) { > sfp->sf_ffiles = fxdr_hyper(tl); >@@ -1652,8 +1650,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, > case NFSATTRBIT_FILESTOTAL: > NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); > if (compare) { >- if (!(*retcmpp) && >- sfp->sf_tfiles != fxdr_hyper(tl)) >+ if (!(*retcmpp)) > *retcmpp = NFSERR_NOTSAME; > } else if (sfp != NULL) { > sfp->sf_tfiles = fxdr_hyper(tl); >@@ -2003,8 +2000,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, > case NFSATTRBIT_SPACEAVAIL: > NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); > if (compare) { >- if (!(*retcmpp) && >- sfp->sf_abytes != fxdr_hyper(tl)) >+ if (!(*retcmpp)) > *retcmpp = NFSERR_NOTSAME; > } else if (sfp != NULL) { > sfp->sf_abytes = fxdr_hyper(tl); >@@ -2014,8 +2010,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, > case NFSATTRBIT_SPACEFREE: > NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); > if (compare) { >- if (!(*retcmpp) && >- sfp->sf_fbytes != fxdr_hyper(tl)) >+ if (!(*retcmpp)) > *retcmpp = NFSERR_NOTSAME; > } else if (sfp != NULL) { > sfp->sf_fbytes = fxdr_hyper(tl); >@@ -2025,8 +2020,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, > case NFSATTRBIT_SPACETOTAL: > NFSM_DISSECT(tl, u_int32_t *, NFSX_HYPER); > if (compare) { >- if (!(*retcmpp) && >- sfp->sf_tbytes != fxdr_hyper(tl)) >+ if (!(*retcmpp)) > *retcmpp = NFSERR_NOTSAME; > } else if (sfp != NULL) { > sfp->sf_tbytes = fxdr_hyper(tl);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 260176
:
229846
| 229867