Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-compile in Debian sid with Error: unrecognized opcode `csrr a5,0xc01' #49

Closed
HougeLangley opened this issue Jan 25, 2022 · 3 comments

Comments

@HougeLangley
Copy link

root@debian:~/riscv# cp arch/riscv/configs/starfive_jh7100_fedora_defconfig .config
root@debian:~/riscv# make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- menuconfig
  HOSTCC  scripts/basic/fixdep
  UPD     scripts/kconfig/mconf-cfg
  HOSTCC  scripts/kconfig/mconf.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/mconf


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

root@debian:~/riscv# make -j40 ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- bindeb-pkg LOCALVERSION=-starfive
  SYNC    include/config/auto.conf.cmd
  HOSTCC  scripts/kconfig/conf.o
  HOSTLD  scripts/kconfig/conf
  UPD     include/config/kernel.release
sh ./scripts/package/mkdebian
dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch)  -b -nc -uc
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 5.17.0-rc1-starfive-1
dpkg-buildpackage: info: source distribution sid
dpkg-buildpackage: info: source changed by root <root@debian>
dpkg-buildpackage: info: host architecture riscv64
 dpkg-source --before-build .
 debian/rules binary
make KERNELRELEASE=5.17.0-rc1-starfive ARCH=riscv 	KBUILD_BUILD_VERSION=1 -f ./Makefile
  WRAP    arch/riscv/include/generated/uapi/asm/errno.h
  WRAP    arch/riscv/include/generated/uapi/asm/fcntl.h
  WRAP    arch/riscv/include/generated/uapi/asm/ioctl.h
  WRAP    arch/riscv/include/generated/uapi/asm/ioctls.h
  WRAP    arch/riscv/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/riscv/include/generated/uapi/asm/mman.h
  WRAP    arch/riscv/include/generated/uapi/asm/msgbuf.h
  WRAP    arch/riscv/include/generated/uapi/asm/param.h
  WRAP    arch/riscv/include/generated/uapi/asm/poll.h
  WRAP    arch/riscv/include/generated/uapi/asm/posix_types.h
  WRAP    arch/riscv/include/generated/uapi/asm/resource.h
  WRAP    arch/riscv/include/generated/uapi/asm/sembuf.h
  WRAP    arch/riscv/include/generated/uapi/asm/setup.h
  WRAP    arch/riscv/include/generated/uapi/asm/shmbuf.h
  WRAP    arch/riscv/include/generated/uapi/asm/siginfo.h
  WRAP    arch/riscv/include/generated/uapi/asm/signal.h
  WRAP    arch/riscv/include/generated/uapi/asm/socket.h
  WRAP    arch/riscv/include/generated/uapi/asm/sockios.h
  WRAP    arch/riscv/include/generated/uapi/asm/stat.h
  WRAP    arch/riscv/include/generated/uapi/asm/statfs.h
  WRAP    arch/riscv/include/generated/uapi/asm/swab.h
  WRAP    arch/riscv/include/generated/uapi/asm/termbits.h
  WRAP    arch/riscv/include/generated/uapi/asm/termios.h
  WRAP    arch/riscv/include/generated/uapi/asm/types.h
  UPD     include/generated/uapi/linux/version.h
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/srcpos.o
  UPD     include/generated/utsrelease.h
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/util.o
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  WRAP    arch/riscv/include/generated/asm/early_ioremap.h
  WRAP    arch/riscv/include/generated/asm/flat.h
  HOSTCC  scripts/dtc/fdtoverlay.o
  WRAP    arch/riscv/include/generated/asm/user.h
  WRAP    arch/riscv/include/generated/asm/vmlinux.lds.h
  WRAP    arch/riscv/include/generated/asm/kvm_para.h
  WRAP    arch/riscv/include/generated/asm/checksum.h
  WRAP    arch/riscv/include/generated/asm/compat.h
  WRAP    arch/riscv/include/generated/asm/bugs.h
  WRAP    arch/riscv/include/generated/asm/device.h
  WRAP    arch/riscv/include/generated/asm/div64.h
  WRAP    arch/riscv/include/generated/asm/dma-mapping.h
  WRAP    arch/riscv/include/generated/asm/dma.h
  WRAP    arch/riscv/include/generated/asm/emergency-restart.h
  WRAP    arch/riscv/include/generated/asm/exec.h
  WRAP    arch/riscv/include/generated/asm/fb.h
  WRAP    arch/riscv/include/generated/asm/hardirq.h
  WRAP    arch/riscv/include/generated/asm/hw_irq.h
  WRAP    arch/riscv/include/generated/asm/irq_regs.h
  WRAP    arch/riscv/include/generated/asm/kmap_size.h
  WRAP    arch/riscv/include/generated/asm/local.h
  WRAP    arch/riscv/include/generated/asm/local64.h
  WRAP    arch/riscv/include/generated/asm/msi.h
  WRAP    arch/riscv/include/generated/asm/percpu.h
  WRAP    arch/riscv/include/generated/asm/preempt.h
  WRAP    arch/riscv/include/generated/asm/rwonce.h
  WRAP    arch/riscv/include/generated/asm/serial.h
  WRAP    arch/riscv/include/generated/asm/shmparam.h
  WRAP    arch/riscv/include/generated/asm/simd.h
  WRAP    arch/riscv/include/generated/asm/softirq_stack.h
  WRAP    arch/riscv/include/generated/asm/topology.h
  WRAP    arch/riscv/include/generated/asm/trace_clock.h
  WRAP    arch/riscv/include/generated/asm/unaligned.h
  WRAP    arch/riscv/include/generated/asm/vga.h
  WRAP    arch/riscv/include/generated/asm/xor.h
  HOSTCC  scripts/unifdef
  DESCEND bpf/resolve_btfids
  MKDIR     /root/riscv/tools/bpf/resolve_btfids/libbpf/
  MKDIR     /root/riscv/tools/bpf/resolve_btfids//libsubcmd
  HOSTCC  /root/riscv/tools/bpf/resolve_btfids/fixdep.o
  GEN     /root/riscv/tools/bpf/resolve_btfids/libbpf/bpf_helper_defs.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/bpf.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/libbpf.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/btf.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/libbpf_common.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/libbpf_legacy.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/xsk.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/bpf_helpers.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/bpf_tracing.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/bpf_endian.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/bpf_core_read.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/skel_internal.h
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/libbpf_version.h
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  /root/riscv/tools/bpf/resolve_btfids/fixdep-in.o
  LINK    /root/riscv/tools/bpf/resolve_btfids/fixdep
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/exec-cmd.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/help.o
  INSTALL /root/riscv/tools/bpf/resolve_btfids/libbpf//include/bpf/bpf_helper_defs.h
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/pager.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/parse-options.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/run-command.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/sigchain.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/subcmd-config.o
  MKDIR   /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/
  MKDIR   /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/
  MKDIR   /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/
  MKDIR   /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/bpf.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/nlattr.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf_errno.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/btf.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/str_error.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/netlink.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/bpf_prog_linfo.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf_probes.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/xsk.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/hashmap.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/btf_dump.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/ringbuf.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/strset.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/linker.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/gen_loader.o
  CC      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/relo_core.o
  HOSTLD  scripts/dtc/fdtoverlay
  HDRINST usr/include/asm-generic/errno-base.h
  HDRINST usr/include/asm-generic/statfs.h
  HDRINST usr/include/asm-generic/signal.h
  HDRINST usr/include/asm-generic/auxvec.h
  HDRINST usr/include/asm-generic/stat.h
  HDRINST usr/include/asm-generic/int-ll64.h
  HDRINST usr/include/asm-generic/posix_types.h
  HDRINST usr/include/asm-generic/fcntl.h
  HDRINST usr/include/asm-generic/termbits.h
  HDRINST usr/include/asm-generic/mman-common.h
  HDRINST usr/include/asm-generic/hugetlb_encode.h
  HDRINST usr/include/asm-generic/socket.h
  HDRINST usr/include/asm-generic/poll.h
  HDRINST usr/include/asm-generic/ioctls.h
  HDRINST usr/include/asm-generic/setup.h
  HDRINST usr/include/asm-generic/siginfo.h
  HDRINST usr/include/asm-generic/termios.h
  HDRINST usr/include/asm-generic/ipcbuf.h
  HDRINST usr/include/asm-generic/msgbuf.h
  HDRINST usr/include/asm-generic/ucontext.h
  HDRINST usr/include/asm-generic/ioctl.h
  HDRINST usr/include/asm-generic/signal-defs.h
  HDRINST usr/include/asm-generic/resource.h
  HDRINST usr/include/asm-generic/bitsperlong.h
  HDRINST usr/include/asm-generic/errno.h
  HDRINST usr/include/asm-generic/types.h
  HDRINST usr/include/asm-generic/unistd.h
  HDRINST usr/include/asm-generic/sockios.h
  HDRINST usr/include/asm-generic/param.h
  HDRINST usr/include/asm-generic/kvm_para.h
  HDRINST usr/include/asm-generic/mman.h
  HDRINST usr/include/asm-generic/swab.h
  HDRINST usr/include/asm-generic/int-l64.h
  HDRINST usr/include/asm-generic/bpf_perf_event.h
  HDRINST usr/include/asm-generic/sembuf.h
  HDRINST usr/include/asm-generic/shmbuf.h
  HDRINST usr/include/drm/panfrost_drm.h
  HDRINST usr/include/drm/msm_drm.h
  HDRINST usr/include/drm/vgem_drm.h
  HDRINST usr/include/drm/drm_sarea.h
  HDRINST usr/include/drm/amdgpu_drm.h
  HDRINST usr/include/drm/v3d_drm.h
  HDRINST usr/include/drm/etnaviv_drm.h
  HDRINST usr/include/drm/drm.h
  HDRINST usr/include/drm/savage_drm.h
  HDRINST usr/include/drm/drm_fourcc.h
  HDRINST usr/include/drm/qxl_drm.h
  HDRINST usr/include/drm/armada_drm.h
  HDRINST usr/include/drm/virtgpu_drm.h
  HDRINST usr/include/drm/sis_drm.h
  HDRINST usr/include/drm/vmwgfx_drm.h
  HDRINST usr/include/drm/i915_drm.h
  HDRINST usr/include/drm/vc4_drm.h
  HDRINST usr/include/drm/tegra_drm.h
  HDRINST usr/include/drm/radeon_drm.h
  HDRINST usr/include/drm/drm_mode.h
  HDRINST usr/include/drm/via_drm.h
  HDRINST usr/include/drm/r128_drm.h
  HDRINST usr/include/drm/nouveau_drm.h
  HDRINST usr/include/drm/exynos_drm.h
  HDRINST usr/include/drm/lima_drm.h
  HDRINST usr/include/drm/mga_drm.h
  HDRINST usr/include/drm/i810_drm.h
  HDRINST usr/include/drm/omap_drm.h
  HDRINST usr/include/linux/vm_sockets.h
  HDRINST usr/include/linux/hpet.h
  HDRINST usr/include/linux/netfilter_decnet.h
  HDRINST usr/include/linux/parport.h
  HDRINST usr/include/linux/rose.h
  HDRINST usr/include/linux/atmdev.h
  HDRINST usr/include/linux/if_bridge.h
  HDRINST usr/include/linux/virtio_pci.h
  HDRINST usr/include/linux/in.h
  HDRINST usr/include/linux/mount.h
  HDRINST usr/include/linux/virtio_scmi.h
  HDRINST usr/include/linux/virtio_balloon.h
  HDRINST usr/include/linux/aspeed-lpc-ctrl.h
  HDRINST usr/include/linux/uhid.h
  HDRINST usr/include/linux/atm.h
  HDRINST usr/include/linux/tipc_config.h
  HDRINST usr/include/linux/if_x25.h
  HDRINST usr/include/linux/virtio_types.h
  HDRINST usr/include/linux/usbip.h
  HDRINST usr/include/linux/if_tunnel.h
  HDRINST usr/include/linux/utime.h
  HDRINST usr/include/linux/ipv6.h
  HDRINST usr/include/linux/openvswitch.h
  HDRINST usr/include/linux/tee.h
  HDRINST usr/include/linux/acct.h
  HDRINST usr/include/linux/virtio_net.h
  HDRINST usr/include/linux/sync_file.h
  HDRINST usr/include/linux/atm_tcp.h
  HDRINST usr/include/linux/nubus.h
  HDRINST usr/include/linux/binfmts.h
  HDRINST usr/include/linux/uinput.h
  HDRINST usr/include/linux/affs_hardblocks.h
  HDRINST usr/include/linux/if_arcnet.h
  HDRINST usr/include/linux/qrtr.h
  HDRINST usr/include/linux/lwtunnel.h
  HDRINST usr/include/linux/signal.h
  HDRINST usr/include/linux/smc.h
  HDRINST usr/include/linux/map_to_7segment.h
  HDRINST usr/include/linux/dlm_plock.h
  HDRINST usr/include/linux/time.h
  HDRINST usr/include/linux/nitro_enclaves.h
  HDRINST usr/include/linux/efs_fs_sb.h
  HDRINST usr/include/linux/kcov.h
  HDRINST usr/include/linux/xilinx-v4l2-controls.h
  HDRINST usr/include/linux/rtnetlink.h
  HDRINST usr/include/linux/fs.h
  HDRINST usr/include/linux/zorro_ids.h
  HDRINST usr/include/linux/oom.h
  HDRINST usr/include/linux/tcp_metrics.h
  HDRINST usr/include/linux/firewire-cdev.h
  HDRINST usr/include/linux/atmmpc.h
  HDRINST usr/include/linux/virtio_i2c.h
  HDRINST usr/include/linux/ipmi_bmc.h
  HDRINST usr/include/linux/fsmap.h
  HDRINST usr/include/linux/if_fc.h
  HDRINST usr/include/linux/v4l2-mediabus.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_LOG.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_REJECT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_frag.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_HL.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_NPT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6_tables.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_rt.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_opts.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_hl.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_mh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_srh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ah.h
  HDRINST usr/include/linux/kcmp.h
  HDRINST usr/include/linux/auxvec.h
  HDRINST usr/include/linux/cdrom.h
  HDRINST usr/include/linux/nfs_fs.h
  HDRINST usr/include/linux/personality.h
  HDRINST usr/include/linux/fsl_mc.h
  HDRINST usr/include/linux/fsi.h
  HDRINST usr/include/linux/rpmsg.h
  HDRINST usr/include/linux/tipc.h
  HDRINST usr/include/linux/mii.h
  HDRINST usr/include/linux/stat.h
  HDRINST usr/include/linux/if_phonet.h
  HDRINST usr/include/linux/membarrier.h
  HDRINST usr/include/linux/v4l2-common.h
  HDRINST usr/include/linux/bsg.h
  HDRINST usr/include/linux/watchdog.h
  HDRINST usr/include/linux/target_core_user.h
  HDRINST usr/include/linux/xattr.h
  HDRINST usr/include/linux/fuse.h
  HDRINST usr/include/linux/batman_adv.h
  HDRINST usr/include/linux/netdevice.h
  HDRINST usr/include/linux/net_dropmon.h
  HDRINST usr/include/linux/devlink.h
  HDRINST usr/include/linux/capability.h
  HDRINST usr/include/linux/virtio_config.h
  HDRINST usr/include/linux/seg6.h
  HDRINST usr/include/linux/ip_vs.h
  HDRINST usr/include/linux/fanotify.h
  HDRINST usr/include/linux/tipc_netlink.h
  HDRINST usr/include/linux/userfaultfd.h
  HDRINST usr/include/linux/if_ether.h
  HDRINST usr/include/linux/suspend_ioctls.h
  HDRINST usr/include/linux/unix_diag.h
  HDRINST usr/include/linux/ife.h
  HDRINST usr/include/linux/utsname.h
  HDRINST usr/include/linux/android/binder.h
  HDRINST usr/include/linux/ioprio.h
  HDRINST usr/include/linux/dm-log-userspace.h
  HDRINST usr/include/linux/android/binderfs.h
  HDRINST usr/include/linux/nl80211-vnd-intel.h
  HDRINST usr/include/linux/bpqether.h
  HDRINST usr/include/linux/aio_abi.h
  HDRINST usr/include/linux/kexec.h
  HDRINST usr/include/linux/gpio.h
  HDRINST usr/include/linux/scif_ioctl.h
  HDRINST usr/include/linux/dlmconstants.h
  HDRINST usr/include/linux/llc.h
  HDRINST usr/include/linux/fscrypt.h
  HDRINST usr/include/linux/fou.h
  HDRINST usr/include/linux/virtio_pmem.h
  HDRINST usr/include/linux/netfilter/nfnetlink.h
  HDRINST usr/include/linux/netfilter/xt_IDLETIMER.h
  HDRINST usr/include/linux/netfilter/xt_mark.h
  HDRINST usr/include/linux/netfilter/xt_LOG.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_hash.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_bitmap.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_list.h
  HDRINST usr/include/linux/netfilter/xt_AUDIT.h
  HDRINST usr/include/linux/netfilter/xt_string.h
  HDRINST usr/include/linux/netfilter/xt_RATEEST.h
  HDRINST usr/include/linux/netfilter/xt_connlabel.h
  HDRINST usr/include/linux/netfilter/xt_sctp.h
  HDRINST usr/include/linux/netfilter/xt_CT.h
  HDRINST usr/include/linux/netfilter/xt_tcpudp.h
  HDRINST usr/include/linux/netfilter/xt_CLASSIFY.h
  HDRINST usr/include/linux/netfilter/xt_state.h
  HDRINST usr/include/linux/netfilter/xt_owner.h
  HDRINST usr/include/linux/netfilter/xt_dscp.h
  HDRINST usr/include/linux/netfilter/xt_TCPOPTSTRIP.h
  HDRINST usr/include/linux/netfilter/xt_statistic.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_common.h
  HDRINST usr/include/linux/netfilter/xt_ecn.h
  HDRINST usr/include/linux/netfilter/xt_esp.h
  HDRINST usr/include/linux/netfilter/xt_nfacct.h
  HDRINST usr/include/linux/netfilter/xt_DSCP.h
  HDRINST usr/include/linux/netfilter/nf_synproxy.h
  HDRINST usr/include/linux/netfilter/xt_socket.h
  HDRINST usr/include/linux/netfilter/xt_addrtype.h
  HDRINST usr/include/linux/netfilter/xt_MARK.h
  HDRINST usr/include/linux/netfilter/xt_mac.h
  HDRINST usr/include/linux/netfilter/xt_TPROXY.h
  HDRINST usr/include/linux/netfilter/xt_TCPMSS.h
  HDRINST usr/include/linux/netfilter/xt_ipcomp.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_sctp.h
  HDRINST usr/include/linux/netfilter/xt_policy.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cthelper.h
  HDRINST usr/include/linux/netfilter/xt_iprange.h
  HDRINST usr/include/linux/netfilter/xt_ipvs.h
  HDRINST usr/include/linux/netfilter/nf_log.h
  HDRINST usr/include/linux/netfilter/xt_SECMARK.h
  HDRINST usr/include/linux/netfilter/xt_CONNMARK.h
  HDRINST usr/include/linux/netfilter/nf_nat.h
  HDRINST usr/include/linux/netfilter/xt_rateest.h
  HDRINST usr/include/linux/netfilter/nfnetlink_log.h
  HDRINST usr/include/linux/netfilter/xt_CHECKSUM.h
  HDRINST usr/include/linux/netfilter/nfnetlink_conntrack.h
  HDRINST usr/include/linux/netfilter/xt_multiport.h
  HDRINST usr/include/linux/netfilter/xt_limit.h
  HDRINST usr/include/linux/netfilter/xt_LED.h
  HDRINST usr/include/linux/netfilter/xt_cgroup.h
  HDRINST usr/include/linux/netfilter/xt_comment.h
  HDRINST usr/include/linux/netfilter/nf_tables_compat.h
  HDRINST usr/include/linux/netfilter/xt_tcpmss.h
  HDRINST usr/include/linux/netfilter/xt_time.h
  HDRINST usr/include/linux/netfilter/xt_realm.h
  HDRINST usr/include/linux/netfilter/xt_set.h
  HDRINST usr/include/linux/netfilter/xt_l2tp.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tcp.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cttimeout.h
  HDRINST usr/include/linux/netfilter/xt_cpu.h
  HDRINST usr/include/linux/netfilter/xt_helper.h
  HDRINST usr/include/linux/netfilter/xt_SYNPROXY.h
  HDRINST usr/include/linux/netfilter/nfnetlink_hook.h
  HDRINST usr/include/linux/netfilter/xt_connbytes.h
  HDRINST usr/include/linux/netfilter/xt_NFLOG.h
  HDRINST usr/include/linux/netfilter/xt_cluster.h
  HDRINST usr/include/linux/netfilter/xt_conntrack.h
  HDRINST usr/include/linux/netfilter/xt_osf.h
  HDRINST usr/include/linux/netfilter/nfnetlink_osf.h
  HDRINST usr/include/linux/netfilter/xt_length.h
  HDRINST usr/include/linux/netfilter/xt_pkttype.h
  HDRINST usr/include/linux/netfilter/nfnetlink_acct.h
  HDRINST usr/include/linux/netfilter/xt_HMARK.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tuple_common.h
  HDRINST usr/include/linux/netfilter/nfnetlink_compat.h
  HDRINST usr/include/linux/netfilter/xt_CONNSECMARK.h
  HDRINST usr/include/linux/netfilter/nfnetlink_queue.h
  HDRINST usr/include/linux/netfilter/x_tables.h
  HDRINST usr/include/linux/netfilter/xt_hashlimit.h
  HDRINST usr/include/linux/netfilter/xt_bpf.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_ftp.h
  HDRINST usr/include/linux/netfilter/xt_NFQUEUE.h
  HDRINST usr/include/linux/netfilter/nf_tables.h
  HDRINST usr/include/linux/netfilter/xt_dccp.h
  HDRINST usr/include/linux/netfilter/xt_connlimit.h
  HDRINST usr/include/linux/netfilter/xt_connmark.h
  HDRINST usr/include/linux/netfilter/xt_u32.h
  HDRINST usr/include/linux/netfilter/xt_quota.h
  HDRINST usr/include/linux/netfilter/xt_TEE.h
  HDRINST usr/include/linux/netfilter/xt_recent.h
  HDRINST usr/include/linux/netfilter/xt_devgroup.h
  HDRINST usr/include/linux/netfilter/xt_physdev.h
  HDRINST usr/include/linux/atm_he.h
  HDRINST usr/include/linux/netfilter/xt_rpfilter.h
  HDRINST usr/include/linux/if_vlan.h
  HDRINST usr/include/linux/reiserfs_fs.h
  HDRINST usr/include/linux/map_to_14segment.h
  HDRINST usr/include/linux/am437x-vpfe.h
  HDRINST usr/include/linux/nfs4.h
  HDRINST usr/include/linux/mei.h
  HDRINST usr/include/linux/seg6_hmac.h
  HDRINST usr/include/linux/virtio_ring.h
  HDRINST usr/include/linux/iio/buffer.h
  HDRINST usr/include/linux/nexthop.h
  HDRINST usr/include/linux/iio/events.h
  HDRINST usr/include/linux/iio/types.h
  HDRINST usr/include/linux/rio_cm_cdev.h
  HDRINST usr/include/linux/elf-fdpic.h
  HDRINST usr/include/linux/posix_types.h
  HDRINST usr/include/linux/ipc.h
  HDRINST usr/include/linux/fcntl.h
  HDRINST usr/include/linux/virtio_mmio.h
  HDRINST usr/include/linux/virtio_9p.h
  HDRINST usr/include/linux/atmbr2684.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_vlan.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_t.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arpreply.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_redirect.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nflog.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nat.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_stp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_m.h
  HDRINST usr/include/linux/netfilter_bridge/ebtables.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_limit.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_among.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_802_3.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_pkttype.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip6.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_log.h
  HDRINST usr/include/linux/rio_mport_cdev.h
  HDRINST usr/include/linux/vhost.h
  HDRINST usr/include/linux/rxrpc.h
  HDRINST usr/include/linux/raid/md_u.h
  HDRINST usr/include/linux/raid/md_p.h
  HDRINST usr/include/linux/hyperv.h
  HDRINST usr/include/linux/tc_ematch/tc_em_cmp.h
  HDRINST usr/include/linux/tc_ematch/tc_em_nbyte.h
  HDRINST usr/include/linux/tc_ematch/tc_em_text.h
  HDRINST usr/include/linux/tc_ematch/tc_em_meta.h
  HDRINST usr/include/linux/tc_ematch/tc_em_ipt.h
  HDRINST usr/include/linux/atmppp.h
  HDRINST usr/include/linux/route.h
  HOSTLD  scripts/dtc/dtc
  HDRINST usr/include/linux/atmarp.h
  HDRINST usr/include/linux/vfio.h
  HDRINST usr/include/linux/udf_fs_i.h
  HDRINST usr/include/linux/if_cablemodem.h
  HDRINST usr/include/linux/bpfilter.h
  HDRINST usr/include/linux/nbd-netlink.h
  HDRINST usr/include/linux/eventpoll.h
  HDRINST usr/include/linux/ipsec.h
  HDRINST usr/include/linux/apm_bios.h
  HDRINST usr/include/linux/memfd.h
  HDRINST usr/include/linux/ppp-ioctl.h
  HDRINST usr/include/linux/nfs_idmap.h
  HDRINST usr/include/linux/um_timetravel.h
  HDRINST usr/include/linux/synclink.h
  HDRINST usr/include/linux/virtio_rng.h
  HDRINST usr/include/linux/scc.h
  HDRINST usr/include/linux/sed-opal.h
  HDRINST usr/include/linux/netconf.h
  HDRINST usr/include/linux/seccomp.h
  HDRINST usr/include/linux/phantom.h
  HDRINST usr/include/linux/ila.h
  HDRINST usr/include/linux/dma-heap.h
  HDRINST usr/include/linux/cm4000_cs.h
  HDRINST usr/include/linux/tcp.h
  HDRINST usr/include/linux/smiapp.h
  HDRINST usr/include/linux/can/gw.h
  HDRINST usr/include/linux/can/raw.h
  LD      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/libsubcmd-in.o
  HDRINST usr/include/linux/can/netlink.h
  HDRINST usr/include/linux/can/isotp.h
  HDRINST usr/include/linux/can/error.h
  HDRINST usr/include/linux/can/vxcan.h
  HDRINST usr/include/linux/can/bcm.h
  HDRINST usr/include/linux/can/j1939.h
  HDRINST usr/include/linux/vdpa.h
  HDRINST usr/include/linux/pfrut.h
  HDRINST usr/include/linux/toshiba.h
  HDRINST usr/include/linux/x25.h
  HDRINST usr/include/linux/matroxfb.h
  HDRINST usr/include/linux/sctp.h
  HDRINST usr/include/linux/kernel-page-flags.h
  HDRINST usr/include/linux/atm_zatm.h
  HDRINST usr/include/linux/ioam6_iptunnel.h
  HDRINST usr/include/linux/net.h
  HDRINST usr/include/linux/posix_acl_xattr.h
  HDRINST usr/include/linux/netlink.h
  HDRINST usr/include/linux/rfkill.h
  HDRINST usr/include/linux/io_uring.h
  HDRINST usr/include/linux/ptp_clock.h
  HDRINST usr/include/linux/igmp.h
  HDRINST usr/include/linux/misc/bcm_vk.h
  HDRINST usr/include/linux/if_packet.h
  HDRINST usr/include/linux/netrom.h
  HDRINST usr/include/linux/nfsd/stats.h
  HDRINST usr/include/linux/nfsd/cld.h
  HDRINST usr/include/linux/nfsd/debug.h
  HDRINST usr/include/linux/nfsd/export.h
  HDRINST usr/include/linux/udp.h
  HDRINST usr/include/linux/mrp_bridge.h
  HDRINST usr/include/linux/counter.h
  HDRINST usr/include/linux/neighbour.h
  HDRINST usr/include/linux/virtio_iommu.h
  HDRINST usr/include/linux/wireless.h
  AR      /root/riscv/tools/bpf/resolve_btfids/libsubcmd/libsubcmd.a
  HDRINST usr/include/linux/wireguard.h
  HDRINST usr/include/linux/timex.h
  HDRINST usr/include/linux/socket.h
  HDRINST usr/include/linux/rkisp1-config.h
  HDRINST usr/include/linux/smc_diag.h
  HDRINST usr/include/linux/sched/types.h
  HDRINST usr/include/linux/if.h
  HDRINST usr/include/linux/ivtvfb.h
  HDRINST usr/include/linux/gen_stats.h
  HDRINST usr/include/linux/rseq.h
  HDRINST usr/include/linux/mptcp.h
  HDRINST usr/include/linux/switchtec_ioctl.h
  HDRINST usr/include/linux/vtpm_proxy.h
  HDRINST usr/include/linux/meye.h
  HDRINST usr/include/linux/cfm_bridge.h
  HDRINST usr/include/linux/poll.h
  HDRINST usr/include/linux/firewire-constants.h
  HDRINST usr/include/linux/netfilter_arp.h
  HDRINST usr/include/linux/dlm.h
  HDRINST usr/include/linux/atmsvc.h
  HDRINST usr/include/linux/fdreg.h
  HDRINST usr/include/linux/isst_if.h
  HDRINST usr/include/linux/ndctl.h
  HDRINST usr/include/linux/nvram.h
  HDRINST usr/include/linux/ip6_tunnel.h
  HDRINST usr/include/linux/atmapi.h
  HDRINST usr/include/linux/edd.h
  HDRINST usr/include/linux/virtio_input.h
  HDRINST usr/include/linux/const.h
  HDRINST usr/include/linux/ncsi.h
  HDRINST usr/include/linux/pps.h
  HDRINST usr/include/linux/cec-funcs.h
  HDRINST usr/include/linux/ipmi.h
  HDRINST usr/include/linux/mpls.h
  HOSTCC  scripts/kallsyms
  HDRINST usr/include/linux/mroute6.h
  HDRINST usr/include/linux/rpmsg_types.h
  HOSTCC  scripts/sorttable
  HDRINST usr/include/linux/pktcdvd.h
  HDRINST usr/include/linux/kfd_ioctl.h
  HOSTCC  scripts/asn1_compiler
  HDRINST usr/include/linux/virtio_pcidev.h
  HDRINST usr/include/linux/icmpv6.h
  HDRINST usr/include/linux/nsfs.h
  HDRINST usr/include/linux/cycx_cfm.h
  HDRINST usr/include/linux/time_types.h
  HDRINST usr/include/linux/kernelcapi.h
  HDRINST usr/include/linux/pg.h
  HDRINST usr/include/linux/radeonfb.h
  HDRINST usr/include/linux/hdlc.h
  HDRINST usr/include/linux/fsverity.h
  HDRINST usr/include/linux/mctp.h
  HDRINST usr/include/linux/cec.h
  HDRINST usr/include/linux/tc_act/tc_gate.h
  HDRINST usr/include/linux/tc_act/tc_ct.h
  HDRINST usr/include/linux/tc_act/tc_sample.h
  HDRINST usr/include/linux/tc_act/tc_nat.h
  HDRINST usr/include/linux/tc_act/tc_defact.h
  HDRINST usr/include/linux/tc_act/tc_vlan.h
  HDRINST usr/include/linux/tc_act/tc_mirred.h
  HOSTCC  scripts/sign-file
  HOSTCC  scripts/insert-sys-cert
  HDRINST usr/include/linux/tc_act/tc_ipt.h
  HDRINST usr/include/linux/tc_act/tc_bpf.h
  HDRINST usr/include/linux/tc_act/tc_skbmod.h
  HDRINST usr/include/linux/tc_act/tc_connmark.h
  DTC     arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dtb
  HDRINST usr/include/linux/tc_act/tc_skbedit.h
  HDRINST usr/include/linux/tc_act/tc_pedit.h
  DTC     arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dtb
  HDRINST usr/include/linux/tc_act/tc_ctinfo.h
  DTC     arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight-a1.dtb
  HDRINST usr/include/linux/tc_act/tc_csum.h
  HDRINST usr/include/linux/tc_act/tc_gact.h
  DTC     arch/riscv/boot/dts/starfive/jh7100-beaglev-starlight.dtb
  HDRINST usr/include/linux/tc_act/tc_ife.h
  DTC     arch/riscv/boot/dts/starfive/jh7100-starfive-visionfive-v1.dtb
  HDRINST usr/include/linux/tc_act/tc_mpls.h
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  HDRINST usr/include/linux/tc_act/tc_tunnel_key.h
  HDRINST usr/include/linux/atmlec.h
  HDRINST usr/include/linux/thermal.h
  HDRINST usr/include/linux/dcbnl.h
  HDRINST usr/include/linux/v4l2-controls.h
  HDRINST usr/include/linux/userio.h
  HDRINST usr/include/linux/timerfd.h
  HDRINST usr/include/linux/nilfs2_api.h
  HDRINST usr/include/linux/hsi/hsi_char.h
  HDRINST usr/include/linux/hsi/cs-protocol.h
  HDRINST usr/include/linux/atmsap.h
  HDRINST usr/include/linux/termios.h
  HDRINST usr/include/linux/if_alg.h
  HDRINST usr/include/linux/futex.h
  HDRINST usr/include/linux/selinux_netlink.h
  HDRINST usr/include/linux/hw_breakpoint.h
  HDRINST usr/include/linux/acrn.h
  HDRINST usr/include/linux/arcfb.h
  HDRINST usr/include/linux/seg6_local.h
  HDRINST usr/include/linux/netlink_diag.h
  HDRINST usr/include/linux/vfio_ccw.h
  HDRINST usr/include/linux/nfs_mount.h
  HDRINST usr/include/linux/gfs2_ondisk.h
  HDRINST usr/include/linux/seg6_iptunnel.h
  HDRINST usr/include/linux/nvme_ioctl.h
  HDRINST usr/include/linux/screen_info.h
  HDRINST usr/include/linux/lirc.h
  HDRINST usr/include/linux/psp-sev.h
  HDRINST usr/include/linux/perf_event.h
  HDRINST usr/include/linux/bt-bmc.h
  HDRINST usr/include/linux/rpl.h
  HDRINST usr/include/linux/v4l2-subdev.h
  HDRINST usr/include/linux/quota.h
  HDRINST usr/include/linux/uio.h
  HDRINST usr/include/linux/byteorder/big_endian.h
  HDRINST usr/include/linux/byteorder/little_endian.h
  HDRINST usr/include/linux/ioam6_genl.h
  HDRINST usr/include/linux/jffs2.h
  HDRINST usr/include/linux/kdev_t.h
  HDRINST usr/include/linux/chio.h
  HDRINST usr/include/linux/patchkey.h
  HDRINST usr/include/linux/rtc.h
  HDRINST usr/include/linux/kcm.h
  HDRINST usr/include/linux/errqueue.h
  HDRINST usr/include/linux/wmi.h
  HDRINST usr/include/linux/cxl_mem.h
  HDRINST usr/include/linux/cifs/cifs_netlink.h
  HDRINST usr/include/linux/cifs/cifs_mount.h
  HDRINST usr/include/linux/dlm_netlink.h
  HDRINST usr/include/linux/virtio_blk.h
  HDRINST usr/include/linux/mroute.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ttl.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ecn.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_TTL.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_LOG.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ah.h
  HDRINST usr/include/linux/netfilter_ipv4/ip_tables.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_REJECT.h
  HDRINST usr/include/linux/reboot.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ECN.h
  HDRINST usr/include/linux/pfkeyv2.h
  HDRINST usr/include/linux/nfsacl.h
  HDRINST usr/include/linux/xdp_diag.h
  HDRINST usr/include/linux/reiserfs_xattr.h
  HDRINST usr/include/linux/serio.h
  HDRINST usr/include/linux/dlm_device.h
  HDRINST usr/include/linux/random.h
  HDRINST usr/include/linux/psample.h
  HDRINST usr/include/linux/surface_aggregator/cdev.h
  HDRINST usr/include/linux/net_tstamp.h
  HDRINST usr/include/linux/surface_aggregator/dtx.h
  HDRINST usr/include/linux/ppp-comp.h
  HDRINST usr/include/linux/gsmmux.h
  HDRINST usr/include/linux/if_tun.h
  HDRINST usr/include/linux/sonet.h
  HDRINST usr/include/linux/sound.h
  HDRINST usr/include/linux/pkt_cls.h
  HDRINST usr/include/linux/netfilter_arp/arp_tables.h
  HDRINST usr/include/linux/netfilter_arp/arpt_mangle.h
  HDRINST usr/include/linux/if_pppol2tp.h
  HDRINST usr/include/linux/qemu_fw_cfg.h
  HDRINST usr/include/linux/in_route.h
  HDRINST usr/include/linux/net_namespace.h
  HDRINST usr/include/linux/cciss_ioctl.h
  HDRINST usr/include/linux/baycom.h
  HDRINST usr/include/linux/inet_diag.h
  HDRINST usr/include/linux/ppdev.h
  HDRINST usr/include/linux/ioctl.h
  HDRINST usr/include/linux/rds.h
  HDRINST usr/include/linux/if_ppp.h
  HDRINST usr/include/linux/coresight-stm.h
  HDRINST usr/include/linux/hash_info.h
  HDRINST usr/include/linux/soundcard.h
  HDRINST usr/include/linux/virtio_gpio.h
  HDRINST usr/include/linux/netfilter.h
  HDRINST usr/include/linux/zorro.h
  HDRINST usr/include/linux/if_addr.h
  HDRINST usr/include/linux/nfs3.h
  HDRINST usr/include/linux/omap3isp.h
  HDRINST usr/include/linux/uleds.h
  HDRINST usr/include/linux/landlock.h
  HDRINST usr/include/linux/elf.h
  HDRINST usr/include/linux/if_slip.h
  HDRINST usr/include/linux/dns_resolver.h
  HDRINST usr/include/linux/un.h
  HDRINST usr/include/linux/if_pppox.h
  HDRINST usr/include/linux/connector.h
  HDRINST usr/include/linux/nfs2.h
  HDRINST usr/include/linux/minix_fs.h
  HDRINST usr/include/linux/tipc_sockets_diag.h
  HDRINST usr/include/linux/kd.h
  HDRINST usr/include/linux/wait.h
  HDRINST usr/include/linux/vsockmon.h
  HDRINST usr/include/linux/ip.h
  HDRINST usr/include/linux/tls.h
  HDRINST usr/include/linux/omapfb.h
  HDRINST usr/include/linux/usbdevice_fs.h
  HDRINST usr/include/linux/serial_core.h
  HDRINST usr/include/linux/virtio_mem.h
  HDRINST usr/include/linux/audit.h
  HDRINST usr/include/linux/vduse.h
  HDRINST usr/include/linux/isdn/capicmd.h
  HDRINST usr/include/linux/fd.h
  HDRINST usr/include/linux/resource.h
  HDRINST usr/include/linux/sock_diag.h
  HDRINST usr/include/linux/if_bonding.h
  HDRINST usr/include/linux/genwqe/genwqe_card.h
  HDRINST usr/include/linux/virtio_bt.h
  HDRINST usr/include/linux/i2c-dev.h
  HDRINST usr/include/linux/netfilter_ipv6.h
  HDRINST usr/include/linux/virtio_console.h
  HDRINST usr/include/linux/dn.h
  HDRINST usr/include/linux/libc-compat.h
  HDRINST usr/include/linux/atmioc.h
  HDRINST usr/include/linux/pkt_sched.h
  HDRINST usr/include/linux/cn_proc.h
  HDRINST usr/include/linux/pci.h
  HDRINST usr/include/linux/if_arp.h
  HDRINST usr/include/linux/qnxtypes.h
  HDRINST usr/include/linux/vm_sockets_diag.h
  HDRINST usr/include/linux/joystick.h
  HDRINST usr/include/linux/auto_dev-ioctl.h
  HDRINST usr/include/linux/udmabuf.h
  HDRINST usr/include/linux/virtio_snd.h
  HDRINST usr/include/linux/nfc.h
  HDRINST usr/include/linux/i8k.h
  HDRINST usr/include/linux/sonypi.h
  HDRINST usr/include/linux/hidraw.h
  HDRINST usr/include/linux/romfs_fs.h
  HDRINST usr/include/linux/ptrace.h
  HDRINST usr/include/linux/pidfd.h
  HDRINST usr/include/linux/loop.h
  HDRINST usr/include/linux/can.h
  HDRINST usr/include/linux/kvm.h
  HDRINST usr/include/linux/if_team.h
  HDRINST usr/include/linux/if_ltalk.h
  HDRINST usr/include/linux/openat2.h
  HDRINST usr/include/linux/errno.h
  HDRINST usr/include/linux/fpga-dfl.h
  HDRINST usr/include/linux/vhost_types.h
  HDRINST usr/include/linux/serial.h
  HDRINST usr/include/linux/hsr_netlink.h
  HDRINST usr/include/linux/tty_flags.h
  HDRINST usr/include/linux/types.h
  HDRINST usr/include/linux/nl80211.h
  HDRINST usr/include/linux/input.h
  HDRINST usr/include/linux/i2c.h
  HDRINST usr/include/linux/gameport.h
  HDRINST usr/include/linux/dvb/audio.h
  HDRINST usr/include/linux/dvb/ca.h
  HDRINST usr/include/linux/dvb/net.h
  HDRINST usr/include/linux/dvb/frontend.h
  HDRINST usr/include/linux/dvb/osd.h
  HDRINST usr/include/linux/dvb/video.h
  HDRINST usr/include/linux/dvb/dmx.h
  HDRINST usr/include/linux/dvb/version.h
  HDRINST usr/include/linux/nbd.h
  HDRINST usr/include/linux/packet_diag.h
  HDRINST usr/include/linux/media-bus-format.h
  HDRINST usr/include/linux/nilfs2_ondisk.h
  HDRINST usr/include/linux/elf-em.h
  HDRINST usr/include/linux/unistd.h
  HDRINST usr/include/linux/vbox_err.h
  HDRINST usr/include/linux/dccp.h
  HDRINST usr/include/linux/blktrace_api.h
  HDRINST usr/include/linux/psci.h
  HDRINST usr/include/linux/ethtool_netlink.h
  HDRINST usr/include/linux/mdio.h
  HDRINST usr/include/linux/prctl.h
  HDRINST usr/include/linux/hdlcdrv.h
  HDRINST usr/include/linux/posix_acl.h
  HDRINST usr/include/linux/coda.h
  HDRINST usr/include/linux/fsl_hypervisor.h
  HDRINST usr/include/linux/ipmi_msgdefs.h
  HDRINST usr/include/linux/cgroupstats.h
  HDRINST usr/include/linux/msdos_fs.h
  HDRINST usr/include/linux/adfs_fs.h
  HDRINST usr/include/linux/blkzoned.h
  HDRINST usr/include/linux/mpls_iptunnel.h
  HDRINST usr/include/linux/dma-buf.h
  HDRINST usr/include/linux/if_addrlabel.h
  HDRINST usr/include/linux/in6.h
  HDRINST usr/include/linux/nfs4_mount.h
  HDRINST usr/include/linux/kernel.h
  HDRINST usr/include/linux/batadv_packet.h
  HDRINST usr/include/linux/iommu.h
  HDRINST usr/include/linux/keyboard.h
  HDRINST usr/include/linux/sched.h
  HDRINST usr/include/linux/falloc.h
  HDRINST usr/include/linux/pmu.h
  HDRINST usr/include/linux/aspeed-p2a-ctrl.h
  HDRINST usr/include/linux/pr.h
  HDRINST usr/include/linux/coff.h
  HDRINST usr/include/linux/atalk.h
  HDRINST usr/include/linux/gtp.h
  HDRINST usr/include/linux/snmp.h
  HDRINST usr/include/linux/videodev2.h
  HDRINST usr/include/linux/ppp_defs.h
  HDRINST usr/include/linux/cramfs_fs.h
  HDRINST usr/include/linux/sockios.h
  HDRINST usr/include/linux/f2fs.h
  HDRINST usr/include/linux/virtio_vsock.h
  HDRINST usr/include/linux/xfrm.h
  HDRINST usr/include/linux/close_range.h
  HDRINST usr/include/linux/v4l2-dv-timings.h
  HDRINST usr/include/linux/limits.h
  HDRINST usr/include/linux/nfs.h
  HDRINST usr/include/linux/bcm933xx_hcs.h
  HDRINST usr/include/linux/serial_reg.h
  HDRINST usr/include/linux/vmcore.h
  HDRINST usr/include/linux/caif/if_caif.h
  HDRINST usr/include/linux/caif/caif_socket.h
  HDRINST usr/include/linux/pci_regs.h
  HDRINST usr/include/linux/dqblk_xfs.h
  HDRINST usr/include/linux/fb.h
  HDRINST usr/include/linux/param.h
  HDRINST usr/include/linux/phonet.h
  HDRINST usr/include/linux/netfilter_ipv4.h
  HDRINST usr/include/linux/qnx4_fs.h
  HDRINST usr/include/linux/if_fddi.h
  HDRINST usr/include/linux/icmp.h
  HDRINST usr/include/linux/atm_idt77105.h
  HDRINST usr/include/linux/idxd.h
  HDRINST usr/include/linux/ccs.h
  HDRINST usr/include/linux/i2o-dev.h
  HDRINST usr/include/linux/pcitest.h
  HDRINST usr/include/linux/genetlink.h
  HDRINST usr/include/linux/kfd_sysfs.h
  HDRINST usr/include/linux/ioam6.h
  HDRINST usr/include/linux/spi/spi.h
  HDRINST usr/include/linux/spi/spidev.h
  HDRINST usr/include/linux/virtio_ids.h
  HDRINST usr/include/linux/iso_fs.h
  HDRINST usr/include/linux/fadvise.h
  HDRINST usr/include/linux/vfio_zdev.h
  HDRINST usr/include/linux/hiddev.h
  HDRINST usr/include/linux/bpf.h
  HDRINST usr/include/linux/capi.h
  HDRINST usr/include/linux/bpf_common.h
  HDRINST usr/include/linux/btrfs_tree.h
  HDRINST usr/include/linux/btf.h
  HDRINST usr/include/linux/tty.h
  HDRINST usr/include/linux/magic.h
  HDRINST usr/include/linux/msg.h
  HDRINST usr/include/linux/remoteproc_cdev.h
  HDRINST usr/include/linux/mempolicy.h
  HDRINST usr/include/linux/fiemap.h
  HDRINST usr/include/linux/cryptouser.h
  HDRINST usr/include/linux/l2tp.h
  HDRINST usr/include/linux/atm_nicstar.h
  HDRINST usr/include/linux/filter.h
  HDRINST usr/include/linux/if_hippi.h
  HDRINST usr/include/linux/major.h
  HDRINST usr/include/linux/times.h
  HDRINST usr/include/linux/mman.h
  HDRINST usr/include/linux/arm_sdei.h
  HDRINST usr/include/linux/sem.h
  HDRINST usr/include/linux/vbox_vmmdev_types.h
  HDRINST usr/include/linux/if_infiniband.h
  HDRINST usr/include/linux/hdlc/ioctl.h
  HDRINST usr/include/linux/adb.h
  HDRINST usr/include/linux/fib_rules.h
  HDRINST usr/include/linux/keyctl.h
  HDRINST usr/include/linux/media.h
  HDRINST usr/include/linux/max2175.h
  HDRINST usr/include/linux/wwan.h
  HDRINST usr/include/linux/sunrpc/debug.h
  HDRINST usr/include/linux/stm.h
  HDRINST usr/include/linux/if_eql.h
  HDRINST usr/include/linux/netfilter_bridge.h
  HDRINST usr/include/linux/tiocl.h
  HDRINST usr/include/linux/vboxguest.h
  HDRINST usr/include/linux/irqnr.h
  HDRINST usr/include/linux/input-event-codes.h
  HDRINST usr/include/linux/comedi.h
  HDRINST usr/include/linux/mmc/ioctl.h
  HDRINST usr/include/linux/vt.h
  HDRINST usr/include/linux/bfs_fs.h
  HDRINST usr/include/linux/hdreg.h
  HDRINST usr/include/linux/stddef.h
  HDRINST usr/include/linux/rpl_iptunnel.h
  HDRINST usr/include/linux/hid.h
  HDRINST usr/include/linux/erspan.h
  HDRINST usr/include/linux/ivtv.h
  HDRINST usr/include/linux/dm-ioctl.h
  HDRINST usr/include/linux/virtio_gpu.h
  HDRINST usr/include/linux/if_link.h
  HDRINST usr/include/linux/virtio_fs.h
  HDRINST usr/include/linux/atmclip.h
  HDRINST usr/include/linux/lp.h
  HDRINST usr/include/linux/virtio_scsi.h
  HDRINST usr/include/linux/usb/g_uvc.h
  HDRINST usr/include/linux/usb/cdc-wdm.h
  HDRINST usr/include/linux/usb/midi.h
  HDRINST usr/include/linux/usb/audio.h
  HDRINST usr/include/linux/usb/ch9.h
  HDRINST usr/include/linux/usb/raw_gadget.h
  HDRINST usr/include/linux/usb/gadgetfs.h
  HDRINST usr/include/linux/usb/functionfs.h
  HDRINST usr/include/linux/usb/cdc.h
  HDRINST usr/include/linux/usb/charger.h
  HDRINST usr/include/linux/usb/g_printer.h
  HDRINST usr/include/linux/usb/ch11.h
  HDRINST usr/include/linux/usb/tmc.h
  HDRINST usr/include/linux/usb/video.h
  HDRINST usr/include/linux/sysctl.h
  HDRINST usr/include/linux/cciss_defs.h
  HDRINST usr/include/linux/if_macsec.h
  HDRINST usr/include/linux/mtio.h
  HDRINST usr/include/linux/virtio_crypto.h
  HDRINST usr/include/linux/signalfd.h
  HDRINST usr/include/linux/ax25.h
  HDRINST usr/include/linux/swab.h
  HDRINST usr/include/linux/if_xdp.h
  HDRINST usr/include/linux/taskstats.h
  HDRINST usr/include/linux/seg6_genl.h
  HDRINST usr/include/linux/mqueue.h
  HDRINST usr/include/linux/string.h
  HDRINST usr/include/linux/uvcvideo.h
  HDRINST usr/include/linux/securebits.h
  HDRINST usr/include/linux/shm.h
  HDRINST usr/include/linux/cuda.h
  HDRINST usr/include/linux/if_plip.h
  HDRINST usr/include/linux/ethtool.h
  HDRINST usr/include/linux/auto_fs.h
  HDRINST usr/include/linux/bpf_perf_event.h
  HDRINST usr/include/linux/blkpg.h
  HDRINST usr/include/linux/atm_eni.h
  HDRINST usr/include/linux/auto_fs4.h
  HDRINST usr/include/linux/watch_queue.h
  HDRINST usr/include/linux/ultrasound.h
  HDRINST usr/include/linux/sysinfo.h
  HDRINST usr/include/linux/uuid.h
  HDRINST usr/include/linux/inotify.h
  HDRINST usr/include/linux/amt.h
  HDRINST usr/include/linux/btrfs.h
  HDRINST usr/include/linux/agpgart.h
  HDRINST usr/include/linux/veth.h
  HDRINST usr/include/linux/mmtimer.h
  HDRINST usr/include/linux/ipv6_route.h
  HDRINST usr/include/linux/module.h
  HDRINST usr/include/misc/fastrpc.h
  HDRINST usr/include/misc/pvpanic.h
  HDRINST usr/include/misc/habanalabs.h
  HDRINST usr/include/misc/xilinx_sdfec.h
  HDRINST usr/include/misc/cxl.h
  HDRINST usr/include/misc/ocxl.h
  HDRINST usr/include/misc/uacce/hisi_qm.h
  HDRINST usr/include/misc/uacce/uacce.h
  HDRINST usr/include/mtd/ubi-user.h
  HDRINST usr/include/mtd/mtd-user.h
  HDRINST usr/include/mtd/nftl-user.h
  HDRINST usr/include/mtd/inftl-user.h
  HDRINST usr/include/mtd/mtd-abi.h
  HDRINST usr/include/rdma/irdma-abi.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_verbs.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_cmds.h
  HDRINST usr/include/rdma/rdma_user_ioctl.h
  HDRINST usr/include/rdma/hfi/hfi1_user.h
  HDRINST usr/include/rdma/hfi/hfi1_ioctl.h
  HDRINST usr/include/rdma/ib_user_ioctl_cmds.h
  HDRINST usr/include/rdma/rvt-abi.h
  HDRINST usr/include/rdma/rdma_user_ioctl_cmds.h
  HDRINST usr/include/rdma/vmw_pvrdma-abi.h
  HDRINST usr/include/rdma/rdma_user_rxe.h
  HDRINST usr/include/rdma/ib_user_mad.h
  HDRINST usr/include/rdma/ib_user_sa.h
  HDRINST usr/include/rdma/siw-abi.h
  HDRINST usr/include/rdma/ib_user_ioctl_verbs.h
  HDRINST usr/include/rdma/rdma_user_cm.h
  HDRINST usr/include/rdma/hns-abi.h
  HDRINST usr/include/rdma/bnxt_re-abi.h
  HDRINST usr/include/rdma/cxgb4-abi.h
  HDRINST usr/include/rdma/rdma_netlink.h
  HDRINST usr/include/rdma/ib_user_verbs.h
  HDRINST usr/include/rdma/efa-abi.h
  HDRINST usr/include/rdma/mthca-abi.h
  HDRINST usr/include/rdma/qedr-abi.h
  HDRINST usr/include/rdma/mlx4-abi.h
  HDRINST usr/include/rdma/mlx5-abi.h
  HDRINST usr/include/rdma/ocrdma-abi.h
  HDRINST usr/include/scsi/scsi_bsg_ufs.h
  HDRINST usr/include/scsi/cxlflash_ioctl.h
  HDRINST usr/include/scsi/scsi_netlink.h
  HDRINST usr/include/scsi/scsi_netlink_fc.h
  HDRINST usr/include/scsi/fc/fc_els.h
  HDRINST usr/include/scsi/fc/fc_ns.h
  HDRINST usr/include/scsi/fc/fc_fs.h
  HDRINST usr/include/scsi/fc/fc_gs.h
  HDRINST usr/include/scsi/scsi_bsg_fc.h
  HDRINST usr/include/sound/asoc.h
  HDRINST usr/include/sound/hdsp.h
  HDRINST usr/include/sound/sof/tokens.h
  HDRINST usr/include/sound/sof/abi.h
  HDRINST usr/include/sound/compress_params.h
  HDRINST usr/include/sound/sof/header.h
  HDRINST usr/include/sound/sof/fw.h
  HDRINST usr/include/sound/asequencer.h
  HDRINST usr/include/sound/emu10k1.h
  HDRINST usr/include/sound/sb16_csp.h
  HDRINST usr/include/sound/firewire.h
  HDRINST usr/include/sound/hdspm.h
  HDRINST usr/include/sound/tlv.h
  HDRINST usr/include/sound/snd_sst_tokens.h
  HDRINST usr/include/sound/asound.h
  HDRINST usr/include/sound/sfnt_info.h
  HDRINST usr/include/sound/compress_offload.h
  HDRINST usr/include/sound/usb_stream.h
  HDRINST usr/include/sound/skl-tplg-interface.h
  HDRINST usr/include/sound/snd_ar_tokens.h
  HDRINST usr/include/sound/asound_fm.h
  HDRINST usr/include/video/edid.h
  HDRINST usr/include/video/sisfb.h
  HDRINST usr/include/video/uvesafb.h
  HDRINST usr/include/xen/privcmd.h
  HDRINST usr/include/xen/gntalloc.h
  HDRINST usr/include/xen/gntdev.h
  HDRINST usr/include/xen/evtchn.h
  HDRINST usr/include/linux/version.h
  HDRINST usr/include/asm/sigcontext.h
  HDRINST usr/include/asm/auxvec.h
  HDRINST usr/include/asm/perf_regs.h
  HDRINST usr/include/asm/ucontext.h
  HDRINST usr/include/asm/byteorder.h
  HDRINST usr/include/asm/elf.h
  HDRINST usr/include/asm/bitsperlong.h
  HDRINST usr/include/asm/ptrace.h
  HDRINST usr/include/asm/kvm.h
  HDRINST usr/include/asm/hwcap.h
  HDRINST usr/include/asm/unistd.h
  HDRINST usr/include/asm/statfs.h
  HDRINST usr/include/asm/bpf_perf_event.h
  HDRINST usr/include/asm/signal.h
  HDRINST usr/include/asm/stat.h
  HDRINST usr/include/asm/posix_types.h
  HDRINST usr/include/asm/fcntl.h
  HDRINST usr/include/asm/socket.h
  HDRINST usr/include/asm/termbits.h
  HDRINST usr/include/asm/poll.h
  HDRINST usr/include/asm/ioctls.h
  HDRINST usr/include/asm/setup.h
  HDRINST usr/include/asm/siginfo.h
  HDRINST usr/include/asm/termios.h
  HDRINST usr/include/asm/ipcbuf.h
  HDRINST usr/include/asm/msgbuf.h
  HDRINST usr/include/asm/ioctl.h
  HDRINST usr/include/asm/resource.h
  HDRINST usr/include/asm/errno.h
  HDRINST usr/include/asm/types.h
  HDRINST usr/include/asm/sockios.h
  HDRINST usr/include/asm/param.h
  HDRINST usr/include/asm/mman.h
  HDRINST usr/include/asm/swab.h
  HDRINST usr/include/asm/sembuf.h
  HDRINST usr/include/asm/shmbuf.h
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CALL    scripts/atomic/check-atomics.sh
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/riscv/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  LDS     arch/riscv/kernel/vdso/vdso.lds
  AS      arch/riscv/kernel/vdso/rt_sigreturn.o
  CC      arch/riscv/kernel/vdso/vgettimeofday.o
  AS      arch/riscv/kernel/vdso/getcpu.o
  AS      arch/riscv/kernel/vdso/flush_icache.o
  AS      arch/riscv/kernel/vdso/note.o
./arch/riscv/include/asm/vdso/gettimeofday.h: Assembler messages:
./arch/riscv/include/asm/vdso/gettimeofday.h:71: 错误:unrecognized opcode `csrr a5,0xc01'
./arch/riscv/include/asm/vdso/gettimeofday.h:71: 错误:unrecognized opcode `csrr a5,0xc01'
./arch/riscv/include/asm/vdso/gettimeofday.h:71: 错误:unrecognized opcode `csrr a5,0xc01'
./arch/riscv/include/asm/vdso/gettimeofday.h:71: 错误:unrecognized opcode `csrr a5,0xc01'
make[4]: *** [scripts/Makefile.build:288:arch/riscv/kernel/vdso/vgettimeofday.o] 错误 1
make[3]: *** [arch/riscv/Makefile:114:vdso_prepare] 错误 2
make[3]: *** 正在等待未完成的任务....
  LD      /root/riscv/tools/bpf/resolve_btfids/libbpf/staticobjs/libbpf-in.o
  LINK    /root/riscv/tools/bpf/resolve_btfids/libbpf/libbpf.a
  CC      /root/riscv/tools/bpf/resolve_btfids/main.o
  CC      /root/riscv/tools/bpf/resolve_btfids/rbtree.o
  CC      /root/riscv/tools/bpf/resolve_btfids/zalloc.o
  CC      /root/riscv/tools/bpf/resolve_btfids/string.o
  CC      /root/riscv/tools/bpf/resolve_btfids/ctype.o
  CC      /root/riscv/tools/bpf/resolve_btfids/str_error_r.o
  LD      /root/riscv/tools/bpf/resolve_btfids/resolve_btfids-in.o
  LINK     resolve_btfids
make[2]: *** [debian/rules:7:build-arch] 错误 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
make[1]: *** [scripts/Makefile.package:83:bindeb-pkg] 错误 2
make: *** [Makefile:1539:bindeb-pkg] 错误 2
root@debian:~/riscv# apt search gcc-riscv64-linux-gnu
正在排序... 完成
全文搜索... 完
@esmil
Copy link
Collaborator

esmil commented Jan 26, 2022

This looks like what Aurelien is trying to fix here: https://lore.kernel.org/linux-riscv/20220126171442.1338740-1-aurelien@aurel32.net/

Maybe you could try out that patch

@davidlt
Copy link
Collaborator

davidlt commented Jan 26, 2022

Note this is only a problem if you use GCC 12 (unreleased) or/and binutils 2.38 (unreleased). The default ISA is now different.

See: http://lists.infradead.org/pipermail/linux-riscv/2022-January/011728.html

There are more packages that should be broken, incl. OpenSBI, U-Boot, etc.

This is because build scripts in those will override and pass their own -march.

@HougeLangley
Copy link
Author

Thanks

hal-feng pushed a commit that referenced this issue Jun 13, 2023
SMCRv1 has a similar issue to SMCRv2 (see link below) that may access
invalid MRs of RMBs when construct LLC ADD LINK CONT messages.

 BUG: kernel NULL pointer dereference, address: 0000000000000014
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 0 P4D 0
 Oops: 0000 [#1] PREEMPT SMP PTI
 CPU: 5 PID: 48 Comm: kworker/5:0 Kdump: loaded Tainted: G W   E      6.4.0-rc3+ #49
 Workqueue: events smc_llc_add_link_work [smc]
 RIP: 0010:smc_llc_add_link_cont+0x160/0x270 [smc]
 RSP: 0018:ffffa737801d3d50 EFLAGS: 00010286
 RAX: ffff964f82144000 RBX: ffffa737801d3dd8 RCX: 0000000000000000
 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff964f81370c30
 RBP: ffffa737801d3dd4 R08: ffff964f81370000 R09: ffffa737801d3db0
 R10: 0000000000000001 R11: 0000000000000060 R12: ffff964f82e70000
 R13: ffff964f81370c38 R14: ffffa737801d3dd3 R15: 0000000000000001
 FS:  0000000000000000(0000) GS:ffff9652bfd40000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 0000000000000014 CR3: 000000008fa20004 CR4: 00000000003706e0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 Call Trace:
  <TASK>
  smc_llc_srv_rkey_exchange+0xa7/0x190 [smc]
  smc_llc_srv_add_link+0x3ae/0x5a0 [smc]
  smc_llc_add_link_work+0xb8/0x140 [smc]
  process_one_work+0x1e5/0x3f0
  worker_thread+0x4d/0x2f0
  ? __pfx_worker_thread+0x10/0x10
  kthread+0xe5/0x120
  ? __pfx_kthread+0x10/0x10
  ret_from_fork+0x2c/0x50
  </TASK>

When an alernate RNIC is available in system, SMC will try to add a new
link based on the RNIC for resilience. All the RMBs in use will be mapped
to the new link. Then the RMBs' MRs corresponding to the new link will
be filled into LLC messages. For SMCRv1, they are ADD LINK CONT messages.

However smc_llc_add_link_cont() may mistakenly access to unused RMBs which
haven't been mapped to the new link and have no valid MRs, thus causing a
crash. So this patch fixes it.

Fixes: 87f88cd ("net/smc: rkey processing for a new link as SMC client")
Link: https://lore.kernel.org/r/1685101741-74826-3-git-send-email-guwen@linux.alibaba.com
Signed-off-by: Wen Gu <guwen@linux.alibaba.com>
Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
Reviewed-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
[ Upstream commit c308e9e ]

SMCRv1 has a similar issue to SMCRv2 (see link below) that may access
invalid MRs of RMBs when construct LLC ADD LINK CONT messages.

 BUG: kernel NULL pointer dereference, address: 0000000000000014
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 0 P4D 0
 Oops: 0000 [Fishwaldo#1] PREEMPT SMP PTI
 CPU: 5 PID: 48 Comm: kworker/5:0 Kdump: loaded Tainted: G W   E      6.4.0-rc3+ starfive-tech#49
 Workqueue: events smc_llc_add_link_work [smc]
 RIP: 0010:smc_llc_add_link_cont+0x160/0x270 [smc]
 RSP: 0018:ffffa737801d3d50 EFLAGS: 00010286
 RAX: ffff964f82144000 RBX: ffffa737801d3dd8 RCX: 0000000000000000
 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff964f81370c30
 RBP: ffffa737801d3dd4 R08: ffff964f81370000 R09: ffffa737801d3db0
 R10: 0000000000000001 R11: 0000000000000060 R12: ffff964f82e70000
 R13: ffff964f81370c38 R14: ffffa737801d3dd3 R15: 0000000000000001
 FS:  0000000000000000(0000) GS:ffff9652bfd40000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
 CR2: 0000000000000014 CR3: 000000008fa20004 CR4: 00000000003706e0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
 Call Trace:
  <TASK>
  smc_llc_srv_rkey_exchange+0xa7/0x190 [smc]
  smc_llc_srv_add_link+0x3ae/0x5a0 [smc]
  smc_llc_add_link_work+0xb8/0x140 [smc]
  process_one_work+0x1e5/0x3f0
  worker_thread+0x4d/0x2f0
  ? __pfx_worker_thread+0x10/0x10
  kthread+0xe5/0x120
  ? __pfx_kthread+0x10/0x10
  ret_from_fork+0x2c/0x50
  </TASK>

When an alernate RNIC is available in system, SMC will try to add a new
link based on the RNIC for resilience. All the RMBs in use will be mapped
to the new link. Then the RMBs' MRs corresponding to the new link will
be filled into LLC messages. For SMCRv1, they are ADD LINK CONT messages.

However smc_llc_add_link_cont() may mistakenly access to unused RMBs which
haven't been mapped to the new link and have no valid MRs, thus causing a
crash. So this patch fixes it.

Fixes: 87f88cd ("net/smc: rkey processing for a new link as SMC client")
Link: https://lore.kernel.org/r/1685101741-74826-3-git-send-email-guwen@linux.alibaba.com
Signed-off-by: Wen Gu <guwen@linux.alibaba.com>
Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
Reviewed-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
MichaIng pushed a commit to MichaIng/linux that referenced this issue May 6, 2024
commit 6fe6046 upstream.

If stack_depot_save_flags() allocates memory it always drops
__GFP_NOLOCKDEP flag.  So when KASAN tries to track __GFP_NOLOCKDEP
allocation we may end up with lockdep splat like bellow:

======================================================
 WARNING: possible circular locking dependency detected
 6.9.0-rc3+ starfive-tech#49 Not tainted
 ------------------------------------------------------
 kswapd0/149 is trying to acquire lock:
 ffff88811346a920
(&xfs_nondir_ilock_class){++++}-{4:4}, at: xfs_reclaim_inode+0x3ac/0x590
[xfs]

 but task is already holding lock:
 ffffffff8bb33100 (fs_reclaim){+.+.}-{0:0}, at:
balance_pgdat+0x5d9/0xad0

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:
 -> #1 (fs_reclaim){+.+.}-{0:0}:
        __lock_acquire+0x7da/0x1030
        lock_acquire+0x15d/0x400
        fs_reclaim_acquire+0xb5/0x100
 prepare_alloc_pages.constprop.0+0xc5/0x230
        __alloc_pages+0x12a/0x3f0
        alloc_pages_mpol+0x175/0x340
        stack_depot_save_flags+0x4c5/0x510
        kasan_save_stack+0x30/0x40
        kasan_save_track+0x10/0x30
        __kasan_slab_alloc+0x83/0x90
        kmem_cache_alloc+0x15e/0x4a0
        __alloc_object+0x35/0x370
        __create_object+0x22/0x90
 __kmalloc_node_track_caller+0x477/0x5b0
        krealloc+0x5f/0x110
        xfs_iext_insert_raw+0x4b2/0x6e0 [xfs]
        xfs_iext_insert+0x2e/0x130 [xfs]
        xfs_iread_bmbt_block+0x1a9/0x4d0 [xfs]
        xfs_btree_visit_block+0xfb/0x290 [xfs]
        xfs_btree_visit_blocks+0x215/0x2c0 [xfs]
        xfs_iread_extents+0x1a2/0x2e0 [xfs]
 xfs_buffered_write_iomap_begin+0x376/0x10a0 [xfs]
        iomap_iter+0x1d1/0x2d0
 iomap_file_buffered_write+0x120/0x1a0
        xfs_file_buffered_write+0x128/0x4b0 [xfs]
        vfs_write+0x675/0x890
        ksys_write+0xc3/0x160
        do_syscall_64+0x94/0x170
 entry_SYSCALL_64_after_hwframe+0x71/0x79

Always preserve __GFP_NOLOCKDEP to fix this.

Link: https://lkml.kernel.org/r/20240418141133.22950-1-ryabinin.a.a@gmail.com
Fixes: cd11016 ("mm, kasan: stackdepot implementation. Enable stackdepot for SLAB")
Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Reported-by: Xiubo Li <xiubli@redhat.com>
Closes: https://lore.kernel.org/all/a0caa289-ca02-48eb-9bf2-d86fd47b71f4@redhat.com/
Reported-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Closes: https://lore.kernel.org/all/f9ff999a-e170-b66b-7caf-293f2b147ac2@opensource.wdc.com/
Suggested-by: Dave Chinner <david@fromorbit.com>
Tested-by: Xiubo Li <xiubli@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Alexander Potapenko <glider@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MichaIng pushed a commit to MichaIng/linux that referenced this issue May 6, 2024
commit 6fe6046 upstream.

If stack_depot_save_flags() allocates memory it always drops
__GFP_NOLOCKDEP flag.  So when KASAN tries to track __GFP_NOLOCKDEP
allocation we may end up with lockdep splat like bellow:

======================================================
 WARNING: possible circular locking dependency detected
 6.9.0-rc3+ starfive-tech#49 Not tainted
 ------------------------------------------------------
 kswapd0/149 is trying to acquire lock:
 ffff88811346a920
(&xfs_nondir_ilock_class){++++}-{4:4}, at: xfs_reclaim_inode+0x3ac/0x590
[xfs]

 but task is already holding lock:
 ffffffff8bb33100 (fs_reclaim){+.+.}-{0:0}, at:
balance_pgdat+0x5d9/0xad0

 which lock already depends on the new lock.

 the existing dependency chain (in reverse order) is:
 -> #1 (fs_reclaim){+.+.}-{0:0}:
        __lock_acquire+0x7da/0x1030
        lock_acquire+0x15d/0x400
        fs_reclaim_acquire+0xb5/0x100
 prepare_alloc_pages.constprop.0+0xc5/0x230
        __alloc_pages+0x12a/0x3f0
        alloc_pages_mpol+0x175/0x340
        stack_depot_save_flags+0x4c5/0x510
        kasan_save_stack+0x30/0x40
        kasan_save_track+0x10/0x30
        __kasan_slab_alloc+0x83/0x90
        kmem_cache_alloc+0x15e/0x4a0
        __alloc_object+0x35/0x370
        __create_object+0x22/0x90
 __kmalloc_node_track_caller+0x477/0x5b0
        krealloc+0x5f/0x110
        xfs_iext_insert_raw+0x4b2/0x6e0 [xfs]
        xfs_iext_insert+0x2e/0x130 [xfs]
        xfs_iread_bmbt_block+0x1a9/0x4d0 [xfs]
        xfs_btree_visit_block+0xfb/0x290 [xfs]
        xfs_btree_visit_blocks+0x215/0x2c0 [xfs]
        xfs_iread_extents+0x1a2/0x2e0 [xfs]
 xfs_buffered_write_iomap_begin+0x376/0x10a0 [xfs]
        iomap_iter+0x1d1/0x2d0
 iomap_file_buffered_write+0x120/0x1a0
        xfs_file_buffered_write+0x128/0x4b0 [xfs]
        vfs_write+0x675/0x890
        ksys_write+0xc3/0x160
        do_syscall_64+0x94/0x170
 entry_SYSCALL_64_after_hwframe+0x71/0x79

Always preserve __GFP_NOLOCKDEP to fix this.

Link: https://lkml.kernel.org/r/20240418141133.22950-1-ryabinin.a.a@gmail.com
Fixes: cd11016 ("mm, kasan: stackdepot implementation. Enable stackdepot for SLAB")
Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Reported-by: Xiubo Li <xiubli@redhat.com>
Closes: https://lore.kernel.org/all/a0caa289-ca02-48eb-9bf2-d86fd47b71f4@redhat.com/
Reported-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Closes: https://lore.kernel.org/all/f9ff999a-e170-b66b-7caf-293f2b147ac2@opensource.wdc.com/
Suggested-by: Dave Chinner <david@fromorbit.com>
Tested-by: Xiubo Li <xiubli@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Alexander Potapenko <glider@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants