Message ID | 1344535551-4412-2-git-send-email-bjschuma@netapp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Aug 9, 2012 at 8:05 PM, <bjschuma@netapp.com> wrote: > This allows the normal error-paths to handle the error, rather than > making a special call to complete_request_key() just for this instance. > > Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> Tested-by: William Dauchy <wdauchy@gmail.com> Cc: stable@vger.kernel.org
On Thu, Aug 9, 2012 at 8:05 PM, <bjschuma@netapp.com> wrote: > From: Bryan Schumaker <bjschuma@netapp.com> > > This allows the normal error-paths to handle the error, rather than > making a special call to complete_request_key() just for this instance. > > Signed-off-by: Bryan Schumaker <bjschuma@netapp.com> > --- > fs/nfs/idmap.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/nfs/idmap.c b/fs/nfs/idmap.c > index c2b4004..9864b48 100644 > --- a/fs/nfs/idmap.c > +++ b/fs/nfs/idmap.c > @@ -756,9 +756,8 @@ idmap_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) > } > > if (!(im.im_status & IDMAP_STATUS_SUCCESS)) { > - ret = mlen; > - complete_request_key(cons, -ENOKEY); > - goto out_incomplete; > + ret = -ENOKEY; > + goto out; and I think this patch could fix the "unable to handle kernel NULL pointer dereference on wait_for_key_construction" I reported earlier.
diff --git a/fs/nfs/idmap.c b/fs/nfs/idmap.c index c2b4004..9864b48 100644 --- a/fs/nfs/idmap.c +++ b/fs/nfs/idmap.c @@ -756,9 +756,8 @@ idmap_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) } if (!(im.im_status & IDMAP_STATUS_SUCCESS)) { - ret = mlen; - complete_request_key(cons, -ENOKEY); - goto out_incomplete; + ret = -ENOKEY; + goto out; } namelen_in = strnlen(im.im_name, IDMAP_NAMESZ); @@ -775,7 +774,6 @@ idmap_pipe_downcall(struct file *filp, const char __user *src, size_t mlen) out: complete_request_key(cons, ret); -out_incomplete: return ret; }