CC: [email protected] CC: [email protected] In-Reply-To: <[email protected]> References: <[email protected]> TO: Cosmin Tanislav <[email protected]> CC: [email protected] CC: [email protected] CC: "Lars-Peter Clausen" <[email protected]> CC: Michael Hennerich <[email protected]> CC: Rob Herring <[email protected]> CC: [email protected] CC: [email protected] CC: [email protected]
Hi Cosmin, I love your patch! Perhaps something to improve: [auto build test WARNING on jic23-iio/togreg] [also build test WARNING on robh/for-next linus/master v5.17-rc3 next-20220211] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Cosmin-Tanislav/Add-ADXL367-driver/20220207-051424 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg :::::: branch date: 5 days ago :::::: commit date: 5 days ago config: arm-randconfig-c002-20220209 (https://download.01.org/0day-ci/archive/20220212/[email protected]/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project e8bff9ae54a55b4dbfeb6ba55f723abbd81bf494) 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://github.com/0day-ci/linux/commit/598203f0ba563c39a04a781c2c6acd9375b3b01c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Cosmin-Tanislav/Add-ADXL367-driver/20220207-051424 git checkout 598203f0ba563c39a04a781c2c6acd9375b3b01c # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 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 >>) drivers/crypto/caam/caamalg.c:1505:2: note: 3rd function call argument is an uninitialized value init_authenc_job(req, edesc, all_contig, encrypt); ^ ~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1561:2: warning: 3rd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] init_gcm_job(req, edesc, all_contig, encrypt); ^ drivers/crypto/caam/caamalg.c:1587:9: note: '?' condition is false return crypto_ipsec_check_assoclen(req->assoclen) ? : gcm_decrypt(req); ^ drivers/crypto/caam/caamalg.c:1587:56: note: Calling 'gcm_decrypt' return crypto_ipsec_check_assoclen(req->assoclen) ? : gcm_decrypt(req); ^~~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1577:9: note: Calling 'gcm_crypt' return gcm_crypt(req, false); ^~~~~~~~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1552:2: note: 'all_contig' declared without an initial value bool all_contig; ^~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1555:10: note: Calling 'aead_edesc_alloc' edesc = aead_edesc_alloc(req, GCM_DESC_JOB_IO_LEN, &all_contig, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1296:17: note: Assuming the condition is true gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1296:16: note: '?' condition is true gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ? ^ drivers/crypto/caam/caamalg.c:1304:15: note: Assuming field 'dst' is equal to field 'src' if (unlikely(req->dst != req->src)) { ^ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ drivers/crypto/caam/caamalg.c:1304:2: note: Taking false branch if (unlikely(req->dst != req->src)) { ^ drivers/crypto/caam/caamalg.c:1323:7: note: 'encrypt' is false (encrypt ? authsize : 0); ^~~~~~~ drivers/crypto/caam/caamalg.c:1323:7: note: '?' condition is false drivers/crypto/caam/caamalg.c:1326:16: note: Assuming 'src_nents' is < 0 if (unlikely(src_nents < 0)) { ^ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ drivers/crypto/caam/caamalg.c:1326:3: note: Taking true branch if (unlikely(src_nents < 0)) { ^ drivers/crypto/caam/caamalg.c:1327:4: note: Loop condition is false. Exiting loop dev_err(jrdev, "Insufficient bytes (%d) in src S/G\n", ^ include/linux/dev_printk.h:144:2: note: expanded from macro 'dev_err' dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__) ^ include/linux/dev_printk.h:109:3: note: expanded from macro 'dev_printk_index_wrap' dev_printk_index_emit(level, fmt); \ ^ include/linux/dev_printk.h:105:2: note: expanded from macro 'dev_printk_index_emit' printk_index_subsys_emit("%s %s: ", level, fmt) ^ include/linux/printk.h:417:2: note: expanded from macro 'printk_index_subsys_emit' __printk_index_emit(fmt, level, subsys_fmt_prefix) ^ include/linux/printk.h:396:34: note: expanded from macro '__printk_index_emit' #define __printk_index_emit(...) do {} while (0) ^ drivers/crypto/caam/caamalg.c:1329:4: note: Returning without writing to '*all_contig_ptr' return ERR_PTR(src_nents); ^ drivers/crypto/caam/caamalg.c:1555:10: note: Returning from 'aead_edesc_alloc' edesc = aead_edesc_alloc(req, GCM_DESC_JOB_IO_LEN, &all_contig, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1557:6: note: Calling 'IS_ERR' if (IS_ERR(edesc)) ^~~~~~~~~~~~~ include/linux/err.h:36:9: note: Assuming the condition is false return IS_ERR_VALUE((unsigned long)ptr); ^ include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE' #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ include/linux/err.h:36:2: note: Returning zero, which participates in a condition later return IS_ERR_VALUE((unsigned long)ptr); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1557:6: note: Returning from 'IS_ERR' if (IS_ERR(edesc)) ^~~~~~~~~~~~~ drivers/crypto/caam/caamalg.c:1557:2: note: Taking false branch if (IS_ERR(edesc)) ^ drivers/crypto/caam/caamalg.c:1561:2: note: 3rd function call argument is an uninitialized value init_gcm_job(req, edesc, all_contig, encrypt); ^ ~~~~~~~~~~ Suppressed 4 warnings (3 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. 4 warnings generated. >> drivers/iio/accel/adxl367.c:156:8: warning: Excessive padding in 'struct >> adxl367_state' (51 padding bytes, where 19 is optimal). Optimal fields order: fifo_buf, ops, context, dev, regmap, odr, range, act_threshold, act_time_ms, inact_threshold, inact_time_ms, fifo_set_size, fifo_watermark, regulators, lock, sample_buf, act_threshold_buf, inact_time_buf, status_buf, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct adxl367_state { ~~~~~~~^~~~~~~~~~~~~~~ drivers/iio/accel/adxl367.c:156:8: note: Excessive padding in 'struct adxl367_state' (51 padding bytes, where 19 is optimal). Optimal fields order: fifo_buf, ops, context, dev, regmap, odr, range, act_threshold, act_time_ms, inact_threshold, inact_time_ms, fifo_set_size, fifo_watermark, regulators, lock, sample_buf, act_threshold_buf, inact_time_buf, status_buf, consider reordering the fields or adding explicit padding members struct adxl367_state { ~~~~~~~^~~~~~~~~~~~~~~ >> drivers/iio/accel/adxl367.c:884:10: warning: The left expression of the >> compound assignment is an uninitialized value. The computed value will also >> be garbage [clang-analyzer-core.uninitialized.Assign] handled |= adxl367_push_event(indio_dev, status); ~~~~~~~ ^ drivers/iio/accel/adxl367.c:876:2: note: 'handled' declared without an initial value bool handled; ^~~~~~~~~~~~ drivers/iio/accel/adxl367.c:880:8: note: Calling 'adxl367_get_status' ret = adxl367_get_status(st, &status, &fifo_entries); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/accel/adxl367.c:817:6: note: Assuming 'ret' is 0 if (ret) ^~~ drivers/iio/accel/adxl367.c:817:2: note: Taking false branch if (ret) ^ drivers/iio/accel/adxl367.c:825:2: note: Returning zero, which participates in a condition later return 0; ^~~~~~~~ drivers/iio/accel/adxl367.c:880:8: note: Returning from 'adxl367_get_status' ret = adxl367_get_status(st, &status, &fifo_entries); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/accel/adxl367.c:881:6: note: 'ret' is 0 if (ret) ^~~ drivers/iio/accel/adxl367.c:881:2: note: Taking false branch if (ret) ^ drivers/iio/accel/adxl367.c:884:10: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage handled |= adxl367_push_event(indio_dev, status); ~~~~~~~ ^ Suppressed 2 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. net/bluetooth/hci_request.c:2342:2: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] mgmt_set_connectable_complete(hdev, status); ^ ~~~~~~ net/bluetooth/hci_request.c:2339:2: note: 'status' declared without an initial value u8 status; ^~~~~~~~~ net/bluetooth/hci_request.c:2341:2: note: Calling 'hci_req_sync' hci_req_sync(hdev, connectable_update, 0, HCI_CMD_TIMEOUT, &status); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/bluetooth/hci_request.c:282:6: note: Assuming the condition is false if (test_bit(HCI_UP, &hdev->flags)) ^ include/asm-generic/bitops/non-atomic.h:120:18: note: expanded from macro 'test_bit' #define test_bit arch_test_bit ^ net/bluetooth/hci_request.c:282:2: note: Taking false branch if (test_bit(HCI_UP, &hdev->flags)) ^ net/bluetooth/hci_request.c:288:2: note: Returning without writing to '*hci_status' return ret; ^ net/bluetooth/hci_request.c:2341:2: note: Returning from 'hci_req_sync' hci_req_sync(hdev, connectable_update, 0, HCI_CMD_TIMEOUT, &status); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/bluetooth/hci_request.c:2342:2: note: 2nd function call argument is an uninitialized value mgmt_set_connectable_complete(hdev, status); ^ ~~~~~~ net/bluetooth/hci_request.c:2455:2: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] mgmt_set_discoverable_complete(hdev, status); ^ ~~~~~~ net/bluetooth/hci_request.c:2452:2: note: 'status' declared without an initial value u8 status; ^~~~~~~~~ net/bluetooth/hci_request.c:2454:2: note: Calling 'hci_req_sync' hci_req_sync(hdev, discoverable_update, 0, HCI_CMD_TIMEOUT, &status); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/bluetooth/hci_request.c:282:6: note: Assuming the condition is false if (test_bit(HCI_UP, &hdev->flags)) ^ include/asm-generic/bitops/non-atomic.h:120:18: note: expanded from macro 'test_bit' #define test_bit arch_test_bit ^ net/bluetooth/hci_request.c:282:2: note: Taking false branch if (test_bit(HCI_UP, &hdev->flags)) ^ net/bluetooth/hci_request.c:288:2: note: Returning without writing to '*hci_status' return ret; ^ net/bluetooth/hci_request.c:2454:2: note: Returning from 'hci_req_sync' hci_req_sync(hdev, discoverable_update, 0, HCI_CMD_TIMEOUT, &status); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/bluetooth/hci_request.c:2455:2: note: 2nd function call argument is an uninitialized value mgmt_set_discoverable_complete(hdev, status); ^ ~~~~~~ net/bluetooth/hci_request.c:2575:3: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] hci_le_conn_failed(conn, status); ^ ~~~~~~ net/bluetooth/hci_request.c:2564:2: note: 'status' declared without an initial value u8 status; ^~~~~~~~~ net/bluetooth/hci_request.c:2567:8: note: Calling 'hci_req_sync' err = hci_req_sync(hdev, update_bg_scan, 0, HCI_CMD_TIMEOUT, &status); -- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/minmax.h:28:26: note: expanded from macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:437:20: note: '?' condition is false bytes_to_copy = min(user_buf_len, pkt_len); ^ include/linux/minmax.h:45:19: note: expanded from macro 'min' #define min(x, y) __careful_cmp(x, y, <) ^ include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp' __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op)) ^ include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once' __cmp(unique_x, unique_y, op); }) ^ include/linux/minmax.h:28:26: note: expanded from macro '__cmp' #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) ^ net/vmw_vsock/virtio_transport_common.c:439:8: note: Assuming 'bytes_to_copy' is not equal to 0 if (bytes_to_copy) { ^~~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:439:4: note: Taking true branch if (bytes_to_copy) { ^ net/vmw_vsock/virtio_transport_common.c:448:9: note: 'err' is -14 if (err) { ^~~ net/vmw_vsock/virtio_transport_common.c:448:5: note: Taking true branch if (err) { ^ net/vmw_vsock/virtio_transport_common.c:460:8: note: 'dequeued_len' is < 0 if (dequeued_len >= 0) ^~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:460:4: note: Taking false branch if (dequeued_len >= 0) ^ net/vmw_vsock/virtio_transport_common.c:464:7: note: Assuming the condition is false if (le32_to_cpu(pkt->hdr.flags) & VIRTIO_VSOCK_SEQ_EOM) { ^ include/linux/byteorder/generic.h:89:21: note: expanded from macro 'le32_to_cpu' #define le32_to_cpu __le32_to_cpu ^ include/uapi/linux/byteorder/little_endian.h:34:26: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) ^ net/vmw_vsock/virtio_transport_common.c:464:3: note: Taking false branch if (le32_to_cpu(pkt->hdr.flags) & VIRTIO_VSOCK_SEQ_EOM) { ^ net/vmw_vsock/virtio_transport_common.c:429:2: note: Loop condition is true. Entering loop body while (!msg_ready) { ^ net/vmw_vsock/virtio_transport_common.c:432:7: note: 'dequeued_len' is < 0 if (dequeued_len >= 0) { ^~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:432:3: note: Taking false branch if (dequeued_len >= 0) { ^ net/vmw_vsock/virtio_transport_common.c:464:7: note: Assuming the condition is false if (le32_to_cpu(pkt->hdr.flags) & VIRTIO_VSOCK_SEQ_EOM) { ^ include/linux/byteorder/generic.h:89:21: note: expanded from macro 'le32_to_cpu' #define le32_to_cpu __le32_to_cpu ^ include/uapi/linux/byteorder/little_endian.h:34:26: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) ^ net/vmw_vsock/virtio_transport_common.c:464:3: note: Taking false branch if (le32_to_cpu(pkt->hdr.flags) & VIRTIO_VSOCK_SEQ_EOM) { ^ net/vmw_vsock/virtio_transport_common.c:474:3: note: Calling 'virtio_transport_free_pkt' virtio_transport_free_pkt(pkt); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:1345:2: note: Memory is released kfree(pkt); ^~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:474:3: note: Returning; memory was released virtio_transport_free_pkt(pkt); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:429:2: note: Loop condition is true. Entering loop body while (!msg_ready) { ^ net/vmw_vsock/virtio_transport_common.c:432:7: note: 'dequeued_len' is < 0 if (dequeued_len >= 0) { ^~~~~~~~~~~~ net/vmw_vsock/virtio_transport_common.c:432:3: note: Taking false branch if (dequeued_len >= 0) { ^ net/vmw_vsock/virtio_transport_common.c:464:7: note: Use of memory after it is freed if (le32_to_cpu(pkt->hdr.flags) & VIRTIO_VSOCK_SEQ_EOM) { ^ include/linux/byteorder/generic.h:89:21: note: expanded from macro 'le32_to_cpu' #define le32_to_cpu __le32_to_cpu ^ include/uapi/linux/byteorder/little_endian.h:34:50: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) ^~~ Suppressed 1 warnings (1 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. 4 warnings generated. >> drivers/iio/accel/adxl367.c:156:8: warning: Excessive padding in 'struct >> adxl367_state' (51 padding bytes, where 19 is optimal). Optimal fields order: fifo_buf, ops, context, dev, regmap, odr, range, act_threshold, act_time_ms, inact_threshold, inact_time_ms, fifo_set_size, fifo_watermark, regulators, lock, sample_buf, act_threshold_buf, inact_time_buf, status_buf, consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding] struct adxl367_state { ~~~~~~~^~~~~~~~~~~~~~~ drivers/iio/accel/adxl367.c:156:8: note: Excessive padding in 'struct adxl367_state' (51 padding bytes, where 19 is optimal). Optimal fields order: fifo_buf, ops, context, dev, regmap, odr, range, act_threshold, act_time_ms, inact_threshold, inact_time_ms, fifo_set_size, fifo_watermark, regulators, lock, sample_buf, act_threshold_buf, inact_time_buf, status_buf, consider reordering the fields or adding explicit padding members struct adxl367_state { ~~~~~~~^~~~~~~~~~~~~~~ >> drivers/iio/accel/adxl367.c:884:10: warning: The left expression of the >> compound assignment is an uninitialized value. The computed value will also >> be garbage [clang-analyzer-core.uninitialized.Assign] handled |= adxl367_push_event(indio_dev, status); ~~~~~~~ ^ drivers/iio/accel/adxl367.c:876:2: note: 'handled' declared without an initial value bool handled; ^~~~~~~~~~~~ drivers/iio/accel/adxl367.c:880:8: note: Calling 'adxl367_get_status' ret = adxl367_get_status(st, &status, &fifo_entries); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/accel/adxl367.c:817:6: note: Assuming 'ret' is 0 if (ret) ^~~ drivers/iio/accel/adxl367.c:817:2: note: Taking false branch if (ret) ^ drivers/iio/accel/adxl367.c:825:2: note: Returning zero, which participates in a condition later return 0; ^~~~~~~~ drivers/iio/accel/adxl367.c:880:8: note: Returning from 'adxl367_get_status' ret = adxl367_get_status(st, &status, &fifo_entries); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/iio/accel/adxl367.c:881:6: note: 'ret' is 0 if (ret) ^~~ drivers/iio/accel/adxl367.c:881:2: note: Taking false branch if (ret) ^ drivers/iio/accel/adxl367.c:884:10: note: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage handled |= adxl367_push_event(indio_dev, status); ~~~~~~~ ^ Suppressed 2 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 2 warnings generated. Suppressed 2 warnings (1 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. 2 warnings generated. Suppressed 2 warnings (1 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. 2 warnings generated. Suppressed 2 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 2 warnings generated. net/decnet/dn_nsp_in.c:763:3: warning: Value stored to 'ptr' is never read [clang-analyzer-deadcode.DeadStores] ptr += 2; ^ ~ net/decnet/dn_nsp_in.c:763:3: note: Value stored to 'ptr' is never read ptr += 2; ^ ~ Suppressed 1 warnings (1 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. 1 warning generated. Suppressed 1 warnings (1 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. 4 warnings generated. net/decnet/dn_route.c:827:20: warning: Value stored to 'cb' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct dn_skb_cb *cb = DN_SKB_CB(skb); ^~ net/decnet/dn_route.c:827:20: note: Value stored to 'cb' during its initialization is never read struct dn_skb_cb *cb = DN_SKB_CB(skb); ^~ net/decnet/dn_route.c:839:20: warning: Value stored to 'cb' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct dn_skb_cb *cb = DN_SKB_CB(skb); ^~ net/decnet/dn_route.c:839:20: note: Value stored to 'cb' during its initialization is never read struct dn_skb_cb *cb = DN_SKB_CB(skb); ^~ net/decnet/dn_route.c:890:39: warning: Access to field 'mtu' results in a dereference of a null pointer (loaded from field 'dev') [clang-analyzer-core.NullDereference] if (dst_metric(&rt->dst, RTAX_MTU) > rt->dst.dev->mtu) ^ net/decnet/dn_route.c:1646:6: note: Assuming the condition is false if (!net_eq(net, &init_net)) ^~~~~~~~~~~~~~~~~~~~~~~ net/decnet/dn_route.c:1646:2: note: Taking false branch if (!net_eq(net, &init_net)) ^ net/decnet/dn_route.c:1651:6: note: Assuming 'err' is >= 0 if (err < 0) ^~~~~~~ net/decnet/dn_route.c:1651:2: note: Taking false branch if (err < 0) ^ net/decnet/dn_route.c:1658:6: note: Assuming 'skb' is not equal to NULL if (skb == NULL) ^~~~~~~~~~~ net/decnet/dn_route.c:1658:2: note: Taking false branch if (skb == NULL) ^ net/decnet/dn_route.c:1663:6: note: Assuming the condition is true if (tb[RTA_SRC]) ^~~~~~~~~~~ net/decnet/dn_route.c:1663:2: note: Taking true branch if (tb[RTA_SRC]) ^ net/decnet/dn_route.c:1666:6: note: Assuming the condition is false if (tb[RTA_DST]) vim +156 drivers/iio/accel/adxl367.c 598203f0ba563c Cosmin Tanislav 2022-02-06 155 598203f0ba563c Cosmin Tanislav 2022-02-06 @156 struct adxl367_state { 598203f0ba563c Cosmin Tanislav 2022-02-06 157 const struct adxl367_ops *ops; 598203f0ba563c Cosmin Tanislav 2022-02-06 158 void *context; 598203f0ba563c Cosmin Tanislav 2022-02-06 159 598203f0ba563c Cosmin Tanislav 2022-02-06 160 struct device *dev; 598203f0ba563c Cosmin Tanislav 2022-02-06 161 struct regmap *regmap; 598203f0ba563c Cosmin Tanislav 2022-02-06 162 598203f0ba563c Cosmin Tanislav 2022-02-06 163 struct regulator_bulk_data regulators[2]; 598203f0ba563c Cosmin Tanislav 2022-02-06 164 598203f0ba563c Cosmin Tanislav 2022-02-06 165 /* 598203f0ba563c Cosmin Tanislav 2022-02-06 166 * Synchronize access to members of driver state, and ensure atomicity 598203f0ba563c Cosmin Tanislav 2022-02-06 167 * of consecutive regmap operations. 598203f0ba563c Cosmin Tanislav 2022-02-06 168 */ 598203f0ba563c Cosmin Tanislav 2022-02-06 169 struct mutex lock; 598203f0ba563c Cosmin Tanislav 2022-02-06 170 598203f0ba563c Cosmin Tanislav 2022-02-06 171 enum adxl367_odr odr; 598203f0ba563c Cosmin Tanislav 2022-02-06 172 enum adxl367_range range; 598203f0ba563c Cosmin Tanislav 2022-02-06 173 598203f0ba563c Cosmin Tanislav 2022-02-06 174 unsigned int act_threshold; 598203f0ba563c Cosmin Tanislav 2022-02-06 175 unsigned int act_time_ms; 598203f0ba563c Cosmin Tanislav 2022-02-06 176 unsigned int inact_threshold; 598203f0ba563c Cosmin Tanislav 2022-02-06 177 unsigned int inact_time_ms; 598203f0ba563c Cosmin Tanislav 2022-02-06 178 598203f0ba563c Cosmin Tanislav 2022-02-06 179 unsigned int fifo_set_size; 598203f0ba563c Cosmin Tanislav 2022-02-06 180 unsigned int fifo_watermark; 598203f0ba563c Cosmin Tanislav 2022-02-06 181 598203f0ba563c Cosmin Tanislav 2022-02-06 182 __be16 fifo_buf[ADXL367_FIFO_SIZE] ____cacheline_aligned; 598203f0ba563c Cosmin Tanislav 2022-02-06 183 __be16 sample_buf; 598203f0ba563c Cosmin Tanislav 2022-02-06 184 u8 act_threshold_buf[2]; 598203f0ba563c Cosmin Tanislav 2022-02-06 185 u8 inact_time_buf[2]; 598203f0ba563c Cosmin Tanislav 2022-02-06 186 u8 status_buf[3]; 598203f0ba563c Cosmin Tanislav 2022-02-06 187 }; 598203f0ba563c Cosmin Tanislav 2022-02-06 188 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
