Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 306391 Details for
Bug 254195
use after free in nlm subsystem
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
patch 2 - don't reattempt GRANT_MSG when there is already an RPC in flight
03-bz-254195-nlm-don-t-reattempt-.patch (text/plain), 1.85 KB, created by
Jeff Layton
on 2008-05-22 15:29:13 UTC
(
hide
)
Description:
patch 2 - don't reattempt GRANT_MSG when there is already an RPC in flight
Filename:
MIME Type:
Creator:
Jeff Layton
Created:
2008-05-22 15:29:13 UTC
Size:
1.85 KB
patch
obsolete
>BZ#254195: NLM: don't reattempt GRANT_MSG when there is already an RPC in flight > >From: Jeff Layton <jlayton@redhat.com> > >With the current scheme in nlmsvc_grant_blocked, we can end up with more >than one GRANT_MSG callback for a block in flight. Right now, we requeue >the block unconditionally so that a GRANT_MSG callback is done again in >30s. If the client is unresponsive, it can take more than 30s for the >call already in flight to time out. > >There's no benefit to having more than one GRANT_MSG RPC queued up at a >time, so put it on the list with a timeout of NLM_NEVER before doing the >RPC call. If the RPC call submission fails, we requeue it with a short >timeout. If it works, then nlmsvc_grant_callback will end up requeueing >it with a shorter timeout after it completes. > >Signed-off-by: Jeff Layton <jlayton@redhat.com> >Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> >--- > > fs/lockd/svclock.c | 17 +++++++++++++---- > 1 files changed, 13 insertions(+), 4 deletions(-) > > >diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c >index 60ca5f1..bf9fd13 100644 >--- a/fs/lockd/svclock.c >+++ b/fs/lockd/svclock.c >@@ -767,11 +767,20 @@ callback: > dprintk("lockd: GRANTing blocked lock.\n"); > block->b_granted = 1; > >- /* Schedule next grant callback in 30 seconds */ >- nlmsvc_insert_block(block, 30 * HZ); >+ /* keep block on the list, but don't reattempt until the RPC >+ * completes or the submission fails >+ */ >+ nlmsvc_insert_block(block, NLM_NEVER); > >- /* Call the client */ >- nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, &nlmsvc_grant_ops); >+ /* Call the client -- use a soft RPC task since nlmsvc_retry_blocked >+ * will queue up a new one if this one times out >+ */ >+ error = nlm_async_call(block->b_call, NLMPROC_GRANTED_MSG, >+ &nlmsvc_grant_ops); >+ >+ /* RPC submission failed, wait a bit and retry */ >+ if (error < 0) >+ nlmsvc_insert_block(block, 10 * HZ); > } > > /*
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 254195
:
277081
|
278361
|
280141
|
280151
|
280161
|
306390
| 306391 |
306392