lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 5 Sep 2017 12:33:57 +0200
From:   Arnd Bergmann <arnd@...db.de>
To:     Randy Dunlap <rdunlap@...radead.org>
Cc:     kbuild test robot <fengguang.wu@...el.com>,
        Daniel Lezcano <daniel.lezcano@...aro.org>, kbuild-all@...org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: drivers/clocksource/timer-of.h:35:28: error: field 'clkevt' has
 incomplete type

On Mon, Sep 4, 2017 at 7:01 PM, Randy Dunlap <rdunlap@...radead.org> wrote:
> On 09/02/17 23:28, kbuild test robot wrote:

>
> Summary:
>
> GENERIC_CLOCKEVENTS is not enabled. (ia64)
> COMPILE_TEST=y
>
> #
> # Clock Source drivers
> #
> CONFIG_TIMER_OF=y
> CONFIG_CLKSRC_MMIO=y
> # CONFIG_CLKSRC_PISTACHIO is not set
> CONFIG_ARMV7M_SYSTICK=y
> # CONFIG_ATMEL_PIT is not set
> CONFIG_CLKSRC_ST_LPC=y
>
> Both ARMV7M_SYSTICK and CLKSRC_ST_LPC select TIMER_OF (if OF, which is enabled)
> and select CLKSRC_MMIO.  TIMER_OF depends on GENERIC_CLOCKEVENTS (=n), but
> 'select' does not care about that "depends on".
>
> This build error only happens because COMPILE_TEST=y.
>
> Any driver that does 'select TIMER_OF' should also depend on GENERIC_CLOCKEVENTS.
> The problem is that some drivers do 'select TIMER_OF if OF', so if OF is not
> enabled, then we don't need to depend on GENERIC_CLOCKEVENTS.
>
>
> "O, what a tangled web we weave when first we practise to deceive!" --Walter Scott
>
> Not that we are trying to deceive in this case -- it's just another Kconfig
> tangled web.
>
> Arnd: any ideas?

I think most architectures don't run into this because they select
either GENERIC_CLOCKEVENTS or ARCH_USES_GETTIMEOFFSET.

I thought that you need exactly one of the two (this is true on ARM),
but apparently ia64 is an exception.

I'm pretty sure that we don't ever need clocksource drivers on ia64,
so an easy workaround would be to make the entire file depend on
"!ARCH_USES_GETTIMEOFFSET && !IA64", but we can probably
do better than that.

The only architectures that use neither GENERIC_CLOCKEVENTS
nor ARCH_USES_GETTIMEOFFSET are frv, ia64 and some m68k
configurations. If we can show that none of those configurations
ever rely on clocksource drivers, we can simplify the
drivers/clocksource/Kconfig file a lot by using a
GENERIC_CLOCKEVENTS for the top-level option and removing
all the other dependencies in there.

      Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