public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Hannes Reinecke <hare@suse.de>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, Sagi Grimberg <sagi@grimberg.me>
Subject: [hare-scsi-devel:auth.v15 6/11] drivers/nvme/common/auth.c:59:31: warning: address of array 'dhgroup_map[dhgroup_id].name' will always evaluate to 'true'
Date: Tue, 28 Jun 2022 14:38:12 +0800	[thread overview]
Message-ID: <202206281449.L1Gh7eYz-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git auth.v15
head:   2a3a7d0493841ac5944dc0ba861b53d1c2b28014
commit: e0c48505224ab6f6e86eea90b254ae202ecd0bb6 [6/11] nvme: Implement In-Band authentication
config: riscv-randconfig-c006-20220627 (https://download.01.org/0day-ci/archive/20220628/202206281449.L1Gh7eYz-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 016342e319fd31e41cf5ed16a6140a8ea2de74dd)
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-riscv-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git/commit/?id=e0c48505224ab6f6e86eea90b254ae202ecd0bb6
        git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
        git fetch --no-tags hare-scsi-devel auth.v15
        git checkout e0c48505224ab6f6e86eea90b254ae202ecd0bb6
        # 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=riscv SHELL=/bin/bash drivers/nvme/common/ drivers/nvme/target/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/nvme/common/auth.c:59:31: warning: address of array 'dhgroup_map[dhgroup_id].name' will always evaluate to 'true' [-Wpointer-bool-conversion]
               !dhgroup_map[dhgroup_id].name ||
               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
>> drivers/nvme/common/auth.c:69:31: warning: address of array 'dhgroup_map[dhgroup_id].kpp' will always evaluate to 'true' [-Wpointer-bool-conversion]
               !dhgroup_map[dhgroup_id].kpp ||
               ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
>> drivers/nvme/common/auth.c:81:23: warning: address of array 'dhgroup_map[i].name' will always evaluate to 'true' [-Wpointer-bool-conversion]
                   if (!dhgroup_map[i].name ||
                       ~~~~~~~~~~~~~~~~^~~~
>> drivers/nvme/common/auth.c:117:25: warning: address of array 'hash_map[hmac_id].hmac' will always evaluate to 'true' [-Wpointer-bool-conversion]
               !hash_map[hmac_id].hmac ||
               ~~~~~~~~~~~~~~~~~~~^~~~
>> drivers/nvme/common/auth.c:127:25: warning: address of array 'hash_map[hmac_id].digest' will always evaluate to 'true' [-Wpointer-bool-conversion]
               !hash_map[hmac_id].digest ||
               ~~~~~~~~~~~~~~~~~~~^~~~~~
>> drivers/nvme/common/auth.c:139:20: warning: address of array 'hash_map[i].hmac' will always evaluate to 'true' [-Wpointer-bool-conversion]
                   if (!hash_map[i].hmac || !strlen(hash_map[i].hmac))
                       ~~~~~~~~~~~~~^~~~
   drivers/nvme/common/auth.c:152:25: warning: address of array 'hash_map[hmac_id].hmac' will always evaluate to 'true' [-Wpointer-bool-conversion]
               !hash_map[hmac_id].hmac ||
               ~~~~~~~~~~~~~~~~~~~^~~~
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   error: A dwo section may not contain relocations
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   7 warnings and 20 errors generated.


vim +59 drivers/nvme/common/auth.c

    55	
    56	const char *nvme_auth_dhgroup_name(u8 dhgroup_id)
    57	{
    58		if ((dhgroup_id > ARRAY_SIZE(dhgroup_map)) ||
  > 59		    !dhgroup_map[dhgroup_id].name ||
    60		    !strlen(dhgroup_map[dhgroup_id].name))
    61			return NULL;
    62		return dhgroup_map[dhgroup_id].name;
    63	}
    64	EXPORT_SYMBOL_GPL(nvme_auth_dhgroup_name);
    65	
    66	const char *nvme_auth_dhgroup_kpp(u8 dhgroup_id)
    67	{
    68		if ((dhgroup_id > ARRAY_SIZE(dhgroup_map)) ||
  > 69		    !dhgroup_map[dhgroup_id].kpp ||
    70		    !strlen(dhgroup_map[dhgroup_id].kpp))
    71			return NULL;
    72		return dhgroup_map[dhgroup_id].kpp;
    73	}
    74	EXPORT_SYMBOL_GPL(nvme_auth_dhgroup_kpp);
    75	
    76	u8 nvme_auth_dhgroup_id(const char *dhgroup_name)
    77	{
    78		int i;
    79	
    80		for (i = 0; i < ARRAY_SIZE(dhgroup_map); i++) {
  > 81			if (!dhgroup_map[i].name ||
    82			    !strlen(dhgroup_map[i].name))
    83				continue;
    84			if (!strncmp(dhgroup_map[i].name, dhgroup_name,
    85				     strlen(dhgroup_map[i].name)))
    86				return i;
    87		}
    88		return NVME_AUTH_DHGROUP_INVALID;
    89	}
    90	EXPORT_SYMBOL_GPL(nvme_auth_dhgroup_id);
    91	
    92	static struct nvme_dhchap_hash_map {
    93		int len;
    94		const char hmac[15];
    95		const char digest[8];
    96	} hash_map[] = {
    97		[NVME_AUTH_HASH_SHA256] = {
    98			.len = 32,
    99			.hmac = "hmac(sha256)",
   100			.digest = "sha256",
   101		},
   102		[NVME_AUTH_HASH_SHA384] = {
   103			.len = 48,
   104			.hmac = "hmac(sha384)",
   105			.digest = "sha384",
   106		},
   107		[NVME_AUTH_HASH_SHA512] = {
   108			.len = 64,
   109			.hmac = "hmac(sha512)",
   110			.digest = "sha512",
   111		},
   112	};
   113	
   114	const char *nvme_auth_hmac_name(u8 hmac_id)
   115	{
   116		if ((hmac_id > ARRAY_SIZE(hash_map)) ||
 > 117		    !hash_map[hmac_id].hmac ||
   118		    !strlen(hash_map[hmac_id].hmac))
   119			return NULL;
   120		return hash_map[hmac_id].hmac;
   121	}
   122	EXPORT_SYMBOL_GPL(nvme_auth_hmac_name);
   123	
   124	const char *nvme_auth_digest_name(u8 hmac_id)
   125	{
   126		if ((hmac_id > ARRAY_SIZE(hash_map)) ||
 > 127		    !hash_map[hmac_id].digest ||
   128		    !strlen(hash_map[hmac_id].digest))
   129			return NULL;
   130		return hash_map[hmac_id].digest;
   131	}
   132	EXPORT_SYMBOL_GPL(nvme_auth_digest_name);
   133	
   134	u8 nvme_auth_hmac_id(const char *hmac_name)
   135	{
   136		int i;
   137	
   138		for (i = 0; i < ARRAY_SIZE(hash_map); i++) {
 > 139			if (!hash_map[i].hmac || !strlen(hash_map[i].hmac))
   140				continue;
   141			if (!strncmp(hash_map[i].hmac, hmac_name,
   142				     strlen(hash_map[i].hmac)))
   143				return i;
   144		}
   145		return NVME_AUTH_HASH_INVALID;
   146	}
   147	EXPORT_SYMBOL_GPL(nvme_auth_hmac_id);
   148	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

                 reply	other threads:[~2022-06-28  6:39 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202206281449.L1Gh7eYz-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=hare@suse.de \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=sagi@grimberg.me \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox