Skip to content

Commit

Permalink
cifs: explicitly revoke SPNEGO key after session setup
Browse files Browse the repository at this point in the history
cifs: explicitly revoke SPNEGO key after session setup

The SPNEGO blob returned by an upcall can only be used once. Explicitly
revoke it to make sure that we never pick it up again after session
setup exits.

This doesn't seem to be that big an issue on more recent kernels, but
older kernels seem to link keys into the session keyring by default.
That said, explicitly revoking the key seems like a reasonable thing
to do here.

Signed-off-by: Jeff Layton <[email protected]>
Signed-off-by: Steve French <[email protected]>
  • Loading branch information
jtlayton authored and Steve French committed Sep 24, 2008
1 parent d941477 commit dfd15c4
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion fs/cifs/sess.c
Original file line number Diff line number Diff line change
Expand Up @@ -624,8 +624,10 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
ses, nls_cp);

ssetup_exit:
if (spnego_key)
if (spnego_key) {
key_revoke(spnego_key);
key_put(spnego_key);
}
kfree(str_area);
if (resp_buf_type == CIFS_SMALL_BUFFER) {
cFYI(1, ("ssetup freeing small buf %p", iov[0].iov_base));
Expand Down

0 comments on commit dfd15c4

Please sign in to comment.