Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201804091541.Mpr19KWs%fengguang.wu@intel.com>
Date: Mon, 9 Apr 2018 15:26:34 +0800
From: kbuild test robot <lkp@...el.com>
To: kpark3469@...il.com
Cc: kbuild-all@...org, kernel-hardening@...ts.openwall.com,
	catalin.marinas@....com, keescook@...omium.org, will.deacon@....com,
	mark.rutland@....com, james.morse@....com, panand@...hat.com,
	keun-o.park@...kmatter.ae, psodagud@...eaurora.org,
	jpoimboe@...hat.com, mingo@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/3] stacktrace: move arch_within_stack_frames from
 thread_info.h

Hi Sahara,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.16 next-20180406]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/kpark3469-gmail-com/usercopy-reimplement-arch_within_stack_frames/20180409-144349
config: i386-randconfig-x071-201814 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

                    from include/linux/time.h:6,
                    from include/linux/ktime.h:24,
                    from include/linux/rcutiny.h:28,
                    from include/linux/rcupdate.h:211,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/uaccess.h:5,
                    from arch/x86/include/asm/stacktrace.h:10,
                    from include/linux/stacktrace.h:6,
                    from include/linux/lockdep.h:29,
                    from include/linux/spinlock_types.h:18,
                    from kernel/bounds.c:14:
   include/linux/spinlock.h:297:24: error: unknown type name 'raw_spinlock_t'
    static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock)
                           ^~~~~~~~~~~~~~
   include/linux/spinlock.h:297:55: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline raw_spinlock_t *spinlock_check(spinlock_t *lock)
                                                          ^~~~~~~~~~
                                                          clock_t
   include/linux/spinlock.h:308:39: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_lock(spinlock_t *lock)
                                          ^~~~~~~~~~
                                          clock_t
   include/linux/spinlock.h:313:42: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_lock_bh(spinlock_t *lock)
                                             ^~~~~~~~~~
                                             clock_t
   include/linux/spinlock.h:318:41: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline int spin_trylock(spinlock_t *lock)
                                            ^~~~~~~~~~
                                            clock_t
   include/linux/spinlock.h:333:43: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_lock_irq(spinlock_t *lock)
                                              ^~~~~~~~~~
                                              clock_t
   include/linux/spinlock.h:348:41: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_unlock(spinlock_t *lock)
                                            ^~~~~~~~~~
                                            clock_t
   include/linux/spinlock.h:353:44: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_unlock_bh(spinlock_t *lock)
                                               ^~~~~~~~~~
                                               clock_t
   include/linux/spinlock.h:358:45: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_unlock_irq(spinlock_t *lock)
                                                ^~~~~~~~~~
                                                clock_t
   include/linux/spinlock.h:363:52: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
                                                       ^~~~~~~~~~
                                                       clock_t
   include/linux/spinlock.h:368:44: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline int spin_trylock_bh(spinlock_t *lock)
                                               ^~~~~~~~~~
                                               clock_t
   include/linux/spinlock.h:373:45: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline int spin_trylock_irq(spinlock_t *lock)
                                                ^~~~~~~~~~
                                                clock_t
   include/linux/spinlock.h:383:43: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline int spin_is_locked(spinlock_t *lock)
                                              ^~~~~~~~~~
                                              clock_t
   include/linux/spinlock.h:388:46: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    static __always_inline int spin_is_contended(spinlock_t *lock)
                                                 ^~~~~~~~~~
                                                 clock_t
   include/linux/spinlock.h:408:51: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock);
                                                      ^~~~~~~~~~
                                                      clock_t
   include/linux/spinlock.h:412:28: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    int alloc_bucket_spinlocks(spinlock_t **locks, unsigned int *lock_mask,
                               ^~~~~~~~~~
                               clock_t
   include/linux/spinlock.h:416:28: error: unknown type name 'spinlock_t'; did you mean 'clock_t'?
    void free_bucket_spinlocks(spinlock_t *locks);
                               ^~~~~~~~~~
                               clock_t
   In file included from include/linux/time.h:6:0,
                    from include/linux/ktime.h:24,
                    from include/linux/rcutiny.h:28,
                    from include/linux/rcupdate.h:211,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/uaccess.h:5,
                    from arch/x86/include/asm/stacktrace.h:10,
                    from include/linux/stacktrace.h:6,
                    from include/linux/lockdep.h:29,
                    from include/linux/spinlock_types.h:18,
                    from kernel/bounds.c:14:
   include/linux/seqlock.h:51:21: error: field 'dep_map' has incomplete type
     struct lockdep_map dep_map;
                        ^~~~~~~
   include/linux/seqlock.h:56:15: warning: 'struct lock_class_key' declared inside parameter list will not be visible outside of this definition or declaration
           struct lock_class_key *key)
                  ^~~~~~~~~~~~~~
   include/linux/seqlock.h: In function '__seqcount_init':
