From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Arnd Bergmann To: David Howells Cc: keyrings@vger.kernel.org, David Woodhouse , linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux-security-module@vger.kernel.org, Rudolf Polzer , John Stultz Subject: Re: [PATCH 3/5] X.509: Support leap seconds Date: Fri, 18 Dec 2015 10:10:12 +0100 Message-ID: <10024561.ctYHZaznk8@wuerfel> In-Reply-To: <20151218000209.29483.56212.stgit@warthog.procyon.org.uk> References: <20151218000148.29483.67155.stgit@warthog.procyon.org.uk> <20151218000209.29483.56212.stgit@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: On Friday 18 December 2015 00:02:09 David Howells wrote: > The format of ASN.1 GeneralizedTime seems to be specified by ISO 8601 > [X.680 46.3] and this apparently supports leap seconds (ie. the seconds > field is 60). It's not entirely clear that ASN.1 expects it, but we can > relax the seconds check slightly for GeneralizedTime. > > This, however, results in us passing a time with sec as 60 to mktime64() > which, unpatched, doesn't really handle such things. What it will do is > equate the 60th second of a minute to the 0th second of the next minute. > > We can't really do otherwise without giving the kernel much greater > knowledge of where all the leap seconds are. Unfortunately, this would > require change the mapping of the kernel's current-time-in-seconds. > > UTCTime, however, only supports a seconds value in the range 00-59. > > Without this patch, certain X.509 certificates will be rejected, > potentially making a kernel unbootable. > > Reported-by: Rudolf Polzer > Signed-off-by: David Howells > cc: David Woodhouse > cc: John Stultz > cc: Arnd Bergmann > cc: stable@vger.kernel.org Acked-by: Arnd Bergmann