Commit a62573dc authored by Mi Jinlong's avatar Mi Jinlong Committed by J. Bruce Fields

nfsd41: add flag checking for create_session

Teach the NFS server to reject invalid create_session flags.

Also do some minor formatting adjustments.
Signed-off-by: default avatarMi Jinlong <mijinlong@cn.fujitsu.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent ac6721a1
...@@ -1515,6 +1515,9 @@ nfsd4_create_session(struct svc_rqst *rqstp, ...@@ -1515,6 +1515,9 @@ nfsd4_create_session(struct svc_rqst *rqstp,
bool confirm_me = false; bool confirm_me = false;
int status = 0; int status = 0;
if (cr_ses->flags & ~SESSION4_FLAG_MASK_A)
return nfserr_inval;
nfs4_lock_state(); nfs4_lock_state();
unconf = find_unconfirmed_client(&cr_ses->clientid); unconf = find_unconfirmed_client(&cr_ses->clientid);
conf = find_confirmed_client(&cr_ses->clientid); conf = find_confirmed_client(&cr_ses->clientid);
......
...@@ -570,9 +570,11 @@ struct nfs4_sessionid { ...@@ -570,9 +570,11 @@ struct nfs4_sessionid {
}; };
/* Create Session Flags */ /* Create Session Flags */
#define SESSION4_PERSIST 0x001 #define SESSION4_PERSIST 0x001
#define SESSION4_BACK_CHAN 0x002 #define SESSION4_BACK_CHAN 0x002
#define SESSION4_RDMA 0x004 #define SESSION4_RDMA 0x004
#define SESSION4_FLAG_MASK_A 0x007
enum state_protect_how4 { enum state_protect_how4 {
SP4_NONE = 0, SP4_NONE = 0,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment