From: kernel test robot <lkp@intel.com>
To: David Jander <david@protonic.nl>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
Linux Memory Management List <linux-mm@kvack.org>,
Mark Brown <broonie@kernel.org>
Subject: [linux-next:master 4882/12552] drivers/iio/adc/ti-adc108s102.c:59:8: warning: Excessive padding in 'struct adc108s102_state' (56 padding bytes, where 24 is optimal). Optimal fields order: rx_buf, spi, reg, va_millivolt, tx_buf, ring_msg, scan_single_msg, ring_xfer, scan_single_xfer, co...
Date: Sun, 24 Jul 2022 23:59:42 +0800 [thread overview]
Message-ID: <202207242337.HY6svWLM-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 18c107a1f120d095404d141dfad8f594bdc44020
commit: 1714582a3a087eda8786d5a1b32b2ec86ca8a303 [4882/12552] spi: Move ctlr->cur_msg_prepared to struct spi_message
config: arm-randconfig-c002-20220718 (https://download.01.org/0day-ci/archive/20220724/202207242337.HY6svWLM-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d74b88c69dc2644bd0dc5d64e2d7413a0d4040e5)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1714582a3a087eda8786d5a1b32b2ec86ca8a303
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 1714582a3a087eda8786d5a1b32b2ec86ca8a303
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/accel/adxl313_core.c:46:8: note: Excessive padding in 'struct adxl313_data' (46 padding bytes, where 14 is optimal). Optimal fields order: transf_buf, regmap, lock, consider reordering the fields or adding explicit padding members
struct adxl313_data {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
30 warnings generated.
Suppressed 30 warnings (30 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
30 warnings generated.
Suppressed 30 warnings (30 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
42 warnings generated.
Suppressed 42 warnings (41 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
42 warnings generated.
drivers/iio/magnetometer/ak8974.c:477:3: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memset(tab, 0xFF, tab_size);
^~~~~~
drivers/iio/magnetometer/ak8974.c:477:3: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11
memset(tab, 0xFF, tab_size);
^~~~~~
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
29 warnings generated.
Suppressed 29 warnings (29 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
29 warnings generated.
Suppressed 29 warnings (29 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
29 warnings generated.
Suppressed 29 warnings (29 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
42 warnings generated.
Suppressed 42 warnings (42 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
43 warnings generated.
drivers/iio/dac/ad5064.c:105:8: warning: Excessive padding in 'struct ad5064_state' (35 padding bytes, where 3 is optimal). Optimal fields order: data, dev, chip_info, write, lock, dac_cache, vref_reg, use_internal_vref, pwr_down, pwr_down_mode, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct ad5064_state {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ad5064.c:105:8: note: Excessive padding in 'struct ad5064_state' (35 padding bytes, where 3 is optimal). Optimal fields order: data, dev, chip_info, write, lock, dac_cache, vref_reg, use_internal_vref, pwr_down, pwr_down_mode, consider reordering the fields or adding explicit padding members
struct ad5064_state {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 42 warnings (42 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
42 warnings generated.
Suppressed 42 warnings (42 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
44 warnings generated.
drivers/iio/adc/ti-adc12138.c:38:8: warning: Excessive padding in 'struct adc12138' (36 padding bytes, where 4 is optimal). Optimal fields order: tx_buf, rx_buf, spi, data, id, cclk, vref_p, vref_n, acquisition_time, lock, complete, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adc12138 {
~~~~~~~^~~~~~~~~~
drivers/iio/adc/ti-adc12138.c:38:8: note: Excessive padding in 'struct adc12138' (36 padding bytes, where 4 is optimal). Optimal fields order: tx_buf, rx_buf, spi, data, id, cclk, vref_p, vref_n, acquisition_time, lock, complete, consider reordering the fields or adding explicit padding members
struct adc12138 {
~~~~~~~^~~~~~~~~~
drivers/iio/adc/ti-adc12138.c:148:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
memcpy(rx_buf, adc->rx_buf, len);
^~~~~~
drivers/iio/adc/ti-adc12138.c:148:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
memcpy(rx_buf, adc->rx_buf, len);
^~~~~~
Suppressed 42 warnings (42 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
43 warnings generated.
>> drivers/iio/adc/ti-adc108s102.c:59:8: warning: Excessive padding in 'struct adc108s102_state' (56 padding bytes, where 24 is optimal). Optimal fields order: rx_buf, spi, reg, va_millivolt, tx_buf, ring_msg, scan_single_msg, ring_xfer, scan_single_xfer, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adc108s102_state {
~~~~~~~^~~~~~~~~~~~~~~~~~
drivers/iio/adc/ti-adc108s102.c:59:8: note: Excessive padding in 'struct adc108s102_state' (56 padding bytes, where 24 is optimal). Optimal fields order: rx_buf, spi, reg, va_millivolt, tx_buf, ring_msg, scan_single_msg, ring_xfer, scan_single_xfer, consider reordering the fields or adding explicit padding members
struct adc108s102_state {
~~~~~~~^~~~~~~~~~~~~~~~~~
Suppressed 42 warnings (42 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
43 warnings generated.
drivers/iio/dac/mcp4922.c:27:8: warning: Excessive padding in 'struct mcp4922_state' (42 padding bytes, where 10 is optimal). Optimal fields order: mosi, spi, vref_mv, vref_reg, value, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct mcp4922_state {
~~~~~~~^~~~~~~~~~~~~~~
drivers/iio/dac/mcp4922.c:27:8: note: Excessive padding in 'struct mcp4922_state' (42 padding bytes, where 10 is optimal). Optimal fields order: mosi, spi, vref_mv, vref_reg, value, consider reordering the fields or adding explicit padding members
struct mcp4922_state {
~~~~~~~^~~~~~~~~~~~~~~
Suppressed 42 warnings (42 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
42 warnings generated.
drivers/iio/dac/ti-dac5571.c:44:8: warning: Excessive padding in 'struct dac5571_data' (41 padding bytes, where 9 is optimal). Optimal fields order: buf, powerdown, powerdown_mode, client, id, vref, spec, dac5571_cmd, dac5571_pwrdwn, lock, val, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct dac5571_data {
~~~~~~~^~~~~~~~~~~~~~
drivers/iio/dac/ti-dac5571.c:44:8: note: Excessive padding in 'struct dac5571_data' (41 padding bytes, where 9 is optimal). Optimal fields order: buf, powerdown, powerdown_mode, client, id, vref, spec, dac5571_cmd, dac5571_pwrdwn, lock, val, consider reordering the fields or adding explicit padding members
struct dac5571_data {
~~~~~~~^~~~~~~~~~~~~~
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
14 warnings generated.
Suppressed 14 warnings (14 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
41 warnings generated.
Suppressed 41 warnings (41 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
28 warnings generated.
Suppressed 28 warnings (28 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
28 warnings generated.
Suppressed 28 warnings (28 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
31 warnings generated.
Suppressed 31 warnings (31 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
33 warnings generated.
Suppressed 33 warnings (31 in non-user code, 2 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
33 warnings generated.
drivers/media/mc/mc-request.c:190:23: warning: Value stored to 'mdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct media_device *mdev = req->mdev;
^~~~ ~~~~~~~~~
drivers/media/mc/mc-request.c:190:23: note: Value stored to 'mdev' during its initialization is never read
struct media_device *mdev = req->mdev;
^~~~ ~~~~~~~~~
drivers/media/mc/mc-request.c:331:2: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
snprintf(req->debug_str, sizeof(req->debug_str), "%u:%d",
^~~~~~~~
drivers/media/mc/mc-request.c:331:2: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
snprintf(req->debug_str, sizeof(req->debug_str), "%u:%d",
^~~~~~~~
Suppressed 31 warnings (31 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
33 warnings generated.
Suppressed 33 warnings (33 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
46 warnings generated.
drivers/media/v4l2-core/v4l2-async.c:478:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev =
^~~
drivers/media/v4l2-core/v4l2-async.c:478:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev =
^~~
Suppressed 45 warnings (44 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
30 warnings generated.
drivers/bcma/scan.c:450:2: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
snprintf(chip_id, ARRAY_SIZE(chip_id),
^~~~~~~~
drivers/bcma/scan.c:450:2: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
snprintf(chip_id, ARRAY_SIZE(chip_id),
^~~~~~~~
Suppressed 29 warnings (29 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
vim +59 drivers/iio/adc/ti-adc108s102.c
7e87d11c9bda75 Jan Kiszka 2017-05-17 58
7e87d11c9bda75 Jan Kiszka 2017-05-17 @59 struct adc108s102_state {
7e87d11c9bda75 Jan Kiszka 2017-05-17 60 struct spi_device *spi;
7e87d11c9bda75 Jan Kiszka 2017-05-17 61 struct regulator *reg;
7e87d11c9bda75 Jan Kiszka 2017-05-17 62 u32 va_millivolt;
7e87d11c9bda75 Jan Kiszka 2017-05-17 63 /* SPI transfer used by triggered buffer handler*/
7e87d11c9bda75 Jan Kiszka 2017-05-17 64 struct spi_transfer ring_xfer;
7e87d11c9bda75 Jan Kiszka 2017-05-17 65 /* SPI transfer used by direct scan */
7e87d11c9bda75 Jan Kiszka 2017-05-17 66 struct spi_transfer scan_single_xfer;
7e87d11c9bda75 Jan Kiszka 2017-05-17 67 /* SPI message used by ring_xfer SPI transfer */
7e87d11c9bda75 Jan Kiszka 2017-05-17 68 struct spi_message ring_msg;
7e87d11c9bda75 Jan Kiszka 2017-05-17 69 /* SPI message used by scan_single_xfer SPI transfer */
7e87d11c9bda75 Jan Kiszka 2017-05-17 70 struct spi_message scan_single_msg;
7e87d11c9bda75 Jan Kiszka 2017-05-17 71
7e87d11c9bda75 Jan Kiszka 2017-05-17 72 /*
7e87d11c9bda75 Jan Kiszka 2017-05-17 73 * SPI message buffers:
7e87d11c9bda75 Jan Kiszka 2017-05-17 74 * tx_buf: |C0|C1|C2|C3|C4|C5|C6|C7|XX|
7e87d11c9bda75 Jan Kiszka 2017-05-17 75 * rx_buf: |XX|R0|R1|R2|R3|R4|R5|R6|R7|tt|tt|tt|tt|
7e87d11c9bda75 Jan Kiszka 2017-05-17 76 *
7e87d11c9bda75 Jan Kiszka 2017-05-17 77 * tx_buf: 8 channel read commands, plus 1 dummy command
cbe5c697760411 Jonathan Cameron 2021-06-13 78 * rx_buf: 1 dummy response, 8 channel responses
7e87d11c9bda75 Jan Kiszka 2017-05-17 79 */
cbe5c697760411 Jonathan Cameron 2021-06-13 80 __be16 rx_buf[9] ____cacheline_aligned;
7e87d11c9bda75 Jan Kiszka 2017-05-17 81 __be16 tx_buf[9] ____cacheline_aligned;
7e87d11c9bda75 Jan Kiszka 2017-05-17 82 };
7e87d11c9bda75 Jan Kiszka 2017-05-17 83
:::::: The code at line 59 was first introduced by commit
:::::: 7e87d11c9bda75816ced8d0895e8d24e5c52833a iio: adc: Add support for TI ADC108S102 and ADC128S102
:::::: TO: Jan Kiszka <jan.kiszka@siemens.com>
:::::: CC: Jonathan Cameron <jic23@kernel.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-07-24 16:00 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=202207242337.HY6svWLM-lkp@intel.com \
--to=lkp@intel.com \
--cc=broonie@kernel.org \
--cc=david@protonic.nl \
--cc=kbuild-all@lists.01.org \
--cc=linux-mm@kvack.org \
--cc=llvm@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).