Skip to content

Commit

Permalink
nfsd41: add flag checking for create_session
Browse files Browse the repository at this point in the history
Teach the NFS server to reject invalid create_session flags.

Also do some minor formatting adjustments.

Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
  • Loading branch information
Mi Jinlong authored and J. Bruce Fields committed Apr 30, 2011
1 parent ac6721a commit a62573d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
3 changes: 3 additions & 0 deletions fs/nfsd/nfs4state.c
Original file line number Diff line number Diff line change
Expand Up @@ -1515,6 +1515,9 @@ nfsd4_create_session(struct svc_rqst *rqstp,
bool confirm_me = false;
int status = 0;

if (cr_ses->flags & ~SESSION4_FLAG_MASK_A)
return nfserr_inval;

nfs4_lock_state();
unconf = find_unconfirmed_client(&cr_ses->clientid);
conf = find_confirmed_client(&cr_ses->clientid);
Expand Down
8 changes: 5 additions & 3 deletions include/linux/nfs4.h
Original file line number Diff line number Diff line change
Expand Up @@ -570,9 +570,11 @@ struct nfs4_sessionid {
};

/* Create Session Flags */
#define SESSION4_PERSIST 0x001
#define SESSION4_BACK_CHAN 0x002
#define SESSION4_RDMA 0x004
#define SESSION4_PERSIST 0x001
#define SESSION4_BACK_CHAN 0x002
#define SESSION4_RDMA 0x004

#define SESSION4_FLAG_MASK_A 0x007

enum state_protect_how4 {
SP4_NONE = 0,
Expand Down

0 comments on commit a62573d

Please sign in to comment.