All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <error27@gmail.com>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild@lists.linux.dev
Subject: Re: drivers/net/ipa/ipa_table.c:425 ipa_table_init_add() error: we previously assumed 'hash_mem' could be null (see line 416)
Date: Tue, 21 Feb 2023 18:53:44 +0300	[thread overview]
Message-ID: <Y/TpCD7GibePxkk7@kadam> (raw)
In-Reply-To: <202302212303.C14R62DQ-lkp@intel.com>

These were already fixed upstream.  I'm not sure why a warning is being
generated.

regards,
dan carpenter

On Tue, Feb 21, 2023 at 11:16:35PM +0800, kernel test robot wrote:
> BCC: lkp@intel.com
> CC: oe-kbuild-all@lists.linux.dev
> CC: linux-kernel@vger.kernel.org
> TO: Alex Elder <elder@linaro.org>
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   89f5349e0673322857bd432fa23113af56673739
> commit: 5cb76899fb47791c12eb9fce4aef8a858c41783d net: ipa: reduce arguments to ipa_table_init_add()
> date:   4 months ago
> :::::: branch date: 12 hours ago
> :::::: commit date: 4 months ago
> config: openrisc-randconfig-m041-20230221 (https://download.01.org/0day-ci/archive/20230221/202302212303.C14R62DQ-lkp@intel.com/config)
> compiler: or1k-linux-gcc (GCC) 12.1.0
> 
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@intel.com>
> | Reported-by: Dan Carpenter <error27@gmail.com>
> | Link: https://lore.kernel.org/r/202302212303.C14R62DQ-lkp@intel.com/
> 
> New smatch warnings:
> drivers/net/ipa/ipa_table.c:425 ipa_table_init_add() error: we previously assumed 'hash_mem' could be null (see line 416)
> 
> Old smatch warnings:
> drivers/net/ipa/ipa_table.c:416 ipa_table_init_add() warn: replace divide condition 'hash_mem->size / 8' with 'hash_mem->size >= 8'
> 
> vim +/hash_mem +425 drivers/net/ipa/ipa_table.c
> 
> 2b9feef2b6c288 Alex Elder 2020-03-05  378  
> 5cb76899fb4779 Alex Elder 2022-11-02  379  static void ipa_table_init_add(struct gsi_trans *trans, bool filter, bool ipv6)
> 2b9feef2b6c288 Alex Elder 2020-03-05  380  {
> 2b9feef2b6c288 Alex Elder 2020-03-05  381  	struct ipa *ipa = container_of(trans->gsi, struct ipa, gsi);
> 5cb76899fb4779 Alex Elder 2022-11-02  382  	const struct ipa_mem *hash_mem;
> 5cb76899fb4779 Alex Elder 2022-11-02  383  	enum ipa_cmd_opcode opcode;
> 5cb76899fb4779 Alex Elder 2022-11-02  384  	const struct ipa_mem *mem;
> 2b9feef2b6c288 Alex Elder 2020-03-05  385  	dma_addr_t hash_addr;
> 2b9feef2b6c288 Alex Elder 2020-03-05  386  	dma_addr_t addr;
> dc901505fd9820 Alex Elder 2021-11-24  387  	u32 zero_offset;
> 2b9feef2b6c288 Alex Elder 2020-03-05  388  	u16 hash_count;
> dc901505fd9820 Alex Elder 2021-11-24  389  	u32 zero_size;
> 2b9feef2b6c288 Alex Elder 2020-03-05  390  	u16 hash_size;
> 2b9feef2b6c288 Alex Elder 2020-03-05  391  	u16 count;
> 2b9feef2b6c288 Alex Elder 2020-03-05  392  	u16 size;
> 2b9feef2b6c288 Alex Elder 2020-03-05  393  
> 5cb76899fb4779 Alex Elder 2022-11-02  394  	opcode = filter ? ipv6 ? IPA_CMD_IP_V6_FILTER_INIT
> 5cb76899fb4779 Alex Elder 2022-11-02  395  			       : IPA_CMD_IP_V4_FILTER_INIT
> 5cb76899fb4779 Alex Elder 2022-11-02  396  			: ipv6 ? IPA_CMD_IP_V6_ROUTING_INIT
> 5cb76899fb4779 Alex Elder 2022-11-02  397  			       : IPA_CMD_IP_V4_ROUTING_INIT;
> 5cb76899fb4779 Alex Elder 2022-11-02  398  
> 5cb76899fb4779 Alex Elder 2022-11-02  399  	mem = ipa_table_mem(ipa, filter, false, ipv6);
> 5cb76899fb4779 Alex Elder 2022-11-02  400  	hash_mem = ipa_table_mem(ipa, filter, true, ipv6);
> 5cb76899fb4779 Alex Elder 2022-11-02  401  
> dc901505fd9820 Alex Elder 2021-11-24  402  	/* Compute the number of table entries to initialize */
> 2b9feef2b6c288 Alex Elder 2020-03-05  403  	if (filter) {
> dc901505fd9820 Alex Elder 2021-11-24  404  		/* The number of filtering endpoints determines number of
> dc901505fd9820 Alex Elder 2021-11-24  405  		 * entries in the filter table; we also add one more "slot"
> dc901505fd9820 Alex Elder 2021-11-24  406  		 * to hold the bitmap itself.  The size of the hashed filter
> dc901505fd9820 Alex Elder 2021-11-24  407  		 * table is either the same as the non-hashed one, or zero.
> dc901505fd9820 Alex Elder 2021-11-24  408  		 */
> b5c102238cea98 Alex Elder 2021-09-07  409  		count = 1 + hweight32(ipa->filter_map);
> 5cb76899fb4779 Alex Elder 2022-11-02  410  		hash_count = hash_mem && hash_mem->size ? count : 0;
> 2b9feef2b6c288 Alex Elder 2020-03-05  411  	} else {
> dc901505fd9820 Alex Elder 2021-11-24  412  		/* The size of a route table region determines the number
> dc901505fd9820 Alex Elder 2021-11-24  413  		 * of entries it has.
> dc901505fd9820 Alex Elder 2021-11-24  414  		 */
> 4ea29143ebe6c4 Alex Elder 2021-03-28  415  		count = mem->size / sizeof(__le64);
> 5cb76899fb4779 Alex Elder 2022-11-02 @416  		hash_count = hash_mem && hash_mem->size / sizeof(__le64);
> 2b9feef2b6c288 Alex Elder 2020-03-05  417  	}
> 4ea29143ebe6c4 Alex Elder 2021-03-28  418  	size = count * sizeof(__le64);
> 4ea29143ebe6c4 Alex Elder 2021-03-28  419  	hash_size = hash_count * sizeof(__le64);
> 2b9feef2b6c288 Alex Elder 2020-03-05  420  
> 2b9feef2b6c288 Alex Elder 2020-03-05  421  	addr = ipa_table_addr(ipa, filter, count);
> 2b9feef2b6c288 Alex Elder 2020-03-05  422  	hash_addr = ipa_table_addr(ipa, filter, hash_count);
> 2b9feef2b6c288 Alex Elder 2020-03-05  423  
> 2b9feef2b6c288 Alex Elder 2020-03-05  424  	ipa_cmd_table_init_add(trans, opcode, size, mem->offset, addr,
> 2b9feef2b6c288 Alex Elder 2020-03-05 @425  			       hash_size, hash_mem->offset, hash_addr);
> dc901505fd9820 Alex Elder 2021-11-24  426  	if (!filter)
> dc901505fd9820 Alex Elder 2021-11-24  427  		return;
> dc901505fd9820 Alex Elder 2021-11-24  428  
> dc901505fd9820 Alex Elder 2021-11-24  429  	/* Zero the unused space in the filter table */
> dc901505fd9820 Alex Elder 2021-11-24  430  	zero_offset = mem->offset + size;
> dc901505fd9820 Alex Elder 2021-11-24  431  	zero_size = mem->size - size;
> dc901505fd9820 Alex Elder 2021-11-24  432  	ipa_cmd_dma_shared_mem_add(trans, zero_offset, zero_size,
> dc901505fd9820 Alex Elder 2021-11-24  433  				   ipa->zero_addr, true);
> dc901505fd9820 Alex Elder 2021-11-24  434  	if (!hash_size)
> dc901505fd9820 Alex Elder 2021-11-24  435  		return;
> dc901505fd9820 Alex Elder 2021-11-24  436  
> dc901505fd9820 Alex Elder 2021-11-24  437  	/* Zero the unused space in the hashed filter table */
> dc901505fd9820 Alex Elder 2021-11-24  438  	zero_offset = hash_mem->offset + hash_size;
> dc901505fd9820 Alex Elder 2021-11-24  439  	zero_size = hash_mem->size - hash_size;
> dc901505fd9820 Alex Elder 2021-11-24  440  	ipa_cmd_dma_shared_mem_add(trans, zero_offset, zero_size,
> dc901505fd9820 Alex Elder 2021-11-24  441  				   ipa->zero_addr, true);
> 2b9feef2b6c288 Alex Elder 2020-03-05  442  }
> 2b9feef2b6c288 Alex Elder 2020-03-05  443  
> 
> :::::: The code at line 425 was first introduced by commit
> :::::: 2b9feef2b6c288c1f11127fe236bb5078d5d51b3 soc: qcom: ipa: filter and routing tables
> 
> :::::: TO: Alex Elder <elder@linaro.org>
> :::::: CC: David S. Miller <davem@davemloft.net>
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests

  reply	other threads:[~2023-02-21 15:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-21 15:16 drivers/net/ipa/ipa_table.c:425 ipa_table_init_add() error: we previously assumed 'hash_mem' could be null (see line 416) kernel test robot
2023-02-21 15:53 ` Dan Carpenter [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-05-19  1:53 kernel test robot
2022-12-31 12:12 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y/TpCD7GibePxkk7@kadam \
    --to=error27@gmail.com \
    --cc=lkp@intel.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.