Skip to content
This repository was archived by the owner on Jul 1, 2020. It is now read-only.

SRP and INFINIBAND variant of error: call to '__read_overflow2' #145

Closed
FAMILIAR-project opened this issue Apr 25, 2019 · 0 comments
Closed
Labels
tuxml-study-buildfailures Discussions/insights about build failures

Comments

@FAMILIAR-project
Copy link
Collaborator

FAMILIAR-project commented Apr 25, 2019

When investigating 2 failures (thanks to rule-based decision tree):
rawtuxdata.query("SCSI_SRP_ATTRS == 'n' & INFINIBAND_SRPT == 'y' & ISDN_DIVAS_USERIDI == 'n' & MLX5_INFINIBAND != 'y' & GENERIC_ALLOCATOR == 'n' & DRM_VBOXVIDEO != 'y' & WANXL_BUILD_FIRMWARE != 'y' & AIC7XXX_BUILD_FIRMWARE != 'y' & AIC79XX_BUILD_FIRMWARE != 'y'")[['cid', 'vmlinux', 'IPV6', 'UBSAN_SANITIZE_ALL', 'INFINIBAND_ADDR_TRANS', 'FORTIFY_SOURCE', 'UBSAN_ALIGNMENT', 'UBSAN_NULL']]

I was surprised to notice similar error messages as in #142

######## configuration cid 45279
In file included from ./include/linux/uaccess.h:13:0,
                 from ./include/linux/highmem.h:8,
                 from fs/binfmt_elf.c:28:
