Linux-audit Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [GIT PULL] Audit patches for v5.18
From: pr-tracker-bot @ 2022-03-22  3:56 UTC (permalink / raw)
  To: Paul Moore; +Cc: linux-audit, Linus Torvalds, linux-kernel
In-Reply-To: <CAHC9VhTdj=86GwGpv5bgwVrQp0v1o-a=YKKDw-vC_Er8uKBizA@mail.gmail.com>

The pull request you sent on Mon, 21 Mar 2022 18:21:08 -0400:

> https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git tags/audit-pr-20220321

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b47d5a4f6b8d42f8a8fbe891b36215e4fddc53be

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* [GIT PULL] Audit patches for v5.18
From: Paul Moore @ 2022-03-21 22:21 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-audit, linux-kernel

Linus,

Just one audit patch queued for v5.18:

- Change the AUDIT_TIME_* record generation so that they are generated
at syscall exit time and subject to all of the normal syscall exit
filtering.  This should help reduce noise and ensure those records
which are most relevant to the admin's audit configuration are
recorded in the audit log.

Please merge,
-Paul

--
The following changes since commit e783362eb54cd99b2cac8b3a9aeac942e6f6ac07:

 Linux 5.17-rc1 (2022-01-23 10:12:53 +0200)

are available in the Git repository at:

 https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
   tags/audit-pr-20220321

for you to fetch changes up to 272ceeaea355214b301530e262a0df8600bfca95:

 audit: log AUDIT_TIME_* records only from rules
   (2022-02-22 13:51:40 -0500)

----------------------------------------------------------------
audit/stable-5.18 PR 20220321

----------------------------------------------------------------
Richard Guy Briggs (1):
     audit: log AUDIT_TIME_* records only from rules

kernel/audit.h   |  4 +++
kernel/auditsc.c | 87 +++++++++++++++++++++++++++++++++++++++-----------
2 files changed, 71 insertions(+), 20 deletions(-)

-- 
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* [linux-next:master] BUILD REGRESSION 6d72dda014a4753974eb08950089ddf71fec4f60
From: kernel test robot @ 2022-03-19  3:39 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-sh, dri-devel, linux-sctp, linux-stm32, bridge, linux-iio,
	openipmi-developer, uclinux-h8-devel, linux-pm, linux-fscrypt,
	linux-hams, linux-usb, linux-wireless, linux-crypto,
	linux-fsdevel, linux-wpan, linux-fbdev, linux-parport, linux-doc,
	samba-technical, virtualization, target-devel, dev,
	squashfs-devel, codalist, linux-media, linux-watchdog, linux-can,
	linaro-mm-sig, linux-gpio, linux-m68k, cgroups, linux-arm-kernel,
	linux-audit, linux-integrity, linux-efi, usb-storage, linux-pci,
	alsa-devel, linux-nvme, netdev, linux-mtd, linux-hardening,
	linux-kselftest, linux-phy, linux-afs, linux-rtc, linux-rdma,
	amd-gfx, linux-input, open-iscsi, autofs, linux-clk, rcu,
	ceph-devel, linux-ext4, linux-cifs, linux-mmc, iommu, keyrings,
	linux-alpha, bpf, ntfs3, ocfs2-devel, linux-uvc-devel, kvm,
	Linux Memory Management List, linux-riscv, linux-leds, rds-devel,
	linux-scsi, dccp, cluster-devel, linux-serial, devicetree,
	linux-nfc, linux-s390, apparmor, linux-block, kunit-dev, patches,
	linux-unionfs, linux-bluetooth, linux-security-module,
	linux-modules, dmaengine, linuxppc-dev, linux-karma-devel,
	linux-btrfs

tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
branch HEAD: 6d72dda014a4753974eb08950089ddf71fec4f60  Add linux-next specific files for 20220318

Error/Warning reports:

https://lore.kernel.org/linux-doc/202202240704.pQD40A9L-lkp@intel.com
https://lore.kernel.org/linux-doc/202202240705.t3QbMnlt-lkp@intel.com
https://lore.kernel.org/linux-doc/202203180707.vLUjjmqY-lkp@intel.com
https://lore.kernel.org/linux-media/202203160306.SfWO9QWV-lkp@intel.com
https://lore.kernel.org/linux-media/202203182100.fSdmSXzo-lkp@intel.com
https://lore.kernel.org/linux-media/202203182127.ZeZX6m5Y-lkp@intel.com
https://lore.kernel.org/llvm/202202241039.g8GKEE4O-lkp@intel.com
https://lore.kernel.org/llvm/202203110903.3xDyTUVl-lkp@intel.com
https://lore.kernel.org/llvm/202203180453.7LxvqwzJ-lkp@intel.com

Error/Warning:

Documentation/driver-api/nvdimm/nvdimm.rst:146: (SEVERE/4) Title level inconsistent:
arch/arm/kernel/ftrace.c:229:6: warning: no previous prototype for function 'prepare_ftrace_return' [-Wmissing-prototypes]
drivers/media/platform/renesas/renesas-ceu.c:1609:30: warning: unused variable 'ceu_data_rz' [-Wunused-const-variable]
drivers/media/platform/samsung/exynos4-is/fimc-isp-video.h:35:6: warning: no previous prototype for 'fimc_isp_video_device_unregister' [-Wmissing-prototypes]
drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c:3126:34: warning: unused variable 'samsung_jpeg_match' [-Wunused-const-variable]
drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c:1175:34: warning: unused variable 'c8sectpfe_match' [-Wunused-const-variable]
drivers/spi/spi-amd.c:296:21: warning: cast to smaller integer type 'enum amd_spi_versions' from 'const void *' [-Wvoid-pointer-to-enum-cast]
fs/btrfs/ordered-data.c:168: warning: expecting prototype for Add an ordered extent to the per(). Prototype was for btrfs_add_ordered_extent() instead
fs/btrfs/tree-log.c:6934: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst

Unverified Error/Warning (likely false positive, please contact us if interested):

FAILED: load BTF from vmlinux: No such file or directory
Makefile:677: arch/nds32/Makefile: No such file or directory
arch/Kconfig:10: can't open file "arch/nds32/Kconfig"
arch/alpha/include/asm/string.h:22:16: warning: '__builtin_memcpy' forming offset [40, 2051] is out of the bounds [0, 40] of object 'tag_buf' with type 'unsigned char[40]' [-Warray-bounds]
arch/arm/kernel/unwind.c:483:17: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
arch/m68k/kernel/machine_kexec.c:55: undefined reference to `m68k_mmutype'
arch/m68k/kernel/time.c:105: undefined reference to `mach_get_rtc_pll'
arch/riscv/kernel/cacheinfo.c:189:1: internal compiler error: Segmentation fault
arch/riscv/kernel/crash_dump.c:46:1: internal compiler error: Segmentation fault
arch/riscv/kernel/patch.c:133:1: internal compiler error: Segmentation fault
arch/riscv/kernel/signal.c:321:1: internal compiler error: Segmentation fault
arch/riscv/mm/extable.c:71:1: internal compiler error: Segmentation fault
arch/riscv/mm/physaddr.c:35:1: internal compiler error: Segmentation fault
arch/s390/kernel/machine_kexec.c:57:9: warning: 'memcpy' offset [0, 511] is out of the bounds [0, 0] [-Warray-bounds]
arch/sh/kernel/machvec.c:105:33: warning: array subscript 'struct sh_machine_vector[0]' is partly outside array bounds of 'long int[1]' [-Warray-bounds]
block/blk-mq-rdma.c:44:1: internal compiler error: Segmentation fault
block/blk-zoned.c:648:1: internal compiler error: Segmentation fault
block/sed-opal.c:2695:1: internal compiler error: Segmentation fault
crypto/acompress.c:198:1: internal compiler error: Segmentation fault
crypto/aead.c:303:1: internal compiler error: Segmentation fault
crypto/ahash.c:660:1: internal compiler error: Segmentation fault
crypto/akcipher.c:158:1: internal compiler error: Segmentation fault
crypto/api.c:645:1: internal compiler error: Segmentation fault
crypto/asymmetric_keys/public_key.c:412:1: internal compiler error: Segmentation fault
crypto/dh.c:280:1: internal compiler error: Segmentation fault
crypto/ecc.c:1668:1: internal compiler error: Segmentation fault
crypto/geniv.c:163:1: internal compiler error: Segmentation fault
crypto/gf128mul.c:416:1: internal compiler error: Segmentation fault
crypto/kpp.c:115:1: internal compiler error: Segmentation fault
crypto/rng.c:228:1: internal compiler error: Segmentation fault
crypto/scompress.c:305:1: internal compiler error: Segmentation fault
crypto/shash.c:627:1: internal compiler error: Segmentation fault
crypto/skcipher.c:984:1: internal compiler error: Segmentation fault
drivers/base/map.c:154:1: internal compiler error: Segmentation fault
drivers/base/power/domain_governor.c:406:1: internal compiler error: Segmentation fault
drivers/base/power/sysfs.c:838:1: internal compiler error: Segmentation fault
drivers/base/power/wakeirq.c:405:1: internal compiler error: Segmentation fault
drivers/base/regmap/regcache-flat.c:83:1: internal compiler error: Segmentation fault
drivers/base/regmap/regcache-rbtree.c:553:1: internal compiler error: Segmentation fault
drivers/base/regmap/regcache.c:785:1: internal compiler error: Segmentation fault
drivers/base/regmap/regmap-debugfs.c:692:1: internal compiler error: Segmentation fault
drivers/base/regmap/regmap-mmio.c:453:1: internal compiler error: Segmentation fault
drivers/base/regmap/regmap-sdw-mbq.c:101:1: internal compiler error: Segmentation fault
drivers/base/regmap/regmap-slimbus.c:71:1: internal compiler error: Segmentation fault
drivers/base/syscore.c:128:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_bt_sm.c:696:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_kcs_sm.c:536:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_plat_data.c:124:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_si_hotmod.c:237:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_si_mem_io.c:146:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_si_port_io.c:114:1: internal compiler error: Segmentation fault
drivers/char/ipmi/ipmi_smic_sm.c:585:1: internal compiler error: Segmentation fault
drivers/char/tpm/eventlog/efi.c:124:1: internal compiler error: Segmentation fault
drivers/clk/clk-composite.c:487:1: internal compiler error: Segmentation fault
drivers/clk/clk-fractional-divider.c:259:1: internal compiler error: Segmentation fault
drivers/clk/imx/clk-pll14xx.c:166:2: warning: Value stored to 'pll_div_ctl1' is never read [clang-analyzer-deadcode.DeadStores]
drivers/comedi/comedi_buf.c:691:1: internal compiler error: Segmentation fault
drivers/comedi/drivers.c:1183:1: internal compiler error: Segmentation fault
drivers/comedi/range.c:131:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_aead.c:2664:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_buffer_mgr.c:1383:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_cipher.c:1509:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_fips.c:154:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_hash.c:2315:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_pm.c:80:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_request_mgr.c:662:1: internal compiler error: Segmentation fault
drivers/crypto/ccree/cc_sram_mgr.c:91:1: internal compiler error: Segmentation fault
drivers/dma-buf/dma-fence-array.c:207:1: internal compiler error: Segmentation fault
drivers/dma-buf/dma-fence-chain.c:258:1: internal compiler error: Segmentation fault
drivers/dma-buf/dma-fence.c:960:1: internal compiler error: Segmentation fault
drivers/dma-buf/dma-heap.c:324:1: internal compiler error: Segmentation fault
drivers/dma/idma64.c:644: undefined reference to `devm_ioremap_resource'
drivers/firmware/efi/vars.c:1222:1: internal compiler error: Segmentation fault
drivers/firmware/turris-mox-rwtm.c:146:1: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
drivers/gpio/gpio-max730x.c:236:1: internal compiler error: Segmentation fault
drivers/gpio/gpiolib-of.c:1057:1: internal compiler error: Segmentation fault
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:1633:6: warning: no previous prototype for 'is_timing_changed' [-Wmissing-prototypes]
drivers/hid/hid-cmedia.c:246:1: internal compiler error: Segmentation fault
drivers/hid/hid-core.c:1665:30: warning: Although the value stored to 'field' is used in the enclosing expression, the value is never actually read from 'field' [clang-analyzer-deadcode.DeadStores]
drivers/hid/hid-debug.c:1269:1: internal compiler error: Segmentation fault
drivers/hid/hid-picolcd_debugfs.c:884:1: internal compiler error: Segmentation fault
drivers/hid/hid-picolcd_fb.c:605:1: internal compiler error: Segmentation fault
drivers/hid/hid-picolcd_leds.c:161:1: internal compiler error: Segmentation fault
drivers/hid/hid-roccat-common.c:175:1: internal compiler error: Segmentation fault
drivers/hid/hid-uclogic-params.c:1140:1: internal compiler error: Segmentation fault
drivers/hid/hid-uclogic-rdesc.c:862:1: internal compiler error: Segmentation fault
drivers/hid/usbhid/hiddev.c:945:1: internal compiler error: Segmentation fault
drivers/hwmon/nsa320-hwmon.c:114:9: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
drivers/iio/frequency/admv1014.c:703:22: sparse: sparse: dubious: x & !y
drivers/infiniband/core/addr.c:890:1: internal compiler error: Segmentation fault
drivers/infiniband/core/agent.c:221:1: internal compiler error: Segmentation fault
drivers/infiniband/core/cache.c:1675:1: internal compiler error: Segmentation fault
drivers/infiniband/core/cm_trace.c:16: internal compiler error: Segmentation fault
drivers/infiniband/core/counters.c:669:1: internal compiler error: Segmentation fault
drivers/infiniband/core/cq.c:508:1: internal compiler error: Segmentation fault
drivers/infiniband/core/ib_core_uverbs.c:367:1: internal compiler error: Segmentation fault
drivers/infiniband/core/iwpm_msg.c:846:1: internal compiler error: Segmentation fault
drivers/infiniband/core/iwpm_util.c:793:1: internal compiler error: Segmentation fault
drivers/infiniband/core/lag.c:138:1: internal compiler error: Segmentation fault
drivers/infiniband/core/mad_rmpp.c:960:1: internal compiler error: Segmentation fault
drivers/infiniband/core/mr_pool.c:82:1: internal compiler error: Segmentation fault
drivers/infiniband/core/multicast.c:906:1: internal compiler error: Segmentation fault
drivers/infiniband/core/netlink.c:331:1: internal compiler error: Segmentation fault
drivers/infiniband/core/packer.c:201:1: internal compiler error: Segmentation fault
drivers/infiniband/core/rdma_core.c:1015:1: internal compiler error: Segmentation fault
drivers/infiniband/core/restrack.c:355:1: internal compiler error: Segmentation fault
drivers/infiniband/core/rw.c:760:1: internal compiler error: Segmentation fault
drivers/infiniband/core/sa_query.c:2269:1: internal compiler error: Segmentation fault
drivers/infiniband/core/smi.c:338:1: internal compiler error: Segmentation fault
drivers/infiniband/core/sysfs.c:1475:1: internal compiler error: Segmentation fault
drivers/infiniband/core/trace.c:13: internal compiler error: Segmentation fault
drivers/infiniband/core/ud_header.c:547:1: internal compiler error: Segmentation fault
drivers/infiniband/core/umem.c:317:1: internal compiler error: Segmentation fault
drivers/infiniband/core/umem_dmabuf.c:231:1: internal compiler error: Segmentation fault
drivers/infiniband/core/umem_odp.c:517:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_cmd.c:4044:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_ioctl.c:829:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_marshall.c:215:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types.c:269:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_async_fd.c:79:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_counters.c:161:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_cq.c:222:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_device.c:503:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_dm.c:116:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_flow_action.c:447:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_mr.c:385:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_qp.c:380:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_srq.c:234:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_std_types_wq.c:194:1: internal compiler error: Segmentation fault
drivers/infiniband/core/uverbs_uapi.c:734:1: internal compiler error: Segmentation fault
drivers/infiniband/core/verbs.c:3030:1: internal compiler error: Segmentation fault
drivers/infiniband/sw/siw/siw_cm.c:1956:1: internal compiler error: Segmentation fault
drivers/infiniband/sw/siw/siw_cq.c:102:1: internal compiler error: Segmentation fault
drivers/infiniband/sw/siw/siw_mem.c:449:1: internal compiler error: Segmentation fault
drivers/infiniband/sw/siw/siw_qp.c:1347:1: internal compiler error: Segmentation fault
drivers/infiniband/sw/siw/siw_qp_tx.c:1279:1: internal compiler error: Segmentation fault
drivers/infiniband/sw/siw/siw_verbs.c:1854:1: internal compiler error: Segmentation fault
drivers/input/input-poller.c:222:1: internal compiler error: Segmentation fault
drivers/input/matrix-keymap.c:202:1: internal compiler error: Segmentation fault
drivers/input/misc/adxl34x.c:911:1: internal compiler error: Segmentation fault
drivers/input/misc/cma3000_d0x.c:388:1: internal compiler error: Segmentation fault
drivers/input/rmi4/rmi_2d_sensor.c:330:1: internal compiler error: Segmentation fault
drivers/input/rmi4/rmi_f01.c:729:1: internal compiler error: Segmentation fault
drivers/input/rmi4/rmi_f03.c:328:1: internal compiler error: Segmentation fault
drivers/input/rmi4/rmi_f30.c:405:1: internal compiler error: Segmentation fault
drivers/input/rmi4/rmi_f54.c:758:1: internal compiler error: Segmentation fault
drivers/input/rmi4/rmi_f55.c:128:1: internal compiler error: Segmentation fault
drivers/input/serio/ps2-gpio.c:223:4: warning: Value stored to 'rxflags' is never read [clang-analyzer-deadcode.DeadStores]
drivers/input/touchscreen.c:207:1: internal compiler error: Segmentation fault
drivers/iommu/of_iommu.c:174:1: internal compiler error: Segmentation fault
drivers/leds/leds-ti-lmu-common.c:153:1: internal compiler error: Segmentation fault
drivers/media/common/videobuf2/frame_vector.c:235:1: internal compiler error: Segmentation fault
drivers/media/common/videobuf2/vb2-trace.c:10:1: internal compiler error: Segmentation fault
drivers/media/common/videobuf2/videobuf2-dma-contig.c:872:1: internal compiler error: Segmentation fault
drivers/media/common/videobuf2/videobuf2-dma-sg.c:680:1: internal compiler error: Segmentation fault
drivers/media/common/videobuf2/videobuf2-memops.c:129:1: internal compiler error: Segmentation fault
drivers/media/common/videobuf2/videobuf2-vmalloc.c:449:1: internal compiler error: Segmentation fault
drivers/media/platform/chips-media/coda-bit.c:1127:2: warning: Value stored to 'value' is never read [clang-analyzer-deadcode.DeadStores]
drivers/media/platform/chips-media/coda-common.c:478:38: warning: Array access (from variable 'formats') results in a null pointer dereference [clang-analyzer-core.NullDereference]
drivers/media/platform/st/stm32/dma2d/dma2d-hw.c:109:1: internal compiler error: in extract_insn, at recog.c:2770
drivers/media/platform/xilinx/xilinx-dma.c:760:1: internal compiler error: Segmentation fault
drivers/media/radio/tea575x.c:577:1: internal compiler error: Segmentation fault
drivers/media/usb/cpia2/cpia2_core.c:2434:1: internal compiler error: Segmentation fault
drivers/media/usb/cpia2/cpia2_usb.c:966:1: internal compiler error: Segmentation fault
drivers/media/usb/gspca/autogain_functions.c:165:1: internal compiler error: Segmentation fault
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c:432:1: internal compiler error: Segmentation fault
drivers/media/usb/gspca/stv06xx/stv06xx_st6422.c:273:1: internal compiler error: Segmentation fault
drivers/media/usb/pwc/pwc-ctrl.c:543:1: internal compiler error: Segmentation fault
drivers/media/usb/pwc/pwc-dec23.c:678:1: internal compiler error: Segmentation fault
drivers/media/usb/pwc/pwc-uncompress.c:92:1: internal compiler error: Segmentation fault
drivers/media/usb/pwc/pwc-v4l.c:1033:1: internal compiler error: Segmentation fault
drivers/media/usb/stkwebcam/stk-sensor.c:586:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_ctrl.c:2529:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_debugfs.c:105:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_entity.c:161:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_isight.c:135:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_metadata.c:176:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_queue.c:515:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_status.c:313:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_v4l2.c:1550:1: internal compiler error: Segmentation fault
drivers/media/usb/uvc/uvc_video.c:2216:1: internal compiler error: Segmentation fault
drivers/memory/brcmstb_dpfe.c:707:10: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
drivers/mfd/cs47l35-tables.c:1555:1: internal compiler error: Segmentation fault
drivers/mfd/madera-core.c:799:1: internal compiler error: Segmentation fault
drivers/mfd/mfd-core.c:440:1: internal compiler error: Segmentation fault
drivers/misc/eeprom/eeprom_93cx6.c:372:1: internal compiler error: Segmentation fault
drivers/mmc/host/litex_mmc.c:424 litex_mmc_request() error: we previously assumed 'data' could be null (see line 418)
drivers/mtd/chips/cfi_cmdset_0020.c:1401:1: internal compiler error: Segmentation fault
drivers/mtd/mtdsuper.c:202:1: internal compiler error: Segmentation fault
drivers/mtd/nand/bbt.c:131:1: internal compiler error: Segmentation fault
drivers/mtd/nand/ecc-mxic.c:523:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
drivers/mtd/nand/ecc-mxic.c:595:6: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
drivers/mtd/nand/ecc-sw-hamming.c:660:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/denali.c:1381:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_base.c:6466:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_hynix.c:735:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_jedec.c:139:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_legacy.c:644:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_macronix.c:334:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_micron.c:599:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_onfi.c:337:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_samsung.c:139:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_timings.c:737:1: internal compiler error: Segmentation fault
drivers/mtd/nand/raw/nand_toshiba.c:300:1: internal compiler error: Segmentation fault
drivers/net/can/dev/length.c:95:1: internal compiler error: Segmentation fault
drivers/net/can/dev/rx-offload.c:402:1: internal compiler error: Segmentation fault
drivers/net/can/dev/skb.c:254:1: internal compiler error: Segmentation fault
drivers/net/phy/mii_timestamper.c:135:1: internal compiler error: Segmentation fault
drivers/net/vxlan/vxlan_core.c:440:34: sparse: sparse: incorrect type in argument 2 (different base types)
drivers/nfc/fdp/fdp.c:756:1: internal compiler error: Segmentation fault
drivers/nvme/host/zns.c:250:1: internal compiler error: Segmentation fault
drivers/nvme/target/zns.c:612:1: internal compiler error: Segmentation fault
drivers/nvmem/sunplus-ocotp.c:74:29: sparse: sparse: symbol 'sp_otp_v0' was not declared. Should it be static?
drivers/of/kobj.c:165:1: internal compiler error: Segmentation fault
drivers/parport/daisy.c:507:1: internal compiler error: Segmentation fault
drivers/parport/ieee1284.c:789:1: internal compiler error: Segmentation fault
drivers/parport/ieee1284_ops.c:893:1: internal compiler error: Segmentation fault
drivers/parport/probe.c:274:1: internal compiler error: Segmentation fault
drivers/pci/of.c:635:1: internal compiler error: Segmentation fault
drivers/pci/vgaarb.c:213:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
drivers/pcmcia/rsrc_mgr.c:70:1: internal compiler error: Segmentation fault
drivers/phy/broadcom/phy-brcm-usb.c:233:9: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
drivers/phy/phy-core-mipi-dphy.c:164:1: internal compiler error: Segmentation fault
drivers/power/supply/ip5xxx_power.c:341 ip5xxx_battery_get_property() error: uninitialized symbol 'raw'.
drivers/rtc/sysfs.c:354:1: internal compiler error: Segmentation fault
drivers/scsi/iscsi_boot_sysfs.c:554:1: internal compiler error: Segmentation fault
drivers/scsi/libiscsi.c:3788:1: internal compiler error: Segmentation fault
drivers/scsi/libiscsi_tcp.c:1246:1: internal compiler error: Segmentation fault
drivers/scsi/libsas/sas_event.c:228:1: internal compiler error: Segmentation fault
drivers/scsi/libsas/sas_task.c:37:1: internal compiler error: Segmentation fault
drivers/scsi/lpfc/lpfc_els.c:7983:38: sparse:    left side has type unsigned int
drivers/scsi/lpfc/lpfc_els.c:7983:38: sparse:    right side has type restricted __be32
drivers/scsi/lpfc/lpfc_els.c:7983:38: sparse: sparse: invalid assignment: |=
drivers/scsi/lpfc/lpfc_els.c:8504:33: sparse: sparse: incorrect type in assignment (different base types)
drivers/scsi/scsi_lib_dma.c:52:1: internal compiler error: Segmentation fault
drivers/scsi/ufs/ufs-sysfs.c:1267:1: internal compiler error: Segmentation fault
drivers/slimbus/messaging.c:365:1: internal compiler error: Segmentation fault
drivers/slimbus/stream.c:477:1: internal compiler error: Segmentation fault
drivers/ssb/driver_chipcommon.c:598:1: internal compiler error: Segmentation fault
drivers/ssb/scan.c:446:1: internal compiler error: Segmentation fault
drivers/staging/greybus/arche-apb-ctrl.c:302:10: warning: Call to function 'sprintf' is insecure as it does not provide bounding of the memory buffer or security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
drivers/target/iscsi/iscsi_target_auth.c:531:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_configfs.c:1550:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_datain_values.c:519:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_device.c:57:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_erl0.c:936:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_erl1.c:1239:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_erl2.c:429:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_login.c:1453:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_nego.c:1338:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_nodeattrib.c:253:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_parameters.c:1715:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_seq_pdu_list.c:690:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_stat.c:798:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_tmr.c:841:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_tpg.c:913:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_transport.c:54:1: internal compiler error: Segmentation fault
drivers/target/iscsi/iscsi_target_util.c:1371:1: internal compiler error: Segmentation fault
drivers/tty/serial/sunplus-uart.c:501:26: sparse: sparse: symbol 'sunplus_console_ports' was not declared. Should it be static?
drivers/tty/tty_audit.c:248:1: internal compiler error: Segmentation fault
drivers/usb/cdns3/drd.c:495:1: internal compiler error: Segmentation fault
drivers/usb/cdns3/host.c:143:1: internal compiler error: Segmentation fault
drivers/usb/chipidea/host.c:486:1: internal compiler error: Segmentation fault
drivers/usb/core/config.c:1094:1: internal compiler error: Segmentation fault
drivers/usb/core/devices.c:593:1: internal compiler error: Segmentation fault
drivers/usb/core/endpoint.c:191:1: internal compiler error: Segmentation fault
drivers/usb/core/generic.c:324:1: internal compiler error: Segmentation fault
drivers/usb/core/port.c:658:1: internal compiler error: Segmentation fault
drivers/usb/core/quirks.c:703:1: internal compiler error: Segmentation fault
drivers/usb/core/sysfs.c:1263:1: internal compiler error: Segmentation fault
drivers/usb/dwc3/debugfs.c:934:1: internal compiler error: Segmentation fault
drivers/usb/dwc3/drd.c:660:1: internal compiler error: Segmentation fault
drivers/usb/dwc3/ep0.c:1176:1: internal compiler error: Segmentation fault
drivers/usb/dwc3/gadget.c:4447:1: internal compiler error: Segmentation fault
drivers/usb/gadget/composite.c:2605:1: internal compiler error: Segmentation fault
drivers/usb/gadget/config.c:268:1: internal compiler error: Segmentation fault
drivers/usb/gadget/epautoconf.c:214:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/f_tcm.c:2333:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/storage_common.c:522:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/u_uac1_legacy.c:306:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/uvc_configfs.c:2462:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/uvc_queue.c:369:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/uvc_v4l2.c:398:1: internal compiler error: Segmentation fault
drivers/usb/gadget/function/uvc_video.c:497:1: internal compiler error: Segmentation fault
drivers/usb/gadget/functions.c:117:1: internal compiler error: Segmentation fault
drivers/usb/gadget/u_f.c:30:1: internal compiler error: Segmentation fault
drivers/usb/gadget/udc/snps_udc_core.c:3193:1: internal compiler error: Segmentation fault
drivers/usb/gadget/udc/trace.c:11: internal compiler error: Segmentation fault
drivers/usb/gadget/usbstring.c:91:1: internal compiler error: Segmentation fault
drivers/usb/host/xhci-dbg.c:35:1: internal compiler error: Segmentation fault
drivers/usb/isp1760/isp1760-udc.c:1600:1: internal compiler error: Segmentation fault
drivers/usb/mon/mon_stat.c:71:1: internal compiler error: Segmentation fault
drivers/usb/musb/musb_gadget.c:2094:1: internal compiler error: Segmentation fault
drivers/usb/musb/musb_gadget_ep0.c:1058:1: internal compiler error: Segmentation fault
drivers/usb/storage/initializers.c:94:1: internal compiler error: Segmentation fault
drivers/usb/typec/bus.c:412:1: internal compiler error: Segmentation fault
drivers/usb/typec/tcpm/tcpm.c:6457:1: internal compiler error: Segmentation fault
drivers/usb/usbip/stub_rx.c:686:1: internal compiler error: Segmentation fault
drivers/usb/usbip/stub_tx.c:453:1: internal compiler error: Segmentation fault
drivers/usb/usbip/usbip_event.c:196:1: internal compiler error: Segmentation fault
drivers/vfio/mdev/vfio_mdev.c:152:1: internal compiler error: Segmentation fault
drivers/video/fbdev/core/fb_defio.c:240:1: internal compiler error: Segmentation fault
drivers/video/fbdev/core/fbcmap.c:362:1: internal compiler error: Segmentation fault
drivers/video/fbdev/core/fbsysfs.c:544:1: internal compiler error: Segmentation fault
drivers/virtio/virtio_ring.c:2465:1: internal compiler error: Segmentation fault
drivers/w1/w1_family.c:130:1: internal compiler error: Segmentation fault
drivers/w1/w1_netlink.c:725:1: internal compiler error: Segmentation fault
drivers/watchdog/watchdog_pretimeout.c:216:1: internal compiler error: Segmentation fault
fs/afs/addr_list.c:404:1: internal compiler error: Segmentation fault
fs/afs/callback.c:228:1: internal compiler error: Segmentation fault
fs/afs/cmservice.c:672:1: internal compiler error: Segmentation fault
fs/afs/dir_edit.c:493:1: internal compiler error: Segmentation fault
fs/afs/dir_silly.c:282:1: internal compiler error: Segmentation fault
fs/afs/dynroot.c:393:1: internal compiler error: Segmentation fault
fs/afs/file.c:623:1: internal compiler error: Segmentation fault
fs/afs/flock.c:877:1: internal compiler error: Segmentation fault
fs/afs/fs_operation.c:259:1: internal compiler error: Segmentation fault
fs/afs/fs_probe.c:475:1: internal compiler error: Segmentation fault
fs/afs/mntpt.c:225:1: internal compiler error: Segmentation fault
fs/afs/server_list.c:129:1: internal compiler error: Segmentation fault
fs/afs/vl_alias.c:383:1: internal compiler error: Segmentation fault
fs/afs/vl_list.c:335:1: internal compiler error: Segmentation fault
fs/afs/vl_probe.c:292:1: internal compiler error: Segmentation fault
fs/afs/vl_rotate.c:348:1: internal compiler error: Segmentation fault
fs/afs/vlclient.c:759:1: internal compiler error: Segmentation fault
fs/afs/volume.c:428:1: internal compiler error: Segmentation fault
fs/afs/write.c:1034:1: internal compiler error: Segmentation fault
fs/afs/xattr.c:363:1: internal compiler error: Segmentation fault
fs/autofs/expire.c:620:1: internal compiler error: Segmentation fault
fs/autofs/inode.c:385:1: internal compiler error: Segmentation fault
fs/autofs/root.c:919:1: internal compiler error: Segmentation fault
fs/autofs/symlink.c:26:1: internal compiler error: Segmentation fault
fs/autofs/waitq.c:512:1: internal compiler error: Segmentation fault
fs/bad_inode.c:252:1: internal compiler error: Segmentation fault
fs/btrfs/async-thread.c:419:1: internal compiler error: Segmentation fault
fs/btrfs/block-group.c:4082:1: internal compiler error: Segmentation fault
fs/btrfs/block-rsv.c:558:1: internal compiler error: Segmentation fault
fs/btrfs/ctree.c:4779:1: internal compiler error: Segmentation fault
fs/btrfs/delalloc-space.c:486:1: internal compiler error: Segmentation fault
fs/btrfs/dev-replace.c:1332:1: internal compiler error: Segmentation fault
fs/btrfs/dir-item.c:460:1: internal compiler error: Segmentation fault
fs/btrfs/discard.c:723:1: internal compiler error: Segmentation fault
fs/btrfs/export.c:281:1: internal compiler error: Segmentation fault
fs/btrfs/file-item.c:1285:1: internal compiler error: Segmentation fault
fs/btrfs/free-space-cache.c:4116:1: internal compiler error: Segmentation fault
fs/btrfs/free-space-tree.c:1603:1: internal compiler error: Segmentation fault
fs/btrfs/inode-item.c:749:1: internal compiler error: Segmentation fault
fs/btrfs/ioctl.c:5334:1: internal compiler error: Segmentation fault
fs/btrfs/locking.c:291:1: internal compiler error: Segmentation fault
fs/btrfs/lzo.c:495:1: internal compiler error: Segmentation fault
fs/btrfs/orphan.c:58:1: internal compiler error: Segmentation fault
fs/btrfs/print-tree.c:410:1: internal compiler error: Segmentation fault
fs/btrfs/qgroup.c:4321:1: internal compiler error: Segmentation fault
fs/btrfs/raid56.c:2709:1: internal compiler error: Segmentation fault
fs/btrfs/reflink.c:911:1: internal compiler error: Segmentation fault
fs/btrfs/root-tree.c:545:1: internal compiler error: Segmentation fault
fs/btrfs/struct-funcs.c:171:1: internal compiler error: Segmentation fault
fs/btrfs/subpage.c:745:1: internal compiler error: Segmentation fault
fs/btrfs/transaction.c:2539:1: internal compiler error: Segmentation fault
fs/btrfs/tree-defrag.c:132:1: internal compiler error: Segmentation fault
fs/btrfs/tree-log.c:6828:1: internal compiler error: Segmentation fault
fs/btrfs/tree-mod-log.c:929:1: internal compiler error: Segmentation fault
fs/btrfs/ulist.c:276:1: internal compiler error: Segmentation fault
fs/btrfs/uuid-tree.c:390:1: internal compiler error: Segmentation fault
fs/btrfs/verity.c:813:1: internal compiler error: Segmentation fault
fs/btrfs/xattr.c:502:1: internal compiler error: Segmentation fault
fs/btrfs/zlib.c:462:1: internal compiler error: Segmentation fault
fs/btrfs/zoned.c:2035:1: internal compiler error: Segmentation fault
fs/btrfs/zstd.c:706:1: internal compiler error: Segmentation fault
fs/ceph/addr.c:2064:1: internal compiler error: Segmentation fault
fs/ceph/caps.c:4698:1: internal compiler error: Segmentation fault
fs/ceph/ceph_frag.c:23:1: internal compiler error: Segmentation fault
fs/ceph/debugfs.c:467:1: internal compiler error: Segmentation fault
fs/ceph/dir.c:1994:1: internal compiler error: Segmentation fault
fs/ceph/export.c:583:1: internal compiler error: Segmentation fault
fs/ceph/file.c:2596:1: internal compiler error: Segmentation fault
fs/ceph/inode.c:2438:1: internal compiler error: Segmentation fault
fs/ceph/io.c:163:1: internal compiler error: Segmentation fault
fs/ceph/ioctl.c:295:1: internal compiler error: Segmentation fault
fs/ceph/mdsmap.c:422:1: internal compiler error: Segmentation fault
fs/ceph/metric.c:344:1: internal compiler error: Segmentation fault
fs/ceph/quota.c:531:1: internal compiler error: Segmentation fault
fs/ceph/snap.c:1199:1: internal compiler error: Segmentation fault
fs/ceph/xattr.c:1399:1: internal compiler error: Segmentation fault
fs/cifs/cifs_debug.c:1066:1: internal compiler error: Segmentation fault
fs/cifs/cifs_dfs_ref.c:374:1: internal compiler error: Segmentation fault
fs/cifs/cifs_spnego.c:236:1: internal compiler error: Segmentation fault
fs/cifs/cifs_swn.c:674:1: internal compiler error: Segmentation fault
fs/cifs/cifs_unicode.c:632:1: internal compiler error: Segmentation fault
fs/cifs/cifsacl.c:1668:1: internal compiler error: Segmentation fault
fs/cifs/cifsencrypt.c:767:1: internal compiler error: Segmentation fault
fs/cifs/cifssmb.c:6055:1: internal compiler error: Segmentation fault
fs/cifs/connect.c:4498:1: internal compiler error: Segmentation fault
fs/cifs/dfs_cache.c:1661:1: internal compiler error: Segmentation fault
fs/cifs/dir.c:864:1: internal compiler error: Segmentation fault
fs/cifs/file.c:4986:1: internal compiler error: Segmentation fault
fs/cifs/fs_context.c:1764:1: internal compiler error: Segmentation fault
fs/cifs/inode.c:3014:1: internal compiler error: Segmentation fault
fs/cifs/ioctl.c:501:1: internal compiler error: Segmentation fault
fs/cifs/link.c:734:1: internal compiler error: Segmentation fault
fs/cifs/misc.c:1353:1: internal compiler error: Segmentation fault
fs/cifs/netlink.c:89:1: internal compiler error: Segmentation fault
fs/cifs/netmisc.c:1021:1: internal compiler error: Segmentation fault
fs/cifs/readdir.c:1056:1: internal compiler error: Segmentation fault
fs/cifs/sess.c:1718:1: internal compiler error: Segmentation fault
fs/cifs/smb1ops.c:1256:1: internal compiler error: Segmentation fault
fs/cifs/smb2file.c:287:1: internal compiler error: Segmentation fault
fs/cifs/smb2inode.c:750:1: internal compiler error: Segmentation fault
fs/cifs/smb2maperror.c:2481:1: internal compiler error: Segmentation fault
fs/cifs/smb2misc.c:922:1: internal compiler error: Segmentation fault
fs/cifs/smb2ops.c:5947:1: internal compiler error: Segmentation fault
fs/cifs/smb2pdu.c:5621:1: internal compiler error: Segmentation fault
fs/cifs/smb2transport.c:933:1: internal compiler error: Segmentation fault
fs/cifs/smbencrypt.c:91:1: internal compiler error: Segmentation fault
fs/cifs/trace.c:9: internal compiler error: Segmentation fault
fs/cifs/transport.c:1639:1: internal compiler error: Segmentation fault
fs/cifs/unc.c:69:1: internal compiler error: Segmentation fault
fs/coda/cache.c:118:1: internal compiler error: Segmentation fault
fs/coda/cnode.c:178:1: internal compiler error: Segmentation fault
fs/coda/dir.c:595:1: internal compiler error: Segmentation fault
fs/coda/file.c:305:1: internal compiler error: Segmentation fault
fs/coda/pioctl.c:88:1: internal compiler error: Segmentation fault
fs/coda/symlink.c:48:1: internal compiler error: Segmentation fault
fs/coda/upcall.c:961:1: internal compiler error: Segmentation fault
fs/configfs/file.c:482:1: internal compiler error: Segmentation fault
fs/configfs/inode.c:244:1: internal compiler error: Segmentation fault
fs/configfs/symlink.c:269:1: internal compiler error: Segmentation fault
fs/crypto/bio.c:194:1: internal compiler error: Segmentation fault
fs/crypto/fname.c:595:1: internal compiler error: Segmentation fault
fs/crypto/hkdf.c:182:1: internal compiler error: Segmentation fault
fs/crypto/hooks.c:430:1: internal compiler error: Segmentation fault
fs/crypto/keysetup.c:794:1: internal compiler error: Segmentation fault
fs/crypto/keysetup_v1.c:319:1: internal compiler error: Segmentation fault
fs/crypto/policy.c:818:1: internal compiler error: Segmentation fault
fs/d_path.c:448:1: internal compiler error: Segmentation fault
fs/dlm/dir.c:306:1: internal compiler error: Segmentation fault
fs/dlm/member.c:735:1: internal compiler error: Segmentation fault
fs/dlm/midcomms.c:1485:1: internal compiler error: Segmentation fault
fs/dlm/plock.c:510:1: internal compiler error: Segmentation fault
fs/dlm/rcom.c:675:1: internal compiler error: Segmentation fault
fs/dlm/recover.c:956:1: internal compiler error: Segmentation fault
fs/dlm/recoverd.c:352:1: internal compiler error: Segmentation fault
fs/dlm/requestqueue.c:167:1: internal compiler error: Segmentation fault
fs/efivarfs/inode.c:184:1: internal compiler error: Segmentation fault
fs/eventfd.c:457:1: internal compiler error: Segmentation fault
fs/exportfs/expfs.c:586:1: internal compiler error: Segmentation fault
fs/ext2/xattr_user.c:50:1: internal compiler error: Segmentation fault
fs/fhandle.c:267:1: internal compiler error: Segmentation fault
fs/fs_context.c:717:1: internal compiler error: Segmentation fault
fs/fs_pin.c:97:1: internal compiler error: Segmentation fault
fs/fs_struct.c:168:1: internal compiler error: Segmentation fault
fs/fsopen.c:469:1: internal compiler error: Segmentation fault
fs/gfs2/lock_dlm.c:1403:1: internal compiler error: Segmentation fault
fs/ioctl.c:879:1: internal compiler error: Segmentation fault
fs/kernfs/dir.c:1760:1: internal compiler error: Segmentation fault
fs/kernfs/file.c:1022:1: internal compiler error: Segmentation fault
fs/kernfs/inode.c:446:1: internal compiler error: Segmentation fault
fs/kernfs/symlink.c:153:1: internal compiler error: Segmentation fault
fs/namei.c:5051:1: internal compiler error: Segmentation fault
fs/nls/nls_base.c:548:1: internal compiler error: Segmentation fault
fs/ntfs3/attrib.c:2083:1: internal compiler error: Segmentation fault
fs/ntfs3/attrlist.c:457:1: internal compiler error: Segmentation fault
fs/ntfs3/dir.c:592:1: internal compiler error: Segmentation fault
fs/ntfs3/file.c:1253:1: internal compiler error: Segmentation fault
fs/ntfs3/frecord.c:3284:1: internal compiler error: Segmentation fault
fs/ntfs3/fslog.c:5213:1: internal compiler error: Segmentation fault
fs/ntfs3/fsntfs.c:2506:1: internal compiler error: Segmentation fault
fs/ntfs3/index.c:2584:1: internal compiler error: Segmentation fault
fs/ntfs3/inode.c:1959:1: internal compiler error: Segmentation fault
fs/ntfs3/lib/decompress_common.c:319:1: internal compiler error: Segmentation fault
fs/ntfs3/lib/lzx_decompress.c:670:1: internal compiler error: Segmentation fault
fs/ntfs3/lznt.c:453:1: internal compiler error: Segmentation fault
fs/ntfs3/namei.c:386:1: internal compiler error: Segmentation fault
fs/ntfs3/record.c:602:1: internal compiler error: Segmentation fault
fs/ntfs3/run.c:1111:1: internal compiler error: Segmentation fault
fs/ntfs3/upcase.c:104:1: internal compiler error: Segmentation fault
fs/ntfs3/xattr.c:994:1: internal compiler error: Segmentation fault
fs/ocfs2/acl.c:409:1: internal compiler error: Segmentation fault
fs/ocfs2/alloc.c:7704:1: internal compiler error: Segmentation fault
fs/ocfs2/aops.c:2469:1: internal compiler error: Segmentation fault
fs/ocfs2/blockcheck.c:604:1: internal compiler error: Segmentation fault
fs/ocfs2/buffer_head_io.c:463:1: internal compiler error: Segmentation fault
fs/ocfs2/cluster/masklog.c:174:1: internal compiler error: Segmentation fault
fs/ocfs2/cluster/netdebug.c:504:1: internal compiler error: Segmentation fault
fs/ocfs2/cluster/quorum.c:326:1: internal compiler error: Segmentation fault
fs/ocfs2/cluster/tcp.c:2138:1: internal compiler error: Segmentation fault
fs/ocfs2/dcache.c:470:1: internal compiler error: Segmentation fault
fs/ocfs2/dir.c:4459:1: internal compiler error: Segmentation fault
fs/ocfs2/dlmfs/userdlm.c:669:1: internal compiler error: Segmentation fault
fs/ocfs2/dlmglue.c:4468:1: internal compiler error: Segmentation fault
fs/ocfs2/export.c:283:1: internal compiler error: Segmentation fault
fs/ocfs2/extent_map.c:1021:1: internal compiler error: Segmentation fault
fs/ocfs2/file.c:2811:1: internal compiler error: Segmentation fault
fs/ocfs2/filecheck.c:509:1: internal compiler error: Segmentation fault
fs/ocfs2/heartbeat.c:117:1: internal compiler error: Segmentation fault
fs/ocfs2/inode.c:1658:1: internal compiler error: Segmentation fault
fs/ocfs2/ioctl.c:935:1: internal compiler error: Segmentation fault
fs/ocfs2/journal.c:2384:1: internal compiler error: Segmentation fault
fs/ocfs2/localalloc.c:1323:1: internal compiler error: Segmentation fault
fs/ocfs2/locks.c:124:1: internal compiler error: Segmentation fault
fs/ocfs2/mmap.c:176:1: internal compiler error: Segmentation fault
fs/ocfs2/move_extents.c:1079:1: internal compiler error: Segmentation fault
fs/ocfs2/namei.c:2927:1: internal compiler error: Segmentation fault
fs/ocfs2/quota_global.c:1016:1: internal compiler error: Segmentation fault
fs/ocfs2/refcounttree.c:4828:1: internal compiler error: Segmentation fault
fs/ocfs2/reservations.c:826:1: internal compiler error: Segmentation fault
fs/ocfs2/resize.c:582:1: internal compiler error: Segmentation fault
fs/ocfs2/slot_map.c:528:1: internal compiler error: Segmentation fault
fs/ocfs2/suballoc.c:2866:1: internal compiler error: Segmentation fault
fs/ocfs2/symlink.c:93:1: internal compiler error: Segmentation fault
fs/ocfs2/sysfile.c:166:1: internal compiler error: Segmentation fault
fs/ocfs2/xattr.c:7362:1: internal compiler error: Segmentation fault
fs/omfs/bitmap.c:194:1: internal compiler error: Segmentation fault
fs/omfs/dir.c:461:1: internal compiler error: Segmentation fault
fs/omfs/file.c:383:1: internal compiler error: Segmentation fault
fs/open.c:1431:1: internal compiler error: Segmentation fault
fs/overlayfs/dir.c:1315:1: internal compiler error: Segmentation fault
fs/overlayfs/export.c:872:1: internal compiler error: Segmentation fault
fs/overlayfs/inode.c:1196:1: internal compiler error: Segmentation fault
fs/overlayfs/namei.c:1191:1: internal compiler error: Segmentation fault
fs/overlayfs/readdir.c:1233:1: internal compiler error: Segmentation fault
fs/overlayfs/util.c:1062:1: internal compiler error: Segmentation fault
fs/pnode.c:602:1: internal compiler error: Segmentation fault
fs/posix_acl.c:1018:1: internal compiler error: Segmentation fault
fs/pstore/pmsg.c:94:1: internal compiler error: Segmentation fault
fs/quota/quota.c:1013:1: internal compiler error: Segmentation fault
fs/quota/quota_tree.c:740:1: internal compiler error: Segmentation fault
fs/readdir.c:384:1: internal compiler error: Segmentation fault
fs/select.c:1123:1: internal compiler error: Segmentation fault
fs/smbfs_common/cifs_md4.c:197:1: internal compiler error: Segmentation fault
fs/splice.c:1721:1: internal compiler error: Segmentation fault
fs/squashfs/decompressor_multi.c:197:1: internal compiler error: Segmentation fault
fs/squashfs/zstd_wrapper.c:144:1: internal compiler error: Segmentation fault
fs/stack.c:76:1: internal compiler error: Segmentation fault
fs/statfs.c:264:1: internal compiler error: Segmentation fault
fs/sync.c:382:1: internal compiler error: Segmentation fault
fs/unicode/utf8-core.c:217:1: internal compiler error: Segmentation fault
fs/utimes.c:164:1: internal compiler error: Segmentation fault
fs/xattr.c:1132:1: internal compiler error: Segmentation fault
include/asm-generic/io.h:464:31: warning: performing pointer arithmetic on a null pointer has undefined behavior err: false
include/linux/cacheflush.h:12:46: warning: 'struct folio' declared inside parameter list will not be visible outside of this definition or declaration
include/linux/fortify-string.h:336:4: warning: call to __read_overflow2_field declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
include/linux/fortify-string.h:45:33: warning: '__builtin_memcpy' offset [0, 31] is out of the bounds [0, 0] [-Warray-bounds]
include/linux/fortify-string.h:45:33: warning: '__builtin_memcpy' offset [0, 511] is out of the bounds [0, 0] [-Warray-bounds]
include/linux/module.h:274:46: internal compiler error: Segmentation fault
include/linux/rcupdate.h:414:36: error: dereferencing pointer to incomplete type 'struct css_set'
ipc/msgutil.c:184:1: internal compiler error: Segmentation fault
kernel/acct.c:602:1: internal compiler error: Segmentation fault
kernel/auditsc.c:2997:1: internal compiler error: Segmentation fault
kernel/bpf/offload.c:712:1: internal compiler error: Segmentation fault
kernel/bpf/reuseport_array.c:351:1: internal compiler error: Segmentation fault
kernel/cgroup/freezer.c:323:1: internal compiler error: Segmentation fault
kernel/dma/direct.c:631:1: internal compiler error: Segmentation fault
kernel/irq/chip.c:1599:1: internal compiler error: Segmentation fault
kernel/printk/printk_ringbuffer.c:2082:1: internal compiler error: Segmentation fault
kernel/printk/printk_safe.c:52:1: internal compiler error: Segmentation fault
kernel/range.c:165:1: internal compiler error: Segmentation fault
kernel/rcu/rcu_segcblist.c:633:1: internal compiler error: Segmentation fault
kernel/rcu/sync.c:206:1: internal compiler error: Segmentation fault
kernel/sched/core.c:5268:20: warning: no previous prototype for function 'task_sched_runtime' [-Wmissing-prototypes]
kernel/sched/core.c:8979:6: warning: no previous prototype for 'idle_task_exit' [-Wmissing-prototypes]
kernel/sched/core.c:8979:6: warning: no previous prototype for function 'idle_task_exit' [-Wmissing-prototypes]
kernel/sched/core.c:9214:5: warning: no previous prototype for 'sched_cpu_activate' [-Wmissing-prototypes]
kernel/sched/core.c:9214:5: warning: no previous prototype for function 'sched_cpu_activate' [-Wmissing-prototypes]
kernel/sched/core.c:9259:5: warning: no previous prototype for 'sched_cpu_deactivate' [-Wmissing-prototypes]
kernel/sched/core.c:9259:5: warning: no previous prototype for function 'sched_cpu_deactivate' [-Wmissing-prototypes]
kernel/sched/core.c:9334:5: warning: no previous prototype for 'sched_cpu_starting' [-Wmissing-prototypes]
kernel/sched/core.c:9334:5: warning: no previous prototype for function 'sched_cpu_starting' [-Wmissing-prototypes]
kernel/sched/core.c:9355:5: warning: no previous prototype for 'sched_cpu_wait_empty' [-Wmissing-prototypes]
kernel/sched/core.c:9355:5: warning: no previous prototype for function 'sched_cpu_wait_empty' [-Wmissing-prototypes]
kernel/sched/core.c:9397:5: warning: no previous prototype for 'sched_cpu_dying' [-Wmissing-prototypes]
kernel/sched/core.c:9397:5: warning: no previous prototype for function 'sched_cpu_dying' [-Wmissing-prototypes]
kernel/sched/core.c:9420:13: warning: no previous prototype for function 'sched_init_smp' [-Wmissing-prototypes]
kernel/sched/core.c:9453:13: warning: no previous prototype for function 'sched_init_smp' [-Wmissing-prototypes]
kernel/sched/core.c:9481:13: warning: no previous prototype for function 'sched_init' [-Wmissing-prototypes]
kernel/sched/cpuacct.c:367:1: internal compiler error: Segmentation fault
kernel/sched/cputime.c:630:1: internal compiler error: Segmentation fault
kernel/sched/deadline.c:2955:1: internal compiler error: Segmentation fault
kernel/sched/fair.c:10665:6: warning: no previous prototype for 'nohz_balance_enter_idle' [-Wmissing-prototypes]
kernel/sched/fair.c:10665:6: warning: no previous prototype for function 'nohz_balance_enter_idle' [-Wmissing-prototypes]
kernel/sched/loadavg.c:245:6: warning: no previous prototype for 'calc_load_nohz_start' [-Wmissing-prototypes]
kernel/sched/loadavg.c:245:6: warning: no previous prototype for function 'calc_load_nohz_start' [-Wmissing-prototypes]
kernel/sched/loadavg.c:258:6: warning: no previous prototype for 'calc_load_nohz_remote' [-Wmissing-prototypes]
kernel/sched/loadavg.c:258:6: warning: no previous prototype for function 'calc_load_nohz_remote' [-Wmissing-prototypes]
kernel/sched/loadavg.c:263:6: warning: no previous prototype for 'calc_load_nohz_stop' [-Wmissing-prototypes]
kernel/sched/loadavg.c:263:6: warning: no previous prototype for function 'calc_load_nohz_stop' [-Wmissing-prototypes]
kernel/sched/membarrier.c:630:1: internal compiler error: Segmentation fault
kernel/sched/rt.c:2990:1: internal compiler error: Segmentation fault
kernel/sched/sched.h:87:11: fatal error: 'asm/paravirt_api_clock.h' file not found
kernel/sched/sched.h:87:11: fatal error: asm/paravirt_api_clock.h: No such file or directory
kernel/sys.c:2706:1: internal compiler error: Segmentation fault
kernel/task_work.c:169:1: internal compiler error: Segmentation fault
kernel/trace/trace_clock.c:158:1: internal compiler error: Segmentation fault
kernel/umh.c:564:1: internal compiler error: Segmentation fault
lib/asn1_decoder.c:521:1: internal compiler error: Segmentation fault
lib/cmdline.c:275:1: internal compiler error: Segmentation fault
lib/crc-itu-t.c:66:1: internal compiler error: Segmentation fault
lib/crc16.c:64:1: internal compiler error: Segmentation fault
lib/crypto/aes.c:356:1: internal compiler error: Segmentation fault
lib/crypto/blake2s-generic.c:115:1: internal compiler error: Segmentation fault
lib/crypto/poly1305-donna32.c:205:1: internal compiler error: Segmentation fault
lib/crypto/poly1305.c:78:1: internal compiler error: Segmentation fault
lib/dim/dim.c:83:1: internal compiler error: Segmentation fault
lib/dim/net_dim.c:246:1: internal compiler error: Segmentation fault
lib/dim/rdma_dim.c:108:1: internal compiler error: Segmentation fault
lib/dynamic_queue_limits.c:138:1: internal compiler error: Segmentation fault
lib/earlycpio.c:141:1: internal compiler error: Segmentation fault
lib/extable.c:118:1: internal compiler error: Segmentation fault
lib/fdt.c:3: internal compiler error: Segmentation fault
lib/fdt_ro.c:3: internal compiler error: Segmentation fault
lib/fdt_rw.c:3: internal compiler error: Segmentation fault
lib/fdt_sw.c:3: internal compiler error: Segmentation fault
lib/fdt_wip.c:3: internal compiler error: Segmentation fault
lib/flex_proportions.c:282:1: internal compiler error: Segmentation fault
lib/interval_tree.c:17:1: internal compiler error: Segmentation fault
lib/iov_iter.c:2067:1: internal compiler error: Segmentation fault
lib/is_single_threaded.c:54:1: internal compiler error: Segmentation fault
lib/kunit/assert.c:206:1: internal compiler error: Segmentation fault
lib/linear_ranges.c:276:1: internal compiler error: Segmentation fault
lib/logic_pio.c:232:1: internal compiler error: Segmentation fault
lib/lz4/lz4_compress.c:940:1: internal compiler error: Segmentation fault
lib/lz4/lz4_decompress.c:715:1: internal compiler error: Segmentation fault
lib/lzo/lzo1x_compress.c:400:1: internal compiler error: Segmentation fault
lib/lzo/lzo1x_decompress_safe.c:294:1: internal compiler error: Segmentation fault
lib/math/rational.c:111:1: internal compiler error: Segmentation fault
lib/mpi/generic_mpih-mul2.c:47:1: internal compiler error: Segmentation fault
lib/mpi/generic_mpih-mul3.c:48:1: internal compiler error: Segmentation fault
lib/mpi/mpi-div.c:234:1: internal compiler error: Segmentation fault
lib/mpi/mpi-mod.c:157:1: internal compiler error: Segmentation fault
lib/mpi/mpi-mul.c:91:1: internal compiler error: Segmentation fault
lib/mpi/mpih-div.c:517:1: internal compiler error: Segmentation fault
lib/mpi/mpih-mul.c:509:1: internal compiler error: Segmentation fault
lib/net_utils.c:27:1: internal compiler error: Segmentation fault
lib/nlattr.c:1121:1: internal compiler error: Segmentation fault
lib/oid_registry.c:199:1: internal compiler error: Segmentation fault
lib/plist.c:173:1: internal compiler error: Segmentation fault
lib/raid6/int1.c:154:1: internal compiler error: Segmentation fault
lib/raid6/int2.c:180:1: internal compiler error: Segmentation fault
lib/raid6/int4.c:232:1: internal compiler error: Segmentation fault
lib/raid6/int8.c:336:1: internal compiler error: Segmentation fault
lib/seq_buf.c:397:1: internal compiler error: Segmentation fault
lib/stackinit_kunit.c:259:8: warning: Excessive padding in 'struct test_big_hole' (124 padding bytes, where 60 is optimal).
lib/stackinit_kunit.c:339:1: warning: Address of stack memory associated with local variable 'var' is still referred to by the global variable 'fill_start' upon returning to the caller.  This will be a dangling reference [clang-analyzer-core.StackAddressEscape]
lib/stackinit_kunit.c:339:1: warning: Address of stack memory associated with local variable 'var' is still referred to by the global variable 'target_start' upon returning to the caller.  This will be a dangling reference [clang-analyzer-core.StackAddressEscape]
lib/stackinit_kunit.c:343:1: warning: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn]
lib/syscall.c:88:1: internal compiler error: Segmentation fault
lib/zlib_deflate/deflate.c:1146:1: internal compiler error: Segmentation fault
lib/zlib_deflate/deftree.c:1058:1: internal compiler error: Segmentation fault
lib/zlib_inflate/inffast.c:325:1: internal compiler error: Segmentation fault
lib/zlib_inflate/inflate.c:814:1: internal compiler error: Segmentation fault
lib/zstd/common/entropy_common.c:357:1: internal compiler error: Segmentation fault
lib/zstd/common/fse_decompress.c:386:1: internal compiler error: Segmentation fault
lib/zstd/compress/fse_compress.c:622:1: internal compiler error: Segmentation fault
lib/zstd/compress/hist.c:164:1: internal compiler error: Segmentation fault
lib/zstd/compress/huf_compress.c:904:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_compress.c:5109:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_compress_literals.c:158:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_compress_sequences.c:439:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_compress_superblock.c:852:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_double_fast.c:519:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_fast.c:496:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_lazy.c:1414:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_ldm.c:686:1: internal compiler error: Segmentation fault
lib/zstd/compress/zstd_opt.c:1354:1: internal compiler error: Segmentation fault
lib/zstd/decompress/huf_decompress.c:1205:1: internal compiler error: Segmentation fault
lib/zstd/decompress/zstd_ddict.c:241:1: internal compiler error: Segmentation fault
lib/zstd/decompress/zstd_decompress.c:2085:1: internal compiler error: Segmentation fault
lib/zstd/decompress/zstd_decompress_block.c:1540:1: internal compiler error: Segmentation fault
m68k-linux-ld: arch/m68k/kernel/machine_kexec.c:56: undefined reference to `m68k_cputype'
m68k-linux-ld: arch/m68k/kernel/time.c:110: undefined reference to `mach_set_rtc_pll'
make[1]: *** No rule to make target 'arch/nds32/Makefile'.
mips64-linux-ld: page_alloc.c:(.init.text+0x1f38): undefined reference to `node_data'
mm/folio-compat.c:153:1: internal compiler error: Segmentation fault
mm/hmm.c:602:1: internal compiler error: Segmentation fault
mm/interval_tree.c:103:1: internal compiler error: Segmentation fault
mm/mmu_notifier.c:1120:1: internal compiler error: Segmentation fault
mm/ptdump.c:165:1: internal compiler error: Segmentation fault
nd_perf.c:(.text+0x158): undefined reference to `perf_pmu_migrate_context'
nd_perf.c:(.text+0x226): undefined reference to `perf_pmu_migrate_context'
nd_perf.c:(.text+0x4f8): undefined reference to `perf_pmu_register'
nd_perf.c:(.text+0x572): undefined reference to `perf_pmu_unregister'
nd_perf.c:(.text+0x604): undefined reference to `perf_pmu_register'
nd_perf.c:(.text+0x682): undefined reference to `perf_pmu_migrate_context'
nd_perf.c:(.text+0x738): undefined reference to `perf_pmu_unregister'
net/6lowpan/iphc.c:1313:1: internal compiler error: Segmentation fault
net/6lowpan/ndisc.c:233:1: internal compiler error: Segmentation fault
net/6lowpan/nhc.c:234:1: internal compiler error: Segmentation fault
net/802/garp.c:649:1: internal compiler error: Segmentation fault
net/802/mrp.c:935:1: internal compiler error: Segmentation fault
net/ax25/ax25_addr.c:303:1: internal compiler error: Segmentation fault
net/ax25/ax25_iface.c:214:1: internal compiler error: Segmentation fault
net/ax25/ax25_in.c:451:1: internal compiler error: Segmentation fault
net/ax25/ax25_ip.c:246:1: internal compiler error: Segmentation fault
net/ax25/ax25_out.c:386:1: internal compiler error: Segmentation fault
net/ax25/ax25_std_in.c:443:1: internal compiler error: Segmentation fault
net/ax25/ax25_std_timer.c:175:1: internal compiler error: Segmentation fault
net/ax25/ax25_subr.c:288:1: internal compiler error: Segmentation fault
net/ax25/ax25_timer.c:222:1: internal compiler error: Segmentation fault
net/bridge/br_if.c:787:1: internal compiler error: Segmentation fault
net/bridge/br_switchdev.c:756:1: internal compiler error: Segmentation fault
net/caif/cfcnfg.c:612:1: internal compiler error: Segmentation fault
net/caif/cfctrl.c:634:1: internal compiler error: Segmentation fault
net/caif/cfdbgl.c:55:1: internal compiler error: Segmentation fault
net/caif/cfdgml.c:113:1: internal compiler error: Segmentation fault
net/caif/cffrml.c:197:1: internal compiler error: Segmentation fault
net/caif/cfmuxl.c:267:1: internal compiler error: Segmentation fault
net/caif/cfpkt_skbuff.c:382:1: internal compiler error: Segmentation fault
net/caif/cfrfml.c:299:1: internal compiler error: Segmentation fault
net/caif/cfserl.c:192:1: internal compiler error: Segmentation fault
net/caif/cfsrvl.c:220:1: internal compiler error: Segmentation fault
net/caif/cfutill.c:104:1: internal compiler error: Segmentation fault
net/caif/cfveil.c:101:1: internal compiler error: Segmentation fault
net/caif/cfvidl.c:65:1: internal compiler error: Segmentation fault
net/can/j1939/transport.c:2195:1: internal compiler error: Segmentation fault
net/ceph/armor.c:106:1: internal compiler error: Segmentation fault
net/ceph/auth.c:659:1: internal compiler error: Segmentation fault
net/ceph/auth_none.c:146:1: internal compiler error: Segmentation fault
net/ceph/auth_x.c:1122:1: internal compiler error: Segmentation fault
net/ceph/buffer.c:59:1: internal compiler error: Segmentation fault
net/ceph/cls_lock_client.c:431:1: internal compiler error: Segmentation fault
net/ceph/crush/crush.c:142:1: internal compiler error: Segmentation fault
net/ceph/crush/mapper.c:1099:1: internal compiler error: Segmentation fault
net/ceph/decode.c:193:1: internal compiler error: Segmentation fault
net/ceph/messenger_v1.c:1548:1: internal compiler error: Segmentation fault
net/ceph/messenger_v2.c:3581:1: internal compiler error: Segmentation fault
net/ceph/mon_client.c:1586:1: internal compiler error: Segmentation fault
net/ceph/msgpool.c:94:1: internal compiler error: Segmentation fault
net/ceph/osdmap.c:3090:1: internal compiler error: Segmentation fault
net/ceph/pagelist.c:171:1: internal compiler error: Segmentation fault
net/ceph/pagevec.c:166:1: internal compiler error: Segmentation fault
net/ceph/snapshot.c:63:1: internal compiler error: Segmentation fault
net/ceph/string_table.c:106:1: internal compiler error: Segmentation fault
net/ceph/striper.c:278:1: internal compiler error: Segmentation fault
net/core/datagram.c:838:1: internal compiler error: Segmentation fault
net/core/dev_addr_lists.c:1048:1: internal compiler error: Segmentation fault
net/core/dst.c:355:1: internal compiler error: Segmentation fault
net/core/dst_cache.c:183:1: internal compiler error: Segmentation fault
net/core/flow_offload.c:597:1: internal compiler error: Segmentation fault
net/core/gen_estimator.c:278:1: internal compiler error: Segmentation fault
net/core/gen_stats.c:485:1: internal compiler error: Segmentation fault
net/core/gro.c:770:1: internal compiler error: Segmentation fault
net/core/gro_cells.c:113:1: internal compiler error: Segmentation fault
net/core/link_watch.c:279:1: internal compiler error: Segmentation fault
net/core/lwtunnel.c:424:1: internal compiler error: Segmentation fault
net/core/net-traces.c:63:1: internal compiler error: Segmentation fault
net/core/of_net.c:170:1: internal compiler error: Segmentation fault
net/core/scm.c:367:1: internal compiler error: Segmentation fault
net/core/secure_seq.c:192:1: internal compiler error: Segmentation fault
net/core/sock.c:3928:1: internal compiler error: Segmentation fault
net/core/sock_reuseport.c:649:1: internal compiler error: Segmentation fault
net/core/stream.c:212:1: internal compiler error: Segmentation fault
net/core/timestamping.c:71:1: internal compiler error: Segmentation fault
net/core/tso.c:97:1: internal compiler error: Segmentation fault
net/core/utils.c:486:1: internal compiler error: Segmentation fault
net/dccp/ccids/ccid2.c:792:1: internal compiler error: Segmentation fault
net/dccp/input.c:739:1: internal compiler error: Segmentation fault
net/dccp/output.c:709:1: internal compiler error: Segmentation fault
net/dccp/qpolicy.c:136:1: internal compiler error: Segmentation fault
net/devres.c:95:1: internal compiler error: Segmentation fault
net/dns_resolver/dns_query.c:172:1: internal compiler error: Segmentation fault
net/ethtool/bitset.c:831:1: internal compiler error: Segmentation fault
net/ethtool/cabletest.c:433:1: internal compiler error: Segmentation fault
net/ethtool/channels.c:224:1: internal compiler error: Segmentation fault
net/ethtool/coalesce.c:341:1: internal compiler error: Segmentation fault
net/ethtool/common.c:596:1: internal compiler error: Segmentation fault
net/ethtool/eeprom.c:240:1: internal compiler error: Segmentation fault
net/ethtool/features.c:288:1: internal compiler error: Segmentation fault
net/ethtool/fec.c:310:1: internal compiler error: Segmentation fault
net/ethtool/ioctl.c:3351:1: internal compiler error: Segmentation fault
net/ethtool/linkinfo.c:154:1: internal compiler error: Segmentation fault
net/ethtool/linkmodes.c:363:1: internal compiler error: Segmentation fault
net/ethtool/linkstate.c:182:1: internal compiler error: Segmentation fault
net/ethtool/module.c:180:1: internal compiler error: Segmentation fault
net/ethtool/pause.c:186:1: internal compiler error: Segmentation fault
net/ethtool/privflags.c:201:1: internal compiler error: Segmentation fault
net/ethtool/rings.c:201:1: internal compiler error: Segmentation fault
net/ethtool/stats.c:412:1: internal compiler error: Segmentation fault
net/ethtool/strset.c:480:1: internal compiler error: Segmentation fault
net/ethtool/tunnels.c:298:1: internal compiler error: Segmentation fault
net/ethtool/wol.c:170:1: internal compiler error: Segmentation fault
net/ieee802154/6lowpan/rx.c:323:1: internal compiler error: Segmentation fault
net/ieee802154/6lowpan/tx.c:309:1: internal compiler error: Segmentation fault
net/ieee802154/header_ops.c:318:1: internal compiler error: Segmentation fault
net/ipv4/datagram.c:128:1: internal compiler error: Segmentation fault
net/ipv4/fib_semantics.c:2276:1: internal compiler error: Segmentation fault
net/ipv4/inet_connection_sock.c:1296:1: internal compiler error: Segmentation fault
net/ipv4/inet_timewait_sock.c:302:1: internal compiler error: Segmentation fault
net/ipv4/ip_forward.c:175:1: internal compiler error: Segmentation fault
net/ipv4/ip_input.c:645:1: internal compiler error: Segmentation fault
net/ipv4/ip_options.c:654:1: internal compiler error: Segmentation fault
net/ipv4/ip_sockglue.c:1794:1: internal compiler error: Segmentation fault
net/ipv4/ip_tunnel.c:1280:1: internal compiler error: Segmentation fault
net/ipv4/ipmr_base.c:437:1: internal compiler error: Segmentation fault
net/ipv4/metrics.c:92:1: internal compiler error: Segmentation fault
net/ipv4/netlink.c:33:1: internal compiler error: Segmentation fault
net/ipv4/protocol.c:70:1: internal compiler error: Segmentation fault
net/ipv4/syncookies.c:449:1: internal compiler error: Segmentation fault
net/ipv4/tcp_fastopen.c:591:1: internal compiler error: Segmentation fault
net/ipv4/tcp_input.c:5012:2: warning: Value stored to 'reason' is never read [clang-analyzer-deadcode.DeadStores]
net/ipv4/tcp_input.c:6967:1: internal compiler error: Segmentation fault
net/ipv4/tcp_minisocks.c:853:1: internal compiler error: Segmentation fault
net/ipv4/tcp_rate.c:204:1: internal compiler error: Segmentation fault
net/ipv4/tcp_recovery.c:240:1: internal compiler error: Segmentation fault
net/ipv4/tcp_timer.c:798:1: internal compiler error: Segmentation fault
net/ipv4/tcp_ulp.c:161:1: internal compiler error: Segmentation fault
net/ipv4/udp_tunnel_core.c:205:1: internal compiler error: Segmentation fault
net/ipv4/xfrm4_input.c:172:1: internal compiler error: Segmentation fault
net/ipv6/addrconf_core.c:273:1: internal compiler error: Segmentation fault
net/ipv6/datagram.c:1066:1: internal compiler error: Segmentation fault
net/ipv6/exthdrs_core.c:280:1: internal compiler error: Segmentation fault
net/ipv6/inet6_connection_sock.c:154:1: internal compiler error: Segmentation fault
net/ipv6/inet6_hashtables.c:344:1: internal compiler error: Segmentation fault
net/ipv6/ip6_checksum.c:137:1: internal compiler error: Segmentation fault
net/ipv6/ip6_input.c:573:1: internal compiler error: Segmentation fault
net/ipv6/ip6_output.c:2004:1: internal compiler error: Segmentation fault
net/ipv6/ip6_udp_tunnel.c:114:1: internal compiler error: Segmentation fault
net/ipv6/ipv6_sockglue.c:1509:1: internal compiler error: Segmentation fault
net/ipv6/mcast_snoop.c:190:1: internal compiler error: Segmentation fault
net/ipv6/output_core.c:165:1: internal compiler error: Segmentation fault
net/ipv6/protocol.c:70:1: internal compiler error: Segmentation fault
net/ipv6/rpl.c:124:1: internal compiler error: Segmentation fault
net/ipv6/syncookies.c:264:1: internal compiler error: Segmentation fault
net/ipv6/udp_offload.c:206:1: internal compiler error: Segmentation fault
net/ipv6/xfrm6_input.c:255:1: internal compiler error: Segmentation fault
net/ipv6/xfrm6_output.c:96:1: internal compiler error: Segmentation fault
net/l3mdev/l3mdev.c:310:1: internal compiler error: Segmentation fault
net/llc/llc_input.c:227:1: internal compiler error: Segmentation fault
net/llc/llc_output.c:74:1: internal compiler error: Segmentation fault
net/mac80211/aead_api.c:113:1: internal compiler error: Segmentation fault
net/mac80211/aes_cmac.c:92:1: internal compiler error: Segmentation fault
net/mac80211/aes_gmac.c:92:1: internal compiler error: Segmentation fault
net/mac80211/agg-rx.c:550:1: internal compiler error: Segmentation fault
net/mac80211/agg-tx.c:1042:1: internal compiler error: Segmentation fault
net/mac80211/airtime.c:711:1: internal compiler error: Segmentation fault
net/mac80211/chan.c:1904:1: internal compiler error: Segmentation fault
net/mac80211/debugfs.c:720:1: internal compiler error: Segmentation fault
net/mac80211/debugfs_key.c:472:1: internal compiler error: Segmentation fault
net/mac80211/debugfs_netdev.c:868:1: internal compiler error: Segmentation fault
net/mac80211/debugfs_sta.c:1078:1: internal compiler error: Segmentation fault
net/mac80211/driver-ops.c:346:1: internal compiler error: Segmentation fault
net/mac80211/ethtool.c:246:1: internal compiler error: Segmentation fault
net/mac80211/fils_aead.c:333:1: internal compiler error: Segmentation fault
net/mac80211/he.c:237:1: internal compiler error: Segmentation fault
net/mac80211/ht.c:569:1: internal compiler error: Segmentation fault
net/mac80211/iface.c:2289:1: internal compiler error: Segmentation fault
net/mac80211/key.c:1358:1: internal compiler error: Segmentation fault
net/mac80211/michael.c:83:1: internal compiler error: Segmentation fault
net/mac80211/ocb.c:245:1: internal compiler error: Segmentation fault
net/mac80211/offchannel.c:992:1: internal compiler error: Segmentation fault
net/mac80211/pm.c:201:1: internal compiler error: Segmentation fault
net/mac80211/rate.c:1010:1: internal compiler error: Segmentation fault
net/mac80211/rx.c:5023:1: internal compiler error: Segmentation fault
net/mac80211/s1g.c:198:1: internal compiler error: Segmentation fault
net/mac80211/scan.c:1448:1: internal compiler error: Segmentation fault
net/mac80211/spectmgmt.c:249:1: internal compiler error: Segmentation fault
net/mac80211/sta_info.c:2605:1: internal compiler error: Segmentation fault
net/mac80211/status.c:1286:1: internal compiler error: Segmentation fault
net/mac80211/tdls.c:2008:1: internal compiler error: Segmentation fault
net/mac80211/tkip.c:323:1: internal compiler error: Segmentation fault
net/mac80211/trace.c:13: internal compiler error: Segmentation fault
net/mac80211/tx.c:5811:1: internal compiler error: Segmentation fault
net/mac80211/util.c:4635:1: internal compiler error: Segmentation fault
net/mac80211/vht.c:697:1: internal compiler error: Segmentation fault
net/mac80211/wep.c:306:1: internal compiler error: Segmentation fault
net/mac80211/wme.c:290:1: internal compiler error: Segmentation fault
net/mac80211/wpa.c:1272:1: internal compiler error: Segmentation fault
net/ncsi/ncsi-aen.c:245:1: internal compiler error: Segmentation fault
net/ncsi/ncsi-cmd.c:406:1: internal compiler error: Segmentation fault
net/ncsi/ncsi-rsp.c:1259:1: internal compiler error: Segmentation fault
net/netlabel/netlabel_addrlist.c:367:1: internal compiler error: Segmentation fault
net/netrom/nr_dev.c:178:1: internal compiler error: Segmentation fault
net/netrom/nr_in.c:301:1: internal compiler error: Segmentation fault
net/netrom/nr_out.c:270:1: internal compiler error: Segmentation fault
net/netrom/nr_route.c:983:1: internal compiler error: Segmentation fault
net/netrom/nr_subr.c:278:1: internal compiler error: Segmentation fault
net/netrom/nr_timer.c:247:1: internal compiler error: Segmentation fault
net/nfc/hci/command.c:344:1: internal compiler error: Segmentation fault
net/nfc/hci/hcp.c:138:1: internal compiler error: Segmentation fault
net/nfc/hci/llc_nop.c:86:1: internal compiler error: Segmentation fault
net/nfc/hci/llc_shdlc.c:818:1: internal compiler error: Segmentation fault
net/openvswitch/actions.c:1623:1: internal compiler error: Segmentation fault
net/openvswitch/dp_notify.c:86:1: internal compiler error: Segmentation fault
net/openvswitch/flow.c:974:1: internal compiler error: Segmentation fault
net/openvswitch/flow_netlink.c:3667:1: internal compiler error: Segmentation fault
net/openvswitch/flow_table.c:1222:1: internal compiler error: Segmentation fault
net/openvswitch/meter.c:765:1: internal compiler error: Segmentation fault
net/openvswitch/openvswitch_trace.c:9: internal compiler error: Segmentation fault
net/openvswitch/vport-internal_dev.c:254:1: internal compiler error: Segmentation fault
net/openvswitch/vport.c:516:1: internal compiler error: Segmentation fault
net/rds/af_rds.c:963:1: internal compiler error: Segmentation fault
net/rds/bind.c:283:1: internal compiler error: Segmentation fault
net/rds/cong.c:428:1: internal compiler error: Segmentation fault
net/rds/connection.c:948:1: internal compiler error: Segmentation fault
net/rds/info.c:242:1: internal compiler error: Segmentation fault
net/rds/message.c:522:1: internal compiler error: Segmentation fault
net/rds/page.c:167:1: internal compiler error: Segmentation fault
net/rds/rdma.c:958:1: internal compiler error: Segmentation fault
net/rds/recv.c:830:1: internal compiler error: Segmentation fault
net/rds/send.c:1515:1: internal compiler error: Segmentation fault
net/rds/threads.c:311:1: internal compiler error: Segmentation fault
net/rds/transport.c:169:1: internal compiler error: Segmentation fault
net/rxrpc/call_accept.c:491:1: internal compiler error: Segmentation fault
net/rxrpc/call_event.c:446:1: internal compiler error: Segmentation fault
net/rxrpc/call_object.c:703:1: internal compiler error: Segmentation fault
net/rxrpc/conn_client.c:1121:1: internal compiler error: Segmentation fault
net/rxrpc/conn_event.c:499:1: internal compiler error: Segmentation fault
net/rxrpc/conn_object.c:486:1: internal compiler error: Segmentation fault
net/rxrpc/conn_service.c:203:1: internal compiler error: Segmentation fault
net/rxrpc/input.c:1468:1: internal compiler error: Segmentation fault
net/rxrpc/insecure.c:102:1: internal compiler error: Segmentation fault
net/rxrpc/key.c:695:1: internal compiler error: Segmentation fault
net/rxrpc/local_event.c:115:1: internal compiler error: Segmentation fault
net/rxrpc/local_object.c:467:1: internal compiler error: Segmentation fault
net/rxrpc/output.c:675:1: internal compiler error: Segmentation fault
net/rxrpc/peer_event.c:417:1: internal compiler error: Segmentation fault
net/rxrpc/peer_object.c:526:1: internal compiler error: Segmentation fault
net/rxrpc/recvmsg.c:818:1: internal compiler error: Segmentation fault
net/rxrpc/rtt.c:195:1: internal compiler error: Segmentation fault
net/rxrpc/sendmsg.c:860:1: internal compiler error: Segmentation fault
net/rxrpc/server_key.c:143:1: internal compiler error: Segmentation fault
net/rxrpc/skbuff.c:96:1: internal compiler error: Segmentation fault
net/rxrpc/utils.c:44:1: internal compiler error: Segmentation fault
net/sched/sch_fifo.c:271:1: internal compiler error: Segmentation fault
net/sched/sch_frag.c:152:1: internal compiler error: Segmentation fault
net/sched/sch_generic.c:1607:1: internal compiler error: Segmentation fault
net/sctp/associola.c:1731:1: internal compiler error: Segmentation fault
net/sctp/auth.c:1079:1: internal compiler error: Segmentation fault
net/sctp/bind_addr.c:569:1: internal compiler error: Segmentation fault
net/sctp/chunk.c:353:1: internal compiler error: Segmentation fault
net/sctp/endpointola.c:417:1: internal compiler error: Segmentation fault
net/sctp/input.c:1347:1: internal compiler error: Segmentation fault
net/sctp/inqueue.c:237:1: internal compiler error: Segmentation fault
net/sctp/ipv6.c:1217:1: internal compiler error: Segmentation fault
net/sctp/output.c:864:1: internal compiler error: Segmentation fault
net/sctp/outqueue.c:1915:1: internal compiler error: Segmentation fault
net/sctp/sm_make_chunk.c:3937:1: internal compiler error: Segmentation fault
net/sctp/sm_sideeffect.c:1818:1: internal compiler error: Segmentation fault
net/sctp/sm_statefuns.c:6677:1: internal compiler error: Segmentation fault
net/sctp/socket.c:9707:1: internal compiler error: Segmentation fault
net/sctp/stream.c:1089:1: internal compiler error: Segmentation fault
net/sctp/stream_interleave.c:1360:1: internal compiler error: Segmentation fault
net/sctp/stream_sched.c:273:1: internal compiler error: Segmentation fault
net/sctp/stream_sched_prio.c:337:1: internal compiler error: Segmentation fault
net/sctp/stream_sched_rr.c:191:1: internal compiler error: Segmentation fault
net/sctp/transport.c:853:1: internal compiler error: Segmentation fault
net/sctp/tsnmap.c:364:1: internal compiler error: Segmentation fault
net/sctp/ulpevent.c:1190:1: internal compiler error: Segmentation fault
net/sctp/ulpqueue.c:1136:1: internal compiler error: Segmentation fault
net/switchdev/switchdev.c:754:1: internal compiler error: Segmentation fault
net/tls/tls_device_fallback.c:480:1: internal compiler error: Segmentation fault
net/tls/tls_sw.c:2599:1: internal compiler error: Segmentation fault
net/tls/trace.c:9: internal compiler error: Segmentation fault
net/unix/scm.c:154:1: internal compiler error: Segmentation fault
net/vmw_vsock/af_vsock_tap.c:110:1: internal compiler error: Segmentation fault
net/vmw_vsock/virtio_transport_common.c:1352:1: internal compiler error: Segmentation fault
net/vmw_vsock/vsock_addr.c:69:1: internal compiler error: Segmentation fault
net/wireless/ap.c:60:1: internal compiler error: Segmentation fault
net/wireless/chan.c:1390:1: internal compiler error: Segmentation fault
net/wireless/debugfs.c:110:1: internal compiler error: Segmentation fault
net/wireless/ethtool.c:29:1: internal compiler error: Segmentation fault
net/wireless/ibss.c:542:1: internal compiler error: Segmentation fault
net/wireless/mesh.c:297:1: internal compiler error: Segmentation fault
net/wireless/mlme.c:1115:1: internal compiler error: Segmentation fault
net/wireless/ocb.c:88:1: internal compiler error: Segmentation fault
net/wireless/of.c:138:1: internal compiler error: Segmentation fault
net/wireless/pmsr.c:663:1: internal compiler error: Segmentation fault
net/wireless/radiotap.c:370:1: internal compiler error: Segmentation fault
net/wireless/scan.c:3223:1: internal compiler error: Segmentation fault
net/wireless/sme.c:1352:1: internal compiler error: Segmentation fault
net/wireless/sysfs.c:176:1: internal compiler error: Segmentation fault
net/wireless/trace.c:6: internal compiler error: Segmentation fault
net/wireless/util.c:2286:1: internal compiler error: Segmentation fault
net/wireless/wext-compat.c:1635:1: internal compiler error: Segmentation fault
net/wireless/wext-sme.c:397:1: internal compiler error: Segmentation fault
net/xdp/xdp_umem.c:260:1: internal compiler error: Segmentation fault
net/xdp/xsk_buff_pool.c:656:1: internal compiler error: Segmentation fault
net/xdp/xsk_queue.c:57:1: internal compiler error: Segmentation fault
net/xdp/xskmap.c:272:1: internal compiler error: Segmentation fault
net/xfrm/xfrm_algo.c:866:1: internal compiler error: Segmentation fault
net/xfrm/xfrm_hash.c:40:1: internal compiler error: Segmentation fault
net/xfrm/xfrm_ipcomp.c:373:1: internal compiler error: Segmentation fault
net/xfrm/xfrm_output.c:909:1: internal compiler error: Segmentation fault
net/xfrm/xfrm_replay.c:791:1: internal compiler error: Segmentation fault
page_alloc.c:(.init.text+0x1f18): undefined reference to `node_data'
pahole: .tmp_vmlinux.btf: No such file or directory
security/apparmor/audit.c:247:1: internal compiler error: Segmentation fault
security/apparmor/capability.c:158:1: internal compiler error: Segmentation fault
security/apparmor/domain.c:1460:1: internal compiler error: Segmentation fault
security/apparmor/file.c:711:1: internal compiler error: Segmentation fault
security/apparmor/ipc.c:218:1: internal compiler error: Segmentation fault
security/apparmor/label.c:2160:1: internal compiler error: Segmentation fault
security/apparmor/lib.c:525:1: internal compiler error: Segmentation fault
security/apparmor/match.c:792:1: internal compiler error: Segmentation fault
security/apparmor/mount.c:739:1: internal compiler error: Segmentation fault
security/apparmor/net.c:255:1: internal compiler error: Segmentation fault
security/apparmor/policy.c:1203:1: internal compiler error: Segmentation fault
security/apparmor/policy_unpack.c:1238: internal compiler error: Segmentation fault
security/apparmor/procattr.c:136:1: internal compiler error: Segmentation fault
security/apparmor/resource.c:187:1: internal compiler error: Segmentation fault
security/apparmor/secid.c:161:1: internal compiler error: Segmentation fault
security/apparmor/task.c:179:1: internal compiler error: Segmentation fault
security/integrity/digsig_asymmetric.c:157:1: internal compiler error: Segmentation fault
security/keys/request_key.c:805:1: internal compiler error: Segmentation fault
security/smack/smack_access.c:699:1: internal compiler error: Segmentation fault
sound/core/control.c:2307:1: internal compiler error: Segmentation fault
sound/core/ctljack.c:84:1: internal compiler error: Segmentation fault
sound/core/device.c:260:1: internal compiler error: Segmentation fault
sound/core/init.c:1141:1: internal compiler error: Segmentation fault
sound/core/jack.c:680:1: internal compiler error: Segmentation fault
sound/core/memalloc.c:750:1: internal compiler error: Segmentation fault
sound/core/pcm_dmaengine.c:461:1: internal compiler error: Segmentation fault
sound/core/pcm_lib.c:2529:1: internal compiler error: Segmentation fault
sound/core/pcm_memory.c:527:1: internal compiler error: Segmentation fault
sound/core/pcm_misc.c:616:1: internal compiler error: Segmentation fault
sound/core/pcm_native.c:4082:1: internal compiler error: Segmentation fault
sound/core/seq/seq_fifo.c:283:1: internal compiler error: Segmentation fault
sound/core/seq/seq_lock.c:26:1: internal compiler error: Segmentation fault
sound/core/seq/seq_memory.c:504:1: internal compiler error: Segmentation fault
sound/core/seq/seq_midi_event.c:459:1: internal compiler error: Segmentation fault
sound/core/seq/seq_ports.c:711:1: internal compiler error: Segmentation fault
sound/core/seq/seq_prioq.c:434:1: internal compiler error: Segmentation fault
sound/core/seq/seq_queue.c:726:1: internal compiler error: Segmentation fault
sound/core/seq/seq_timer.c:471:1: internal compiler error: Segmentation fault
sound/core/sound_oss.c:186:1: internal compiler error: Segmentation fault
sound/soc/bcm/bcm63xx-pcm-whistler.c:414:1: internal compiler error: Segmentation fault
sound/soc/codecs/rl6231.c:253:1: internal compiler error: Segmentation fault
sound/soc/codecs/rt5682.c:3153:1: internal compiler error: Segmentation fault
sound/soc/codecs/rt700.c:1244:1: internal compiler error: Segmentation fault
sound/soc/codecs/rt711-sdca.c:1591:1: internal compiler error: Segmentation fault
sound/soc/codecs/rt711.c:1343:1: internal compiler error: Segmentation fault
sound/soc/codecs/rt715-sdca.c:1078:1: internal compiler error: Segmentation fault
sound/soc/codecs/rt715.c:1098:1: internal compiler error: Segmentation fault
sound/soc/codecs/wcd-clsh-v2.c:903:1: internal compiler error: Segmentation fault
sound/soc/fsl/fsl_ssi_dbg.c:140:1: internal compiler error: Segmentation fault
sound/soc/generic/simple-card-utils.c:766:1: internal compiler error: Segmentation fault
sound/soc/soc-card.c:225:1: internal compiler error: Segmentation fault
sound/soc/soc-component.c:1244:1: internal compiler error: Segmentation fault
sound/soc/soc-dai.c:840:1: internal compiler error: Segmentation fault
sound/soc/soc-dapm.c:4862:1: internal compiler error: Segmentation fault
sound/soc/soc-generic-dmaengine-pcm.c:497:1: internal compiler error: Segmentation fault
sound/soc/soc-jack.c:452:1: internal compiler error: Segmentation fault
sound/soc/soc-ops.c:984:1: internal compiler error: Segmentation fault
sound/soc/soc-pcm.c:3031:1: internal compiler error: Segmentation fault
vpu_malone.c:(.text+0x205c): undefined reference to `__moddi3'
vpu_windsor.c:(.text+0x49c): undefined reference to `__moddi3'
{standard input}: Error: .size expression for xpcs_validate does not evaluate to a constant
{standard input}:1989: Error: unknown pseudo-op: `.sec'

Error/Warning ids grouped by kconfigs:

gcc_recent_errors
|-- alpha-allmodconfig
|   |-- arch-alpha-include-asm-string.h:warning:__builtin_memcpy-forming-offset-is-out-of-the-bounds-of-object-tag_buf-with-type-unsigned-char
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-iio-frequency-admv1014.c:sparse:sparse:dubious:x-y
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- alpha-allyesconfig
|   |-- arch-alpha-include-asm-string.h:warning:__builtin_memcpy-forming-offset-is-out-of-the-bounds-of-object-tag_buf-with-type-unsigned-char
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-iio-frequency-admv1014.c:sparse:sparse:dubious:x-y
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- alpha-randconfig-p001-20220318
|   |-- arch-alpha-include-asm-string.h:warning:__builtin_memcpy-forming-offset-is-out-of-the-bounds-of-object-tag_buf-with-type-unsigned-char
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- alpha-randconfig-r022-20220317
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- alpha-randconfig-r032-20220318
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- alpha-randconfig-r036-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arc-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arc-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arc-defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arc-randconfig-r005-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- arc-randconfig-r014-20220318
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arc-randconfig-r015-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- arc-randconfig-r043-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arc-randconfig-r043-20220318
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|   `-- pahole:.tmp_vmlinux.btf:No-such-file-or-directory
|-- arm-allmodconfig
|   |-- drivers-bus-imx-weim.c:sparse:sparse:symbol-weim_of_notifier-was-not-declared.-Should-it-be-static
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:left-side-has-type-unsigned-int
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:right-side-has-type-restricted-__be32
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-linkFailureCnt-got-restricted-__be32-usertype
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:invalid-assignment:
|   |-- drivers-soc-rockchip-dtpm.c:sparse:sparse:obsolete-array-initializer-use-C99-syntax
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h:No-such-file-or-directory
|-- arm-allyesconfig
|   |-- drivers-bus-imx-weim.c:sparse:sparse:symbol-weim_of_notifier-was-not-declared.-Should-it-be-static
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:left-side-has-type-unsigned-int
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:right-side-has-type-restricted-__be32
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-linkFailureCnt-got-restricted-__be32-usertype
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:invalid-assignment:
|   |-- drivers-soc-rockchip-dtpm.c:sparse:sparse:obsolete-array-initializer-use-C99-syntax
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h:No-such-file-or-directory
|-- arm-defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arm-randconfig-c002-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h:No-such-file-or-directory
|-- arm-randconfig-c002-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arm-randconfig-r006-20220317
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h:No-such-file-or-directory
|-- arm-randconfig-r012-20220318
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h:No-such-file-or-directory
|-- arm64-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arm64-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arm64-defconfig
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arm64-randconfig-c023-20220318
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- arm64-randconfig-r011-20220317
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- csky-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- csky-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- csky-defconfig
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- csky-randconfig-r026-20220318
|   |-- drivers-media-platform-samsung-exynos4-is-fimc-isp-video.h:warning:no-previous-prototype-for-fimc_isp_video_device_unregister
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- h8300-allmodconfig
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-media-platform-st-stm32-dma2d-dma2d-hw.c:internal-compiler-error:in-extract_insn-at-recog.c
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-cacheflush.h:warning:struct-folio-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- h8300-allyesconfig
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-media-platform-st-stm32-dma2d-dma2d-hw.c:internal-compiler-error:in-extract_insn-at-recog.c
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-cacheflush.h:warning:struct-folio-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- h8300-randconfig-c024-20220317
|   `-- drivers-media-platform-st-stm32-dma2d-dma2d-hw.c:internal-compiler-error:in-extract_insn-at-recog.c
|-- i386-allnoconfig
|   `-- Documentation-driver-api-nvdimm-nvdimm.rst:(SEVERE-)-Title-level-inconsistent:
|-- i386-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-debian-10.3
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-debian-10.3-kselftests
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-defconfig
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-randconfig-a001
|   `-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|-- i386-randconfig-a003
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- i386-randconfig-a005
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- i386-randconfig-a012
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-randconfig-a014
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- i386-randconfig-a016
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- i386-randconfig-c001
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-randconfig-c021
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- i386-randconfig-m021
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- i386-randconfig-s001
|   |-- drivers-gpu-drm-gma500-intel_bios.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-const-p-got-unsigned-char-noderef-usertype-__iomem
|   |-- drivers-gpu-drm-gma500-opregion.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-const-p-got-void-noderef-__iomem-assigned-base
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- i386-randconfig-s002
|   |-- drivers-gpu-drm-gma500-intel_bios.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-const-p-got-unsigned-char-noderef-usertype-__iomem
|   |-- drivers-gpu-drm-gma500-opregion.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-const-p-got-void-noderef-__iomem-assigned-base
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- ia64-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- ia64-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   `-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_migrate_context
|-- ia64-defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- ia64-randconfig-r034-20220317
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- m68k-allmodconfig
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-allyesconfig
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-bvme6000_defconfig
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-defconfig
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-randconfig-c004-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-randconfig-r003-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-randconfig-r013-20220318
|   |-- arch-m68k-kernel-machine_kexec.c:undefined-reference-to-m68k_mmutype
|   `-- m68k-linux-ld:arch-m68k-kernel-machine_kexec.c:undefined-reference-to-m68k_cputype
|-- m68k-randconfig-r026-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- m68k-randconfig-r035-20220317
|   |-- arch-m68k-kernel-machine_kexec.c:undefined-reference-to-m68k_mmutype
|   |-- arch-m68k-kernel-time.c:undefined-reference-to-mach_get_rtc_pll
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- m68k-linux-ld:arch-m68k-kernel-machine_kexec.c:undefined-reference-to-m68k_cputype
|   `-- m68k-linux-ld:arch-m68k-kernel-time.c:undefined-reference-to-mach_set_rtc_pll
|-- m68k-randconfig-s032-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- mips-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- mips-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- mips-randconfig-c003-20220318
|   `-- include-linux-fortify-string.h:warning:__builtin_memcpy-offset-is-out-of-the-bounds
|-- mips-randconfig-c023-20220317
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- mips-randconfig-s032-20220317
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- include-linux-fortify-string.h:warning:__builtin_memcpy-offset-is-out-of-the-bounds
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|   |-- mips64-linux-ld:page_alloc.c:(.init.text):undefined-reference-to-node_data
|   `-- page_alloc.c:(.init.text):undefined-reference-to-node_data
|-- nds32-allmodconfig
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   |-- arch-Kconfig:can-t-open-file-arch-nds32-Kconfig
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nds32-allnoconfig
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   |-- arch-Kconfig:can-t-open-file-arch-nds32-Kconfig
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nds32-allyesconfig
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   |-- arch-Kconfig:can-t-open-file-arch-nds32-Kconfig
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nds32-buildonly-randconfig-r001-20220317
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   |-- arch-Kconfig:can-t-open-file-arch-nds32-Kconfig
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nds32-defconfig
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nds32-randconfig-c003-20220317
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   |-- arch-Kconfig:can-t-open-file-arch-nds32-Kconfig
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nds32-randconfig-r001-20220318
|   |-- Makefile:arch-nds32-Makefile:No-such-file-or-directory
|   |-- arch-Kconfig:can-t-open-file-arch-nds32-Kconfig
|   `-- make:No-rule-to-make-target-arch-nds32-Makefile-.
|-- nios2-allmodconfig
|   |-- arch-nios2-kernel-misaligned.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-unsigned-char-usertype-__pu_ptr
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- nios2-allyesconfig
|   |-- arch-nios2-kernel-misaligned.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-unsigned-char-usertype-__pu_ptr
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- nios2-buildonly-randconfig-r002-20220317
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- nios2-defconfig
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- nios2-randconfig-r001-20220317
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- nios2-randconfig-r031-20220319
|   |-- ERROR:__v4l2_async_nf_add_fwnode_remote-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_async_nf_cleanup-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_async_nf_unregister-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_async_register_subdev-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_async_subdev_nf_register-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_async_unregister_subdev-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_get_link_freq-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_subdev_call_wrappers-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   |-- ERROR:v4l2_subdev_get_fwnode_pad_1_to_1-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|   `-- ERROR:v4l2_subdev_link_validate-drivers-media-platform-nxp-imx-mipi-csis.ko-undefined
|-- openrisc-randconfig-m031-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- openrisc-randconfig-m031-20220318
|   |-- FAILED:load-BTF-from-vmlinux:No-such-file-or-directory
|   |-- drivers-mmc-host-litex_mmc.c-litex_mmc_request()-error:we-previously-assumed-data-could-be-null-(see-line-)
|   |-- drivers-power-supply-ip5xxx_power.c-ip5xxx_battery_get_property()-error:uninitialized-symbol-raw-.
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- openrisc-randconfig-p002-20220317
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- openrisc-randconfig-r011-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- parisc-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- parisc-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- parisc-defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- parisc64-defconfig
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- powerpc-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:left-side-has-type-unsigned-int
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:right-side-has-type-restricted-__be32
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-linkFailureCnt-got-restricted-__be32-usertype
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:invalid-assignment:
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- powerpc-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:left-side-has-type-unsigned-int
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:right-side-has-type-restricted-__be32
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-linkFailureCnt-got-restricted-__be32-usertype
|   |-- drivers-scsi-lpfc-lpfc_els.c:sparse:sparse:invalid-assignment:
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- powerpc-buildonly-randconfig-r006-20220317
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- powerpc-holly_defconfig
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- powerpc-randconfig-r024-20220317
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- powerpc-randconfig-r035-20220318
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- powerpc64-buildonly-randconfig-r001-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- powerpc64-randconfig-p001-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- riscv-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- riscv-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- riscv-defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- riscv-nommu_k210_defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- riscv-nommu_virt_defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- riscv-randconfig-c003-20220313
|   |-- arch-riscv-kernel-cacheinfo.c:internal-compiler-error:Segmentation-fault
|   |-- arch-riscv-kernel-crash_dump.c:internal-compiler-error:Segmentation-fault
|   |-- arch-riscv-kernel-patch.c:internal-compiler-error:Segmentation-fault
|   |-- arch-riscv-kernel-signal.c:internal-compiler-error:Segmentation-fault
|   |-- arch-riscv-mm-extable.c:internal-compiler-error:Segmentation-fault
|   |-- arch-riscv-mm-physaddr.c:internal-compiler-error:Segmentation-fault
|   |-- block-blk-mq-rdma.c:internal-compiler-error:Segmentation-fault
|   |-- block-blk-zoned.c:internal-compiler-error:Segmentation-fault
|   |-- block-sed-opal.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-acompress.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-aead.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-ahash.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-akcipher.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-api.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-asymmetric_keys-public_key.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-dh.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-ecc.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-geniv.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-gf128mul.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-kpp.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-rng.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-scompress.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-shash.c:internal-compiler-error:Segmentation-fault
|   |-- crypto-skcipher.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-map.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-power-domain_governor.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-power-sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-power-wakeirq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regcache-flat.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regcache-rbtree.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regcache.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regmap-debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regmap-mmio.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regmap-sdw-mbq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-regmap-regmap-slimbus.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-base-syscore.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_bt_sm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_kcs_sm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_plat_data.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_si_hotmod.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_si_mem_io.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_si_port_io.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-ipmi-ipmi_smic_sm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-char-tpm-eventlog-efi.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-clk-clk-composite.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-clk-clk-fractional-divider.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-comedi-comedi_buf.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-comedi-drivers.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-comedi-range.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_aead.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_buffer_mgr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_cipher.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_fips.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_hash.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_pm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_request_mgr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-crypto-ccree-cc_sram_mgr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-dma-buf-dma-fence-array.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-dma-buf-dma-fence-chain.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-dma-buf-dma-fence.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-dma-buf-dma-heap.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-firmware-efi-vars.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-gpio-gpiolib-of.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-cmedia.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-debug.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-picolcd_debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-picolcd_fb.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-picolcd_leds.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-roccat-common.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-uclogic-params.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-uclogic-rdesc.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-usbhid-hiddev.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-addr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-agent.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-cache.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-cm_trace.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-counters.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-cq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-ib_core_uverbs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-iwpm_msg.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-iwpm_util.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-lag.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-mad_rmpp.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-mr_pool.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-multicast.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-netlink.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-packer.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-rdma_core.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-restrack.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-rw.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-sa_query.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-smi.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-trace.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-ud_header.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-umem.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-umem_dmabuf.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-umem_odp.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_cmd.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_marshall.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_async_fd.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_counters.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_cq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_device.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_dm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_flow_action.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_mr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_qp.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_srq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_std_types_wq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-uverbs_uapi.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-core-verbs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-sw-siw-siw_cm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-sw-siw-siw_cq.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-sw-siw-siw_mem.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-sw-siw-siw_qp.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-sw-siw-siw_qp_tx.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-infiniband-sw-siw-siw_verbs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-matrix-keymap.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-misc-adxl34x.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-misc-cma3000_d.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-rmi4-rmi_2d_sensor.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-rmi4-rmi_f30.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-rmi4-rmi_f54.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-rmi4-rmi_f55.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-touchscreen.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-iommu-of_iommu.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-leds-leds-ti-lmu-common.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-common-videobuf2-frame_vector.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-common-videobuf2-vb2-trace.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-common-videobuf2-videobuf2-dma-contig.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-common-videobuf2-videobuf2-dma-sg.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-common-videobuf2-videobuf2-memops.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-common-videobuf2-videobuf2-vmalloc.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-platform-xilinx-xilinx-dma.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-radio-tea575x.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-cpia2-cpia2_core.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-cpia2-cpia2_usb.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-gspca-autogain_functions.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-gspca-stv06xx-stv06xx_pb0100.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-gspca-stv06xx-stv06xx_st6422.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-pwc-pwc-ctrl.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-pwc-pwc-dec23.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-pwc-pwc-uncompress.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-pwc-pwc-v4l.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-stkwebcam-stk-sensor.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_ctrl.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_entity.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_isight.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_metadata.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_queue.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_status.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_v4l2.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-media-usb-uvc-uvc_video.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mfd-cs47l35-tables.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mfd-madera-core.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mfd-mfd-core.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-misc-eeprom-eeprom_93cx6.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-chips-cfi_cmdset_0020.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-mtdsuper.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-bbt.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-ecc-sw-hamming.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-denali.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_base.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_hynix.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_jedec.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_legacy.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_macronix.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_micron.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_onfi.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_samsung.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_timings.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-mtd-nand-raw-nand_toshiba.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-net-can-dev-length.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-net-can-dev-rx-offload.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-net-can-dev-skb.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-net-phy-mii_timestamper.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-nfc-fdp-fdp.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-nvme-host-zns.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-nvme-target-zns.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-of-kobj.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-parport-daisy.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-parport-ieee1284.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-parport-ieee1284_ops.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-parport-probe.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-pci-of.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-pcmcia-rsrc_mgr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-phy-phy-core-mipi-dphy.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-rtc-sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-iscsi_boot_sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-libiscsi.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-libiscsi_tcp.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-libsas-sas_event.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-libsas-sas_task.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-scsi_lib_dma.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-scsi-ufs-ufs-sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-slimbus-messaging.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-slimbus-stream.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-ssb-driver_chipcommon.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-ssb-scan.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_auth.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_configfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_datain_values.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_device.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_erl0.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_erl1.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_erl2.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_login.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_nego.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_nodeattrib.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_parameters.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_seq_pdu_list.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_stat.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_tmr.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_tpg.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_transport.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-target-iscsi-iscsi_target_util.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-tty-tty_audit.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-cdns3-drd.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-cdns3-host.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-chipidea-host.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-config.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-devices.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-endpoint.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-generic.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-port.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-quirks.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-core-sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-dwc3-drd.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-dwc3-ep0.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-dwc3-gadget.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-composite.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-config.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-epautoconf.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-f_tcm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-storage_common.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-u_uac1_legacy.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-uvc_configfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-uvc_queue.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-uvc_v4l2.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-function-uvc_video.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-functions.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-u_f.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-udc-snps_udc_core.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-udc-trace.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-gadget-usbstring.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-host-xhci-dbg.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-isp1760-isp1760-udc.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-mon-mon_stat.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-musb-musb_gadget.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-musb-musb_gadget_ep0.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-storage-initializers.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-typec-bus.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-typec-tcpm-tcpm.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-usbip-stub_rx.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-usbip-stub_tx.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-usbip-usbip_event.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-vfio-mdev-vfio_mdev.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-video-fbdev-core-fb_defio.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-video-fbdev-core-fbcmap.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-video-fbdev-core-fbsysfs.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-virtio-virtio_ring.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-w1-w1_family.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-w1-w1_netlink.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-watchdog-watchdog_pretimeout.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-addr_list.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-callback.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-cmservice.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-dir_edit.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-dir_silly.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-dynroot.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-flock.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-fs_operation.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-fs_probe.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-mntpt.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-server_list.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-vl_alias.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-vl_list.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-vl_probe.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-vl_rotate.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-vlclient.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-volume.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-write.c:internal-compiler-error:Segmentation-fault
|   |-- fs-afs-xattr.c:internal-compiler-error:Segmentation-fault
|   |-- fs-autofs-expire.c:internal-compiler-error:Segmentation-fault
|   |-- fs-autofs-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-autofs-root.c:internal-compiler-error:Segmentation-fault
|   |-- fs-autofs-symlink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-autofs-waitq.c:internal-compiler-error:Segmentation-fault
|   |-- fs-bad_inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-async-thread.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-block-group.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-block-rsv.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-ctree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-delalloc-space.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-dev-replace.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-dir-item.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-discard.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-export.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-file-item.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-free-space-cache.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-free-space-tree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-inode-item.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-locking.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-lzo.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-orphan.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-print-tree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-qgroup.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-raid56.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-reflink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-root-tree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-struct-funcs.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-subpage.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-transaction.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-tree-defrag.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-tree-log.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-tree-mod-log.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-ulist.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-uuid-tree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-verity.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-xattr.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-zlib.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-zoned.c:internal-compiler-error:Segmentation-fault
|   |-- fs-btrfs-zstd.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-addr.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-caps.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-ceph_frag.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-export.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-io.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-mdsmap.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-metric.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-quota.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-snap.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ceph-xattr.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifs_debug.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifs_dfs_ref.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifs_spnego.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifs_swn.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifs_unicode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifsacl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifsencrypt.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-cifssmb.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-connect.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-dfs_cache.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-fs_context.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-link.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-misc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-netlink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-netmisc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-readdir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-sess.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb1ops.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2maperror.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2misc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2ops.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2pdu.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smb2transport.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-smbencrypt.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-trace.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-transport.c:internal-compiler-error:Segmentation-fault
|   |-- fs-cifs-unc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-cache.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-cnode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-pioctl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-symlink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-coda-upcall.c:internal-compiler-error:Segmentation-fault
|   |-- fs-configfs-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-configfs-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-configfs-symlink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-bio.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-fname.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-hkdf.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-hooks.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-keysetup.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-keysetup_v1.c:internal-compiler-error:Segmentation-fault
|   |-- fs-crypto-policy.c:internal-compiler-error:Segmentation-fault
|   |-- fs-d_path.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-member.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-midcomms.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-plock.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-rcom.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-recover.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-recoverd.c:internal-compiler-error:Segmentation-fault
|   |-- fs-dlm-requestqueue.c:internal-compiler-error:Segmentation-fault
|   |-- fs-efivarfs-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-exportfs-expfs.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ext2-xattr_user.c:internal-compiler-error:Segmentation-fault
|   |-- fs-fhandle.c:internal-compiler-error:Segmentation-fault
|   |-- fs-fs_context.c:internal-compiler-error:Segmentation-fault
|   |-- fs-fs_pin.c:internal-compiler-error:Segmentation-fault
|   |-- fs-fs_struct.c:internal-compiler-error:Segmentation-fault
|   |-- fs-fsopen.c:internal-compiler-error:Segmentation-fault
|   |-- fs-gfs2-lock_dlm.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-kernfs-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-kernfs-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-kernfs-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-kernfs-symlink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-namei.c:internal-compiler-error:Segmentation-fault
|   |-- fs-nls-nls_base.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-attrib.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-attrlist.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-frecord.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-fslog.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-fsntfs.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-index.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-lib-decompress_common.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-lib-lzx_decompress.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-lznt.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-namei.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-record.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-run.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-upcase.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ntfs3-xattr.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-acl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-alloc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-aops.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-blockcheck.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-buffer_head_io.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-cluster-masklog.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-cluster-netdebug.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-cluster-quorum.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-cluster-tcp.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-dcache.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-dlmfs-userdlm.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-dlmglue.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-export.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-extent_map.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-filecheck.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-heartbeat.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-journal.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-localalloc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-locks.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-mmap.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-move_extents.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-namei.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-quota_global.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-refcounttree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-reservations.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-resize.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-slot_map.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-suballoc.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-symlink.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-sysfile.c:internal-compiler-error:Segmentation-fault
|   |-- fs-ocfs2-xattr.c:internal-compiler-error:Segmentation-fault
|   |-- fs-omfs-bitmap.c:internal-compiler-error:Segmentation-fault
|   |-- fs-omfs-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-omfs-file.c:internal-compiler-error:Segmentation-fault
|   |-- fs-open.c:internal-compiler-error:Segmentation-fault
|   |-- fs-overlayfs-dir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-overlayfs-export.c:internal-compiler-error:Segmentation-fault
|   |-- fs-overlayfs-inode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-overlayfs-namei.c:internal-compiler-error:Segmentation-fault
|   |-- fs-overlayfs-readdir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-overlayfs-util.c:internal-compiler-error:Segmentation-fault
|   |-- fs-pnode.c:internal-compiler-error:Segmentation-fault
|   |-- fs-pstore-pmsg.c:internal-compiler-error:Segmentation-fault
|   |-- fs-quota-quota.c:internal-compiler-error:Segmentation-fault
|   |-- fs-quota-quota_tree.c:internal-compiler-error:Segmentation-fault
|   |-- fs-readdir.c:internal-compiler-error:Segmentation-fault
|   |-- fs-select.c:internal-compiler-error:Segmentation-fault
|   |-- fs-smbfs_common-cifs_md4.c:internal-compiler-error:Segmentation-fault
|   |-- fs-splice.c:internal-compiler-error:Segmentation-fault
|   |-- fs-squashfs-decompressor_multi.c:internal-compiler-error:Segmentation-fault
|   |-- fs-squashfs-zstd_wrapper.c:internal-compiler-error:Segmentation-fault
|   |-- fs-stack.c:internal-compiler-error:Segmentation-fault
|   |-- fs-statfs.c:internal-compiler-error:Segmentation-fault
|   |-- fs-sync.c:internal-compiler-error:Segmentation-fault
|   |-- fs-unicode-utf8-core.c:internal-compiler-error:Segmentation-fault
|   |-- fs-utimes.c:internal-compiler-error:Segmentation-fault
|   |-- fs-xattr.c:internal-compiler-error:Segmentation-fault
|   |-- include-linux-module.h:internal-compiler-error:Segmentation-fault
|   |-- ipc-msgutil.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-acct.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-auditsc.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-bpf-offload.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-bpf-reuseport_array.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-cgroup-freezer.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-dma-direct.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-irq-chip.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-printk-printk_ringbuffer.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-printk-printk_safe.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-range.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-rcu-rcu_segcblist.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-rcu-sync.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-sched-cpuacct.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-sched-cputime.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-sched-deadline.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-sched-membarrier.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-sched-rt.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-sys.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-task_work.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-trace-trace_clock.c:internal-compiler-error:Segmentation-fault
|   |-- kernel-umh.c:internal-compiler-error:Segmentation-fault
|   |-- lib-asn1_decoder.c:internal-compiler-error:Segmentation-fault
|   |-- lib-cmdline.c:internal-compiler-error:Segmentation-fault
|   |-- lib-crc-itu-t.c:internal-compiler-error:Segmentation-fault
|   |-- lib-crc16.c:internal-compiler-error:Segmentation-fault
|   |-- lib-crypto-aes.c:internal-compiler-error:Segmentation-fault
|   |-- lib-crypto-blake2s-generic.c:internal-compiler-error:Segmentation-fault
|   |-- lib-crypto-poly1305-donna32.c:internal-compiler-error:Segmentation-fault
|   |-- lib-crypto-poly1305.c:internal-compiler-error:Segmentation-fault
|   |-- lib-dim-dim.c:internal-compiler-error:Segmentation-fault
|   |-- lib-dim-net_dim.c:internal-compiler-error:Segmentation-fault
|   |-- lib-dim-rdma_dim.c:internal-compiler-error:Segmentation-fault
|   |-- lib-dynamic_queue_limits.c:internal-compiler-error:Segmentation-fault
|   |-- lib-earlycpio.c:internal-compiler-error:Segmentation-fault
|   |-- lib-extable.c:internal-compiler-error:Segmentation-fault
|   |-- lib-fdt.c:internal-compiler-error:Segmentation-fault
|   |-- lib-fdt_ro.c:internal-compiler-error:Segmentation-fault
|   |-- lib-fdt_rw.c:internal-compiler-error:Segmentation-fault
|   |-- lib-fdt_sw.c:internal-compiler-error:Segmentation-fault
|   |-- lib-fdt_wip.c:internal-compiler-error:Segmentation-fault
|   |-- lib-flex_proportions.c:internal-compiler-error:Segmentation-fault
|   |-- lib-interval_tree.c:internal-compiler-error:Segmentation-fault
|   |-- lib-iov_iter.c:internal-compiler-error:Segmentation-fault
|   |-- lib-is_single_threaded.c:internal-compiler-error:Segmentation-fault
|   |-- lib-kunit-assert.c:internal-compiler-error:Segmentation-fault
|   |-- lib-linear_ranges.c:internal-compiler-error:Segmentation-fault
|   |-- lib-logic_pio.c:internal-compiler-error:Segmentation-fault
|   |-- lib-lz4-lz4_compress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-lz4-lz4_decompress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-lzo-lzo1x_compress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-lzo-lzo1x_decompress_safe.c:internal-compiler-error:Segmentation-fault
|   |-- lib-math-rational.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-generic_mpih-mul2.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-generic_mpih-mul3.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-mpi-div.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-mpi-mod.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-mpi-mul.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-mpih-div.c:internal-compiler-error:Segmentation-fault
|   |-- lib-mpi-mpih-mul.c:internal-compiler-error:Segmentation-fault
|   |-- lib-net_utils.c:internal-compiler-error:Segmentation-fault
|   |-- lib-nlattr.c:internal-compiler-error:Segmentation-fault
|   |-- lib-oid_registry.c:internal-compiler-error:Segmentation-fault
|   |-- lib-plist.c:internal-compiler-error:Segmentation-fault
|   |-- lib-raid6-int1.c:internal-compiler-error:Segmentation-fault
|   |-- lib-raid6-int2.c:internal-compiler-error:Segmentation-fault
|   |-- lib-raid6-int4.c:internal-compiler-error:Segmentation-fault
|   |-- lib-raid6-int8.c:internal-compiler-error:Segmentation-fault
|   |-- lib-seq_buf.c:internal-compiler-error:Segmentation-fault
|   |-- lib-syscall.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zlib_deflate-deflate.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zlib_deflate-deftree.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zlib_inflate-inffast.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zlib_inflate-inflate.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-common-entropy_common.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-common-fse_decompress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-fse_compress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-hist.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-huf_compress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_compress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_compress_literals.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_compress_sequences.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_compress_superblock.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_double_fast.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_fast.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_lazy.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_ldm.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-compress-zstd_opt.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-decompress-huf_decompress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-decompress-zstd_ddict.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-decompress-zstd_decompress.c:internal-compiler-error:Segmentation-fault
|   |-- lib-zstd-decompress-zstd_decompress_block.c:internal-compiler-error:Segmentation-fault
|   |-- mm-folio-compat.c:internal-compiler-error:Segmentation-fault
|   |-- mm-hmm.c:internal-compiler-error:Segmentation-fault
|   |-- mm-interval_tree.c:internal-compiler-error:Segmentation-fault
|   |-- mm-mmu_notifier.c:internal-compiler-error:Segmentation-fault
|   |-- mm-ptdump.c:internal-compiler-error:Segmentation-fault
|   |-- net-6lowpan-iphc.c:internal-compiler-error:Segmentation-fault
|   |-- net-6lowpan-ndisc.c:internal-compiler-error:Segmentation-fault
|   |-- net-6lowpan-nhc.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_addr.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_iface.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_in.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_ip.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_out.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_std_in.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_std_timer.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_subr.c:internal-compiler-error:Segmentation-fault
|   |-- net-ax25-ax25_timer.c:internal-compiler-error:Segmentation-fault
|   |-- net-bridge-br_if.c:internal-compiler-error:Segmentation-fault
|   |-- net-bridge-br_switchdev.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfcnfg.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfctrl.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfdbgl.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfdgml.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cffrml.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfmuxl.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfpkt_skbuff.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfrfml.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfserl.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfsrvl.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfutill.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfveil.c:internal-compiler-error:Segmentation-fault
|   |-- net-caif-cfvidl.c:internal-compiler-error:Segmentation-fault
|   |-- net-can-j1939-transport.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-armor.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-auth.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-auth_none.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-auth_x.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-buffer.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-cls_lock_client.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-crush-crush.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-crush-mapper.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-decode.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-messenger_v1.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-messenger_v2.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-mon_client.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-msgpool.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-osdmap.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-pagelist.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-pagevec.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-snapshot.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-string_table.c:internal-compiler-error:Segmentation-fault
|   |-- net-ceph-striper.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-datagram.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-dev_addr_lists.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-dst.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-dst_cache.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-flow_offload.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-gen_estimator.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-gen_stats.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-gro.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-gro_cells.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-link_watch.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-lwtunnel.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-net-traces.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-of_net.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-scm.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-secure_seq.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-sock.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-sock_reuseport.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-stream.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-timestamping.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-tso.c:internal-compiler-error:Segmentation-fault
|   |-- net-core-utils.c:internal-compiler-error:Segmentation-fault
|   |-- net-dccp-ccids-ccid2.c:internal-compiler-error:Segmentation-fault
|   |-- net-dccp-input.c:internal-compiler-error:Segmentation-fault
|   |-- net-dccp-output.c:internal-compiler-error:Segmentation-fault
|   |-- net-dccp-qpolicy.c:internal-compiler-error:Segmentation-fault
|   |-- net-devres.c:internal-compiler-error:Segmentation-fault
|   |-- net-dns_resolver-dns_query.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-bitset.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-cabletest.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-channels.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-coalesce.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-common.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-eeprom.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-features.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-fec.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-ioctl.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-linkinfo.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-linkmodes.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-linkstate.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-module.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-pause.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-privflags.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-rings.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-stats.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-strset.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-tunnels.c:internal-compiler-error:Segmentation-fault
|   |-- net-ethtool-wol.c:internal-compiler-error:Segmentation-fault
|   |-- net-garp.c:internal-compiler-error:Segmentation-fault
|   |-- net-ieee802154-6lowpan-rx.c:internal-compiler-error:Segmentation-fault
|   |-- net-ieee802154-6lowpan-tx.c:internal-compiler-error:Segmentation-fault
|   |-- net-ieee802154-header_ops.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-datagram.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-fib_semantics.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-inet_connection_sock.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-inet_timewait_sock.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-ip_forward.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-ip_input.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-ip_options.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-ip_sockglue.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-ip_tunnel.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-ipmr_base.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-metrics.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-netlink.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-protocol.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-syncookies.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_fastopen.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_input.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_minisocks.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_rate.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_recovery.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_timer.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-tcp_ulp.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-udp_tunnel_core.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv4-xfrm4_input.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-addrconf_core.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-datagram.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-exthdrs_core.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-inet6_connection_sock.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-inet6_hashtables.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-ip6_checksum.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-ip6_input.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-ip6_output.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-ip6_udp_tunnel.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-ipv6_sockglue.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-mcast_snoop.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-output_core.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-protocol.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-rpl.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-syncookies.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-udp_offload.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-xfrm6_input.c:internal-compiler-error:Segmentation-fault
|   |-- net-ipv6-xfrm6_output.c:internal-compiler-error:Segmentation-fault
|   |-- net-l3mdev-l3mdev.c:internal-compiler-error:Segmentation-fault
|   |-- net-llc-llc_input.c:internal-compiler-error:Segmentation-fault
|   |-- net-llc-llc_output.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-aead_api.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-aes_cmac.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-aes_gmac.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-agg-rx.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-agg-tx.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-airtime.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-chan.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-debugfs_key.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-debugfs_netdev.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-debugfs_sta.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-driver-ops.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-ethtool.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-fils_aead.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-he.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-ht.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-iface.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-key.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-michael.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-ocb.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-offchannel.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-pm.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-rate.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-rx.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-s1g.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-scan.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-spectmgmt.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-sta_info.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-status.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-tdls.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-tkip.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-trace.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-tx.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-util.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-vht.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-wep.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-wme.c:internal-compiler-error:Segmentation-fault
|   |-- net-mac80211-wpa.c:internal-compiler-error:Segmentation-fault
|   |-- net-mrp.c:internal-compiler-error:Segmentation-fault
|   |-- net-ncsi-ncsi-aen.c:internal-compiler-error:Segmentation-fault
|   |-- net-ncsi-ncsi-cmd.c:internal-compiler-error:Segmentation-fault
|   |-- net-ncsi-ncsi-rsp.c:internal-compiler-error:Segmentation-fault
|   |-- net-netlabel-netlabel_addrlist.c:internal-compiler-error:Segmentation-fault
|   |-- net-netrom-nr_dev.c:internal-compiler-error:Segmentation-fault
|   |-- net-netrom-nr_in.c:internal-compiler-error:Segmentation-fault
|   |-- net-netrom-nr_out.c:internal-compiler-error:Segmentation-fault
|   |-- net-netrom-nr_route.c:internal-compiler-error:Segmentation-fault
|   |-- net-netrom-nr_subr.c:internal-compiler-error:Segmentation-fault
|   |-- net-netrom-nr_timer.c:internal-compiler-error:Segmentation-fault
|   |-- net-nfc-hci-command.c:internal-compiler-error:Segmentation-fault
|   |-- net-nfc-hci-hcp.c:internal-compiler-error:Segmentation-fault
|   |-- net-nfc-hci-llc_nop.c:internal-compiler-error:Segmentation-fault
|   |-- net-nfc-hci-llc_shdlc.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-actions.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-dp_notify.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-flow.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-flow_netlink.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-flow_table.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-meter.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-openvswitch_trace.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-vport-internal_dev.c:internal-compiler-error:Segmentation-fault
|   |-- net-openvswitch-vport.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-af_rds.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-bind.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-cong.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-connection.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-info.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-message.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-page.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-rdma.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-recv.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-send.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-threads.c:internal-compiler-error:Segmentation-fault
|   |-- net-rds-transport.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-call_accept.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-call_event.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-call_object.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-conn_client.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-conn_event.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-conn_object.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-conn_service.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-input.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-insecure.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-key.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-local_event.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-local_object.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-output.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-peer_event.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-peer_object.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-recvmsg.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-rtt.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-sendmsg.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-server_key.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-skbuff.c:internal-compiler-error:Segmentation-fault
|   |-- net-rxrpc-utils.c:internal-compiler-error:Segmentation-fault
|   |-- net-sched-sch_fifo.c:internal-compiler-error:Segmentation-fault
|   |-- net-sched-sch_frag.c:internal-compiler-error:Segmentation-fault
|   |-- net-sched-sch_generic.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-associola.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-auth.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-bind_addr.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-chunk.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-endpointola.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-input.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-inqueue.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-ipv6.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-output.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-outqueue.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-sm_make_chunk.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-sm_sideeffect.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-sm_statefuns.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-socket.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-stream.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-stream_interleave.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-stream_sched.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-stream_sched_prio.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-stream_sched_rr.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-transport.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-tsnmap.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-ulpevent.c:internal-compiler-error:Segmentation-fault
|   |-- net-sctp-ulpqueue.c:internal-compiler-error:Segmentation-fault
|   |-- net-switchdev-switchdev.c:internal-compiler-error:Segmentation-fault
|   |-- net-tls-tls_device_fallback.c:internal-compiler-error:Segmentation-fault
|   |-- net-tls-tls_sw.c:internal-compiler-error:Segmentation-fault
|   |-- net-tls-trace.c:internal-compiler-error:Segmentation-fault
|   |-- net-unix-scm.c:internal-compiler-error:Segmentation-fault
|   |-- net-vmw_vsock-af_vsock_tap.c:internal-compiler-error:Segmentation-fault
|   |-- net-vmw_vsock-virtio_transport_common.c:internal-compiler-error:Segmentation-fault
|   |-- net-vmw_vsock-vsock_addr.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-ap.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-chan.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-ethtool.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-ibss.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-mesh.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-mlme.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-ocb.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-of.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-pmsr.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-radiotap.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-scan.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-sme.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-sysfs.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-trace.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-util.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-wext-compat.c:internal-compiler-error:Segmentation-fault
|   |-- net-wireless-wext-sme.c:internal-compiler-error:Segmentation-fault
|   |-- net-xdp-xdp_umem.c:internal-compiler-error:Segmentation-fault
|   |-- net-xdp-xsk_buff_pool.c:internal-compiler-error:Segmentation-fault
|   |-- net-xdp-xsk_queue.c:internal-compiler-error:Segmentation-fault
|   |-- net-xdp-xskmap.c:internal-compiler-error:Segmentation-fault
|   |-- net-xfrm-xfrm_algo.c:internal-compiler-error:Segmentation-fault
|   |-- net-xfrm-xfrm_hash.c:internal-compiler-error:Segmentation-fault
|   |-- net-xfrm-xfrm_ipcomp.c:internal-compiler-error:Segmentation-fault
|   |-- net-xfrm-xfrm_output.c:internal-compiler-error:Segmentation-fault
|   |-- net-xfrm-xfrm_replay.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-audit.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-capability.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-domain.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-file.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-ipc.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-label.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-lib.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-match.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-mount.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-net.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-policy.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-policy_unpack.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-procattr.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-resource.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-secid.c:internal-compiler-error:Segmentation-fault
|   |-- security-apparmor-task.c:internal-compiler-error:Segmentation-fault
|   |-- security-integrity-digsig_asymmetric.c:internal-compiler-error:Segmentation-fault
|   |-- security-keys-request_key.c:internal-compiler-error:Segmentation-fault
|   |-- security-smack-smack_access.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-control.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-ctljack.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-device.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-init.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-jack.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-memalloc.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-pcm_dmaengine.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-pcm_lib.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-pcm_memory.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-pcm_misc.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-pcm_native.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_fifo.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_lock.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_memory.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_midi_event.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_ports.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_prioq.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_queue.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-seq-seq_timer.c:internal-compiler-error:Segmentation-fault
|   |-- sound-core-sound_oss.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-bcm-bcm63xx-pcm-whistler.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rl6231.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rt5682.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rt700.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rt711-sdca.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rt711.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rt715-sdca.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-rt715.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-codecs-wcd-clsh-v2.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-fsl-fsl_ssi_dbg.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-generic-simple-card-utils.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-card.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-component.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-dai.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-dapm.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-generic-dmaengine-pcm.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-jack.c:internal-compiler-error:Segmentation-fault
|   |-- sound-soc-soc-ops.c:internal-compiler-error:Segmentation-fault
|   `-- sound-soc-soc-pcm.c:internal-compiler-error:Segmentation-fault
|-- riscv-randconfig-r002-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_migrate_context
|   |-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_register
|   `-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_unregister
|-- riscv-randconfig-r034-20220318
|   |-- drivers-gpio-gpio-max73.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-hid-hid-vivaldi-common.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-input-poller.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-rmi4-rmi_f01.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-input-rmi4-rmi_f03.c:internal-compiler-error:Segmentation-fault
|   |-- drivers-usb-dwc3-debugfs.c:internal-compiler-error:Segmentation-fault
|   |-- fs-eventfd.c:internal-compiler-error:Segmentation-fault
|   `-- fs-posix_acl.c:internal-compiler-error:Segmentation-fault
|-- riscv-randconfig-r042-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- riscv-rv32_defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- s390-allmodconfig
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- s390-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-iio-frequency-admv1014.c:sparse:sparse:dubious:x-y
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-cacheflush.h:warning:struct-folio-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- s390-buildonly-randconfig-r004-20220317
|   |-- arch-s390-kernel-machine_kexec.c:warning:memcpy-offset-is-out-of-the-bounds
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_migrate_context
|   |-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_register
|   `-- nd_perf.c:(.text):undefined-reference-to-perf_pmu_unregister
|-- s390-defconfig
|   |-- arch-s390-kernel-machine_kexec.c:warning:memcpy-offset-is-out-of-the-bounds
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- s390-randconfig-c024-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- s390-randconfig-r012-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- s390-randconfig-r014-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- s390-randconfig-r044-20220317
|   |-- include-linux-fortify-string.h:warning:__builtin_memcpy-offset-is-out-of-the-bounds
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- s390-randconfig-s031-20220317
|   |-- arch-s390-kernel-machine_kexec.c:warning:memcpy-offset-is-out-of-the-bounds
|   |-- drivers-dma-idma64.c:undefined-reference-to-devm_ioremap_resource
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|-- sh-allmodconfig
|   |-- arch-sh-kernel-machvec.c:warning:array-subscript-struct-sh_machine_vector-is-partly-outside-array-bounds-of-long-int
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|   `-- standard-input:Error:unknown-pseudo-op:sec
|-- sh-allyesconfig
|   |-- arch-sh-kernel-machvec.c:warning:array-subscript-struct-sh_machine_vector-is-partly-outside-array-bounds-of-long-int
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|   `-- standard-input:Error:unknown-pseudo-op:sec
|-- sh-randconfig-r031-20220318
|   |-- arch-sh-kernel-machvec.c:warning:array-subscript-struct-sh_machine_vector-is-partly-outside-array-bounds-of-long-int
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- sh-randconfig-r034-20220318
|   |-- arch-sh-kernel-machvec.c:warning:array-subscript-struct-sh_machine_vector-is-partly-outside-array-bounds-of-long-int
|   `-- standard-input:Error:.size-expression-for-xpcs_validate-does-not-evaluate-to-a-constant
|-- sparc-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- drivers-iio-frequency-admv1014.c:sparse:sparse:dubious:x-y
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-__iomem-addr-got-void
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-icr_base-got-void-noderef-__iomem
|   |-- drivers-irqchip-irq-renesas-h8s.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-static-toplevel-ipr_base-got-void-noderef-__iomem
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- drivers-nvmem-sunplus-ocotp.c:sparse:sparse:symbol-sp_otp_v0-was-not-declared.-Should-it-be-static
|   |-- drivers-tty-serial-sunplus-uart.c:sparse:sparse:symbol-sunplus_console_ports-was-not-declared.-Should-it-be-static
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- sparc-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- sparc-buildonly-randconfig-r006-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- sparc64-randconfig-r004-20220318
|   |-- drivers-media-platform-samsung-exynos4-is-fimc-isp-video.h:warning:no-previous-prototype-for-fimc_isp_video_device_unregister
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|-- sparc64-randconfig-r032-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- um-i386_defconfig
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- um-x86_64_defconfig
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-allnoconfig
|   `-- Documentation-driver-api-nvdimm-nvdimm.rst:(SEVERE-)-Title-level-inconsistent:
|-- x86_64-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-defconfig
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-kexec
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-a002
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-a004
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-a006
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-a011
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-a015
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-c002
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-c022
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-m001
|   `-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|-- x86_64-randconfig-s021
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-randconfig-s022
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-rhel-8.3
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-rhel-8.3-func
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-rhel-8.3-kselftests
|   |-- drivers-net-vxlan-vxlan_core.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-b-got-restricted-__be32-usertype-vni
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- x86_64-rhel-8.3-kunit
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-rcupdate.h:error:dereferencing-pointer-to-incomplete-type-struct-css_set
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-sched_cpu_wait_empty
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- xtensa-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- xtensa-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|   |-- vpu_malone.c:(.text):undefined-reference-to-__moddi3
|   `-- vpu_windsor.c:(.text):undefined-reference-to-__moddi3
|-- xtensa-randconfig-p002-20220318
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
|-- xtensa-randconfig-r015-20220317
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-core-dc_resource.c:warning:no-previous-prototype-for-is_timing_changed
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-calc_load_nohz_stop
`-- xtensa-randconfig-r023-20220318
    |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
    `-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst

clang_recent_errors
|-- arm-buildonly-randconfig-r003-20220317
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h-file-not-found
|-- arm-netwinder_defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- arm-randconfig-c002-20220317
|   |-- arch-arm-kernel-ftrace.c:warning:no-previous-prototype-for-function-prepare_ftrace_return
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h-file-not-found
|-- arm-randconfig-c002-20220318
|   |-- arch-arm-kernel-unwind.c:warning:Assigned-value-is-garbage-or-undefined-clang-analyzer-core.uninitialized.Assign
|   |-- drivers-hid-hid-core.c:warning:Although-the-value-stored-to-field-is-used-in-the-enclosing-expression-the-value-is-never-actually-read-from-field-clang-analyzer-deadcode.DeadStores
|   |-- drivers-input-serio-ps2-gpio.c:warning:Value-stored-to-rxflags-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-memory-brcmstb_dpfe.c:warning:Call-to-function-sprintf-is-insecure-as-it-does-not-provide-bounding-of-the-memory-buffer-or-security-checks-introduced-in-the-C11-standard.-Replace-with-analogou
|   |-- drivers-phy-broadcom-phy-brcm-usb.c:warning:Call-to-function-sprintf-is-insecure-as-it-does-not-provide-bounding-of-the-memory-buffer-or-security-checks-introduced-in-the-C11-standard.-Replace-with-an
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|   |-- lib-stackinit_kunit.c:warning:Address-of-stack-memory-associated-with-local-variable-var-is-still-referred-to-by-the-global-variable-fill_start-upon-returning-to-the-caller.-This-will-be-a-dangling-re
|   |-- lib-stackinit_kunit.c:warning:Address-of-stack-memory-associated-with-local-variable-var-is-still-referred-to-by-the-global-variable-target_start-upon-returning-to-the-caller.-This-will-be-a-dangling-
|   |-- lib-stackinit_kunit.c:warning:Excessive-padding-in-struct-test_big_hole-(-padding-bytes-where-is-optimal).
|   `-- lib-stackinit_kunit.c:warning:Undefined-or-garbage-value-returned-to-caller-clang-analyzer-core.uninitialized.UndefReturn
|-- arm-randconfig-r025-20220317
|   `-- kernel-sched-sched.h:fatal-error:asm-paravirt_api_clock.h-file-not-found
|-- arm64-randconfig-r033-20220319
|   |-- lib-raid6-neon1.c:warning:mixing-declarations-and-code-is-incompatible-with-standards-before-C99
|   |-- lib-raid6-neon2.c:warning:mixing-declarations-and-code-is-incompatible-with-standards-before-C99
|   |-- lib-raid6-neon4.c:warning:mixing-declarations-and-code-is-incompatible-with-standards-before-C99
|   |-- lib-raid6-neon8.c:warning:mixing-declarations-and-code-is-incompatible-with-standards-before-C99
|   `-- lib-raid6-recov_neon_inner.c:warning:mixing-declarations-and-code-is-incompatible-with-standards-before-C99
|-- hexagon-buildonly-randconfig-r005-20220318
|   |-- drivers-media-platform-renesas-renesas-ceu.c:warning:unused-variable-ceu_data_rz
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- hexagon-randconfig-r015-20220317
|   `-- drivers-media-platform-samsung-s5p-jpeg-jpeg-core.c:warning:unused-variable-samsung_jpeg_match
|-- hexagon-randconfig-r034-20220317
|   `-- drivers-media-platform-st-sti-c8sectpfe-c8sectpfe-core.c:warning:unused-variable-c8sectpfe_match
|-- hexagon-randconfig-r036-20220317
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- hexagon-randconfig-r041-20220317
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- hexagon-randconfig-r041-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- hexagon-randconfig-r045-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- hexagon-randconfig-r045-20220318
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- i386-randconfig-a002
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- i386-randconfig-a004
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- i386-randconfig-a006
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- i386-randconfig-a011
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- i386-randconfig-a013
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- i386-randconfig-a015
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- i386-randconfig-c001
|   |-- drivers-hid-hid-core.c:warning:Although-the-value-stored-to-field-is-used-in-the-enclosing-expression-the-value-is-never-actually-read-from-field-clang-analyzer-deadcode.DeadStores
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|   `-- net-ipv4-tcp_input.c:warning:Value-stored-to-reason-is-never-read-clang-analyzer-deadcode.DeadStores
|-- mips-cu1830-neo_defconfig
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- mips-randconfig-c004-20220318
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- riscv-randconfig-c006-20220317
|   |-- drivers-clk-imx-clk-pll14xx.c:warning:Value-stored-to-pll_div_ctl1-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-firmware-turris-mox-rwtm.c:warning:Call-to-function-sprintf-is-insecure-as-it-does-not-provide-bounding-of-the-memory-buffer-or-security-checks-introduced-in-the-C11-standard.-Replace-with-ana
|   |-- drivers-hid-hid-core.c:warning:Although-the-value-stored-to-field-is-used-in-the-enclosing-expression-the-value-is-never-actually-read-from-field-clang-analyzer-deadcode.DeadStores
|   |-- drivers-hwmon-nsa320-hwmon.c:warning:Call-to-function-sprintf-is-insecure-as-it-does-not-provide-bounding-of-the-memory-buffer-or-security-checks-introduced-in-the-C11-standard.-Replace-with-analogous
|   |-- drivers-input-serio-ps2-gpio.c:warning:Value-stored-to-rxflags-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-chips-media-coda-bit.c:warning:Value-stored-to-value-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-chips-media-coda-common.c:warning:Array-access-(from-variable-formats-)-results-in-a-null-pointer-dereference-clang-analyzer-core.NullDereference
|   |-- drivers-media-platform-st-sti-delta-delta-debug.c:warning:Value-stored-to-delta-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-debug.c:warning:Value-stored-to-s-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-debug.c:warning:Value-stored-to-str-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-mjpeg-dec.c:warning:Value-stored-to-b-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-v4l2.c:warning:Value-stored-to-data-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-v4l2.c:warning:Value-stored-to-delta-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-v4l2.c:warning:Value-stored-to-str-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-v4l2.c:warning:Value-stored-to-str1-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-delta-delta-v4l2.c:warning:Value-stored-to-str2-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-hva-hva-h264.c:warning:Value-stored-to-dev-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-hva-hva-h264.c:warning:Value-stored-to-idr_pic_id-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-hva-hva-v4l2.c:warning:Value-stored-to-dev-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-hva-hva-v4l2.c:warning:Value-stored-to-frame-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-media-platform-st-sti-hva-hva-v4l2.c:warning:Value-stored-to-stream-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-mtd-nand-ecc-mxic.c:warning:Branch-condition-evaluates-to-a-garbage-value-clang-analyzer-core.uninitialized.Branch
|   |-- drivers-mtd-nand-ecc-mxic.c:warning:Value-stored-to-dev-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
|   |-- drivers-phy-broadcom-phy-brcm-usb.c:warning:Call-to-function-sprintf-is-insecure-as-it-does-not-provide-bounding-of-the-memory-buffer-or-security-checks-introduced-in-the-C11-standard.-Replace-with-an
|   |-- drivers-staging-greybus-arche-apb-ctrl.c:warning:Call-to-function-sprintf-is-insecure-as-it-does-not-provide-bounding-of-the-memory-buffer-or-security-checks-introduced-in-the-C11-standard.-Replace-wi
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- riscv-randconfig-c006-20220318
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- riscv-randconfig-r021-20220318
|   `-- include-asm-generic-io.h:warning:performing-pointer-arithmetic-on-a-null-pointer-has-undefined-behavior-err:false
|-- riscv-randconfig-r042-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- s390-randconfig-c005-20220317
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- s390-randconfig-c005-20220318
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- s390-randconfig-r002-20220317
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- s390-randconfig-r044-20220318
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- x86_64-randconfig-a001
|   |-- drivers-spi-spi-amd.c:warning:cast-to-smaller-integer-type-enum-amd_spi_versions-from-const-void
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- x86_64-randconfig-a003
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|-- x86_64-randconfig-a005
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- x86_64-randconfig-a012
|   |-- fs-btrfs-ordered-data.c:warning:expecting-prototype-for-Add-an-ordered-extent-to-the-per().-Prototype-was-for-btrfs_add_ordered_extent()-instead
|   |-- fs-btrfs-tree-log.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- x86_64-randconfig-a014
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
|   |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
|   |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
|   `-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
|-- x86_64-randconfig-a016
|   |-- include-linux-fortify-string.h:warning:call-to-__read_overflow2_field-declared-with-warning-attribute:detected-read-beyond-size-of-field-(2nd-parameter)-maybe-use-struct_group()
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
|   |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
|   `-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
`-- x86_64-randconfig-c007
    |-- drivers-hid-hid-core.c:warning:Although-the-value-stored-to-field-is-used-in-the-enclosing-expression-the-value-is-never-actually-read-from-field-clang-analyzer-deadcode.DeadStores
    |-- drivers-pci-vgaarb.c:warning:Value-stored-to-dev-during-its-initialization-is-never-read-clang-analyzer-deadcode.DeadStores
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-idle_task_exit
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_activate
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_deactivate
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_dying
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_starting
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_cpu_wait_empty
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-sched_init_smp
    |-- kernel-sched-core.c:warning:no-previous-prototype-for-function-task_sched_runtime
    |-- kernel-sched-fair.c:warning:no-previous-prototype-for-function-nohz_balance_enter_idle
    |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_remote
    |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_start
    |-- kernel-sched-loadavg.c:warning:no-previous-prototype-for-function-calc_load_nohz_stop
    `-- net-ipv4-tcp_input.c:warning:Value-stored-to-reason-is-never-read-clang-analyzer-deadcode.DeadStores

elapsed time: 768m

configs tested: 119
configs skipped: 4

gcc tested configs:
arm                              allyesconfig
arm                                 defconfig
arm                              allmodconfig
arm64                            allyesconfig
arm64                               defconfig
um                             i386_defconfig
um                           x86_64_defconfig
mips                             allyesconfig
riscv                            allyesconfig
mips                             allmodconfig
riscv                            allmodconfig
i386                          randconfig-c001
powerpc                          allmodconfig
m68k                             allyesconfig
s390                             allmodconfig
m68k                             allmodconfig
powerpc                          allyesconfig
s390                             allyesconfig
sparc                            allyesconfig
sh                               allmodconfig
xtensa                           allyesconfig
h8300                            allyesconfig
parisc                           allyesconfig
alpha                            allyesconfig
arc                              allyesconfig
nios2                            allyesconfig
m68k                       bvme6000_defconfig
powerpc                      bamboo_defconfig
sh                           se7724_defconfig
arm                           corgi_defconfig
sh                              ul2_defconfig
powerpc                       holly_defconfig
mips                       capcella_defconfig
sparc                            alldefconfig
sh                ecovec24-romimage_defconfig
arm                        clps711x_defconfig
m68k                       m5208evb_defconfig
riscv                               defconfig
sh                          rsk7201_defconfig
arm                  randconfig-c002-20220317
arm                  randconfig-c002-20220318
ia64                                defconfig
ia64                             allmodconfig
ia64                             allyesconfig
m68k                                defconfig
nds32                             allnoconfig
nios2                               defconfig
csky                                defconfig
alpha                               defconfig
nds32                               defconfig
arc                                 defconfig
parisc                              defconfig
parisc64                            defconfig
s390                                defconfig
i386                             allyesconfig
i386                              debian-10.3
i386                   debian-10.3-kselftests
i386                                defconfig
sparc                               defconfig
powerpc                           allnoconfig
x86_64                        randconfig-a006
x86_64                        randconfig-a002
x86_64                        randconfig-a004
i386                          randconfig-a003
i386                          randconfig-a001
i386                          randconfig-a005
x86_64                        randconfig-a015
x86_64                        randconfig-a013
x86_64                        randconfig-a011
i386                          randconfig-a014
i386                          randconfig-a012
i386                          randconfig-a016
s390                 randconfig-r044-20220317
arc                  randconfig-r043-20220318
riscv                randconfig-r042-20220317
arc                  randconfig-r043-20220317
riscv                    nommu_k210_defconfig
riscv                    nommu_virt_defconfig
riscv                             allnoconfig
riscv                          rv32_defconfig
x86_64                    rhel-8.3-kselftests
x86_64                              defconfig
x86_64                                  kexec
x86_64                               rhel-8.3
x86_64                          rhel-8.3-func
x86_64                         rhel-8.3-kunit
x86_64                           allyesconfig

clang tested configs:
arm                  randconfig-c002-20220318
x86_64                        randconfig-c007
s390                 randconfig-c005-20220317
s390                 randconfig-c005-20220318
arm                  randconfig-c002-20220317
mips                 randconfig-c004-20220318
mips                 randconfig-c004-20220317
riscv                randconfig-c006-20220318
powerpc              randconfig-c003-20220318
powerpc              randconfig-c003-20220317
i386                          randconfig-c001
riscv                randconfig-c006-20220317
arm                       netwinder_defconfig
mips                     cu1830-neo_defconfig
powerpc                 mpc836x_rdk_defconfig
powerpc                     mpc512x_defconfig
powerpc                       ebony_defconfig
x86_64                        randconfig-a001
x86_64                        randconfig-a003
x86_64                        randconfig-a005
i386                          randconfig-a002
i386                          randconfig-a006
i386                          randconfig-a004
x86_64                        randconfig-a014
x86_64                        randconfig-a012
x86_64                        randconfig-a016
i386                          randconfig-a011
i386                          randconfig-a013
i386                          randconfig-a015
hexagon              randconfig-r045-20220318
hexagon              randconfig-r041-20220318
riscv                randconfig-r042-20220318
hexagon              randconfig-r041-20220317
s390                 randconfig-r044-20220318
hexagon              randconfig-r045-20220317

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [ANNOUNCE][CFP] Linux Security Summit North America 2022
From: James Morris @ 2022-03-18 22:31 UTC (permalink / raw)
  To: linux-security-module
  Cc: Linux Security Summit Program Committee, keyrings,
	gentoo-hardened, kernel-hardening, selinux, linux-kernel,
	tpmdd-devel, Audit-ML, linux-crypto, lwn, linux-integrity,
	fedora-selinux-list
In-Reply-To: <3e5acc67-829-fafb-c82-833fc22b35a@namei.org>

On Tue, 8 Feb 2022, James Morris wrote:

>   * Event:                September 23-24

Correction: This should be 23-24 June per the top of the email.


-- 
James Morris
<jmorris@namei.org>

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 27/29] Audit: Add record for multiple object security contexts
From: Paul Moore @ 2022-03-16  1:08 UTC (permalink / raw)
  To: Casey Schaufler
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <987800d2-797c-e780-60f5-0e499081572f@schaufler-ca.com>

On Tue, Mar 15, 2022 at 8:23 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
> On 3/15/2022 4:47 PM, Paul Moore wrote:
> > On Thu, Mar 10, 2022 at 7:01 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
> >> Create a new audit record AUDIT_MAC_OBJ_CONTEXTS.
> >> An example of the MAC_OBJ_CONTEXTS (1421) record is:
> >>
> >>      type=MAC_OBJ_CONTEXTS[1421]
> >>      msg=audit(1601152467.009:1050):
> >>      obj_selinux=unconfined_u:object_r:user_home_t:s0
> >>
> >> When an audit event includes a AUDIT_MAC_OBJ_CONTEXTS record
> >> the "obj=" field in other records in the event will be "obj=?".
> >> An AUDIT_MAC_OBJ_CONTEXTS record is supplied when the system has
> >> multiple security modules that may make access decisions based
> >> on an object security context.
> >>
> >> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
> >> ---
> >>   include/linux/audit.h      |  5 +++
> >>   include/uapi/linux/audit.h |  1 +
> >>   kernel/audit.c             | 47 +++++++++++++++++++++++
> >>   kernel/auditsc.c           | 79 ++++++++++++--------------------------
> >>   4 files changed, 77 insertions(+), 55 deletions(-)

...

> >> @@ -1373,18 +1362,10 @@ static void show_special(struct audit_context *context, int *call_panic)
> >>                                   from_kgid(&init_user_ns, context->ipc.gid),
> >>                                   context->ipc.mode);
> >>                  if (osid) {
> >> -                       struct lsmcontext lsmcxt;
> >>                          struct lsmblob blob;
> >>
> >>                          lsmblob_init(&blob, osid);
> >> -                       if (security_secid_to_secctx(&blob, &lsmcxt,
> >> -                                                    LSMBLOB_FIRST)) {
> >> -                               audit_log_format(ab, " osid=%u", osid);
> >> -                               *call_panic = 1;
> >> -                       } else {
> >> -                               audit_log_format(ab, " obj=%s", lsmcxt.context);
> >> -                               security_release_secctx(&lsmcxt);
> >> -                       }
> >> +                       audit_log_object_context(ab, &blob);
> > While we lose the "osid=X" in case of failure, the secid/SID is a
> > private kernel value meaning it was always of questionable value.
>
> I could come up with a change to audit_log_object_context() that
> would put out an osid= in the single security module case. I would
> prefer not to if that would be acceptable.

What I think you have right now is fine.  I thought others might point
out the field differences so I was trying to say that the existing
code really isn't very useful in case of error, there is no practical
way for someone in userspace to do anything meaningful with an
osid/secid/SID value as they are transient kernel-private values.

My apologies for the confusion.

-- 
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 27/29] Audit: Add record for multiple object security contexts
From: Casey Schaufler @ 2022-03-16  0:23 UTC (permalink / raw)
  To: Paul Moore
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <CAHC9VhQWv+04hETu3keU7Ev2nLn5MARW2R_p5hKVp3OfhD185A@mail.gmail.com>


On 3/15/2022 4:47 PM, Paul Moore wrote:
> On Thu, Mar 10, 2022 at 7:01 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
>> Create a new audit record AUDIT_MAC_OBJ_CONTEXTS.
>> An example of the MAC_OBJ_CONTEXTS (1421) record is:
>>
>>      type=MAC_OBJ_CONTEXTS[1421]
>>      msg=audit(1601152467.009:1050):
>>      obj_selinux=unconfined_u:object_r:user_home_t:s0
>>
>> When an audit event includes a AUDIT_MAC_OBJ_CONTEXTS record
>> the "obj=" field in other records in the event will be "obj=?".
>> An AUDIT_MAC_OBJ_CONTEXTS record is supplied when the system has
>> multiple security modules that may make access decisions based
>> on an object security context.
>>
>> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
>> ---
>>   include/linux/audit.h      |  5 +++
>>   include/uapi/linux/audit.h |  1 +
>>   kernel/audit.c             | 47 +++++++++++++++++++++++
>>   kernel/auditsc.c           | 79 ++++++++++++--------------------------
>>   4 files changed, 77 insertions(+), 55 deletions(-)
> ...
>
>> diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
>> index af0aaccfaf57..d25d76b29e3c 100644
>> --- a/include/uapi/linux/audit.h
>> +++ b/include/uapi/linux/audit.h
>> @@ -144,6 +144,7 @@
>>   #define AUDIT_MAC_CALIPSO_ADD  1418    /* NetLabel: add CALIPSO DOI entry */
>>   #define AUDIT_MAC_CALIPSO_DEL  1419    /* NetLabel: del CALIPSO DOI entry */
>>   #define AUDIT_MAC_TASK_CONTEXTS        1420    /* Multiple LSM task contexts */
>> +#define AUDIT_MAC_OBJ_CONTEXTS 1421    /* Multiple LSM objext contexts */
>>
>>   #define AUDIT_FIRST_KERN_ANOM_MSG   1700
>>   #define AUDIT_LAST_KERN_ANOM_MSG    1799
>> diff --git a/kernel/audit.c b/kernel/audit.c
>> index ad825af203cf..ac92e7fc5aa6 100644
>> --- a/kernel/audit.c
>> +++ b/kernel/audit.c
>> @@ -2202,6 +2202,53 @@ static void audit_buffer_aux_end(struct audit_buffer *ab)
>>          ab->skb = skb_peek(&ab->skb_list);
>>   }
>>
>> +void audit_log_object_context(struct audit_buffer *ab, struct lsmblob *blob)
>> +{
>> +       int i;
>> +       int error;
>> +       struct lsmcontext context;
>> +
>> +       if (!lsm_multiple_contexts()) {
>> +               error = security_secid_to_secctx(blob, &context, LSMBLOB_FIRST);
>> +               if (error) {
>> +                       if (error != -EINVAL)
>> +                               goto error_path;
>> +                       return;
>> +               }
>> +               audit_log_format(ab, " obj=%s", context.context);
>> +               security_release_secctx(&context);
>> +       } else {
>> +               audit_log_format(ab, " obj=?");
>> +               error = audit_buffer_aux_new(ab, AUDIT_MAC_OBJ_CONTEXTS);
>> +               if (error)
>> +                       goto error_path;
>> +
>> +               for (i = 0; i < LSMBLOB_ENTRIES; i++) {
>> +                       if (blob->secid[i] == 0)
>> +                               continue;
>> +                       error = security_secid_to_secctx(blob, &context, i);
>> +                       if (error) {
>> +                               if (error != -EINVAL)
>> +                                       audit_panic("error in audit_log_object_context");
>> +                               audit_log_format(ab, "%sobj_%s=?",
>> +                                                i ? " " : "",
>> +                                                lsm_slot_to_name(i));
>> +                       } else {
>> +                               audit_log_format(ab, "%sobj_%s=%s",
>> +                                                i ? " " : "",
>> +                                                lsm_slot_to_name(i),
>> +                                                context.context);
>> +                               security_release_secctx(&context);
>> +                       }
>> +               }
>> +
>> +               audit_buffer_aux_end(ab);
>> +       }
>> +       return;
>> +
>> +error_path:
>> +       audit_panic("error in audit_log_object_context");
>> +}
> The comment from patch 26/29 regarding the audit_panic() placement
> also applies to audit_log_object_context().
>
>> diff --git a/kernel/auditsc.c b/kernel/auditsc.c
>> index 7848e7351cf9..923e4e3a5697 100644
>> --- a/kernel/auditsc.c
>> +++ b/kernel/auditsc.c
>> @@ -1114,36 +1114,25 @@ static inline void audit_free_context(struct audit_context *context)
>>          kfree(context);
>>   }
>>
>> -static int audit_log_pid_context(struct audit_context *context, pid_t pid,
>> -                                kuid_t auid, kuid_t uid,
>> -                                unsigned int sessionid,
>> -                                struct lsmblob *blob, char *comm)
>> +static void audit_log_pid_context(struct audit_context *context, pid_t pid,
>> +                                 kuid_t auid, kuid_t uid,
>> +                                 unsigned int sessionid,
>> +                                 struct lsmblob *blob, char *comm)
>>   {
>>          struct audit_buffer *ab;
>> -       struct lsmcontext lsmctx;
>> -       int rc = 0;
>>
>>          ab = audit_log_start(context, GFP_KERNEL, AUDIT_OBJ_PID);
>>          if (!ab)
>> -               return rc;
>> +               return;
>>
>>          audit_log_format(ab, "opid=%d oauid=%d ouid=%d oses=%d", pid,
>>                           from_kuid(&init_user_ns, auid),
>>                           from_kuid(&init_user_ns, uid), sessionid);
>> -       if (lsmblob_is_set(blob)) {
>> -               if (security_secid_to_secctx(blob, &lsmctx, LSMBLOB_FIRST)) {
>> -                       audit_log_format(ab, " obj=(none)");
>> -                       rc = 1;
>> -               } else {
>> -                       audit_log_format(ab, " obj=%s", lsmctx.context);
>> -                       security_release_secctx(&lsmctx);
>> -               }
>> -       }
>> +       if (lsmblob_is_set(blob))
>> +               audit_log_object_context(ab, blob);
>>          audit_log_format(ab, " ocomm=");
>>          audit_log_untrustedstring(ab, comm);
>>          audit_log_end(ab);
>> -
>> -       return rc;
>>   }
>>
>>   static void audit_log_execve_info(struct audit_context *context,
>> @@ -1373,18 +1362,10 @@ static void show_special(struct audit_context *context, int *call_panic)
>>                                   from_kgid(&init_user_ns, context->ipc.gid),
>>                                   context->ipc.mode);
>>                  if (osid) {
>> -                       struct lsmcontext lsmcxt;
>>                          struct lsmblob blob;
>>
>>                          lsmblob_init(&blob, osid);
>> -                       if (security_secid_to_secctx(&blob, &lsmcxt,
>> -                                                    LSMBLOB_FIRST)) {
>> -                               audit_log_format(ab, " osid=%u", osid);
>> -                               *call_panic = 1;
>> -                       } else {
>> -                               audit_log_format(ab, " obj=%s", lsmcxt.context);
>> -                               security_release_secctx(&lsmcxt);
>> -                       }
>> +                       audit_log_object_context(ab, &blob);
> While we lose the "osid=X" in case of failure, the secid/SID is a
> private kernel value meaning it was always of questionable value.

I could come up with a change to audit_log_object_context() that
would put out an osid= in the single security module case. I would
prefer not to if that would be acceptable.

>
>
> --
> paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 26/29] Audit: Add record for multiple task security contexts
From: Casey Schaufler @ 2022-03-16  0:17 UTC (permalink / raw)
  To: Paul Moore
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <CAHC9VhSYr3nC87jk+cPzvVLgYZO9p9vaM7n+jvGEF60RaNJw7A@mail.gmail.com>

On 3/15/2022 4:47 PM, Paul Moore wrote:
> On Thu, Mar 10, 2022 at 6:59 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
>> Create a new audit record AUDIT_MAC_TASK_CONTEXTS.
>> An example of the MAC_TASK_CONTEXTS (1420) record is:
>>
>>      type=MAC_TASK_CONTEXTS[1420]
>>      msg=audit(1600880931.832:113)
>>      subj_apparmor=unconfined
>>      subj_smack=_
>>
>> When an audit event includes a AUDIT_MAC_TASK_CONTEXTS record
>> the "subj=" field in other records in the event will be "subj=?".
>> An AUDIT_MAC_TASK_CONTEXTS record is supplied when the system has
>> multiple security modules that may make access decisions based
>> on a subject security context.
>>
>> Functions are created to manage the skb list in the audit_buffer.
>>
>> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
>> ---
>>   include/uapi/linux/audit.h |   1 +
>>   kernel/audit.c             | 104 ++++++++++++++++++++++++++++++++-----
>>   2 files changed, 93 insertions(+), 12 deletions(-)
>>
>> diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
>> index 8eda133ca4c1..af0aaccfaf57 100644
>> --- a/include/uapi/linux/audit.h
>> +++ b/include/uapi/linux/audit.h
>> @@ -143,6 +143,7 @@
>>   #define AUDIT_MAC_UNLBL_STCDEL 1417    /* NetLabel: del a static label */
>>   #define AUDIT_MAC_CALIPSO_ADD  1418    /* NetLabel: add CALIPSO DOI entry */
>>   #define AUDIT_MAC_CALIPSO_DEL  1419    /* NetLabel: del CALIPSO DOI entry */
>> +#define AUDIT_MAC_TASK_CONTEXTS        1420    /* Multiple LSM task contexts */
>>
>>   #define AUDIT_FIRST_KERN_ANOM_MSG   1700
>>   #define AUDIT_LAST_KERN_ANOM_MSG    1799
>> diff --git a/kernel/audit.c b/kernel/audit.c
>> index 4713e66a12af..ad825af203cf 100644
>> --- a/kernel/audit.c
>> +++ b/kernel/audit.c
>> @@ -2147,8 +2147,65 @@ void audit_log_key(struct audit_buffer *ab, char *key)
>>                  audit_log_format(ab, "(null)");
>>   }
>>
>> +/*
>> + * A brief note on aux record management.
>> + *
>> + * Aux records are allocated and added to the skb list of
>> + * the "main" record. The ab->skb is reset to point to the
>> + * aux record on its creation. When the aux record in complete
>                                                        ^^
>                                                       "is"
>> + * ab->skb has to be reset to point to the "main" record.
>> + * This allows the audit_log_ functions to be ignorant of
>> + * which kind of record it is logging to. It also avoids adding
>> + * special data for aux records.
>> + */
> It might be good to move the above comment into the
> audit_buffer_aux_new() comment header (below) so it does not get
> misplaced.
>
>> +/**
>> + * audit_buffer_aux_new - Add an aux record buffer to the skb list
>> + * @ab: audit_buffer
>> + * @type: message type
>> + *
>> + * On success ab->skb will point to the new aux record.
>> + * Returns 0 on success, -ENOMEM should allocation fail.
>> + */
>> +static int audit_buffer_aux_new(struct audit_buffer *ab, int type)
> ...
>
>> @@ -2157,16 +2214,44 @@ int audit_log_task_context(struct audit_buffer *ab)
>>          if (!lsmblob_is_set(&blob))
>>                  return 0;
>>
>> -       error = security_secid_to_secctx(&blob, &context, LSMBLOB_FIRST);
>> +       if (!lsm_multiple_contexts()) {
>> +               error = security_secid_to_secctx(&blob, &context,
>> +                                                LSMBLOB_FIRST);
>> +               if (error) {
>> +                       if (error != -EINVAL)
>> +                               goto error_path;
>> +                       return 0;
>> +               }
>>
>> -       if (error) {
>> -               if (error != -EINVAL)
>> +               audit_log_format(ab, " subj=%s", context.context);
>> +               security_release_secctx(&context);
>> +       } else {
>> +               /* Multiple LSMs provide contexts. Include an aux record. */
>> +               audit_log_format(ab, " subj=?");
>> +               error = audit_buffer_aux_new(ab, AUDIT_MAC_TASK_CONTEXTS);
>> +               if (error)
>>                          goto error_path;
>> -               return 0;
>> +               for (i = 0; i < LSMBLOB_ENTRIES; i++) {
>> +                       if (blob.secid[i] == 0)
>> +                               continue;
>> +                       error = security_secid_to_secctx(&blob, &context, i);
>> +                       if (error) {
>> +                               if (error != -EINVAL)
>> +                                       audit_panic("error in audit_log_task_context");
>> +                               audit_log_format(ab, "%ssubj_%s=?",
>> +                                                i ? " " : "",
>> +                                                lsm_slot_to_name(i));
> I wonder if it might be better to record the "subj_smack=?" field
> before checking @error and potentially calling audit_panic().  In
> practice it likely shouldn't matter, I feel better if we at least
> record the subject information before we call the wildcard that is
> audit_panic().

Not a problem. Easy enough to fix.

>
>> +                       } else {
>> +                               audit_log_format(ab, "%ssubj_%s=%s",
>> +                                                i ? " " : "",
>> +                                                lsm_slot_to_name(i),
>> +                                                context.context);
>> +                               security_release_secctx(&context);
>> +                       }
>> +               }
>> +               audit_buffer_aux_end(ab);
>>          }
>>
>> -       audit_log_format(ab, " subj=%s", context.context);
>> -       security_release_secctx(&context);
>>          return 0;
>>
>>   error_path:
>> @@ -2382,13 +2467,8 @@ int audit_signal_info(int sig, struct task_struct *t)
>>   }
>>
>>   /**
>> - * __audit_log_end - end one audit record
>> + * __audit_log_end - send one audit record
> If we want to be very nit-picky here, "end" is more correct than
> "send".  First, audit_log_end() doesn't actually send the record, it
> just queues the record for the kauditd_thread which then attempts to
> send it.  Second, there is no guarantee that the record will actually
> be sent at this point, although it would be nice if that were true :)

My bad. I thought I had deleted the 's', so I fixed it.


>>    * @skb: the buffer to send
>> - *
>> - * We can not do a netlink send inside an irq context because it blocks (last
>> - * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a
>> - * queue and a kthread is scheduled to remove them from the queue outside the
>> - * irq context.  May be called in any context.
>>    */
> This should probably be moved to patch 25/29 as it has more to do with
> the __audit_log_end() introduction than this patch.
>
>
> --
> paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 25/29] Audit: Allow multiple records in an audit_buffer
From: Casey Schaufler @ 2022-03-16  0:06 UTC (permalink / raw)
  To: Paul Moore
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <CAHC9VhTkXaJ6nsJU9hf9KO22bGSpyr8EeBQKef-f6jhy_6OEkA@mail.gmail.com>

On 3/15/2022 4:47 PM, Paul Moore wrote:
> On Thu, Mar 10, 2022 at 6:59 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
>> Replace the single skb pointer in an audit_buffer with
>> a list of skb pointers. Add the audit_stamp information
>> to the audit_buffer as there's no guarantee that there
>> will be an audit_context containing the stamp associated
>> with the event. At audit_log_end() time create auxiliary
>> records (none are currently defined) as have been added
>> to the list.
>>
>> Suggested-by: Paul Moore <paul@paul-moore.com>
>> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
>> ---
>>   kernel/audit.c | 53 +++++++++++++++++++++++++++++++++-----------------
>>   1 file changed, 35 insertions(+), 18 deletions(-)
>>
>> diff --git a/kernel/audit.c b/kernel/audit.c
>> index f012c3786264..4713e66a12af 100644
>> --- a/kernel/audit.c
>> +++ b/kernel/audit.c
>> @@ -197,8 +197,10 @@ static struct audit_ctl_mutex {
>>    * to place it on a transmit queue.  Multiple audit_buffers can be in
>>    * use simultaneously. */
>>   struct audit_buffer {
>> -       struct sk_buff       *skb;      /* formatted skb ready to send */
>> +       struct sk_buff       *skb;      /* the skb for audit_log functions */
>> +       struct sk_buff_head  skb_list;  /* formatted skbs, ready to send */
>>          struct audit_context *ctx;      /* NULL or associated context */
>> +       struct audit_stamp   stamp;     /* audit stamp for these records */
>>          gfp_t                gfp_mask;
>>   };
>>
>> @@ -1744,7 +1746,6 @@ static void audit_buffer_free(struct audit_buffer *ab)
>>          if (!ab)
>>                  return;
>>
>> -       kfree_skb(ab->skb);
> I like the safety in knowing that audit_buffer_free() would free the
> ab->skb memory, I'm not sure I want to get rid of that.  With the
> understanding that ab->skb is always going to be present somewhere in
> ab->skb_list, any reason not to do something like this?
>
>    while ((skb = skb_dequeue(&ab->skb_list)))
>      kfree_skb(skb);

Sure, I'll give this a try. Thanks for the review and suggestions.

>
>>          kmem_cache_free(audit_buffer_cache, ab);
>>   }
>>
>> @@ -1760,11 +1761,15 @@ static struct audit_buffer *audit_buffer_alloc(struct audit_context *ctx,
>>          ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask);
>>          if (!ab->skb)
>>                  goto err;
>> -       if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0))
>> +       if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0)) {
>> +               kfree_skb(ab->skb);
>>                  goto err;
>> +       }
> Assuming we restore the audit_buffer_free() functionality as mentioned
> above, if we move the ab->skb_list init and enqueue calls before we
> attempt the nlmsg_put() we can drop the kfree_skb() call and just use
> the existing audit_buffer_free() call at the err target.
>
>
>>          ab->ctx = ctx;
>>          ab->gfp_mask = gfp_mask;
>> +       skb_queue_head_init(&ab->skb_list);
>> +       skb_queue_tail(&ab->skb_list, ab->skb);
>>
>>          return ab;
>>
> --
> paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 27/29] Audit: Add record for multiple object security contexts
From: Paul Moore @ 2022-03-15 23:47 UTC (permalink / raw)
  To: Casey Schaufler
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <20220310234632.16194-28-casey@schaufler-ca.com>

On Thu, Mar 10, 2022 at 7:01 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
>
> Create a new audit record AUDIT_MAC_OBJ_CONTEXTS.
> An example of the MAC_OBJ_CONTEXTS (1421) record is:
>
>     type=MAC_OBJ_CONTEXTS[1421]
>     msg=audit(1601152467.009:1050):
>     obj_selinux=unconfined_u:object_r:user_home_t:s0
>
> When an audit event includes a AUDIT_MAC_OBJ_CONTEXTS record
> the "obj=" field in other records in the event will be "obj=?".
> An AUDIT_MAC_OBJ_CONTEXTS record is supplied when the system has
> multiple security modules that may make access decisions based
> on an object security context.
>
> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
> ---
>  include/linux/audit.h      |  5 +++
>  include/uapi/linux/audit.h |  1 +
>  kernel/audit.c             | 47 +++++++++++++++++++++++
>  kernel/auditsc.c           | 79 ++++++++++++--------------------------
>  4 files changed, 77 insertions(+), 55 deletions(-)

...

> diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
> index af0aaccfaf57..d25d76b29e3c 100644
> --- a/include/uapi/linux/audit.h
> +++ b/include/uapi/linux/audit.h
> @@ -144,6 +144,7 @@
>  #define AUDIT_MAC_CALIPSO_ADD  1418    /* NetLabel: add CALIPSO DOI entry */
>  #define AUDIT_MAC_CALIPSO_DEL  1419    /* NetLabel: del CALIPSO DOI entry */
>  #define AUDIT_MAC_TASK_CONTEXTS        1420    /* Multiple LSM task contexts */
> +#define AUDIT_MAC_OBJ_CONTEXTS 1421    /* Multiple LSM objext contexts */
>
>  #define AUDIT_FIRST_KERN_ANOM_MSG   1700
>  #define AUDIT_LAST_KERN_ANOM_MSG    1799
> diff --git a/kernel/audit.c b/kernel/audit.c
> index ad825af203cf..ac92e7fc5aa6 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -2202,6 +2202,53 @@ static void audit_buffer_aux_end(struct audit_buffer *ab)
>         ab->skb = skb_peek(&ab->skb_list);
>  }
>
> +void audit_log_object_context(struct audit_buffer *ab, struct lsmblob *blob)
> +{
> +       int i;
> +       int error;
> +       struct lsmcontext context;
> +
> +       if (!lsm_multiple_contexts()) {
> +               error = security_secid_to_secctx(blob, &context, LSMBLOB_FIRST);
> +               if (error) {
> +                       if (error != -EINVAL)
> +                               goto error_path;
> +                       return;
> +               }
> +               audit_log_format(ab, " obj=%s", context.context);
> +               security_release_secctx(&context);
> +       } else {
> +               audit_log_format(ab, " obj=?");
> +               error = audit_buffer_aux_new(ab, AUDIT_MAC_OBJ_CONTEXTS);
> +               if (error)
> +                       goto error_path;
> +
> +               for (i = 0; i < LSMBLOB_ENTRIES; i++) {
> +                       if (blob->secid[i] == 0)
> +                               continue;
> +                       error = security_secid_to_secctx(blob, &context, i);
> +                       if (error) {
> +                               if (error != -EINVAL)
> +                                       audit_panic("error in audit_log_object_context");
> +                               audit_log_format(ab, "%sobj_%s=?",
> +                                                i ? " " : "",
> +                                                lsm_slot_to_name(i));
> +                       } else {
> +                               audit_log_format(ab, "%sobj_%s=%s",
> +                                                i ? " " : "",
> +                                                lsm_slot_to_name(i),
> +                                                context.context);
> +                               security_release_secctx(&context);
> +                       }
> +               }
> +
> +               audit_buffer_aux_end(ab);
> +       }
> +       return;
> +
> +error_path:
> +       audit_panic("error in audit_log_object_context");
> +}

The comment from patch 26/29 regarding the audit_panic() placement
also applies to audit_log_object_context().

> diff --git a/kernel/auditsc.c b/kernel/auditsc.c
> index 7848e7351cf9..923e4e3a5697 100644
> --- a/kernel/auditsc.c
> +++ b/kernel/auditsc.c
> @@ -1114,36 +1114,25 @@ static inline void audit_free_context(struct audit_context *context)
>         kfree(context);
>  }
>
> -static int audit_log_pid_context(struct audit_context *context, pid_t pid,
> -                                kuid_t auid, kuid_t uid,
> -                                unsigned int sessionid,
> -                                struct lsmblob *blob, char *comm)
> +static void audit_log_pid_context(struct audit_context *context, pid_t pid,
> +                                 kuid_t auid, kuid_t uid,
> +                                 unsigned int sessionid,
> +                                 struct lsmblob *blob, char *comm)
>  {
>         struct audit_buffer *ab;
> -       struct lsmcontext lsmctx;
> -       int rc = 0;
>
>         ab = audit_log_start(context, GFP_KERNEL, AUDIT_OBJ_PID);
>         if (!ab)
> -               return rc;
> +               return;
>
>         audit_log_format(ab, "opid=%d oauid=%d ouid=%d oses=%d", pid,
>                          from_kuid(&init_user_ns, auid),
>                          from_kuid(&init_user_ns, uid), sessionid);
> -       if (lsmblob_is_set(blob)) {
> -               if (security_secid_to_secctx(blob, &lsmctx, LSMBLOB_FIRST)) {
> -                       audit_log_format(ab, " obj=(none)");
> -                       rc = 1;
> -               } else {
> -                       audit_log_format(ab, " obj=%s", lsmctx.context);
> -                       security_release_secctx(&lsmctx);
> -               }
> -       }
> +       if (lsmblob_is_set(blob))
> +               audit_log_object_context(ab, blob);
>         audit_log_format(ab, " ocomm=");
>         audit_log_untrustedstring(ab, comm);
>         audit_log_end(ab);
> -
> -       return rc;
>  }
>
>  static void audit_log_execve_info(struct audit_context *context,
> @@ -1373,18 +1362,10 @@ static void show_special(struct audit_context *context, int *call_panic)
>                                  from_kgid(&init_user_ns, context->ipc.gid),
>                                  context->ipc.mode);
>                 if (osid) {
> -                       struct lsmcontext lsmcxt;
>                         struct lsmblob blob;
>
>                         lsmblob_init(&blob, osid);
> -                       if (security_secid_to_secctx(&blob, &lsmcxt,
> -                                                    LSMBLOB_FIRST)) {
> -                               audit_log_format(ab, " osid=%u", osid);
> -                               *call_panic = 1;
> -                       } else {
> -                               audit_log_format(ab, " obj=%s", lsmcxt.context);
> -                               security_release_secctx(&lsmcxt);
> -                       }
> +                       audit_log_object_context(ab, &blob);

While we lose the "osid=X" in case of failure, the secid/SID is a
private kernel value meaning it was always of questionable value.


--
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 26/29] Audit: Add record for multiple task security contexts
From: Paul Moore @ 2022-03-15 23:47 UTC (permalink / raw)
  To: Casey Schaufler
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <20220310234632.16194-27-casey@schaufler-ca.com>

On Thu, Mar 10, 2022 at 6:59 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
>
> Create a new audit record AUDIT_MAC_TASK_CONTEXTS.
> An example of the MAC_TASK_CONTEXTS (1420) record is:
>
>     type=MAC_TASK_CONTEXTS[1420]
>     msg=audit(1600880931.832:113)
>     subj_apparmor=unconfined
>     subj_smack=_
>
> When an audit event includes a AUDIT_MAC_TASK_CONTEXTS record
> the "subj=" field in other records in the event will be "subj=?".
> An AUDIT_MAC_TASK_CONTEXTS record is supplied when the system has
> multiple security modules that may make access decisions based
> on a subject security context.
>
> Functions are created to manage the skb list in the audit_buffer.
>
> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
> ---
>  include/uapi/linux/audit.h |   1 +
>  kernel/audit.c             | 104 ++++++++++++++++++++++++++++++++-----
>  2 files changed, 93 insertions(+), 12 deletions(-)
>
> diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
> index 8eda133ca4c1..af0aaccfaf57 100644
> --- a/include/uapi/linux/audit.h
> +++ b/include/uapi/linux/audit.h
> @@ -143,6 +143,7 @@
>  #define AUDIT_MAC_UNLBL_STCDEL 1417    /* NetLabel: del a static label */
>  #define AUDIT_MAC_CALIPSO_ADD  1418    /* NetLabel: add CALIPSO DOI entry */
>  #define AUDIT_MAC_CALIPSO_DEL  1419    /* NetLabel: del CALIPSO DOI entry */
> +#define AUDIT_MAC_TASK_CONTEXTS        1420    /* Multiple LSM task contexts */
>
>  #define AUDIT_FIRST_KERN_ANOM_MSG   1700
>  #define AUDIT_LAST_KERN_ANOM_MSG    1799
> diff --git a/kernel/audit.c b/kernel/audit.c
> index 4713e66a12af..ad825af203cf 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -2147,8 +2147,65 @@ void audit_log_key(struct audit_buffer *ab, char *key)
>                 audit_log_format(ab, "(null)");
>  }
>
> +/*
> + * A brief note on aux record management.
> + *
> + * Aux records are allocated and added to the skb list of
> + * the "main" record. The ab->skb is reset to point to the
> + * aux record on its creation. When the aux record in complete
                                                      ^^
                                                     "is"
> + * ab->skb has to be reset to point to the "main" record.
> + * This allows the audit_log_ functions to be ignorant of
> + * which kind of record it is logging to. It also avoids adding
> + * special data for aux records.
> + */

It might be good to move the above comment into the
audit_buffer_aux_new() comment header (below) so it does not get
misplaced.

> +/**
> + * audit_buffer_aux_new - Add an aux record buffer to the skb list
> + * @ab: audit_buffer
> + * @type: message type
> + *
> + * On success ab->skb will point to the new aux record.
> + * Returns 0 on success, -ENOMEM should allocation fail.
> + */
> +static int audit_buffer_aux_new(struct audit_buffer *ab, int type)

...

> @@ -2157,16 +2214,44 @@ int audit_log_task_context(struct audit_buffer *ab)
>         if (!lsmblob_is_set(&blob))
>                 return 0;
>
> -       error = security_secid_to_secctx(&blob, &context, LSMBLOB_FIRST);
> +       if (!lsm_multiple_contexts()) {
> +               error = security_secid_to_secctx(&blob, &context,
> +                                                LSMBLOB_FIRST);
> +               if (error) {
> +                       if (error != -EINVAL)
> +                               goto error_path;
> +                       return 0;
> +               }
>
> -       if (error) {
> -               if (error != -EINVAL)
> +               audit_log_format(ab, " subj=%s", context.context);
> +               security_release_secctx(&context);
> +       } else {
> +               /* Multiple LSMs provide contexts. Include an aux record. */
> +               audit_log_format(ab, " subj=?");
> +               error = audit_buffer_aux_new(ab, AUDIT_MAC_TASK_CONTEXTS);
> +               if (error)
>                         goto error_path;
> -               return 0;
> +               for (i = 0; i < LSMBLOB_ENTRIES; i++) {
> +                       if (blob.secid[i] == 0)
> +                               continue;
> +                       error = security_secid_to_secctx(&blob, &context, i);
> +                       if (error) {
> +                               if (error != -EINVAL)
> +                                       audit_panic("error in audit_log_task_context");
> +                               audit_log_format(ab, "%ssubj_%s=?",
> +                                                i ? " " : "",
> +                                                lsm_slot_to_name(i));

I wonder if it might be better to record the "subj_smack=?" field
before checking @error and potentially calling audit_panic().  In
practice it likely shouldn't matter, I feel better if we at least
record the subject information before we call the wildcard that is
audit_panic().

> +                       } else {
> +                               audit_log_format(ab, "%ssubj_%s=%s",
> +                                                i ? " " : "",
> +                                                lsm_slot_to_name(i),
> +                                                context.context);
> +                               security_release_secctx(&context);
> +                       }
> +               }
> +               audit_buffer_aux_end(ab);
>         }
>
> -       audit_log_format(ab, " subj=%s", context.context);
> -       security_release_secctx(&context);
>         return 0;
>
>  error_path:
> @@ -2382,13 +2467,8 @@ int audit_signal_info(int sig, struct task_struct *t)
>  }
>
>  /**
> - * __audit_log_end - end one audit record
> + * __audit_log_end - send one audit record

If we want to be very nit-picky here, "end" is more correct than
"send".  First, audit_log_end() doesn't actually send the record, it
just queues the record for the kauditd_thread which then attempts to
send it.  Second, there is no guarantee that the record will actually
be sent at this point, although it would be nice if that were true :)

>   * @skb: the buffer to send
> - *
> - * We can not do a netlink send inside an irq context because it blocks (last
> - * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a
> - * queue and a kthread is scheduled to remove them from the queue outside the
> - * irq context.  May be called in any context.
>   */

This should probably be moved to patch 25/29 as it has more to do with
the __audit_log_end() introduction than this patch.


--
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 25/29] Audit: Allow multiple records in an audit_buffer
From: Paul Moore @ 2022-03-15 23:47 UTC (permalink / raw)
  To: Casey Schaufler
  Cc: john.johansen, selinux, jmorris, linux-kernel,
	linux-security-module, linux-audit, casey.schaufler
In-Reply-To: <20220310234632.16194-26-casey@schaufler-ca.com>

On Thu, Mar 10, 2022 at 6:59 PM Casey Schaufler <casey@schaufler-ca.com> wrote:
>
> Replace the single skb pointer in an audit_buffer with
> a list of skb pointers. Add the audit_stamp information
> to the audit_buffer as there's no guarantee that there
> will be an audit_context containing the stamp associated
> with the event. At audit_log_end() time create auxiliary
> records (none are currently defined) as have been added
> to the list.
>
> Suggested-by: Paul Moore <paul@paul-moore.com>
> Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
> ---
>  kernel/audit.c | 53 +++++++++++++++++++++++++++++++++-----------------
>  1 file changed, 35 insertions(+), 18 deletions(-)
>
> diff --git a/kernel/audit.c b/kernel/audit.c
> index f012c3786264..4713e66a12af 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -197,8 +197,10 @@ static struct audit_ctl_mutex {
>   * to place it on a transmit queue.  Multiple audit_buffers can be in
>   * use simultaneously. */
>  struct audit_buffer {
> -       struct sk_buff       *skb;      /* formatted skb ready to send */
> +       struct sk_buff       *skb;      /* the skb for audit_log functions */
> +       struct sk_buff_head  skb_list;  /* formatted skbs, ready to send */
>         struct audit_context *ctx;      /* NULL or associated context */
> +       struct audit_stamp   stamp;     /* audit stamp for these records */
>         gfp_t                gfp_mask;
>  };
>
> @@ -1744,7 +1746,6 @@ static void audit_buffer_free(struct audit_buffer *ab)
>         if (!ab)
>                 return;
>
> -       kfree_skb(ab->skb);

I like the safety in knowing that audit_buffer_free() would free the
ab->skb memory, I'm not sure I want to get rid of that.  With the
understanding that ab->skb is always going to be present somewhere in
ab->skb_list, any reason not to do something like this?

  while ((skb = skb_dequeue(&ab->skb_list)))
    kfree_skb(skb);

>         kmem_cache_free(audit_buffer_cache, ab);
>  }
>
> @@ -1760,11 +1761,15 @@ static struct audit_buffer *audit_buffer_alloc(struct audit_context *ctx,
>         ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask);
>         if (!ab->skb)
>                 goto err;
> -       if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0))
> +       if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0)) {
> +               kfree_skb(ab->skb);
>                 goto err;
> +       }

Assuming we restore the audit_buffer_free() functionality as mentioned
above, if we move the ab->skb_list init and enqueue calls before we
attempt the nlmsg_put() we can drop the kfree_skb() call and just use
the existing audit_buffer_free() call at the err target.


>         ab->ctx = ctx;
>         ab->gfp_mask = gfp_mask;
> +       skb_queue_head_init(&ab->skb_list);
> +       skb_queue_tail(&ab->skb_list, ab->skb);
>
>         return ab;
>

--
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 13/29] LSM: Use lsmblob in security_cred_getsecid
From: kernel test robot @ 2022-03-12  4:50 UTC (permalink / raw)
  To: Casey Schaufler, casey.schaufler, jmorris, linux-security-module,
	selinux
  Cc: john.johansen, kbuild-all, linux-kernel, linux-audit,
	linux-integrity
In-Reply-To: <20220310234632.16194-14-casey@schaufler-ca.com>

Hi Casey,

I love your patch! Perhaps something to improve:

[auto build test WARNING on pcmoore-audit/next]
[also build test WARNING on linus/master v5.17-rc7]
[cannot apply to pcmoore-selinux/next jmorris-security/next-testing next-20220310]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next
config: microblaze-randconfig-s031-20220310 (https://download.01.org/0day-ci/archive/20220312/202203121225.Ab2lmSD3-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/0day-ci/linux/commit/77c3979bacdff1630a3c6211db065f2c79412621
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
        git checkout 77c3979bacdff1630a3c6211db065f2c79412621
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> kernel/audit.c:128:25: sparse: sparse: symbol 'audit_sig_lsm' was not declared. Should it be static?
   kernel/audit.c:2197:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/audit.c:2197:9: sparse:     expected struct spinlock [usertype] *lock
   kernel/audit.c:2197:9: sparse:     got struct spinlock [noderef] __rcu *
   kernel/audit.c:2200:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct spinlock [usertype] *lock @@     got struct spinlock [noderef] __rcu * @@
   kernel/audit.c:2200:40: sparse:     expected struct spinlock [usertype] *lock
   kernel/audit.c:2200:40: sparse:     got struct spinlock [noderef] __rcu *

vim +/audit_sig_lsm +128 kernel/audit.c

   124	
   125	/* The identity of the user shutting down the audit system. */
   126	static kuid_t		audit_sig_uid = INVALID_UID;
   127	static pid_t		audit_sig_pid = -1;
 > 128	struct lsmblob		audit_sig_lsm;
   129	

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH 03/17] io_uring: add infra and support for IORING_OP_URING_CMD
From: Luis Chamberlain @ 2022-03-11 20:57 UTC (permalink / raw)
  To: Paul Moore
  Cc: songliubraving, ast, linux-nvme, andrii, a.manzanares, hch,
	javier, daniel, john.fastabend, jmorris, yhs, serge, selinux,
	anuj20.g, kpsingh, linux-block, kbusch, sbates, io-uring,
	Jens Axboe, pankydev8, Kanchan Joshi, kafai,
	linux-security-module, linux-audit, joshiiitr, logang,
	asml.silence
In-Reply-To: <CAHC9VhSNMH8XAKa43kCR8fZj-B1ucCd3R6WXOo3B4z80Bw2Kkw@mail.gmail.com>

On Fri, Mar 11, 2022 at 01:47:51PM -0500, Paul Moore wrote:
> On Fri, Mar 11, 2022 at 12:11 PM Luis Chamberlain <mcgrof@kernel.org> wrote:
> > On Thu, Mar 10, 2022 at 07:43:04PM -0700, Jens Axboe wrote:
> > > On 3/10/22 6:51 PM, Luis Chamberlain wrote:
> > > > On Tue, Mar 08, 2022 at 08:50:51PM +0530, Kanchan Joshi wrote:
> > > >> From: Jens Axboe <axboe@kernel.dk>
> > > >>
> > > >> This is a file private kind of request. io_uring doesn't know what's
> > > >> in this command type, it's for the file_operations->async_cmd()
> > > >> handler to deal with.
> > > >>
> > > >> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> > > >> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
> > > >> ---
> > > >
> > > > <-- snip -->
> > > >
> > > >> +static int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
> > > >> +{
> > > >> +  struct file *file = req->file;
> > > >> +  int ret;
> > > >> +  struct io_uring_cmd *ioucmd = &req->uring_cmd;
> > > >> +
> > > >> +  ioucmd->flags |= issue_flags;
> > > >> +  ret = file->f_op->async_cmd(ioucmd);
> > > >
> > > > I think we're going to have to add a security_file_async_cmd() check
> > > > before this call here. Because otherwise we're enabling to, for
> > > > example, bypass security_file_ioctl() for example using the new
> > > > iouring-cmd interface.
> > > >
> > > > Or is this already thought out with the existing security_uring_*() stuff?
> > >
> > > Unless the request sets .audit_skip, it'll be included already in terms
> > > of logging.
> >
> > Neat.
> 
> [NOTE: added the audit and SELinux lists to the To/CC line]
> 
> Neat, but I think we will need to augment things to support this new
> passthrough mechanism.

That's what my spidey instincts told me.

> The issue is that folks who look at audit logs need to be able to
> piece together what happened on the system using just what they have
> in the logs themselves.  As things currently stand with this patchset,
> the only bit of information they would have to go on would be
> "uring_op=<IORING_OP_URING_CMD>" which isn't very informative :)
> 
> You'll see a similar issue in the newly proposed LSM hook below, we
> need to be able to record information about not only the passthrough
> command, e.g. io_uring_cmd::cmd_op, but also the underlying
> device/handler so that we can put the passthrough command in the right
> context (as far as I can tell io_uring_cmd::cmd_op is specific to the
> device).  We might be able to leverage file_operations::owner::name
> for this, e.g. "uring_passthru_dev=nvme
> uring_passthru_op=<NVME_IOCTL_IO64_CMD>".

OK...

> > > But I'd prefer not to lodge this in with ioctls, unless
> > > we're going to be doing actual ioctls.
> >
> > Oh sure, I have been an advocate to ensure folks don't conflate async_cmd
> > with ioctl. However it *can* enable subsystems to enable ioctl
> > passthrough, but each of those subsystems need to vet for this on their
> > own terms. I'd hate to see / hear some LSM surprises later.
> 
> Same :)  Thanks for bringing this up with us while the patches are
> still in-progress/under-review, I think it makes for a much more
> pleasant experience for everyone.

Sure thing.

> > > But definitely something to keep in mind and make sure that we're under
> > > the right umbrella in terms of auditing and security.
> >
> > Paul, how about something like this for starters (and probably should
> > be squashed into this series so its not a separate commit) ?
> >
> > From f3ddbe822374cc1c7002bd795c1ae486d370cbd1 Mon Sep 17 00:00:00 2001
> > From: Luis Chamberlain <mcgrof@kernel.org>
> > Date: Fri, 11 Mar 2022 08:55:50 -0800
> > Subject: [PATCH] lsm,io_uring: add LSM hooks to for the new async_cmd file op
> >
> > io-uring is extending the struct file_operations to allow a new
> > command which each subsystem can use to enable command passthrough.
> > Add an LSM specific for the command passthrough which enables LSMs
> > to inspect the command details.
> >
> > Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
> > ---
> >  fs/io_uring.c                 | 5 +++++
> >  include/linux/lsm_hook_defs.h | 1 +
> >  include/linux/lsm_hooks.h     | 3 +++
> >  include/linux/security.h      | 5 +++++
> >  security/security.c           | 4 ++++
> >  5 files changed, 18 insertions(+)
> >
> > diff --git a/fs/io_uring.c b/fs/io_uring.c
> > index 3f6eacc98e31..1c4e6b2cb61a 100644
> > --- a/fs/io_uring.c
> > +++ b/fs/io_uring.c
> > @@ -4190,6 +4190,11 @@ static int io_uring_cmd_prep(struct io_kiocb *req,
> >         struct io_ring_ctx *ctx = req->ctx;
> >         struct io_uring_cmd *ioucmd = &req->uring_cmd;
> >         u32 ucmd_flags = READ_ONCE(sqe->uring_cmd_flags);
> > +       int ret;
> > +
> > +       ret = security_uring_async_cmd(ioucmd);
> > +       if (ret)
> > +               return ret;
> 
> As a quick aside, for the LSM/audit folks the lore link for the full
> patchset is here:
> https://lore.kernel.org/io-uring/CA+1E3rJ17F0Rz5UKUnW-LPkWDfPHXG5aeq-ocgNxHfGrxYtAuw@mail.gmail.com/T/#m605e2fb7caf33e8880683fe6b57ade4093ed0643
> 
> Similar to what was discussed above with respect to auditing, I think
> we need to do some extra work here to make it easier for a LSM to put
> the IO request in the proper context.  We have io_uring_cmd::cmd_op
> via the @ioucmd parameter, which is good, but we need to be able to
> associate that with a driver to make sense of it.

It may not always be a driver, it can be built-in stuff.

> In the case of
> audit we could simply use the module name string, which is probably
> ideal as we would want a string anyway, but LSMs will likely want
> something more machine friendly.  That isn't to say we couldn't do a
> strcmp() on the module name string, but for something that aims to
> push performance as much as possible, doing a strcmp() on each
> operation seems a little less than optimal ;)

Yes this is a super hot path...

  Luis

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH 03/17] io_uring: add infra and support for IORING_OP_URING_CMD
From: Paul Moore @ 2022-03-11 21:03 UTC (permalink / raw)
  To: Luis Chamberlain
  Cc: songliubraving, ast, linux-nvme, andrii, a.manzanares, hch,
	javier, daniel, john.fastabend, jmorris, yhs, serge, selinux,
	anuj20.g, kpsingh, linux-block, kbusch, sbates, io-uring,
	Jens Axboe, pankydev8, Kanchan Joshi, kafai,
	linux-security-module, linux-audit, joshiiitr, logang,
	asml.silence
In-Reply-To: <Yiu3x/Fxt/b5rNWB@bombadil.infradead.org>

On Fri, Mar 11, 2022 at 3:57 PM Luis Chamberlain <mcgrof@kernel.org> wrote:
> On Fri, Mar 11, 2022 at 01:47:51PM -0500, Paul Moore wrote:

...

> > Similar to what was discussed above with respect to auditing, I think
> > we need to do some extra work here to make it easier for a LSM to put
> > the IO request in the proper context.  We have io_uring_cmd::cmd_op
> > via the @ioucmd parameter, which is good, but we need to be able to
> > associate that with a driver to make sense of it.
>
> It may not always be a driver, it can be built-in stuff.

Good point, but I believe the argument still applies.  LSMs are going
to need some way to put the cmd_op token in the proper context so that
security policy can be properly enforced.

-- 
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH 03/17] io_uring: add infra and support for IORING_OP_URING_CMD
From: Paul Moore @ 2022-03-11 18:47 UTC (permalink / raw)
  To: Luis Chamberlain, Jens Axboe, linux-security-module, linux-audit
  Cc: songliubraving, ast, linux-nvme, jmorris, a.manzanares, hch,
	javier, daniel, john.fastabend, andrii, yhs, serge, selinux,
	anuj20.g, kpsingh, linux-block, kbusch, sbates, io-uring,
	pankydev8, Kanchan Joshi, kafai, joshiiitr, logang, asml.silence
In-Reply-To: <YiuC1fhEiRdo5bPd@bombadil.infradead.org>

On Fri, Mar 11, 2022 at 12:11 PM Luis Chamberlain <mcgrof@kernel.org> wrote:
> On Thu, Mar 10, 2022 at 07:43:04PM -0700, Jens Axboe wrote:
> > On 3/10/22 6:51 PM, Luis Chamberlain wrote:
> > > On Tue, Mar 08, 2022 at 08:50:51PM +0530, Kanchan Joshi wrote:
> > >> From: Jens Axboe <axboe@kernel.dk>
> > >>
> > >> This is a file private kind of request. io_uring doesn't know what's
> > >> in this command type, it's for the file_operations->async_cmd()
> > >> handler to deal with.
> > >>
> > >> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> > >> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
> > >> ---
> > >
> > > <-- snip -->
> > >
> > >> +static int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags)
> > >> +{
> > >> +  struct file *file = req->file;
> > >> +  int ret;
> > >> +  struct io_uring_cmd *ioucmd = &req->uring_cmd;
> > >> +
> > >> +  ioucmd->flags |= issue_flags;
> > >> +  ret = file->f_op->async_cmd(ioucmd);
> > >
> > > I think we're going to have to add a security_file_async_cmd() check
> > > before this call here. Because otherwise we're enabling to, for
> > > example, bypass security_file_ioctl() for example using the new
> > > iouring-cmd interface.
> > >
> > > Or is this already thought out with the existing security_uring_*() stuff?
> >
> > Unless the request sets .audit_skip, it'll be included already in terms
> > of logging.
>
> Neat.

[NOTE: added the audit and SELinux lists to the To/CC line]

Neat, but I think we will need to augment things to support this new
passthrough mechanism.

The issue is that folks who look at audit logs need to be able to
piece together what happened on the system using just what they have
in the logs themselves.  As things currently stand with this patchset,
the only bit of information they would have to go on would be
"uring_op=<IORING_OP_URING_CMD>" which isn't very informative :)

You'll see a similar issue in the newly proposed LSM hook below, we
need to be able to record information about not only the passthrough
command, e.g. io_uring_cmd::cmd_op, but also the underlying
device/handler so that we can put the passthrough command in the right
context (as far as I can tell io_uring_cmd::cmd_op is specific to the
device).  We might be able to leverage file_operations::owner::name
for this, e.g. "uring_passthru_dev=nvme
uring_passthru_op=<NVME_IOCTL_IO64_CMD>".

> > But I'd prefer not to lodge this in with ioctls, unless
> > we're going to be doing actual ioctls.
>
> Oh sure, I have been an advocate to ensure folks don't conflate async_cmd
> with ioctl. However it *can* enable subsystems to enable ioctl
> passthrough, but each of those subsystems need to vet for this on their
> own terms. I'd hate to see / hear some LSM surprises later.

Same :)  Thanks for bringing this up with us while the patches are
still in-progress/under-review, I think it makes for a much more
pleasant experience for everyone.

> > But definitely something to keep in mind and make sure that we're under
> > the right umbrella in terms of auditing and security.
>
> Paul, how about something like this for starters (and probably should
> be squashed into this series so its not a separate commit) ?
>
> From f3ddbe822374cc1c7002bd795c1ae486d370cbd1 Mon Sep 17 00:00:00 2001
> From: Luis Chamberlain <mcgrof@kernel.org>
> Date: Fri, 11 Mar 2022 08:55:50 -0800
> Subject: [PATCH] lsm,io_uring: add LSM hooks to for the new async_cmd file op
>
> io-uring is extending the struct file_operations to allow a new
> command which each subsystem can use to enable command passthrough.
> Add an LSM specific for the command passthrough which enables LSMs
> to inspect the command details.
>
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
> ---
>  fs/io_uring.c                 | 5 +++++
>  include/linux/lsm_hook_defs.h | 1 +
>  include/linux/lsm_hooks.h     | 3 +++
>  include/linux/security.h      | 5 +++++
>  security/security.c           | 4 ++++
>  5 files changed, 18 insertions(+)
>
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index 3f6eacc98e31..1c4e6b2cb61a 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -4190,6 +4190,11 @@ static int io_uring_cmd_prep(struct io_kiocb *req,
>         struct io_ring_ctx *ctx = req->ctx;
>         struct io_uring_cmd *ioucmd = &req->uring_cmd;
>         u32 ucmd_flags = READ_ONCE(sqe->uring_cmd_flags);
> +       int ret;
> +
> +       ret = security_uring_async_cmd(ioucmd);
> +       if (ret)
> +               return ret;

As a quick aside, for the LSM/audit folks the lore link for the full
patchset is here:
https://lore.kernel.org/io-uring/CA+1E3rJ17F0Rz5UKUnW-LPkWDfPHXG5aeq-ocgNxHfGrxYtAuw@mail.gmail.com/T/#m605e2fb7caf33e8880683fe6b57ade4093ed0643

Similar to what was discussed above with respect to auditing, I think
we need to do some extra work here to make it easier for a LSM to put
the IO request in the proper context.  We have io_uring_cmd::cmd_op
via the @ioucmd parameter, which is good, but we need to be able to
associate that with a driver to make sense of it.  In the case of
audit we could simply use the module name string, which is probably
ideal as we would want a string anyway, but LSMs will likely want
something more machine friendly.  That isn't to say we couldn't do a
strcmp() on the module name string, but for something that aims to
push performance as much as possible, doing a strcmp() on each
operation seems a little less than optimal ;)

-- 
paul-moore.com

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 13/29] LSM: Use lsmblob in security_cred_getsecid
From: kernel test robot @ 2022-03-11  9:16 UTC (permalink / raw)
  To: Casey Schaufler, casey.schaufler, jmorris, linux-security-module,
	selinux
  Cc: john.johansen, kbuild-all, llvm, linux-kernel, linux-audit,
	linux-integrity
In-Reply-To: <20220310234632.16194-14-casey@schaufler-ca.com>

Hi Casey,

I love your patch! Yet something to improve:

[auto build test ERROR on pcmoore-audit/next]
[also build test ERROR on linus/master v5.17-rc7]
[cannot apply to pcmoore-selinux/next jmorris-security/next-testing next-20220310]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next
config: hexagon-randconfig-r041-20220310 (https://download.01.org/0day-ci/archive/20220311/202203111731.kM4VVdt5-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 276ca87382b8f16a65bddac700202924228982f6)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/77c3979bacdff1630a3c6211db065f2c79412621
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
        git checkout 77c3979bacdff1630a3c6211db065f2c79412621
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/android/binder.c:2986:38: error: incompatible pointer types passing 'struct lsmblob *' to parameter of type 'u32 *' (aka 'unsigned int *') [-Werror,-Wincompatible-pointer-types]
                   security_cred_getsecid(proc->cred, &blob);
                                                      ^~~~~
   include/linux/security.h:1126:70: note: passing argument to parameter 'secid' here
   static inline void security_cred_getsecid(const struct cred *c, u32 *secid)
                                                                        ^
   1 error generated.


vim +2986 drivers/android/binder.c

  2699	
  2700	static void binder_transaction(struct binder_proc *proc,
  2701				       struct binder_thread *thread,
  2702				       struct binder_transaction_data *tr, int reply,
  2703				       binder_size_t extra_buffers_size)
  2704	{
  2705		int ret;
  2706		struct binder_transaction *t;
  2707		struct binder_work *w;
  2708		struct binder_work *tcomplete;
  2709		binder_size_t buffer_offset = 0;
  2710		binder_size_t off_start_offset, off_end_offset;
  2711		binder_size_t off_min;
  2712		binder_size_t sg_buf_offset, sg_buf_end_offset;
  2713		binder_size_t user_offset = 0;
  2714		struct binder_proc *target_proc = NULL;
  2715		struct binder_thread *target_thread = NULL;
  2716		struct binder_node *target_node = NULL;
  2717		struct binder_transaction *in_reply_to = NULL;
  2718		struct binder_transaction_log_entry *e;
  2719		uint32_t return_error = 0;
  2720		uint32_t return_error_param = 0;
  2721		uint32_t return_error_line = 0;
  2722		binder_size_t last_fixup_obj_off = 0;
  2723		binder_size_t last_fixup_min_off = 0;
  2724		struct binder_context *context = proc->context;
  2725		int t_debug_id = atomic_inc_return(&binder_last_id);
  2726		char *secctx = NULL;
  2727		u32 secctx_sz = 0;
  2728		struct list_head sgc_head;
  2729		struct list_head pf_head;
  2730		const void __user *user_buffer = (const void __user *)
  2731					(uintptr_t)tr->data.ptr.buffer;
  2732		INIT_LIST_HEAD(&sgc_head);
  2733		INIT_LIST_HEAD(&pf_head);
  2734	
  2735		e = binder_transaction_log_add(&binder_transaction_log);
  2736		e->debug_id = t_debug_id;
  2737		e->call_type = reply ? 2 : !!(tr->flags & TF_ONE_WAY);
  2738		e->from_proc = proc->pid;
  2739		e->from_thread = thread->pid;
  2740		e->target_handle = tr->target.handle;
  2741		e->data_size = tr->data_size;
  2742		e->offsets_size = tr->offsets_size;
  2743		strscpy(e->context_name, proc->context->name, BINDERFS_MAX_NAME);
  2744	
  2745		if (reply) {
  2746			binder_inner_proc_lock(proc);
  2747			in_reply_to = thread->transaction_stack;
  2748			if (in_reply_to == NULL) {
  2749				binder_inner_proc_unlock(proc);
  2750				binder_user_error("%d:%d got reply transaction with no transaction stack\n",
  2751						  proc->pid, thread->pid);
  2752				return_error = BR_FAILED_REPLY;
  2753				return_error_param = -EPROTO;
  2754				return_error_line = __LINE__;
  2755				goto err_empty_call_stack;
  2756			}
  2757			if (in_reply_to->to_thread != thread) {
  2758				spin_lock(&in_reply_to->lock);
  2759				binder_user_error("%d:%d got reply transaction with bad transaction stack, transaction %d has target %d:%d\n",
  2760					proc->pid, thread->pid, in_reply_to->debug_id,
  2761					in_reply_to->to_proc ?
  2762					in_reply_to->to_proc->pid : 0,
  2763					in_reply_to->to_thread ?
  2764					in_reply_to->to_thread->pid : 0);
  2765				spin_unlock(&in_reply_to->lock);
  2766				binder_inner_proc_unlock(proc);
  2767				return_error = BR_FAILED_REPLY;
  2768				return_error_param = -EPROTO;
  2769				return_error_line = __LINE__;
  2770				in_reply_to = NULL;
  2771				goto err_bad_call_stack;
  2772			}
  2773			thread->transaction_stack = in_reply_to->to_parent;
  2774			binder_inner_proc_unlock(proc);
  2775			binder_set_nice(in_reply_to->saved_priority);
  2776			target_thread = binder_get_txn_from_and_acq_inner(in_reply_to);
  2777			if (target_thread == NULL) {
  2778				/* annotation for sparse */
  2779				__release(&target_thread->proc->inner_lock);
  2780				return_error = BR_DEAD_REPLY;
  2781				return_error_line = __LINE__;
  2782				goto err_dead_binder;
  2783			}
  2784			if (target_thread->transaction_stack != in_reply_to) {
  2785				binder_user_error("%d:%d got reply transaction with bad target transaction stack %d, expected %d\n",
  2786					proc->pid, thread->pid,
  2787					target_thread->transaction_stack ?
  2788					target_thread->transaction_stack->debug_id : 0,
  2789					in_reply_to->debug_id);
  2790				binder_inner_proc_unlock(target_thread->proc);
  2791				return_error = BR_FAILED_REPLY;
  2792				return_error_param = -EPROTO;
  2793				return_error_line = __LINE__;
  2794				in_reply_to = NULL;
  2795				target_thread = NULL;
  2796				goto err_dead_binder;
  2797			}
  2798			target_proc = target_thread->proc;
  2799			target_proc->tmp_ref++;
  2800			binder_inner_proc_unlock(target_thread->proc);
  2801		} else {
  2802			if (tr->target.handle) {
  2803				struct binder_ref *ref;
  2804	
  2805				/*
  2806				 * There must already be a strong ref
  2807				 * on this node. If so, do a strong
  2808				 * increment on the node to ensure it
  2809				 * stays alive until the transaction is
  2810				 * done.
  2811				 */
  2812				binder_proc_lock(proc);
  2813				ref = binder_get_ref_olocked(proc, tr->target.handle,
  2814							     true);
  2815				if (ref) {
  2816					target_node = binder_get_node_refs_for_txn(
  2817							ref->node, &target_proc,
  2818							&return_error);
  2819				} else {
  2820					binder_user_error("%d:%d got transaction to invalid handle, %u\n",
  2821							  proc->pid, thread->pid, tr->target.handle);
  2822					return_error = BR_FAILED_REPLY;
  2823				}
  2824				binder_proc_unlock(proc);
  2825			} else {
  2826				mutex_lock(&context->context_mgr_node_lock);
  2827				target_node = context->binder_context_mgr_node;
  2828				if (target_node)
  2829					target_node = binder_get_node_refs_for_txn(
  2830							target_node, &target_proc,
  2831							&return_error);
  2832				else
  2833					return_error = BR_DEAD_REPLY;
  2834				mutex_unlock(&context->context_mgr_node_lock);
  2835				if (target_node && target_proc->pid == proc->pid) {
  2836					binder_user_error("%d:%d got transaction to context manager from process owning it\n",
  2837							  proc->pid, thread->pid);
  2838					return_error = BR_FAILED_REPLY;
  2839					return_error_param = -EINVAL;
  2840					return_error_line = __LINE__;
  2841					goto err_invalid_target_handle;
  2842				}
  2843			}
  2844			if (!target_node) {
  2845				/*
  2846				 * return_error is set above
  2847				 */
  2848				return_error_param = -EINVAL;
  2849				return_error_line = __LINE__;
  2850				goto err_dead_binder;
  2851			}
  2852			e->to_node = target_node->debug_id;
  2853			if (WARN_ON(proc == target_proc)) {
  2854				return_error = BR_FAILED_REPLY;
  2855				return_error_param = -EINVAL;
  2856				return_error_line = __LINE__;
  2857				goto err_invalid_target_handle;
  2858			}
  2859			if (security_binder_transaction(proc->cred,
  2860							target_proc->cred) < 0) {
  2861				return_error = BR_FAILED_REPLY;
  2862				return_error_param = -EPERM;
  2863				return_error_line = __LINE__;
  2864				goto err_invalid_target_handle;
  2865			}
  2866			binder_inner_proc_lock(proc);
  2867	
  2868			w = list_first_entry_or_null(&thread->todo,
  2869						     struct binder_work, entry);
  2870			if (!(tr->flags & TF_ONE_WAY) && w &&
  2871			    w->type == BINDER_WORK_TRANSACTION) {
  2872				/*
  2873				 * Do not allow new outgoing transaction from a
  2874				 * thread that has a transaction at the head of
  2875				 * its todo list. Only need to check the head
  2876				 * because binder_select_thread_ilocked picks a
  2877				 * thread from proc->waiting_threads to enqueue
  2878				 * the transaction, and nothing is queued to the
  2879				 * todo list while the thread is on waiting_threads.
  2880				 */
  2881				binder_user_error("%d:%d new transaction not allowed when there is a transaction on thread todo\n",
  2882						  proc->pid, thread->pid);
  2883				binder_inner_proc_unlock(proc);
  2884				return_error = BR_FAILED_REPLY;
  2885				return_error_param = -EPROTO;
  2886				return_error_line = __LINE__;
  2887				goto err_bad_todo_list;
  2888			}
  2889	
  2890			if (!(tr->flags & TF_ONE_WAY) && thread->transaction_stack) {
  2891				struct binder_transaction *tmp;
  2892	
  2893				tmp = thread->transaction_stack;
  2894				if (tmp->to_thread != thread) {
  2895					spin_lock(&tmp->lock);
  2896					binder_user_error("%d:%d got new transaction with bad transaction stack, transaction %d has target %d:%d\n",
  2897						proc->pid, thread->pid, tmp->debug_id,
  2898						tmp->to_proc ? tmp->to_proc->pid : 0,
  2899						tmp->to_thread ?
  2900						tmp->to_thread->pid : 0);
  2901					spin_unlock(&tmp->lock);
  2902					binder_inner_proc_unlock(proc);
  2903					return_error = BR_FAILED_REPLY;
  2904					return_error_param = -EPROTO;
  2905					return_error_line = __LINE__;
  2906					goto err_bad_call_stack;
  2907				}
  2908				while (tmp) {
  2909					struct binder_thread *from;
  2910	
  2911					spin_lock(&tmp->lock);
  2912					from = tmp->from;
  2913					if (from && from->proc == target_proc) {
  2914						atomic_inc(&from->tmp_ref);
  2915						target_thread = from;
  2916						spin_unlock(&tmp->lock);
  2917						break;
  2918					}
  2919					spin_unlock(&tmp->lock);
  2920					tmp = tmp->from_parent;
  2921				}
  2922			}
  2923			binder_inner_proc_unlock(proc);
  2924		}
  2925		if (target_thread)
  2926			e->to_thread = target_thread->pid;
  2927		e->to_proc = target_proc->pid;
  2928	
  2929		/* TODO: reuse incoming transaction for reply */
  2930		t = kzalloc(sizeof(*t), GFP_KERNEL);
  2931		if (t == NULL) {
  2932			return_error = BR_FAILED_REPLY;
  2933			return_error_param = -ENOMEM;
  2934			return_error_line = __LINE__;
  2935			goto err_alloc_t_failed;
  2936		}
  2937		INIT_LIST_HEAD(&t->fd_fixups);
  2938		binder_stats_created(BINDER_STAT_TRANSACTION);
  2939		spin_lock_init(&t->lock);
  2940	
  2941		tcomplete = kzalloc(sizeof(*tcomplete), GFP_KERNEL);
  2942		if (tcomplete == NULL) {
  2943			return_error = BR_FAILED_REPLY;
  2944			return_error_param = -ENOMEM;
  2945			return_error_line = __LINE__;
  2946			goto err_alloc_tcomplete_failed;
  2947		}
  2948		binder_stats_created(BINDER_STAT_TRANSACTION_COMPLETE);
  2949	
  2950		t->debug_id = t_debug_id;
  2951	
  2952		if (reply)
  2953			binder_debug(BINDER_DEBUG_TRANSACTION,
  2954				     "%d:%d BC_REPLY %d -> %d:%d, data %016llx-%016llx size %lld-%lld-%lld\n",
  2955				     proc->pid, thread->pid, t->debug_id,
  2956				     target_proc->pid, target_thread->pid,
  2957				     (u64)tr->data.ptr.buffer,
  2958				     (u64)tr->data.ptr.offsets,
  2959				     (u64)tr->data_size, (u64)tr->offsets_size,
  2960				     (u64)extra_buffers_size);
  2961		else
  2962			binder_debug(BINDER_DEBUG_TRANSACTION,
  2963				     "%d:%d BC_TRANSACTION %d -> %d - node %d, data %016llx-%016llx size %lld-%lld-%lld\n",
  2964				     proc->pid, thread->pid, t->debug_id,
  2965				     target_proc->pid, target_node->debug_id,
  2966				     (u64)tr->data.ptr.buffer,
  2967				     (u64)tr->data.ptr.offsets,
  2968				     (u64)tr->data_size, (u64)tr->offsets_size,
  2969				     (u64)extra_buffers_size);
  2970	
  2971		if (!reply && !(tr->flags & TF_ONE_WAY))
  2972			t->from = thread;
  2973		else
  2974			t->from = NULL;
  2975		t->sender_euid = task_euid(proc->tsk);
  2976		t->to_proc = target_proc;
  2977		t->to_thread = target_thread;
  2978		t->code = tr->code;
  2979		t->flags = tr->flags;
  2980		t->priority = task_nice(current);
  2981	
  2982		if (target_node && target_node->txn_security_ctx) {
  2983			struct lsmblob blob;
  2984			size_t added_size;
  2985	
> 2986			security_cred_getsecid(proc->cred, &blob);
  2987			ret = security_secid_to_secctx(&blob, &secctx, &secctx_sz);
  2988			if (ret) {
  2989				return_error = BR_FAILED_REPLY;
  2990				return_error_param = ret;
  2991				return_error_line = __LINE__;
  2992				goto err_get_secctx_failed;
  2993			}
  2994			added_size = ALIGN(secctx_sz, sizeof(u64));
  2995			extra_buffers_size += added_size;
  2996			if (extra_buffers_size < added_size) {
  2997				/* integer overflow of extra_buffers_size */
  2998				return_error = BR_FAILED_REPLY;
  2999				return_error_param = -EINVAL;
  3000				return_error_line = __LINE__;
  3001				goto err_bad_extra_size;
  3002			}
  3003		}
  3004	
  3005		trace_binder_transaction(reply, t, target_node);
  3006	
  3007		t->buffer = binder_alloc_new_buf(&target_proc->alloc, tr->data_size,
  3008			tr->offsets_size, extra_buffers_size,
  3009			!reply && (t->flags & TF_ONE_WAY), current->tgid);
  3010		if (IS_ERR(t->buffer)) {
  3011			/*
  3012			 * -ESRCH indicates VMA cleared. The target is dying.
  3013			 */
  3014			return_error_param = PTR_ERR(t->buffer);
  3015			return_error = return_error_param == -ESRCH ?
  3016				BR_DEAD_REPLY : BR_FAILED_REPLY;
  3017			return_error_line = __LINE__;
  3018			t->buffer = NULL;
  3019			goto err_binder_alloc_buf_failed;
  3020		}
  3021		if (secctx) {
  3022			int err;
  3023			size_t buf_offset = ALIGN(tr->data_size, sizeof(void *)) +
  3024					    ALIGN(tr->offsets_size, sizeof(void *)) +
  3025					    ALIGN(extra_buffers_size, sizeof(void *)) -
  3026					    ALIGN(secctx_sz, sizeof(u64));
  3027	
  3028			t->security_ctx = (uintptr_t)t->buffer->user_data + buf_offset;
  3029			err = binder_alloc_copy_to_buffer(&target_proc->alloc,
  3030							  t->buffer, buf_offset,
  3031							  secctx, secctx_sz);
  3032			if (err) {
  3033				t->security_ctx = 0;
  3034				WARN_ON(1);
  3035			}
  3036			security_release_secctx(secctx, secctx_sz);
  3037			secctx = NULL;
  3038		}
  3039		t->buffer->debug_id = t->debug_id;
  3040		t->buffer->transaction = t;
  3041		t->buffer->target_node = target_node;
  3042		t->buffer->clear_on_free = !!(t->flags & TF_CLEAR_BUF);
  3043		trace_binder_transaction_alloc_buf(t->buffer);
  3044	
  3045		if (binder_alloc_copy_user_to_buffer(
  3046					&target_proc->alloc,
  3047					t->buffer,
  3048					ALIGN(tr->data_size, sizeof(void *)),
  3049					(const void __user *)
  3050						(uintptr_t)tr->data.ptr.offsets,
  3051					tr->offsets_size)) {
  3052			binder_user_error("%d:%d got transaction with invalid offsets ptr\n",
  3053					proc->pid, thread->pid);
  3054			return_error = BR_FAILED_REPLY;
  3055			return_error_param = -EFAULT;
  3056			return_error_line = __LINE__;
  3057			goto err_copy_data_failed;
  3058		}
  3059		if (!IS_ALIGNED(tr->offsets_size, sizeof(binder_size_t))) {
  3060			binder_user_error("%d:%d got transaction with invalid offsets size, %lld\n",
  3061					proc->pid, thread->pid, (u64)tr->offsets_size);
  3062			return_error = BR_FAILED_REPLY;
  3063			return_error_param = -EINVAL;
  3064			return_error_line = __LINE__;
  3065			goto err_bad_offset;
  3066		}
  3067		if (!IS_ALIGNED(extra_buffers_size, sizeof(u64))) {
  3068			binder_user_error("%d:%d got transaction with unaligned buffers size, %lld\n",
  3069					  proc->pid, thread->pid,
  3070					  (u64)extra_buffers_size);
  3071			return_error = BR_FAILED_REPLY;
  3072			return_error_param = -EINVAL;
  3073			return_error_line = __LINE__;
  3074			goto err_bad_offset;
  3075		}
  3076		off_start_offset = ALIGN(tr->data_size, sizeof(void *));
  3077		buffer_offset = off_start_offset;
  3078		off_end_offset = off_start_offset + tr->offsets_size;
  3079		sg_buf_offset = ALIGN(off_end_offset, sizeof(void *));
  3080		sg_buf_end_offset = sg_buf_offset + extra_buffers_size -
  3081			ALIGN(secctx_sz, sizeof(u64));
  3082		off_min = 0;
  3083		for (buffer_offset = off_start_offset; buffer_offset < off_end_offset;
  3084		     buffer_offset += sizeof(binder_size_t)) {
  3085			struct binder_object_header *hdr;
  3086			size_t object_size;
  3087			struct binder_object object;
  3088			binder_size_t object_offset;
  3089			binder_size_t copy_size;
  3090	
  3091			if (binder_alloc_copy_from_buffer(&target_proc->alloc,
  3092							  &object_offset,
  3093							  t->buffer,
  3094							  buffer_offset,
  3095							  sizeof(object_offset))) {
  3096				return_error = BR_FAILED_REPLY;
  3097				return_error_param = -EINVAL;
  3098				return_error_line = __LINE__;
  3099				goto err_bad_offset;
  3100			}
  3101	
  3102			/*
  3103			 * Copy the source user buffer up to the next object
  3104			 * that will be processed.
  3105			 */
  3106			copy_size = object_offset - user_offset;
  3107			if (copy_size && (user_offset > object_offset ||
  3108					binder_alloc_copy_user_to_buffer(
  3109						&target_proc->alloc,
  3110						t->buffer, user_offset,
  3111						user_buffer + user_offset,
  3112						copy_size))) {
  3113				binder_user_error("%d:%d got transaction with invalid data ptr\n",
  3114						proc->pid, thread->pid);
  3115				return_error = BR_FAILED_REPLY;
  3116				return_error_param = -EFAULT;
  3117				return_error_line = __LINE__;
  3118				goto err_copy_data_failed;
  3119			}
  3120			object_size = binder_get_object(target_proc, user_buffer,
  3121					t->buffer, object_offset, &object);
  3122			if (object_size == 0 || object_offset < off_min) {
  3123				binder_user_error("%d:%d got transaction with invalid offset (%lld, min %lld max %lld) or object.\n",
  3124						  proc->pid, thread->pid,
  3125						  (u64)object_offset,
  3126						  (u64)off_min,
  3127						  (u64)t->buffer->data_size);
  3128				return_error = BR_FAILED_REPLY;
  3129				return_error_param = -EINVAL;
  3130				return_error_line = __LINE__;
  3131				goto err_bad_offset;
  3132			}
  3133			/*
  3134			 * Set offset to the next buffer fragment to be
  3135			 * copied
  3136			 */
  3137			user_offset = object_offset + object_size;
  3138	
  3139			hdr = &object.hdr;
  3140			off_min = object_offset + object_size;
  3141			switch (hdr->type) {
  3142			case BINDER_TYPE_BINDER:
  3143			case BINDER_TYPE_WEAK_BINDER: {
  3144				struct flat_binder_object *fp;
  3145	
  3146				fp = to_flat_binder_object(hdr);
  3147				ret = binder_translate_binder(fp, t, thread);
  3148	
  3149				if (ret < 0 ||
  3150				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3151								t->buffer,
  3152								object_offset,
  3153								fp, sizeof(*fp))) {
  3154					return_error = BR_FAILED_REPLY;
  3155					return_error_param = ret;
  3156					return_error_line = __LINE__;
  3157					goto err_translate_failed;
  3158				}
  3159			} break;
  3160			case BINDER_TYPE_HANDLE:
  3161			case BINDER_TYPE_WEAK_HANDLE: {
  3162				struct flat_binder_object *fp;
  3163	
  3164				fp = to_flat_binder_object(hdr);
  3165				ret = binder_translate_handle(fp, t, thread);
  3166				if (ret < 0 ||
  3167				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3168								t->buffer,
  3169								object_offset,
  3170								fp, sizeof(*fp))) {
  3171					return_error = BR_FAILED_REPLY;
  3172					return_error_param = ret;
  3173					return_error_line = __LINE__;
  3174					goto err_translate_failed;
  3175				}
  3176			} break;
  3177	
  3178			case BINDER_TYPE_FD: {
  3179				struct binder_fd_object *fp = to_binder_fd_object(hdr);
  3180				binder_size_t fd_offset = object_offset +
  3181					(uintptr_t)&fp->fd - (uintptr_t)fp;
  3182				int ret = binder_translate_fd(fp->fd, fd_offset, t,
  3183							      thread, in_reply_to);
  3184	
  3185				fp->pad_binder = 0;
  3186				if (ret < 0 ||
  3187				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3188								t->buffer,
  3189								object_offset,
  3190								fp, sizeof(*fp))) {
  3191					return_error = BR_FAILED_REPLY;
  3192					return_error_param = ret;
  3193					return_error_line = __LINE__;
  3194					goto err_translate_failed;
  3195				}
  3196			} break;
  3197			case BINDER_TYPE_FDA: {
  3198				struct binder_object ptr_object;
  3199				binder_size_t parent_offset;
  3200				struct binder_object user_object;
  3201				size_t user_parent_size;
  3202				struct binder_fd_array_object *fda =
  3203					to_binder_fd_array_object(hdr);
  3204				size_t num_valid = (buffer_offset - off_start_offset) /
  3205							sizeof(binder_size_t);
  3206				struct binder_buffer_object *parent =
  3207					binder_validate_ptr(target_proc, t->buffer,
  3208							    &ptr_object, fda->parent,
  3209							    off_start_offset,
  3210							    &parent_offset,
  3211							    num_valid);
  3212				if (!parent) {
  3213					binder_user_error("%d:%d got transaction with invalid parent offset or type\n",
  3214							  proc->pid, thread->pid);
  3215					return_error = BR_FAILED_REPLY;
  3216					return_error_param = -EINVAL;
  3217					return_error_line = __LINE__;
  3218					goto err_bad_parent;
  3219				}
  3220				if (!binder_validate_fixup(target_proc, t->buffer,
  3221							   off_start_offset,
  3222							   parent_offset,
  3223							   fda->parent_offset,
  3224							   last_fixup_obj_off,
  3225							   last_fixup_min_off)) {
  3226					binder_user_error("%d:%d got transaction with out-of-order buffer fixup\n",
  3227							  proc->pid, thread->pid);
  3228					return_error = BR_FAILED_REPLY;
  3229					return_error_param = -EINVAL;
  3230					return_error_line = __LINE__;
  3231					goto err_bad_parent;
  3232				}
  3233				/*
  3234				 * We need to read the user version of the parent
  3235				 * object to get the original user offset
  3236				 */
  3237				user_parent_size =
  3238					binder_get_object(proc, user_buffer, t->buffer,
  3239							  parent_offset, &user_object);
  3240				if (user_parent_size != sizeof(user_object.bbo)) {
  3241					binder_user_error("%d:%d invalid ptr object size: %zd vs %zd\n",
  3242							  proc->pid, thread->pid,
  3243							  user_parent_size,
  3244							  sizeof(user_object.bbo));
  3245					return_error = BR_FAILED_REPLY;
  3246					return_error_param = -EINVAL;
  3247					return_error_line = __LINE__;
  3248					goto err_bad_parent;
  3249				}
  3250				ret = binder_translate_fd_array(&pf_head, fda,
  3251								user_buffer, parent,
  3252								&user_object.bbo, t,
  3253								thread, in_reply_to);
  3254				if (!ret)
  3255					ret = binder_alloc_copy_to_buffer(&target_proc->alloc,
  3256									  t->buffer,
  3257									  object_offset,
  3258									  fda, sizeof(*fda));
  3259				if (ret) {
  3260					return_error = BR_FAILED_REPLY;
  3261					return_error_param = ret > 0 ? -EINVAL : ret;
  3262					return_error_line = __LINE__;
  3263					goto err_translate_failed;
  3264				}
  3265				last_fixup_obj_off = parent_offset;
  3266				last_fixup_min_off =
  3267					fda->parent_offset + sizeof(u32) * fda->num_fds;
  3268			} break;
  3269			case BINDER_TYPE_PTR: {
  3270				struct binder_buffer_object *bp =
  3271					to_binder_buffer_object(hdr);
  3272				size_t buf_left = sg_buf_end_offset - sg_buf_offset;
  3273				size_t num_valid;
  3274	
  3275				if (bp->length > buf_left) {
  3276					binder_user_error("%d:%d got transaction with too large buffer\n",
  3277							  proc->pid, thread->pid);
  3278					return_error = BR_FAILED_REPLY;
  3279					return_error_param = -EINVAL;
  3280					return_error_line = __LINE__;
  3281					goto err_bad_offset;
  3282				}
  3283				ret = binder_defer_copy(&sgc_head, sg_buf_offset,
  3284					(const void __user *)(uintptr_t)bp->buffer,
  3285					bp->length);
  3286				if (ret) {
  3287					return_error = BR_FAILED_REPLY;
  3288					return_error_param = ret;
  3289					return_error_line = __LINE__;
  3290					goto err_translate_failed;
  3291				}
  3292				/* Fixup buffer pointer to target proc address space */
  3293				bp->buffer = (uintptr_t)
  3294					t->buffer->user_data + sg_buf_offset;
  3295				sg_buf_offset += ALIGN(bp->length, sizeof(u64));
  3296	
  3297				num_valid = (buffer_offset - off_start_offset) /
  3298						sizeof(binder_size_t);
  3299				ret = binder_fixup_parent(&pf_head, t,
  3300							  thread, bp,
  3301							  off_start_offset,
  3302							  num_valid,
  3303							  last_fixup_obj_off,
  3304							  last_fixup_min_off);
  3305				if (ret < 0 ||
  3306				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3307								t->buffer,
  3308								object_offset,
  3309								bp, sizeof(*bp))) {
  3310					return_error = BR_FAILED_REPLY;
  3311					return_error_param = ret;
  3312					return_error_line = __LINE__;
  3313					goto err_translate_failed;
  3314				}
  3315				last_fixup_obj_off = object_offset;
  3316				last_fixup_min_off = 0;
  3317			} break;
  3318			default:
  3319				binder_user_error("%d:%d got transaction with invalid object type, %x\n",
  3320					proc->pid, thread->pid, hdr->type);
  3321				return_error = BR_FAILED_REPLY;
  3322				return_error_param = -EINVAL;
  3323				return_error_line = __LINE__;
  3324				goto err_bad_object_type;
  3325			}
  3326		}
  3327		/* Done processing objects, copy the rest of the buffer */
  3328		if (binder_alloc_copy_user_to_buffer(
  3329					&target_proc->alloc,
  3330					t->buffer, user_offset,
  3331					user_buffer + user_offset,
  3332					tr->data_size - user_offset)) {
  3333			binder_user_error("%d:%d got transaction with invalid data ptr\n",
  3334					proc->pid, thread->pid);
  3335			return_error = BR_FAILED_REPLY;
  3336			return_error_param = -EFAULT;
  3337			return_error_line = __LINE__;
  3338			goto err_copy_data_failed;
  3339		}
  3340	
  3341		ret = binder_do_deferred_txn_copies(&target_proc->alloc, t->buffer,
  3342						    &sgc_head, &pf_head);
  3343		if (ret) {
  3344			binder_user_error("%d:%d got transaction with invalid offsets ptr\n",
  3345					  proc->pid, thread->pid);
  3346			return_error = BR_FAILED_REPLY;
  3347			return_error_param = ret;
  3348			return_error_line = __LINE__;
  3349			goto err_copy_data_failed;
  3350		}
  3351		if (t->buffer->oneway_spam_suspect)
  3352			tcomplete->type = BINDER_WORK_TRANSACTION_ONEWAY_SPAM_SUSPECT;
  3353		else
  3354			tcomplete->type = BINDER_WORK_TRANSACTION_COMPLETE;
  3355		t->work.type = BINDER_WORK_TRANSACTION;
  3356	
  3357		if (reply) {
  3358			binder_enqueue_thread_work(thread, tcomplete);
  3359			binder_inner_proc_lock(target_proc);
  3360			if (target_thread->is_dead) {
  3361				return_error = BR_DEAD_REPLY;
  3362				binder_inner_proc_unlock(target_proc);
  3363				goto err_dead_proc_or_thread;
  3364			}
  3365			BUG_ON(t->buffer->async_transaction != 0);
  3366			binder_pop_transaction_ilocked(target_thread, in_reply_to);
  3367			binder_enqueue_thread_work_ilocked(target_thread, &t->work);
  3368			target_proc->outstanding_txns++;
  3369			binder_inner_proc_unlock(target_proc);
  3370			wake_up_interruptible_sync(&target_thread->wait);
  3371			binder_free_transaction(in_reply_to);
  3372		} else if (!(t->flags & TF_ONE_WAY)) {
  3373			BUG_ON(t->buffer->async_transaction != 0);
  3374			binder_inner_proc_lock(proc);
  3375			/*
  3376			 * Defer the TRANSACTION_COMPLETE, so we don't return to
  3377			 * userspace immediately; this allows the target process to
  3378			 * immediately start processing this transaction, reducing
  3379			 * latency. We will then return the TRANSACTION_COMPLETE when
  3380			 * the target replies (or there is an error).
  3381			 */
  3382			binder_enqueue_deferred_thread_work_ilocked(thread, tcomplete);
  3383			t->need_reply = 1;
  3384			t->from_parent = thread->transaction_stack;
  3385			thread->transaction_stack = t;
  3386			binder_inner_proc_unlock(proc);
  3387			return_error = binder_proc_transaction(t,
  3388					target_proc, target_thread);
  3389			if (return_error) {
  3390				binder_inner_proc_lock(proc);
  3391				binder_pop_transaction_ilocked(thread, t);
  3392				binder_inner_proc_unlock(proc);
  3393				goto err_dead_proc_or_thread;
  3394			}
  3395		} else {
  3396			BUG_ON(target_node == NULL);
  3397			BUG_ON(t->buffer->async_transaction != 1);
  3398			binder_enqueue_thread_work(thread, tcomplete);
  3399			return_error = binder_proc_transaction(t, target_proc, NULL);
  3400			if (return_error)
  3401				goto err_dead_proc_or_thread;
  3402		}
  3403		if (target_thread)
  3404			binder_thread_dec_tmpref(target_thread);
  3405		binder_proc_dec_tmpref(target_proc);
  3406		if (target_node)
  3407			binder_dec_node_tmpref(target_node);
  3408		/*
  3409		 * write barrier to synchronize with initialization
  3410		 * of log entry
  3411		 */
  3412		smp_wmb();
  3413		WRITE_ONCE(e->debug_id_done, t_debug_id);
  3414		return;
  3415	
  3416	err_dead_proc_or_thread:
  3417		return_error_line = __LINE__;
  3418		binder_dequeue_work(proc, tcomplete);
  3419	err_translate_failed:
  3420	err_bad_object_type:
  3421	err_bad_offset:
  3422	err_bad_parent:
  3423	err_copy_data_failed:
  3424		binder_cleanup_deferred_txn_lists(&sgc_head, &pf_head);
  3425		binder_free_txn_fixups(t);
  3426		trace_binder_transaction_failed_buffer_release(t->buffer);
  3427		binder_transaction_buffer_release(target_proc, NULL, t->buffer,
  3428						  buffer_offset, true);
  3429		if (target_node)
  3430			binder_dec_node_tmpref(target_node);
  3431		target_node = NULL;
  3432		t->buffer->transaction = NULL;
  3433		binder_alloc_free_buf(&target_proc->alloc, t->buffer);
  3434	err_binder_alloc_buf_failed:
  3435	err_bad_extra_size:
  3436		if (secctx)
  3437			security_release_secctx(secctx, secctx_sz);
  3438	err_get_secctx_failed:
  3439		kfree(tcomplete);
  3440		binder_stats_deleted(BINDER_STAT_TRANSACTION_COMPLETE);
  3441	err_alloc_tcomplete_failed:
  3442		if (trace_binder_txn_latency_free_enabled())
  3443			binder_txn_latency_free(t);
  3444		kfree(t);
  3445		binder_stats_deleted(BINDER_STAT_TRANSACTION);
  3446	err_alloc_t_failed:
  3447	err_bad_todo_list:
  3448	err_bad_call_stack:
  3449	err_empty_call_stack:
  3450	err_dead_binder:
  3451	err_invalid_target_handle:
  3452		if (target_thread)
  3453			binder_thread_dec_tmpref(target_thread);
  3454		if (target_proc)
  3455			binder_proc_dec_tmpref(target_proc);
  3456		if (target_node) {
  3457			binder_dec_node(target_node, 1, 0);
  3458			binder_dec_node_tmpref(target_node);
  3459		}
  3460	
  3461		binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
  3462			     "%d:%d transaction failed %d/%d, size %lld-%lld line %d\n",
  3463			     proc->pid, thread->pid, return_error, return_error_param,
  3464			     (u64)tr->data_size, (u64)tr->offsets_size,
  3465			     return_error_line);
  3466	
  3467		{
  3468			struct binder_transaction_log_entry *fe;
  3469	
  3470			e->return_error = return_error;
  3471			e->return_error_param = return_error_param;
  3472			e->return_error_line = return_error_line;
  3473			fe = binder_transaction_log_add(&binder_transaction_log_failed);
  3474			*fe = *e;
  3475			/*
  3476			 * write barrier to synchronize with initialization
  3477			 * of log entry
  3478			 */
  3479			smp_wmb();
  3480			WRITE_ONCE(e->debug_id_done, t_debug_id);
  3481			WRITE_ONCE(fe->debug_id_done, t_debug_id);
  3482		}
  3483	
  3484		BUG_ON(thread->return_error.cmd != BR_OK);
  3485		if (in_reply_to) {
  3486			thread->return_error.cmd = BR_TRANSACTION_COMPLETE;
  3487			binder_enqueue_thread_work(thread, &thread->return_error.work);
  3488			binder_send_failed_reply(in_reply_to, return_error);
  3489		} else {
  3490			thread->return_error.cmd = return_error;
  3491			binder_enqueue_thread_work(thread, &thread->return_error.work);
  3492		}
  3493	}
  3494	

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 13/29] LSM: Use lsmblob in security_cred_getsecid
From: kernel test robot @ 2022-03-11  7:52 UTC (permalink / raw)
  To: Casey Schaufler, casey.schaufler, jmorris, linux-security-module,
	selinux
  Cc: john.johansen, kbuild-all, linux-kernel, linux-audit,
	linux-integrity
In-Reply-To: <20220310234632.16194-14-casey@schaufler-ca.com>

Hi Casey,

I love your patch! Yet something to improve:

[auto build test ERROR on pcmoore-audit/next]
[also build test ERROR on linus/master v5.17-rc7]
[cannot apply to pcmoore-selinux/next jmorris-security/next-testing next-20220310]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next
config: arc-randconfig-r043-20220310 (https://download.01.org/0day-ci/archive/20220311/202203111533.VLOzBETK-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/77c3979bacdff1630a3c6211db065f2c79412621
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
        git checkout 77c3979bacdff1630a3c6211db065f2c79412621
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/android/binder.c: In function 'binder_transaction':
>> drivers/android/binder.c:2986:52: error: passing argument 2 of 'security_cred_getsecid' from incompatible pointer type [-Werror=incompatible-pointer-types]
    2986 |                 security_cred_getsecid(proc->cred, &blob);
         |                                                    ^~~~~
         |                                                    |
         |                                                    struct lsmblob *
   In file included from drivers/android/binder.c:63:
   include/linux/security.h:1126:70: note: expected 'u32 *' {aka 'unsigned int *'} but argument is of type 'struct lsmblob *'
    1126 | static inline void security_cred_getsecid(const struct cred *c, u32 *secid)
         |                                                                 ~~~~~^~~~~
   cc1: some warnings being treated as errors


vim +/security_cred_getsecid +2986 drivers/android/binder.c

  2699	
  2700	static void binder_transaction(struct binder_proc *proc,
  2701				       struct binder_thread *thread,
  2702				       struct binder_transaction_data *tr, int reply,
  2703				       binder_size_t extra_buffers_size)
  2704	{
  2705		int ret;
  2706		struct binder_transaction *t;
  2707		struct binder_work *w;
  2708		struct binder_work *tcomplete;
  2709		binder_size_t buffer_offset = 0;
  2710		binder_size_t off_start_offset, off_end_offset;
  2711		binder_size_t off_min;
  2712		binder_size_t sg_buf_offset, sg_buf_end_offset;
  2713		binder_size_t user_offset = 0;
  2714		struct binder_proc *target_proc = NULL;
  2715		struct binder_thread *target_thread = NULL;
  2716		struct binder_node *target_node = NULL;
  2717		struct binder_transaction *in_reply_to = NULL;
  2718		struct binder_transaction_log_entry *e;
  2719		uint32_t return_error = 0;
  2720		uint32_t return_error_param = 0;
  2721		uint32_t return_error_line = 0;
  2722		binder_size_t last_fixup_obj_off = 0;
  2723		binder_size_t last_fixup_min_off = 0;
  2724		struct binder_context *context = proc->context;
  2725		int t_debug_id = atomic_inc_return(&binder_last_id);
  2726		char *secctx = NULL;
  2727		u32 secctx_sz = 0;
  2728		struct list_head sgc_head;
  2729		struct list_head pf_head;
  2730		const void __user *user_buffer = (const void __user *)
  2731					(uintptr_t)tr->data.ptr.buffer;
  2732		INIT_LIST_HEAD(&sgc_head);
  2733		INIT_LIST_HEAD(&pf_head);
  2734	
  2735		e = binder_transaction_log_add(&binder_transaction_log);
  2736		e->debug_id = t_debug_id;
  2737		e->call_type = reply ? 2 : !!(tr->flags & TF_ONE_WAY);
  2738		e->from_proc = proc->pid;
  2739		e->from_thread = thread->pid;
  2740		e->target_handle = tr->target.handle;
  2741		e->data_size = tr->data_size;
  2742		e->offsets_size = tr->offsets_size;
  2743		strscpy(e->context_name, proc->context->name, BINDERFS_MAX_NAME);
  2744	
  2745		if (reply) {
  2746			binder_inner_proc_lock(proc);
  2747			in_reply_to = thread->transaction_stack;
  2748			if (in_reply_to == NULL) {
  2749				binder_inner_proc_unlock(proc);
  2750				binder_user_error("%d:%d got reply transaction with no transaction stack\n",
  2751						  proc->pid, thread->pid);
  2752				return_error = BR_FAILED_REPLY;
  2753				return_error_param = -EPROTO;
  2754				return_error_line = __LINE__;
  2755				goto err_empty_call_stack;
  2756			}
  2757			if (in_reply_to->to_thread != thread) {
  2758				spin_lock(&in_reply_to->lock);
  2759				binder_user_error("%d:%d got reply transaction with bad transaction stack, transaction %d has target %d:%d\n",
  2760					proc->pid, thread->pid, in_reply_to->debug_id,
  2761					in_reply_to->to_proc ?
  2762					in_reply_to->to_proc->pid : 0,
  2763					in_reply_to->to_thread ?
  2764					in_reply_to->to_thread->pid : 0);
  2765				spin_unlock(&in_reply_to->lock);
  2766				binder_inner_proc_unlock(proc);
  2767				return_error = BR_FAILED_REPLY;
  2768				return_error_param = -EPROTO;
  2769				return_error_line = __LINE__;
  2770				in_reply_to = NULL;
  2771				goto err_bad_call_stack;
  2772			}
  2773			thread->transaction_stack = in_reply_to->to_parent;
  2774			binder_inner_proc_unlock(proc);
  2775			binder_set_nice(in_reply_to->saved_priority);
  2776			target_thread = binder_get_txn_from_and_acq_inner(in_reply_to);
  2777			if (target_thread == NULL) {
  2778				/* annotation for sparse */
  2779				__release(&target_thread->proc->inner_lock);
  2780				return_error = BR_DEAD_REPLY;
  2781				return_error_line = __LINE__;
  2782				goto err_dead_binder;
  2783			}
  2784			if (target_thread->transaction_stack != in_reply_to) {
  2785				binder_user_error("%d:%d got reply transaction with bad target transaction stack %d, expected %d\n",
  2786					proc->pid, thread->pid,
  2787					target_thread->transaction_stack ?
  2788					target_thread->transaction_stack->debug_id : 0,
  2789					in_reply_to->debug_id);
  2790				binder_inner_proc_unlock(target_thread->proc);
  2791				return_error = BR_FAILED_REPLY;
  2792				return_error_param = -EPROTO;
  2793				return_error_line = __LINE__;
  2794				in_reply_to = NULL;
  2795				target_thread = NULL;
  2796				goto err_dead_binder;
  2797			}
  2798			target_proc = target_thread->proc;
  2799			target_proc->tmp_ref++;
  2800			binder_inner_proc_unlock(target_thread->proc);
  2801		} else {
  2802			if (tr->target.handle) {
  2803				struct binder_ref *ref;
  2804	
  2805				/*
  2806				 * There must already be a strong ref
  2807				 * on this node. If so, do a strong
  2808				 * increment on the node to ensure it
  2809				 * stays alive until the transaction is
  2810				 * done.
  2811				 */
  2812				binder_proc_lock(proc);
  2813				ref = binder_get_ref_olocked(proc, tr->target.handle,
  2814							     true);
  2815				if (ref) {
  2816					target_node = binder_get_node_refs_for_txn(
  2817							ref->node, &target_proc,
  2818							&return_error);
  2819				} else {
  2820					binder_user_error("%d:%d got transaction to invalid handle, %u\n",
  2821							  proc->pid, thread->pid, tr->target.handle);
  2822					return_error = BR_FAILED_REPLY;
  2823				}
  2824				binder_proc_unlock(proc);
  2825			} else {
  2826				mutex_lock(&context->context_mgr_node_lock);
  2827				target_node = context->binder_context_mgr_node;
  2828				if (target_node)
  2829					target_node = binder_get_node_refs_for_txn(
  2830							target_node, &target_proc,
  2831							&return_error);
  2832				else
  2833					return_error = BR_DEAD_REPLY;
  2834				mutex_unlock(&context->context_mgr_node_lock);
  2835				if (target_node && target_proc->pid == proc->pid) {
  2836					binder_user_error("%d:%d got transaction to context manager from process owning it\n",
  2837							  proc->pid, thread->pid);
  2838					return_error = BR_FAILED_REPLY;
  2839					return_error_param = -EINVAL;
  2840					return_error_line = __LINE__;
  2841					goto err_invalid_target_handle;
  2842				}
  2843			}
  2844			if (!target_node) {
  2845				/*
  2846				 * return_error is set above
  2847				 */
  2848				return_error_param = -EINVAL;
  2849				return_error_line = __LINE__;
  2850				goto err_dead_binder;
  2851			}
  2852			e->to_node = target_node->debug_id;
  2853			if (WARN_ON(proc == target_proc)) {
  2854				return_error = BR_FAILED_REPLY;
  2855				return_error_param = -EINVAL;
  2856				return_error_line = __LINE__;
  2857				goto err_invalid_target_handle;
  2858			}
  2859			if (security_binder_transaction(proc->cred,
  2860							target_proc->cred) < 0) {
  2861				return_error = BR_FAILED_REPLY;
  2862				return_error_param = -EPERM;
  2863				return_error_line = __LINE__;
  2864				goto err_invalid_target_handle;
  2865			}
  2866			binder_inner_proc_lock(proc);
  2867	
  2868			w = list_first_entry_or_null(&thread->todo,
  2869						     struct binder_work, entry);
  2870			if (!(tr->flags & TF_ONE_WAY) && w &&
  2871			    w->type == BINDER_WORK_TRANSACTION) {
  2872				/*
  2873				 * Do not allow new outgoing transaction from a
  2874				 * thread that has a transaction at the head of
  2875				 * its todo list. Only need to check the head
  2876				 * because binder_select_thread_ilocked picks a
  2877				 * thread from proc->waiting_threads to enqueue
  2878				 * the transaction, and nothing is queued to the
  2879				 * todo list while the thread is on waiting_threads.
  2880				 */
  2881				binder_user_error("%d:%d new transaction not allowed when there is a transaction on thread todo\n",
  2882						  proc->pid, thread->pid);
  2883				binder_inner_proc_unlock(proc);
  2884				return_error = BR_FAILED_REPLY;
  2885				return_error_param = -EPROTO;
  2886				return_error_line = __LINE__;
  2887				goto err_bad_todo_list;
  2888			}
  2889	
  2890			if (!(tr->flags & TF_ONE_WAY) && thread->transaction_stack) {
  2891				struct binder_transaction *tmp;
  2892	
  2893				tmp = thread->transaction_stack;
  2894				if (tmp->to_thread != thread) {
  2895					spin_lock(&tmp->lock);
  2896					binder_user_error("%d:%d got new transaction with bad transaction stack, transaction %d has target %d:%d\n",
  2897						proc->pid, thread->pid, tmp->debug_id,
  2898						tmp->to_proc ? tmp->to_proc->pid : 0,
  2899						tmp->to_thread ?
  2900						tmp->to_thread->pid : 0);
  2901					spin_unlock(&tmp->lock);
  2902					binder_inner_proc_unlock(proc);
  2903					return_error = BR_FAILED_REPLY;
  2904					return_error_param = -EPROTO;
  2905					return_error_line = __LINE__;
  2906					goto err_bad_call_stack;
  2907				}
  2908				while (tmp) {
  2909					struct binder_thread *from;
  2910	
  2911					spin_lock(&tmp->lock);
  2912					from = tmp->from;
  2913					if (from && from->proc == target_proc) {
  2914						atomic_inc(&from->tmp_ref);
  2915						target_thread = from;
  2916						spin_unlock(&tmp->lock);
  2917						break;
  2918					}
  2919					spin_unlock(&tmp->lock);
  2920					tmp = tmp->from_parent;
  2921				}
  2922			}
  2923			binder_inner_proc_unlock(proc);
  2924		}
  2925		if (target_thread)
  2926			e->to_thread = target_thread->pid;
  2927		e->to_proc = target_proc->pid;
  2928	
  2929		/* TODO: reuse incoming transaction for reply */
  2930		t = kzalloc(sizeof(*t), GFP_KERNEL);
  2931		if (t == NULL) {
  2932			return_error = BR_FAILED_REPLY;
  2933			return_error_param = -ENOMEM;
  2934			return_error_line = __LINE__;
  2935			goto err_alloc_t_failed;
  2936		}
  2937		INIT_LIST_HEAD(&t->fd_fixups);
  2938		binder_stats_created(BINDER_STAT_TRANSACTION);
  2939		spin_lock_init(&t->lock);
  2940	
  2941		tcomplete = kzalloc(sizeof(*tcomplete), GFP_KERNEL);
  2942		if (tcomplete == NULL) {
  2943			return_error = BR_FAILED_REPLY;
  2944			return_error_param = -ENOMEM;
  2945			return_error_line = __LINE__;
  2946			goto err_alloc_tcomplete_failed;
  2947		}
  2948		binder_stats_created(BINDER_STAT_TRANSACTION_COMPLETE);
  2949	
  2950		t->debug_id = t_debug_id;
  2951	
  2952		if (reply)
  2953			binder_debug(BINDER_DEBUG_TRANSACTION,
  2954				     "%d:%d BC_REPLY %d -> %d:%d, data %016llx-%016llx size %lld-%lld-%lld\n",
  2955				     proc->pid, thread->pid, t->debug_id,
  2956				     target_proc->pid, target_thread->pid,
  2957				     (u64)tr->data.ptr.buffer,
  2958				     (u64)tr->data.ptr.offsets,
  2959				     (u64)tr->data_size, (u64)tr->offsets_size,
  2960				     (u64)extra_buffers_size);
  2961		else
  2962			binder_debug(BINDER_DEBUG_TRANSACTION,
  2963				     "%d:%d BC_TRANSACTION %d -> %d - node %d, data %016llx-%016llx size %lld-%lld-%lld\n",
  2964				     proc->pid, thread->pid, t->debug_id,
  2965				     target_proc->pid, target_node->debug_id,
  2966				     (u64)tr->data.ptr.buffer,
  2967				     (u64)tr->data.ptr.offsets,
  2968				     (u64)tr->data_size, (u64)tr->offsets_size,
  2969				     (u64)extra_buffers_size);
  2970	
  2971		if (!reply && !(tr->flags & TF_ONE_WAY))
  2972			t->from = thread;
  2973		else
  2974			t->from = NULL;
  2975		t->sender_euid = task_euid(proc->tsk);
  2976		t->to_proc = target_proc;
  2977		t->to_thread = target_thread;
  2978		t->code = tr->code;
  2979		t->flags = tr->flags;
  2980		t->priority = task_nice(current);
  2981	
  2982		if (target_node && target_node->txn_security_ctx) {
  2983			struct lsmblob blob;
  2984			size_t added_size;
  2985	
> 2986			security_cred_getsecid(proc->cred, &blob);
  2987			ret = security_secid_to_secctx(&blob, &secctx, &secctx_sz);
  2988			if (ret) {
  2989				return_error = BR_FAILED_REPLY;
  2990				return_error_param = ret;
  2991				return_error_line = __LINE__;
  2992				goto err_get_secctx_failed;
  2993			}
  2994			added_size = ALIGN(secctx_sz, sizeof(u64));
  2995			extra_buffers_size += added_size;
  2996			if (extra_buffers_size < added_size) {
  2997				/* integer overflow of extra_buffers_size */
  2998				return_error = BR_FAILED_REPLY;
  2999				return_error_param = -EINVAL;
  3000				return_error_line = __LINE__;
  3001				goto err_bad_extra_size;
  3002			}
  3003		}
  3004	
  3005		trace_binder_transaction(reply, t, target_node);
  3006	
  3007		t->buffer = binder_alloc_new_buf(&target_proc->alloc, tr->data_size,
  3008			tr->offsets_size, extra_buffers_size,
  3009			!reply && (t->flags & TF_ONE_WAY), current->tgid);
  3010		if (IS_ERR(t->buffer)) {
  3011			/*
  3012			 * -ESRCH indicates VMA cleared. The target is dying.
  3013			 */
  3014			return_error_param = PTR_ERR(t->buffer);
  3015			return_error = return_error_param == -ESRCH ?
  3016				BR_DEAD_REPLY : BR_FAILED_REPLY;
  3017			return_error_line = __LINE__;
  3018			t->buffer = NULL;
  3019			goto err_binder_alloc_buf_failed;
  3020		}
  3021		if (secctx) {
  3022			int err;
  3023			size_t buf_offset = ALIGN(tr->data_size, sizeof(void *)) +
  3024					    ALIGN(tr->offsets_size, sizeof(void *)) +
  3025					    ALIGN(extra_buffers_size, sizeof(void *)) -
  3026					    ALIGN(secctx_sz, sizeof(u64));
  3027	
  3028			t->security_ctx = (uintptr_t)t->buffer->user_data + buf_offset;
  3029			err = binder_alloc_copy_to_buffer(&target_proc->alloc,
  3030							  t->buffer, buf_offset,
  3031							  secctx, secctx_sz);
  3032			if (err) {
  3033				t->security_ctx = 0;
  3034				WARN_ON(1);
  3035			}
  3036			security_release_secctx(secctx, secctx_sz);
  3037			secctx = NULL;
  3038		}
  3039		t->buffer->debug_id = t->debug_id;
  3040		t->buffer->transaction = t;
  3041		t->buffer->target_node = target_node;
  3042		t->buffer->clear_on_free = !!(t->flags & TF_CLEAR_BUF);
  3043		trace_binder_transaction_alloc_buf(t->buffer);
  3044	
  3045		if (binder_alloc_copy_user_to_buffer(
  3046					&target_proc->alloc,
  3047					t->buffer,
  3048					ALIGN(tr->data_size, sizeof(void *)),
  3049					(const void __user *)
  3050						(uintptr_t)tr->data.ptr.offsets,
  3051					tr->offsets_size)) {
  3052			binder_user_error("%d:%d got transaction with invalid offsets ptr\n",
  3053					proc->pid, thread->pid);
  3054			return_error = BR_FAILED_REPLY;
  3055			return_error_param = -EFAULT;
  3056			return_error_line = __LINE__;
  3057			goto err_copy_data_failed;
  3058		}
  3059		if (!IS_ALIGNED(tr->offsets_size, sizeof(binder_size_t))) {
  3060			binder_user_error("%d:%d got transaction with invalid offsets size, %lld\n",
  3061					proc->pid, thread->pid, (u64)tr->offsets_size);
  3062			return_error = BR_FAILED_REPLY;
  3063			return_error_param = -EINVAL;
  3064			return_error_line = __LINE__;
  3065			goto err_bad_offset;
  3066		}
  3067		if (!IS_ALIGNED(extra_buffers_size, sizeof(u64))) {
  3068			binder_user_error("%d:%d got transaction with unaligned buffers size, %lld\n",
  3069					  proc->pid, thread->pid,
  3070					  (u64)extra_buffers_size);
  3071			return_error = BR_FAILED_REPLY;
  3072			return_error_param = -EINVAL;
  3073			return_error_line = __LINE__;
  3074			goto err_bad_offset;
  3075		}
  3076		off_start_offset = ALIGN(tr->data_size, sizeof(void *));
  3077		buffer_offset = off_start_offset;
  3078		off_end_offset = off_start_offset + tr->offsets_size;
  3079		sg_buf_offset = ALIGN(off_end_offset, sizeof(void *));
  3080		sg_buf_end_offset = sg_buf_offset + extra_buffers_size -
  3081			ALIGN(secctx_sz, sizeof(u64));
  3082		off_min = 0;
  3083		for (buffer_offset = off_start_offset; buffer_offset < off_end_offset;
  3084		     buffer_offset += sizeof(binder_size_t)) {
  3085			struct binder_object_header *hdr;
  3086			size_t object_size;
  3087			struct binder_object object;
  3088			binder_size_t object_offset;
  3089			binder_size_t copy_size;
  3090	
  3091			if (binder_alloc_copy_from_buffer(&target_proc->alloc,
  3092							  &object_offset,
  3093							  t->buffer,
  3094							  buffer_offset,
  3095							  sizeof(object_offset))) {
  3096				return_error = BR_FAILED_REPLY;
  3097				return_error_param = -EINVAL;
  3098				return_error_line = __LINE__;
  3099				goto err_bad_offset;
  3100			}
  3101	
  3102			/*
  3103			 * Copy the source user buffer up to the next object
  3104			 * that will be processed.
  3105			 */
  3106			copy_size = object_offset - user_offset;
  3107			if (copy_size && (user_offset > object_offset ||
  3108					binder_alloc_copy_user_to_buffer(
  3109						&target_proc->alloc,
  3110						t->buffer, user_offset,
  3111						user_buffer + user_offset,
  3112						copy_size))) {
  3113				binder_user_error("%d:%d got transaction with invalid data ptr\n",
  3114						proc->pid, thread->pid);
  3115				return_error = BR_FAILED_REPLY;
  3116				return_error_param = -EFAULT;
  3117				return_error_line = __LINE__;
  3118				goto err_copy_data_failed;
  3119			}
  3120			object_size = binder_get_object(target_proc, user_buffer,
  3121					t->buffer, object_offset, &object);
  3122			if (object_size == 0 || object_offset < off_min) {
  3123				binder_user_error("%d:%d got transaction with invalid offset (%lld, min %lld max %lld) or object.\n",
  3124						  proc->pid, thread->pid,
  3125						  (u64)object_offset,
  3126						  (u64)off_min,
  3127						  (u64)t->buffer->data_size);
  3128				return_error = BR_FAILED_REPLY;
  3129				return_error_param = -EINVAL;
  3130				return_error_line = __LINE__;
  3131				goto err_bad_offset;
  3132			}
  3133			/*
  3134			 * Set offset to the next buffer fragment to be
  3135			 * copied
  3136			 */
  3137			user_offset = object_offset + object_size;
  3138	
  3139			hdr = &object.hdr;
  3140			off_min = object_offset + object_size;
  3141			switch (hdr->type) {
  3142			case BINDER_TYPE_BINDER:
  3143			case BINDER_TYPE_WEAK_BINDER: {
  3144				struct flat_binder_object *fp;
  3145	
  3146				fp = to_flat_binder_object(hdr);
  3147				ret = binder_translate_binder(fp, t, thread);
  3148	
  3149				if (ret < 0 ||
  3150				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3151								t->buffer,
  3152								object_offset,
  3153								fp, sizeof(*fp))) {
  3154					return_error = BR_FAILED_REPLY;
  3155					return_error_param = ret;
  3156					return_error_line = __LINE__;
  3157					goto err_translate_failed;
  3158				}
  3159			} break;
  3160			case BINDER_TYPE_HANDLE:
  3161			case BINDER_TYPE_WEAK_HANDLE: {
  3162				struct flat_binder_object *fp;
  3163	
  3164				fp = to_flat_binder_object(hdr);
  3165				ret = binder_translate_handle(fp, t, thread);
  3166				if (ret < 0 ||
  3167				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3168								t->buffer,
  3169								object_offset,
  3170								fp, sizeof(*fp))) {
  3171					return_error = BR_FAILED_REPLY;
  3172					return_error_param = ret;
  3173					return_error_line = __LINE__;
  3174					goto err_translate_failed;
  3175				}
  3176			} break;
  3177	
  3178			case BINDER_TYPE_FD: {
  3179				struct binder_fd_object *fp = to_binder_fd_object(hdr);
  3180				binder_size_t fd_offset = object_offset +
  3181					(uintptr_t)&fp->fd - (uintptr_t)fp;
  3182				int ret = binder_translate_fd(fp->fd, fd_offset, t,
  3183							      thread, in_reply_to);
  3184	
  3185				fp->pad_binder = 0;
  3186				if (ret < 0 ||
  3187				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3188								t->buffer,
  3189								object_offset,
  3190								fp, sizeof(*fp))) {
  3191					return_error = BR_FAILED_REPLY;
  3192					return_error_param = ret;
  3193					return_error_line = __LINE__;
  3194					goto err_translate_failed;
  3195				}
  3196			} break;
  3197			case BINDER_TYPE_FDA: {
  3198				struct binder_object ptr_object;
  3199				binder_size_t parent_offset;
  3200				struct binder_object user_object;
  3201				size_t user_parent_size;
  3202				struct binder_fd_array_object *fda =
  3203					to_binder_fd_array_object(hdr);
  3204				size_t num_valid = (buffer_offset - off_start_offset) /
  3205							sizeof(binder_size_t);
  3206				struct binder_buffer_object *parent =
  3207					binder_validate_ptr(target_proc, t->buffer,
  3208							    &ptr_object, fda->parent,
  3209							    off_start_offset,
  3210							    &parent_offset,
  3211							    num_valid);
  3212				if (!parent) {
  3213					binder_user_error("%d:%d got transaction with invalid parent offset or type\n",
  3214							  proc->pid, thread->pid);
  3215					return_error = BR_FAILED_REPLY;
  3216					return_error_param = -EINVAL;
  3217					return_error_line = __LINE__;
  3218					goto err_bad_parent;
  3219				}
  3220				if (!binder_validate_fixup(target_proc, t->buffer,
  3221							   off_start_offset,
  3222							   parent_offset,
  3223							   fda->parent_offset,
  3224							   last_fixup_obj_off,
  3225							   last_fixup_min_off)) {
  3226					binder_user_error("%d:%d got transaction with out-of-order buffer fixup\n",
  3227							  proc->pid, thread->pid);
  3228					return_error = BR_FAILED_REPLY;
  3229					return_error_param = -EINVAL;
  3230					return_error_line = __LINE__;
  3231					goto err_bad_parent;
  3232				}
  3233				/*
  3234				 * We need to read the user version of the parent
  3235				 * object to get the original user offset
  3236				 */
  3237				user_parent_size =
  3238					binder_get_object(proc, user_buffer, t->buffer,
  3239							  parent_offset, &user_object);
  3240				if (user_parent_size != sizeof(user_object.bbo)) {
  3241					binder_user_error("%d:%d invalid ptr object size: %zd vs %zd\n",
  3242							  proc->pid, thread->pid,
  3243							  user_parent_size,
  3244							  sizeof(user_object.bbo));
  3245					return_error = BR_FAILED_REPLY;
  3246					return_error_param = -EINVAL;
  3247					return_error_line = __LINE__;
  3248					goto err_bad_parent;
  3249				}
  3250				ret = binder_translate_fd_array(&pf_head, fda,
  3251								user_buffer, parent,
  3252								&user_object.bbo, t,
  3253								thread, in_reply_to);
  3254				if (!ret)
  3255					ret = binder_alloc_copy_to_buffer(&target_proc->alloc,
  3256									  t->buffer,
  3257									  object_offset,
  3258									  fda, sizeof(*fda));
  3259				if (ret) {
  3260					return_error = BR_FAILED_REPLY;
  3261					return_error_param = ret > 0 ? -EINVAL : ret;
  3262					return_error_line = __LINE__;
  3263					goto err_translate_failed;
  3264				}
  3265				last_fixup_obj_off = parent_offset;
  3266				last_fixup_min_off =
  3267					fda->parent_offset + sizeof(u32) * fda->num_fds;
  3268			} break;
  3269			case BINDER_TYPE_PTR: {
  3270				struct binder_buffer_object *bp =
  3271					to_binder_buffer_object(hdr);
  3272				size_t buf_left = sg_buf_end_offset - sg_buf_offset;
  3273				size_t num_valid;
  3274	
  3275				if (bp->length > buf_left) {
  3276					binder_user_error("%d:%d got transaction with too large buffer\n",
  3277							  proc->pid, thread->pid);
  3278					return_error = BR_FAILED_REPLY;
  3279					return_error_param = -EINVAL;
  3280					return_error_line = __LINE__;
  3281					goto err_bad_offset;
  3282				}
  3283				ret = binder_defer_copy(&sgc_head, sg_buf_offset,
  3284					(const void __user *)(uintptr_t)bp->buffer,
  3285					bp->length);
  3286				if (ret) {
  3287					return_error = BR_FAILED_REPLY;
  3288					return_error_param = ret;
  3289					return_error_line = __LINE__;
  3290					goto err_translate_failed;
  3291				}
  3292				/* Fixup buffer pointer to target proc address space */
  3293				bp->buffer = (uintptr_t)
  3294					t->buffer->user_data + sg_buf_offset;
  3295				sg_buf_offset += ALIGN(bp->length, sizeof(u64));
  3296	
  3297				num_valid = (buffer_offset - off_start_offset) /
  3298						sizeof(binder_size_t);
  3299				ret = binder_fixup_parent(&pf_head, t,
  3300							  thread, bp,
  3301							  off_start_offset,
  3302							  num_valid,
  3303							  last_fixup_obj_off,
  3304							  last_fixup_min_off);
  3305				if (ret < 0 ||
  3306				    binder_alloc_copy_to_buffer(&target_proc->alloc,
  3307								t->buffer,
  3308								object_offset,
  3309								bp, sizeof(*bp))) {
  3310					return_error = BR_FAILED_REPLY;
  3311					return_error_param = ret;
  3312					return_error_line = __LINE__;
  3313					goto err_translate_failed;
  3314				}
  3315				last_fixup_obj_off = object_offset;
  3316				last_fixup_min_off = 0;
  3317			} break;
  3318			default:
  3319				binder_user_error("%d:%d got transaction with invalid object type, %x\n",
  3320					proc->pid, thread->pid, hdr->type);
  3321				return_error = BR_FAILED_REPLY;
  3322				return_error_param = -EINVAL;
  3323				return_error_line = __LINE__;
  3324				goto err_bad_object_type;
  3325			}
  3326		}
  3327		/* Done processing objects, copy the rest of the buffer */
  3328		if (binder_alloc_copy_user_to_buffer(
  3329					&target_proc->alloc,
  3330					t->buffer, user_offset,
  3331					user_buffer + user_offset,
  3332					tr->data_size - user_offset)) {
  3333			binder_user_error("%d:%d got transaction with invalid data ptr\n",
  3334					proc->pid, thread->pid);
  3335			return_error = BR_FAILED_REPLY;
  3336			return_error_param = -EFAULT;
  3337			return_error_line = __LINE__;
  3338			goto err_copy_data_failed;
  3339		}
  3340	
  3341		ret = binder_do_deferred_txn_copies(&target_proc->alloc, t->buffer,
  3342						    &sgc_head, &pf_head);
  3343		if (ret) {
  3344			binder_user_error("%d:%d got transaction with invalid offsets ptr\n",
  3345					  proc->pid, thread->pid);
  3346			return_error = BR_FAILED_REPLY;
  3347			return_error_param = ret;
  3348			return_error_line = __LINE__;
  3349			goto err_copy_data_failed;
  3350		}
  3351		if (t->buffer->oneway_spam_suspect)
  3352			tcomplete->type = BINDER_WORK_TRANSACTION_ONEWAY_SPAM_SUSPECT;
  3353		else
  3354			tcomplete->type = BINDER_WORK_TRANSACTION_COMPLETE;
  3355		t->work.type = BINDER_WORK_TRANSACTION;
  3356	
  3357		if (reply) {
  3358			binder_enqueue_thread_work(thread, tcomplete);
  3359			binder_inner_proc_lock(target_proc);
  3360			if (target_thread->is_dead) {
  3361				return_error = BR_DEAD_REPLY;
  3362				binder_inner_proc_unlock(target_proc);
  3363				goto err_dead_proc_or_thread;
  3364			}
  3365			BUG_ON(t->buffer->async_transaction != 0);
  3366			binder_pop_transaction_ilocked(target_thread, in_reply_to);
  3367			binder_enqueue_thread_work_ilocked(target_thread, &t->work);
  3368			target_proc->outstanding_txns++;
  3369			binder_inner_proc_unlock(target_proc);
  3370			wake_up_interruptible_sync(&target_thread->wait);
  3371			binder_free_transaction(in_reply_to);
  3372		} else if (!(t->flags & TF_ONE_WAY)) {
  3373			BUG_ON(t->buffer->async_transaction != 0);
  3374			binder_inner_proc_lock(proc);
  3375			/*
  3376			 * Defer the TRANSACTION_COMPLETE, so we don't return to
  3377			 * userspace immediately; this allows the target process to
  3378			 * immediately start processing this transaction, reducing
  3379			 * latency. We will then return the TRANSACTION_COMPLETE when
  3380			 * the target replies (or there is an error).
  3381			 */
  3382			binder_enqueue_deferred_thread_work_ilocked(thread, tcomplete);
  3383			t->need_reply = 1;
  3384			t->from_parent = thread->transaction_stack;
  3385			thread->transaction_stack = t;
  3386			binder_inner_proc_unlock(proc);
  3387			return_error = binder_proc_transaction(t,
  3388					target_proc, target_thread);
  3389			if (return_error) {
  3390				binder_inner_proc_lock(proc);
  3391				binder_pop_transaction_ilocked(thread, t);
  3392				binder_inner_proc_unlock(proc);
  3393				goto err_dead_proc_or_thread;
  3394			}
  3395		} else {
  3396			BUG_ON(target_node == NULL);
  3397			BUG_ON(t->buffer->async_transaction != 1);
  3398			binder_enqueue_thread_work(thread, tcomplete);
  3399			return_error = binder_proc_transaction(t, target_proc, NULL);
  3400			if (return_error)
  3401				goto err_dead_proc_or_thread;
  3402		}
  3403		if (target_thread)
  3404			binder_thread_dec_tmpref(target_thread);
  3405		binder_proc_dec_tmpref(target_proc);
  3406		if (target_node)
  3407			binder_dec_node_tmpref(target_node);
  3408		/*
  3409		 * write barrier to synchronize with initialization
  3410		 * of log entry
  3411		 */
  3412		smp_wmb();
  3413		WRITE_ONCE(e->debug_id_done, t_debug_id);
  3414		return;
  3415	
  3416	err_dead_proc_or_thread:
  3417		return_error_line = __LINE__;
  3418		binder_dequeue_work(proc, tcomplete);
  3419	err_translate_failed:
  3420	err_bad_object_type:
  3421	err_bad_offset:
  3422	err_bad_parent:
  3423	err_copy_data_failed:
  3424		binder_cleanup_deferred_txn_lists(&sgc_head, &pf_head);
  3425		binder_free_txn_fixups(t);
  3426		trace_binder_transaction_failed_buffer_release(t->buffer);
  3427		binder_transaction_buffer_release(target_proc, NULL, t->buffer,
  3428						  buffer_offset, true);
  3429		if (target_node)
  3430			binder_dec_node_tmpref(target_node);
  3431		target_node = NULL;
  3432		t->buffer->transaction = NULL;
  3433		binder_alloc_free_buf(&target_proc->alloc, t->buffer);
  3434	err_binder_alloc_buf_failed:
  3435	err_bad_extra_size:
  3436		if (secctx)
  3437			security_release_secctx(secctx, secctx_sz);
  3438	err_get_secctx_failed:
  3439		kfree(tcomplete);
  3440		binder_stats_deleted(BINDER_STAT_TRANSACTION_COMPLETE);
  3441	err_alloc_tcomplete_failed:
  3442		if (trace_binder_txn_latency_free_enabled())
  3443			binder_txn_latency_free(t);
  3444		kfree(t);
  3445		binder_stats_deleted(BINDER_STAT_TRANSACTION);
  3446	err_alloc_t_failed:
  3447	err_bad_todo_list:
  3448	err_bad_call_stack:
  3449	err_empty_call_stack:
  3450	err_dead_binder:
  3451	err_invalid_target_handle:
  3452		if (target_thread)
  3453			binder_thread_dec_tmpref(target_thread);
  3454		if (target_proc)
  3455			binder_proc_dec_tmpref(target_proc);
  3456		if (target_node) {
  3457			binder_dec_node(target_node, 1, 0);
  3458			binder_dec_node_tmpref(target_node);
  3459		}
  3460	
  3461		binder_debug(BINDER_DEBUG_FAILED_TRANSACTION,
  3462			     "%d:%d transaction failed %d/%d, size %lld-%lld line %d\n",
  3463			     proc->pid, thread->pid, return_error, return_error_param,
  3464			     (u64)tr->data_size, (u64)tr->offsets_size,
  3465			     return_error_line);
  3466	
  3467		{
  3468			struct binder_transaction_log_entry *fe;
  3469	
  3470			e->return_error = return_error;
  3471			e->return_error_param = return_error_param;
  3472			e->return_error_line = return_error_line;
  3473			fe = binder_transaction_log_add(&binder_transaction_log_failed);
  3474			*fe = *e;
  3475			/*
  3476			 * write barrier to synchronize with initialization
  3477			 * of log entry
  3478			 */
  3479			smp_wmb();
  3480			WRITE_ONCE(e->debug_id_done, t_debug_id);
  3481			WRITE_ONCE(fe->debug_id_done, t_debug_id);
  3482		}
  3483	
  3484		BUG_ON(thread->return_error.cmd != BR_OK);
  3485		if (in_reply_to) {
  3486			thread->return_error.cmd = BR_TRANSACTION_COMPLETE;
  3487			binder_enqueue_thread_work(thread, &thread->return_error.work);
  3488			binder_send_failed_reply(in_reply_to, return_error);
  3489		} else {
  3490			thread->return_error.cmd = return_error;
  3491			binder_enqueue_thread_work(thread, &thread->return_error.work);
  3492		}
  3493	}
  3494	

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* Re: [PATCH v33 01/29] integrity: disassociate ima_filter_rule from security_audit_rule
From: kernel test robot @ 2022-03-11 10:48 UTC (permalink / raw)
  To: Casey Schaufler, casey.schaufler, jmorris, linux-security-module,
	selinux
  Cc: john.johansen, kbuild-all, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-2-casey@schaufler-ca.com>

Hi Casey,

I love your patch! Yet something to improve:

[auto build test ERROR on pcmoore-audit/next]
[also build test ERROR on pcmoore-selinux/next linus/master jmorris-security/next-testing v5.17-rc7 next-20220310]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git next
config: arc-buildonly-randconfig-r006-20220310 (https://download.01.org/0day-ci/archive/20220311/202203111810.oPf2VNfH-lkp@intel.com/config)
compiler: arc-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/2796a69611ebb559eacf03666a3ae2fbd48e0c12
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220311-084644
        git checkout 2796a69611ebb559eacf03666a3ae2fbd48e0c12
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   security/integrity/ima/ima_policy.c: In function 'ima_lsm_free_rule':
>> security/integrity/ima/ima_policy.c:360:17: error: implicit declaration of function 'ima_filter_rule_free'; did you mean 'ima_file_free'? [-Werror=implicit-function-declaration]
     360 |                 ima_filter_rule_free(entry->lsm[i].rule);
         |                 ^~~~~~~~~~~~~~~~~~~~
         |                 ima_file_free
   security/integrity/ima/ima_policy.c: In function 'ima_lsm_copy_rule':
>> security/integrity/ima/ima_policy.c:409:17: error: implicit declaration of function 'ima_filter_rule_init' [-Werror=implicit-function-declaration]
     409 |                 ima_filter_rule_init(nentry->lsm[i].type, Audit_equal,
         |                 ^~~~~~~~~~~~~~~~~~~~
   security/integrity/ima/ima_policy.c: In function 'ima_match_rules':
>> security/integrity/ima/ima_policy.c:625:30: error: implicit declaration of function 'ima_filter_rule_match' [-Werror=implicit-function-declaration]
     625 |                         rc = ima_filter_rule_match(osid, rule->lsm[i].type,
         |                              ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +360 security/integrity/ima/ima_policy.c

176377d97d6a3f Tyler Hicks      2020-08-11  354  
b169424551930a Janne Karhunen   2019-06-14  355  static void ima_lsm_free_rule(struct ima_rule_entry *entry)
b169424551930a Janne Karhunen   2019-06-14  356  {
b169424551930a Janne Karhunen   2019-06-14  357  	int i;
b169424551930a Janne Karhunen   2019-06-14  358  
b169424551930a Janne Karhunen   2019-06-14  359  	for (i = 0; i < MAX_LSM_RULES; i++) {
b8867eedcf76ca Tyler Hicks      2020-07-10 @360  		ima_filter_rule_free(entry->lsm[i].rule);
b169424551930a Janne Karhunen   2019-06-14  361  		kfree(entry->lsm[i].args_p);
b169424551930a Janne Karhunen   2019-06-14  362  	}
465aee77aae857 Tyler Hicks      2020-07-09  363  }
465aee77aae857 Tyler Hicks      2020-07-09  364  
465aee77aae857 Tyler Hicks      2020-07-09  365  static void ima_free_rule(struct ima_rule_entry *entry)
465aee77aae857 Tyler Hicks      2020-07-09  366  {
465aee77aae857 Tyler Hicks      2020-07-09  367  	if (!entry)
465aee77aae857 Tyler Hicks      2020-07-09  368  		return;
465aee77aae857 Tyler Hicks      2020-07-09  369  
465aee77aae857 Tyler Hicks      2020-07-09  370  	/*
465aee77aae857 Tyler Hicks      2020-07-09  371  	 * entry->template->fields may be allocated in ima_parse_rule() but that
465aee77aae857 Tyler Hicks      2020-07-09  372  	 * reference is owned by the corresponding ima_template_desc element in
465aee77aae857 Tyler Hicks      2020-07-09  373  	 * the defined_templates list and cannot be freed here
465aee77aae857 Tyler Hicks      2020-07-09  374  	 */
465aee77aae857 Tyler Hicks      2020-07-09  375  	kfree(entry->fsname);
176377d97d6a3f Tyler Hicks      2020-08-11  376  	ima_free_rule_opt_list(entry->keyrings);
465aee77aae857 Tyler Hicks      2020-07-09  377  	ima_lsm_free_rule(entry);
b169424551930a Janne Karhunen   2019-06-14  378  	kfree(entry);
b169424551930a Janne Karhunen   2019-06-14  379  }
b169424551930a Janne Karhunen   2019-06-14  380  
b169424551930a Janne Karhunen   2019-06-14  381  static struct ima_rule_entry *ima_lsm_copy_rule(struct ima_rule_entry *entry)
b169424551930a Janne Karhunen   2019-06-14  382  {
b169424551930a Janne Karhunen   2019-06-14  383  	struct ima_rule_entry *nentry;
483ec26eed42bf Janne Karhunen   2020-01-15  384  	int i;
b169424551930a Janne Karhunen   2019-06-14  385  
b169424551930a Janne Karhunen   2019-06-14  386  	/*
b169424551930a Janne Karhunen   2019-06-14  387  	 * Immutable elements are copied over as pointers and data; only
b169424551930a Janne Karhunen   2019-06-14  388  	 * lsm rules can change
b169424551930a Janne Karhunen   2019-06-14  389  	 */
f60c826d031817 Alex Dewar       2020-09-09  390  	nentry = kmemdup(entry, sizeof(*nentry), GFP_KERNEL);
f60c826d031817 Alex Dewar       2020-09-09  391  	if (!nentry)
f60c826d031817 Alex Dewar       2020-09-09  392  		return NULL;
f60c826d031817 Alex Dewar       2020-09-09  393  
c593642c8be046 Pankaj Bharadiya 2019-12-09  394  	memset(nentry->lsm, 0, sizeof_field(struct ima_rule_entry, lsm));
b169424551930a Janne Karhunen   2019-06-14  395  
b169424551930a Janne Karhunen   2019-06-14  396  	for (i = 0; i < MAX_LSM_RULES; i++) {
483ec26eed42bf Janne Karhunen   2020-01-15  397  		if (!entry->lsm[i].args_p)
b169424551930a Janne Karhunen   2019-06-14  398  			continue;
b169424551930a Janne Karhunen   2019-06-14  399  
b169424551930a Janne Karhunen   2019-06-14  400  		nentry->lsm[i].type = entry->lsm[i].type;
39e5993d0d452b Tyler Hicks      2020-07-09  401  		nentry->lsm[i].args_p = entry->lsm[i].args_p;
39e5993d0d452b Tyler Hicks      2020-07-09  402  		/*
39e5993d0d452b Tyler Hicks      2020-07-09  403  		 * Remove the reference from entry so that the associated
39e5993d0d452b Tyler Hicks      2020-07-09  404  		 * memory will not be freed during a later call to
39e5993d0d452b Tyler Hicks      2020-07-09  405  		 * ima_lsm_free_rule(entry).
39e5993d0d452b Tyler Hicks      2020-07-09  406  		 */
39e5993d0d452b Tyler Hicks      2020-07-09  407  		entry->lsm[i].args_p = NULL;
b169424551930a Janne Karhunen   2019-06-14  408  
b8867eedcf76ca Tyler Hicks      2020-07-10 @409  		ima_filter_rule_init(nentry->lsm[i].type, Audit_equal,
b169424551930a Janne Karhunen   2019-06-14  410  				     nentry->lsm[i].args_p,
b169424551930a Janne Karhunen   2019-06-14  411  				     &nentry->lsm[i].rule);
483ec26eed42bf Janne Karhunen   2020-01-15  412  		if (!nentry->lsm[i].rule)
483ec26eed42bf Janne Karhunen   2020-01-15  413  			pr_warn("rule for LSM \'%s\' is undefined\n",
aa0c0227d33171 Tyler Hicks      2020-07-09  414  				nentry->lsm[i].args_p);
b169424551930a Janne Karhunen   2019-06-14  415  	}
b169424551930a Janne Karhunen   2019-06-14  416  	return nentry;
b169424551930a Janne Karhunen   2019-06-14  417  }
b169424551930a Janne Karhunen   2019-06-14  418  

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply

* [PATCH v33 27/29] Audit: Add record for multiple object security contexts
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

Create a new audit record AUDIT_MAC_OBJ_CONTEXTS.
An example of the MAC_OBJ_CONTEXTS (1421) record is:

    type=MAC_OBJ_CONTEXTS[1421]
    msg=audit(1601152467.009:1050):
    obj_selinux=unconfined_u:object_r:user_home_t:s0

When an audit event includes a AUDIT_MAC_OBJ_CONTEXTS record
the "obj=" field in other records in the event will be "obj=?".
An AUDIT_MAC_OBJ_CONTEXTS record is supplied when the system has
multiple security modules that may make access decisions based
on an object security context.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
---
 include/linux/audit.h      |  5 +++
 include/uapi/linux/audit.h |  1 +
 kernel/audit.c             | 47 +++++++++++++++++++++++
 kernel/auditsc.c           | 79 ++++++++++++--------------------------
 4 files changed, 77 insertions(+), 55 deletions(-)

diff --git a/include/linux/audit.h b/include/linux/audit.h
index 14849d5f84b4..1b05eb2dbe77 100644
--- a/include/linux/audit.h
+++ b/include/linux/audit.h
@@ -191,6 +191,8 @@ extern void		    audit_log_path_denied(int type,
 						  const char *operation);
 extern void		    audit_log_lost(const char *message);
 
+extern void audit_log_object_context(struct audit_buffer *ab,
+				     struct lsmblob *blob);
 extern int audit_log_task_context(struct audit_buffer *ab);
 extern void audit_log_task_info(struct audit_buffer *ab);
 
@@ -251,6 +253,9 @@ static inline void audit_log_key(struct audit_buffer *ab, char *key)
 { }
 static inline void audit_log_path_denied(int type, const char *operation)
 { }
+static inline  void audit_log_object_context(struct audit_buffer *ab,
+					     struct lsmblob *blob)
+{ }
 static inline int audit_log_task_context(struct audit_buffer *ab)
 {
 	return 0;
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
index af0aaccfaf57..d25d76b29e3c 100644
--- a/include/uapi/linux/audit.h
+++ b/include/uapi/linux/audit.h
@@ -144,6 +144,7 @@
 #define AUDIT_MAC_CALIPSO_ADD	1418	/* NetLabel: add CALIPSO DOI entry */
 #define AUDIT_MAC_CALIPSO_DEL	1419	/* NetLabel: del CALIPSO DOI entry */
 #define AUDIT_MAC_TASK_CONTEXTS	1420	/* Multiple LSM task contexts */
+#define AUDIT_MAC_OBJ_CONTEXTS	1421	/* Multiple LSM objext contexts */
 
 #define AUDIT_FIRST_KERN_ANOM_MSG   1700
 #define AUDIT_LAST_KERN_ANOM_MSG    1799
diff --git a/kernel/audit.c b/kernel/audit.c
index ad825af203cf..ac92e7fc5aa6 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -2202,6 +2202,53 @@ static void audit_buffer_aux_end(struct audit_buffer *ab)
 	ab->skb = skb_peek(&ab->skb_list);
 }
 
+void audit_log_object_context(struct audit_buffer *ab, struct lsmblob *blob)
+{
+	int i;
+	int error;
+	struct lsmcontext context;
+
+	if (!lsm_multiple_contexts()) {
+		error = security_secid_to_secctx(blob, &context, LSMBLOB_FIRST);
+		if (error) {
+			if (error != -EINVAL)
+				goto error_path;
+			return;
+		}
+		audit_log_format(ab, " obj=%s", context.context);
+		security_release_secctx(&context);
+	} else {
+		audit_log_format(ab, " obj=?");
+		error = audit_buffer_aux_new(ab, AUDIT_MAC_OBJ_CONTEXTS);
+		if (error)
+			goto error_path;
+
+		for (i = 0; i < LSMBLOB_ENTRIES; i++) {
+			if (blob->secid[i] == 0)
+				continue;
+			error = security_secid_to_secctx(blob, &context, i);
+			if (error) {
+				if (error != -EINVAL)
+					audit_panic("error in audit_log_object_context");
+				audit_log_format(ab, "%sobj_%s=?",
+						 i ? " " : "",
+						 lsm_slot_to_name(i));
+			} else {
+				audit_log_format(ab, "%sobj_%s=%s",
+						 i ? " " : "",
+						 lsm_slot_to_name(i),
+						 context.context);
+				security_release_secctx(&context);
+			}
+		}
+
+		audit_buffer_aux_end(ab);
+	}
+	return;
+
+error_path:
+	audit_panic("error in audit_log_object_context");
+}
 
 int audit_log_task_context(struct audit_buffer *ab)
 {
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 7848e7351cf9..923e4e3a5697 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -1114,36 +1114,25 @@ static inline void audit_free_context(struct audit_context *context)
 	kfree(context);
 }
 
-static int audit_log_pid_context(struct audit_context *context, pid_t pid,
-				 kuid_t auid, kuid_t uid,
-				 unsigned int sessionid,
-				 struct lsmblob *blob, char *comm)
+static void audit_log_pid_context(struct audit_context *context, pid_t pid,
+				  kuid_t auid, kuid_t uid,
+				  unsigned int sessionid,
+				  struct lsmblob *blob, char *comm)
 {
 	struct audit_buffer *ab;
-	struct lsmcontext lsmctx;
-	int rc = 0;
 
 	ab = audit_log_start(context, GFP_KERNEL, AUDIT_OBJ_PID);
 	if (!ab)
-		return rc;
+		return;
 
 	audit_log_format(ab, "opid=%d oauid=%d ouid=%d oses=%d", pid,
 			 from_kuid(&init_user_ns, auid),
 			 from_kuid(&init_user_ns, uid), sessionid);
-	if (lsmblob_is_set(blob)) {
-		if (security_secid_to_secctx(blob, &lsmctx, LSMBLOB_FIRST)) {
-			audit_log_format(ab, " obj=(none)");
-			rc = 1;
-		} else {
-			audit_log_format(ab, " obj=%s", lsmctx.context);
-			security_release_secctx(&lsmctx);
-		}
-	}
+	if (lsmblob_is_set(blob))
+		audit_log_object_context(ab, blob);
 	audit_log_format(ab, " ocomm=");
 	audit_log_untrustedstring(ab, comm);
 	audit_log_end(ab);
-
-	return rc;
 }
 
 static void audit_log_execve_info(struct audit_context *context,
@@ -1373,18 +1362,10 @@ static void show_special(struct audit_context *context, int *call_panic)
 				 from_kgid(&init_user_ns, context->ipc.gid),
 				 context->ipc.mode);
 		if (osid) {
-			struct lsmcontext lsmcxt;
 			struct lsmblob blob;
 
 			lsmblob_init(&blob, osid);
-			if (security_secid_to_secctx(&blob, &lsmcxt,
-						     LSMBLOB_FIRST)) {
-				audit_log_format(ab, " osid=%u", osid);
-				*call_panic = 1;
-			} else {
-				audit_log_format(ab, " obj=%s", lsmcxt.context);
-				security_release_secctx(&lsmcxt);
-			}
+			audit_log_object_context(ab, &blob);
 		}
 		if (context->ipc.has_perm) {
 			audit_log_end(ab);
@@ -1536,19 +1517,8 @@ static void audit_log_name(struct audit_context *context, struct audit_names *n,
 				 from_kgid(&init_user_ns, n->gid),
 				 MAJOR(n->rdev),
 				 MINOR(n->rdev));
-	if (lsmblob_is_set(&n->lsmblob)) {
-		struct lsmcontext lsmctx;
-
-		if (security_secid_to_secctx(&n->lsmblob, &lsmctx,
-					     LSMBLOB_FIRST)) {
-			audit_log_format(ab, " osid=?");
-			if (call_panic)
-				*call_panic = 2;
-		} else {
-			audit_log_format(ab, " obj=%s", lsmctx.context);
-			security_release_secctx(&lsmctx);
-		}
-	}
+	if (lsmblob_is_set(&n->lsmblob))
+		audit_log_object_context(ab, &n->lsmblob);
 
 	/* log the audit_names record type */
 	switch (n->type) {
@@ -1753,21 +1723,20 @@ static void audit_log_exit(void)
 		struct audit_aux_data_pids *axs = (void *)aux;
 
 		for (i = 0; i < axs->pid_count; i++)
-			if (audit_log_pid_context(context, axs->target_pid[i],
-						  axs->target_auid[i],
-						  axs->target_uid[i],
-						  axs->target_sessionid[i],
-						  &axs->target_lsm[i],
-						  axs->target_comm[i]))
-				call_panic = 1;
-	}
-
-	if (context->target_pid &&
-	    audit_log_pid_context(context, context->target_pid,
-				  context->target_auid, context->target_uid,
-				  context->target_sessionid,
-				  &context->target_lsm, context->target_comm))
-			call_panic = 1;
+			audit_log_pid_context(context, axs->target_pid[i],
+					      axs->target_auid[i],
+					      axs->target_uid[i],
+					      axs->target_sessionid[i],
+					      &axs->target_lsm[i],
+					      axs->target_comm[i]);
+	}
+
+	if (context->target_pid)
+		audit_log_pid_context(context, context->target_pid,
+				      context->target_auid, context->target_uid,
+				      context->target_sessionid,
+				      &context->target_lsm,
+				      context->target_comm);
 
 	if (context->pwd.dentry && context->pwd.mnt) {
 		ab = audit_log_start(context, GFP_KERNEL, AUDIT_CWD);
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related

* [PATCH v33 28/29] LSM: Add /proc attr entry for full LSM context
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-doc, linux-api, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

Add an entry /proc/.../attr/context which displays the full
process security "context" in compound format:
        lsm1\0value\0lsm2\0value\0...
This entry is not writable.

A security module may decide that its policy does not allow
this information to be displayed. In this case none of the
information will be displayed.

Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Cc: linux-api@vger.kernel.org
Cc: linux-doc@vger.kernel.org
---
 Documentation/security/lsm.rst       | 14 +++++
 fs/proc/base.c                       |  1 +
 include/linux/lsm_hooks.h            |  6 +++
 security/apparmor/include/procattr.h |  2 +-
 security/apparmor/lsm.c              |  8 ++-
 security/apparmor/procattr.c         | 22 ++++----
 security/security.c                  | 79 ++++++++++++++++++++++++++++
 security/selinux/hooks.c             |  2 +-
 security/smack/smack_lsm.c           |  2 +-
 9 files changed, 121 insertions(+), 15 deletions(-)

diff --git a/Documentation/security/lsm.rst b/Documentation/security/lsm.rst
index b77b4a540391..070225ae6ceb 100644
--- a/Documentation/security/lsm.rst
+++ b/Documentation/security/lsm.rst
@@ -143,3 +143,17 @@ separated list of the active security modules.
 The file ``/proc/pid/attr/interface_lsm`` contains the name of the security
 module for which the ``/proc/pid/attr/current`` interface will
 apply. This interface can be written to.
+
+The infrastructure does provide an interface for the special
+case where multiple security modules provide a process context.
+This is provided in compound context format.
+
+-  `lsm\0value\0lsm\0value\0`
+
+The `lsm` and `value` fields are NUL-terminated bytestrings.
+Each field may contain whitespace or non-printable characters.
+The NUL bytes are included in the size of a compound context.
+The context ``Bell\0Secret\0Biba\0Loose\0`` has a size of 23.
+
+The file ``/proc/pid/attr/context`` provides the security
+context of the identified process.
diff --git a/fs/proc/base.c b/fs/proc/base.c
index e0d41adb38ba..324370d048b1 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2829,6 +2829,7 @@ static const struct pid_entry attr_dir_stuff[] = {
 	ATTR(NULL, "keycreate",		0666),
 	ATTR(NULL, "sockcreate",	0666),
 	ATTR(NULL, "interface_lsm",	0666),
+	ATTR(NULL, "context",		0444),
 #ifdef CONFIG_SECURITY_SMACK
 	DIR("smack",			0555,
 	    proc_smack_attr_dir_inode_ops, proc_smack_attr_dir_ops),
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 2c2d0ef59a41..51b5acff7f0e 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -1396,6 +1396,12 @@
  *	@pages contains the number of pages.
  *	Return 0 if permission is granted.
  *
+ * @getprocattr:
+ *	Provide the named process attribute for display in special files in
+ *	the /proc/.../attr directory.  Attribute naming and the data displayed
+ *	is at the discretion of the security modules.  The exception is the
+ *	"context" attribute, which will contain the security context of the
+ *	task as a nul terminated text string without trailing whitespace.
  * @ismaclabel:
  *	Check if the extended attribute specified by @name
  *	represents a MAC label. Returns 1 if name is a MAC
diff --git a/security/apparmor/include/procattr.h b/security/apparmor/include/procattr.h
index 31689437e0e1..03dbfdb2f2c0 100644
--- a/security/apparmor/include/procattr.h
+++ b/security/apparmor/include/procattr.h
@@ -11,7 +11,7 @@
 #ifndef __AA_PROCATTR_H
 #define __AA_PROCATTR_H
 
-int aa_getprocattr(struct aa_label *label, char **string);
+int aa_getprocattr(struct aa_label *label, char **string, bool newline);
 int aa_setprocattr_changehat(char *args, size_t size, int flags);
 
 #endif /* __AA_PROCATTR_H */
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 29181bc8c693..1ee58c1491ab 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -602,6 +602,7 @@ static int apparmor_getprocattr(struct task_struct *task, char *name,
 	const struct cred *cred = get_task_cred(task);
 	struct aa_task_ctx *ctx = task_ctx(current);
 	struct aa_label *label = NULL;
+	bool newline = true;
 
 	if (strcmp(name, "current") == 0)
 		label = aa_get_newest_label(cred_label(cred));
@@ -609,11 +610,14 @@ static int apparmor_getprocattr(struct task_struct *task, char *name,
 		label = aa_get_newest_label(ctx->previous);
 	else if (strcmp(name, "exec") == 0 && ctx->onexec)
 		label = aa_get_newest_label(ctx->onexec);
-	else
+	else if (strcmp(name, "context") == 0) {
+		label = aa_get_newest_label(cred_label(cred));
+		newline = false;
+	} else
 		error = -EINVAL;
 
 	if (label)
-		error = aa_getprocattr(label, value);
+		error = aa_getprocattr(label, value, newline);
 
 	aa_put_label(label);
 	put_cred(cred);
diff --git a/security/apparmor/procattr.c b/security/apparmor/procattr.c
index fde332e0ea7d..172550f67fc0 100644
--- a/security/apparmor/procattr.c
+++ b/security/apparmor/procattr.c
@@ -20,6 +20,7 @@
  * aa_getprocattr - Return the profile information for @profile
  * @profile: the profile to print profile info about  (NOT NULL)
  * @string: Returns - string containing the profile info (NOT NULL)
+ * @newline: Should a newline be added to @string.
  *
  * Requires: profile != NULL
  *
@@ -28,20 +29,21 @@
  *
  * Returns: size of string placed in @string else error code on failure
  */
-int aa_getprocattr(struct aa_label *label, char **string)
+int aa_getprocattr(struct aa_label *label, char **string, bool newline)
 {
 	struct aa_ns *ns = labels_ns(label);
 	struct aa_ns *current_ns = aa_get_current_ns();
+	int flags = FLAG_VIEW_SUBNS | FLAG_HIDDEN_UNCONFINED;
 	int len;
 
 	if (!aa_ns_visible(current_ns, ns, true)) {
 		aa_put_ns(current_ns);
 		return -EACCES;
 	}
+	if (newline)
+		flags |= FLAG_SHOW_MODE;
 
-	len = aa_label_snxprint(NULL, 0, current_ns, label,
-				FLAG_SHOW_MODE | FLAG_VIEW_SUBNS |
-				FLAG_HIDDEN_UNCONFINED);
+	len = aa_label_snxprint(NULL, 0, current_ns, label, flags);
 	AA_BUG(len < 0);
 
 	*string = kmalloc(len + 2, GFP_KERNEL);
@@ -50,19 +52,19 @@ int aa_getprocattr(struct aa_label *label, char **string)
 		return -ENOMEM;
 	}
 
-	len = aa_label_snxprint(*string, len + 2, current_ns, label,
-				FLAG_SHOW_MODE | FLAG_VIEW_SUBNS |
-				FLAG_HIDDEN_UNCONFINED);
+	len = aa_label_snxprint(*string, len + 2, current_ns, label, flags);
 	if (len < 0) {
 		aa_put_ns(current_ns);
 		return len;
 	}
 
-	(*string)[len] = '\n';
-	(*string)[len + 1] = 0;
+	if (newline) {
+		(*string)[len] = '\n';
+		(*string)[++len] = 0;
+	}
 
 	aa_put_ns(current_ns);
-	return len + 1;
+	return len;
 }
 
 /**
diff --git a/security/security.c b/security/security.c
index b694eca9d4f1..b1a95ede7fc2 100644
--- a/security/security.c
+++ b/security/security.c
@@ -802,6 +802,57 @@ static int lsm_superblock_alloc(struct super_block *sb)
 	return 0;
 }
 
+/**
+ * append_ctx - append a lsm/context pair to a compound context
+ * @ctx: the existing compound context
+ * @ctxlen: size of the old context, including terminating nul byte
+ * @lsm: new lsm name, nul terminated
+ * @new: new context, possibly nul terminated
+ * @newlen: maximum size of @new
+ *
+ * replace @ctx with a new compound context, appending @newlsm and @new
+ * to @ctx. On exit the new data replaces the old, which is freed.
+ * @ctxlen is set to the new size, which includes a trailing nul byte.
+ *
+ * Returns 0 on success, -ENOMEM if no memory is available.
+ */
+static int append_ctx(char **ctx, int *ctxlen, const char *lsm, char *new,
+		      int newlen)
+{
+	char *final;
+	size_t llen;
+	size_t nlen;
+	size_t flen;
+
+	llen = strlen(lsm) + 1;
+	/*
+	 * A security module may or may not provide a trailing nul on
+	 * when returning a security context. There is no definition
+	 * of which it should be, and there are modules that do it
+	 * each way.
+	 */
+	nlen = strnlen(new, newlen);
+
+	flen = *ctxlen + llen + nlen + 1;
+	final = kzalloc(flen, GFP_KERNEL);
+
+	if (final == NULL)
+		return -ENOMEM;
+
+	if (*ctxlen)
+		memcpy(final, *ctx, *ctxlen);
+
+	memcpy(final + *ctxlen, lsm, llen);
+	memcpy(final + *ctxlen + llen, new, nlen);
+
+	kfree(*ctx);
+
+	*ctx = final;
+	*ctxlen = flen;
+
+	return 0;
+}
+
 /*
  * The default value of the LSM hook is defined in linux/lsm_hook_defs.h and
  * can be accessed with:
@@ -2210,6 +2261,10 @@ int security_getprocattr(struct task_struct *p, const char *lsm, char *name,
 				char **value)
 {
 	struct security_hook_list *hp;
+	char *final = NULL;
+	char *cp;
+	int rc = 0;
+	int finallen = 0;
 	int ilsm = lsm_task_ilsm(current);
 	int slot = 0;
 
@@ -2237,6 +2292,30 @@ int security_getprocattr(struct task_struct *p, const char *lsm, char *name,
 		return -ENOMEM;
 	}
 
+	if (!strcmp(name, "context")) {
+		hlist_for_each_entry(hp, &security_hook_heads.getprocattr,
+				     list) {
+			rc = hp->hook.getprocattr(p, "context", &cp);
+			if (rc == -EINVAL)
+				continue;
+			if (rc < 0) {
+				kfree(final);
+				return rc;
+			}
+			rc = append_ctx(&final, &finallen, hp->lsmid->lsm,
+					cp, rc);
+			kfree(cp);
+			if (rc < 0) {
+				kfree(final);
+				return rc;
+			}
+		}
+		if (final == NULL)
+			return -EINVAL;
+		*value = final;
+		return finallen;
+	}
+
 	hlist_for_each_entry(hp, &security_hook_heads.getprocattr, list) {
 		if (lsm != NULL && strcmp(lsm, hp->lsmid->lsm))
 			continue;
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 7b9cb4d263c0..beb0e1cf02b5 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -6363,7 +6363,7 @@ static int selinux_getprocattr(struct task_struct *p,
 			goto bad;
 	}
 
-	if (!strcmp(name, "current"))
+	if (!strcmp(name, "current") || !strcmp(name, "context"))
 		sid = __tsec->sid;
 	else if (!strcmp(name, "prev"))
 		sid = __tsec->osid;
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index 46d81f638a2b..d1677339e677 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -3485,7 +3485,7 @@ static int smack_getprocattr(struct task_struct *p, char *name, char **value)
 	char *cp;
 	int slen;
 
-	if (strcmp(name, "current") != 0)
+	if (strcmp(name, "current") != 0 && strcmp(name, "context") != 0)
 		return -EINVAL;
 
 	cp = kstrdup(skp->smk_known, GFP_KERNEL);
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related

* [PATCH v33 29/29] AppArmor: Remove the exclusive flag
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

With the inclusion of the interface LSM process attribute
mechanism AppArmor no longer needs to be treated as an
"exclusive" security module. Remove the flag that indicates
it is exclusive. Remove the stub getpeersec_dgram AppArmor
hook as it has no effect in the single LSM case and
interferes in the multiple LSM case.

Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com>
Acked-by: John Johansen <john.johansen@canonical.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
---
 security/apparmor/lsm.c | 20 +-------------------
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 1ee58c1491ab..388298a15556 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -1145,22 +1145,6 @@ static int apparmor_socket_getpeersec_stream(struct socket *sock,
 	return error;
 }
 
-/**
- * apparmor_socket_getpeersec_dgram - get security label of packet
- * @sock: the peer socket
- * @skb: packet data
- * @secid: pointer to where to put the secid of the packet
- *
- * Sets the netlabel socket state on sk from parent
- */
-static int apparmor_socket_getpeersec_dgram(struct socket *sock,
-					    struct sk_buff *skb, u32 *secid)
-
-{
-	/* TODO: requires secid support */
-	return -ENOPROTOOPT;
-}
-
 /**
  * apparmor_sock_graft - Initialize newly created socket
  * @sk: child sock
@@ -1264,8 +1248,6 @@ static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = {
 #endif
 	LSM_HOOK_INIT(socket_getpeersec_stream,
 		      apparmor_socket_getpeersec_stream),
-	LSM_HOOK_INIT(socket_getpeersec_dgram,
-		      apparmor_socket_getpeersec_dgram),
 	LSM_HOOK_INIT(sock_graft, apparmor_sock_graft),
 #ifdef CONFIG_NETWORK_SECMARK
 	LSM_HOOK_INIT(inet_conn_request, apparmor_inet_conn_request),
@@ -1919,7 +1901,7 @@ static int __init apparmor_init(void)
 
 DEFINE_LSM(apparmor) = {
 	.name = "apparmor",
-	.flags = LSM_FLAG_LEGACY_MAJOR | LSM_FLAG_EXCLUSIVE,
+	.flags = LSM_FLAG_LEGACY_MAJOR,
 	.enabled = &apparmor_enabled,
 	.blobs = &apparmor_blob_sizes,
 	.init = apparmor_init,
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related

* [PATCH v33 25/29] Audit: Allow multiple records in an audit_buffer
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

Replace the single skb pointer in an audit_buffer with
a list of skb pointers. Add the audit_stamp information
to the audit_buffer as there's no guarantee that there
will be an audit_context containing the stamp associated
with the event. At audit_log_end() time create auxiliary
records (none are currently defined) as have been added
to the list.

Suggested-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
---
 kernel/audit.c | 53 +++++++++++++++++++++++++++++++++-----------------
 1 file changed, 35 insertions(+), 18 deletions(-)

diff --git a/kernel/audit.c b/kernel/audit.c
index f012c3786264..4713e66a12af 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -197,8 +197,10 @@ static struct audit_ctl_mutex {
  * to place it on a transmit queue.  Multiple audit_buffers can be in
  * use simultaneously. */
 struct audit_buffer {
-	struct sk_buff       *skb;	/* formatted skb ready to send */
+	struct sk_buff       *skb;	/* the skb for audit_log functions */
+	struct sk_buff_head  skb_list;	/* formatted skbs, ready to send */
 	struct audit_context *ctx;	/* NULL or associated context */
+	struct audit_stamp   stamp;	/* audit stamp for these records */
 	gfp_t		     gfp_mask;
 };
 
@@ -1744,7 +1746,6 @@ static void audit_buffer_free(struct audit_buffer *ab)
 	if (!ab)
 		return;
 
-	kfree_skb(ab->skb);
 	kmem_cache_free(audit_buffer_cache, ab);
 }
 
@@ -1760,11 +1761,15 @@ static struct audit_buffer *audit_buffer_alloc(struct audit_context *ctx,
 	ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask);
 	if (!ab->skb)
 		goto err;
-	if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0))
+	if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0)) {
+		kfree_skb(ab->skb);
 		goto err;
+	}
 
 	ab->ctx = ctx;
 	ab->gfp_mask = gfp_mask;
+	skb_queue_head_init(&ab->skb_list);
+	skb_queue_tail(&ab->skb_list, ab->skb);
 
 	return ab;
 
@@ -1825,7 +1830,6 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,
 				     int type)
 {
 	struct audit_buffer *ab;
-	struct audit_stamp stamp;
 
 	if (audit_initialized != AUDIT_INITIALIZED)
 		return NULL;
@@ -1880,14 +1884,14 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,
 		return NULL;
 	}
 
-	audit_get_stamp(ab->ctx, &stamp);
+	audit_get_stamp(ab->ctx, &ab->stamp);
 	/* cancel dummy context to enable supporting records */
 	if (ctx)
 		ctx->dummy = 0;
 	audit_log_format(ab, "audit(%llu.%03lu:%u): ",
-			 (unsigned long long)stamp.ctime.tv_sec,
-			 stamp.ctime.tv_nsec/1000000,
-			 stamp.serial);
+			 (unsigned long long)ab->stamp.ctime.tv_sec,
+			 ab->stamp.ctime.tv_nsec/1000000,
+			 ab->stamp.serial);
 
 	return ab;
 }
@@ -2378,26 +2382,19 @@ int audit_signal_info(int sig, struct task_struct *t)
 }
 
 /**
- * audit_log_end - end one audit record
- * @ab: the audit_buffer
+ * __audit_log_end - end one audit record
+ * @skb: the buffer to send
  *
  * We can not do a netlink send inside an irq context because it blocks (last
  * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a
  * queue and a kthread is scheduled to remove them from the queue outside the
  * irq context.  May be called in any context.
  */
-void audit_log_end(struct audit_buffer *ab)
+static void __audit_log_end(struct sk_buff *skb)
 {
-	struct sk_buff *skb;
 	struct nlmsghdr *nlh;
 
-	if (!ab)
-		return;
-
 	if (audit_rate_check()) {
-		skb = ab->skb;
-		ab->skb = NULL;
-
 		/* setup the netlink header, see the comments in
 		 * kauditd_send_multicast_skb() for length quirks */
 		nlh = nlmsg_hdr(skb);
@@ -2408,6 +2405,26 @@ void audit_log_end(struct audit_buffer *ab)
 		wake_up_interruptible(&kauditd_wait);
 	} else
 		audit_log_lost("rate limit exceeded");
+}
+
+/**
+ * audit_log_end - end one audit record
+ * @ab: the audit_buffer
+ *
+ * We can not do a netlink send inside an irq context because it blocks (last
+ * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a
+ * queue and a kthread is scheduled to remove them from the queue outside the
+ * irq context.  May be called in any context.
+ */
+void audit_log_end(struct audit_buffer *ab)
+{
+	struct sk_buff *skb;
+
+	if (!ab)
+		return;
+
+	while ((skb = skb_dequeue(&ab->skb_list)))
+		__audit_log_end(skb);
 
 	audit_buffer_free(ab);
 }
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related

* [PATCH v33 26/29] Audit: Add record for multiple task security contexts
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

Create a new audit record AUDIT_MAC_TASK_CONTEXTS.
An example of the MAC_TASK_CONTEXTS (1420) record is:

    type=MAC_TASK_CONTEXTS[1420]
    msg=audit(1600880931.832:113)
    subj_apparmor=unconfined
    subj_smack=_

When an audit event includes a AUDIT_MAC_TASK_CONTEXTS record
the "subj=" field in other records in the event will be "subj=?".
An AUDIT_MAC_TASK_CONTEXTS record is supplied when the system has
multiple security modules that may make access decisions based
on a subject security context.

Functions are created to manage the skb list in the audit_buffer.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
---
 include/uapi/linux/audit.h |   1 +
 kernel/audit.c             | 104 ++++++++++++++++++++++++++++++++-----
 2 files changed, 93 insertions(+), 12 deletions(-)

diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h
index 8eda133ca4c1..af0aaccfaf57 100644
--- a/include/uapi/linux/audit.h
+++ b/include/uapi/linux/audit.h
@@ -143,6 +143,7 @@
 #define AUDIT_MAC_UNLBL_STCDEL	1417	/* NetLabel: del a static label */
 #define AUDIT_MAC_CALIPSO_ADD	1418	/* NetLabel: add CALIPSO DOI entry */
 #define AUDIT_MAC_CALIPSO_DEL	1419	/* NetLabel: del CALIPSO DOI entry */
+#define AUDIT_MAC_TASK_CONTEXTS	1420	/* Multiple LSM task contexts */
 
 #define AUDIT_FIRST_KERN_ANOM_MSG   1700
 #define AUDIT_LAST_KERN_ANOM_MSG    1799
diff --git a/kernel/audit.c b/kernel/audit.c
index 4713e66a12af..ad825af203cf 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -2147,8 +2147,65 @@ void audit_log_key(struct audit_buffer *ab, char *key)
 		audit_log_format(ab, "(null)");
 }
 
+/*
+ * A brief note on aux record management.
+ *
+ * Aux records are allocated and added to the skb list of
+ * the "main" record. The ab->skb is reset to point to the
+ * aux record on its creation. When the aux record in complete
+ * ab->skb has to be reset to point to the "main" record.
+ * This allows the audit_log_ functions to be ignorant of
+ * which kind of record it is logging to. It also avoids adding
+ * special data for aux records.
+ */
+
+/**
+ * audit_buffer_aux_new - Add an aux record buffer to the skb list
+ * @ab: audit_buffer
+ * @type: message type
+ *
+ * On success ab->skb will point to the new aux record.
+ * Returns 0 on success, -ENOMEM should allocation fail.
+ */
+static int audit_buffer_aux_new(struct audit_buffer *ab, int type)
+{
+	WARN_ON(ab->skb != skb_peek(&ab->skb_list));
+
+	ab->skb = nlmsg_new(AUDIT_BUFSIZ, ab->gfp_mask);
+	if (!ab->skb)
+		goto err;
+	if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0))
+		goto err;
+	skb_queue_tail(&ab->skb_list, ab->skb);
+
+	audit_log_format(ab, "audit(%llu.%03lu:%u): ",
+			 (unsigned long long)ab->stamp.ctime.tv_sec,
+			 ab->stamp.ctime.tv_nsec/1000000,
+			 ab->stamp.serial);
+
+	return 0;
+
+err:
+	kfree_skb(ab->skb);
+	ab->skb = skb_peek(&ab->skb_list);
+	return -ENOMEM;
+}
+
+/**
+ * audit_buffer_aux_end - Switch back to the "main" record from an aux record
+ * @ab: audit_buffer
+ *
+ * Restores the "main" audit record to ab->skb.
+ */
+static void audit_buffer_aux_end(struct audit_buffer *ab)
+{
+	ab->skb = skb_peek(&ab->skb_list);
+}
+
+
 int audit_log_task_context(struct audit_buffer *ab)
 {
+	int i;
 	int error;
 	struct lsmblob blob;
 	struct lsmcontext context;
@@ -2157,16 +2214,44 @@ int audit_log_task_context(struct audit_buffer *ab)
 	if (!lsmblob_is_set(&blob))
 		return 0;
 
-	error = security_secid_to_secctx(&blob, &context, LSMBLOB_FIRST);
+	if (!lsm_multiple_contexts()) {
+		error = security_secid_to_secctx(&blob, &context,
+						 LSMBLOB_FIRST);
+		if (error) {
+			if (error != -EINVAL)
+				goto error_path;
+			return 0;
+		}
 
-	if (error) {
-		if (error != -EINVAL)
+		audit_log_format(ab, " subj=%s", context.context);
+		security_release_secctx(&context);
+	} else {
+		/* Multiple LSMs provide contexts. Include an aux record. */
+		audit_log_format(ab, " subj=?");
+		error = audit_buffer_aux_new(ab, AUDIT_MAC_TASK_CONTEXTS);
+		if (error)
 			goto error_path;
-		return 0;
+		for (i = 0; i < LSMBLOB_ENTRIES; i++) {
+			if (blob.secid[i] == 0)
+				continue;
+			error = security_secid_to_secctx(&blob, &context, i);
+			if (error) {
+				if (error != -EINVAL)
+					audit_panic("error in audit_log_task_context");
+				audit_log_format(ab, "%ssubj_%s=?",
+						 i ? " " : "",
+						 lsm_slot_to_name(i));
+			} else {
+				audit_log_format(ab, "%ssubj_%s=%s",
+						 i ? " " : "",
+						 lsm_slot_to_name(i),
+						 context.context);
+				security_release_secctx(&context);
+			}
+		}
+		audit_buffer_aux_end(ab);
 	}
 
-	audit_log_format(ab, " subj=%s", context.context);
-	security_release_secctx(&context);
 	return 0;
 
 error_path:
@@ -2382,13 +2467,8 @@ int audit_signal_info(int sig, struct task_struct *t)
 }
 
 /**
- * __audit_log_end - end one audit record
+ * __audit_log_end - send one audit record
  * @skb: the buffer to send
- *
- * We can not do a netlink send inside an irq context because it blocks (last
- * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a
- * queue and a kthread is scheduled to remove them from the queue outside the
- * irq context.  May be called in any context.
  */
 static void __audit_log_end(struct sk_buff *skb)
 {
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related

* [PATCH v33 24/29] LSM: Add a function to report multiple LSMs
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

Add a new boolean function lsm_multiple_contexts() to
identify when multiple security modules provide security
context strings.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
---
 include/linux/security.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/linux/security.h b/include/linux/security.h
index 6dbdfd12fd79..13bc38970498 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -232,6 +232,15 @@ static inline bool lsmblob_equal(const struct lsmblob *bloba,
 extern int lsm_name_to_slot(char *name);
 extern const char *lsm_slot_to_name(int slot);
 
+static inline bool lsm_multiple_contexts(void)
+{
+#ifdef CONFIG_SECURITY
+	return lsm_slot_to_name(1) != NULL;
+#else
+	return false;
+#endif
+}
+
 /**
  * lsmblob_value - find the first non-zero value in an lsmblob structure.
  * @blob: Pointer to the data
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related

* [PATCH v33 23/29] Audit: Create audit_stamp structure
From: Casey Schaufler @ 2022-03-10 23:46 UTC (permalink / raw)
  To: casey.schaufler, jmorris, linux-security-module, selinux
  Cc: john.johansen, linux-kernel, linux-audit
In-Reply-To: <20220310234632.16194-1-casey@schaufler-ca.com>

Replace the timestamp and serial number pair used in audit records
with a structure containing the two elements.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Paul Moore <paul@paul-moore.com>
---
 kernel/audit.c   | 17 +++++++++--------
 kernel/audit.h   | 12 +++++++++---
 kernel/auditsc.c | 22 +++++++++-------------
 3 files changed, 27 insertions(+), 24 deletions(-)

diff --git a/kernel/audit.c b/kernel/audit.c
index 0fad7317cb09..f012c3786264 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1798,11 +1798,11 @@ unsigned int audit_serial(void)
 }
 
 static inline void audit_get_stamp(struct audit_context *ctx,
-				   struct timespec64 *t, unsigned int *serial)
+				   struct audit_stamp *stamp)
 {
-	if (!ctx || !auditsc_get_stamp(ctx, t, serial)) {
-		ktime_get_coarse_real_ts64(t);
-		*serial = audit_serial();
+	if (!ctx || !auditsc_get_stamp(ctx, stamp)) {
+		ktime_get_coarse_real_ts64(&stamp->ctime);
+		stamp->serial = audit_serial();
 	}
 }
 
@@ -1825,8 +1825,7 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,
 				     int type)
 {
 	struct audit_buffer *ab;
-	struct timespec64 t;
-	unsigned int serial;
+	struct audit_stamp stamp;
 
 	if (audit_initialized != AUDIT_INITIALIZED)
 		return NULL;
@@ -1881,12 +1880,14 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask,
 		return NULL;
 	}
 
-	audit_get_stamp(ab->ctx, &t, &serial);
+	audit_get_stamp(ab->ctx, &stamp);
 	/* cancel dummy context to enable supporting records */
 	if (ctx)
 		ctx->dummy = 0;
 	audit_log_format(ab, "audit(%llu.%03lu:%u): ",
-			 (unsigned long long)t.tv_sec, t.tv_nsec/1000000, serial);
+			 (unsigned long long)stamp.ctime.tv_sec,
+			 stamp.ctime.tv_nsec/1000000,
+			 stamp.serial);
 
 	return ab;
 }
diff --git a/kernel/audit.h b/kernel/audit.h
index a2fca1134519..56560846f3b0 100644
--- a/kernel/audit.h
+++ b/kernel/audit.h
@@ -99,6 +99,12 @@ struct audit_proctitle {
 	char	*value;	/* the cmdline field */
 };
 
+/* A timestamp/serial pair to identify an event */
+struct audit_stamp {
+	struct timespec64	ctime;	/* time of syscall entry */
+	unsigned int		serial;	/* serial number for record */
+};
+
 /* The per-task audit context. */
 struct audit_context {
 	int		    dummy;	/* must be the first element */
@@ -108,10 +114,10 @@ struct audit_context {
 		AUDIT_CTX_URING,	/* in use by io_uring */
 	} context;
 	enum audit_state    state, current_state;
+	struct audit_stamp  stamp;	/* event identifier */
 	unsigned int	    serial;     /* serial number for record */
 	int		    major;      /* syscall number */
 	int		    uring_op;   /* uring operation */
-	struct timespec64   ctime;      /* time of syscall entry */
 	unsigned long	    argv[4];    /* syscall arguments */
 	long		    return_code;/* syscall return code */
 	u64		    prio;
@@ -261,7 +267,7 @@ extern void audit_put_tty(struct tty_struct *tty);
 #ifdef CONFIG_AUDITSYSCALL
 extern unsigned int audit_serial(void);
 extern int auditsc_get_stamp(struct audit_context *ctx,
-			      struct timespec64 *t, unsigned int *serial);
+			     struct audit_stamp *stamp);
 
 extern void audit_put_watch(struct audit_watch *watch);
 extern void audit_get_watch(struct audit_watch *watch);
@@ -302,7 +308,7 @@ extern void audit_filter_inodes(struct task_struct *tsk,
 				struct audit_context *ctx);
 extern struct list_head *audit_killed_trees(void);
 #else /* CONFIG_AUDITSYSCALL */
-#define auditsc_get_stamp(c, t, s) 0
+#define auditsc_get_stamp(c, s) 0
 #define audit_put_watch(w) do { } while (0)
 #define audit_get_watch(w) do { } while (0)
 #define audit_to_watch(k, p, l, o) (-EINVAL)
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 47d34433b91e..7848e7351cf9 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -992,10 +992,10 @@ static void audit_reset_context(struct audit_context *ctx)
 	 */
 
 	ctx->current_state = ctx->state;
-	ctx->serial = 0;
+	ctx->stamp.serial = 0;
 	ctx->major = 0;
 	ctx->uring_op = 0;
-	ctx->ctime = (struct timespec64){ .tv_sec = 0, .tv_nsec = 0 };
+	ctx->stamp.ctime = (struct timespec64){ .tv_sec = 0, .tv_nsec = 0 };
 	memset(ctx->argv, 0, sizeof(ctx->argv));
 	ctx->return_code = 0;
 	ctx->prio = (ctx->state == AUDIT_STATE_RECORD ? ~0ULL : 0);
@@ -1898,7 +1898,7 @@ void __audit_uring_entry(u8 op)
 
 	ctx->context = AUDIT_CTX_URING;
 	ctx->current_state = ctx->state;
-	ktime_get_coarse_real_ts64(&ctx->ctime);
+	ktime_get_coarse_real_ts64(&ctx->stamp.ctime);
 }
 
 /**
@@ -2014,7 +2014,7 @@ void __audit_syscall_entry(int major, unsigned long a1, unsigned long a2,
 	context->argv[3]    = a4;
 	context->context = AUDIT_CTX_SYSCALL;
 	context->current_state  = state;
-	ktime_get_coarse_real_ts64(&context->ctime);
+	ktime_get_coarse_real_ts64(&context->stamp.ctime);
 }
 
 /**
@@ -2483,21 +2483,17 @@ EXPORT_SYMBOL_GPL(__audit_inode_child);
 /**
  * auditsc_get_stamp - get local copies of audit_context values
  * @ctx: audit_context for the task
- * @t: timespec64 to store time recorded in the audit_context
- * @serial: serial value that is recorded in the audit_context
+ * @stamp: timestamp to record
  *
  * Also sets the context as auditable.
  */
-int auditsc_get_stamp(struct audit_context *ctx,
-		       struct timespec64 *t, unsigned int *serial)
+int auditsc_get_stamp(struct audit_context *ctx, struct audit_stamp *stamp)
 {
 	if (ctx->context == AUDIT_CTX_UNUSED)
 		return 0;
-	if (!ctx->serial)
-		ctx->serial = audit_serial();
-	t->tv_sec  = ctx->ctime.tv_sec;
-	t->tv_nsec = ctx->ctime.tv_nsec;
-	*serial    = ctx->serial;
+	if (!ctx->stamp.serial)
+		ctx->stamp.serial = audit_serial();
+	*stamp = ctx->stamp;
 	if (!ctx->prio) {
 		ctx->prio = 1;
 		ctx->current_state = AUDIT_STATE_RECORD;
-- 
2.31.1

--
Linux-audit mailing list
Linux-audit@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-audit


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox