Commit a2d61427 authored by Chuck Lever's avatar Chuck Lever
Browse files

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: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 71bc2c6c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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[];