fs/binfmt_elf.c: In function 'load_elf_binary':
./arch/x86/include/asm/uaccess_64.h:143:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(4[(u16 *)src], 4 + (u16 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:143:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(4[(u16 *)src], 4 + (u16 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:154:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:154:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
In file included from ./include/linux/bitmap.h:8:0,
                 from ./include/linux/cpumask.h:11,
                 from ./arch/x86/include/asm/cpumask.h:4,
                 from ./arch/x86/include/asm/msr.h:10,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:52,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from drivers/infiniband/core/core_priv.h:37,
                 from drivers/infiniband/core/roce_gid_mgmt.c:33:
In function 'memcpy',
    inlined from 'rdma_ip2gid' at ./include/rdma/ib_addr.h:175:3,
    inlined from 'addr_event.isra.1.constprop' at drivers/infiniband/core/roce_gid_mgmt.c:691:2,
    inlined from 'inetaddr_event' at drivers/infiniband/core/roce_gid_mgmt.c:714:9:
./include/linux/string.h:305:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
    __read_overflow2();
    ^~~~~~~~~~~~~~~~~~
make[3]: *** [drivers/infiniband/core/roce_gid_mgmt.o] Error 1
make[2]: *** [drivers/infiniband/core] Error 2
make[1]: *** [drivers/infiniband] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs....
######### (end)


######## configuration cid 62326
In file included from arch/x86/entry/common.c:17:0:
arch/x86/entry/common.c: In function 'tracehook_report_syscall_exit':
./include/linux/tracehook.h:126:13: note: userspace variable will be forcibly initialized
   siginfo_t info;
             ^~~~
kernel/sysctl_binary.c: In function 'SYSC_sysctl':
kernel/sysctl_binary.c:1413:23: note: userspace variable will be forcibly initialized
  struct __sysctl_args tmp;
                       ^~~
arch/x86/kernel/signal.c: In function 'do_signal':
arch/x86/kernel/signal.c:806:17: note: userspace variable will be forcibly initialized
  struct ksignal ksig;
                 ^~~~
arch/x86/kernel/traps.c: In function 'math_error':
arch/x86/kernel/traps.c:827:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
arch/x86/kernel/traps.c: In function 'do_error_trap':
arch/x86/kernel/traps.c:303:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/ptrace.c: In function 'ptrace_peek_siginfo':
kernel/ptrace.c:712:13: note: userspace variable will be forcibly initialized
   siginfo_t info;
             ^~~~
kernel/ptrace.c: In function 'ptrace_request':
kernel/ptrace.c:1076:16: note: userspace variable will be forcibly initialized
   struct iovec kiov;
                ^~~~
kernel/ptrace.c:890:12: note: userspace variable will be forcibly initialized
  siginfo_t siginfo, *si;
            ^~~~~~~
kernel/ptrace.c: In function 'compat_ptrace_request':
kernel/ptrace.c:1242:16: note: userspace variable will be forcibly initialized
   struct iovec kiov;
                ^~~~
kernel/ptrace.c:1197:12: note: userspace variable will be forcibly initialized
  siginfo_t siginfo;
            ^~~~~~~
kernel/signal.c: In function 'SYSC_sigaltstack':
kernel/signal.c:3209:15: note: userspace variable will be forcibly initialized
  stack_t new, old;
               ^~~
kernel/signal.c:3209:10: note: userspace variable will be forcibly initialized
  stack_t new, old;
          ^~~
kernel/signal.c: In function 'C_SYSC_sigaltstack':
kernel/signal.c:3248:15: note: userspace variable will be forcibly initialized
  stack_t uss, uoss;
               ^~~~
kernel/signal.c:3248:10: note: userspace variable will be forcibly initialized
  stack_t uss, uoss;
          ^~~
kernel/signal.c: In function 'C_SYSC_rt_sigtimedwait':
kernel/signal.c:2884:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/signal.c: In function 'do_notify_parent_cldstop':
kernel/signal.c:1706:17: note: userspace variable will be forcibly initialized
  struct siginfo info;
                 ^~~~
kernel/signal.c: In function 'ptrace_do_notify':
kernel/signal.c:1929:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/signal.c: In function 'SYSC_rt_tgsigqueueinfo':
kernel/signal.c:3071:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/signal.c: In function 'SYSC_kill':
kernel/signal.c:2917:17: note: userspace variable will be forcibly initialized
  struct siginfo info;
                 ^~~~
kernel/signal.c: In function 'SYSC_rt_sigqueueinfo':
kernel/signal.c:3030:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/signal.c: In function 'do_notify_parent':
kernel/signal.c:1602:17: note: userspace variable will be forcibly initialized
  struct siginfo info;
                 ^~~~
kernel/signal.c: In function 'SYSC_rt_sigtimedwait':
kernel/signal.c:2851:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/signal.c: In function 'restore_altstack':
kernel/signal.c:3222:10: note: userspace variable will be forcibly initialized
  stack_t new;
          ^~~
arch/x86/mm/fault.c: In function 'force_sig_info_fault':
arch/x86/mm/fault.c:231:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
kernel/debug/kdb/kdb_main.c: In function 'kdb_kill':
kernel/debug/kdb/kdb_main.c:2444:17: note: userspace variable will be forcibly initialized
  struct siginfo info;
                 ^~~~
arch/x86/kernel/ptrace.c: In function 'send_sigtrap':
arch/x86/kernel/ptrace.c:1396:17: note: userspace variable will be forcibly initialized
  struct siginfo info;
                 ^~~~
arch/x86/kernel/stacktrace.c: In function '__save_stack_trace_user':
arch/x86/kernel/stacktrace.c:207:27: note: userspace variable will be forcibly initialized
   struct stack_frame_user frame;
                           ^~~~~
In file included from fs/read_write.c:12:0:
fs/read_write.c: In function 'iov_iter_iovec':
./include/linux/uio.h:69:9: note: userspace variable will be forcibly initialized
  return (struct iovec) {
         ^
fs/read_write.c: In function 'new_sync_read':
fs/read_write.c:391:15: note: userspace variable will be forcibly initialized
  struct iovec iov = { .iov_base = buf, .iov_len = len };
               ^~~
fs/read_write.c: In function 'new_sync_write':
fs/read_write.c:448:15: note: userspace variable will be forcibly initialized
  struct iovec iov = { .iov_base = (void __user *)buf, .iov_len = len };
               ^~~
In file included from fs/read_write.c:12:0:
fs/read_write.c: In function 'do_loop_readv_writev':
./include/linux/uio.h:69:9: note: userspace variable will be forcibly initialized
  return (struct iovec) {
         ^
fs/read_write.c:666:16: note: userspace variable will be forcibly initialized
   struct iovec iovec = iov_iter_iovec(iter);
                ^~~~~
security/keys/keyring.c: In function 'keyring_read':
security/keys/keyring.c:461:39: note: userspace variable will be forcibly initialized
  struct keyring_read_iterator_context ctx;
                                       ^~~
security/keys/keyctl.c: In function 'keyctl_instantiate_key':
security/keys/keyctl.c:1122:16: note: userspace variable will be forcibly initialized
   struct iovec iov;
                ^~~
security/keys/compat_dh.c: In function 'compat_keyctl_dh_compute':
security/keys/compat_dh.c:24:27: note: userspace variable will be forcibly initialized
  struct keyctl_kdf_params kdfcopy;
                           ^~~~~~~
fs/exec.c: In function 'compat_do_execve':
fs/exec.c:1857:22: note: userspace variable will be forcibly initialized
  struct user_arg_ptr envp = {
                      ^~~~
fs/exec.c:1853:22: note: userspace variable will be forcibly initialized
  struct user_arg_ptr argv = {
                      ^~~~
fs/exec.c: In function 'compat_do_execveat':
fs/exec.c:1873:22: note: userspace variable will be forcibly initialized
  struct user_arg_ptr envp = {
                      ^~~~
fs/exec.c:1869:22: note: userspace variable will be forcibly initialized
  struct user_arg_ptr argv = {
                      ^~~~
security/keys/dh.c: In function 'keyctl_dh_compute':
security/keys/dh.c:426:27: note: userspace variable will be forcibly initialized
  struct keyctl_kdf_params kdfcopy;
                           ^~~~~~~
fs/fcntl.c: In function 'send_sigio_to_task':
fs/fcntl.c:733:13: note: userspace variable will be forcibly initialized
   siginfo_t si;
             ^~
In file included from block/bio.c:22:0:
block/bio.c: In function 'iov_iter_iovec':
./include/linux/uio.h:69:9: note: userspace variable will be forcibly initialized
  return (struct iovec) {
         ^
block/bio.c: In function 'bio_map_user_iov':
./include/linux/uio.h:69:9: note: userspace variable will be forcibly initialized
./include/linux/uio.h:69:9: note: userspace variable will be forcibly initialized
block/bio.c:1329:15: note: userspace variable will be forcibly initialized
  struct iovec iov;
               ^~~
fs/splice.c: In function 'vmsplice_to_user':
fs/splice.c:1265:21: note: userspace variable will be forcibly initialized
  struct splice_desc sd;
                     ^~
block/blk-map.c: In function 'blk_rq_map_user':
block/blk-map.c:160:15: note: userspace variable will be forcibly initialized
  struct iovec iov;
               ^~~
block/ioctl.c: In function 'blkpg_ioctl':
block/ioctl.c:18:25: note: userspace variable will be forcibly initialized
  struct blkpg_ioctl_arg a;
                         ^
block/scsi_ioctl.c: In function 'scsi_cmd_ioctl':
block/scsi_ioctl.c:612:21: note: userspace variable will be forcibly initialized
    struct sg_io_hdr hdr;
                     ^~~
block/scsi_ioctl.c:611:33: note: userspace variable will be forcibly initialized
    struct cdrom_generic_command cgc;
                                 ^~~
block/scsi_ioctl.c:597:21: note: userspace variable will be forcibly initialized
    struct sg_io_hdr hdr;
                     ^~~
net/socket.c: In function 'dev_ifconf':
net/socket.c:2703:16: note: userspace variable will be forcibly initialized
  struct ifconf ifc;
                ^~~
net/socket.c: In function 'compat_sioc_ifmap':
net/socket.c:3005:15: note: userspace variable will be forcibly initialized
  struct ifreq ifr;
               ^~~
net/socket.c: In function 'bond_ioctl':
net/socket.c:2915:15: note: userspace variable will be forcibly initialized
  struct ifreq kifr;
               ^~~~
net/socket.c: In function 'routing_ioctl':
net/socket.c:3077:17: note: userspace variable will be forcibly initialized
  struct rtentry r4;
                 ^~
net/socket.c: In function 'SYSC_recvfrom':
net/socket.c:1765:15: note: userspace variable will be forcibly initialized
  struct iovec iov;
               ^~~
net/socket.c: In function 'SYSC_sendto':
net/socket.c:1712:15: note: userspace variable will be forcibly initialized
  struct iovec iov;
               ^~~
net/socket.c: In function 'copy_msghdr_from_user':
net/socket.c:1913:21: note: userspace variable will be forcibly initialized
  struct user_msghdr msg;
                     ^~~
lib/iov_iter.c: In function 'iov_iter_fault_in_readable':
lib/iov_iter.c:418:15: note: userspace variable will be forcibly initialized
  struct iovec v;
               ^
lib/iov_iter.c: In function 'iov_iter_advance':
lib/iov_iter.c:847:31: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, size, v, 0, 0, 0)
                               ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_alignment':
lib/iov_iter.c:982:29: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, size, v,
                             ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_gap_alignment':
lib/iov_iter.c:1001:29: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, size, v,
                             ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_npages':
lib/iov_iter.c:1327:36: note: userspace variable will be forcibly initialized
  } else iterate_all_kinds(i, size, v, ({
                                    ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function '_copy_to_iter':
lib/iov_iter.c:565:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v,
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function '_copy_from_iter':
lib/iov_iter.c:585:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v,
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function '_copy_from_iter_full':
lib/iov_iter.c:608:30: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, bytes, v, ({
                              ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function '_copy_from_iter_nocache':
lib/iov_iter.c:630:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v,
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function '_copy_from_iter_full_nocache':
lib/iov_iter.c:673:30: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, bytes, v, ({
                              ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function '_copy_from_iter_flushcache':
lib/iov_iter.c:650:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v,
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_zero':
lib/iov_iter.c:761:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v,
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_copy_from_user_atomic':
lib/iov_iter.c:784:30: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, bytes, v,
                              ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_get_pages':
lib/iov_iter.c:1066:32: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, maxsize, v, ({
                                ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'iov_iter_get_pages_alloc':
lib/iov_iter.c:1143:32: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, maxsize, v, ({
                                ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'csum_and_copy_from_iter':
lib/iov_iter.c:1188:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v, ({
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'csum_and_copy_from_iter_full':
lib/iov_iter.c:1232:30: note: userspace variable will be forcibly initialized
  iterate_all_kinds(i, bytes, v, ({
                              ^
lib/iov_iter.c:88:17: note: in definition of macro 'iterate_all_kinds'
    struct iovec v;    \
                 ^
lib/iov_iter.c: In function 'csum_and_copy_to_iter':
lib/iov_iter.c:1275:32: note: userspace variable will be forcibly initialized
  iterate_and_advance(i, bytes, v, ({
                                ^
lib/iov_iter.c:119:17: note: in definition of macro 'iterate_and_advance'
    struct iovec v;    \
                 ^
net/8021q/vlan_dev.c: In function 'vlan_dev_ioctl':
net/8021q/vlan_dev.c:361:15: note: userspace variable will be forcibly initialized
  struct ifreq ifrr;
               ^~~~
fs/dlm/user.c: In function 'copy_result_to_user':
fs/dlm/user.c:693:25: note: userspace variable will be forcibly initialized
  struct dlm_lock_result result;
                         ^~~~~~
drivers/block/cciss.c: In function 'cciss_passthru':
drivers/block/cciss.c:1482:23: note: userspace variable will be forcibly initialized
  IOCTL_Command_struct iocommand;
                       ^~~~~~~~~
drivers/block/cciss.c: In function 'cciss_ioctl32_passthru':
drivers/block/cciss.c:1203:23: note: userspace variable will be forcibly initialized
  IOCTL_Command_struct arg64;
                       ^~~~~
drivers/block/cciss.c: In function 'cciss_ioctl32_big_passthru':
drivers/block/cciss.c:1243:27: note: userspace variable will be forcibly initialized
  BIG_IOCTL_Command_struct arg64;
                           ^~~~~
drivers/block/skd_main.c: In function 'skd_sg_io_copy_buffer':
drivers/block/skd_main.c:1595:18: note: userspace variable will be forcibly initialized
  struct sg_iovec curiov;
                  ^~~~~~
drivers/block/skd_main.c: In function 'skd_ioctl_sg_io':
drivers/block/skd_main.c:1247:19: note: userspace variable will be forcibly initialized
  struct skd_sg_io sksgio;
                   ^~~~~~
net/core/sock.c: In function 'sock_setsockopt':
net/core/sock.c:956:22: note: userspace variable will be forcibly initialized
    struct sock_fprog fprog;
                      ^~~~~
net/core/sock.c:930:22: note: userspace variable will be forcibly initialized
    struct sock_fprog fprog;
                      ^~~~~
drivers/cdrom/cdrom.c: In function 'mmc_ioctl_cdrom_read_audio':
drivers/cdrom/cdrom.c:3006:26: note: userspace variable will be forcibly initialized
  struct cdrom_read_audio ra;
                          ^~
net/core/dev_ioctl.c: In function 'dev_ifname':
net/core/dev_ioctl.c:22:15: note: userspace variable will be forcibly initialized
  struct ifreq ifr;
               ^~~
net/core/dev_ioctl.c: In function 'dev_ifconf':
net/core/dev_ioctl.c:70:16: note: userspace variable will be forcibly initialized
  struct ifconf ifc;
                ^~~
net/core/dev_ioctl.c: In function 'dev_ioctl':
net/core/dev_ioctl.c:425:16: note: userspace variable will be forcibly initialized
   struct iwreq iwr;
                ^~~
net/core/dev_ioctl.c:399:15: note: userspace variable will be forcibly initialized
  struct ifreq ifr;
               ^~~
net/packet/af_packet.c: In function 'fanout_set_data_cbpf':
net/packet/af_packet.c:1571:20: note: userspace variable will be forcibly initialized
  struct sock_fprog fprog;
                    ^~~~~
net/ipv4/devinet.c: In function 'inet_gifconf':
net/ipv4/devinet.c:1187:15: note: userspace variable will be forcibly initialized
  struct ifreq ifr;
               ^~~
net/ipv4/devinet.c: In function 'devinet_ioctl':
net/ipv4/devinet.c:943:15: note: userspace variable will be forcibly initialized
  struct ifreq ifr;
               ^~~
net/ipv4/fib_frontend.c: In function 'ip_rt_ioctl':
net/ipv4/fib_frontend.c:571:17: note: userspace variable will be forcibly initialized
  struct rtentry rt;
                 ^~
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c: In function 'amdgpu_bo_create_restricted':
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c:378:2: warning: #warning Please enable CONFIG_MTRR and CONFIG_X86_PAT for better performance thanks to write-combining [-Wcpp]
 #warning Please enable CONFIG_MTRR and CONFIG_X86_PAT for better performance \
  ^~~~~~~
net/rds/tcp_recv.c: In function 'rds_tcp_read_sock':
net/rds/tcp_recv.c:265:20: note: userspace variable will be forcibly initialized
  read_descriptor_t desc;
                    ^~~~
net/ipv4/ipconfig.c: In function 'ic_setup_if':
net/ipv4/ipconfig.c:370:15: note: userspace variable will be forcibly initialized
  struct ifreq ir;
               ^~
net/ipv4/ipconfig.c: In function 'ic_setup_routes':
net/ipv4/ipconfig.c:413:18: note: userspace variable will be forcibly initialized
   struct rtentry rm;
                  ^~
net/strparser/strparser.c: In function 'strp_read_sock':
net/strparser/strparser.c:341:20: note: userspace variable will be forcibly initialized
  read_descriptor_t desc;
                    ^~~~
net/strparser/strparser.c: In function 'do_strp_rx_work':
net/strparser/strparser.c:390:20: note: userspace variable will be forcibly initialized
  read_descriptor_t rd_desc;
                    ^~~~~~~
net/sctp/socket.c: In function 'sctp_getsockopt_connectx3':
net/sctp/socket.c:1399:27: note: userspace variable will be forcibly initialized
  struct sctp_getaddrs_old param;
                           ^~~~~
net/compat.c: In function 'get_compat_bpf_fprog':
net/compat.c:317:20: note: userspace variable will be forcibly initialized
  struct sock_fprog f;
                    ^
drivers/gpu/drm/mga/mga_ioc32.c: In function 'compat_mga_getparam':
drivers/gpu/drm/mga/mga_ioc32.c:94:21: note: userspace variable will be forcibly initialized
  drm_mga_getparam_t getparam;
                     ^~~~~~~~
drivers/i2c/i2c-dev.c: In function 'i2cdev_ioctl_rdwr':
drivers/i2c/i2c-dev.c:243:29: note: userspace variable will be forcibly initialized
  struct i2c_rdwr_ioctl_data rdwr_arg;
                             ^~~~~~~~
drivers/i2c/i2c-dev.c: In function 'i2cdev_ioctl_smbus':
drivers/i2c/i2c-dev.c:333:30: note: userspace variable will be forcibly initialized
  struct i2c_smbus_ioctl_data data_arg;
                              ^~~~~~~~
drivers/gpu/drm/qxl/qxl_ioctl.c: In function 'qxl_execbuffer_ioctl':
drivers/gpu/drm/qxl/qxl_ioctl.c:279:25: note: userspace variable will be forcibly initialized
  struct drm_qxl_command user_cmd;
                         ^~~~~~~~
drivers/gpu/drm/radeon/radeon_object.c: In function 'radeon_bo_create':
drivers/gpu/drm/radeon/radeon_object.c:242:2: warning: #warning Please enable CONFIG_MTRR and CONFIG_X86_PAT for better performance thanks to write-combining [-Wcpp]
 #warning Please enable CONFIG_MTRR and CONFIG_X86_PAT for better performance \
  ^~~~~~~
fs/xfs/xfs_ioctl.c: In function 'xfs_fssetdm_by_handle':
fs/xfs/xfs_ioctl.c:349:29: note: userspace variable will be forcibly initialized
  xfs_fsop_setdm_handlereq_t dmhreq;
                             ^~~~~~
fs/xfs/xfs_ioctl.c: In function 'xfs_attrlist_by_handle':
fs/xfs/xfs_ioctl.c:394:32: note: userspace variable will be forcibly initialized
  xfs_fsop_attrlist_handlereq_t al_hreq;
                                ^~~~~~~
fs/xfs/xfs_ioctl.c: In function 'xfs_attrmulti_by_handle':
fs/xfs/xfs_ioctl.c:520:33: note: userspace variable will be forcibly initialized
  xfs_fsop_attrmulti_handlereq_t am_hreq;
                                 ^~~~~~~
fs/xfs/xfs_ioctl.c: In function 'xfs_ioc_bulkstat':
fs/xfs/xfs_ioctl.c:750:21: note: userspace variable will be forcibly initialized
  xfs_fsop_bulkreq_t bulkreq;
                     ^~~~~~~
fs/xfs/xfs_ioctl.c: In function 'xfs_file_ioctl':
fs/xfs/xfs_ioctl.c:1908:24: note: userspace variable will be forcibly initialized
   xfs_fsop_handlereq_t hreq;
                        ^~~~
fs/xfs/xfs_ioctl.c:1898:24: note: userspace variable will be forcibly initialized
   xfs_fsop_handlereq_t hreq;
                        ^~~~
fs/xfs/xfs_ioctl.c:1891:24: note: userspace variable will be forcibly initialized
   xfs_fsop_handlereq_t hreq;
                        ^~~~
fs/xfs/xfs_itable.c: In function 'xfs_bulkstat':
fs/xfs/xfs_itable.c:367:31: note: userspace variable will be forcibly initialized
  struct xfs_bulkstat_agichunk ac;
                               ^~
fs/eventpoll.c: In function 'ep_send_events':
fs/eventpoll.c:1718:29: note: userspace variable will be forcibly initialized
  struct ep_send_events_data esed;
                             ^~~~
fs/eventpoll.c: In function 'ep_poll':
fs/eventpoll.c:1718:29: note: userspace variable will be forcibly initialized
fs/signalfd.c: In function 'signalfd_read':
fs/signalfd.c:211:12: note: userspace variable will be forcibly initialized
  siginfo_t info;
            ^~~~
fs/compat_ioctl.c: In function 'do_i2c_smbus_ioctl':
fs/compat_ioctl.c:746:4: note: userspace variable will be forcibly initialized
  } v;
    ^
In file included from ./include/linux/uaccess.h:13:0,
                 from ./include/linux/highmem.h:8,
                 from fs/binfmt_elf.c:28:
fs/binfmt_elf.c: In function 'load_elf_binary':
./arch/x86/include/asm/uaccess_64.h:143:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(4[(u16 *)src], 4 + (u16 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:143:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(4[(u16 *)src], 4 + (u16 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:154:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:154:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
In file included from ./include/linux/uaccess.h:13:0,
                 from ./include/linux/highmem.h:8,
                 from fs/binfmt_elf.c:28,
                 from fs/compat_binfmt_elf.c:131:
fs/binfmt_elf.c: In function 'load_elf_binary':
./arch/x86/include/asm/uaccess_64.h:143:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(4[(u16 *)src], 4 + (u16 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:143:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(4[(u16 *)src], 4 + (u16 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:154:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
./arch/x86/include/asm/uaccess_64.h:154:20: warning: array subscript is above array bounds [-Warray-bounds]
    __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst,
                    ^
./arch/x86/include/asm/uaccess.h:468:16: note: in definition of macro '__put_user_asm'
        : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
                ^
fs/xfs/xfs_ioctl32.c: In function 'xfs_compat_ioc_bulkstat':
fs/xfs/xfs_ioctl32.c:249:21: note: userspace variable will be forcibly initialized
  xfs_fsop_bulkreq_t bulkreq;
                     ^~~~~~~
fs/xfs/xfs_ioctl32.c: In function 'xfs_file_compat_ioctl':
fs/xfs/xfs_ioctl32.c:663:29: note: userspace variable will be forcibly initialized
   struct xfs_fsop_handlereq hreq;
                             ^~~~
fs/xfs/xfs_ioctl32.c:656:29: note: userspace variable will be forcibly initialized
   struct xfs_fsop_handlereq hreq;
                             ^~~~
fs/xfs/xfs_ioctl32.c:648:29: note: userspace variable will be forcibly initialized
   struct xfs_fsop_handlereq hreq;
                             ^~~~
In file included from ./include/linux/bitmap.h:8:0,
                 from ./include/linux/cpumask.h:11,
                 from ./arch/x86/include/asm/cpumask.h:4,
                 from ./arch/x86/include/asm/msr.h:10,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/cpufeature.h:4,
                 from ./arch/x86/include/asm/thread_info.h:52,
                 from ./include/linux/thread_info.h:37,
                 from ./arch/x86/include/asm/preempt.h:6,
                 from ./include/linux/preempt.h:80,
                 from ./include/linux/spinlock.h:50,
                 from drivers/infiniband/core/core_priv.h:37,
                 from drivers/infiniband/core/roce_gid_mgmt.c:33:
In function 'memcpy',
    inlined from 'rdma_ip2gid' at ./include/rdma/ib_addr.h:175:3,
    inlined from 'addr_event.isra.1.constprop' at drivers/infiniband/core/roce_gid_mgmt.c:691:2,
    inlined from 'inetaddr_event' at drivers/infiniband/core/roce_gid_mgmt.c:714:9:
./include/linux/string.h:305:4: error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter
    __read_overflow2();
    ^~~~~~~~~~~~~~~~~~
make[3]: *** [drivers/infiniband/core/roce_gid_mgmt.o] Error 1
make[2]: *** [drivers/infiniband/core] Error 2
make[2]: *** Waiting for unfinished jobs....
drivers/input/ff-memless.c: In function 'ml_play_effects':
drivers/input/ff-memless.c:404:19: note: userspace variable will be forcibly initialized
  struct ff_effect effect;
                   ^~~~~~
drivers/input/evdev.c: In function 'evdev_do_ioctl':
drivers/input/evdev.c:1067:19: note: userspace variable will be forcibly initialized
  struct ff_effect effect;
                   ^~~~~~
drivers/media/platform/soc_camera/soc_camera.c: In function 'soc_camera_open':
drivers/media/platform/soc_camera/soc_camera.c:662:22: note: userspace variable will be forcibly initialized
   struct v4l2_format f = {
                      ^
make[1]: *** [drivers/infiniband] Error 2
make[1]: *** Waiting for unfinished jobs....
drivers/media/platform/vivid/vivid-vid-common.c: In function 'fmt_sp2mp_func':
drivers/media/platform/vivid/vivid-vid-common.c:648:21: note: userspace variable will be forcibly initialized
  struct v4l2_format fmt;
                     ^~~
drivers/gpu/drm/drm_ioc32.c: In function 'compat_drm_resctx':
drivers/gpu/drm/drm_ioc32.c:546:21: note: userspace variable will be forcibly initialized
  struct drm_ctx_res res;
                     ^~~
drivers/gpu/drm/drm_ioc32.c: In function 'compat_drm_freebufs':
drivers/gpu/drm/drm_ioc32.c:481:22: note: userspace variable will be forcibly initialized
  struct drm_buf_free request;
                      ^~~~~~~
drivers/gpu/drm/drm_ioc32.c: In function 'compat_drm_getunique':
drivers/gpu/drm/drm_ioc32.c:132:20: note: userspace variable will be forcibly initialized
  struct drm_unique uq;
                    ^~
drivers/gpu/drm/drm_ioc32.c: In function 'compat_drm_version':
drivers/gpu/drm/drm_ioc32.c:93:21: note: userspace variable will be forcibly initialized
  struct drm_version v;
                     ^
drivers/gpu/drm/drm_ioc32.c: In function 'compat_drm_dma':
drivers/gpu/drm/drm_ioc32.c:583:17: note: userspace variable will be forcibly initialized
  struct drm_dma d;
                 ^
drivers/media/media-device.c: In function 'media_device_enum_links32':
drivers/media/media-device.c:470:26: note: userspace variable will be forcibly initialized
  struct media_links_enum links;
                          ^~~~~
drivers/media/v4l2-core/v4l2-ioctl.c: In function 'v4l_s_ctrl':
drivers/media/v4l2-core/v4l2-ioctl.c:2070:26: note: userspace variable will be forcibly initialized
  struct v4l2_ext_control ctrl;
                          ^~~~
drivers/media/v4l2-core/v4l2-ioctl.c: In function 'v4l_g_ctrl':
drivers/media/v4l2-core/v4l2-ioctl.c:2036:26: note: userspace variable will be forcibly initialized
  struct v4l2_ext_control ctrl;
                          ^~~~
drivers/media/v4l2-core/v4l2-ctrls.c: In function 'v4l2_ctrl_g_ctrl':
drivers/media/v4l2-core/v4l2-ctrls.c:2953:26: note: userspace variable will be forcibly initialized
  struct v4l2_ext_control c;
                          ^
drivers/media/v4l2-core/v4l2-ctrls.c: In function 'v4l2_g_ctrl':
drivers/media/v4l2-core/v4l2-ctrls.c:2940:26: note: userspace variable will be forcibly initialized
  struct v4l2_ext_control c;
                          ^
drivers/media/v4l2-core/v4l2-ctrls.c: In function 'v4l2_ctrl_g_ctrl_int64':
drivers/media/v4l2-core/v4l2-ctrls.c:2965:26: note: userspace variable will be forcibly initialized
  struct v4l2_ext_control c;
                          ^
drivers/media/v4l2-core/v4l2-ctrls.c: In function 'v4l2_s_ctrl':
drivers/media/v4l2-core/v4l2-ctrls.c:3244:26: note: userspace variable will be forcibly initialized
  struct v4l2_ext_control c = { control->id };
                          ^
drivers/media/v4l2-core/v4l2-compat-ioctl32.c: In function 'do_video_ioctl':
drivers/media/v4l2-core/v4l2-compat-ioctl32.c:885:4: note: userspace variable will be forcibly initialized
  } karg;
    ^~~~
make: *** [drivers] Error 2
######### (end)

An in-depth look:

cid	vmlinux	IPV6	UBSAN_SANITIZE_ALL	INFINIBAND_ADDR_TRANS	FORTIFY_SOURCE	UBSAN_ALIGNMENT	UBSAN_NULL
5274	45279	-1	n	y	y	y	y	y
2326	62326	-1	n	y	y	y	n	y

and we have our friend FORTIFY_SOURCE (note: IPV6 is still no as well as UBSAN checking)

So here it's not a masking effect, but a possible misclassification of the decision tree that "fails" to group together some options...

@FAMILIAR-project FAMILIAR-project changed the title SRP and INFINIBAND variant of error: call to '__read_overflow2' declared with attribute error: detected read beyond size of object passed as 2nd parameter __read_overflow2(); SRP and INFINIBAND variant of error: call to '__read_overflow2' Apr 25, 2019
@FAMILIAR-project FAMILIAR-project added the tuxml-study-buildfailures Discussions/insights about build failures label Apr 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tuxml-study-buildfailures Discussions/insights about build failures
Projects
None yet
Development

No branches or pull requests

1 participant