mirror of https://github.com/torvalds/linux.git
NFSD: Make nfsd_genl_rqstp::rq_ops array best-effort
To enable NFSD to handle NFSv4 COMPOUNDs of unrestricted size, resize the array in struct nfsd_genl_rqstp so it saves only up to 16 operations per COMPOUND. Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
71bc2c6c41
commit
a2d61427fb
|
|
@ -1569,7 +1569,8 @@ int nfsd_nl_rpc_status_get_dumpit(struct sk_buff *skb,
|
|||
int j;
|
||||
|
||||
args = rqstp->rq_argp;
|
||||
genl_rqstp.rq_opcnt = args->opcnt;
|
||||
genl_rqstp.rq_opcnt = min_t(u32, args->opcnt,
|
||||
ARRAY_SIZE(genl_rqstp.rq_opnum));
|
||||
for (j = 0; j < genl_rqstp.rq_opcnt; j++)
|
||||
genl_rqstp.rq_opnum[j] =
|
||||
args->ops[j].opnum;
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ struct nfsd_genl_rqstp {
|
|||
|
||||
/* NFSv4 compound */
|
||||
u32 rq_opcnt;
|
||||
u32 rq_opnum[NFSD_MAX_OPS_PER_COMPOUND];
|
||||
u32 rq_opnum[16];
|
||||
};
|
||||
|
||||
extern struct svc_program nfsd_programs[];
|
||||
|
|
|
|||
Loading…
Reference in New Issue