Skip to content

Commit

Permalink
knfsd: nfs4 name->id mapping not correctly parsing negative downcall
Browse files Browse the repository at this point in the history
Note that qword_get() returns length or -1, not an -ERROR.

Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Acked-by:  Neil Brown <neilb@suse.de>
  • Loading branch information
J. Bruce Fields committed Oct 9, 2007
1 parent 2fdada0 commit c9b6cbe
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions fs/nfsd/nfs4idmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen)
{
struct ent ent, *res;
char *buf1, *bp;
int len;
int error = -EINVAL;

if (buf[buflen - 1] != '\n')
Expand Down Expand Up @@ -248,10 +249,11 @@ idtoname_parse(struct cache_detail *cd, char *buf, int buflen)
goto out;

/* Name */
error = qword_get(&buf, buf1, PAGE_SIZE);
if (error == -EINVAL)
error = -EINVAL;
len = qword_get(&buf, buf1, PAGE_SIZE);
if (len < 0)
goto out;
if (error == -ENOENT)
if (len == 0)
set_bit(CACHE_NEGATIVE, &ent.h.flags);
else {
if (error >= IDMAP_NAMESZ) {
Expand Down

0 comments on commit c9b6cbe

Please sign in to comment.