FreeBSD Bugzilla – Attachment 229982 Details for
Bug 260272
short OPEN reply can crash NFS v4 client
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
fix two places that need to check for an error return from nfsrv_getattrbits
crash9.patch (text/plain), 1.01 KB, created by
Rick Macklem
on 2021-12-08 22:02:05 UTC
(
hide
)
Description:
fix two places that need to check for an error return from nfsrv_getattrbits
Filename:
MIME Type:
Creator:
Rick Macklem
Created:
2021-12-08 22:02:05 UTC
Size:
1.01 KB
patch
obsolete
>--- sys/fs/nfsclient/nfs_clrpcops.c.crash9 2021-12-08 12:22:09.274953000 -0800 >+++ sys/fs/nfsclient/nfs_clrpcops.c 2021-12-08 12:26:23.429570000 -0800 >@@ -2513,7 +2513,9 @@ nfsrpc_createv4(vnode_t dvp, char *name, int namelen, > stateid.other[1] = *tl++; > stateid.other[2] = *tl; > rflags = fxdr_unsigned(u_int32_t, *(tl + 6)); >- (void) nfsrv_getattrbits(nd, &attrbits, NULL, NULL); >+ error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); >+ if (error) >+ goto nfsmout; > NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); > deleg = fxdr_unsigned(int, *tl); > if (deleg == NFSV4OPEN_DELEGATEREAD || >@@ -8154,7 +8156,9 @@ nfsrpc_createlayout(vnode_t dvp, char *name, int namel > stateid.other[0] = *tl++; > stateid.other[1] = *tl++; > stateid.other[2] = *tl; >- nfsrv_getattrbits(nd, &attrbits, NULL, NULL); >+ error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); >+ if (error != 0) >+ goto nfsmout; > NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); > deleg = fxdr_unsigned(int, *tl); > if (deleg == NFSV4OPEN_DELEGATEREAD ||
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 260272
:
229975
| 229982