diff options
| author | Linus Torvalds <[email protected]> | 2024-10-16 16:15:43 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2024-10-16 16:15:43 +0000 |
| commit | 9f635d44d766b10b6fa5cc08b09a18de7de9ff42 (patch) | |
| tree | 5b6586176056de56cbf919e38a3ad075a6f4ea03 /fs/smb/server/auth.c | |
| parent | Merge tag 'v6.12-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert... (diff) | |
| parent | ksmbd: add support for supplementary groups (diff) | |
| download | kernel-9f635d44d766b10b6fa5cc08b09a18de7de9ff42.tar.gz kernel-9f635d44d766b10b6fa5cc08b09a18de7de9ff42.zip | |
Merge tag 'v6.12-rc3-ksmbd-fixes' of git://git.samba.org/ksmbd
Pull smb server fixes from Steve French:
- fix race between session setup and session logoff
- add supplementary group support
* tag 'v6.12-rc3-ksmbd-fixes' of git://git.samba.org/ksmbd:
ksmbd: add support for supplementary groups
ksmbd: fix user-after-free from session log off
Diffstat (limited to 'fs/smb/server/auth.c')
| -rw-r--r-- | fs/smb/server/auth.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/smb/server/auth.c b/fs/smb/server/auth.c index 09b20039636e..611716bc8f27 100644 --- a/fs/smb/server/auth.c +++ b/fs/smb/server/auth.c @@ -512,6 +512,7 @@ int ksmbd_krb5_authenticate(struct ksmbd_session *sess, char *in_blob, int in_len, char *out_blob, int *out_len) { struct ksmbd_spnego_authen_response *resp; + struct ksmbd_login_response_ext *resp_ext = NULL; struct ksmbd_user *user = NULL; int retval; @@ -540,7 +541,10 @@ int ksmbd_krb5_authenticate(struct ksmbd_session *sess, char *in_blob, goto out; } - user = ksmbd_alloc_user(&resp->login_response); + if (resp->login_response.status & KSMBD_USER_FLAG_EXTENSION) + resp_ext = ksmbd_ipc_login_request_ext(resp->login_response.account); + + user = ksmbd_alloc_user(&resp->login_response, resp_ext); if (!user) { ksmbd_debug(AUTH, "login failure\n"); retval = -ENOMEM; |
