FreeBSD Bugzilla – Attachment 255823 Details for
Bug 282156
page fault while in kernel mode after 14.0-Release to 14.1-Release upgrade
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
test patch to identify why crash happens
cbcrash.patch (text/plain), 1.86 KB, created by
Rick Macklem
on 2024-12-13 00:12:42 UTC
(
hide
)
Description:
test patch to identify why crash happens
Filename:
MIME Type:
Creator:
Rick Macklem
Created:
2024-12-13 00:12:42 UTC
Size:
1.86 KB
patch
obsolete
>--- sys/fs/nfsclient/nfs_clkrpc.c.cbcrash 2024-12-11 17:43:19.755077000 -0800 >+++ sys/fs/nfsclient/nfs_clkrpc.c 2024-12-12 15:31:01.318988000 -0800 >@@ -77,6 +77,12 @@ nfscb_program(struct svc_req *rqst, SVCXPRT *xprt) > svc_freereq(rqst); > return; > } >+ if (xprt->xp_pool == NULL) { >+ printf("xp_pool NULL!!\n"); >+ svcerr_weakauth(rqst); >+ svc_freereq(rqst); >+ return; >+ } > nd.nd_procnum = rqst->rq_proc; > nd.nd_flag = (ND_NFSCB | ND_NFSV4); > >@@ -281,6 +287,7 @@ nfscbd_nfsd(struct thread *td, struct nfsd_nfscbd_args > void > nfsrvd_cbinit(int terminating) > { >+ SVCPOOL *pool; > > NFSD_LOCK_ASSERT(); > >@@ -299,10 +306,17 @@ nfsrvd_cbinit(int terminating) > if (nfscbd_pool == NULL) { > NFSD_UNLOCK(); > printf("AT POOL INIT!\n"); >- nfscbd_pool = svcpool_create("nfscbd", NULL); >- nfscbd_pool->sp_rcache = NULL; >- nfscbd_pool->sp_assign = NULL; >- nfscbd_pool->sp_done = NULL; >+ pool = svcpool_create("nfscbd", NULL); >+ pool->sp_rcache = NULL; >+ pool->sp_assign = NULL; >+ pool->sp_done = NULL; > NFSD_LOCK(); >+ if (nfscbd_pool == NULL) { >+ nfscbd_pool = pool; >+ } else { >+ NFSD_UNLOCK(); >+ svcpool_destroy(pool); >+ NFSD_LOCK(); >+ } > } > } >--- sys/fs/nfs/nfs_commonkrpc.c.cbcrash 2024-12-12 15:26:08.256376000 -0800 >+++ sys/fs/nfs/nfs_commonkrpc.c 2024-12-12 15:27:48.443416000 -0800 >@@ -432,10 +432,13 @@ newnfs_connect(struct nfsmount *nmp, struct nfssockreq > if (nfs_numnfscbd > 0) { > nfs_numnfscbd++; > NFSD_UNLOCK(); >- xprt = svc_vc_create_backchannel( >- nfscbd_pool); >- CLNT_CONTROL(client, CLSET_BACKCHANNEL, >- xprt); >+ if (nfscbd_pool != NULL) { >+ xprt = svc_vc_create_backchannel( >+ nfscbd_pool); >+ CLNT_CONTROL(client, CLSET_BACKCHANNEL, >+ xprt); >+ } else >+ printf("svc_vc_creat_backchannel: nfscbd_pool NULL!!\n"); > NFSD_LOCK(); > nfs_numnfscbd--; > if (nfs_numnfscbd == 0)
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 282156
:
255823
|
256094