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, 7 Jul 2020 15:09:14 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/soc/qcom/smem.c:406:16: sparse: sparse: incorrect type in
 assignment (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   bfe91da29bfad9941d5d703d45e29f0812a20724
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   3 weeks ago
config: i386-randconfig-s002-20200707 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-31-gabbfd661-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

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


sparse warnings: (new ones prefixed by >>)

>> drivers/soc/qcom/smem.c:406:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_header *header @@     got void [noderef] __iomem *virt_base @@
   drivers/soc/qcom/smem.c:406:16: sparse:     expected struct smem_header *header
>> drivers/soc/qcom/smem.c:406:16: sparse:     got void [noderef] __iomem *virt_base
   drivers/soc/qcom/smem.c:491:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_header *header @@     got void [noderef] __iomem *virt_base @@
   drivers/soc/qcom/smem.c:491:16: sparse:     expected struct smem_header *header
   drivers/soc/qcom/smem.c:491:16: sparse:     got void [noderef] __iomem *virt_base
>> drivers/soc/qcom/smem.c:504:50: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void * @@     got void [noderef] __iomem * @@
   drivers/soc/qcom/smem.c:504:50: sparse:     expected void *
>> drivers/soc/qcom/smem.c:504:50: sparse:     got void [noderef] __iomem *
   drivers/soc/qcom/smem.c:639:24: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_header *header @@     got void [noderef] __iomem *virt_base @@
   drivers/soc/qcom/smem.c:639:24: sparse:     expected struct smem_header *header
   drivers/soc/qcom/smem.c:639:24: sparse:     got void [noderef] __iomem *virt_base
   drivers/soc/qcom/smem.c:661:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/soc/qcom/smem.c:661:23: sparse:    void *
>> drivers/soc/qcom/smem.c:661:23: sparse:    void [noderef] __iomem *
   drivers/soc/qcom/smem.c:663:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
   drivers/soc/qcom/smem.c:663:23: sparse:    void *
   drivers/soc/qcom/smem.c:663:23: sparse:    void [noderef] __iomem *
   drivers/soc/qcom/smem.c:664:40: sparse: sparse: subtraction of different types can't work (different address spaces)
   drivers/soc/qcom/smem.c:679:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_header *header @@     got void [noderef] __iomem *virt_base @@
   drivers/soc/qcom/smem.c:679:16: sparse:     expected struct smem_header *header
   drivers/soc/qcom/smem.c:679:16: sparse:     got void [noderef] __iomem *virt_base
>> drivers/soc/qcom/smem.c:690:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_ptable *ptable @@     got void [noderef] __iomem * @@
   drivers/soc/qcom/smem.c:690:16: sparse:     expected struct smem_ptable *ptable
   drivers/soc/qcom/smem.c:690:16: sparse:     got void [noderef] __iomem *
   drivers/soc/qcom/smem.c:712:57: sparse: sparse: restricted __le32 degrades to integer
>> drivers/soc/qcom/smem.c:731:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_partition_header *header @@     got void [noderef] __iomem * @@
   drivers/soc/qcom/smem.c:731:16: sparse:     expected struct smem_partition_header *header
   drivers/soc/qcom/smem.c:731:16: sparse:     got void [noderef] __iomem *
   drivers/soc/qcom/smem.c:926:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct smem_header *header @@     got void [noderef] __iomem *virt_base @@
   drivers/soc/qcom/smem.c:926:16: sparse:     expected struct smem_header *header
   drivers/soc/qcom/smem.c:926:16: sparse:     got void [noderef] __iomem *virt_base
--
>> drivers/soc/qcom/smp2p.c:218:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *value @@
>> drivers/soc/qcom/smp2p.c:218:34: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smp2p.c:218:34: sparse:     got unsigned int [usertype] *value
   drivers/soc/qcom/smp2p.c:325:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *value @@
   drivers/soc/qcom/smp2p.c:325:33: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smp2p.c:325:33: sparse:     got unsigned int [usertype] *value
>> drivers/soc/qcom/smp2p.c:328:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *value @@
>> drivers/soc/qcom/smp2p.c:328:26: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/soc/qcom/smp2p.c:328:26: sparse:     got unsigned int [usertype] *value
--
>> drivers/soc/qcom/smsm.c:152:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *local_state @@
>> drivers/soc/qcom/smsm.c:152:32: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:152:32: sparse:     got unsigned int [usertype] *local_state
>> drivers/soc/qcom/smsm.c:164:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *local_state @@
>> drivers/soc/qcom/smsm.c:164:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:164:25: sparse:     got unsigned int [usertype] *local_state
>> drivers/soc/qcom/smsm.c:174:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/soc/qcom/smsm.c:174:48: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:174:48: sparse:     got unsigned int [usertype] *
>> drivers/soc/qcom/smsm.c:206:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] *remote_state @@
   drivers/soc/qcom/smsm.c:206:26: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:206:26: sparse:     got unsigned int [usertype] *remote_state
   drivers/soc/qcom/smsm.c:245:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/soc/qcom/smsm.c:245:49: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:245:49: sparse:     got unsigned int [usertype] *
