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>] [day] [month] [year] [list]
Date:   Wed, 24 May 2023 07:14:12 +0800
From:   kernel test robot <lkp@...el.com>
To:     Nathan Chancellor <nathan@...nel.org>
Cc:     llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
        linux-kernel@...r.kernel.org,
        "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>
Subject: arch/arm/mach-ep93xx/timer-ep93xx.c:63:5: warning: no previous
 prototype for function 'ep93xx_clocksource_read'

Hi Nathan,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   5fe326b4467689ef3690491ee2ad25ff4d81fe59
commit: 5eb6e280432ddc9b755193552f3a070da8d7455c ARM: 9289/1: Allow pre-ARMv5 builds with ld.lld 16.0.0 and newer
date:   4 months ago
config: arm-ep93xx_defconfig
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 4faf3aaf28226a4e950c103a14f6fc1d1fdabb1b)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5eb6e280432ddc9b755193552f3a070da8d7455c
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 5eb6e280432ddc9b755193552f3a070da8d7455c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202305240648.QYvD96ZA-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> arch/arm/mach-ep93xx/timer-ep93xx.c:63:5: warning: no previous prototype for function 'ep93xx_clocksource_read' [-Wmissing-prototypes]
   u64 ep93xx_clocksource_read(struct clocksource *c)
       ^
   arch/arm/mach-ep93xx/timer-ep93xx.c:63:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   u64 ep93xx_clocksource_read(struct clocksource *c)
   ^
   static 
>> arch/arm/mach-ep93xx/timer-ep93xx.c:120:13: warning: no previous prototype for function 'ep93xx_timer_init' [-Wmissing-prototypes]
   void __init ep93xx_timer_init(void)
               ^
   arch/arm/mach-ep93xx/timer-ep93xx.c:120:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void __init ep93xx_timer_init(void)
   ^
   static 
   2 warnings generated.


vim +/ep93xx_clocksource_read +63 arch/arm/mach-ep93xx/timer-ep93xx.c

