nfsd: wrong index used in inner loop
We must not use dummy for index. After the first index, READ32(dummy) will change dummy!!!! Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com> [bfields@redhat.com: Trond points out READ_BUF alone is sufficient.] Cc: stable@kernel.org Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
committed by
J. Bruce Fields
parent
cf507b6f8e
commit
5a02ab7c3c
@@ -1142,7 +1142,7 @@ nfsd4_decode_create_session(struct nfsd4_compoundargs *argp,
|
|||||||
|
|
||||||
u32 dummy;
|
u32 dummy;
|
||||||
char *machine_name;
|
char *machine_name;
|
||||||
int i, j;
|
int i;
|
||||||
int nr_secflavs;
|
int nr_secflavs;
|
||||||
|
|
||||||
READ_BUF(16);
|
READ_BUF(16);
|
||||||
@@ -1215,8 +1215,6 @@ nfsd4_decode_create_session(struct nfsd4_compoundargs *argp,
|
|||||||
READ_BUF(4);
|
READ_BUF(4);
|
||||||
READ32(dummy);
|
READ32(dummy);
|
||||||
READ_BUF(dummy * 4);
|
READ_BUF(dummy * 4);
|
||||||
for (j = 0; j < dummy; ++j)
|
|
||||||
READ32(dummy);
|
|
||||||
break;
|
break;
|
||||||
case RPC_AUTH_GSS:
|
case RPC_AUTH_GSS:
|
||||||
dprintk("RPC_AUTH_GSS callback secflavor "
|
dprintk("RPC_AUTH_GSS callback secflavor "
|
||||||
@@ -1232,7 +1230,6 @@ nfsd4_decode_create_session(struct nfsd4_compoundargs *argp,
|
|||||||
READ_BUF(4);
|
READ_BUF(4);
|
||||||
READ32(dummy);
|
READ32(dummy);
|
||||||
READ_BUF(dummy);
|
READ_BUF(dummy);
|
||||||
p += XDR_QUADLEN(dummy);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dprintk("Illegal callback secflavor\n");
|
dprintk("Illegal callback secflavor\n");
|
||||||
|
Reference in New Issue
Block a user