[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6767.1502271233@warthog.procyon.org.uk>
Date: Wed, 09 Aug 2017 10:33:53 +0100
From: David Howells <dhowells@...hat.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: dhowells@...hat.com, Baolin Wang <baolin.wang@...aro.org>,
David Miller <davem@...emloft.net>, james.l.morris@...cle.com,
"Serge E. Hallyn" <serge@...lyn.com>, marc.dionne@...istor.com,
Dan Carpenter <dan.carpenter@...cle.com>,
"Jason A. Donenfeld" <Jason@...c4.com>,
Mark Brown <broonie@...nel.org>, keyrings@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
LSM List <linux-security-module@...r.kernel.org>,
Networking <netdev@...r.kernel.org>
Subject: Re: [PATCH 3/3] net: rxrpc: Replace time_t type with time64_t type
Arnd Bergmann <arnd@...db.de> wrote:
> > @@ -533,8 +536,9 @@ static int rxrpc_preparse_xdr_rxk5(struct key_preparsed_payload *prep,
> > pptoken = &(*pptoken)->next)
> > continue;
> > *pptoken = token;
> > - if (token->kad->expiry < prep->expiry)
> > - prep->expiry = token->kad->expiry;
> ...
>
> I'm still slightly puzzled by what this function does: it does have four
> timestamps (authtime, starttime, endtime, renew_till) that are all
> transferred as 64-bit values and won't expire, but then it also uses the
> 32-bit expiry field in rxrpc_key_token->kad->expiry instead of the 64-bit
> rxrpc_key_token->k5 fields.
Good catch. This is a cut'n'paste error. It should be using
token->k5->expiry here not token->kad->expiry.
> This appears to overlay the first 32 bits of the
> rxrpc_key_token->k5->starttime field, which is also a time value on
> little-endian architectures by chance, but I would assume that it's always
> in the past, meaning the keys would already be expired.
Yeah - I'm not sure why it works.
David
Powered by blists - more mailing lists