CC: [email protected] CC: [email protected] CC: Linux Memory Management List <[email protected]> TO: Ivan Mikhaylov <[email protected]> CC: Jonathan Cameron <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: b9011c7e671dbbf59bb753283ddfd03f0c9eb865 commit: f5e9e38e7063dbe2c811bb5ee7d255318eb064b3 [2705/8423] iio: proximity: vcnl3020: add DMA safe buffer :::::: branch date: 24 hours ago :::::: commit date: 3 weeks ago config: riscv-randconfig-c006-20210816 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 44d0a99a12ec7ead4d2f5ef649ba05b40f6d463d) 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-riscv64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=f5e9e38e7063dbe2c811bb5ee7d255318eb064b3 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 f5e9e38e7063dbe2c811bb5ee7d255318eb064b3 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) if (req->state == NVME_TCP_SEND_H2C_PDU) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/nvme/host/tcp.c:1084:2: note: Taking false branch if (req->state == NVME_TCP_SEND_H2C_PDU) { ^ drivers/nvme/host/tcp.c:1090:6: note: Assuming field 'state' is equal to NVME_TCP_SEND_DATA if (req->state == NVME_TCP_SEND_DATA) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/nvme/host/tcp.c:1090:2: note: Taking true branch if (req->state == NVME_TCP_SEND_DATA) { ^ drivers/nvme/host/tcp.c:1091:9: note: Calling 'nvme_tcp_try_send_data' ret = nvme_tcp_try_send_data(req); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/nvme/host/tcp.c:925:2: note: Loop condition is true. Entering loop body while (true) { ^ drivers/nvme/host/tcp.c:932:7: note: 'last' is false if (last && !queue->data_digest && !nvme_tcp_queue_more(queue)) ^~~~ drivers/nvme/host/tcp.c:932:12: note: Left side of '&&' is false if (last && !queue->data_digest && !nvme_tcp_queue_more(queue)) ^ drivers/nvme/host/tcp.c:937:7: note: Assuming the condition is false if (sendpage_ok(page)) { ^~~~~~~~~~~~~~~~~ drivers/nvme/host/tcp.c:937:3: note: Taking false branch if (sendpage_ok(page)) { ^ drivers/nvme/host/tcp.c:944:7: note: Assuming 'ret' is > 0 if (ret <= 0) ^~~~~~~~ drivers/nvme/host/tcp.c:944:3: note: Taking false branch if (ret <= 0) ^ drivers/nvme/host/tcp.c:947:7: note: Assuming field 'data_digest' is true if (queue->data_digest) ^~~~~~~~~~~~~~~~~~ drivers/nvme/host/tcp.c:947:3: note: Taking true branch if (queue->data_digest) ^ drivers/nvme/host/tcp.c:948:4: note: Calling 'nvme_tcp_ddgst_update' nvme_tcp_ddgst_update(queue->snd_hash, page, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/nvme/host/tcp.c:344:2: note: Calling 'sg_init_marker' sg_init_marker(&sg, 1); ^~~~~~~~~~~~~~~~~~~~~~ include/linux/scatterlist.h:264:2: note: Calling 'sg_mark_end' sg_mark_end(&sgl[nents - 1]); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/scatterlist.h:208:16: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage sg->page_link |= SG_END; ~~~~~~~~~~~~~ ^ 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. 9 warnings generated. Suppressed 9 warnings (9 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. 9 warnings generated. Suppressed 9 warnings (9 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. 9 warnings generated. Suppressed 9 warnings (9 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. 8 warnings generated. drivers/iio/proximity/as3935.c:53:8: warning: Excessive padding in 'struct as3935_state' (122 padding bytes, where 58 is optimal). Optimal fields order: buf, spi, scan, trig, noise_tripped, tune_cap, nflwdth_reg, lock, work, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct as3935_state { ~~~~~~~^~~~~~~~~~~~~~ drivers/iio/proximity/as3935.c:53:8: note: Excessive padding in 'struct as3935_state' (122 padding bytes, where 58 is optimal). Optimal fields order: buf, spi, scan, trig, noise_tripped, tune_cap, nflwdth_reg, lock, work, consider reordering the fields or adding explicit padding members struct as3935_state { ~~~~~~~^~~~~~~~~~~~~~ Suppressed 7 warnings (7 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. 9 warnings generated. Suppressed 9 warnings (9 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. 10 warnings generated. Suppressed 10 warnings (9 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. 7 warnings generated. Suppressed 7 warnings (7 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. 9 warnings generated. Suppressed 9 warnings (9 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. 9 warnings generated. Suppressed 9 warnings (9 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. 10 warnings generated. >> drivers/iio/proximity/vcnl3020.c:62:8: warning: Excessive padding in 'struct >> vcnl3020_data' (105 padding bytes, where 41 is optimal). Optimal fields order: buf, rev, regmap, dev, lock, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct vcnl3020_data { ~~~~~~~^~~~~~~~~~~~~~~ drivers/iio/proximity/vcnl3020.c:62:8: note: Excessive padding in 'struct vcnl3020_data' (105 padding bytes, where 41 is optimal). Optimal fields order: buf, rev, regmap, dev, lock, consider reordering the fields or adding explicit padding members struct vcnl3020_data { ~~~~~~~^~~~~~~~~~~~~~~ Suppressed 9 warnings (9 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. 6 warnings generated. Suppressed 6 warnings (6 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. 6 warnings generated. Suppressed 6 warnings (6 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. 6 warnings generated. Suppressed 6 warnings (6 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. 6 warnings generated. Suppressed 6 warnings (6 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. 6 warnings generated. Suppressed 6 warnings (6 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. 6 warnings generated. Suppressed 6 warnings (6 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. 7 warnings generated. Suppressed 7 warnings (7 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. 8 warnings generated. Suppressed 8 warnings (8 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. 9 warnings generated. Suppressed 9 warnings (9 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. 6 warnings generated. Suppressed 6 warnings (6 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. 7 warnings generated. Suppressed 7 warnings (7 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. 15 warnings generated. Suppressed 15 warnings (15 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. 8 warnings generated. drivers/iio/accel/sca3300.c:111:8: warning: Excessive padding in 'struct sca3300_data' (88 padding bytes, where 24 is optimal). Optimal fields order: txbuf, spi, scan, lock, rxbuf, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct sca3300_data { ~~~~~~~^~~~~~~~~~~~~~ drivers/iio/accel/sca3300.c:111:8: note: Excessive padding in 'struct sca3300_data' (88 padding bytes, where 24 is optimal). Optimal fields order: txbuf, spi, scan, lock, rxbuf, consider reordering the fields or adding explicit padding members struct sca3300_data { ~~~~~~~^~~~~~~~~~~~~~ Suppressed 7 warnings (7 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. 9 warnings generated. Suppressed 9 warnings (9 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. 9 warnings generated. Suppressed 9 warnings (9 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. 9 warnings generated. Suppressed 9 warnings (9 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. 9 warnings generated. Suppressed 9 warnings (9 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. 10 warnings generated. drivers/iio/adc/ad7292.c:78:8: warning: Excessive padding in 'struct ad7292_state' (114 padding bytes, where 50 is optimal). Optimal fields order: d16, vref_mv, spi, reg, d8, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct ad7292_state { ~~~~~~~^~~~~~~~~~~~~~ drivers/iio/adc/ad7292.c:78:8: note: Excessive padding in 'struct ad7292_state' (114 padding bytes, where 50 is optimal). Optimal fields order: d16, vref_mv, spi, reg, d8, consider reordering the fields or adding explicit padding members struct ad7292_state { ~~~~~~~^~~~~~~~~~~~~~ Suppressed 9 warnings (9 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 +62 drivers/iio/proximity/vcnl3020.c 6a878e70e88b53 Ivan Mikhaylov 2021-02-25 53 ac101e6b315bfe Ivan Mikhaylov 2020-05-10 54 /** ac101e6b315bfe Ivan Mikhaylov 2020-05-10 55 * struct vcnl3020_data - vcnl3020 specific data. ac101e6b315bfe Ivan Mikhaylov 2020-05-10 56 * @regmap: device register map. ac101e6b315bfe Ivan Mikhaylov 2020-05-10 57 * @dev: vcnl3020 device. ac101e6b315bfe Ivan Mikhaylov 2020-05-10 58 * @rev: revision id. ac101e6b315bfe Ivan Mikhaylov 2020-05-10 59 * @lock: lock for protecting access to device hardware registers. f5e9e38e7063db Ivan Mikhaylov 2021-07-22 60 * @buf: DMA safe __be16 buffer. ac101e6b315bfe Ivan Mikhaylov 2020-05-10 61 */ ac101e6b315bfe Ivan Mikhaylov 2020-05-10 @62 struct vcnl3020_data { ac101e6b315bfe Ivan Mikhaylov 2020-05-10 63 struct regmap *regmap; ac101e6b315bfe Ivan Mikhaylov 2020-05-10 64 struct device *dev; ac101e6b315bfe Ivan Mikhaylov 2020-05-10 65 u8 rev; ac101e6b315bfe Ivan Mikhaylov 2020-05-10 66 struct mutex lock; f5e9e38e7063db Ivan Mikhaylov 2021-07-22 67 __be16 buf ____cacheline_aligned; ac101e6b315bfe Ivan Mikhaylov 2020-05-10 68 }; ac101e6b315bfe Ivan Mikhaylov 2020-05-10 69 :::::: The code at line 62 was first introduced by commit :::::: ac101e6b315bfeb5a4f43a962f589e567855c177 iio: proximity: Add driver support for vcnl3020 proximity sensor :::::: TO: Ivan Mikhaylov <[email protected]> :::::: CC: Jonathan Cameron <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
