All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Hutchings <ben.hutchings@codethink.co.uk>
To: Deepa Dinamani <deepa.kernel@gmail.com>,
	tglx@linutronix.de, john.stultz@linaro.org
Cc: y2038@lists.linaro.org, linux-kernel@vger.kernel.org, arnd@arndb.de
Subject: Re: [Y2038] [PATCH 5/9] y2038: introduce CONFIG_64BIT_TIME
Date: Fri, 08 Dec 2017 16:53:27 +0000	[thread overview]
Message-ID: <1512752007.18523.254.camel@codethink.co.uk> (raw)
In-Reply-To: <20171110224259.15930-6-deepa.kernel@gmail.com>

On Fri, 2017-11-10 at 14:42 -0800, Deepa Dinamani wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> There are a total of 53 system calls (aside from ioctl) that pass a time_t
> or derived data structure as an argument, and in order to extend time_t
> to 64-bit, we have to replace them with new system calls and keep providing
> backwards compatibility.
> 
> To avoid adding completely new and untested code for this purpose, we
> introduce a new CONFIG_64BIT_TIME symbol. Every architecture that supports
> new 64 bit time_t syscalls enables this config via ARCH_HAS_64BIT_TIME.
> 
> After this is done for all architectures, the CONFIG_64BIT_TIME symbol
> can be made a user-selected option, to enable users to build a kernel
> that only provides y2038-safe system calls by making 32 time_t syscalls
> conditionally included based on the above config.

I don't understand why we would want to change the semantics of
CONFIG_64BIT_TIME symbol from "enable 64-bit time support" to "disable
32-bit time support".

Why not add two config symbols:

config 32BIT_TIME
	def_bool COMPAT || !64BIT

config 64BIT_TIME
	def_bool ARCH_HAS_64BIT_TIME

and then make 32BIT_TIME user-configurable later?

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
> ---
>  arch/Kconfig | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/arch/Kconfig b/arch/Kconfig
> index 8911ff37335a..3266ac1a4ff7 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -875,6 +875,17 @@ config OLD_SIGACTION
>  config COMPAT_OLD_SIGACTION
>  	bool
>  
> +config ARCH_HAS_64BIT_TIME
> +	def_bool n
> +
> +config CONFIG_64BIT_TIME

The CONFIG_ prefix is added by kconfig scripts and shouldn't be used in
the Kconfig file.

Ben.

> +	def_bool ARCH_HAS_64BIT_TIME
> +	help
> +	  This should be selected by all architectures that need to support
> +	  new system calls with a 64-bit time_t. This is relevant on all 32-bit
> +	  architectures, and 64-bit architectures as part of compat syscall
> +	  handling.
> +
>  config ARCH_NO_COHERENT_DMA_MMAP
>  	bool
>  

-- 
Ben Hutchings
Software Developer, Codethink Ltd.

  reply	other threads:[~2017-12-08 16:53 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-10 22:42 [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Deepa Dinamani
2017-11-10 22:42 ` Deepa Dinamani
2017-11-10 22:42 ` Deepa Dinamani
2017-11-10 22:42 ` Deepa Dinamani
2017-11-10 22:42 ` [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h Deepa Dinamani
2017-11-10 22:42   ` Deepa Dinamani
2017-11-10 22:42   ` Deepa Dinamani
2017-11-11  2:38   ` Steven Rostedt
2017-11-11  2:38     ` Steven Rostedt
2017-11-11  2:38     ` Steven Rostedt
2017-11-10 22:42 ` [PATCH 2/9] compat: Make compat helpers independent of CONFIG_COMPAT Deepa Dinamani
2017-11-14 16:47   ` Arnd Bergmann
2017-11-15 23:01     ` Deepa Dinamani
2017-11-10 22:42 ` [PATCH 3/9] compat: enable compat_get/put_timespec64 always Deepa Dinamani
2017-11-10 22:42 ` [PATCH 4/9] posix-clocks: Enable compat syscalls always Deepa Dinamani
2017-11-13 21:03   ` Thomas Gleixner
2017-11-13 23:26     ` Deepa Dinamani
2017-11-14 13:03       ` Arnd Bergmann
2017-11-10 22:42 ` [PATCH 5/9] y2038: introduce CONFIG_64BIT_TIME Deepa Dinamani
2017-12-08 16:53   ` Ben Hutchings [this message]
2017-12-08 17:01     ` [Y2038] " Deepa Dinamani
2017-12-08 18:23       ` Ben Hutchings
2017-11-10 22:42 ` [PATCH 6/9] include: Add new y2038 safe __kernel_timespec Deepa Dinamani
2017-11-10 22:42 ` [PATCH 7/9] fix get_timespec64() for y2038 safe compat interfaces Deepa Dinamani
2017-11-14 14:17   ` Arnd Bergmann
2017-11-10 22:42 ` [PATCH 8/9] change time types to new y2038 safe __kernel_* types Deepa Dinamani
     [not found] ` <20171110224259.15930-1-deepa.kernel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-11-10 22:42   ` [PATCH 9/9] nanosleep: change time types to " Deepa Dinamani
2017-11-10 22:42     ` Deepa Dinamani
2017-11-14 14:24 ` [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Arnd Bergmann
2017-11-14 14:24   ` Arnd Bergmann
2017-11-14 14:24   ` Arnd Bergmann
2017-11-14 14:24   ` Arnd Bergmann
2017-11-15 23:11   ` Deepa Dinamani
2017-11-15 23:11     ` Deepa Dinamani
2017-11-15 23:11     ` Deepa Dinamani
2017-11-15 23:11     ` Deepa Dinamani
2017-11-16  9:04     ` Thomas Gleixner
2017-11-16  9:04       ` Thomas Gleixner
2017-11-16  9:04       ` Thomas Gleixner
2017-11-16  9:04       ` Thomas Gleixner
2017-11-16 23:42       ` Arnd Bergmann
2017-11-16 23:42         ` Arnd Bergmann
2017-11-16 23:42         ` Arnd Bergmann
2017-11-16 23:42         ` Arnd Bergmann
2017-11-17  8:58         ` Thomas Gleixner
2017-11-17  8:58           ` Thomas Gleixner
2017-11-17  8:58           ` Thomas Gleixner
2017-11-17  8:58           ` Thomas Gleixner
2017-11-17  9:31           ` Arnd Bergmann
2017-11-17  9:31             ` Arnd Bergmann
2017-11-17  9:31             ` Arnd Bergmann
2017-11-17  9:31             ` Arnd Bergmann
2017-11-17  9:54             ` Thomas Gleixner
2017-11-17  9:54               ` Thomas Gleixner
2017-11-17  9:54               ` Thomas Gleixner
2017-11-17  9:54               ` Thomas Gleixner
2017-11-17 10:30               ` Arnd Bergmann
2017-11-17 10:30                 ` Arnd Bergmann
2017-11-17 10:30                 ` Arnd Bergmann
2017-11-17 10:30                 ` Arnd Bergmann
2017-11-17 10:40                 ` Thomas Gleixner
2017-11-17 10:40                   ` Thomas Gleixner
2017-11-17 10:40                   ` Thomas Gleixner
2017-11-17 10:40                   ` Thomas Gleixner
2017-11-17 10:46                   ` Arnd Bergmann
2017-11-17 10:46                     ` Arnd Bergmann
2017-11-17 10:46                     ` Arnd Bergmann
2017-11-17 10:46                     ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1512752007.18523.254.camel@codethink.co.uk \
    --to=ben.hutchings@codethink.co.uk \
    --cc=arnd@arndb.de \
    --cc=deepa.kernel@gmail.com \
    --cc=john.stultz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.