>> include/linux/seqlock.h:61:2: error: implicit declaration of function 'lockdep_init_map' [-Werror=implicit-function-declaration]
     lockdep_init_map(&s->dep_map, name, key, 0);
     ^~~~~~~~~~~~~~~~
   include/linux/seqlock.h: In function 'seqcount_lockdep_reader_access':
   include/linux/seqlock.h:81:2: error: implicit declaration of function 'seqcount_acquire_read' [-Werror=implicit-function-declaration]
     seqcount_acquire_read(&l->dep_map, 0, 0, _RET_IP_);
     ^~~~~~~~~~~~~~~~~~~~~
   include/linux/seqlock.h:82:2: error: implicit declaration of function 'seqcount_release'; did you mean 'xchg_release'? [-Werror=implicit-function-declaration]
     seqcount_release(&l->dep_map, 1, _RET_IP_);
     ^~~~~~~~~~~~~~~~
     xchg_release
   include/linux/seqlock.h: In function 'write_seqcount_begin_nested':
   include/linux/seqlock.h:377:2: error: implicit declaration of function 'seqcount_acquire'; did you mean 'seqcount_init'? [-Werror=implicit-function-declaration]
     seqcount_acquire(&s->dep_map, subclass, 0, _RET_IP_);
     ^~~~~~~~~~~~~~~~
     seqcount_init
   include/linux/seqlock.h: At top level:
   include/linux/seqlock.h:406:2: error: unknown type name 'spinlock_t'
     spinlock_t lock;
     ^~~~~~~~~~
   include/linux/seqlock.h: In function 'write_seqlock':
   include/linux/seqlock.h:448:2: error: implicit declaration of function 'spin_lock'; did you mean 'write_lock'? [-Werror=implicit-function-declaration]
     spin_lock(&sl->lock);
     ^~~~~~~~~
     write_lock
   include/linux/seqlock.h: In function 'write_sequnlock':
   include/linux/seqlock.h:455:2: error: implicit declaration of function 'spin_unlock'; did you mean 'raw_spin_unlock'? [-Werror=implicit-function-declaration]
     spin_unlock(&sl->lock);
     ^~~~~~~~~~~
     raw_spin_unlock
   include/linux/seqlock.h: In function 'write_seqlock_bh':
   include/linux/seqlock.h:460:2: error: implicit declaration of function 'spin_lock_bh'; did you mean 'raw_spin_lock_bh'? [-Werror=implicit-function-declaration]
     spin_lock_bh(&sl->lock);
     ^~~~~~~~~~~~
     raw_spin_lock_bh
   include/linux/seqlock.h: In function 'write_sequnlock_bh':
   include/linux/seqlock.h:467:2: error: implicit declaration of function 'spin_unlock_bh'; did you mean 'write_unlock_bh'? [-Werror=implicit-function-declaration]
     spin_unlock_bh(&sl->lock);
     ^~~~~~~~~~~~~~
     write_unlock_bh
   include/linux/seqlock.h: In function 'write_seqlock_irq':
   include/linux/seqlock.h:472:2: error: implicit declaration of function 'spin_lock_irq'; did you mean 'spin_lock_init'? [-Werror=implicit-function-declaration]
     spin_lock_irq(&sl->lock);
     ^~~~~~~~~~~~~
     spin_lock_init
   include/linux/seqlock.h: In function 'write_sequnlock_irq':
   include/linux/seqlock.h:479:2: error: implicit declaration of function 'spin_unlock_irq'; did you mean 'read_unlock_irq'? [-Werror=implicit-function-declaration]
     spin_unlock_irq(&sl->lock);
     ^~~~~~~~~~~~~~~
     read_unlock_irq
   In file included from include/linux/seqlock.h:36:0,
                    from include/linux/time.h:6,
                    from include/linux/ktime.h:24,
                    from include/linux/rcutiny.h:28,
                    from include/linux/rcupdate.h:211,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/uaccess.h:5,
                    from arch/x86/include/asm/stacktrace.h:10,
                    from include/linux/stacktrace.h:6,
                    from include/linux/lockdep.h:29,
                    from include/linux/spinlock_types.h:18,
                    from kernel/bounds.c:14:
   include/linux/seqlock.h: In function '__write_seqlock_irqsave':
   include/linux/spinlock.h:222:11: error: implicit declaration of function '_raw_spin_lock_irqsave'; did you mean 'raw_spin_lock_irqsave'? [-Werror=implicit-function-declaration]
      flags = _raw_spin_lock_irqsave(lock); \
              ^
   include/linux/spinlock.h:340:2: note: in expansion of macro 'raw_spin_lock_irqsave'
     raw_spin_lock_irqsave(spinlock_check(lock), flags); \
     ^~~~~~~~~~~~~~~~~~~~~
   include/linux/seqlock.h:486:2: note: in expansion of macro 'spin_lock_irqsave'
     spin_lock_irqsave(&sl->lock, flags);
     ^~~~~~~~~~~~~~~~~
   include/linux/spinlock.h:340:24: error: implicit declaration of function 'spinlock_check'; did you mean 'cpumask_check'? [-Werror=implicit-function-declaration]
     raw_spin_lock_irqsave(spinlock_check(lock), flags); \
                           ^
   include/linux/spinlock.h:222:34: note: in definition of macro 'raw_spin_lock_irqsave'
      flags = _raw_spin_lock_irqsave(lock); \
                                     ^~~~
   include/linux/seqlock.h:486:2: note: in expansion of macro 'spin_lock_irqsave'
     spin_lock_irqsave(&sl->lock, flags);
     ^~~~~~~~~~~~~~~~~
   In file included from include/linux/time.h:6:0,
                    from include/linux/ktime.h:24,
                    from include/linux/rcutiny.h:28,
                    from include/linux/rcupdate.h:211,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/uaccess.h:5,
                    from arch/x86/include/asm/stacktrace.h:10,
                    from include/linux/stacktrace.h:6,
                    from include/linux/lockdep.h:29,
                    from include/linux/spinlock_types.h:18,
                    from kernel/bounds.c:14:
   include/linux/seqlock.h: In function 'write_sequnlock_irqrestore':
   include/linux/seqlock.h:498:2: error: implicit declaration of function 'spin_unlock_irqrestore'; did you mean 'write_unlock_irqrestore'? [-Werror=implicit-function-declaration]
     spin_unlock_irqrestore(&sl->lock, flags);
     ^~~~~~~~~~~~~~~~~~~~~~
     write_unlock_irqrestore

