github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/pkg/build/build_test.go (about)

     1  // Copyright 2017 syzkaller project authors. All rights reserved.
     2  // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  package build
     5  
     6  import (
     7  	"fmt"
     8  	"os/exec"
     9  	"strings"
    10  	"testing"
    11  
    12  	"github.com/google/syzkaller/pkg/osutil"
    13  	"github.com/google/syzkaller/sys/targets"
    14  	"github.com/stretchr/testify/assert"
    15  )
    16  
    17  func TestCompilerIdentity(t *testing.T) {
    18  	t.Parallel()
    19  	for _, compiler := range []string{"gcc", "clang", "bazel"} {
    20  		t.Run(compiler, func(t *testing.T) {
    21  			t.Parallel()
    22  			if _, err := exec.LookPath(compiler); err != nil {
    23  				t.Skipf("compiler '%v' is not found: %v", compiler, err)
    24  			}
    25  			id, err := compilerIdentity(compiler)
    26  			if err != nil {
    27  				t.Fatalf("failed: %v", err)
    28  			}
    29  			if id == "" {
    30  				t.Fatalf("identity is empty")
    31  			}
    32  			if strings.Contains(id, "\n") {
    33  				t.Fatalf("identity contains a new line")
    34  			}
    35  			// We don't know what's the right answer,
    36  			// so just print it for manual inspection.
    37  			t.Logf("id: '%v'", id)
    38  		})
    39  	}
    40  }
    41  
    42  func TestExtractCauseInner(t *testing.T) {
    43  	for i, test := range rootCauseTests {
    44  		t.Run(fmt.Sprint(i), func(t *testing.T) {
    45  			reason, file := extractCauseInner([]byte(test.e), test.src)
    46  			if test.reason != string(reason) {
    47  				t.Errorf("expected:\n%s\ngot:\n%s", test.reason, reason)
    48  			}
    49  			if test.file != file {
    50  				t.Errorf("expected file: %q, got: %q", test.file, file)
    51  			}
    52  		})
    53  	}
    54  }
    55  
    56  func TestExtractRootCause(t *testing.T) {
    57  	targetOs := targets.TestOS
    58  	for i, test := range rootCauseTests {
    59  		var expected error
    60  		err := &osutil.VerboseError{Output: []byte(test.e)}
    61  		if test.reason == "" {
    62  			continue
    63  		} else if test.reason == "Killed" {
    64  			err.ExitCode = 137
    65  			targetOs = targets.Linux
    66  			expected = &InfraError{
    67  				Title:  test.reason,
    68  				Output: err.Output,
    69  			}
    70  		} else {
    71  			expected = &KernelError{
    72  				Report:     []byte(test.reason),
    73  				Output:     err.Output,
    74  				guiltyFile: test.file,
    75  			}
    76  		}
    77  		t.Run(fmt.Sprint(i), func(t *testing.T) {
    78  			got := extractRootCause(err, targetOs, test.src)
    79  			if got != nil {
    80  				assert.Equal(t, expected, got)
    81  			}
    82  		})
    83  	}
    84  }
    85  
    86  type RootCauseTest struct {
    87  	e      string
    88  	reason string
    89  	src    string
    90  	file   string
    91  }
    92  
    93  // nolint: lll
    94  var rootCauseTests = []RootCauseTest{
    95  	{`
    96    LINK     /home/dvyukov/src/linux2/tools/objtool/objtool
    97    MKELF   scripts/mod/elfconfig.h
    98    HOSTCC  scripts/mod/modpost.o
    99    HOSTCC  scripts/mod/sumversion.o
   100    HOSTCC  scripts/mod/file2alias.o
   101    HOSTLD  scripts/mod/modpost
   102    CC      kernel/bounds.s
   103    CALL    scripts/atomic/check-atomics.sh
   104    CC      arch/x86/kernel/asm-offsets.s
   105    UPD     include/generated/asm-offsets.h
   106    CALL    scripts/checksyscalls.sh
   107  `,
   108  		"",
   109  		"",
   110  		"",
   111  	},
   112  	{`
   113  cc -g -Werror db_break.c
   114  sys/dev/kcov.c:93:6: error: use of undeclared identifier 'kcov_cold123'; did you mean 'kcov_cold'?
   115          if (kcov_cold123)
   116              ^~~~~~~~~~~~
   117              kcov_cold
   118  sys/dev/kcov.c:65:5: note: 'kcov_cold' declared here
   119  int kcov_cold = 1;
   120      ^
   121  1 error generated.
   122  `,
   123  		"sys/dev/kcov.c:93:6: error: use of undeclared identifier 'kcov_cold123'; did you mean 'kcov_cold'?",
   124  		"",
   125  		"sys/dev/kcov.c",
   126  	},
   127  	{`
   128    CC       /tools/objtool/parse-options.o
   129  In file included from ./scripts/gcc-plugins/gcc-common.h:119:0,
   130   from <stdin>:1:
   131  /gcc-5.5.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0/plugin/include/builtins.h:23:17: fatal error: mpc.h: No such file or directory
   132  compilation terminated.
   133  Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?
   134  scripts/Makefile.gcc-plugins:51: recipe for target 'gcc-plugins-check' failed
   135  make: *** [gcc-plugins-check] Error 1
   136  make: *** Waiting for unfinished jobs....
   137    UPD     include/config/kernel.release
   138  `,
   139  		"/gcc-5.5.0/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.5.0/plugin/include/builtins.h:23:17: fatal error: mpc.h: No such file or directory",
   140  		"",
   141  		"",
   142  	},
   143  	{`
   144  Starting local Bazel server and connecting to it...
   145  Loading:
   146  Loading: 0 packages loaded
   147  Analyzing: target //runsc:runsc (1 packages loaded)
   148  Analyzing: target //runsc:runsc (5 packages loaded)
   149  Analyzing: target //runsc:runsc (15 packages loaded)
   150  Analyzing: target //runsc:runsc (92 packages loaded)
   151  Analyzing: target //runsc:runsc (99 packages loaded)
   152  Analyzing: target //runsc:runsc (115 packages loaded)
   153  ERROR: /kernel/vdso/BUILD:13:1: no such target '@bazel_tools//tools/cpp:cc_flags': target 'cc_flags' not declared in package 'tools/cpp' defined by /syzkaller/home/.cache/bazel/_bazel_root/e1c9d86bae2b34f90e83d224bc900958/external/bazel_tools/tools/cpp/BUILD and referenced by '//vdso:vdso'
   154  ERROR: Analysis of target '//runsc:runsc' failed; build aborted: Analysis failed
   155  INFO: Elapsed time: 14.914s
   156  INFO: 0 processes.
   157  FAILED: Build did NOT complete successfully (189 packages loaded)
   158  `,
   159  		`ERROR: /kernel/vdso/BUILD:13:1: no such target '@bazel_tools//tools/cpp:cc_flags': target 'cc_flags' not declared in package 'tools/cpp' defined by /syzkaller/home/.cache/bazel/_bazel_root/e1c9d86bae2b34f90e83d224bc900958/external/bazel_tools/tools/cpp/BUILD and referenced by '//vdso:vdso'
   160  ERROR: Analysis of target '//runsc:runsc' failed; build aborted: Analysis failed
   161  FAILED: Build did NOT complete successfully (189 packages loaded)`,
   162  		"",
   163  		"",
   164  	},
   165  	{`
   166  ld -T ld.script -X --warn-common -nopie -o bsd ${SYSTEM_HEAD} vers.o ${OBJS}
   167  ld: error: undefined symbol: __stack_smash_handler
   168  >>> referenced by bktr_card.c:0 (/kernel/sys/dev/pci/bktr/bktr_card.c:0)
   169  >>>               bktr_card.o:(probeCard)
   170  
   171  ld: error: undefined symbol: __stack_smash_handler
   172  >>> referenced by vnd.c:0 (/kernel/sys/dev/vnd.c:0)
   173  >>>               vnd.o:(vndencrypt)
   174  
   175  ld: error: undefined symbol: __stack_smash_handler
   176  >>> referenced by ihidev.c:0 (/kernel/sys/dev/i2c/ihidev.c:0)
   177  >>>               ihidev.o:(ihidev_attach)
   178  
   179  ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
   180  *** Error 1 in /kernel/sys/arch/amd64/compile/SYZKALLER (Makefile:991 'bsd': @echo ld -T ld.script -X --warn-commo...)
   181  `,
   182  		`ld: error: undefined symbol: __stack_smash_handler
   183  ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)`,
   184  		"",
   185  		"",
   186  	},
   187  	{`
   188  make: execvp: /gcc-5.5.0/bin/gcc: Permission denied
   189  scripts/kconfig/conf  --silentoldconfig Kconfig
   190  arch/x86/Makefile:123: stack-protector enabled but compiler support broken
   191  arch/x86/Makefile:138: CONFIG_X86_X32 enabled but no binutils support
   192  Makefile:652: Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler
   193  make: execvp: /gcc-5.5.0/bin/gcc: Permission denied
   194    SYSTBL  arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
   195    SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h
   196  scripts/xen-hypercalls.sh: line 7: /gcc-5.5.0/bin/gcc: Permission denied
   197    HOSTCC  scripts/mod/mk_elfconfig
   198  /bin/sh: 1: /gcc-5.5.0/bin/gcc: Permission denied
   199  scripts/Makefile.build:258: recipe for target 'scripts/mod/empty.o' failed
   200  make[2]: *** [scripts/mod/empty.o] Error 126
   201  make[2]: *** Waiting for unfinished jobs....
   202    CC      scripts/mod/devicetable-offsets.s
   203  /bin/sh: 1: /gcc-5.5.0/bin/gcc: Permission denied
   204  scripts/Makefile.build:153: recipe for target 'scripts/mod/devicetable-offsets.s' failed
   205  make[2]: *** [scripts/mod/devicetable-offsets.s] Error 126
   206    HOSTCC  scripts/selinux/mdp/mdp
   207    HOSTCC  scripts/selinux/genheaders/genheaders
   208  scripts/Makefile.build:403: recipe for target 'scripts/mod' failed
   209  make[1]: *** [scripts/mod] Error 2
   210  make[1]: *** Waiting for unfinished jobs....
   211    UPD     include/config/kernel.release
   212  Makefile:545: recipe for target 'scripts' failed
   213  make: *** [scripts] Error 2
   214  make: *** Waiting for unfinished jobs....
   215    HOSTLD  arch/x86/tools/relocs
   216  `,
   217  		`make: execvp: /gcc-5.5.0/bin/gcc: Permission denied
   218  scripts/xen-hypercalls.sh: line 7: /gcc-5.5.0/bin/gcc: Permission denied
   219  /bin/sh: 1: /gcc-5.5.0/bin/gcc: Permission denied`,
   220  		"",
   221  		"",
   222  	},
   223  	{`
   224  ./arch/x86/include/asm/nospec-branch.h:360:1: warning: data definition has no type or storage class
   225    360 | DECLARE_STATIC_KEY_FALSE(mds_user_clear);
   226        | ^~~~~~~~~~~~~~~~~~~~~~~~
   227  ./arch/x86/include/asm/nospec-branch.h:360:1: error: type defaults to ‘int’ in declaration of ‘DECLARE_STATIC_KEY_FALSE’ [-Werror=implicit-int]
   228  ./arch/x86/include/asm/nospec-branch.h:360:1: warning: parameter names (without types) in function declaration
   229  ./arch/x86/include/asm/nospec-branch.h: In function ‘mds_user_clear_cpu_buffers’:
   230  ./arch/x86/include/asm/nospec-branch.h:394:6: error: implicit declaration of function ‘static_branch_likely’ [-Werror=implicit-function-declaration]
   231    394 |  if (static_branch_likely(&mds_user_clear))
   232        |      ^~~~~~~~~~~~~~~~~~~~
   233  ./arch/x86/include/asm/nospec-branch.h:394:28: error: ‘mds_user_clear’ undeclared (first use in this function)
   234    394 |  if (static_branch_likely(&mds_user_clear))
   235        |                            ^~~~~~~~~~~~~~
   236  ./arch/x86/include/asm/nospec-branch.h:394:28: note: each undeclared identifier is reported only once for each function it appears in
   237  cc1: some warnings being treated as errors
   238  Kbuild:57: recipe for target 'arch/x86/kernel/asm-offsets.s' failed
   239  make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
   240  Makefile:1227: recipe for target 'prepare0' failed
   241  make: *** [prepare0] Error 2
   242  `, `./arch/x86/include/asm/nospec-branch.h:360:1: error: type defaults to 'int' in declaration of 'DECLARE_STATIC_KEY_FALSE' [-Werror=implicit-int]
   243  ./arch/x86/include/asm/nospec-branch.h:394:6: error: implicit declaration of function 'static_branch_likely' [-Werror=implicit-function-declaration]
   244  ./arch/x86/include/asm/nospec-branch.h:394:28: error: 'mds_user_clear' undeclared (first use in this function)`,
   245  		"/some/unrelated/path",
   246  		"arch/x86/include/asm/nospec-branch.h",
   247  	},
   248  	{`
   249    CC      fs/notify/group.o
   250    CC      lib/zlib_deflate/deftree.o
   251    CC      net/ipv4/devinet.o
   252    CC      arch/x86/kernel/apic/apic_noop.o
   253    CC      arch/x86/kernel/crash_core_64.o
   254    CC      arch/x86/kernel/machine_kexec_64.o
   255  In file included from kernel/rcu/update.c:562:
   256  kernel/rcu/tasks.h: In function ‘show_rcu_tasks_gp_kthreads’:
   257  kernel/rcu/tasks.h:1070:37: error: ‘rcu_tasks_rude’ undeclared (first use in this function); did you mean ‘rcu_tasks_qs’?
   258   1070 |  show_rcu_tasks_generic_gp_kthread(&rcu_tasks_rude, "");
   259        |                                     ^~~~~~~~~~~~~~
   260        |                                     rcu_tasks_qs
   261  kernel/rcu/tasks.h:1070:37: note: each undeclared identifier is reported only once for each function it appears in
   262  scripts/Makefile.build:267: recipe for target 'kernel/rcu/update.o' failed
   263  make[2]: *** [kernel/rcu/update.o] Error 1
   264  scripts/Makefile.build:505: recipe for target 'kernel/rcu' failed
   265  make[1]: *** [kernel/rcu] Error 2
   266  make[1]: *** Waiting for unfinished jobs....
   267    CC      net/ipv4/af_inet.o
   268    CC      crypto/blowfish_common.o
   269    CC      arch/x86/kernel/apic/ipi.o
   270    CC      sound/hda/hdac_controller.o
   271  `,
   272  		"kernel/rcu/tasks.h:1070:37: error: 'rcu_tasks_rude' undeclared (first use in this function); did you mean 'rcu_tasks_qs'?",
   273  		"",
   274  		"kernel/rcu/tasks.h",
   275  	},
   276  	{`
   277    CC      arch/x86/boot/compressed/kaslr.o
   278    AS      arch/x86/boot/compressed/mem_encrypt.o
   279    CC      arch/x86/boot/compressed/kaslr_64.o
   280    CC      arch/x86/boot/compressed/pgtable_64.o
   281    CC      arch/x86/boot/compressed/acpi.o
   282  clang-10: /home/glider/llvm-project/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp:941: void {anonymous}::X86AsmParser::SwitchMode(unsigned int): Assertion 'FeatureBitset({mode}) == (STI.getFeatureBits() & AllModes)' failed.
   283  Stack dump:
   284  0.	Program arguments: /syzkaller/clang-kmsan/bin/clang-10 -cc1as -triple x86_64-unknown-linux-gnu -filetype obj -main-file-name head_64.S -target-cpu x86-64 -target-feature -mmx -target-feature -sse -I ./arch/x86/include -I ./arch/x86/include/generated -I ./include -I ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi -I ./include/uapi -I ./include/generated/uapi -fdebug-compilation-dir /syzkaller/managers/upstream-kmsan-gce/kernel -dwarf-debug-producer clang version 10.0.0 (/home/glider/llvm-project/clang c2443155a0fb245c8f17f2c1c72b6ea391e86e81) -I ./arch/x86/include -I ./arch/x86/include/generated -I ./include -I ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi -I ./include/uapi -I ./include/generated/uapi -dwarf-version=4 -mrelocation-model pic -o arch/x86/boot/compressed/head_64.o /tmp/head_64-984db4.s 
   285  clang-10: /home/glider/llvm-project/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp:941: void {anonymous}::X86AsmParser::SwitchMode(unsigned int): Assertion 'FeatureBitset({mode}) == (STI.getFeatureBits() & AllModes)' failed.
   286  Stack dump:
   287  0.	Program arguments: /syzkaller/clang-kmsan/bin/clang-10 -cc1as -triple x86_64-unknown-linux-gnu -filetype obj -main-file-name mem_encrypt.S -target-cpu x86-64 -target-feature -mmx -target-feature -sse -I ./arch/x86/include -I ./arch/x86/include/generated -I ./include -I ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi -I ./include/uapi -I ./include/generated/uapi -fdebug-compilation-dir /syzkaller/managers/upstream-kmsan-gce/kernel -dwarf-debug-producer clang version 10.0.0 (/home/glider/llvm-project/clang c2443155a0fb245c8f17f2c1c72b6ea391e86e81) -I ./arch/x86/include -I ./arch/x86/include/generated -I ./include -I ./arch/x86/include/uapi -I ./arch/x86/include/generated/uapi -I ./include/uapi -I ./include/generated/uapi -dwarf-version=4 -mrelocation-model pic -o arch/x86/boot/compressed/mem_encrypt.o /tmp/mem_encrypt-3c62ac.s 
   288  /syzkaller/clang-kmsan/bin/clang-10(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x1a)[0x285af4a]
   289  /syzkaller/clang-kmsan/bin/clang-10(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x1a)[0x285af4a]
   290  /syzkaller/clang-kmsan/bin/clang-10(_ZN4llvm3sys17RunSignalHandlersEv+0x3a)[0x2858c2a]
   291  /syzkaller/clang-kmsan/bin/clang-10(_ZN4llvm3sys17RunSignalHandlersEv+0x3a)[0x2858c2a]
   292  /syzkaller/clang-kmsan/bin/clang-10[0x2858d47]
   293  /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x14fcf8ccb390]
   294  /syzkaller/clang-kmsan/bin/clang-10[0x2858d47]
   295  /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x14bb99841390]
   296  /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x14fcf7a5e428]
   297  /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x14bb985d4428]
   298  /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x14fcf7a6002a]
   299  /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x14bb985d602a]
   300  /lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x14fcf7a56bd7]
   301  /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x14fcf7a56c82]
   302  /lib/x86_64-linux-gnu/libc.so.6(+0x2dbd7)[0x14bb985ccbd7]
   303  /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x14bb985ccc82]
   304  /syzkaller/clang-kmsan/bin/clang-10[0x9aa6d8]
   305  /syzkaller/clang-kmsan/bin/clang-10[0x9aa6d8]
   306  /syzkaller/clang-kmsan/bin/clang-10[0x1b094da]
   307  /syzkaller/clang-kmsan/bin/clang-10[0x1b094da]
   308  /syzkaller/clang-kmsan/bin/clang-10[0x1b0d3a1]
   309  /syzkaller/clang-kmsan/bin/clang-10[0x1b0d3a1]
   310  /syzkaller/clang-kmsan/bin/clang-10[0x257bc55]
   311  /syzkaller/clang-kmsan/bin/clang-10[0x257bc55]
   312  /syzkaller/clang-kmsan/bin/clang-10[0x257f274]
   313  /syzkaller/clang-kmsan/bin/clang-10[0xb86f8e]
   314  /syzkaller/clang-kmsan/bin/clang-10(_Z10cc1as_mainN4llvm8ArrayRefIPKcEES2_Pv+0xc3f)[0xb8ac3f]
   315  /syzkaller/clang-kmsan/bin/clang-10(main+0x18e3)[0xaeb2d3]
   316  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x14fcf7a49830]
   317  /syzkaller/clang-kmsan/bin/clang-10[0x257f274]
   318  /syzkaller/clang-kmsan/bin/clang-10[0xb7f5d9]
   319  /syzkaller/clang-kmsan/bin/clang-10[0xb86f8e]
   320  /syzkaller/clang-kmsan/bin/clang-10(_Z10cc1as_mainN4llvm8ArrayRefIPKcEES2_Pv+0xc3f)[0xb8ac3f]
   321  /syzkaller/clang-kmsan/bin/clang-10(main+0x18e3)[0xaeb2d3]
   322  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x14bb985bf830]
   323  /syzkaller/clang-kmsan/bin/clang-10[0xb7f5d9]
   324  clang-10: error: unable to execute command: Aborted (core dumped)
   325  clang-10: error: clang integrated assembler command failed due to signal (use -v to see invocation)
   326  clang version 10.0.0 (/home/glider/llvm-project/clang c2443155a0fb245c8f17f2c1c72b6ea391e86e81)
   327  Target: x86_64-unknown-linux-gnu
   328  Thread model: posix
   329  InstalledDir: /syzkaller/clang/bin
   330  clang-10: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
   331  clang-10: error: unable to execute command: Aborted (core dumped)
   332  clang-10: error: clang integrated assembler command failed due to signal (use -v to see invocation)
   333  clang version 10.0.0 (/home/glider/llvm-project/clang c2443155a0fb245c8f17f2c1c72b6ea391e86e81)
   334  Target: x86_64-unknown-linux-gnu
   335  Thread model: posix
   336  InstalledDir: /syzkaller/clang/bin
   337  clang-10: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
   338  clang-10: note: diagnostic msg: 
   339  ********************
   340  
   341  PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
   342  Preprocessed source(s) and associated run script(s) are located at:
   343  clang-10: note: diagnostic msg: /tmp/mem_encrypt-2af6ae.S
   344  clang-10: note: diagnostic msg: /tmp/mem_encrypt-2af6ae.sh
   345  clang-10: note: diagnostic msg: 
   346  
   347  ********************
   348  scripts/Makefile.build:348: recipe for target 'arch/x86/boot/compressed/mem_encrypt.o' failed
   349  make[2]: *** [arch/x86/boot/compressed/mem_encrypt.o] Error 254
   350  make[2]: *** Waiting for unfinished jobs....
   351  clang-10: note: diagnostic msg: 
   352  ********************
   353  
   354  PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
   355  Preprocessed source(s) and associated run script(s) are located at:
   356  clang-10: note: diagnostic msg: /tmp/head_64-96b27a.S
   357  clang-10: note: diagnostic msg: /tmp/head_64-96b27a.sh
   358  clang-10: note: diagnostic msg: 
   359  
   360  ********************
   361  scripts/Makefile.build:348: recipe for target 'arch/x86/boot/compressed/head_64.o' failed
   362  make[2]: *** [arch/x86/boot/compressed/head_64.o] Error 254
   363  arch/x86/boot/Makefile:115: recipe for target 'arch/x86/boot/compressed/vmlinux' failed
   364  make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2
   365  arch/x86/Makefile:284: recipe for target 'bzImage' failed
   366  make: *** [bzImage] Error 2
   367  `,
   368  		`clang-10: error: unable to execute command: Aborted (core dumped)
   369  clang-10: error: clang integrated assembler command failed due to signal (use -v to see invocation)`,
   370  		"",
   371  		"",
   372  	},
   373  	{`
   374  scripts/kconfig/conf  --syncconfig Kconfig
   375    DESCEND  objtool
   376    CALL    scripts/atomic/check-atomics.sh
   377    CALL    scripts/checksyscalls.sh
   378    CHK     include/generated/compile.h
   379    GZIP    kernel/config_data.gz
   380    CC      kernel/configs.o
   381    AR      kernel/built-in.a
   382    GEN     .version
   383    LD      vmlinux.o
   384    MODPOST vmlinux.o
   385    MODINFO modules.builtin.modinfo
   386    GEN     modules.builtin
   387    LD      .tmp_vmlinux1
   388  arch/x86/platform/efi/efi_64.o: In function 'efi_thunk_set_virtual_address_map':
   389  /syzkaller/managers/upstream-linux-next-kasan-gce-root/kernel/arch/x86/platform/efi/efi_64.c:560: undefined reference to '__efi64_thunk'
   390  arch/x86/platform/efi/efi_64.o: In function 'efi_set_virtual_address_map':
   391  /syzkaller/managers/upstream-linux-next-kasan-gce-root/kernel/arch/x86/platform/efi/efi_64.c:902: undefined reference to 'efi_uv1_memmap_phys_prolog'
   392  /syzkaller/managers/upstream-linux-next-kasan-gce-root/kernel/arch/x86/platform/efi/efi_64.c:921: undefined reference to 'efi_uv1_memmap_phys_epilog'
   393  Makefile:1078: recipe for target 'vmlinux' failed
   394  make: *** [vmlinux] Error 1
   395  `,
   396  		`arch/x86/platform/efi/efi_64.c:560: undefined reference to '__efi64_thunk'
   397  arch/x86/platform/efi/efi_64.c:902: undefined reference to 'efi_uv1_memmap_phys_prolog'
   398  arch/x86/platform/efi/efi_64.c:921: undefined reference to 'efi_uv1_memmap_phys_epilog'`,
   399  		"/syzkaller/managers/upstream-linux-next-kasan-gce-root/kernel",
   400  		"arch/x86/platform/efi/efi_64.c",
   401  	},
   402  	{`
   403  /syzkaller/managers/upstream-linux-next-kasan-gce-root/kernel/arch/x86/platform/efi/efi_64.c:560: undefined reference to '__efi64_thunk'
   404  `,
   405  		`arch/x86/platform/efi/efi_64.c:560: undefined reference to '__efi64_thunk'`,
   406  		"/syzkaller/managers/upstream-linux-next-kasan-gce-root/kernel/",
   407  		"arch/x86/platform/efi/efi_64.c",
   408  	},
   409  	{`
   410    CC      net/ipv6/ip6_output.o
   411    CC      security/selinux/ss/policydb.o
   412    CC      net/ipv4/route.o
   413  In file included from security/smack/smack_netfilter.c:18:
   414  ./include/linux/netfilter_ipv6.h: In function ‘nf_ipv6_br_defrag’:
   415  ./include/linux/netfilter_ipv6.h:110:9: error: implicit declaration of function ‘nf_ct_frag6_gather’ [-Werror=implicit-function-declaration]
   416    110 |  return nf_ct_frag6_gather(net, skb, user);
   417        |         ^~~~~~~~~~~~~~~~~~
   418  In file included from security/apparmor/lsm.c:27:
   419  ./include/linux/netfilter_ipv6.h: In function ‘nf_ipv6_br_defrag’:
   420  ./include/linux/netfilter_ipv6.h:110:9: error: implicit declaration of function ‘nf_ct_frag6_gather’ [-Werror=implicit-function-declaration]
   421    110 |  return nf_ct_frag6_gather(net, skb, user);
   422        |         ^~~~~~~~~~~~~~~~~~
   423  In file included from net/bridge/br_netfilter_ipv6.c:30:
   424  ./include/linux/netfilter_ipv6.h: In function ‘nf_ipv6_br_defrag’:
   425  ./include/linux/netfilter_ipv6.h:110:9: error: implicit declaration of function ‘nf_ct_frag6_gather’ [-Werror=implicit-function-declaration]
   426    110 |  return nf_ct_frag6_gather(net, skb, user);
   427        |         ^~~~~~~~~~~~~~~~~~
   428  In file included from net/bridge/br_netfilter_hooks.c:31:
   429  ./include/linux/netfilter_ipv6.h: In function ‘nf_ipv6_br_defrag’:
   430  ./include/linux/netfilter_ipv6.h:110:9: error: implicit declaration of function ‘nf_ct_frag6_gather’ [-Werror=implicit-function-declaration]
   431    110 |  return nf_ct_frag6_gather(net, skb, user);
   432        |         ^~~~~~~~~~~~~~~~~~
   433    CC      net/openvswitch/datapath.o
   434    CC      net/llc/llc_output.o
   435    CC      net/ieee802154/core.o
   436  cc1: some warnings being treated as errors
   437  scripts/Makefile.build:278: recipe for target 'security/smack/smack_netfilter.o' failed
   438  make[2]: *** [security/smack/smack_netfilter.o] Error 1
   439  scripts/Makefile.build:489: recipe for target 'security/smack' failed
   440  make[1]: *** [security/smack] Error 2
   441  make[1]: *** Waiting for unfinished jobs....
   442    CC      net/lapb/lapb_iface.o
   443    CC      net/netlabel/netlabel_domainhash.o
   444    CC      net/netlabel/netlabel_addrlist.o
   445  `,
   446  		"./include/linux/netfilter_ipv6.h:110:9: error: implicit declaration of function 'nf_ct_frag6_gather' [-Werror=implicit-function-declaration]",
   447  		"",
   448  		"include/linux/netfilter_ipv6.h",
   449  	},
   450  	{`
   451  ld: mm/slub.o: in function '__kmem_cache_create':
   452  slub.c:(.text+0x6260): multiple definition of '__kmem_cache_create'; mm/page_alloc.o:page_alloc.c:(.text+0x1970): first defined here
   453  make: *** [Makefile:1139: vmlinux] Error 1
   454  `,
   455  		"slub.c:(.text+0x6260): multiple definition of '__kmem_cache_create'; mm/page_alloc.o:page_alloc.c:(.text+0x1970): first defined here",
   456  		"",
   457  		"mm/page_alloc.c",
   458  	},
   459  	{`
   460  ld: mm/slub.o:(.bss+0x0): multiple definition of 'foobar'; mm/page_alloc.o:(.bss+0x34): first defined here
   461  make: *** [Makefile:1139: vmlinux] Error 1
   462  `,
   463  		"ld: mm/slub.o:(.bss+0x0): multiple definition of 'foobar'; mm/page_alloc.o:(.bss+0x34): first defined here",
   464  		"",
   465  		"mm/slub.c",
   466  	},
   467  	{`
   468  ld.lld: error: duplicate symbol: __kmem_cache_create
   469  >>> defined at page_alloc.c
   470  >>>            page_alloc.o:(__kmem_cache_create) in archive mm/built-in.a
   471  >>> defined at slub.c
   472  >>>            slub.o:(.text+0x6260) in archive mm/built-in.a
   473  make: *** [Makefile:1139: vmlinux] Error 1
   474  `,
   475  		"ld.lld: error: duplicate symbol: __kmem_cache_create",
   476  		"",
   477  		"", // ld.lld makes it very hard to extract the file name
   478  	},
   479  	{`
   480  ld.lld: error: duplicate symbol: foobar
   481  >>> defined at page_alloc.c
   482  >>>            page_alloc.o:(foobar) in archive mm/built-in.a
   483  >>> defined at slub.c
   484  >>>            slub.o:(.bss+0x0) in archive mm/built-in.a
   485  make: *** [Makefile:1139: vmlinux] Error 1
   486  `,
   487  		"ld.lld: error: duplicate symbol: foobar",
   488  		"",
   489  		"", // ld.lld makes it very hard to extract the file name
   490  	},
   491  	{`
   492  mm/page_alloc.o:(.data+0x1a40): multiple definition of '__kmem_cache_create'
   493  mm/slub.o:(.data+0x7a0): first defined here
   494  Makefile:1160: recipe for target 'vmlinux' failed
   495  make: *** [vmlinux] Error 1
   496  `,
   497  		"mm/page_alloc.o:(.data+0x1a40): multiple definition of '__kmem_cache_create'",
   498  		"",
   499  		"mm/page_alloc.c",
   500  	},
   501  	{`
   502    LZ4     arch/x86/boot/compressed/vmlinux.bin.lz4
   503  /bin/sh: 1: lz4: not found
   504  arch/x86/boot/compressed/Makefile:151: recipe for target 'arch/x86/boot/compressed/vmlinux.bin.lz4' failed
   505  make[2]: *** [arch/x86/boot/compressed/vmlinux.bin.lz4] Error 127
   506  make[2]: *** Deleting file 'arch/x86/boot/compressed/vmlinux.bin.lz4'
   507  make[2]: *** Waiting for unfinished jobs....
   508  arch/x86/boot/Makefile:112: recipe for target 'arch/x86/boot/compressed/vmlinux' failed
   509  make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2
   510  arch/x86/Makefile:290: recipe for target 'bzImage' failed
   511  make: *** [bzImage] Error 2
   512  `,
   513  		"/bin/sh: 1: lz4: not found",
   514  		"",
   515  		"",
   516  	},
   517  	{`
   518    HOSTCC  scripts/basic/fixdep
   519    HOSTCC  scripts/kconfig/conf.o
   520    HOSTCC  scripts/kconfig/confdata.o
   521    HOSTCC  scripts/kconfig/expr.o
   522    LEX     scripts/kconfig/lexer.lex.c
   523    YACC    scripts/kconfig/parser.tab.[ch]
   524    HOSTCC  scripts/kconfig/preprocess.o
   525    HOSTCC  scripts/kconfig/symbol.o
   526    HOSTCC  scripts/kconfig/util.o
   527    HOSTCC  scripts/kconfig/lexer.lex.o
   528    HOSTCC  scripts/kconfig/parser.tab.o
   529    HOSTLD  scripts/kconfig/conf
   530  /usr/bin/env: invalid option -- 'S'
   531  Try '/usr/bin/env --help' for more information.
   532  init/Kconfig:39: syntax error
   533  init/Kconfig:38: invalid statement
   534  scripts/kconfig/Makefile:71: recipe for target 'oldconfig' failed
   535  make[1]: *** [oldconfig] Error 1
   536  Makefile:602: recipe for target 'oldconfig' failed
   537  make: *** [oldconfig] Error 2
   538  `,
   539  		"init/Kconfig:39: syntax error\ninit/Kconfig:38: invalid statement",
   540  		"",
   541  		"init/Kconfig",
   542  	},
   543  	{`
   544    LD      vmlinux
   545    BTFIDS  vmlinux
   546  FAILED unresolved symbol dctcp_update_alpha
   547  make: *** [Makefile:1292: vmlinux] Error 255
   548  `,
   549  		"FAILED unresolved symbol dctcp_update_alpha",
   550  		"",
   551  		"",
   552  	},
   553  	{`
   554  scripts/kconfig/conf  --syncconfig Kconfig
   555  
   556  *** Error during update of the configuration.
   557  
   558  make[2]: *** [scripts/kconfig/Makefile:41: syncconfig] Error 1
   559  make[1]: *** [Makefile:545: syncconfig] Error 2
   560  make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'.  Stop.
   561  make: *** Waiting for unfinished jobs....
   562  `,
   563  		"make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'.  Stop.",
   564  		"",
   565  		"",
   566  	},
   567  	{`
   568  sh: 1: column: not found
   569  FAILED: host_x64/obj/tools/docsgen/clidoc_out.tar.gz
   570  ../../build/rbe/output-scanner.sh --label //tools/docsgen:invoke_clidoc\(//build/toolchain:host_x64\) host_x64/obj/tools/docsgen/clidoc_out.tar.gz -- ../../build/gn_run_binary.sh ../../prebuilt/third_party/clang/linux-x64/bin host_x64/clidoc -o host_x64/gen/tools/docsgen/sdk-docs --quiet --tarball-dir host_x64/obj/tools/docsgen/clidoc_out.tar.gz --depfile host_x64/obj/tools/docsgen/invoke_clidoc.d
   571  Error: Unable to write generate doc for "/syzkaller/managers/main/kernel/out/x64/host_x64/fpublish" to "host_x64/gen/tools/docsgen/sdk-docs"
   572  Caused by:
   573      Error running help: Unexpected non-zero error code with tool "/syzkaller/managers/main/kernel/out/x64/host_x64/fpublish"
   574                  and subcommands [].
   575  ninja: build stopped: subcommand failed.
   576  `,
   577  		`Error: Unable to write generate doc for "/syzkaller/managers/main/kernel/out/x64/host_x64/fpublish" to "host_x64/gen/tools/docsgen/sdk-docs"`,
   578  		"",
   579  		"",
   580  	},
   581  	{`
   582    AR      built-in.a
   583    AR      vmlinux.a
   584    LD      vmlinux.o
   585  Killed
   586  make[1]: *** [scripts/Makefile.vmlinux_o:61: vmlinux.o] Error 137
   587  make[1]: *** Deleting file 'vmlinux.o'
   588  make: *** [Makefile:1231: vmlinux_o] Error 2
   589  `,
   590  		"Killed",
   591  		"",
   592  		"",
   593  	},
   594  	{`
   595    RUSTC L rust/kernel.o
   596  error[E0599]: no method named ` + "`data`" + ` found for struct ` + "`core::pin::Pin<kbox::Box<T, Kmalloc>>`" +
   597  		` in the current scope
   598    --> rust/kernel/usb.rs:92:34
   599     |
   600  92 |         T::disconnect(intf, data.data());
   601     |                                  ^^^^ method not found in ` + "`Pin<Box<T, Kmalloc>>`" + `
   602  
   603  error: aborting due to 1 previous error
   604  
   605  For more information about this error, try ` + "`rustc --explain E0599`" + `.
   606  make[2]: *** [rust/Makefile:553: rust/kernel.o] Error 1
   607  make[1]: *** [/syzkaller/managers/ci-upstream-rust-kasan-gce/kernel/Makefile:1308: prepare] Error 2
   608  make: *** [Makefile:248: __sub-make] Error 2
   609  `,
   610  		"error[E0599]: no method named `data` found for struct `core::pin::Pin<kbox::Box<T, Kmalloc>>` in the current scope",
   611  		"",
   612  		"",
   613  	},
   614  }