Merge branch 'for-4.0' of git://linux-nfs.org/~bfields/linux
Pull nfsd fixes from Bruce Fields: "Three miscellaneous bugfixes, most importantly the clp->cl_revoked bug, which we've seen several reports of people hitting" * 'for-4.0' of git://linux-nfs.org/~bfields/linux: sunrpc: integer underflow in rsc_parse() nfsd: fix clp->cl_revoked list deletion causing softlock in nfsd svcrpc: fix memory leak in gssp_accept_sec_context_upcall
This commit is contained in:
commit
a6c5170d1e
3 changed files with 5 additions and 1 deletions
|
@ -1638,7 +1638,7 @@ __destroy_client(struct nfs4_client *clp)
|
|||
nfs4_put_stid(&dp->dl_stid);
|
||||
}
|
||||
while (!list_empty(&clp->cl_revoked)) {
|
||||
dp = list_entry(reaplist.next, struct nfs4_delegation, dl_recall_lru);
|
||||
dp = list_entry(clp->cl_revoked.next, struct nfs4_delegation, dl_recall_lru);
|
||||
list_del_init(&dp->dl_recall_lru);
|
||||
nfs4_put_stid(&dp->dl_stid);
|
||||
}
|
||||
|
|
|
@ -217,6 +217,8 @@ static void gssp_free_receive_pages(struct gssx_arg_accept_sec_context *arg)
|
|||
|
||||
for (i = 0; i < arg->npages && arg->pages[i]; i++)
|
||||
__free_page(arg->pages[i]);
|
||||
|
||||
kfree(arg->pages);
|
||||
}
|
||||
|
||||
static int gssp_alloc_receive_pages(struct gssx_arg_accept_sec_context *arg)
|
||||
|
|
|
@ -463,6 +463,8 @@ static int rsc_parse(struct cache_detail *cd,
|
|||
/* number of additional gid's */
|
||||
if (get_int(&mesg, &N))
|
||||
goto out;
|
||||
if (N < 0 || N > NGROUPS_MAX)
|
||||
goto out;
|
||||
status = -ENOMEM;
|
||||
rsci.cred.cr_group_info = groups_alloc(N);
|
||||
if (rsci.cred.cr_group_info == NULL)
|
||||
|
|
Loading…
Reference in a new issue