vim +/lockdep_init_map +61 include/linux/seqlock.h

^1da177e Linus Torvalds 2005-04-16  41  
^1da177e Linus Torvalds 2005-04-16  42  /*
^1da177e Linus Torvalds 2005-04-16  43   * Version using sequence counter only.
^1da177e Linus Torvalds 2005-04-16  44   * This can be used when code has its own mutex protecting the
^1da177e Linus Torvalds 2005-04-16  45   * updating starting before the write_seqcountbeqin() and ending
^1da177e Linus Torvalds 2005-04-16  46   * after the write_seqcount_end().
^1da177e Linus Torvalds 2005-04-16  47   */
^1da177e Linus Torvalds 2005-04-16  48  typedef struct seqcount {
^1da177e Linus Torvalds 2005-04-16  49  	unsigned sequence;
1ca7d67c John Stultz    2013-10-07  50  #ifdef CONFIG_DEBUG_LOCK_ALLOC
1ca7d67c John Stultz    2013-10-07 @51  	struct lockdep_map dep_map;
1ca7d67c John Stultz    2013-10-07  52  #endif
^1da177e Linus Torvalds 2005-04-16  53  } seqcount_t;
^1da177e Linus Torvalds 2005-04-16  54  
1ca7d67c John Stultz    2013-10-07  55  static inline void __seqcount_init(seqcount_t *s, const char *name,
1ca7d67c John Stultz    2013-10-07  56  					  struct lock_class_key *key)
1ca7d67c John Stultz    2013-10-07  57  {
1ca7d67c John Stultz    2013-10-07  58  	/*
1ca7d67c John Stultz    2013-10-07  59  	 * Make sure we are not reinitializing a held lock:
1ca7d67c John Stultz    2013-10-07  60  	 */
1ca7d67c John Stultz    2013-10-07 @61  	lockdep_init_map(&s->dep_map, name, key, 0);
1ca7d67c John Stultz    2013-10-07  62  	s->sequence = 0;
1ca7d67c John Stultz    2013-10-07  63  }
1ca7d67c John Stultz    2013-10-07  64  

:::::: The code at line 61 was first introduced by commit
:::::: 1ca7d67cf5d5a2aef26a8d9afd789006fa098347 seqcount: Add lockdep functionality to seqcount/seqlock structures

:::::: TO: John Stultz <john.stultz@...aro.org>
:::::: CC: Ingo Molnar <mingo@...nel.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (32297 bytes)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.