From: kernel test robot <lkp@intel.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: drivers/memory/brcmstb_dpfe.c:521:29: sparse: sparse: cast to restricted __be32
Date: Sat, 9 Dec 2023 09:12:47 +0800 [thread overview]
Message-ID: <202312090934.5bM1pAFQ-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f2e8a57ee9036c7d5443382b6c3c09b51a92ec7e
commit: 904ffa81b709f79b906077e72f4656bdb9930340 memory: brcmstb_dpfe: add separate entry for compile test
date: 3 years, 4 months ago
config: openrisc-randconfig-r131-20231102 (https://download.01.org/0day-ci/archive/20231209/202312090934.5bM1pAFQ-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231209/202312090934.5bM1pAFQ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312090934.5bM1pAFQ-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/memory/brcmstb_dpfe.c:521:29: sparse: sparse: cast to restricted __be32
drivers/memory/brcmstb_dpfe.c:522:29: sparse: sparse: cast to restricted __be32
>> drivers/memory/brcmstb_dpfe.c:524:29: sparse: sparse: cast to restricted __le32
>> drivers/memory/brcmstb_dpfe.c:524:29: sparse: sparse: cast to restricted __le32
>> drivers/memory/brcmstb_dpfe.c:524:29: sparse: sparse: cast to restricted __le32
>> drivers/memory/brcmstb_dpfe.c:524:29: sparse: sparse: cast to restricted __le32
>> drivers/memory/brcmstb_dpfe.c:524:29: sparse: sparse: cast to restricted __le32
>> drivers/memory/brcmstb_dpfe.c:524:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:525:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:525:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:525:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:525:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:525:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:525:29: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:46: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:46: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:46: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:46: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:46: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:46: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:548:19: sparse: sparse: cast to restricted __be32
drivers/memory/brcmstb_dpfe.c:565:25: sparse: sparse: cast to restricted __be32
drivers/memory/brcmstb_dpfe.c:566:28: sparse: sparse: cast to restricted __be32
drivers/memory/brcmstb_dpfe.c:567:27: sparse: sparse: cast to restricted __be32
drivers/memory/brcmstb_dpfe.c:569:25: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:569:25: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:569:25: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:569:25: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:569:25: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:569:25: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:570:28: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:570:28: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:570:28: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:570:28: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:570:28: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:570:28: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:571:27: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:571:27: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:571:27: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:571:27: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:571:27: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:571:27: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:600:40: sparse: sparse: cast to restricted __be32
drivers/memory/brcmstb_dpfe.c:603:40: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:603:40: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:603:40: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:603:40: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:603:40: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c:603:40: sparse: sparse: cast to restricted __le32
drivers/memory/brcmstb_dpfe.c: note: in included file (through arch/openrisc/include/asm/io.h, include/linux/io.h):
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:299:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __le32 [usertype] @@
include/asm-generic/io.h:299:22: sparse: expected unsigned int [usertype] value
include/asm-generic/io.h:299:22: sparse: got restricted __le32 [usertype]
include/asm-generic/io.h:267:16: sparse: sparse: cast to restricted __le32
vim +521 drivers/memory/brcmstb_dpfe.c
2f330caff57762 Markus Mayer 2017-08-24 505
2f330caff57762 Markus Mayer 2017-08-24 506 /* Ensure that the firmware file loaded meets all the requirements. */
2f330caff57762 Markus Mayer 2017-08-24 507 static int __verify_firmware(struct init_data *init,
2f330caff57762 Markus Mayer 2017-08-24 508 const struct firmware *fw)
2f330caff57762 Markus Mayer 2017-08-24 509 {
2f330caff57762 Markus Mayer 2017-08-24 510 const struct dpfe_firmware_header *header = (void *)fw->data;
2f330caff57762 Markus Mayer 2017-08-24 511 unsigned int dmem_size, imem_size, total_size;
2f330caff57762 Markus Mayer 2017-08-24 512 bool is_big_endian = false;
2f330caff57762 Markus Mayer 2017-08-24 513 const u32 *chksum_ptr;
2f330caff57762 Markus Mayer 2017-08-24 514
2f330caff57762 Markus Mayer 2017-08-24 515 if (header->magic == DPFE_BE_MAGIC)
2f330caff57762 Markus Mayer 2017-08-24 516 is_big_endian = true;
2f330caff57762 Markus Mayer 2017-08-24 517 else if (header->magic != DPFE_LE_MAGIC)
2f330caff57762 Markus Mayer 2017-08-24 518 return ERR_INVALID_MAGIC;
2f330caff57762 Markus Mayer 2017-08-24 519
2f330caff57762 Markus Mayer 2017-08-24 520 if (is_big_endian) {
2f330caff57762 Markus Mayer 2017-08-24 @521 dmem_size = be32_to_cpu(header->dmem_size);
2f330caff57762 Markus Mayer 2017-08-24 522 imem_size = be32_to_cpu(header->imem_size);
2f330caff57762 Markus Mayer 2017-08-24 523 } else {
2f330caff57762 Markus Mayer 2017-08-24 @524 dmem_size = le32_to_cpu(header->dmem_size);
2f330caff57762 Markus Mayer 2017-08-24 525 imem_size = le32_to_cpu(header->imem_size);
2f330caff57762 Markus Mayer 2017-08-24 526 }
2f330caff57762 Markus Mayer 2017-08-24 527
2f330caff57762 Markus Mayer 2017-08-24 528 /* Data and instruction sections are 32 bit words. */
2f330caff57762 Markus Mayer 2017-08-24 529 if ((dmem_size % sizeof(u32)) != 0 || (imem_size % sizeof(u32)) != 0)
2f330caff57762 Markus Mayer 2017-08-24 530 return ERR_INVALID_SIZE;
2f330caff57762 Markus Mayer 2017-08-24 531
2f330caff57762 Markus Mayer 2017-08-24 532 /*
2f330caff57762 Markus Mayer 2017-08-24 533 * The header + the data section + the instruction section + the
2f330caff57762 Markus Mayer 2017-08-24 534 * checksum must be equal to the total firmware size.
2f330caff57762 Markus Mayer 2017-08-24 535 */
2f330caff57762 Markus Mayer 2017-08-24 536 total_size = dmem_size + imem_size + sizeof(*header) +
2f330caff57762 Markus Mayer 2017-08-24 537 sizeof(*chksum_ptr);
2f330caff57762 Markus Mayer 2017-08-24 538 if (total_size != fw->size)
2f330caff57762 Markus Mayer 2017-08-24 539 return ERR_INVALID_SIZE;
2f330caff57762 Markus Mayer 2017-08-24 540
2f330caff57762 Markus Mayer 2017-08-24 541 /* The checksum comes at the very end. */
2f330caff57762 Markus Mayer 2017-08-24 542 chksum_ptr = (void *)fw->data + sizeof(*header) + dmem_size + imem_size;
2f330caff57762 Markus Mayer 2017-08-24 543
2f330caff57762 Markus Mayer 2017-08-24 544 init->is_big_endian = is_big_endian;
2f330caff57762 Markus Mayer 2017-08-24 545 init->dmem_len = dmem_size;
2f330caff57762 Markus Mayer 2017-08-24 546 init->imem_len = imem_size;
2f330caff57762 Markus Mayer 2017-08-24 547 init->chksum = (is_big_endian)
2f330caff57762 Markus Mayer 2017-08-24 548 ? be32_to_cpu(*chksum_ptr) : le32_to_cpu(*chksum_ptr);
2f330caff57762 Markus Mayer 2017-08-24 549
2f330caff57762 Markus Mayer 2017-08-24 550 return 0;
2f330caff57762 Markus Mayer 2017-08-24 551 }
2f330caff57762 Markus Mayer 2017-08-24 552
:::::: The code at line 521 was first introduced by commit
:::::: 2f330caff5776239abb3e0337533886dbb21f6df memory: brcmstb: Add driver for DPFE
:::::: TO: Markus Mayer <mmayer@broadcom.com>
:::::: CC: Florian Fainelli <f.fainelli@gmail.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-12-09 1:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-09 1:12 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-12-06 2:05 drivers/memory/brcmstb_dpfe.c:521:29: sparse: sparse: cast to restricted __be32 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=202312090934.5bM1pAFQ-lkp@intel.com \
--to=lkp@intel.com \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@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.