>> drivers/soc/qcom/smsm.c:247:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/soc/qcom/smsm.c:247:49: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:247:49: sparse:     got unsigned int [usertype] *
   drivers/soc/qcom/smsm.c:272:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/soc/qcom/smsm.c:272:49: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:272:49: sparse:     got unsigned int [usertype] *
   drivers/soc/qcom/smsm.c:274:49: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/soc/qcom/smsm.c:274:49: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:274:49: sparse:     got unsigned int [usertype] *
   drivers/soc/qcom/smsm.c:569:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int [usertype] * @@
   drivers/soc/qcom/smsm.c:569:47: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/soc/qcom/smsm.c:569:47: sparse:     got unsigned int [usertype] *
--
>> drivers/hwspinlock/stm32_hwspinlock.c:30:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void [noderef] __iomem *lock_addr @@     got void *priv @@
>> drivers/hwspinlock/stm32_hwspinlock.c:30:39: sparse:     expected void [noderef] __iomem *lock_addr
   drivers/hwspinlock/stm32_hwspinlock.c:30:39: sparse:     got void *priv
   drivers/hwspinlock/stm32_hwspinlock.c:41:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void [noderef] __iomem *lock_addr @@     got void *priv @@
   drivers/hwspinlock/stm32_hwspinlock.c:41:39: sparse:     expected void [noderef] __iomem *lock_addr
   drivers/hwspinlock/stm32_hwspinlock.c:41:39: sparse:     got void *priv
>> drivers/hwspinlock/stm32_hwspinlock.c:78:39: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *priv @@     got void [noderef] __iomem * @@
   drivers/hwspinlock/stm32_hwspinlock.c:78:39: sparse:     expected void *priv
>> drivers/hwspinlock/stm32_hwspinlock.c:78:39: sparse:     got void [noderef] __iomem *
--
>> drivers/hwspinlock/u8500_hsem.c:52:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void [noderef] __iomem *lock_addr @@     got void *priv @@
>> drivers/hwspinlock/u8500_hsem.c:52:39: sparse:     expected void [noderef] __iomem *lock_addr
   drivers/hwspinlock/u8500_hsem.c:52:39: sparse:     got void *priv
   drivers/hwspinlock/u8500_hsem.c:65:39: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void [noderef] __iomem *lock_addr @@     got void *priv @@
   drivers/hwspinlock/u8500_hsem.c:65:39: sparse:     expected void [noderef] __iomem *lock_addr
   drivers/hwspinlock/u8500_hsem.c:65:39: sparse:     got void *priv
>> drivers/hwspinlock/u8500_hsem.c:116:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *priv @@     got void [noderef] __iomem * @@
   drivers/hwspinlock/u8500_hsem.c:116:30: sparse:     expected void *priv
>> drivers/hwspinlock/u8500_hsem.c:116:30: sparse:     got void [noderef] __iomem *
>> drivers/hwspinlock/u8500_hsem.c:126:52: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void [noderef] __iomem *io_base @@     got void * @@
>> drivers/hwspinlock/u8500_hsem.c:126:52: sparse:     expected void [noderef] __iomem *io_base
   drivers/hwspinlock/u8500_hsem.c:126:52: sparse:     got void *
--
>> drivers/rpmsg/qcom_smd.c:510:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __iomem *src @@     got void * @@
>> drivers/rpmsg/qcom_smd.c:510:53: sparse:     expected void const [noderef] __iomem *src
   drivers/rpmsg/qcom_smd.c:510:53: sparse:     got void *
