mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
d48c812474
When the passed token is longer than 4032 bytes, the remaining part
of the token must be copied from the rqstp->rq_arg.pages. But the
copy must make sure it happens in a consecutive way.
With the existing code, the first memcpy copies 'length' bytes from
argv->iobase, but since the header is in front, this never fills the
whole first page of in_token->pages.
The mecpy in the loop copies the following bytes, but starts writing at
the next page of in_token->pages. This leaves the last bytes of page 0
unwritten.
Symptoms were that users with many groups were not able to access NFS
exports, when using Active Directory as the KDC.
Signed-off-by: Martijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
Fixes:
|
||
---|---|---|
.. | ||
auth_gss.c | ||
gss_generic_token.c | ||
gss_krb5_crypto.c | ||
gss_krb5_keys.c | ||
gss_krb5_mech.c | ||
gss_krb5_seal.c | ||
gss_krb5_seqnum.c | ||
gss_krb5_unseal.c | ||
gss_krb5_wrap.c | ||
gss_mech_switch.c | ||
gss_rpc_upcall.c | ||
gss_rpc_upcall.h | ||
gss_rpc_xdr.c | ||
gss_rpc_xdr.h | ||
Makefile | ||
svcauth_gss.c | ||
trace.c |