000bc17817bfe9 Linus Walleij   2015-06-15   62  
a5a1d1c2914b53 Thomas Gleixner 2016-12-21  @63  u64 ep93xx_clocksource_read(struct clocksource *c)
000bc17817bfe9 Linus Walleij   2015-06-15   64  {
000bc17817bfe9 Linus Walleij   2015-06-15   65  	u64 ret;
000bc17817bfe9 Linus Walleij   2015-06-15   66  
d118d977c19ef7 Linus Walleij   2015-06-15   67  	ret = readl(EP93XX_TIMER4_VALUE_LOW);
d118d977c19ef7 Linus Walleij   2015-06-15   68  	ret |= ((u64) (readl(EP93XX_TIMER4_VALUE_HIGH) & 0xff) << 32);
a5a1d1c2914b53 Thomas Gleixner 2016-12-21   69  	return (u64) ret;
000bc17817bfe9 Linus Walleij   2015-06-15   70  }
000bc17817bfe9 Linus Walleij   2015-06-15   71  
000bc17817bfe9 Linus Walleij   2015-06-15   72  static int ep93xx_clkevt_set_next_event(unsigned long next,
000bc17817bfe9 Linus Walleij   2015-06-15   73  					struct clock_event_device *evt)
000bc17817bfe9 Linus Walleij   2015-06-15   74  {
000bc17817bfe9 Linus Walleij   2015-06-15   75  	/* Default mode: periodic, off, 508 kHz */
000bc17817bfe9 Linus Walleij   2015-06-15   76  	u32 tmode = EP93XX_TIMER123_CONTROL_MODE |
000bc17817bfe9 Linus Walleij   2015-06-15   77  		    EP93XX_TIMER123_CONTROL_CLKSEL;
000bc17817bfe9 Linus Walleij   2015-06-15   78  
000bc17817bfe9 Linus Walleij   2015-06-15   79  	/* Clear timer */
d5878e6e228941 Linus Walleij   2015-06-15   80  	writel(tmode, EP93XX_TIMER3_CONTROL);
000bc17817bfe9 Linus Walleij   2015-06-15   81  
000bc17817bfe9 Linus Walleij   2015-06-15   82  	/* Set next event */
d5878e6e228941 Linus Walleij   2015-06-15   83  	writel(next, EP93XX_TIMER3_LOAD);
d118d977c19ef7 Linus Walleij   2015-06-15   84  	writel(tmode | EP93XX_TIMER123_CONTROL_ENABLE,
d5878e6e228941 Linus Walleij   2015-06-15   85  	       EP93XX_TIMER3_CONTROL);
000bc17817bfe9 Linus Walleij   2015-06-15   86          return 0;
000bc17817bfe9 Linus Walleij   2015-06-15   87  }
000bc17817bfe9 Linus Walleij   2015-06-15   88  
000bc17817bfe9 Linus Walleij   2015-06-15   89  
a54868b460b65b Viresh Kumar    2015-08-06   90  static int ep93xx_clkevt_shutdown(struct clock_event_device *evt)
000bc17817bfe9 Linus Walleij   2015-06-15   91  {
000bc17817bfe9 Linus Walleij   2015-06-15   92  	/* Disable timer */
d5878e6e228941 Linus Walleij   2015-06-15   93  	writel(0, EP93XX_TIMER3_CONTROL);
a54868b460b65b Viresh Kumar    2015-08-06   94  
a54868b460b65b Viresh Kumar    2015-08-06   95  	return 0;
000bc17817bfe9 Linus Walleij   2015-06-15   96  }
361c81f996707e Linus Walleij   2015-06-15   97  
000bc17817bfe9 Linus Walleij   2015-06-15   98  static struct clock_event_device ep93xx_clockevent = {
000bc17817bfe9 Linus Walleij   2015-06-15   99  	.name			= "timer1",
000bc17817bfe9 Linus Walleij   2015-06-15  100  	.features		= CLOCK_EVT_FEAT_ONESHOT,
a54868b460b65b Viresh Kumar    2015-08-06  101  	.set_state_shutdown	= ep93xx_clkevt_shutdown,
a54868b460b65b Viresh Kumar    2015-08-06  102  	.set_state_oneshot	= ep93xx_clkevt_shutdown,
a54868b460b65b Viresh Kumar    2015-08-06  103  	.tick_resume		= ep93xx_clkevt_shutdown,
000bc17817bfe9 Linus Walleij   2015-06-15  104  	.set_next_event		= ep93xx_clkevt_set_next_event,
000bc17817bfe9 Linus Walleij   2015-06-15  105  	.rating			= 300,
000bc17817bfe9 Linus Walleij   2015-06-15  106  };
361c81f996707e Linus Walleij   2015-06-15  107  
361c81f996707e Linus Walleij   2015-06-15  108  static irqreturn_t ep93xx_timer_interrupt(int irq, void *dev_id)
361c81f996707e Linus Walleij   2015-06-15  109  {
000bc17817bfe9 Linus Walleij   2015-06-15  110  	struct clock_event_device *evt = dev_id;
000bc17817bfe9 Linus Walleij   2015-06-15  111  
361c81f996707e Linus Walleij   2015-06-15  112  	/* Writing any value clears the timer interrupt */
d5878e6e228941 Linus Walleij   2015-06-15  113  	writel(1, EP93XX_TIMER3_CLEAR);
361c81f996707e Linus Walleij   2015-06-15  114  
000bc17817bfe9 Linus Walleij   2015-06-15  115  	evt->event_handler(evt);
361c81f996707e Linus Walleij   2015-06-15  116  
361c81f996707e Linus Walleij   2015-06-15  117  	return IRQ_HANDLED;
361c81f996707e Linus Walleij   2015-06-15  118  }
361c81f996707e Linus Walleij   2015-06-15  119  
361c81f996707e Linus Walleij   2015-06-15 @120  void __init ep93xx_timer_init(void)

:::::: The code at line 63 was first introduced by commit
:::::: a5a1d1c2914b5316924c7893eb683a5420ebd3be clocksource: Use a plain u64 instead of cycle_t

:::::: TO: Thomas Gleixner <tglx@...utronix.de>
:::::: CC: Thomas Gleixner <tglx@...utronix.de>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

View attachment "config" of type "text/plain" (82924 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