>> drivers/rpmsg/qcom_smd.c:517:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __iomem *src @@     got void *rx_fifo @@
   drivers/rpmsg/qcom_smd.c:517:43: sparse:     expected void const [noderef] __iomem *src
   drivers/rpmsg/qcom_smd.c:517:43: sparse:     got void *rx_fifo
>> drivers/rpmsg/qcom_smd.c:711:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __iomem *dst @@     got void * @@
>> drivers/rpmsg/qcom_smd.c:711:51: sparse:     expected void [noderef] __iomem *dst
   drivers/rpmsg/qcom_smd.c:711:51: sparse:     got void *
>> drivers/rpmsg/qcom_smd.c:718:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __iomem *dst @@     got void *tx_fifo @@
   drivers/rpmsg/qcom_smd.c:718:41: sparse:     expected void [noderef] __iomem *dst
   drivers/rpmsg/qcom_smd.c:718:41: sparse:     got void *tx_fifo

vim +406 drivers/soc/qcom/smem.c

4b638df4c9d556 Bjorn Andersson 2015-06-26  398  
4b638df4c9d556 Bjorn Andersson 2015-06-26  399  static int qcom_smem_alloc_global(struct qcom_smem *smem,
4b638df4c9d556 Bjorn Andersson 2015-06-26  400  				  unsigned item,
4b638df4c9d556 Bjorn Andersson 2015-06-26  401  				  size_t size)
4b638df4c9d556 Bjorn Andersson 2015-06-26  402  {
4b638df4c9d556 Bjorn Andersson 2015-06-26  403  	struct smem_global_entry *entry;
d52e404874369f Chris Lew       2017-10-11  404  	struct smem_header *header;
4b638df4c9d556 Bjorn Andersson 2015-06-26  405  
4b638df4c9d556 Bjorn Andersson 2015-06-26 @406  	header = smem->regions[0].virt_base;
4b638df4c9d556 Bjorn Andersson 2015-06-26  407  	entry = &header->toc[item];
4b638df4c9d556 Bjorn Andersson 2015-06-26  408  	if (entry->allocated)
4b638df4c9d556 Bjorn Andersson 2015-06-26  409  		return -EEXIST;
4b638df4c9d556 Bjorn Andersson 2015-06-26  410  
4b638df4c9d556 Bjorn Andersson 2015-06-26  411  	size = ALIGN(size, 8);
9806884d8cd552 Stephen Boyd    2015-09-02  412  	if (WARN_ON(size > le32_to_cpu(header->available)))
4b638df4c9d556 Bjorn Andersson 2015-06-26  413  		return -ENOMEM;
4b638df4c9d556 Bjorn Andersson 2015-06-26  414  
4b638df4c9d556 Bjorn Andersson 2015-06-26  415  	entry->offset = header->free_offset;
9806884d8cd552 Stephen Boyd    2015-09-02  416  	entry->size = cpu_to_le32(size);
4b638df4c9d556 Bjorn Andersson 2015-06-26  417  
4b638df4c9d556 Bjorn Andersson 2015-06-26  418  	/*
4b638df4c9d556 Bjorn Andersson 2015-06-26  419  	 * Ensure the header is consistent before we mark the item allocated,
4b638df4c9d556 Bjorn Andersson 2015-06-26  420  	 * so that remote processors will get a consistent view of the item
4b638df4c9d556 Bjorn Andersson 2015-06-26  421  	 * even though they do not take the spinlock on read.
4b638df4c9d556 Bjorn Andersson 2015-06-26  422  	 */
4b638df4c9d556 Bjorn Andersson 2015-06-26  423  	wmb();
9806884d8cd552 Stephen Boyd    2015-09-02  424  	entry->allocated = cpu_to_le32(1);
4b638df4c9d556 Bjorn Andersson 2015-06-26  425  
9806884d8cd552 Stephen Boyd    2015-09-02  426  	le32_add_cpu(&header->free_offset, size);
9806884d8cd552 Stephen Boyd    2015-09-02  427  	le32_add_cpu(&header->available, -size);
4b638df4c9d556 Bjorn Andersson 2015-06-26  428  
4b638df4c9d556 Bjorn Andersson 2015-06-26  429  	return 0;
4b638df4c9d556 Bjorn Andersson 2015-06-26  430  }
4b638df4c9d556 Bjorn Andersson 2015-06-26  431  
4b638df4c9d556 Bjorn Andersson 2015-06-26  432  /**
4b638df4c9d556 Bjorn Andersson 2015-06-26  433   * qcom_smem_alloc() - allocate space for a smem item
4b638df4c9d556 Bjorn Andersson 2015-06-26  434   * @host:	remote processor id, or -1
4b638df4c9d556 Bjorn Andersson 2015-06-26  435   * @item:	smem item handle
4b638df4c9d556 Bjorn Andersson 2015-06-26  436   * @size:	number of bytes to be allocated
4b638df4c9d556 Bjorn Andersson 2015-06-26  437   *
4b638df4c9d556 Bjorn Andersson 2015-06-26  438   * Allocate space for a given smem item of size @size, given that the item is
4b638df4c9d556 Bjorn Andersson 2015-06-26  439   * not yet allocated.
4b638df4c9d556 Bjorn Andersson 2015-06-26  440   */
4b638df4c9d556 Bjorn Andersson 2015-06-26  441  int qcom_smem_alloc(unsigned host, unsigned item, size_t size)
4b638df4c9d556 Bjorn Andersson 2015-06-26  442  {
d52e404874369f Chris Lew       2017-10-11  443  	struct smem_partition_header *phdr;
4b638df4c9d556 Bjorn Andersson 2015-06-26  444  	unsigned long flags;
4b638df4c9d556 Bjorn Andersson 2015-06-26  445  	int ret;
4b638df4c9d556 Bjorn Andersson 2015-06-26  446  
4b638df4c9d556 Bjorn Andersson 2015-06-26  447  	if (!__smem)
4b638df4c9d556 Bjorn Andersson 2015-06-26  448  		return -EPROBE_DEFER;
4b638df4c9d556 Bjorn Andersson 2015-06-26  449  
4b638df4c9d556 Bjorn Andersson 2015-06-26  450  	if (item < SMEM_ITEM_LAST_FIXED) {
4b638df4c9d556 Bjorn Andersson 2015-06-26  451  		dev_err(__smem->dev,
4b638df4c9d556 Bjorn Andersson 2015-06-26  452  			"Rejecting allocation of static entry %d\n", item);
4b638df4c9d556 Bjorn Andersson 2015-06-26  453  		return -EINVAL;
4b638df4c9d556 Bjorn Andersson 2015-06-26  454  	}
4b638df4c9d556 Bjorn Andersson 2015-06-26  455  
5b3940676107dd Chris Lew       2017-10-11  456  	if (WARN_ON(item >= __smem->item_count))
5b3940676107dd Chris Lew       2017-10-11  457  		return -EINVAL;
5b3940676107dd Chris Lew       2017-10-11  458  
4b638df4c9d556 Bjorn Andersson 2015-06-26  459  	ret = hwspin_lock_timeout_irqsave(__smem->hwlock,
4b638df4c9d556 Bjorn Andersson 2015-06-26  460  					  HWSPINLOCK_TIMEOUT,
4b638df4c9d556 Bjorn Andersson 2015-06-26  461  					  &flags);
4b638df4c9d556 Bjorn Andersson 2015-06-26  462  	if (ret)
4b638df4c9d556 Bjorn Andersson 2015-06-26  463  		return ret;
4b638df4c9d556 Bjorn Andersson 2015-06-26  464  
d52e404874369f Chris Lew       2017-10-11  465  	if (host < SMEM_HOST_COUNT && __smem->partitions[host]) {
d52e404874369f Chris Lew       2017-10-11  466  		phdr = __smem->partitions[host];
d52e404874369f Chris Lew       2017-10-11  467  		ret = qcom_smem_alloc_private(__smem, phdr, item, size);
d52e404874369f Chris Lew       2017-10-11  468  	} else if (__smem->global_partition) {
d52e404874369f Chris Lew       2017-10-11  469  		phdr = __smem->global_partition;
d52e404874369f Chris Lew       2017-10-11  470  		ret = qcom_smem_alloc_private(__smem, phdr, item, size);
d52e404874369f Chris Lew       2017-10-11  471  	} else {
4b638df4c9d556 Bjorn Andersson 2015-06-26  472  		ret = qcom_smem_alloc_global(__smem, item, size);
d52e404874369f Chris Lew       2017-10-11  473  	}
4b638df4c9d556 Bjorn Andersson 2015-06-26  474  
4b638df4c9d556 Bjorn Andersson 2015-06-26  475  	hwspin_unlock_irqrestore(__smem->hwlock, &flags);
4b638df4c9d556 Bjorn Andersson 2015-06-26  476  
4b638df4c9d556 Bjorn Andersson 2015-06-26  477  	return ret;
4b638df4c9d556 Bjorn Andersson 2015-06-26  478  }
4b638df4c9d556 Bjorn Andersson 2015-06-26  479  EXPORT_SYMBOL(qcom_smem_alloc);
4b638df4c9d556 Bjorn Andersson 2015-06-26  480  
1a03964dec3cec Stephen Boyd    2015-09-02  481  static void *qcom_smem_get_global(struct qcom_smem *smem,
4b638df4c9d556 Bjorn Andersson 2015-06-26  482  				  unsigned item,
4b638df4c9d556 Bjorn Andersson 2015-06-26  483  				  size_t *size)
4b638df4c9d556 Bjorn Andersson 2015-06-26  484  {
4b638df4c9d556 Bjorn Andersson 2015-06-26  485  	struct smem_header *header;
9f01b7a8f1d79c Alex Elder      2018-06-25  486  	struct smem_region *region;
4b638df4c9d556 Bjorn Andersson 2015-06-26  487  	struct smem_global_entry *entry;
4b638df4c9d556 Bjorn Andersson 2015-06-26  488  	u32 aux_base;
4b638df4c9d556 Bjorn Andersson 2015-06-26  489  	unsigned i;
4b638df4c9d556 Bjorn Andersson 2015-06-26  490  
4b638df4c9d556 Bjorn Andersson 2015-06-26  491  	header = smem->regions[0].virt_base;
4b638df4c9d556 Bjorn Andersson 2015-06-26  492  	entry = &header->toc[item];
4b638df4c9d556 Bjorn Andersson 2015-06-26  493  	if (!entry->allocated)
1a03964dec3cec Stephen Boyd    2015-09-02  494  		return ERR_PTR(-ENXIO);
4b638df4c9d556 Bjorn Andersson 2015-06-26  495  
9806884d8cd552 Stephen Boyd    2015-09-02  496  	aux_base = le32_to_cpu(entry->aux_base) & AUX_BASE_MASK;
4b638df4c9d556 Bjorn Andersson 2015-06-26  497  
4b638df4c9d556 Bjorn Andersson 2015-06-26  498  	for (i = 0; i < smem->num_regions; i++) {
9f01b7a8f1d79c Alex Elder      2018-06-25  499  		region = &smem->regions[i];
4b638df4c9d556 Bjorn Andersson 2015-06-26  500  
9f01b7a8f1d79c Alex Elder      2018-06-25  501  		if (region->aux_base == aux_base || !aux_base) {
4b638df4c9d556 Bjorn Andersson 2015-06-26  502  			if (size != NULL)
9806884d8cd552 Stephen Boyd    2015-09-02  503  				*size = le32_to_cpu(entry->size);
9f01b7a8f1d79c Alex Elder      2018-06-25 @504  			return region->virt_base + le32_to_cpu(entry->offset);
1a03964dec3cec Stephen Boyd    2015-09-02  505  		}
1a03964dec3cec Stephen Boyd    2015-09-02  506  	}
4b638df4c9d556 Bjorn Andersson 2015-06-26  507  
1a03964dec3cec Stephen Boyd    2015-09-02  508  	return ERR_PTR(-ENOENT);
4b638df4c9d556 Bjorn Andersson 2015-06-26  509  }
4b638df4c9d556 Bjorn Andersson 2015-06-26  510  

:::::: The code at line 406 was first introduced by commit
:::::: 4b638df4c9d556a6d947d6dbac364bee37b68b8e soc: qcom: Add Shared Memory Manager driver

:::::: TO: Bjorn Andersson <bjorn.andersson@...ymobile.com>
:::::: CC: Andy Gross <agross@...eaurora.org>

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