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-rc4 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: 7 days ago :::::: commit date: 7 days ago config: arm-randconfig-c002-20220209 (https://download.01.org/0day-ci/archive/20220214/[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 >>) for_each_net_rcu(net) { ^ include/net/net_namespace.h:339:2: note: expanded from macro 'for_each_net_rcu' list_for_each_entry_rcu(VAR, &net_namespace_list, list) ^ include/linux/rculist.h:391:13: note: expanded from macro 'list_for_each_entry_rcu' pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^ include/linux/rculist.h:307:15: note: expanded from macro 'list_entry_rcu' container_of(READ_ONCE(ptr), type, member) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:302:3: note: expanded from macro '__native_word' (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \ ^ net/netlink/genetlink.c:1445:2: note: Left side of '||' is true for_each_net_rcu(net) { ^ include/net/net_namespace.h:339:2: note: expanded from macro 'for_each_net_rcu' list_for_each_entry_rcu(VAR, &net_namespace_list, list) ^ include/linux/rculist.h:391:13: note: expanded from macro 'list_for_each_entry_rcu' pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^ include/linux/rculist.h:307:15: note: expanded from macro 'list_entry_rcu' container_of(READ_ONCE(ptr), type, member) ^ include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:21: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:303:28: note: expanded from macro '__native_word' sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) ^ net/netlink/genetlink.c:1445:2: note: Taking false branch for_each_net_rcu(net) { ^ include/net/net_namespace.h:339:2: note: expanded from macro 'for_each_net_rcu' list_for_each_entry_rcu(VAR, &net_namespace_list, list) ^ include/linux/rculist.h:391:13: note: expanded from macro 'list_for_each_entry_rcu' pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^ include/linux/rculist.h:307:15: note: expanded from macro 'list_entry_rcu' container_of(READ_ONCE(ptr), type, member) ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:315:3: note: expanded from macro '__compiletime_assert' if (!(condition)) \ ^ net/netlink/genetlink.c:1445:2: note: Loop condition is false. Exiting loop for_each_net_rcu(net) { ^ include/net/net_namespace.h:339:2: note: expanded from macro 'for_each_net_rcu' list_for_each_entry_rcu(VAR, &net_namespace_list, list) ^ include/linux/rculist.h:391:13: note: expanded from macro 'list_for_each_entry_rcu' pos = list_entry_rcu((head)->next, typeof(*pos), member); \ ^ include/linux/rculist.h:307:15: note: expanded from macro 'list_entry_rcu' container_of(READ_ONCE(ptr), type, member) ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:335:2: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^ include/linux/compiler_types.h:323:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ include/linux/compiler_types.h:307:2: note: expanded from macro '__compiletime_assert' do { \ ^ net/netlink/genetlink.c:1445:2: note: Loop condition is false. Execution continues on line 1463 for_each_net_rcu(net) { ^ include/net/net_namespace.h:339:2: note: expanded from macro 'for_each_net_rcu' list_for_each_entry_rcu(VAR, &net_namespace_list, list) ^ include/linux/rculist.h:390:2: note: expanded from macro 'list_for_each_entry_rcu' for (__list_check_rcu(dummy, ## cond, 0), \ ^ net/netlink/genetlink.c:1463:24: note: Access to field 'genl_sock' results in a dereference of a null pointer (loaded from variable 'prev') err = nlmsg_multicast(prev->genl_sock, skb, portid, group, flags); ^~~~ 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. 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); -- ^ drivers/vhost/net.c:1162:6: note: Assuming 'mergeable' is not equal to 0 likely(mergeable) ? UIO_MAXIOV : 1); ^ include/linux/compiler.h:77:38: note: expanded from macro 'likely' # define likely(x) __builtin_expect(!!(x), 1) ^~~~ drivers/vhost/net.c:1162:6: note: '?' condition is true likely(mergeable) ? UIO_MAXIOV : 1); ^ include/linux/compiler.h:77:20: note: expanded from macro 'likely' # define likely(x) __builtin_expect(!!(x), 1) ^ drivers/vhost/net.c:1160:15: note: Calling 'get_rx_bufs' headcount = get_rx_bufs(vq, vq->heads + nvq->done_idx, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/vhost/net.c:1054:2: note: 'len' declared without an initial value u32 len; ^~~~~~~ drivers/vhost/net.c:1056:9: note: Assuming 'datalen' is <= 0 while (datalen > 0 && headcount < quota) { ^~~~~~~~~~~ drivers/vhost/net.c:1056:21: note: Left side of '&&' is false while (datalen > 0 && headcount < quota) { ^ drivers/vhost/net.c:1089:52: note: The left operand of '+' is a garbage value heads[headcount - 1].len = cpu_to_vhost32(vq, len + datalen); ~~~ ^ drivers/vhost/net.c:1186:4: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores] err = sock->ops->recvmsg(sock, &msg, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/vhost/net.c:1186:4: note: Value stored to 'err' is never read err = sock->ops->recvmsg(sock, &msg, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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. 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. 5 warnings generated. kernel/printk/printk.c:156:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(devkmsg_log_str, "on"); ^~~~~~ kernel/printk/printk.c:156:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(devkmsg_log_str, "on"); ^~~~~~ kernel/printk/printk.c:158:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(devkmsg_log_str, "off"); ^~~~~~ kernel/printk/printk.c:158:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(devkmsg_log_str, "off"); ^~~~~~ kernel/printk/printk.c:2633:2: warning: Value stored to 'do_cond_resched' is never read [clang-analyzer-deadcode.DeadStores] do_cond_resched = console_may_schedule; ^ ~~~~~~~~~~~~~~~~~~~~ kernel/printk/printk.c:2633:2: note: Value stored to 'do_cond_resched' is never read do_cond_resched = console_may_schedule; ^ ~~~~~~~~~~~~~~~~~~~~ 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. 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. 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. 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. 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. 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. 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. fs/orangefs/inode.c:836:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores] ret = posix_acl_chmod(&init_user_ns, inode, inode->i_mode); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/orangefs/inode.c:836:3: note: Value stored to 'ret' is never read ret = posix_acl_chmod(&init_user_ns, inode, inode->i_mode); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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. 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. 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. 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. 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. 2 warnings generated. drivers/input/touchscreen/max11801_ts.c:107:3: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores] status = read_register(data->client, GENERNAL_STATUS_REG); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/input/touchscreen/max11801_ts.c:107:3: note: Value stored to 'status' is never read status = read_register(data->client, GENERNAL_STATUS_REG); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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. 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. 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. 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. 3 warnings generated. drivers/net/can/dev/rx-offload.c:84:3: warning: Value stored to 'cb_pos' is never read [clang-analyzer-deadcode.DeadStores] cb_pos = can_rx_offload_get_cb(pos); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/can/dev/rx-offload.c:84:3: note: Value stored to 'cb_pos' is never read 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]
