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:   Tue, 15 Feb 2022 07:37:41 +0800
From:   kernel test robot <lkp@...el.com>
To:     Miguel Ojeda <ojeda@...nel.org>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org, Alex Gaynor <alex.gaynor@...il.com>,
        Finn Behrens <me@...enk.de>,
        Adam Bratschi-Kaye <ark.email@...il.com>,
        Wedson Almeida Filho <wedsonaf@...gle.com>,
        Michael Ellerman <mpe@...erman.id.au>,
        Sven Van Asbroeck <thesven73@...il.com>,
        Gary Guo <gary@...yguo.net>,
        Boris-Chengbiao Zhou <bobo1239@....de>,
        Boqun Feng <boqun.feng@...il.com>,
        Douglas Su <d0u9.su@...look.com>,
        Dariusz Sosnowski <dsosnowski@...snowski.pl>,
        Antonio Terceiro <antonio.terceiro@...aro.org>,
        Daniel Xu <dxu@...uu.xyz>
Subject: [ojeda-linux:rust-next 15/20] rust/helpers.c:22:17: warning: no
 previous prototype for function 'rust_helper_BUG' err: false

tree:   https://github.com/ojeda/linux.git rust-next
head:   ced9f62ec4355bbb92226ac3f019da468a5c996b
commit: 5d287d7e9c9bd455f8eb9abf80f320927433e168 [15/20] Kbuild: add Rust support
config: riscv-randconfig-r002-20220214 (https://download.01.org/0day-ci/archive/20220215/202202150744.IRLmiHc4-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project ea071884b0cc7210b3cc5fe858f0e892a779a23b)
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 riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://github.com/ojeda/linux/commit/5d287d7e9c9bd455f8eb9abf80f320927433e168
        git remote add ojeda-linux https://github.com/ojeda/linux.git
        git fetch --no-tags ojeda-linux rust-next
        git checkout 5d287d7e9c9bd455f8eb9abf80f320927433e168
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

>> rust/helpers.c:22:17: warning: no previous prototype for function 'rust_helper_BUG' err: false
>> rust/helpers.c:27:6: warning: no previous prototype for function 'rust_helper_clk_disable_unprepare' err: false
>> rust/helpers.c:33:5: warning: no previous prototype for function 'rust_helper_clk_prepare_enable' err: false
>> rust/helpers.c:39:15: warning: no previous prototype for function 'rust_helper_copy_from_user' err: false
>> rust/helpers.c:44:15: warning: no previous prototype for function 'rust_helper_copy_to_user' err: false
>> rust/helpers.c:49:15: warning: no previous prototype for function 'rust_helper_clear_user' err: false
>> rust/helpers.c:54:15: warning: no previous prototype for function 'rust_helper_ioremap' err: false
>> rust/helpers.c:60:4: warning: no previous prototype for function 'rust_helper_readb' err: false
>> rust/helpers.c:66:5: warning: no previous prototype for function 'rust_helper_readw' err: false
>> rust/helpers.c:72:5: warning: no previous prototype for function 'rust_helper_readl' err: false
>> rust/helpers.c:79:5: warning: no previous prototype for function 'rust_helper_readq' err: false
>> rust/helpers.c:86:6: warning: no previous prototype for function 'rust_helper_writeb' err: false
>> rust/helpers.c:92:6: warning: no previous prototype for function 'rust_helper_writew' err: false
>> rust/helpers.c:98:6: warning: no previous prototype for function 'rust_helper_writel' err: false
>> rust/helpers.c:105:6: warning: no previous prototype for function 'rust_helper_writeq' err: false
>> rust/helpers.c:112:4: warning: no previous prototype for function 'rust_helper_readb_relaxed' err: false
>> rust/helpers.c:118:5: warning: no previous prototype for function 'rust_helper_readw_relaxed' err: false
>> rust/helpers.c:124:5: warning: no previous prototype for function 'rust_helper_readl_relaxed' err: false
>> rust/helpers.c:131:5: warning: no previous prototype for function 'rust_helper_readq_relaxed' err: false
>> rust/helpers.c:138:6: warning: no previous prototype for function 'rust_helper_writeb_relaxed' err: false
   rust/helpers.c:144:6: warning: no previous prototype for function 'rust_helper_writew_relaxed' err: false
   rust/helpers.c:150:6: warning: no previous prototype for function 'rust_helper_writel_relaxed' err: false
   rust/helpers.c:157:6: warning: no previous prototype for function 'rust_helper_writeq_relaxed' err: false
   rust/helpers.c:163:6: warning: no previous prototype for function 'rust_helper___spin_lock_init' err: false
   rust/helpers.c:174:6: warning: no previous prototype for function 'rust_helper_spin_lock' err: false
   rust/helpers.c:180:6: warning: no previous prototype for function 'rust_helper_spin_unlock' err: false
   rust/helpers.c:186:15: warning: no previous prototype for function 'rust_helper_spin_lock_irqsave' err: false
   rust/helpers.c:194:6: warning: no previous prototype for function 'rust_helper_spin_unlock_irqrestore' err: false
   rust/helpers.c:200:6: warning: no previous prototype for function 'rust_helper_init_wait' err: false
   rust/helpers.c:206:5: warning: no previous prototype for function 'rust_helper_signal_pending' err: false
   rust/helpers.c:212:14: warning: no previous prototype for function 'rust_helper_alloc_pages' err: false
   rust/helpers.c:218:7: warning: no previous prototype for function 'rust_helper_kmap' err: false
   rust/helpers.c:224:6: warning: no previous prototype for function 'rust_helper_kunmap' err: false
   rust/helpers.c:230:5: warning: no previous prototype for function 'rust_helper_cond_resched' err: false
   rust/helpers.c:236:8: warning: no previous prototype for function 'rust_helper_copy_from_iter' err: false
   rust/helpers.c:242:8: warning: no previous prototype for function 'rust_helper_copy_to_iter' err: false
   rust/helpers.c:248:6: warning: no previous prototype for function 'rust_helper_IS_ERR' err: false
   rust/helpers.c:254:6: warning: no previous prototype for function 'rust_helper_PTR_ERR' err: false
   rust/helpers.c:260:13: warning: no previous prototype for function 'rust_helper_errname' err: false
   rust/helpers.c:266:6: warning: no previous prototype for function 'rust_helper_mutex_lock' err: false
   rust/helpers.c:272:6: warning: no previous prototype for function 'rust_helper_amba_set_drvdata' err: false
   rust/helpers.c:278:7: warning: no previous prototype for function 'rust_helper_amba_get_drvdata' err: false
   rust/helpers.c:285:1: warning: no previous prototype for function 'rust_helper_platform_get_drvdata' err: false
   rust/helpers.c:292:1: warning: no previous prototype for function 'rust_helper_platform_set_drvdata' err: false
   rust/helpers.c:299:12: warning: no previous prototype for function 'rust_helper_REFCOUNT_INIT' err: false
   rust/helpers.c:305:6: warning: no previous prototype for function 'rust_helper_refcount_inc' err: false
   rust/helpers.c:311:6: warning: no previous prototype for function 'rust_helper_refcount_dec_and_test' err: false
   rust/helpers.c:317:6: warning: no previous prototype for function 'rust_helper_rb_link_node' err: false
   rust/helpers.c:324:21: warning: no previous prototype for function 'rust_helper_get_current' err: false
   rust/helpers.c:330:6: warning: no previous prototype for function 'rust_helper_get_task_struct' err: false
   rust/helpers.c:336:6: warning: no previous prototype for function 'rust_helper_put_task_struct' err: false
   rust/helpers.c:342:5: warning: no previous prototype for function 'rust_helper_security_binder_set_context_mgr' err: false
   rust/helpers.c:348:5: warning: no previous prototype for function 'rust_helper_security_binder_transaction' err: false
   rust/helpers.c:355:5: warning: no previous prototype for function 'rust_helper_security_binder_transfer_binder' err: false
   rust/helpers.c:362:5: warning: no previous prototype for function 'rust_helper_security_binder_transfer_file' err: false
   rust/helpers.c:370:6: warning: no previous prototype for function 'rust_helper_rcu_read_lock' err: false
   rust/helpers.c:376:6: warning: no previous prototype for function 'rust_helper_rcu_read_unlock' err: false
   rust/helpers.c:382:6: warning: no previous prototype for function 'rust_helper_synchronize_rcu' err: false
   rust/helpers.c:388:7: warning: no previous prototype for function 'rust_helper_dev_get_drvdata' err: false
   rust/helpers.c:394:13: warning: no previous prototype for function 'rust_helper_dev_name' err: false
   rust/helpers.c:400:6: warning: no previous prototype for function 'rust_helper___seqcount_init' err: false
   rust/helpers.c:407:10: warning: no previous prototype for function 'rust_helper_read_seqcount_begin' err: false
   rust/helpers.c:413:5: warning: no previous prototype for function 'rust_helper_read_seqcount_retry' err: false
   rust/helpers.c:419:6: warning: no previous prototype for function 'rust_helper_write_seqcount_begin' err: false
   rust/helpers.c:425:6: warning: no previous prototype for function 'rust_helper_write_seqcount_end' err: false
   rust/helpers.c:431:6: warning: no previous prototype for function 'rust_helper_irq_set_handler_locked' err: false
   rust/helpers.c:438:7: warning: no previous prototype for function 'rust_helper_irq_data_get_irq_chip_data' err: false
   rust/helpers.c:444:18: warning: no previous prototype for function 'rust_helper_irq_desc_get_chip' err: false
   rust/helpers.c:450:7: warning: no previous prototype for function 'rust_helper_irq_desc_get_handler_data' err: false
   rust/helpers.c:456:6: warning: no previous prototype for function 'rust_helper_chained_irq_enter' err: false
   rust/helpers.c:463:6: warning: no previous prototype for function 'rust_helper_chained_irq_exit' err: false
   rust/helpers.c:470:20: warning: no previous prototype for function 'rust_helper_get_cred' err: false
   rust/helpers.c:476:6: warning: no previous prototype for function 'rust_helper_put_cred' err: false
   rust/helpers.c:481:28: warning: no previous prototype for function 'rust_helper_of_match_device' err: false
   ld.lld: error: section .rela.dyn file range overlaps with .text
   >>> .rela.dyn range is [0x358, 0xAA7]
   >>> .text range is [0x800, 0x2365]


vim +/rust_helper_BUG +22 rust/helpers.c

0be29b05808bf1 Miguel Ojeda 2021-07-03   21  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @22  __noreturn void rust_helper_BUG(void)
0be29b05808bf1 Miguel Ojeda 2021-07-03   23  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   24  	BUG();
0be29b05808bf1 Miguel Ojeda 2021-07-03   25  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   26  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @27  void rust_helper_clk_disable_unprepare(struct clk *clk)
0be29b05808bf1 Miguel Ojeda 2021-07-03   28  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   29  	return clk_disable_unprepare(clk);
0be29b05808bf1 Miguel Ojeda 2021-07-03   30  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   31  EXPORT_SYMBOL_GPL(rust_helper_clk_disable_unprepare);
0be29b05808bf1 Miguel Ojeda 2021-07-03   32  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @33  int rust_helper_clk_prepare_enable(struct clk *clk)
0be29b05808bf1 Miguel Ojeda 2021-07-03   34  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   35  	return clk_prepare_enable(clk);
0be29b05808bf1 Miguel Ojeda 2021-07-03   36  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   37  EXPORT_SYMBOL_GPL(rust_helper_clk_prepare_enable);
0be29b05808bf1 Miguel Ojeda 2021-07-03   38  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @39  unsigned long rust_helper_copy_from_user(void *to, const void __user *from, unsigned long n)
0be29b05808bf1 Miguel Ojeda 2021-07-03   40  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   41  	return copy_from_user(to, from, n);
0be29b05808bf1 Miguel Ojeda 2021-07-03   42  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   43  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @44  unsigned long rust_helper_copy_to_user(void __user *to, const void *from, unsigned long n)
0be29b05808bf1 Miguel Ojeda 2021-07-03   45  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   46  	return copy_to_user(to, from, n);
0be29b05808bf1 Miguel Ojeda 2021-07-03   47  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   48  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @49  unsigned long rust_helper_clear_user(void __user *to, unsigned long n)
0be29b05808bf1 Miguel Ojeda 2021-07-03   50  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   51  	return clear_user(to, n);
0be29b05808bf1 Miguel Ojeda 2021-07-03   52  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   53  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @54  void __iomem *rust_helper_ioremap(resource_size_t offset, unsigned long size)
0be29b05808bf1 Miguel Ojeda 2021-07-03   55  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   56  	return ioremap(offset, size);
0be29b05808bf1 Miguel Ojeda 2021-07-03   57  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   58  EXPORT_SYMBOL_GPL(rust_helper_ioremap);
0be29b05808bf1 Miguel Ojeda 2021-07-03   59  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @60  u8 rust_helper_readb(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   61  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   62  	return readb(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03   63  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   64  EXPORT_SYMBOL_GPL(rust_helper_readb);
0be29b05808bf1 Miguel Ojeda 2021-07-03   65  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @66  u16 rust_helper_readw(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   67  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   68  	return readw(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03   69  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   70  EXPORT_SYMBOL_GPL(rust_helper_readw);
0be29b05808bf1 Miguel Ojeda 2021-07-03   71  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @72  u32 rust_helper_readl(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   73  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   74  	return readl(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03   75  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   76  EXPORT_SYMBOL_GPL(rust_helper_readl);
0be29b05808bf1 Miguel Ojeda 2021-07-03   77  
0be29b05808bf1 Miguel Ojeda 2021-07-03   78  #ifdef CONFIG_64BIT
0be29b05808bf1 Miguel Ojeda 2021-07-03  @79  u64 rust_helper_readq(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   80  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   81  	return readq(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03   82  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   83  EXPORT_SYMBOL_GPL(rust_helper_readq);
0be29b05808bf1 Miguel Ojeda 2021-07-03   84  #endif
0be29b05808bf1 Miguel Ojeda 2021-07-03   85  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @86  void rust_helper_writeb(u8 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   87  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   88  	writeb(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03   89  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   90  EXPORT_SYMBOL_GPL(rust_helper_writeb);
0be29b05808bf1 Miguel Ojeda 2021-07-03   91  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @92  void rust_helper_writew(u16 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   93  {
0be29b05808bf1 Miguel Ojeda 2021-07-03   94  	writew(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03   95  }
0be29b05808bf1 Miguel Ojeda 2021-07-03   96  EXPORT_SYMBOL_GPL(rust_helper_writew);
0be29b05808bf1 Miguel Ojeda 2021-07-03   97  
0be29b05808bf1 Miguel Ojeda 2021-07-03  @98  void rust_helper_writel(u32 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03   99  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  100  	writel(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  101  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  102  EXPORT_SYMBOL_GPL(rust_helper_writel);
0be29b05808bf1 Miguel Ojeda 2021-07-03  103  
0be29b05808bf1 Miguel Ojeda 2021-07-03  104  #ifdef CONFIG_64BIT
0be29b05808bf1 Miguel Ojeda 2021-07-03 @105  void rust_helper_writeq(u64 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  106  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  107  	writeq(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  108  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  109  EXPORT_SYMBOL_GPL(rust_helper_writeq);
0be29b05808bf1 Miguel Ojeda 2021-07-03  110  #endif
0be29b05808bf1 Miguel Ojeda 2021-07-03  111  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @112  u8 rust_helper_readb_relaxed(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  113  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  114  	return readb_relaxed(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  115  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  116  EXPORT_SYMBOL_GPL(rust_helper_readb_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  117  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @118  u16 rust_helper_readw_relaxed(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  119  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  120  	return readw_relaxed(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  121  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  122  EXPORT_SYMBOL_GPL(rust_helper_readw_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  123  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @124  u32 rust_helper_readl_relaxed(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  125  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  126  	return readl_relaxed(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  127  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  128  EXPORT_SYMBOL_GPL(rust_helper_readl_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  129  
0be29b05808bf1 Miguel Ojeda 2021-07-03  130  #ifdef CONFIG_64BIT
0be29b05808bf1 Miguel Ojeda 2021-07-03 @131  u64 rust_helper_readq_relaxed(const volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  132  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  133  	return readq_relaxed(addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  134  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  135  EXPORT_SYMBOL_GPL(rust_helper_readq_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  136  #endif
0be29b05808bf1 Miguel Ojeda 2021-07-03  137  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @138  void rust_helper_writeb_relaxed(u8 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  139  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  140          writeb_relaxed(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  141  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  142  EXPORT_SYMBOL_GPL(rust_helper_writeb_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  143  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @144  void rust_helper_writew_relaxed(u16 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  145  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  146          writew_relaxed(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  147  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  148  EXPORT_SYMBOL_GPL(rust_helper_writew_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  149  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @150  void rust_helper_writel_relaxed(u32 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  151  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  152          writel_relaxed(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  153  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  154  EXPORT_SYMBOL_GPL(rust_helper_writel_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  155  
0be29b05808bf1 Miguel Ojeda 2021-07-03  156  #ifdef CONFIG_64BIT
0be29b05808bf1 Miguel Ojeda 2021-07-03 @157  void rust_helper_writeq_relaxed(u64 value, volatile void __iomem *addr)
0be29b05808bf1 Miguel Ojeda 2021-07-03  158  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  159          writeq_relaxed(value, addr);
0be29b05808bf1 Miguel Ojeda 2021-07-03  160  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  161  EXPORT_SYMBOL_GPL(rust_helper_writeq_relaxed);
0be29b05808bf1 Miguel Ojeda 2021-07-03  162  #endif
0be29b05808bf1 Miguel Ojeda 2021-07-03 @163  void rust_helper___spin_lock_init(spinlock_t *lock, const char *name,
0be29b05808bf1 Miguel Ojeda 2021-07-03  164  				  struct lock_class_key *key)
0be29b05808bf1 Miguel Ojeda 2021-07-03  165  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  166  #ifdef CONFIG_DEBUG_SPINLOCK
0be29b05808bf1 Miguel Ojeda 2021-07-03  167  	__spin_lock_init(lock, name, key);
0be29b05808bf1 Miguel Ojeda 2021-07-03  168  #else
0be29b05808bf1 Miguel Ojeda 2021-07-03  169  	spin_lock_init(lock);
0be29b05808bf1 Miguel Ojeda 2021-07-03  170  #endif
0be29b05808bf1 Miguel Ojeda 2021-07-03  171  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  172  EXPORT_SYMBOL_GPL(rust_helper___spin_lock_init);
0be29b05808bf1 Miguel Ojeda 2021-07-03  173  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @174  void rust_helper_spin_lock(spinlock_t *lock)
0be29b05808bf1 Miguel Ojeda 2021-07-03  175  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  176  	spin_lock(lock);
0be29b05808bf1 Miguel Ojeda 2021-07-03  177  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  178  EXPORT_SYMBOL_GPL(rust_helper_spin_lock);
0be29b05808bf1 Miguel Ojeda 2021-07-03  179  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @180  void rust_helper_spin_unlock(spinlock_t *lock)
0be29b05808bf1 Miguel Ojeda 2021-07-03  181  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  182  	spin_unlock(lock);
0be29b05808bf1 Miguel Ojeda 2021-07-03  183  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  184  EXPORT_SYMBOL_GPL(rust_helper_spin_unlock);
0be29b05808bf1 Miguel Ojeda 2021-07-03  185  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @186  unsigned long rust_helper_spin_lock_irqsave(spinlock_t *lock)
0be29b05808bf1 Miguel Ojeda 2021-07-03  187  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  188  	unsigned long flags;
0be29b05808bf1 Miguel Ojeda 2021-07-03  189  	spin_lock_irqsave(lock, flags);
0be29b05808bf1 Miguel Ojeda 2021-07-03  190  	return flags;
0be29b05808bf1 Miguel Ojeda 2021-07-03  191  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  192  EXPORT_SYMBOL_GPL(rust_helper_spin_lock_irqsave);
0be29b05808bf1 Miguel Ojeda 2021-07-03  193  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @194  void rust_helper_spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
0be29b05808bf1 Miguel Ojeda 2021-07-03  195  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  196  	spin_unlock_irqrestore(lock, flags);
0be29b05808bf1 Miguel Ojeda 2021-07-03  197  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  198  EXPORT_SYMBOL_GPL(rust_helper_spin_unlock_irqrestore);
0be29b05808bf1 Miguel Ojeda 2021-07-03  199  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @200  void rust_helper_init_wait(struct wait_queue_entry *wq_entry)
0be29b05808bf1 Miguel Ojeda 2021-07-03  201  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  202  	init_wait(wq_entry);
0be29b05808bf1 Miguel Ojeda 2021-07-03  203  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  204  EXPORT_SYMBOL_GPL(rust_helper_init_wait);
0be29b05808bf1 Miguel Ojeda 2021-07-03  205  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @206  int rust_helper_signal_pending(struct task_struct *t)
0be29b05808bf1 Miguel Ojeda 2021-07-03  207  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  208  	return signal_pending(t);
0be29b05808bf1 Miguel Ojeda 2021-07-03  209  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  210  EXPORT_SYMBOL_GPL(rust_helper_signal_pending);
0be29b05808bf1 Miguel Ojeda 2021-07-03  211  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @212  struct page *rust_helper_alloc_pages(gfp_t gfp_mask, unsigned int order)
0be29b05808bf1 Miguel Ojeda 2021-07-03  213  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  214  	return alloc_pages(gfp_mask, order);
0be29b05808bf1 Miguel Ojeda 2021-07-03  215  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  216  EXPORT_SYMBOL_GPL(rust_helper_alloc_pages);
0be29b05808bf1 Miguel Ojeda 2021-07-03  217  
0be29b05808bf1 Miguel Ojeda 2021-07-03 @218  void *rust_helper_kmap(struct page *page)
0be29b05808bf1 Miguel Ojeda 2021-07-03  219  {
0be29b05808bf1 Miguel Ojeda 2021-07-03  220  	return kmap(page);
0be29b05808bf1 Miguel Ojeda 2021-07-03  221  }
0be29b05808bf1 Miguel Ojeda 2021-07-03  222  EXPORT_SYMBOL_GPL(rust_helper_kmap);
0be29b05808bf1 Miguel Ojeda 2021-07-03  223  

:::::: The code at line 22 was first introduced by commit
:::::: 0be29b05808bf1dd4f695555205930b5e72ca44a rust: add C helpers

:::::: TO: Miguel Ojeda <ojeda@...nel.org>
:::::: CC: Miguel Ojeda <ojeda@...nel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