summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-22 02:01:49 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-22 02:01:49 +0000
commit6732714746ff0085f355c1fc82f5321f9fec60c9 (patch)
tree7b9b8a43a56d6afe0d76191e9251a2119c5830b7
parent60662882b7bd3def130b5bb5d27ab55848d284e7 (diff)
parent197e8de785017d7c21bd59349705ac12ca3df2f9 (diff)
downloadcommon-sparse-11304584-L98500030001503924.tar.gz
Snap for 11203489 from 197e8de785017d7c21bd59349705ac12ca3df2f9 to common-android14-6.1-2023-05-exp-releasesparse-11304584-L98500030001503924sparse-11304584-L77100030001270247sparse-11304584-L04100030001417907
Change-Id: Icf9ece0e4ccc72d6017dda2bcee2e8196f473221 Signed-off-by: Coastguard Worker <android-build-coastguard-worker@google.com>
-rw-r--r--BUILD.bazel787
-rw-r--r--Documentation/ABI/testing/OWNERS1
-rw-r--r--Documentation/ABI/testing/sysfs-bus-usb11
-rw-r--r--Documentation/admin-guide/cgroup-v2.rst42
-rw-r--r--Documentation/arm64/silicon-errata.rst3
-rw-r--r--Documentation/devicetree/bindings/hypervisor/mediatek,geniezone-hyp.yaml31
-rw-r--r--Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml89
-rw-r--r--Documentation/filesystems/OWNERS1
-rw-r--r--Documentation/filesystems/erofs.rst10
-rw-r--r--Documentation/userspace-api/ioctl/ioctl-number.rst2
-rw-r--r--Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst77
-rw-r--r--Documentation/userspace-api/media/v4l/pixfmt-rgb.rst42
-rw-r--r--Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst15
-rw-r--r--Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst94
-rw-r--r--Documentation/virt/geniezone/introduction.rst86
-rw-r--r--Documentation/virt/gunyah/vm-manager.rst25
-rw-r--r--Documentation/virt/index.rst1
-rw-r--r--MAINTAINERS13
-rw-r--r--OWNERS23
-rw-r--r--android/OWNERS13
-rw-r--r--android/abi_gki_aarch64.stg30080
-rw-r--r--android/abi_gki_aarch64_asus11
-rw-r--r--android/abi_gki_aarch64_exynos175
-rw-r--r--android/abi_gki_aarch64_exynosauto556
-rw-r--r--android/abi_gki_aarch64_galaxy47
-rw-r--r--android/abi_gki_aarch64_imx19
-rw-r--r--android/abi_gki_aarch64_meizu14
-rw-r--r--android/abi_gki_aarch64_mtk83
-rw-r--r--android/abi_gki_aarch64_oplus72
-rw-r--r--android/abi_gki_aarch64_pixel343
-rw-r--r--android/abi_gki_aarch64_qcom74
-rw-r--r--android/abi_gki_aarch64_rockchip2805
-rw-r--r--android/abi_gki_aarch64_tuxera280
-rw-r--r--android/abi_gki_aarch64_unisoc86
-rw-r--r--android/abi_gki_aarch64_vivo27
-rw-r--r--android/abi_gki_aarch64_xiaomi93
-rw-r--r--android/abi_gki_protected_exports_aarch6410
-rw-r--r--android/abi_gki_protected_exports_x86_6410
-rw-r--r--android/gki_aarch64_protected_modules2
-rw-r--r--android/gki_system_dlkm_modules58
-rw-r--r--android/gki_x86_64_protected_modules1
-rw-r--r--arch/alpha/Kconfig1
-rw-r--r--arch/alpha/mm/fault.c13
-rw-r--r--arch/arc/Kconfig1
-rw-r--r--arch/arc/mm/fault.c11
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/OWNERS1
-rw-r--r--arch/arm/include/asm/syscall.h3
-rw-r--r--arch/arm/kernel/entry-common.S1
-rw-r--r--arch/arm/kernel/ptrace.c5
-rw-r--r--arch/arm/mm/fault.c63
-rw-r--r--arch/arm64/Kbuild1
-rw-r--r--arch/arm64/Kconfig1
-rw-r--r--arch/arm64/OWNERS4
-rw-r--r--arch/arm64/configs/crashdump_defconfig81
-rw-r--r--arch/arm64/configs/gki_defconfig8
-rw-r--r--arch/arm64/configs/microdroid_defconfig216
-rw-r--r--arch/arm64/configs/rockchip_gki.fragment358
-rw-r--r--arch/arm64/geniezone/Makefile9
-rw-r--r--arch/arm64/geniezone/gzvm_arch_common.h110
-rw-r--r--arch/arm64/geniezone/vcpu.c88
-rw-r--r--arch/arm64/geniezone/vgic.c108
-rw-r--r--arch/arm64/geniezone/vm.c242
-rw-r--r--arch/arm64/gunyah/gunyah_hypercall.c10
-rw-r--r--arch/arm64/include/asm/exception.h5
-rw-r--r--arch/arm64/include/asm/kvm_asm.h2
-rw-r--r--arch/arm64/include/asm/kvm_host.h12
-rw-r--r--arch/arm64/include/asm/kvm_pkvm.h6
-rw-r--r--arch/arm64/include/asm/memory.h8
-rw-r--r--arch/arm64/include/asm/mte-kasan.h81
-rw-r--r--arch/arm64/include/asm/mte.h12
-rw-r--r--arch/arm64/include/asm/uaccess.h66
-rw-r--r--arch/arm64/include/asm/word-at-a-time.h4
-rw-r--r--arch/arm64/include/uapi/asm/gzvm_arch.h54
-rw-r--r--arch/arm64/kernel/topology.c7
-rw-r--r--arch/arm64/kvm/arm.c113
-rw-r--r--arch/arm64/kvm/guest.c2
-rw-r--r--arch/arm64/kvm/hyp/include/nvhe/pkvm.h3
-rw-r--r--arch/arm64/kvm/hyp/nvhe/hyp-main.c17
-rw-r--r--arch/arm64/kvm/hyp/nvhe/mem_protect.c13
-rw-r--r--arch/arm64/kvm/hyp/nvhe/pkvm.c20
-rw-r--r--arch/arm64/kvm/hyp/nvhe/psci-relay.c9
-rw-r--r--arch/arm64/kvm/hyp/nvhe/serial.c10
-rw-r--r--arch/arm64/kvm/hyp/nvhe/setup.c23
-rw-r--r--arch/arm64/kvm/hyp/nvhe/tlb.c12
-rw-r--r--arch/arm64/kvm/hypercalls.c4
-rw-r--r--arch/arm64/kvm/mmu.c2
-rw-r--r--arch/arm64/kvm/pkvm.c11
-rw-r--r--arch/arm64/kvm/pmu-emul.c23
-rw-r--r--arch/arm64/kvm/psci.c28
-rw-r--r--arch/arm64/kvm/reset.c15
-rw-r--r--arch/arm64/kvm/vgic/vgic-debug.c8
-rw-r--r--arch/arm64/kvm/vgic/vgic-init.c64
-rw-r--r--arch/arm64/kvm/vgic/vgic-its.c51
-rw-r--r--arch/arm64/kvm/vgic/vgic-kvm-device.c53
-rw-r--r--arch/arm64/kvm/vgic/vgic-mmio-v3.c35
-rw-r--r--arch/arm64/kvm/vgic/vgic-mmio.c21
-rw-r--r--arch/arm64/kvm/vgic/vgic-v2.c6
-rw-r--r--arch/arm64/kvm/vgic/vgic-v3.c7
-rw-r--r--arch/arm64/kvm/vgic/vgic-v4.c11
-rw-r--r--arch/arm64/kvm/vgic/vgic.c12
-rw-r--r--arch/arm64/kvm/vgic/vgic.h11
-rw-r--r--arch/arm64/mm/fault.c57
-rw-r--r--arch/csky/Kconfig1
-rw-r--r--arch/csky/mm/fault.c22
-rw-r--r--arch/hexagon/Kconfig1
-rw-r--r--arch/hexagon/mm/vm_fault.c18
-rw-r--r--arch/ia64/mm/fault.c36
-rw-r--r--arch/loongarch/Kconfig1
-rw-r--r--arch/loongarch/mm/fault.c16
-rw-r--r--arch/m68k/mm/fault.c9
-rw-r--r--arch/microblaze/mm/fault.c5
-rw-r--r--arch/mips/Kconfig1
-rw-r--r--arch/mips/mm/fault.c12
-rw-r--r--arch/nios2/Kconfig1
-rw-r--r--arch/nios2/mm/fault.c17
-rw-r--r--arch/openrisc/mm/fault.c5
-rw-r--r--arch/parisc/mm/fault.c23
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/powerpc/kvm/book3s_hv_uvmem.c1
-rw-r--r--arch/powerpc/mm/book3s64/subpage_prot.c1
-rw-r--r--arch/powerpc/mm/copro_fault.c14
-rw-r--r--arch/powerpc/mm/fault.c46
-rw-r--r--arch/riscv/Kconfig2
-rw-r--r--arch/riscv/mm/fault.c59
-rw-r--r--arch/riscv/mm/pageattr.c1
-rw-r--r--arch/s390/mm/fault.c10
-rw-r--r--arch/s390/mm/gmap.c5
-rw-r--r--arch/sh/Kconfig1
-rw-r--r--arch/sh/mm/fault.c17
-rw-r--r--arch/sparc/Kconfig1
-rw-r--r--arch/sparc/mm/fault_32.c32
-rw-r--r--arch/sparc/mm/fault_64.c8
-rw-r--r--arch/um/kernel/trap.c11
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--arch/x86/Makefile.um5
-rw-r--r--arch/x86/OWNERS3
-rw-r--r--arch/x86/configs/crashdump_defconfig87
-rw-r--r--arch/x86/configs/gki_defconfig5
-rw-r--r--arch/x86/configs/microdroid_defconfig290
-rw-r--r--arch/x86/include/asm/cpu.h2
-rw-r--r--arch/x86/include/asm/smp.h2
-rw-r--r--arch/x86/kernel/cpu/microcode/amd.c2
-rw-r--r--arch/x86/kernel/process.c28
-rw-r--r--arch/x86/kernel/smp.c73
-rw-r--r--arch/x86/kernel/smpboot.c81
-rw-r--r--arch/x86/mm/fault.c59
-rw-r--r--arch/x86/mm/kaslr.c8
-rw-r--r--arch/xtensa/Kconfig1
-rw-r--r--arch/xtensa/mm/fault.c14
-rw-r--r--block/OWNERS2
-rw-r--r--block/blk-crypto-fallback.c38
-rw-r--r--block/blk-crypto-profile.c16
-rw-r--r--block/blk-ioc.c36
-rw-r--r--block/blk-ioprio.c23
-rw-r--r--block/blk-mq.c5
-rw-r--r--build.config.allmodconfig1
-rw-r--r--build.config.common2
-rw-r--r--build.config.crashdump1
-rw-r--r--build.config.crashdump.aarch647
-rw-r--r--build.config.crashdump.x86_647
-rw-r--r--build.config.gki.aarch641
-rw-r--r--build.config.gki.aarch64.16k5
-rw-r--r--build.config.gki.riscv641
-rw-r--r--build.config.gki.x86_641
-rw-r--r--build.config.microdroid1
-rw-r--r--build.config.microdroid.aarch647
-rw-r--r--build.config.microdroid.x86_647
-rw-r--r--build.config.rockchip15
-rw-r--r--crypto/OWNERS1
-rw-r--r--crypto/fips140-defs.h6
-rw-r--r--crypto/fips140-eval-testing.c8
-rw-r--r--drivers/OWNERS6
-rw-r--r--drivers/android/Kconfig11
-rw-r--r--drivers/android/Makefile1
-rw-r--r--drivers/android/android_debug_symbols.c96
-rw-r--r--drivers/android/binder.c23
-rw-r--r--drivers/android/vendor_hooks.c36
-rw-r--r--drivers/base/arch_topology.c6
-rw-r--r--drivers/base/dd.c23
-rw-r--r--drivers/clk/clk-fractional-divider.c1
-rw-r--r--drivers/cpuidle/governors/teo.c13
-rw-r--r--drivers/dma-buf/dma-fence-unwrap.c26
-rw-r--r--drivers/dma-buf/dma-fence.c7
-rw-r--r--drivers/gpu/drm/drm_syncobj.c6
-rw-r--r--drivers/gpu/drm/ttm/ttm_tt.c1
-rw-r--r--drivers/hid/hid-core.c8
-rw-r--r--drivers/hid/hid-logitech-hidpp.c2
-rw-r--r--drivers/hid/hidraw.c9
-rw-r--r--drivers/iommu/amd/iommu.c6
-rw-r--r--drivers/iommu/amd/iommu_v2.c4
-rw-r--r--drivers/iommu/dma-iommu.c3
-rw-r--r--drivers/iommu/iommu-sva.c2
-rw-r--r--drivers/iommu/of_iommu.c96
-rw-r--r--drivers/irqchip/irq-gic-v3.c62
-rw-r--r--drivers/mailbox/gunyah-msgq.c9
-rw-r--r--drivers/media/dvb-core/dvb_frontend.c16
-rw-r--r--drivers/media/usb/siano/smsusb.c3
-rw-r--r--drivers/media/v4l2-core/v4l2-common.c6
-rw-r--r--drivers/media/v4l2-core/v4l2-ioctl.c9
-rw-r--r--drivers/memstick/host/r592.c2
-rw-r--r--drivers/mfd/syscon.c2
-rw-r--r--drivers/misc/uid_sys_stats.c247
-rw-r--r--drivers/net/ipvlan/ipvlan_core.c6
-rw-r--r--drivers/net/tap.c2
-rw-r--r--drivers/net/tun.c2
-rw-r--r--drivers/of/address.c41
-rw-r--r--drivers/staging/media/rkvdec/rkvdec.c2
-rw-r--r--drivers/thermal/gov_power_allocator.c5
-rw-r--r--drivers/thermal/thermal_netlink.c6
-rw-r--r--drivers/tty/n_gsm.c7
-rw-r--r--drivers/tty/serial/qcom_geni_serial.c14
-rw-r--r--drivers/ufs/core/ufs-mcq.c17
-rw-r--r--drivers/ufs/core/ufshcd-priv.h1
-rw-r--r--drivers/ufs/core/ufshcd.c40
-rw-r--r--drivers/ufs/host/ufs-mediatek.c174
-rw-r--r--drivers/ufs/host/ufs-mediatek.h33
-rw-r--r--drivers/usb/core/hub.c60
-rw-r--r--drivers/usb/core/hub.h4
-rw-r--r--drivers/usb/core/port.c27
-rw-r--r--drivers/usb/dwc3/gadget.c5
-rw-r--r--drivers/usb/gadget/function/u_serial.c19
-rw-r--r--drivers/usb/gadget/udc/core.c189
-rw-r--r--drivers/usb/gadget/udc/renesas_usb3.c1
-rw-r--r--drivers/usb/host/ehci-hcd.c8
-rw-r--r--drivers/usb/host/ehci-hub.c10
-rw-r--r--drivers/usb/host/ehci-sched.c3
-rw-r--r--drivers/usb/host/ehci.h9
-rw-r--r--drivers/usb/host/xhci-plat.c11
-rw-r--r--drivers/usb/host/xhci-plat.h1
-rw-r--r--drivers/usb/host/xhci.c12
-rw-r--r--drivers/usb/host/xhci.h17
-rw-r--r--drivers/usb/typec/bus.c15
-rw-r--r--drivers/usb/typec/tcpm/tcpm.c178
-rw-r--r--drivers/usb/typec/ucsi/ucsi.c12
-rw-r--r--drivers/video/fbdev/core/sysimgblt.c2
-rw-r--r--drivers/virt/Kconfig2
-rw-r--r--drivers/virt/geniezone/Kconfig16
-rw-r--r--drivers/virt/geniezone/Makefile11
-rw-r--r--drivers/virt/geniezone/gzvm_common.h12
-rw-r--r--drivers/virt/geniezone/gzvm_ioeventfd.c273
-rw-r--r--drivers/virt/geniezone/gzvm_irqfd.c566
-rw-r--r--drivers/virt/geniezone/gzvm_main.c143
-rw-r--r--drivers/virt/geniezone/gzvm_vcpu.c276
-rw-r--r--drivers/virt/geniezone/gzvm_vm.c539
-rw-r--r--drivers/virt/gunyah/gunyah_platform_hooks.c12
-rw-r--r--drivers/virt/gunyah/gunyah_qcom.c56
-rw-r--r--drivers/virt/gunyah/gunyah_vcpu.c2
-rw-r--r--drivers/virt/gunyah/rsc_mgr.c36
-rw-r--r--drivers/virt/gunyah/rsc_mgr_rpc.c2
-rw-r--r--drivers/virt/gunyah/vm_mgr.c11
-rw-r--r--drivers/virt/gunyah/vm_mgr_mm.c4
-rw-r--r--fs/OWNERS1
-rw-r--r--fs/binfmt_elf.c6
-rw-r--r--fs/cifs/fs_context.c1
-rw-r--r--fs/drop_caches.c2
-rw-r--r--fs/erofs/data.c57
-rw-r--r--fs/erofs/decompressor.c6
-rw-r--r--fs/erofs/decompressor_lzma.c4
-rw-r--r--fs/erofs/dir.c22
-rw-r--r--fs/erofs/erofs_fs.h5
-rw-r--r--fs/erofs/fscache.c7
-rw-r--r--fs/erofs/inode.c25
-rw-r--r--fs/erofs/internal.h45
-rw-r--r--fs/erofs/namei.c30
-rw-r--r--fs/erofs/super.c94
-rw-r--r--fs/erofs/xattr.c52
-rw-r--r--fs/erofs/xattr.h10
-rw-r--r--fs/erofs/zdata.c97
-rw-r--r--fs/erofs/zdata.h5
-rw-r--r--fs/erofs/zmap.c284
-rw-r--r--fs/exec.c38
-rw-r--r--fs/exfat/dir.c9
-rw-r--r--fs/f2fs/OWNERS1
-rw-r--r--fs/f2fs/dir.c9
-rw-r--r--fs/f2fs/xattr.c6
-rw-r--r--fs/fuse/OWNERS1
-rw-r--r--fs/fuse/backing.c193
-rw-r--r--fs/fuse/dir.c44
-rw-r--r--fs/fuse/file.c82
-rw-r--r--fs/fuse/fuse_i.h18
-rw-r--r--fs/fuse/inode.c23
-rw-r--r--fs/fuse/ioctl.c9
-rw-r--r--fs/gfs2/super.c8
-rw-r--r--fs/incfs/OWNERS2
-rw-r--r--fs/incfs/pseudo_files.c4
-rw-r--r--fs/locks.c2
-rw-r--r--fs/ntfs3/index.c84
-rw-r--r--fs/ntfs3/inode.c18
-rw-r--r--fs/ntfs3/ntfs_fs.h4
-rw-r--r--fs/ntfs3/run.c7
-rw-r--r--fs/ntfs3/xattr.c109
-rw-r--r--fs/proc/task_mmu.c5
-rw-r--r--fs/pstore/ram_core.c2
-rw-r--r--fs/userfaultfd.c40
-rw-r--r--fs/verity/enable.c17
-rw-r--r--fs/xfs/xfs_buf_item_recover.c10
-rw-r--r--include/OWNERS1
-rw-r--r--include/linux/OWNERS4
-rw-r--r--include/linux/android_debug_symbols.h47
-rw-r--r--include/linux/blk-crypto-profile.h3
-rw-r--r--include/linux/cpuidle.h8
-rw-r--r--include/linux/device/driver.h1
-rw-r--r--include/linux/dma-fence.h2
-rw-r--r--include/linux/gunyah_rsc_mgr.h13
-rw-r--r--include/linux/gunyah_vm_mgr.h31
-rw-r--r--include/linux/gzvm_drv.h158
-rw-r--r--include/linux/highmem.h26
-rw-r--r--include/linux/mm.h106
-rw-r--r--include/linux/mm_types.h31
-rw-r--r--include/linux/mmap_lock.h18
-rw-r--r--include/linux/of_address.h2
-rw-r--r--include/linux/of_iommu.h8
-rw-r--r--include/linux/oom.h2
-rw-r--r--include/linux/pagemap.h11
-rw-r--r--include/linux/pagewalk.h11
-rw-r--r--include/linux/percpu-rwsem.h7
-rw-r--r--include/linux/sched.h13
-rw-r--r--include/linux/skmsg.h3
-rw-r--r--include/linux/usb/phy.h10
-rw-r--r--include/linux/wwan.h7
-rw-r--r--include/net/bluetooth/hci.h1
-rw-r--r--include/net/bluetooth/hci_core.h1
-rw-r--r--include/net/neighbour.h2
-rw-r--r--include/net/netfilter/nf_tables.h21
-rw-r--r--include/net/netns/ipv6.h2
-rw-r--r--include/net/sock.h4
-rw-r--r--include/net/tcp.h10
-rw-r--r--include/trace/events/OWNERS1
-rw-r--r--include/trace/events/erofs.h4
-rw-r--r--include/trace/events/mmflags.h3
-rw-r--r--include/trace/hooks/binder.h24
-rw-r--r--include/trace/hooks/cgroup.h11
-rw-r--r--include/trace/hooks/compaction.h20
-rw-r--r--include/trace/hooks/dtask.h29
-rw-r--r--include/trace/hooks/mm.h28
-rw-r--r--include/trace/hooks/regmap.h24
-rw-r--r--include/trace/hooks/sched.h50
-rw-r--r--include/trace/hooks/signal.h3
-rw-r--r--include/trace/hooks/thermal.h4
-rw-r--r--include/trace/hooks/topology.h4
-rw-r--r--include/trace/hooks/vmscan.h17
-rw-r--r--include/uapi/asm-generic/Kbuild1
-rw-r--r--include/uapi/asm-generic/gzvm_arch.h10
-rw-r--r--include/uapi/linux/OWNERS3
-rw-r--r--include/uapi/linux/android_fuse.h23
-rw-r--r--include/uapi/linux/gzvm.h343
-rw-r--r--include/uapi/linux/videodev2.h16
-rw-r--r--include/uapi/scsi/scsi_bsg_ufs.h12
-rw-r--r--include/ufs/ufshcd.h3
-rw-r--r--init/Kconfig.gki1
-rw-r--r--io_uring/poll.c9
-rw-r--r--kernel/cgroup/cgroup-internal.h3
-rw-r--r--kernel/cgroup/cgroup-v1.c2
-rw-r--r--kernel/cgroup/cgroup.c13
-rw-r--r--kernel/cgroup/freezer.c9
-rw-r--r--kernel/dma/remap.c4
-rw-r--r--kernel/exit.c3
-rw-r--r--kernel/fork.c1
-rw-r--r--kernel/freezer.c41
-rwxr-xr-xkernel/gen_kheaders.sh4
-rw-r--r--kernel/locking/mutex.c4
-rw-r--r--kernel/locking/percpu-rwsem.c18
-rw-r--r--kernel/locking/rtmutex.c6
-rw-r--r--kernel/locking/rwsem.c2
-rw-r--r--kernel/module/Makefile10
-rw-r--r--kernel/module/gki_module.c4
-rw-r--r--kernel/printk/printk_ringbuffer.c2
-rw-r--r--kernel/relay.c3
-rw-r--r--kernel/sched/OWNERS4
-rw-r--r--kernel/sched/core.c330
-rw-r--r--kernel/sched/cpufreq_schedutil.c1
-rw-r--r--kernel/sched/deadline.c1
-rw-r--r--kernel/sched/fair.c16
-rw-r--r--kernel/sched/pelt.c6
-rw-r--r--kernel/sched/rt.c7
-rw-r--r--kernel/sched/topology.c3
-rw-r--r--kernel/sched/vendor_hooks.c11
-rw-r--r--kernel/signal.c18
-rw-r--r--lib/maple_tree.c64
-rw-r--r--mm/Kconfig4
-rw-r--r--mm/OWNERS3
-rw-r--r--mm/compaction.c5
-rw-r--r--mm/damon/vaddr.c2
-rw-r--r--mm/filemap.c35
-rw-r--r--mm/gup.c6
-rw-r--r--mm/hmm.c1
-rw-r--r--mm/hugetlb.c8
-rw-r--r--mm/internal.h2
-rw-r--r--mm/kasan/hw_tags.c12
-rw-r--r--mm/kasan/kasan.h38
-rw-r--r--mm/kasan/kasan_test.c2
-rw-r--r--mm/kasan/report.c59
-rw-r--r--mm/ksm.c17
-rw-r--r--mm/madvise.c12
-rw-r--r--mm/memcontrol.c5
-rw-r--r--mm/memory-failure.c1
-rw-r--r--mm/memory.c325
-rw-r--r--mm/mempolicy.c29
-rw-r--r--mm/migrate.c6
-rw-r--r--mm/migrate_device.c1
-rw-r--r--mm/mincore.c1
-rw-r--r--mm/mlock.c4
-rw-r--r--mm/mmap.c200
-rw-r--r--mm/mprotect.c2
-rw-r--r--mm/nommu.c17
-rw-r--r--mm/oom_kill.c31
-rw-r--r--mm/page_alloc.c22
-rw-r--r--mm/page_owner.c2
-rw-r--r--mm/pagewalk.c33
-rw-r--r--mm/rmap.c2
-rw-r--r--mm/shmem.c6
-rw-r--r--mm/swap.h1
-rw-r--r--mm/swap_state.c12
-rw-r--r--mm/vmscan.c124
-rw-r--r--mm/zsmalloc.c113
-rw-r--r--modules.bzl56
-rw-r--r--net/OWNERS2
-rw-r--r--net/bluetooth/hci_core.c2
-rw-r--r--net/bluetooth/hci_sock.c9
-rw-r--r--net/bluetooth/hci_sync.c23
-rw-r--r--net/bluetooth/l2cap_sock.c2
-rw-r--r--net/can/isotp.c5
-rw-r--r--net/core/net-traces.c6
-rw-r--r--net/core/skbuff.c5
-rw-r--r--net/core/skmsg.c82
-rw-r--r--net/core/sock_map.c13
-rw-r--r--net/ipv4/af_inet.c2
-rw-r--r--net/ipv4/inet_connection_sock.c1
-rw-r--r--net/ipv4/tcp.c17
-rw-r--r--net/ipv4/tcp_bpf.c79
-rw-r--r--net/ipv4/udp.c7
-rw-r--r--net/netfilter/nf_tables_api.c111
-rw-r--r--net/netfilter/nfnetlink_log.c6
-rw-r--r--net/netfilter/nft_byteorder.c14
-rw-r--r--net/netfilter/nft_immediate.c87
-rw-r--r--net/netfilter/nft_set_pipapo.c6
-rw-r--r--net/nfc/llcp.h1
-rw-r--r--net/nfc/llcp_commands.c12
-rw-r--r--net/nfc/llcp_core.c49
-rw-r--r--net/nfc/llcp_sock.c18
-rw-r--r--net/nfc/netlink.c20
-rw-r--r--net/nfc/nfc.h1
-rw-r--r--net/sched/cls_flower.c3
-rw-r--r--net/sched/cls_fw.c11
-rw-r--r--net/sched/cls_route.c1
-rw-r--r--net/sched/cls_u32.c19
-rw-r--r--net/sched/sch_hfsc.c4
-rw-r--r--net/sched/sch_plug.c2
-rw-r--r--net/sched/sch_qfq.c54
-rw-r--r--net/unix/af_unix.c16
-rw-r--r--samples/gunyah/gunyah_vmm.c52
-rwxr-xr-xscripts/gen_gki_modules_headers.sh2
-rw-r--r--sound/usb/card.c50
-rw-r--r--sound/usb/card.h15
-rw-r--r--sound/usb/pcm.c20
-rw-r--r--sound/usb/stream.c2
-rw-r--r--sound/usb/usbaudio.h34
-rw-r--r--tools/testing/selftests/filesystems/fuse/OWNERS2
-rw-r--r--tools/testing/selftests/filesystems/fuse/fuse_test.c117
-rw-r--r--tools/testing/selftests/filesystems/fuse/test_bpf.c48
-rw-r--r--tools/testing/selftests/filesystems/incfs/OWNERS1
462 files changed, 38308 insertions, 10531 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index 786d7193b7f8..1035027d3f17 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,10 +1,21 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021 The Android Open Source Project
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
-load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels", "define_db845c")
-load("//build/kernel/kleaf:kernel.bzl", "ddk_headers", "kernel_build", "kernel_images", "kernel_modules_install")
-load(":modules.bzl", "COMMON_GKI_MODULES_LIST")
+load("//build/kernel/kleaf:common_kernels.bzl", "define_common_kernels")
+load("//build/kernel/kleaf:constants.bzl", "X86_64_OUTS")
+load(
+ "//build/kernel/kleaf:kernel.bzl",
+ "checkpatch",
+ "ddk_headers",
+ "kernel_abi",
+ "kernel_build",
+ "kernel_images",
+ "kernel_modules_install",
+ "merged_kernel_uapi_headers",
+)
+load(":modules.bzl", "get_gki_modules_list")
package(
default_visibility = [
@@ -31,19 +42,77 @@ _GKI_X86_64_MAKE_GOALS = [
"modules",
]
+checkpatch(
+ name = "checkpatch",
+ checkpatch_pl = "scripts/checkpatch.pl",
+)
+
+# Deprecated - Use arch specific files from below.
+alias(
+ name = "gki_system_dlkm_modules",
+ actual = "gki_system_dlkm_modules_arm64",
+ deprecation = """
+ Common list for all architectures is deprecated.
+ Instead use the file corresponding to the architecture used:
+ i.e. `gki_system_dlkm_modules_{arch}`
+ """,
+)
+
+alias(
+ name = "android/gki_system_dlkm_modules",
+ actual = "android/gki_system_dlkm_modules_arm64",
+ deprecation = """
+ Common list for all architectures is deprecated.
+ Instead use the file corresponding to the architecture used:
+ i.e. `gki_system_dlkm_modules_{arch}`
+ """,
+)
+
+write_file(
+ name = "gki_system_dlkm_modules_arm64",
+ out = "android/gki_system_dlkm_modules_arm64",
+ content = get_gki_modules_list("arm64") + [
+ # Ensure new line at the end.
+ "",
+ ],
+)
+
+write_file(
+ name = "gki_system_dlkm_modules_x86_64",
+ out = "android/gki_system_dlkm_modules_x86_64",
+ content = get_gki_modules_list("x86_64") + [
+ # Ensure new line at the end.
+ "",
+ ],
+)
+
+write_file(
+ name = "gki_system_dlkm_modules_risc64",
+ out = "android/gki_system_dlkm_modules_riscv64",
+ content = get_gki_modules_list("riscv64") + [
+ # Ensure new line at the end.
+ "",
+ ],
+)
+
filegroup(
name = "aarch64_additional_kmi_symbol_lists",
srcs = [
# keep sorted
+ "android/abi_gki_aarch64_asus",
"android/abi_gki_aarch64_db845c",
"android/abi_gki_aarch64_exynos",
+ "android/abi_gki_aarch64_exynosauto",
"android/abi_gki_aarch64_galaxy",
"android/abi_gki_aarch64_honor",
"android/abi_gki_aarch64_imx",
+ "android/abi_gki_aarch64_meizu",
"android/abi_gki_aarch64_mtk",
"android/abi_gki_aarch64_oplus",
"android/abi_gki_aarch64_pixel",
"android/abi_gki_aarch64_qcom",
+ "android/abi_gki_aarch64_rockchip",
+ "android/abi_gki_aarch64_tuxera",
"android/abi_gki_aarch64_unisoc",
"android/abi_gki_aarch64_virtual_device",
"android/abi_gki_aarch64_vivo",
@@ -55,8 +124,9 @@ filegroup(
define_common_kernels(target_configs = {
"kernel_aarch64": {
"kmi_symbol_list_strict_mode": True,
- "module_implicit_outs": COMMON_GKI_MODULES_LIST,
+ "module_implicit_outs": get_gki_modules_list("arm64"),
"kmi_symbol_list": "android/abi_gki_aarch64",
+ "kmi_symbol_list_add_only": True,
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
"protected_modules_list": "android/gki_aarch64_protected_modules",
@@ -64,13 +134,14 @@ define_common_kernels(target_configs = {
},
"kernel_aarch64_16k": {
"kmi_symbol_list_strict_mode": False,
- "module_implicit_outs": COMMON_GKI_MODULES_LIST,
+ "module_implicit_outs": get_gki_modules_list("arm64"),
"make_goals": _GKI_AARCH64_MAKE_GOALS,
},
"kernel_aarch64_debug": {
"kmi_symbol_list_strict_mode": False,
- "module_implicit_outs": COMMON_GKI_MODULES_LIST,
+ "module_implicit_outs": get_gki_modules_list("arm64"),
"kmi_symbol_list": "android/abi_gki_aarch64",
+ "kmi_symbol_list_add_only": True,
"additional_kmi_symbol_lists": [":aarch64_additional_kmi_symbol_lists"],
"protected_exports_list": "android/abi_gki_protected_exports_aarch64",
"protected_modules_list": "android/gki_aarch64_protected_modules",
@@ -78,232 +149,459 @@ define_common_kernels(target_configs = {
},
"kernel_riscv64": {
"kmi_symbol_list_strict_mode": False,
- "module_implicit_outs": COMMON_GKI_MODULES_LIST,
+ "module_implicit_outs": get_gki_modules_list("riscv64"),
"make_goals": _GKI_RISCV64_MAKE_GOALS,
},
"kernel_x86_64": {
"kmi_symbol_list_strict_mode": False,
- "module_implicit_outs": COMMON_GKI_MODULES_LIST,
+ "module_implicit_outs": get_gki_modules_list("x86_64"),
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
"protected_modules_list": "android/gki_x86_64_protected_modules",
"make_goals": _GKI_X86_64_MAKE_GOALS,
},
"kernel_x86_64_debug": {
"kmi_symbol_list_strict_mode": False,
- "module_implicit_outs": COMMON_GKI_MODULES_LIST,
+ "module_implicit_outs": get_gki_modules_list("x86_64"),
"protected_exports_list": "android/abi_gki_protected_exports_x86_64",
"protected_modules_list": "android/gki_x86_64_protected_modules",
"make_goals": _GKI_X86_64_MAKE_GOALS,
},
})
-define_db845c(
- name = "db845c",
+# Microdroid is not a real device. The kernel image is built with special
+# configs to reduce the size. Hence, not using mixed build.
+kernel_build(
+ name = "kernel_aarch64_microdroid",
+ srcs = ["//common:kernel_aarch64_sources"],
+ outs = [
+ "Image",
+ "System.map",
+ "modules.builtin",
+ "modules.builtin.modinfo",
+ "vmlinux",
+ "vmlinux.symvers",
+ ],
+ build_config = "build.config.microdroid.aarch64",
+ make_goals = [
+ "Image",
+ ],
+)
+
+copy_to_dist_dir(
+ name = "kernel_aarch64_microdroid_dist",
+ data = [
+ ":kernel_aarch64_microdroid",
+ ],
+ dist_dir = "out/kernel_aarch64_microdroid/dist",
+ flat = True,
+ log = "info",
+)
+
+# Microdroid is not a real device. The kernel image is built with special
+# configs to reduce the size. Hence, not using mixed build.
+kernel_build(
+ name = "kernel_x86_64_microdroid",
+ srcs = ["//common:kernel_x86_64_sources"],
+ outs = X86_64_OUTS,
+ arch = "x86_64",
+ build_config = "build.config.microdroid.x86_64",
+ make_goals = [
+ "bzImage",
+ ],
+)
+
+copy_to_dist_dir(
+ name = "kernel_x86_64_microdroid_dist",
+ data = [
+ ":kernel_x86_64_microdroid",
+ ],
+ dist_dir = "out/kernel_x86_64_microdroid/dist",
+ flat = True,
+ log = "info",
+)
+
+kernel_build(
+ name = "kernel_aarch64_crashdump",
+ srcs = ["//common:kernel_aarch64_sources"],
+ outs = [
+ "Image",
+ ],
+ build_config = "build.config.crashdump.aarch64",
+ make_goals = [
+ "Image",
+ ],
+)
+
+copy_to_dist_dir(
+ name = "kernel_aarch64_crashdump_dist",
+ data = [
+ ":kernel_aarch64_crashdump",
+ ],
+ dist_dir = "out/kernel_aarch64_crashdump/dist",
+ flat = True,
+ log = "info",
+)
+
+kernel_build(
+ name = "kernel_x86_64_crashdump",
+ srcs = ["//common:kernel_x86_64_sources"],
+ outs = X86_64_OUTS,
+ arch = "x86_64",
+ build_config = "build.config.crashdump.x86_64",
+ make_goals = [
+ "bzImage",
+ ],
+)
+
+copy_to_dist_dir(
+ name = "kernel_x86_64_crashdump_dist",
+ data = [
+ ":kernel_x86_64_crashdump",
+ ],
+ dist_dir = "out/kernel_x86_64_crashdump/dist",
+ flat = True,
+ log = "info",
+)
+
+_DB845C_MODULE_OUTS = [
+ # keep sorted
+ "crypto/michael_mic.ko",
+ "drivers/base/regmap/regmap-sdw.ko",
+ "drivers/base/regmap/regmap-slimbus.ko",
+ "drivers/bus/mhi/host/mhi.ko",
+ "drivers/clk/qcom/clk-qcom.ko",
+ "drivers/clk/qcom/clk-rpmh.ko",
+ "drivers/clk/qcom/clk-spmi-pmic-div.ko",
+ "drivers/clk/qcom/dispcc-sdm845.ko",
+ "drivers/clk/qcom/dispcc-sm8250.ko",
+ "drivers/clk/qcom/gcc-sdm845.ko",
+ "drivers/clk/qcom/gcc-sm8250.ko",
+ "drivers/clk/qcom/gcc-sm8450.ko",
+ "drivers/clk/qcom/gpucc-sdm845.ko",
+ "drivers/clk/qcom/gpucc-sm8250.ko",
+ "drivers/clk/qcom/lpass-gfm-sm8250.ko",
+ "drivers/clk/qcom/videocc-sdm845.ko",
+ "drivers/clk/qcom/videocc-sm8250.ko",
+ "drivers/cpufreq/qcom-cpufreq-hw.ko",
+ "drivers/dma-buf/heaps/system_heap.ko",
+ "drivers/dma/qcom/bam_dma.ko",
+ "drivers/dma/qcom/gpi.ko",
+ "drivers/extcon/extcon-usb-gpio.ko",
+ "drivers/firmware/qcom-scm.ko",
+ "drivers/gpio/gpio-wcd934x.ko",
+ "drivers/gpu/drm/bridge/display-connector.ko",
+ "drivers/gpu/drm/bridge/lontium-lt9611.ko",
+ "drivers/gpu/drm/bridge/lontium-lt9611uxc.ko",
+ "drivers/gpu/drm/display/drm_display_helper.ko",
+ "drivers/gpu/drm/display/drm_dp_aux_bus.ko",
+ "drivers/gpu/drm/msm/msm.ko",
+ "drivers/gpu/drm/scheduler/gpu-sched.ko",
+ "drivers/hwspinlock/qcom_hwspinlock.ko",
+ "drivers/i2c/busses/i2c-designware-core.ko",
+ "drivers/i2c/busses/i2c-designware-platform.ko",
+ "drivers/i2c/busses/i2c-qcom-geni.ko",
+ "drivers/i2c/busses/i2c-qup.ko",
+ "drivers/i2c/busses/i2c-rk3x.ko",
+ "drivers/i2c/i2c-dev.ko",
+ "drivers/i2c/i2c-mux.ko",
+ "drivers/i2c/muxes/i2c-mux-pca954x.ko",
+ "drivers/iio/adc/qcom-spmi-adc5.ko",
+ "drivers/iio/adc/qcom-vadc-common.ko",
+ "drivers/input/misc/pm8941-pwrkey.ko",
+ "drivers/interconnect/qcom/icc-bcm-voter.ko",
+ "drivers/interconnect/qcom/icc-osm-l3.ko",
+ "drivers/interconnect/qcom/icc-rpmh.ko",
+ "drivers/interconnect/qcom/qnoc-sdm845.ko",
+ "drivers/interconnect/qcom/qnoc-sm8250.ko",
+ "drivers/interconnect/qcom/qnoc-sm8450.ko",
+ "drivers/iommu/arm/arm-smmu/arm_smmu.ko",
+ "drivers/irqchip/qcom-pdc.ko",
+ "drivers/leds/rgb/leds-qcom-lpg.ko",
+ "drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
+ "drivers/mailbox/qcom-ipcc.ko",
+ "drivers/media/platform/qcom/venus/venus-core.ko",
+ "drivers/media/platform/qcom/venus/venus-dec.ko",
+ "drivers/media/platform/qcom/venus/venus-enc.ko",
+ "drivers/mfd/qcom-spmi-pmic.ko",
+ "drivers/mfd/wcd934x.ko",
+ "drivers/misc/fastrpc.ko",
+ "drivers/mmc/host/cqhci.ko",
+ "drivers/mmc/host/sdhci-msm.ko",
+ "drivers/net/can/spi/mcp251xfd/mcp251xfd.ko",
+ "drivers/net/wireless/ath/ath.ko",
+ "drivers/net/wireless/ath/ath10k/ath10k_core.ko",
+ "drivers/net/wireless/ath/ath10k/ath10k_pci.ko",
+ "drivers/net/wireless/ath/ath10k/ath10k_snoc.ko",
+ "drivers/net/wireless/ath/ath11k/ath11k.ko",
+ "drivers/net/wireless/ath/ath11k/ath11k_ahb.ko",
+ "drivers/net/wireless/ath/ath11k/ath11k_pci.ko",
+ "drivers/nvmem/nvmem_qfprom.ko",
+ "drivers/phy/qualcomm/phy-qcom-qmp-combo.ko",
+ "drivers/phy/qualcomm/phy-qcom-qmp-pcie.ko",
+ "drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.ko",
+ "drivers/phy/qualcomm/phy-qcom-qmp-ufs.ko",
+ "drivers/phy/qualcomm/phy-qcom-qmp-usb.ko",
+ "drivers/phy/qualcomm/phy-qcom-qusb2.ko",
+ "drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko",
+ "drivers/phy/qualcomm/phy-qcom-usb-hs.ko",
+ "drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko",
+ "drivers/pinctrl/qcom/pinctrl-msm.ko",
+ "drivers/pinctrl/qcom/pinctrl-sdm845.ko",
+ "drivers/pinctrl/qcom/pinctrl-sm8250.ko",
+ "drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.ko",
+ "drivers/pinctrl/qcom/pinctrl-sm8450.ko",
+ "drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko",
+ "drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko",
+ "drivers/power/reset/qcom-pon.ko",
+ "drivers/power/reset/reboot-mode.ko",
+ "drivers/power/reset/syscon-reboot-mode.ko",
+ "drivers/regulator/gpio-regulator.ko",
+ "drivers/regulator/qcom-rpmh-regulator.ko",
+ "drivers/regulator/qcom_spmi-regulator.ko",
+ "drivers/regulator/qcom_usb_vbus-regulator.ko",
+ "drivers/remoteproc/qcom_common.ko",
+ "drivers/remoteproc/qcom_pil_info.ko",
+ "drivers/remoteproc/qcom_q6v5.ko",
+ "drivers/remoteproc/qcom_q6v5_adsp.ko",
+ "drivers/remoteproc/qcom_q6v5_mss.ko",
+ "drivers/remoteproc/qcom_q6v5_pas.ko",
+ "drivers/remoteproc/qcom_q6v5_wcss.ko",
+ "drivers/remoteproc/qcom_sysmon.ko",
+ "drivers/reset/reset-qcom-aoss.ko",
+ "drivers/reset/reset-qcom-pdc.ko",
+ "drivers/rpmsg/qcom_glink.ko",
+ "drivers/rpmsg/qcom_glink_rpm.ko",
+ "drivers/rpmsg/qcom_glink_smem.ko",
+ "drivers/rpmsg/qcom_smd.ko",
+ "drivers/rpmsg/rpmsg_ns.ko",
+ "drivers/rtc/rtc-pm8xxx.ko",
+ "drivers/slimbus/slim-qcom-ngd-ctrl.ko",
+ "drivers/slimbus/slimbus.ko",
+ "drivers/soc/qcom/apr.ko",
+ "drivers/soc/qcom/cmd-db.ko",
+ "drivers/soc/qcom/cpr.ko",
+ "drivers/soc/qcom/llcc-qcom.ko",
+ "drivers/soc/qcom/mdt_loader.ko",
+ "drivers/soc/qcom/pdr_interface.ko",
+ "drivers/soc/qcom/qcom_aoss.ko",
+ "drivers/soc/qcom/qcom_rpmh.ko",
+ "drivers/soc/qcom/qmi_helpers.ko",
+ "drivers/soc/qcom/rmtfs_mem.ko",
+ "drivers/soc/qcom/rpmhpd.ko",
+ "drivers/soc/qcom/smem.ko",
+ "drivers/soc/qcom/smp2p.ko",
+ "drivers/soc/qcom/smsm.ko",
+ "drivers/soc/qcom/socinfo.ko",
+ "drivers/soc/qcom/spm.ko",
+ "drivers/soundwire/soundwire-bus.ko",
+ "drivers/soundwire/soundwire-qcom.ko",
+ "drivers/spi/spi-geni-qcom.ko",
+ "drivers/spi/spi-pl022.ko",
+ "drivers/spi/spi-qcom-qspi.ko",
+ "drivers/spi/spi-qup.ko",
+ "drivers/spmi/spmi-pmic-arb.ko",
+ "drivers/thermal/qcom/lmh.ko",
+ "drivers/thermal/qcom/qcom-spmi-adc-tm5.ko",
+ "drivers/thermal/qcom/qcom-spmi-temp-alarm.ko",
+ "drivers/thermal/qcom/qcom_tsens.ko",
+ "drivers/tty/serial/msm_serial.ko",
+ "drivers/ufs/host/ufs_qcom.ko",
+ "drivers/usb/common/ulpi.ko",
+ "drivers/usb/host/ohci-hcd.ko",
+ "drivers/usb/host/ohci-pci.ko",
+ "drivers/usb/host/ohci-platform.ko",
+ "drivers/usb/typec/qcom-pmic-typec.ko",
+ "net/mac80211/mac80211.ko",
+ "net/qrtr/qrtr.ko",
+ "net/qrtr/qrtr-mhi.ko",
+ "net/qrtr/qrtr-smd.ko",
+ "net/qrtr/qrtr-tun.ko",
+ "net/wireless/cfg80211.ko",
+ "sound/soc/codecs/snd-soc-dmic.ko",
+ "sound/soc/codecs/snd-soc-hdmi-codec.ko",
+ "sound/soc/codecs/snd-soc-lpass-macro-common.ko",
+ "sound/soc/codecs/snd-soc-lpass-va-macro.ko",
+ "sound/soc/codecs/snd-soc-lpass-wsa-macro.ko",
+ "sound/soc/codecs/snd-soc-max98927.ko",
+ "sound/soc/codecs/snd-soc-rl6231.ko",
+ "sound/soc/codecs/snd-soc-rt5663.ko",
+ "sound/soc/codecs/snd-soc-wcd-mbhc.ko",
+ "sound/soc/codecs/snd-soc-wcd9335.ko",
+ "sound/soc/codecs/snd-soc-wcd934x.ko",
+ "sound/soc/codecs/snd-soc-wsa881x.ko",
+ "sound/soc/qcom/qdsp6/q6adm.ko",
+ "sound/soc/qcom/qdsp6/q6afe.ko",
+ "sound/soc/qcom/qdsp6/q6afe-clocks.ko",
+ "sound/soc/qcom/qdsp6/q6afe-dai.ko",
+ "sound/soc/qcom/qdsp6/q6apm-dai.ko",
+ "sound/soc/qcom/qdsp6/q6apm-lpass-dais.ko",
+ "sound/soc/qcom/qdsp6/q6asm.ko",
+ "sound/soc/qcom/qdsp6/q6asm-dai.ko",
+ "sound/soc/qcom/qdsp6/q6core.ko",
+ "sound/soc/qcom/qdsp6/q6prm.ko",
+ "sound/soc/qcom/qdsp6/q6prm-clocks.ko",
+ "sound/soc/qcom/qdsp6/q6routing.ko",
+ "sound/soc/qcom/qdsp6/snd-q6apm.ko",
+ "sound/soc/qcom/qdsp6/snd-q6dsp-common.ko",
+ "sound/soc/qcom/snd-soc-qcom-common.ko",
+ "sound/soc/qcom/snd-soc-qcom-sdw.ko",
+ "sound/soc/qcom/snd-soc-sdm845.ko",
+ "sound/soc/qcom/snd-soc-sm8250.ko",
+]
+
+_DB845C_WATCHDOG_MODULE_OUTS = [
+ "drivers/watchdog/pm8916_wdt.ko",
+ "drivers/watchdog/qcom-wdt.ko",
+]
+
+kernel_build(
+ name = "db845c_no_kgdb",
outs = [
"arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
"arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
"arch/arm64/boot/dts/qcom/sm8450-qrd.dtb",
],
- define_abi_targets = True,
- kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
+ # Enable mixed build.
+ base_kernel = ":kernel_aarch64",
+ build_config = "build.config.db845c",
+ collect_unstripped_modules = True,
+ kmi_symbol_list = "android/abi_gki_aarch64_db845c",
make_goals = [
"modules",
"qcom/sdm845-db845c.dtb",
"qcom/qrb5165-rb5.dtb",
"qcom/sm8450-qrd.dtb",
],
- module_outs = [
- # keep sorted
- "crypto/michael_mic.ko",
- "drivers/base/regmap/regmap-sdw.ko",
- "drivers/base/regmap/regmap-slimbus.ko",
- "drivers/bus/mhi/host/mhi.ko",
- "drivers/clk/qcom/clk-qcom.ko",
- "drivers/clk/qcom/clk-rpmh.ko",
- "drivers/clk/qcom/clk-spmi-pmic-div.ko",
- "drivers/clk/qcom/dispcc-sdm845.ko",
- "drivers/clk/qcom/dispcc-sm8250.ko",
- "drivers/clk/qcom/gcc-sdm845.ko",
- "drivers/clk/qcom/gcc-sm8250.ko",
- "drivers/clk/qcom/gcc-sm8450.ko",
- "drivers/clk/qcom/gpucc-sdm845.ko",
- "drivers/clk/qcom/gpucc-sm8250.ko",
- "drivers/clk/qcom/lpass-gfm-sm8250.ko",
- "drivers/clk/qcom/videocc-sdm845.ko",
- "drivers/clk/qcom/videocc-sm8250.ko",
- "drivers/cpufreq/qcom-cpufreq-hw.ko",
- "drivers/dma-buf/heaps/system_heap.ko",
- "drivers/dma/qcom/bam_dma.ko",
- "drivers/dma/qcom/gpi.ko",
- "drivers/extcon/extcon-usb-gpio.ko",
- "drivers/firmware/qcom-scm.ko",
- "drivers/gpio/gpio-wcd934x.ko",
- "drivers/gpu/drm/bridge/display-connector.ko",
- "drivers/gpu/drm/bridge/lontium-lt9611.ko",
- "drivers/gpu/drm/bridge/lontium-lt9611uxc.ko",
- "drivers/gpu/drm/display/drm_display_helper.ko",
- "drivers/gpu/drm/display/drm_dp_aux_bus.ko",
- "drivers/gpu/drm/msm/msm.ko",
- "drivers/gpu/drm/scheduler/gpu-sched.ko",
- "drivers/hwspinlock/qcom_hwspinlock.ko",
- "drivers/i2c/busses/i2c-designware-core.ko",
- "drivers/i2c/busses/i2c-designware-platform.ko",
- "drivers/i2c/busses/i2c-qcom-geni.ko",
- "drivers/i2c/busses/i2c-qup.ko",
- "drivers/i2c/busses/i2c-rk3x.ko",
- "drivers/i2c/i2c-dev.ko",
- "drivers/i2c/i2c-mux.ko",
- "drivers/i2c/muxes/i2c-mux-pca954x.ko",
- "drivers/iio/adc/qcom-spmi-adc5.ko",
- "drivers/iio/adc/qcom-vadc-common.ko",
- "drivers/input/misc/pm8941-pwrkey.ko",
- "drivers/interconnect/qcom/icc-bcm-voter.ko",
- "drivers/interconnect/qcom/icc-osm-l3.ko",
- "drivers/interconnect/qcom/icc-rpmh.ko",
- "drivers/interconnect/qcom/qnoc-sdm845.ko",
- "drivers/interconnect/qcom/qnoc-sm8250.ko",
- "drivers/interconnect/qcom/qnoc-sm8450.ko",
- "drivers/iommu/arm/arm-smmu/arm_smmu.ko",
- "drivers/irqchip/qcom-pdc.ko",
- "drivers/leds/rgb/leds-qcom-lpg.ko",
- "drivers/mailbox/qcom-apcs-ipc-mailbox.ko",
- "drivers/mailbox/qcom-ipcc.ko",
- "drivers/media/platform/qcom/venus/venus-core.ko",
- "drivers/media/platform/qcom/venus/venus-dec.ko",
- "drivers/media/platform/qcom/venus/venus-enc.ko",
- "drivers/mfd/qcom-spmi-pmic.ko",
- "drivers/mfd/wcd934x.ko",
- "drivers/misc/fastrpc.ko",
- "drivers/mmc/host/cqhci.ko",
- "drivers/mmc/host/sdhci-msm.ko",
- "drivers/net/can/spi/mcp251xfd/mcp251xfd.ko",
- "drivers/net/wireless/ath/ath.ko",
- "drivers/net/wireless/ath/ath10k/ath10k_core.ko",
- "drivers/net/wireless/ath/ath10k/ath10k_pci.ko",
- "drivers/net/wireless/ath/ath10k/ath10k_snoc.ko",
- "drivers/net/wireless/ath/ath11k/ath11k.ko",
- "drivers/net/wireless/ath/ath11k/ath11k_ahb.ko",
- "drivers/net/wireless/ath/ath11k/ath11k_pci.ko",
- "drivers/nvmem/nvmem_qfprom.ko",
- "drivers/phy/qualcomm/phy-qcom-qmp-combo.ko",
- "drivers/phy/qualcomm/phy-qcom-qmp-pcie.ko",
- "drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.ko",
- "drivers/phy/qualcomm/phy-qcom-qmp-ufs.ko",
- "drivers/phy/qualcomm/phy-qcom-qmp-usb.ko",
- "drivers/phy/qualcomm/phy-qcom-qusb2.ko",
- "drivers/phy/qualcomm/phy-qcom-snps-femto-v2.ko",
- "drivers/phy/qualcomm/phy-qcom-usb-hs.ko",
- "drivers/pinctrl/qcom/pinctrl-lpass-lpi.ko",
- "drivers/pinctrl/qcom/pinctrl-msm.ko",
- "drivers/pinctrl/qcom/pinctrl-sdm845.ko",
- "drivers/pinctrl/qcom/pinctrl-sm8250.ko",
- "drivers/pinctrl/qcom/pinctrl-sm8250-lpass-lpi.ko",
- "drivers/pinctrl/qcom/pinctrl-sm8450.ko",
- "drivers/pinctrl/qcom/pinctrl-spmi-gpio.ko",
- "drivers/pinctrl/qcom/pinctrl-spmi-mpp.ko",
- "drivers/power/reset/qcom-pon.ko",
- "drivers/power/reset/reboot-mode.ko",
- "drivers/power/reset/syscon-reboot-mode.ko",
- "drivers/regulator/gpio-regulator.ko",
- "drivers/regulator/qcom-rpmh-regulator.ko",
- "drivers/regulator/qcom_spmi-regulator.ko",
- "drivers/regulator/qcom_usb_vbus-regulator.ko",
- "drivers/remoteproc/qcom_common.ko",
- "drivers/remoteproc/qcom_pil_info.ko",
- "drivers/remoteproc/qcom_q6v5.ko",
- "drivers/remoteproc/qcom_q6v5_adsp.ko",
- "drivers/remoteproc/qcom_q6v5_mss.ko",
- "drivers/remoteproc/qcom_q6v5_pas.ko",
- "drivers/remoteproc/qcom_q6v5_wcss.ko",
- "drivers/remoteproc/qcom_sysmon.ko",
- "drivers/reset/reset-qcom-aoss.ko",
- "drivers/reset/reset-qcom-pdc.ko",
- "drivers/rpmsg/qcom_glink.ko",
- "drivers/rpmsg/qcom_glink_rpm.ko",
- "drivers/rpmsg/qcom_glink_smem.ko",
- "drivers/rpmsg/qcom_smd.ko",
- "drivers/rpmsg/rpmsg_ns.ko",
- "drivers/rtc/rtc-pm8xxx.ko",
- "drivers/slimbus/slim-qcom-ngd-ctrl.ko",
- "drivers/slimbus/slimbus.ko",
- "drivers/soc/qcom/apr.ko",
- "drivers/soc/qcom/cmd-db.ko",
- "drivers/soc/qcom/cpr.ko",
- "drivers/soc/qcom/llcc-qcom.ko",
- "drivers/soc/qcom/mdt_loader.ko",
- "drivers/soc/qcom/pdr_interface.ko",
- "drivers/soc/qcom/qcom_aoss.ko",
- "drivers/soc/qcom/qcom_rpmh.ko",
- "drivers/soc/qcom/qmi_helpers.ko",
- "drivers/soc/qcom/rmtfs_mem.ko",
- "drivers/soc/qcom/rpmhpd.ko",
- "drivers/soc/qcom/smem.ko",
- "drivers/soc/qcom/smp2p.ko",
- "drivers/soc/qcom/smsm.ko",
- "drivers/soc/qcom/socinfo.ko",
- "drivers/soc/qcom/spm.ko",
- "drivers/soundwire/soundwire-bus.ko",
- "drivers/soundwire/soundwire-qcom.ko",
- "drivers/spi/spi-geni-qcom.ko",
- "drivers/spi/spi-pl022.ko",
- "drivers/spi/spi-qcom-qspi.ko",
- "drivers/spi/spi-qup.ko",
- "drivers/spmi/spmi-pmic-arb.ko",
- "drivers/thermal/qcom/lmh.ko",
- "drivers/thermal/qcom/qcom-spmi-adc-tm5.ko",
- "drivers/thermal/qcom/qcom-spmi-temp-alarm.ko",
- "drivers/thermal/qcom/qcom_tsens.ko",
- "drivers/tty/serial/msm_serial.ko",
- "drivers/ufs/host/ufs_qcom.ko",
- "drivers/usb/common/ulpi.ko",
- "drivers/usb/host/ohci-hcd.ko",
- "drivers/usb/host/ohci-pci.ko",
- "drivers/usb/host/ohci-platform.ko",
- "drivers/usb/typec/qcom-pmic-typec.ko",
- "drivers/watchdog/pm8916_wdt.ko",
- "drivers/watchdog/qcom-wdt.ko",
- "net/mac80211/mac80211.ko",
- "net/qrtr/qrtr.ko",
- "net/qrtr/qrtr-mhi.ko",
- "net/qrtr/qrtr-smd.ko",
- "net/qrtr/qrtr-tun.ko",
- "net/wireless/cfg80211.ko",
- "sound/soc/codecs/snd-soc-dmic.ko",
- "sound/soc/codecs/snd-soc-hdmi-codec.ko",
- "sound/soc/codecs/snd-soc-lpass-macro-common.ko",
- "sound/soc/codecs/snd-soc-lpass-va-macro.ko",
- "sound/soc/codecs/snd-soc-lpass-wsa-macro.ko",
- "sound/soc/codecs/snd-soc-max98927.ko",
- "sound/soc/codecs/snd-soc-rl6231.ko",
- "sound/soc/codecs/snd-soc-rt5663.ko",
- "sound/soc/codecs/snd-soc-wcd-mbhc.ko",
- "sound/soc/codecs/snd-soc-wcd9335.ko",
- "sound/soc/codecs/snd-soc-wcd934x.ko",
- "sound/soc/codecs/snd-soc-wsa881x.ko",
- "sound/soc/qcom/qdsp6/q6adm.ko",
- "sound/soc/qcom/qdsp6/q6afe.ko",
- "sound/soc/qcom/qdsp6/q6afe-clocks.ko",
- "sound/soc/qcom/qdsp6/q6afe-dai.ko",
- "sound/soc/qcom/qdsp6/q6apm-dai.ko",
- "sound/soc/qcom/qdsp6/q6apm-lpass-dais.ko",
- "sound/soc/qcom/qdsp6/q6asm.ko",
- "sound/soc/qcom/qdsp6/q6asm-dai.ko",
- "sound/soc/qcom/qdsp6/q6core.ko",
- "sound/soc/qcom/qdsp6/q6prm.ko",
- "sound/soc/qcom/qdsp6/q6prm-clocks.ko",
- "sound/soc/qcom/qdsp6/q6routing.ko",
- "sound/soc/qcom/qdsp6/snd-q6apm.ko",
- "sound/soc/qcom/qdsp6/snd-q6dsp-common.ko",
- "sound/soc/qcom/snd-soc-qcom-common.ko",
- "sound/soc/qcom/snd-soc-qcom-sdw.ko",
- "sound/soc/qcom/snd-soc-sdm845.ko",
- "sound/soc/qcom/snd-soc-sm8250.ko",
+ module_outs = _DB845C_MODULE_OUTS + _DB845C_WATCHDOG_MODULE_OUTS,
+ strip_modules = True,
+)
+
+kernel_build(
+ name = "db845c_with_kgdb",
+ outs = [
+ "arch/arm64/boot/dts/qcom/qrb5165-rb5.dtb",
+ "arch/arm64/boot/dts/qcom/sdm845-db845c.dtb",
+ "arch/arm64/boot/dts/qcom/sm8450-qrd.dtb",
+ ],
+ # Enable mixed build.
+ base_kernel = ":kernel_aarch64",
+ build_config = "build.config.db845c",
+ make_goals = [
+ "modules",
+ "qcom/sdm845-db845c.dtb",
+ "qcom/qrb5165-rb5.dtb",
+ "qcom/sm8450-qrd.dtb",
],
+ module_outs = _DB845C_MODULE_OUTS,
+ strip_modules = True,
+)
+
+alias(
+ name = "db845c",
+ actual = select({
+ "//build/kernel/kleaf:kgdb_is_true": "db845c_with_kgdb",
+ "//conditions:default": "db845c_no_kgdb",
+ }),
)
+kernel_abi(
+ name = "db845c_abi",
+ kernel_build = ":db845c",
+ kmi_symbol_list_add_only = True,
+)
+
+kernel_modules_install(
+ name = "db845c_modules_install",
+ kernel_build = ":db845c",
+)
+
+merged_kernel_uapi_headers(
+ name = "db845c_merged_kernel_uapi_headers",
+ kernel_build = ":db845c",
+)
+
+kernel_images(
+ name = "db845c_images",
+ build_initramfs = True,
+ kernel_build = ":db845c",
+ kernel_modules_install = ":db845c_modules_install",
+)
+
+copy_to_dist_dir(
+ name = "db845c_dist",
+ data = [
+ ":db845c",
+ ":db845c_images",
+ ":db845c_modules_install",
+ ":db845c_merged_kernel_uapi_headers",
+ # Mixed build: Additional GKI artifacts.
+ ":kernel_aarch64",
+ ":kernel_aarch64_modules",
+ ":kernel_aarch64_additional_artifacts",
+ ],
+ dist_dir = "out/db845/dist",
+ flat = True,
+ log = "info",
+)
+
+_ROCKPI4_MODULE_OUTS = [
+ # keep sorted
+ "drivers/block/virtio_blk.ko",
+ "drivers/char/hw_random/virtio-rng.ko",
+ "drivers/clk/clk-rk808.ko",
+ "drivers/cpufreq/cpufreq-dt.ko",
+ "drivers/dma/pl330.ko",
+ "drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
+ "drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
+ "drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
+ "drivers/gpu/drm/display/drm_display_helper.ko",
+ "drivers/gpu/drm/drm_dma_helper.ko",
+ "drivers/gpu/drm/rockchip/rockchipdrm.ko",
+ "drivers/i2c/busses/i2c-rk3x.ko",
+ "drivers/iio/adc/rockchip_saradc.ko",
+ "drivers/iio/buffer/industrialio-triggered-buffer.ko",
+ "drivers/iio/buffer/kfifo_buf.ko",
+ "drivers/mfd/rk808.ko",
+ "drivers/mmc/core/pwrseq_simple.ko",
+ "drivers/mmc/host/cqhci.ko",
+ "drivers/mmc/host/dw_mmc.ko",
+ "drivers/mmc/host/dw_mmc-pltfm.ko",
+ "drivers/mmc/host/dw_mmc-rockchip.ko",
+ "drivers/mmc/host/sdhci-of-arasan.ko",
+ "drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
+ "drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
+ "drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
+ "drivers/net/net_failover.ko",
+ "drivers/net/pcs/pcs_xpcs.ko",
+ "drivers/net/virtio_net.ko",
+ "drivers/pci/controller/pcie-rockchip-host.ko",
+ "drivers/phy/rockchip/phy-rockchip-emmc.ko",
+ "drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
+ "drivers/phy/rockchip/phy-rockchip-pcie.ko",
+ "drivers/phy/rockchip/phy-rockchip-typec.ko",
+ "drivers/pwm/pwm-rockchip.ko",
+ "drivers/regulator/fan53555.ko",
+ "drivers/regulator/pwm-regulator.ko",
+ "drivers/regulator/rk808-regulator.ko",
+ "drivers/rtc/rtc-rk808.ko",
+ "drivers/soc/rockchip/io-domain.ko",
+ "drivers/thermal/rockchip_thermal.ko",
+ "drivers/usb/host/ohci-hcd.ko",
+ "drivers/usb/host/ohci-platform.ko",
+ "drivers/virtio/virtio_pci.ko",
+ "drivers/virtio/virtio_pci_legacy_dev.ko",
+ "drivers/virtio/virtio_pci_modern_dev.ko",
+ "net/core/failover.ko",
+]
+
+_ROCKPI4_WATCHDOG_MODULE_OUTS = [
+ # keep sorted
+ "drivers/watchdog/dw_wdt.ko",
+]
+
# TODO(b/258259749): Convert rockpi4 to mixed build
kernel_build(
- name = "rockpi4",
+ name = "rockpi4_no_kgdb",
outs = [
"Image",
"System.map",
@@ -320,68 +618,51 @@ kernel_build(
"modules",
"rk3399-rock-pi-4b.dtb",
],
- module_outs = COMMON_GKI_MODULES_LIST + [
- # keep sorted
- "drivers/block/virtio_blk.ko",
- "drivers/char/hw_random/virtio-rng.ko",
- "drivers/clk/clk-rk808.ko",
- "drivers/cpufreq/cpufreq-dt.ko",
- "drivers/dma/pl330.ko",
- "drivers/gpu/drm/bridge/analogix/analogix_dp.ko",
- "drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko",
- "drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.ko",
- "drivers/gpu/drm/display/drm_display_helper.ko",
- "drivers/gpu/drm/drm_dma_helper.ko",
- "drivers/gpu/drm/rockchip/rockchipdrm.ko",
- "drivers/i2c/busses/i2c-rk3x.ko",
- "drivers/iio/adc/rockchip_saradc.ko",
- "drivers/iio/buffer/industrialio-triggered-buffer.ko",
- "drivers/iio/buffer/kfifo_buf.ko",
- "drivers/mfd/rk808.ko",
- "drivers/mmc/core/pwrseq_simple.ko",
- "drivers/mmc/host/cqhci.ko",
- "drivers/mmc/host/dw_mmc.ko",
- "drivers/mmc/host/dw_mmc-pltfm.ko",
- "drivers/mmc/host/dw_mmc-rockchip.ko",
- "drivers/mmc/host/sdhci-of-arasan.ko",
- "drivers/net/ethernet/stmicro/stmmac/dwmac-rk.ko",
- "drivers/net/ethernet/stmicro/stmmac/stmmac.ko",
- "drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko",
- "drivers/net/net_failover.ko",
- "drivers/net/pcs/pcs_xpcs.ko",
- "drivers/net/virtio_net.ko",
- "drivers/pci/controller/pcie-rockchip-host.ko",
- "drivers/phy/rockchip/phy-rockchip-emmc.ko",
- "drivers/phy/rockchip/phy-rockchip-inno-usb2.ko",
- "drivers/phy/rockchip/phy-rockchip-pcie.ko",
- "drivers/phy/rockchip/phy-rockchip-typec.ko",
- "drivers/pwm/pwm-rockchip.ko",
- "drivers/regulator/fan53555.ko",
- "drivers/regulator/pwm-regulator.ko",
- "drivers/regulator/rk808-regulator.ko",
- "drivers/rtc/rtc-rk808.ko",
- "drivers/soc/rockchip/io-domain.ko",
- "drivers/thermal/rockchip_thermal.ko",
- "drivers/usb/host/ohci-hcd.ko",
- "drivers/usb/host/ohci-platform.ko",
- "drivers/virtio/virtio_pci.ko",
- "drivers/virtio/virtio_pci_legacy_dev.ko",
- "drivers/virtio/virtio_pci_modern_dev.ko",
- "drivers/watchdog/dw_wdt.ko",
- "net/core/failover.ko",
+ module_outs = get_gki_modules_list("arm64") + _ROCKPI4_MODULE_OUTS + _ROCKPI4_WATCHDOG_MODULE_OUTS,
+ visibility = ["//visibility:private"],
+)
+
+# TODO(b/258259749): Convert rockpi4 to mixed build
+kernel_build(
+ name = "rockpi4_with_kgdb",
+ outs = [
+ "Image",
+ "System.map",
+ "modules.builtin",
+ "modules.builtin.modinfo",
+ "rk3399-rock-pi-4b.dtb",
+ "vmlinux",
+ "vmlinux.symvers",
+ ],
+ build_config = "build.config.rockpi4",
+ dtstree = "//common-modules/virtual-device:rockpi4_dts",
+ make_goals = [
+ "Image",
+ "modules",
+ "rk3399-rock-pi-4b.dtb",
],
+ module_outs = get_gki_modules_list("arm64") + _ROCKPI4_MODULE_OUTS,
+ visibility = ["//visibility:private"],
+)
+
+alias(
+ name = "rockpi4",
+ actual = select({
+ "//build/kernel/kleaf:kgdb_is_true": "rockpi4_with_kgdb",
+ "//conditions:default": "rockpi4_no_kgdb",
+ }),
)
kernel_modules_install(
name = "rockpi4_modules_install",
- kernel_build = "//common:rockpi4",
+ kernel_build = ":rockpi4",
)
kernel_images(
name = "rockpi4_images",
build_initramfs = True,
- kernel_build = "//common:rockpi4",
- kernel_modules_install = "//common:rockpi4_modules_install",
+ kernel_build = ":rockpi4",
+ kernel_modules_install = ":rockpi4_modules_install",
)
copy_to_dist_dir(
@@ -434,6 +715,7 @@ kernel_build(
# Hack to actually check the build.
# Otherwise, Bazel thinks that there are no output files, and skip building.
outs = [".config"],
+ arch = "x86_64",
build_config = "build.config.allmodconfig.x86_64",
visibility = ["//visibility:private"],
)
@@ -444,6 +726,7 @@ kernel_build(
# Hack to actually check the build.
# Otherwise, Bazel thinks that there are no output files, and skip building.
outs = [".config"],
+ arch = "arm",
build_config = "build.config.allmodconfig.arm",
visibility = ["//visibility:private"],
)
diff --git a/Documentation/ABI/testing/OWNERS b/Documentation/ABI/testing/OWNERS
deleted file mode 100644
index 3ab5dca46dbe..000000000000
--- a/Documentation/ABI/testing/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-per-file sysfs-fs-f2fs=file:/fs/f2fs/OWNERS
diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb
index d71ce6cc1c7c..b93c5ad0cccd 100644
--- a/Documentation/ABI/testing/sysfs-bus-usb
+++ b/Documentation/ABI/testing/sysfs-bus-usb
@@ -264,6 +264,17 @@ Description:
attached to the port will not be detected, initialized,
or enumerated.
+What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/early_stop
+Date: Sep 2022
+Contact: Ray Chi <raychi@google.com>
+Description:
+ Some USB hosts have some watchdog mechanisms so that the device
+ may enter ramdump if it takes a long time during port initialization.
+ This attribute allows each port just has two attempts so that the
+ port initialization will be failed quickly. In addition, if a port
+ which is marked with early_stop has failed to initialize, it will ignore
+ all future connections until this attribute is clear.
+
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/state
Date: June 2023
Contact: Roy Luo <royluo@google.com>
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index dc254a3cb956..632bba4e8a1d 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -2015,31 +2015,33 @@ that attribute:
no-change
Do not modify the I/O priority class.
- none-to-rt
- For requests that do not have an I/O priority class (NONE),
- change the I/O priority class into RT. Do not modify
- the I/O priority class of other requests.
+ promote-to-rt
+ For requests that have a non-RT I/O priority class, change it into RT.
+ Also change the priority level of these requests to 4. Do not modify
+ the I/O priority of requests that have priority class RT.
restrict-to-be
For requests that do not have an I/O priority class or that have I/O
- priority class RT, change it into BE. Do not modify the I/O priority
- class of requests that have priority class IDLE.
+ priority class RT, change it into BE. Also change the priority level
+ of these requests to 0. Do not modify the I/O priority class of
+ requests that have priority class IDLE.
idle
Change the I/O priority class of all requests into IDLE, the lowest
I/O priority class.
+ none-to-rt
+ Deprecated. Just an alias for promote-to-rt.
+
The following numerical values are associated with the I/O priority policies:
-+-------------+---+
-| no-change | 0 |
-+-------------+---+
-| none-to-rt | 1 |
-+-------------+---+
-| rt-to-be | 2 |
-+-------------+---+
-| all-to-idle | 3 |
-+-------------+---+
++----------------+---+
+| no-change | 0 |
++----------------+---+
+| rt-to-be | 2 |
++----------------+---+
+| all-to-idle | 3 |
++----------------+---+
The numerical value that corresponds to each I/O priority class is as follows:
@@ -2055,9 +2057,13 @@ The numerical value that corresponds to each I/O priority class is as follows:
The algorithm to set the I/O priority class for a request is as follows:
-- Translate the I/O priority class policy into a number.
-- Change the request I/O priority class into the maximum of the I/O priority
- class policy number and the numerical I/O priority class.
+- If I/O priority class policy is promote-to-rt, change the request I/O
+ priority class to IOPRIO_CLASS_RT and change the request I/O priority
+ level to 4.
+- If I/O priorityt class is not promote-to-rt, translate the I/O priority
+ class policy into a number, then change the request I/O priority class
+ into the maximum of the I/O priority class policy number and the numerical
+ I/O priority class.
PID
---
diff --git a/Documentation/arm64/silicon-errata.rst b/Documentation/arm64/silicon-errata.rst
index 808ade4cc008..3283f49006d6 100644
--- a/Documentation/arm64/silicon-errata.rst
+++ b/Documentation/arm64/silicon-errata.rst
@@ -139,6 +139,9 @@ stable kernels.
| ARM | MMU-500 | #841119,826419 | N/A |
+----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+
+| ARM | GIC-700 | #2941627 | ARM64_ERRATUM_2941627 |
++----------------+-----------------+-----------------+-----------------------------+
++----------------+-----------------+-----------------+-----------------------------+
| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_845719 |
+----------------+-----------------+-----------------+-----------------------------+
| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_843419 |
diff --git a/Documentation/devicetree/bindings/hypervisor/mediatek,geniezone-hyp.yaml b/Documentation/devicetree/bindings/hypervisor/mediatek,geniezone-hyp.yaml
new file mode 100644
index 000000000000..ab89a4c310cb
--- /dev/null
+++ b/Documentation/devicetree/bindings/hypervisor/mediatek,geniezone-hyp.yaml
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hypervisor/mediatek,geniezone-hyp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek GenieZone hypervisor
+
+maintainers:
+ - Yingshiuan Pan <yingshiuan.pan@mediatek.com>
+
+description:
+ This interface is designed for integrating GenieZone hypervisor into Android
+ Virtualization Framework(AVF) along with Crosvm as a VMM.
+ It acts like a wrapper for every hypercall to GenieZone hypervisor in
+ order to control guest VM lifecycles and virtual interrupt injections.
+
+properties:
+ compatible:
+ const: mediatek,geniezone-hyp
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ hypervisor {
+ compatible = "mediatek,geniezone-hyp";
+ };
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
index 44f72bcf1782..010219138858 100644
--- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
+++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
@@ -52,6 +52,30 @@ properties:
Address and Length pairs. Specifies regions of memory that are
acceptable to allocate from.
+ iommu-addresses:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: >
+ A list of phandle and specifier pairs that describe static IO virtual
+ address space mappings and carveouts associated with a given reserved
+ memory region. The phandle in the first cell refers to the device for
+ which the mapping or carveout is to be created.
+
+ The specifier consists of an address/size pair and denotes the IO
+ virtual address range of the region for the given device. The exact
+ format depends on the values of the "#address-cells" and "#size-cells"
+ properties of the device referenced via the phandle.
+
+ When used in combination with a "reg" property, an IOVA mapping is to
+ be established for this memory region. One example where this can be
+ useful is to create an identity mapping for physical memory that the
+ firmware has configured some hardware to access (such as a bootsplash
+ framebuffer).
+
+ If no "reg" property is specified, the "iommu-addresses" property
+ defines carveout regions in the IOVA space for the given device. This
+ can be useful if a certain memory region should not be mapped through
+ the IOMMU.
+
no-map:
type: boolean
description: >
@@ -89,12 +113,69 @@ allOf:
- no-map
oneOf:
- - required:
- - reg
+ - oneOf:
+ - required:
+ - reg
+
+ - required:
+ - size
+
+ - oneOf:
+ # IOMMU reservations
+ - required:
+ - iommu-addresses
- - required:
- - size
+ # IOMMU mappings
+ - required:
+ - reg
+ - iommu-addresses
additionalProperties: true
+examples:
+ - |
+ / {
+ compatible = "foo";
+ model = "foo";
+
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ adsp_resv: reservation-adsp {
+ /*
+ * Restrict IOVA mappings for ADSP buffers to the 512 MiB region
+ * from 0x40000000 - 0x5fffffff. Anything outside is reserved by
+ * the ADSP for I/O memory and private memory allocations.
+ */
+ iommu-addresses = <&adsp 0x0 0x00000000 0x00 0x40000000>,
+ <&adsp 0x0 0x60000000 0xff 0xa0000000>;
+ };
+
+ fb: framebuffer@90000000 {
+ reg = <0x0 0x90000000 0x0 0x00800000>;
+ iommu-addresses = <&dc0 0x0 0x90000000 0x0 0x00800000>;
+ };
+ };
+
+ bus@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0x0 0x0 0x40000000>;
+
+ adsp: adsp@2990000 {
+ reg = <0x2990000 0x2000>;
+ memory-region = <&adsp_resv>;
+ };
+
+ dc0: display@15200000 {
+ reg = <0x15200000 0x10000>;
+ memory-region = <&fb>;
+ };
+ };
+ };
...
diff --git a/Documentation/filesystems/OWNERS b/Documentation/filesystems/OWNERS
deleted file mode 100644
index a63dbf4659f2..000000000000
--- a/Documentation/filesystems/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-per-file f2fs**=file:/fs/f2fs/OWNERS
diff --git a/Documentation/filesystems/erofs.rst b/Documentation/filesystems/erofs.rst
index 05e03d54af1a..df681e4391c0 100644
--- a/Documentation/filesystems/erofs.rst
+++ b/Documentation/filesystems/erofs.rst
@@ -34,8 +34,14 @@ Here is the main features of EROFS:
- Little endian on-disk design;
- - 4KiB block size and 32-bit block addresses, therefore 16TiB address space
- at most for now;
+ - Block-based distribution and file-based distribution over fscache are
+ supported;
+
+ - Support multiple devices to refer to external blobs, which can be used
+ for container images;
+
+ - 32-bit block addresses for each device, therefore 16TiB address space at
+ most with 4KiB block size for now;
- Two inode layouts for different requirements:
diff --git a/Documentation/userspace-api/ioctl/ioctl-number.rst b/Documentation/userspace-api/ioctl/ioctl-number.rst
index 81456c34c85d..a37f1b5a144e 100644
--- a/Documentation/userspace-api/ioctl/ioctl-number.rst
+++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
@@ -136,7 +136,7 @@ Code Seq# Include File Comments
'F' DD video/sstfb.h conflict!
'G' 00-3F drivers/misc/sgi-gru/grulib.h conflict!
'G' 00-0F xen/gntalloc.h, xen/gntdev.h conflict!
-'G' 00-0f linux/gunyah.h conflict!
+'G' 00-0F linux/gunyah.h conflict!
'H' 00-7F linux/hiddev.h conflict!
'H' 00-0F linux/hidraw.h conflict!
'H' 01 linux/mei.h conflict!
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst b/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst
index bf283a1b5581..9f111ed594d2 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-packed-yuv.rst
@@ -257,12 +257,45 @@ the second byte and Y'\ :sub:`7-0` in the third byte.
- The padding bits contain undefined values that must be ignored by all
applications and drivers.
+The next table lists the packed YUV 4:4:4 formats with 12 bits per component.
+Expand the bits per component to 16 bits, data in the high bits, zeros in the low bits,
+arranged in little endian order, storing 1 pixel in 6 bytes.
+
+.. flat-table:: Packed YUV 4:4:4 Image Formats (12bpc)
+ :header-rows: 1
+ :stub-columns: 0
+
+ * - Identifier
+ - Code
+ - Byte 1-0
+ - Byte 3-2
+ - Byte 5-4
+ - Byte 7-6
+ - Byte 9-8
+ - Byte 11-10
+
+ * .. _V4L2-PIX-FMT-YUV48-12:
+
+ - ``V4L2_PIX_FMT_YUV48_12``
+ - 'Y312'
+
+ - Y'\ :sub:`0`
+ - Cb\ :sub:`0`
+ - Cr\ :sub:`0`
+ - Y'\ :sub:`1`
+ - Cb\ :sub:`1`
+ - Cr\ :sub:`1`
4:2:2 Subsampling
=================
These formats, commonly referred to as YUYV or YUY2, subsample the chroma
-components horizontally by 2, storing 2 pixels in 4 bytes.
+components horizontally by 2, storing 2 pixels in a container. The container
+is 32-bits for 8-bit formats, and 64-bits for 10+-bit formats.
+
+The packed YUYV formats with more than 8 bits per component are stored as four
+16-bit little-endian words. Each word's most significant bits contain one
+component, and the least significant bits are zero padding.
.. raw:: latex
@@ -270,7 +303,7 @@ components horizontally by 2, storing 2 pixels in 4 bytes.
.. tabularcolumns:: |p{3.4cm}|p{1.2cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
-.. flat-table:: Packed YUV 4:2:2 Formats
+.. flat-table:: Packed YUV 4:2:2 Formats in 32-bit container
:header-rows: 1
:stub-columns: 0
@@ -337,6 +370,46 @@ components horizontally by 2, storing 2 pixels in 4 bytes.
- Y'\ :sub:`3`
- Cb\ :sub:`2`
+.. tabularcolumns:: |p{3.4cm}|p{1.2cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|p{0.8cm}|
+
+.. flat-table:: Packed YUV 4:2:2 Formats in 64-bit container
+ :header-rows: 1
+ :stub-columns: 0
+
+ * - Identifier
+ - Code
+ - Word 0
+ - Word 1
+ - Word 2
+ - Word 3
+ * .. _V4L2-PIX-FMT-Y210:
+
+ - ``V4L2_PIX_FMT_Y210``
+ - 'Y210'
+
+ - Y'\ :sub:`0` (bits 15-6)
+ - Cb\ :sub:`0` (bits 15-6)
+ - Y'\ :sub:`1` (bits 15-6)
+ - Cr\ :sub:`0` (bits 15-6)
+ * .. _V4L2-PIX-FMT-Y212:
+
+ - ``V4L2_PIX_FMT_Y212``
+ - 'Y212'
+
+ - Y'\ :sub:`0` (bits 15-4)
+ - Cb\ :sub:`0` (bits 15-4)
+ - Y'\ :sub:`1` (bits 15-4)
+ - Cr\ :sub:`0` (bits 15-4)
+ * .. _V4L2-PIX-FMT-Y216:
+
+ - ``V4L2_PIX_FMT_Y216``
+ - 'Y216'
+
+ - Y'\ :sub:`0` (bits 15-0)
+ - Cb\ :sub:`0` (bits 15-0)
+ - Y'\ :sub:`1` (bits 15-0)
+ - Cr\ :sub:`0` (bits 15-0)
+
.. raw:: latex
\normalsize
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst b/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst
index 30f51cd33f99..4b8cbbc77b1b 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-rgb.rst
@@ -762,6 +762,48 @@ nomenclature that instead use the order of components as seen in a 24- or
\normalsize
+12 Bits Per Component
+==============================
+
+These formats store an RGB triplet in six or eight bytes, with 12 bits per component.
+Expand the bits per component to 16 bits, data in the high bits, zeros in the low bits,
+arranged in little endian order.
+
+.. raw:: latex
+
+ \small
+
+.. flat-table:: RGB Formats With 12 Bits Per Component
+ :header-rows: 1
+
+ * - Identifier
+ - Code
+ - Byte 1-0
+ - Byte 3-2
+ - Byte 5-4
+ - Byte 7-6
+ * .. _V4L2-PIX-FMT-BGR48-12:
+
+ - ``V4L2_PIX_FMT_BGR48_12``
+ - 'B312'
+
+ - B\ :sub:`15-4`
+ - G\ :sub:`15-4`
+ - R\ :sub:`15-4`
+ -
+ * .. _V4L2-PIX-FMT-ABGR64-12:
+
+ - ``V4L2_PIX_FMT_ABGR64_12``
+ - 'B412'
+
+ - B\ :sub:`15-4`
+ - G\ :sub:`15-4`
+ - R\ :sub:`15-4`
+ - A\ :sub:`15-4`
+
+.. raw:: latex
+
+ \normalsize
Deprecated RGB Formats
======================
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
index 6a387f9df3ba..26fd46fa4971 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst
@@ -103,6 +103,17 @@ are often referred to as greyscale formats.
- ...
- ...
+ * .. _V4L2-PIX-FMT-Y012:
+
+ - ``V4L2_PIX_FMT_Y012``
+ - 'Y012'
+
+ - Y'\ :sub:`0`\ [3:0] `0000`
+ - Y'\ :sub:`0`\ [11:4]
+ - ...
+ - ...
+ - ...
+
* .. _V4L2-PIX-FMT-Y14:
- ``V4L2_PIX_FMT_Y14``
@@ -146,3 +157,7 @@ are often referred to as greyscale formats.
than 16 bits. For example, 10 bits per pixel uses values in the range 0 to
1023. For the IPU3_Y10 format 25 pixels are packed into 32 bytes, which
leaves the 6 most significant bits of the last byte padded with 0.
+
+ For Y012 and Y12 formats, Y012 places its data in the 12 high bits, with
+ padding zeros in the 4 low bits, in contrast to the Y12 format, which has
+ its padding located in the most significant bits of the 16 bit word.
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst
index f1d5bb7b806d..72324274f20c 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst
@@ -123,6 +123,20 @@ All components are stored with the same number of bits per component.
- Cb, Cr
- Yes
- 4x4 tiles
+ * - V4L2_PIX_FMT_P012
+ - 'P012'
+ - 12
+ - 4:2:0
+ - Cb, Cr
+ - Yes
+ - Linear
+ * - V4L2_PIX_FMT_P012M
+ - 'PM12'
+ - 12
+ - 4:2:0
+ - Cb, Cr
+ - No
+ - Linear
* - V4L2_PIX_FMT_NV16
- 'NV16'
- 8
@@ -586,6 +600,86 @@ Data in the 10 high bits, zeros in the 6 low bits, arranged in little endian ord
- Cb\ :sub:`11`
- Cr\ :sub:`11`
+.. _V4L2-PIX-FMT-P012:
+.. _V4L2-PIX-FMT-P012M:
+
+P012 and P012M
+--------------
+
+P012 is like NV12 with 12 bits per component, expanded to 16 bits.
+Data in the 12 high bits, zeros in the 4 low bits, arranged in little endian order.
+
+.. flat-table:: Sample 4x4 P012 Image
+ :header-rows: 0
+ :stub-columns: 0
+
+ * - start + 0:
+ - Y'\ :sub:`00`
+ - Y'\ :sub:`01`
+ - Y'\ :sub:`02`
+ - Y'\ :sub:`03`
+ * - start + 8:
+ - Y'\ :sub:`10`
+ - Y'\ :sub:`11`
+ - Y'\ :sub:`12`
+ - Y'\ :sub:`13`
+ * - start + 16:
+ - Y'\ :sub:`20`
+ - Y'\ :sub:`21`
+ - Y'\ :sub:`22`
+ - Y'\ :sub:`23`
+ * - start + 24:
+ - Y'\ :sub:`30`
+ - Y'\ :sub:`31`
+ - Y'\ :sub:`32`
+ - Y'\ :sub:`33`
+ * - start + 32:
+ - Cb\ :sub:`00`
+ - Cr\ :sub:`00`
+ - Cb\ :sub:`01`
+ - Cr\ :sub:`01`
+ * - start + 40:
+ - Cb\ :sub:`10`
+ - Cr\ :sub:`10`
+ - Cb\ :sub:`11`
+ - Cr\ :sub:`11`
+
+.. flat-table:: Sample 4x4 P012M Image
+ :header-rows: 0
+ :stub-columns: 0
+
+ * - start0 + 0:
+ - Y'\ :sub:`00`
+ - Y'\ :sub:`01`
+ - Y'\ :sub:`02`
+ - Y'\ :sub:`03`
+ * - start0 + 8:
+ - Y'\ :sub:`10`
+ - Y'\ :sub:`11`
+ - Y'\ :sub:`12`
+ - Y'\ :sub:`13`
+ * - start0 + 16:
+ - Y'\ :sub:`20`
+ - Y'\ :sub:`21`
+ - Y'\ :sub:`22`
+ - Y'\ :sub:`23`
+ * - start0 + 24:
+ - Y'\ :sub:`30`
+ - Y'\ :sub:`31`
+ - Y'\ :sub:`32`
+ - Y'\ :sub:`33`
+ * -
+ * - start1 + 0:
+ - Cb\ :sub:`00`
+ - Cr\ :sub:`00`
+ - Cb\ :sub:`01`
+ - Cr\ :sub:`01`
+ * - start1 + 8:
+ - Cb\ :sub:`10`
+ - Cr\ :sub:`10`
+ - Cb\ :sub:`11`
+ - Cr\ :sub:`11`
+
Fully Planar YUV Formats
========================
diff --git a/Documentation/virt/geniezone/introduction.rst b/Documentation/virt/geniezone/introduction.rst
new file mode 100644
index 000000000000..fb9fa41bcfb8
--- /dev/null
+++ b/Documentation/virt/geniezone/introduction.rst
@@ -0,0 +1,86 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+======================
+GenieZone Introduction
+======================
+
+Overview
+========
+GenieZone hypervisor(gzvm) is a type-1 hypervisor that supports various virtual
+machine types and provides security features such as TEE-like scenarios and
+secure boot. It can create guest VMs for security use cases and has
+virtualization capabilities for both platform and interrupt. Although the
+hypervisor can be booted independently, it requires the assistance of GenieZone
+hypervisor kernel driver(gzvm-ko) to leverage the ability of Linux kernel for
+vCPU scheduling, memory management, inter-VM communication and virtio backend
+support.
+
+Supported Architecture
+======================
+GenieZone now only supports MediaTek ARM64 SoC.
+
+Features
+========
+
+- vCPU Management
+
+VM manager aims to provide vCPUs on the basis of time sharing on physical CPUs.
+It requires Linux kernel in host VM for vCPU scheduling and VM power management.
+
+- Memory Management
+
+Direct use of physical memory from VMs is forbidden and designed to be dictated
+to the privilege models managed by GenieZone hypervisor for security reason.
+With the help of gzvm-ko, the hypervisor would be able to manipulate memory as
+objects.
+
+- Virtual Platform
+
+We manage to emulate a virtual mobile platform for guest OS running on guest
+VM. The platform supports various architecture-defined devices, such as
+virtual arch timer, GIC, MMIO, PSCI, and exception watching...etc.
+
+- Inter-VM Communication
+
+Communication among guest VMs was provided mainly on RPC. More communication
+mechanisms were to be provided in the future based on VirtIO-vsock.
+
+- Device Virtualization
+
+The solution is provided using the well-known VirtIO. The gzvm-ko would
+redirect MMIO traps back to VMM where the virtual devices are mostly emulated.
+Ioeventfd is implemented using eventfd for signaling host VM that some IO
+events in guest VMs need to be processed.
+
+- Interrupt virtualization
+
+All Interrupts during some guest VMs running would be handled by GenieZone
+hypervisor with the help of gzvm-ko, both virtual and physical ones. In case
+there's no guest VM running out there, physical interrupts would be handled by
+host VM directly for performance reason. Irqfd is also implemented using
+eventfd for accepting vIRQ requests in gzvm-ko.
+
+Platform architecture component
+===============================
+
+- vm
+
+The vm component is responsible for setting up the capability and memory
+management for the protected VMs. The capability is mainly about the lifecycle
+control and boot context initialization. And the memory management is highly
+integrated with ARM 2-stage translation tables to convert VA to IPA to PA under
+proper security measures required by protected VMs.
+
+- vcpu
+
+The vcpu component is the core of virtualizing aarch64 physical CPU runnable,
+and it controls the vCPU lifecycle including creating, running and destroying.
+With self-defined exit handler, the vm component would be able to act
+accordingly before terminated.
+
+- vgic
+
+The vgic component exposes control interfaces to Linux kernel via irqchip, and
+we intend to support all SPI, PPI, and SGI. When it comes to virtual
+interrupts, the GenieZone hypervisor would write to list registers and trigger
+vIRQ injection in guest VMs via GIC.
diff --git a/Documentation/virt/gunyah/vm-manager.rst b/Documentation/virt/gunyah/vm-manager.rst
index 87838c5b5945..415b11248e00 100644
--- a/Documentation/virt/gunyah/vm-manager.rst
+++ b/Documentation/virt/gunyah/vm-manager.rst
@@ -7,14 +7,12 @@ Virtual Machine Manager
The Gunyah Virtual Machine Manager is a Linux driver to support launching
virtual machines using Gunyah.
-Except for some basic information about the location of initial binaries,
-most of the configuration about a Gunyah virtual machine is described in the
-VM's devicetree. The devicetree is generated by userspace. Interacting with the
-virtual machine is still done via the kernel and VM configuration requires some
-of the corresponding functionality to be set up in the kernel. For instance,
-sharing userspace memory with a VM is done via the `GH_VM_SET_USER_MEM_REGION`_
-ioctl. The VM itself is configured to use the memory region via the
-devicetree.
+Configuration of a Gunyah virtual machine is done via a devicetree. When the VM
+is launched, memory is provided by the host VM which contains the devictree.
+Gunyah reads the devicetree to configure the memory map and create resources
+such as vCPUs for the VM. Memory can be shared with the VM with
+`GH_VM_SET_USER_MEM_REGION`_. Userspace can interact with the resources in Linux
+by adding "functions" to the VM.
Gunyah Functions
================
@@ -56,6 +54,9 @@ GH_CREATE_VM
~~~~~~~~~~~~
Creates a Gunyah VM. The argument is reserved for future use and must be 0.
+A successful call will return a Gunyah VM file descriptor. See
+`Gunyah VM API Descriptions`_ for list of IOCTLs that can be made on this file
+file descriptor.
Gunyah VM API Descriptions
--------------------------
@@ -70,8 +71,8 @@ unique per virtual machine.
While VMM is guest-agnostic and allows runtime addition of memory regions,
Linux guest virtual machines do not support accepting memory regions at runtime.
-Thus, memory regions should be provided before starting the VM and the VM must
-be configured to accept these at boot-up.
+Thus, for Linux guests, memory regions should be provided before starting the VM
+and the VM must be configured via the devicetree to accept these at boot-up.
The guest physical address is used by Linux kernel to check that the requested
user regions do not overlap and to help find the corresponding memory region
@@ -87,7 +88,7 @@ GH_VM_SET_DTB_CONFIG
~~~~~~~~~~~~~~~~~~~~
This ioctl sets the location of the VM's devicetree blob and is used by Gunyah
-Resource Manager to allocate resources. The guest physical memory should be part
+Resource Manager to allocate resources. The guest physical memory must be part
of the primary memory parcel provided to the VM prior to GH_VM_START.
.. kernel-doc:: include/uapi/linux/gunyah.h
@@ -104,7 +105,7 @@ GH_VM_ADD_FUNCTION
This ioctl registers a Gunyah VM function with the VM manager. The VM function
is described with a &struct gh_fn_desc.type and some arguments for that type.
Typically, the function is added before the VM starts, but the function doesn't
-"operate" until the VM starts with `GH_VM_START`_. For example, vCPU ioclts will
+"operate" until the VM starts with `GH_VM_START`_. For example, vCPU ioctls will
all return an error until the VM starts because the vCPUs don't exist until the
VM is started. This allows the VMM to set up all the kernel functions needed for
the VM *before* the VM starts.
diff --git a/Documentation/virt/index.rst b/Documentation/virt/index.rst
index 418d540f5484..9e73018d6a8c 100644
--- a/Documentation/virt/index.rst
+++ b/Documentation/virt/index.rst
@@ -16,6 +16,7 @@ Linux Virtualization Support
coco/sev-guest
hyperv/index
gunyah/index
+ geniezone/introduction
.. only:: html and subproject
diff --git a/MAINTAINERS b/MAINTAINERS
index 2e0a79e6f4ce..f0e039fe78bb 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8665,6 +8665,19 @@ F: include/vdso/
F: kernel/time/vsyscall.c
F: lib/vdso/
+GENIEZONE HYPERVISOR DRIVER
+M: Yingshiuan Pan <yingshiuan.pan@mediatek.com>
+M: Ze-Yu Wang <ze-yu.wang@mediatek.com>
+M: Yi-De Wu <yi-de.wu@mediatek.com>
+F: Documentation/devicetree/bindings/hypervisor/mediatek,geniezone-hyp.yaml
+F: Documentation/virt/geniezone/
+F: arch/arm64/geniezone/
+F: arch/arm64/include/uapi/asm/gzvm_arch.h
+F: drivers/virt/geniezone/
+F: include/linux/gzvm_drv.h
+F include/uapi/asm-generic/gzvm_arch.h
+F: include/uapi/linux/gzvm.h
+
GENWQE (IBM Generic Workqueue Card)
M: Frank Haverkamp <haver@linux.ibm.com>
S: Supported
diff --git a/OWNERS b/OWNERS
index a8b26152b8a2..414594e3f646 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,13 +1,12 @@
-# The full list of approvers is defined in
-# https://android.googlesource.com/kernel/common/+/refs/meta/config/OWNERS
+set noparent
-# The following OWNERS are defined at the top level to improve the OWNERS
-# suggestions through any user interface. Consider those people the ones that
-# can help with finding the best person to review.
-adelva@google.com
-gregkh@google.com
-maennich@google.com
-saravanak@google.com
-smuckle@google.com
-surenb@google.com
-tkjos@google.com
+# GKI Dr. No Enforcement is active on this branch. Approval of one of the Dr.
+# No reviewers is required following a regular CodeReview+2 vote of a code
+# reviewer.
+#
+# See the GKI release documentation (go/gki-dr-no) for further details.
+#
+# The expanded list of reviewers can be found at:
+# https://android.googlesource.com/kernel/common/+/android-mainline/OWNERS_DrNo
+
+include kernel/common:android-mainline:/OWNERS_DrNo
diff --git a/android/OWNERS b/android/OWNERS
deleted file mode 100644
index 1c8470fa5682..000000000000
--- a/android/OWNERS
+++ /dev/null
@@ -1,13 +0,0 @@
-# If we ever add another OWNERS above this directory, it's likely to be
-# more permissive, so don't inherit from it
-set noparent
-include kernel/common:android-mainline:/OWNERS_DrNo
-
-# Downstream boards maintained directly in this manifest branch
-per-file abi_gki_aarch64_cuttlefish = adelva@google.com, rammuthiah@google.com
-per-file abi_gki_aarch64_goldfish = rkir@google.com
-
-# per-file for review purposes
-per-file gki_system_dlkm_modules = ramjiyani@google.com
-per-file abi_gki_protected_exports_* = ramjiyani@google.com
-per-file gki_*_protected_modules = ramjiyani@google.com
diff --git a/android/abi_gki_aarch64.stg b/android/abi_gki_aarch64.stg
index 4c589c228b86..f534b4c47650 100644
--- a/android/abi_gki_aarch64.stg
+++ b/android/abi_gki_aarch64.stg
@@ -1,10 +1,12 @@
-version: 0x00000001
+version: 0x00000002
root_id: 0x84ea5130
-void {
+special {
id: 0x48b5725f
+ kind: VOID
}
-variadic {
+special {
id: 0xa52a0930
+ kind: VARIADIC
}
pointer_reference {
id: 0x0006db1d
@@ -97,11 +99,6 @@ pointer_reference {
pointee_type_id: 0x2abdbda9
}
pointer_reference {
- id: 0x004b03fc
- kind: POINTER
- pointee_type_id: 0x2b6ce96f
-}
-pointer_reference {
id: 0x004d68b7
kind: POINTER
pointee_type_id: 0x2b754442
@@ -162,6 +159,11 @@ pointer_reference {
pointee_type_id: 0x285ee61e
}
pointer_reference {
+ id: 0x0087f4f8
+ kind: POINTER
+ pointee_type_id: 0x285f357e
+}
+pointer_reference {
id: 0x0092c032
kind: POINTER
pointee_type_id: 0x280be654
@@ -207,6 +209,11 @@ pointer_reference {
pointee_type_id: 0x29600806
}
pointer_reference {
+ id: 0x00cc5f1f
+ kind: POINTER
+ pointee_type_id: 0x29719ae3
+}
+pointer_reference {
id: 0x00d1ba62
kind: POINTER
pointee_type_id: 0x29060f15
@@ -222,6 +229,11 @@ pointer_reference {
pointee_type_id: 0x292a6e73
}
pointer_reference {
+ id: 0x00daeb4b
+ kind: POINTER
+ pointee_type_id: 0x292b4bb0
+}
+pointer_reference {
id: 0x00dd92af
kind: POINTER
pointee_type_id: 0x2936ac20
@@ -252,6 +264,11 @@ pointer_reference {
pointee_type_id: 0x29b83e1a
}
pointer_reference {
+ id: 0x00fff809
+ kind: POINTER
+ pointee_type_id: 0x29bf06ba
+}
+pointer_reference {
id: 0x010934b0
kind: POINTER
pointee_type_id: 0x2e64345d
@@ -267,11 +284,6 @@ pointer_reference {
pointee_type_id: 0x2e029f76
}
pointer_reference {
- id: 0x0110ab48
- kind: POINTER
- pointee_type_id: 0x2e024bbc
-}
-pointer_reference {
id: 0x0113dde3
kind: POINTER
pointee_type_id: 0x2e0f9112
@@ -447,6 +459,11 @@ pointer_reference {
pointee_type_id: 0x2cf89e50
}
pointer_reference {
+ id: 0x01ae5751
+ kind: POINTER
+ pointee_type_id: 0x2cf9bbda
+}
+pointer_reference {
id: 0x01b63d17
kind: POINTER
pointee_type_id: 0x2c9812c2
@@ -562,14 +579,14 @@ pointer_reference {
pointee_type_id: 0x2259084f
}
pointer_reference {
- id: 0x02067bf4
+ id: 0x0206e690
kind: POINTER
- pointee_type_id: 0x2259094e
+ pointee_type_id: 0x225b7cde
}
pointer_reference {
- id: 0x0206e690
+ id: 0x0206e829
kind: POINTER
- pointee_type_id: 0x225b7cde
+ pointee_type_id: 0x225b463b
}
pointer_reference {
id: 0x020c1a12
@@ -712,6 +729,11 @@ pointer_reference {
pointee_type_id: 0x201aebe0
}
pointer_reference {
+ id: 0x0297eaff
+ kind: POINTER
+ pointee_type_id: 0x201f4d61
+}
+pointer_reference {
id: 0x029d7f27
kind: POINTER
pointee_type_id: 0x20351a02
@@ -872,6 +894,11 @@ pointer_reference {
pointee_type_id: 0x27461240
}
pointer_reference {
+ id: 0x034b35b4
+ kind: POINTER
+ pointee_type_id: 0x276c304c
+}
+pointer_reference {
id: 0x035330ac
kind: POINTER
pointee_type_id: 0x270c242d
@@ -962,6 +989,11 @@ pointer_reference {
pointee_type_id: 0x24777eaf
}
pointer_reference {
+ id: 0x03942c7a
+ kind: POINTER
+ pointee_type_id: 0x24105774
+}
+pointer_reference {
id: 0x03965d61
kind: POINTER
pointee_type_id: 0x24199318
@@ -1262,6 +1294,11 @@ pointer_reference {
pointee_type_id: 0x38da44ec
}
pointer_reference {
+ id: 0x04a9576c
+ kind: POINTER
+ pointee_type_id: 0x38e5bb2f
+}
+pointer_reference {
id: 0x04ac88c5
kind: POINTER
pointee_type_id: 0x38f2c58b
@@ -1307,6 +1344,11 @@ pointer_reference {
pointee_type_id: 0x39185662
}
pointer_reference {
+ id: 0x04d7fcdd
+ kind: POINTER
+ pointee_type_id: 0x391f15ea
+}
+pointer_reference {
id: 0x04dad728
kind: POINTER
pointee_type_id: 0x392bba3e
@@ -1357,11 +1399,6 @@ pointer_reference {
pointee_type_id: 0x39a49b1e
}
pointer_reference {
- id: 0x04fb8f54
- kind: POINTER
- pointee_type_id: 0x39aedbce
-}
-pointer_reference {
id: 0x05003835
kind: POINTER
pointee_type_id: 0x3e40064a
@@ -1467,11 +1504,6 @@ pointer_reference {
pointee_type_id: 0x3f3d7e85
}
pointer_reference {
- id: 0x0561578b
- kind: POINTER
- pointee_type_id: 0x3fc5b8b3
-}
-pointer_reference {
id: 0x0562c566
kind: POINTER
pointee_type_id: 0x3fcbf304
@@ -1562,11 +1594,6 @@ pointer_reference {
pointee_type_id: 0x3c2755a3
}
pointer_reference {
- id: 0x05a52bb0
- kind: POINTER
- pointee_type_id: 0x3cd4485f
-}
-pointer_reference {
id: 0x05a5cdba
kind: POINTER
pointee_type_id: 0x3cd7d077
@@ -1767,11 +1794,6 @@ pointer_reference {
pointee_type_id: 0x33d83070
}
pointer_reference {
- id: 0x0669d6b3
- kind: POINTER
- pointee_type_id: 0x33e7bc51
-}
-pointer_reference {
id: 0x066af716
kind: POINTER
pointee_type_id: 0x33eb3ac5
@@ -1827,6 +1849,11 @@ pointer_reference {
pointee_type_id: 0x30293561
}
pointer_reference {
+ id: 0x06a428cc
+ kind: POINTER
+ pointee_type_id: 0x30d045ac
+}
+pointer_reference {
id: 0x06afdad0
kind: POINTER
pointee_type_id: 0x30ff8ddd
@@ -1942,9 +1969,9 @@ pointer_reference {
pointee_type_id: 0x36f1d1fd
}
pointer_reference {
- id: 0x073894f9
+ id: 0x072e5f93
kind: POINTER
- pointee_type_id: 0x36a2b57a
+ pointee_type_id: 0x36f998d3
}
pointer_reference {
id: 0x0742e5b4
@@ -1982,6 +2009,11 @@ pointer_reference {
pointee_type_id: 0x37265f81
}
pointer_reference {
+ id: 0x076327a3
+ kind: POINTER
+ pointee_type_id: 0x37cc7810
+}
+pointer_reference {
id: 0x07665a1f
kind: POINTER
pointee_type_id: 0x37d98ee3
@@ -2177,6 +2209,21 @@ pointer_reference {
pointee_type_id: 0x0a52df14
}
pointer_reference {
+ id: 0x080d391b
+ kind: POINTER
+ pointee_type_id: 0x0a7402f1
+}
+pointer_reference {
+ id: 0x080d3f98
+ kind: POINTER
+ pointee_type_id: 0x0a7418fc
+}
+pointer_reference {
+ id: 0x080e08ce
+ kind: POINTER
+ pointee_type_id: 0x0a78c5a5
+}
+pointer_reference {
id: 0x080fbe64
kind: POINTER
pointee_type_id: 0x0a7e1f0e
@@ -2352,9 +2399,9 @@ pointer_reference {
pointee_type_id: 0x0942f1ca
}
pointer_reference {
- id: 0x08dcfb76
+ id: 0x08c420f1
kind: POINTER
- pointee_type_id: 0x09330b45
+ pointee_type_id: 0x09506558
}
pointer_reference {
id: 0x08e43718
@@ -2482,6 +2529,11 @@ pointer_reference {
pointee_type_id: 0x0f54a4fe
}
pointer_reference {
+ id: 0x0945c216
+ kind: POINTER
+ pointee_type_id: 0x0f57eec7
+}
+pointer_reference {
id: 0x09483d5e
kind: POINTER
pointee_type_id: 0x0f6013e7
@@ -2557,9 +2609,9 @@ pointer_reference {
pointee_type_id: 0x0cfb4b7c
}
pointer_reference {
- id: 0x09af8dc9
+ id: 0x09b53a9f
kind: POINTER
- pointee_type_id: 0x0cfed1bb
+ pointee_type_id: 0x0c940ce3
}
pointer_reference {
id: 0x09bb9b7e
@@ -2597,6 +2649,11 @@ pointer_reference {
pointee_type_id: 0x0dd91f48
}
pointer_reference {
+ id: 0x09eee7e5
+ kind: POINTER
+ pointee_type_id: 0x0dfb7909
+}
+pointer_reference {
id: 0x09f1b886
kind: POINTER
pointee_type_id: 0x0d860487
@@ -2702,11 +2759,21 @@ pointer_reference {
pointee_type_id: 0x03cc00a2
}
pointer_reference {
+ id: 0x0a67a4e3
+ kind: POINTER
+ pointee_type_id: 0x03de7511
+}
+pointer_reference {
id: 0x0a6c2073
kind: POINTER
pointee_type_id: 0x03f06751
}
pointer_reference {
+ id: 0x0a70ce1b
+ kind: POINTER
+ pointee_type_id: 0x0383def3
+}
+pointer_reference {
id: 0x0a747547
kind: POINTER
pointee_type_id: 0x03913382
@@ -2727,6 +2794,11 @@ pointer_reference {
pointee_type_id: 0x00447895
}
pointer_reference {
+ id: 0x0a8304ff
+ kind: POINTER
+ pointee_type_id: 0x004cf563
+}
+pointer_reference {
id: 0x0a85fcb6
kind: POINTER
pointee_type_id: 0x00571446
@@ -2747,6 +2819,11 @@ pointer_reference {
pointee_type_id: 0x0028f2f5
}
pointer_reference {
+ id: 0x0a9e3ca3
+ kind: POINTER
+ pointee_type_id: 0x00381413
+}
+pointer_reference {
id: 0x0aa1f0ee
kind: POINTER
pointee_type_id: 0x00c72527
@@ -3007,11 +3084,6 @@ pointer_reference {
pointee_type_id: 0x07a79f04
}
pointer_reference {
- id: 0x0b7a0b83
- kind: POINTER
- pointee_type_id: 0x07a8c893
-}
-pointer_reference {
id: 0x0b7c4f67
kind: POINTER
pointee_type_id: 0x07b1db01
@@ -3072,6 +3144,11 @@ pointer_reference {
pointee_type_id: 0x04a91d68
}
pointer_reference {
+ id: 0x0bbb7f1b
+ kind: POINTER
+ pointee_type_id: 0x04ad1af1
+}
+pointer_reference {
id: 0x0bbc5d54
kind: POINTER
pointee_type_id: 0x04b193cc
@@ -3082,6 +3159,11 @@ pointer_reference {
pointee_type_id: 0x04b89667
}
pointer_reference {
+ id: 0x0bbfad26
+ kind: POINTER
+ pointee_type_id: 0x04be5205
+}
+pointer_reference {
id: 0x0bc3e3e1
kind: POINTER
pointee_type_id: 0x054f691a
@@ -3187,11 +3269,6 @@ pointer_reference {
pointee_type_id: 0x1a770e0b
}
pointer_reference {
- id: 0x0c0e84bd
- kind: POINTER
- pointee_type_id: 0x1a7af469
-}
-pointer_reference {
id: 0x0c0edcf8
kind: POINTER
pointee_type_id: 0x1a7b957f
@@ -3212,26 +3289,11 @@ pointer_reference {
pointee_type_id: 0x1a1051a0
}
pointer_reference {
- id: 0x0c15b27a
- kind: POINTER
- pointee_type_id: 0x1a162f77
-}
-pointer_reference {
id: 0x0c1663ae
kind: POINTER
pointee_type_id: 0x1a196826
}
pointer_reference {
- id: 0x0c166597
- kind: POINTER
- pointee_type_id: 0x1a1970c3
-}
-pointer_reference {
- id: 0x0c16b659
- kind: POINTER
- pointee_type_id: 0x1a1a3ffb
-}
-pointer_reference {
id: 0x0c17a1e0
kind: POINTER
pointee_type_id: 0x1a1e611d
@@ -3277,11 +3339,6 @@ pointer_reference {
pointee_type_id: 0x1ad37d09
}
pointer_reference {
- id: 0x0c252e30
- kind: POINTER
- pointee_type_id: 0x1ad45e5f
-}
-pointer_reference {
id: 0x0c254fa0
kind: POINTER
pointee_type_id: 0x1ad5d81c
@@ -3337,6 +3394,11 @@ pointer_reference {
pointee_type_id: 0x1a8d07bb
}
pointer_reference {
+ id: 0x0c33de94
+ kind: POINTER
+ pointee_type_id: 0x1a8f9ccc
+}
+pointer_reference {
id: 0x0c3509f9
kind: POINTER
pointee_type_id: 0x1a94c17b
@@ -3347,11 +3409,6 @@ pointer_reference {
pointee_type_id: 0x1a9663f9
}
pointer_reference {
- id: 0x0c397826
- kind: POINTER
- pointee_type_id: 0x1aa50604
-}
-pointer_reference {
id: 0x0c3ac0b1
kind: POINTER
pointee_type_id: 0x1aabe458
@@ -3442,9 +3499,9 @@ pointer_reference {
pointee_type_id: 0x1b5d6044
}
pointer_reference {
- id: 0x0c47e7d1
+ id: 0x0c483694
kind: POINTER
- pointee_type_id: 0x1b5f79d9
+ pointee_type_id: 0x1b603ccd
}
pointer_reference {
id: 0x0c485c36
@@ -3487,6 +3544,11 @@ pointer_reference {
pointee_type_id: 0x1b77cf3e
}
pointer_reference {
+ id: 0x0c5168e8
+ kind: POINTER
+ pointee_type_id: 0x1b05453e
+}
+pointer_reference {
id: 0x0c55d62d
kind: POINTER
pointee_type_id: 0x1b17be29
@@ -3542,11 +3604,6 @@ pointer_reference {
pointee_type_id: 0x1b3b0652
}
pointer_reference {
- id: 0x0c5f174a
- kind: POINTER
- pointee_type_id: 0x1b3cbbb4
-}
-pointer_reference {
id: 0x0c5f67dd
kind: POINTER
pointee_type_id: 0x1b3d79eb
@@ -3652,6 +3709,11 @@ pointer_reference {
pointee_type_id: 0x1b841a62
}
pointer_reference {
+ id: 0x0c715d8d
+ kind: POINTER
+ pointee_type_id: 0x1b8590a8
+}
+pointer_reference {
id: 0x0c74ddbe
kind: POINTER
pointee_type_id: 0x1b939067
@@ -3987,6 +4049,11 @@ pointer_reference {
pointee_type_id: 0x197157bd
}
pointer_reference {
+ id: 0x0ccdc0f9
+ kind: POINTER
+ pointee_type_id: 0x1977e57b
+}
+pointer_reference {
id: 0x0cce6a6a
kind: POINTER
pointee_type_id: 0x19794f35
@@ -4127,6 +4194,11 @@ pointer_reference {
pointee_type_id: 0x19832066
}
pointer_reference {
+ id: 0x0cf3d8fe
+ kind: POINTER
+ pointee_type_id: 0x198f8565
+}
+pointer_reference {
id: 0x0cf80951
kind: POINTER
pointee_type_id: 0x19a0c3db
@@ -4152,11 +4224,6 @@ pointer_reference {
pointee_type_id: 0x19b6a09f
}
pointer_reference {
- id: 0x0cfed1bb
- kind: POINTER
- pointee_type_id: 0x19bba071
-}
-pointer_reference {
id: 0x0cffb85e
kind: POINTER
pointee_type_id: 0x19be07e4
@@ -4327,6 +4394,11 @@ pointer_reference {
pointee_type_id: 0x1e3b8bac
}
pointer_reference {
+ id: 0x0d1f55de
+ kind: POINTER
+ pointee_type_id: 0x1e3db1e5
+}
+pointer_reference {
id: 0x0d20d38c
kind: POINTER
pointee_type_id: 0x1ec3a8ad
@@ -4362,6 +4434,11 @@ pointer_reference {
pointee_type_id: 0x1edfcb66
}
pointer_reference {
+ id: 0x0d27dc9d
+ kind: POINTER
+ pointee_type_id: 0x1edf94e9
+}
+pointer_reference {
id: 0x0d2958f6
kind: POINTER
pointee_type_id: 0x1ee58544
@@ -4462,6 +4539,11 @@ pointer_reference {
pointee_type_id: 0x1e9be71c
}
pointer_reference {
+ id: 0x0d36eefe
+ kind: POINTER
+ pointee_type_id: 0x1e9b5d67
+}
+pointer_reference {
id: 0x0d370eee
kind: POINTER
pointee_type_id: 0x1e9cdd26
@@ -4592,6 +4674,11 @@ pointer_reference {
pointee_type_id: 0x1f060fb8
}
pointer_reference {
+ id: 0x0d52f144
+ kind: POINTER
+ pointee_type_id: 0x1f0b238f
+}
+pointer_reference {
id: 0x0d53cd40
kind: POINTER
pointee_type_id: 0x1f0fd39d
@@ -4627,6 +4714,11 @@ pointer_reference {
pointee_type_id: 0x1f202bf3
}
pointer_reference {
+ id: 0x0d599e4a
+ kind: POINTER
+ pointee_type_id: 0x1f269fb6
+}
+pointer_reference {
id: 0x0d5a6860
kind: POINTER
pointee_type_id: 0x1f29471f
@@ -4682,6 +4774,11 @@ pointer_reference {
pointee_type_id: 0x1fde992a
}
pointer_reference {
+ id: 0x0d6927be
+ kind: POINTER
+ pointee_type_id: 0x1fe47867
+}
+pointer_reference {
id: 0x0d6b4ee3
kind: POINTER
pointee_type_id: 0x1feddd12
@@ -4692,6 +4789,11 @@ pointer_reference {
pointee_type_id: 0x1fee56e5
}
pointer_reference {
+ id: 0x0d6c28a3
+ kind: POINTER
+ pointee_type_id: 0x1ff04410
+}
+pointer_reference {
id: 0x0d6cb897
kind: POINTER
pointee_type_id: 0x1ff204c3
@@ -4817,11 +4919,6 @@ pointer_reference {
pointee_type_id: 0x1c5ac86a
}
pointer_reference {
- id: 0x0d879e14
- kind: POINTER
- pointee_type_id: 0x1c5e9ece
-}
-pointer_reference {
id: 0x0d881d5f
kind: POINTER
pointee_type_id: 0x1c6093e3
@@ -4902,11 +4999,6 @@ pointer_reference {
pointee_type_id: 0x1c0e7d0f
}
pointer_reference {
- id: 0x0d947d59
- kind: POINTER
- pointee_type_id: 0x1c1113fb
-}
-pointer_reference {
id: 0x0d956bfc
kind: POINTER
pointee_type_id: 0x1c15496d
@@ -4917,11 +5009,6 @@ pointer_reference {
pointee_type_id: 0x1c155f01
}
pointer_reference {
- id: 0x0d97a2b2
- kind: POINTER
- pointee_type_id: 0x1c1e6c54
-}
-pointer_reference {
id: 0x0d97a54b
kind: POINTER
pointee_type_id: 0x1c1e73b0
@@ -5112,6 +5199,11 @@ pointer_reference {
pointee_type_id: 0x1c88dd20
}
pointer_reference {
+ id: 0x0db22504
+ kind: POINTER
+ pointee_type_id: 0x1c88728f
+}
+pointer_reference {
id: 0x0db25a6d
kind: POINTER
pointee_type_id: 0x1c898f28
@@ -5167,6 +5259,11 @@ pointer_reference {
pointee_type_id: 0x1cbe3d95
}
pointer_reference {
+ id: 0x0dc11255
+ kind: POINTER
+ pointee_type_id: 0x1d44afc8
+}
+pointer_reference {
id: 0x0dc35132
kind: POINTER
pointee_type_id: 0x1d4da256
@@ -5182,6 +5279,11 @@ pointer_reference {
pointee_type_id: 0x1d5cf24d
}
pointer_reference {
+ id: 0x0dc966bc
+ kind: POINTER
+ pointee_type_id: 0x1d657c6d
+}
+pointer_reference {
id: 0x0dc9e98b
kind: POINTER
pointee_type_id: 0x1d6740b1
@@ -5317,11 +5419,6 @@ pointer_reference {
pointee_type_id: 0x1dde0ec8
}
pointer_reference {
- id: 0x0de80fb7
- kind: POINTER
- pointee_type_id: 0x1de0d842
-}
-pointer_reference {
id: 0x0de8f5e2
kind: POINTER
pointee_type_id: 0x1de33115
@@ -5452,6 +5549,11 @@ pointer_reference {
pointee_type_id: 0x12725ea0
}
pointer_reference {
+ id: 0x0e0dc148
+ kind: POINTER
+ pointee_type_id: 0x1277e3bd
+}
+pointer_reference {
id: 0x0e0dc9f3
kind: POINTER
pointee_type_id: 0x1277c151
@@ -5527,6 +5629,11 @@ pointer_reference {
pointee_type_id: 0x12c0cb4c
}
pointer_reference {
+ id: 0x0e211675
+ kind: POINTER
+ pointee_type_id: 0x12c4bf48
+}
+pointer_reference {
id: 0x0e211c44
kind: POINTER
pointee_type_id: 0x12c4978f
@@ -5537,6 +5644,11 @@ pointer_reference {
pointee_type_id: 0x12c79320
}
pointer_reference {
+ id: 0x0e2271e2
+ kind: POINTER
+ pointee_type_id: 0x12c92116
+}
+pointer_reference {
id: 0x0e22e25f
kind: POINTER
pointee_type_id: 0x12cb6fe0
@@ -5552,11 +5664,6 @@ pointer_reference {
pointee_type_id: 0x12d14004
}
pointer_reference {
- id: 0x0e24c2f6
- kind: POINTER
- pointee_type_id: 0x12d3ed44
-}
-pointer_reference {
id: 0x0e2521ae
kind: POINTER
pointee_type_id: 0x12d46025
@@ -5622,6 +5729,11 @@ pointer_reference {
pointee_type_id: 0x129eb456
}
pointer_reference {
+ id: 0x0e38185b
+ kind: POINTER
+ pointee_type_id: 0x12a087f3
+}
+pointer_reference {
id: 0x0e395200
kind: POINTER
pointee_type_id: 0x12a5ae9c
@@ -5682,6 +5794,11 @@ pointer_reference {
pointee_type_id: 0x13525403
}
pointer_reference {
+ id: 0x0e44c87b
+ kind: POINTER
+ pointee_type_id: 0x1353c771
+}
+pointer_reference {
id: 0x0e44f9f8
kind: POINTER
pointee_type_id: 0x1353017f
@@ -5752,6 +5869,11 @@ pointer_reference {
pointee_type_id: 0x13797fb7
}
pointer_reference {
+ id: 0x0e4e7ccb
+ kind: POINTER
+ pointee_type_id: 0x137915b0
+}
+pointer_reference {
id: 0x0e4f7e58
kind: POINTER
pointee_type_id: 0x137d1ffc
@@ -6442,11 +6564,6 @@ pointer_reference {
pointee_type_id: 0x11c092fa
}
pointer_reference {
- id: 0x0ee038bb
- kind: POINTER
- pointee_type_id: 0x11c00471
-}
-pointer_reference {
id: 0x0ee0d5d1
kind: POINTER
pointee_type_id: 0x11c3b1da
@@ -6707,6 +6824,11 @@ pointer_reference {
pointee_type_id: 0x167c181d
}
pointer_reference {
+ id: 0x0f12d1e7
+ kind: POINTER
+ pointee_type_id: 0x160ba102
+}
+pointer_reference {
id: 0x0f161b41
kind: POINTER
pointee_type_id: 0x16188b98
@@ -6962,6 +7084,16 @@ pointer_reference {
pointee_type_id: 0x1705e250
}
pointer_reference {
+ id: 0x0f56bda3
+ kind: POINTER
+ pointee_type_id: 0x171a1012
+}
+pointer_reference {
+ id: 0x0f596314
+ kind: POINTER
+ pointee_type_id: 0x17256acc
+}
+pointer_reference {
id: 0x0f5a291c
kind: POINTER
pointee_type_id: 0x172842ec
@@ -6987,6 +7119,11 @@ pointer_reference {
pointee_type_id: 0x172e6ba7
}
pointer_reference {
+ id: 0x0f5c0d73
+ kind: POINTER
+ pointee_type_id: 0x1730d353
+}
+pointer_reference {
id: 0x0f5e0dda
kind: POINTER
pointee_type_id: 0x1738d1f7
@@ -7037,6 +7174,21 @@ pointer_reference {
pointee_type_id: 0x17ce1ca0
}
pointer_reference {
+ id: 0x0f657fc1
+ kind: POINTER
+ pointee_type_id: 0x17d51999
+}
+pointer_reference {
+ id: 0x0f65ebe2
+ kind: POINTER
+ pointee_type_id: 0x17d74917
+}
+pointer_reference {
+ id: 0x0f67218c
+ kind: POINTER
+ pointee_type_id: 0x17dc60ac
+}
+pointer_reference {
id: 0x0f677ef9
kind: POINTER
pointee_type_id: 0x17dd1d78
@@ -7177,11 +7329,6 @@ pointer_reference {
pointee_type_id: 0x17b5cc93
}
pointer_reference {
- id: 0x0f7dbeee
- kind: POINTER
- pointee_type_id: 0x17b61d24
-}
-pointer_reference {
id: 0x0f7dcc52
kind: POINTER
pointee_type_id: 0x17b7d7d6
@@ -7307,6 +7454,11 @@ pointer_reference {
pointee_type_id: 0x1439657e
}
pointer_reference {
+ id: 0x0f9e7cc3
+ kind: POINTER
+ pointee_type_id: 0x14391590
+}
+pointer_reference {
id: 0x0fa01494
kind: POINTER
pointee_type_id: 0x14c0b4cf
@@ -7362,6 +7514,11 @@ pointer_reference {
pointee_type_id: 0x14e1f000
}
pointer_reference {
+ id: 0x0faaab57
+ kind: POINTER
+ pointee_type_id: 0x14ea4bc0
+}
+pointer_reference {
id: 0x0fab66ce
kind: POINTER
pointee_type_id: 0x14ed7da4
@@ -7372,6 +7529,11 @@ pointer_reference {
pointee_type_id: 0x14ee5a71
}
pointer_reference {
+ id: 0x0fac28fc
+ kind: POINTER
+ pointee_type_id: 0x14f0456f
+}
+pointer_reference {
id: 0x0fac5cb3
kind: POINTER
pointee_type_id: 0x14f19451
@@ -7417,6 +7579,11 @@ pointer_reference {
pointee_type_id: 0x14b4088f
}
pointer_reference {
+ id: 0x0fbe0b29
+ kind: POINTER
+ pointee_type_id: 0x14b8ca3b
+}
+pointer_reference {
id: 0x0fbe677e
kind: POINTER
pointee_type_id: 0x14b97b66
@@ -7442,6 +7609,11 @@ pointer_reference {
pointee_type_id: 0x154ed535
}
pointer_reference {
+ id: 0x0fc3c654
+ kind: POINTER
+ pointee_type_id: 0x154fffcf
+}
+pointer_reference {
id: 0x0fc46487
kind: POINTER
pointee_type_id: 0x15517480
@@ -7612,11 +7784,6 @@ pointer_reference {
pointee_type_id: 0x15a2be6d
}
pointer_reference {
- id: 0x0ff8ee0d
- kind: POINTER
- pointee_type_id: 0x15a35eaa
-}
-pointer_reference {
id: 0x0ff8f9af
kind: POINTER
pointee_type_id: 0x15a30023
@@ -7772,11 +7939,6 @@ pointer_reference {
pointee_type_id: 0x6b98fc5d
}
pointer_reference {
- id: 0x1076c35e
- kind: POINTER
- pointee_type_id: 0x6b9bebe6
-}
-pointer_reference {
id: 0x1077b920
kind: POINTER
pointee_type_id: 0x6b9e021d
@@ -7897,11 +8059,6 @@ pointer_reference {
pointee_type_id: 0x6f66da8d
}
pointer_reference {
- id: 0x114e61a5
- kind: POINTER
- pointee_type_id: 0x6f796009
-}
-pointer_reference {
id: 0x11575246
kind: POINTER
pointee_type_id: 0x6f1daf87
@@ -7927,11 +8084,6 @@ pointer_reference {
pointee_type_id: 0x6fe4eb19
}
pointer_reference {
- id: 0x116d36b8
- kind: POINTER
- pointee_type_id: 0x6ff43c7f
-}
-pointer_reference {
id: 0x117a8adb
kind: POINTER
pointee_type_id: 0x6faacdf3
@@ -7947,6 +8099,11 @@ pointer_reference {
pointee_type_id: 0x6fb840c8
}
pointer_reference {
+ id: 0x117e85f5
+ kind: POINTER
+ pointee_type_id: 0x6fbaf148
+}
+pointer_reference {
id: 0x118d97cb
kind: POINTER
pointee_type_id: 0x6c76b9b2
@@ -8062,6 +8219,11 @@ pointer_reference {
pointee_type_id: 0x6df67d28
}
pointer_reference {
+ id: 0x120033c5
+ kind: POINTER
+ pointee_type_id: 0x6240298a
+}
+pointer_reference {
id: 0x1200e2aa
kind: POINTER
pointee_type_id: 0x62436c35
@@ -8132,6 +8294,11 @@ pointer_reference {
pointee_type_id: 0x6054a6ab
}
pointer_reference {
+ id: 0x128a8a58
+ kind: POINTER
+ pointee_type_id: 0x606acffd
+}
+pointer_reference {
id: 0x1291c430
kind: POINTER
pointee_type_id: 0x6007f65d
@@ -8172,6 +8339,16 @@ pointer_reference {
pointee_type_id: 0x6101d583
}
pointer_reference {
+ id: 0x12d9a766
+ kind: POINTER
+ pointee_type_id: 0x61267b05
+}
+pointer_reference {
+ id: 0x12e0cbae
+ kind: POINTER
+ pointee_type_id: 0x61c3c826
+}
+pointer_reference {
id: 0x12e24ee1
kind: POINTER
pointee_type_id: 0x61c9dd1a
@@ -8212,6 +8389,11 @@ pointer_reference {
pointee_type_id: 0x664d9cb2
}
pointer_reference {
+ id: 0x130aa721
+ kind: POINTER
+ pointee_type_id: 0x666a7a1b
+}
+pointer_reference {
id: 0x13185ce8
kind: POINTER
pointee_type_id: 0x6621953c
@@ -8242,6 +8424,11 @@ pointer_reference {
pointee_type_id: 0x668004f3
}
pointer_reference {
+ id: 0x13323bbb
+ kind: POINTER
+ pointee_type_id: 0x66880871
+}
+pointer_reference {
id: 0x1333434c
kind: POINTER
pointee_type_id: 0x668debad
@@ -8402,11 +8589,21 @@ pointer_reference {
pointee_type_id: 0x65b569e7
}
pointer_reference {
+ id: 0x13fe8737
+ kind: POINTER
+ pointee_type_id: 0x65bafa41
+}
+pointer_reference {
id: 0x14191d75
kind: POINTER
pointee_type_id: 0x7a249348
}
pointer_reference {
+ id: 0x14199568
+ kind: POINTER
+ pointee_type_id: 0x7a26b33d
+}
+pointer_reference {
id: 0x141d28a8
kind: POINTER
pointee_type_id: 0x7a34443c
@@ -8482,6 +8679,11 @@ pointer_reference {
pointee_type_id: 0x7bdc8a60
}
pointer_reference {
+ id: 0x146a39bf
+ kind: POINTER
+ pointee_type_id: 0x7be80061
+}
+pointer_reference {
id: 0x14731fc7
kind: POINTER
pointee_type_id: 0x7b8c9983
@@ -8547,6 +8749,11 @@ pointer_reference {
pointee_type_id: 0x79e2d3b1
}
pointer_reference {
+ id: 0x14f37d47
+ kind: POINTER
+ pointee_type_id: 0x798d1382
+}
+pointer_reference {
id: 0x14fb0ab0
kind: POINTER
pointee_type_id: 0x79accc5f
@@ -8877,6 +9084,11 @@ pointer_reference {
pointee_type_id: 0x708fc0fe
}
pointer_reference {
+ id: 0x16b45c7f
+ kind: POINTER
+ pointee_type_id: 0x70919762
+}
+pointer_reference {
id: 0x16b46fbd
kind: POINTER
pointee_type_id: 0x7091586a
@@ -8887,6 +9099,11 @@ pointer_reference {
pointee_type_id: 0x71511504
}
pointer_reference {
+ id: 0x16c5c0ab
+ kind: POINTER
+ pointee_type_id: 0x7157e430
+}
+pointer_reference {
id: 0x16df644d
kind: POINTER
pointee_type_id: 0x713d77a9
@@ -8957,6 +9174,11 @@ pointer_reference {
pointee_type_id: 0x76e78cd9
}
pointer_reference {
+ id: 0x173696bc
+ kind: POINTER
+ pointee_type_id: 0x769abc6d
+}
+pointer_reference {
id: 0x1740e61d
kind: POINTER
pointee_type_id: 0x77437ee8
@@ -9097,6 +9319,11 @@ pointer_reference {
pointee_type_id: 0x755b6647
}
pointer_reference {
+ id: 0x17d51999
+ kind: POINTER
+ pointee_type_id: 0x751480f9
+}
+pointer_reference {
id: 0x17dabdcd
kind: POINTER
pointee_type_id: 0x752a11a9
@@ -9557,6 +9784,11 @@ pointer_reference {
pointee_type_id: 0x4d320115
}
pointer_reference {
+ id: 0x19df035f
+ kind: POINTER
+ pointee_type_id: 0x4d3cebe1
+}
+pointer_reference {
id: 0x19e0c64c
kind: POINTER
pointee_type_id: 0x4dc3ffac
@@ -9617,11 +9849,6 @@ pointer_reference {
pointee_type_id: 0x4215681c
}
pointer_reference {
- id: 0x1a1575dd
- kind: POINTER
- pointee_type_id: 0x421531e8
-}
-pointer_reference {
id: 0x1a29773f
kind: POINTER
pointee_type_id: 0x42e53a63
@@ -9847,6 +10074,11 @@ pointer_reference {
pointee_type_id: 0x475137a2
}
pointer_reference {
+ id: 0x1b4a1f75
+ kind: POINTER
+ pointee_type_id: 0x47689b48
+}
+pointer_reference {
id: 0x1b4ce091
kind: POINTER
pointee_type_id: 0x477364db
@@ -9987,6 +10219,11 @@ pointer_reference {
pointee_type_id: 0x45a8a3c4
}
pointer_reference {
+ id: 0x1bfb2a60
+ kind: POINTER
+ pointee_type_id: 0x45ac4f1e
+}
+pointer_reference {
id: 0x1c126813
kind: POINTER
pointee_type_id: 0x5a0946d3
@@ -10152,11 +10389,6 @@ pointer_reference {
pointee_type_id: 0x590737f8
}
pointer_reference {
- id: 0x1cd322d1
- kind: POINTER
- pointee_type_id: 0x590c6dd8
-}
-pointer_reference {
id: 0x1cdba504
kind: POINTER
pointee_type_id: 0x592e728c
@@ -10282,6 +10514,11 @@ pointer_reference {
pointee_type_id: 0x5f502f26
}
pointer_reference {
+ id: 0x1d44afc8
+ kind: POINTER
+ pointee_type_id: 0x5f5259bd
+}
+pointer_reference {
id: 0x1d44eec5
kind: POINTER
pointee_type_id: 0x5f535d88
@@ -10342,9 +10579,9 @@ pointer_reference {
pointee_type_id: 0x5fd666ab
}
pointer_reference {
- id: 0x1d65d221
+ id: 0x1d6b5d95
kind: POINTER
- pointee_type_id: 0x5fd7ae1b
+ pointee_type_id: 0x5fed90c9
}
pointer_reference {
id: 0x1d6e33e5
@@ -10632,6 +10869,11 @@ pointer_reference {
pointee_type_id: 0x5057492d
}
pointer_reference {
+ id: 0x1e85f467
+ kind: POINTER
+ pointee_type_id: 0x50573700
+}
+pointer_reference {
id: 0x1e870478
kind: POINTER
pointee_type_id: 0x505cf77f
@@ -10727,16 +10969,6 @@ pointer_reference {
pointee_type_id: 0x509cd61e
}
pointer_reference {
- id: 0x1eba2d88
- kind: POINTER
- pointee_type_id: 0x50a850bc
-}
-pointer_reference {
- id: 0x1ebe4388
- kind: POINTER
- pointee_type_id: 0x50b9e8bd
-}
-pointer_reference {
id: 0x1ed6200d
kind: POINTER
pointee_type_id: 0x511866ab
@@ -10972,6 +11204,11 @@ pointer_reference {
pointee_type_id: 0x551d0131
}
pointer_reference {
+ id: 0x1fdf8df4
+ kind: POINTER
+ pointee_type_id: 0x553ed14c
+}
+pointer_reference {
id: 0x1fe51930
kind: POINTER
pointee_type_id: 0x55d4825e
@@ -11042,11 +11279,6 @@ pointer_reference {
pointee_type_id: 0xaab0d999
}
pointer_reference {
- id: 0x203cd5eb
- kind: POINTER
- pointee_type_id: 0xaab3b130
-}
-pointer_reference {
id: 0x203e14bb
kind: POINTER
pointee_type_id: 0xaab8b473
@@ -11082,6 +11314,11 @@ pointer_reference {
pointee_type_id: 0xabc38a13
}
pointer_reference {
+ id: 0x20699068
+ kind: POINTER
+ pointee_type_id: 0xabe6a73e
+}
+pointer_reference {
id: 0x206bf782
kind: POINTER
pointee_type_id: 0xabef3896
@@ -11142,6 +11379,11 @@ pointer_reference {
pointee_type_id: 0xa8a462e4
}
pointer_reference {
+ id: 0x20bba379
+ kind: POINTER
+ pointee_type_id: 0xa8ae6b7a
+}
+pointer_reference {
id: 0x20d23755
kind: POINTER
pointee_type_id: 0xa9083bc9
@@ -11167,11 +11409,6 @@ pointer_reference {
pointee_type_id: 0xae401000
}
pointer_reference {
- id: 0x2101ca02
- kind: POINTER
- pointee_type_id: 0xae47ce96
-}
-pointer_reference {
id: 0x2105ad7e
kind: POINTER
pointee_type_id: 0xae565365
@@ -11282,11 +11519,6 @@ pointer_reference {
pointee_type_id: 0xaf54cd38
}
pointer_reference {
- id: 0x2145f7aa
- kind: POINTER
- pointee_type_id: 0xaf573835
-}
-pointer_reference {
id: 0x214fd672
kind: POINTER
pointee_type_id: 0xaf7fbf57
@@ -11477,6 +11709,11 @@ pointer_reference {
pointee_type_id: 0xa3652854
}
pointer_reference {
+ id: 0x22561ecb
+ kind: POINTER
+ pointee_type_id: 0xa3189db3
+}
+pointer_reference {
id: 0x2259084f
kind: POINTER
pointee_type_id: 0xa324c7a3
@@ -11512,6 +11749,11 @@ pointer_reference {
pointee_type_id: 0xa3adbe6c
}
pointer_reference {
+ id: 0x228954ca
+ kind: POINTER
+ pointee_type_id: 0xa065b5b5
+}
+pointer_reference {
id: 0x228d1fdb
kind: POINTER
pointee_type_id: 0xa07499f1
@@ -11542,6 +11784,11 @@ pointer_reference {
pointee_type_id: 0xa0815516
}
pointer_reference {
+ id: 0x22b357e9
+ kind: POINTER
+ pointee_type_id: 0xa08db938
+}
+pointer_reference {
id: 0x22b3ece7
kind: POINTER
pointee_type_id: 0xa08f5503
@@ -11722,6 +11969,11 @@ pointer_reference {
pointee_type_id: 0xa405746d
}
pointer_reference {
+ id: 0x239187d3
+ kind: POINTER
+ pointee_type_id: 0xa406f9d2
+}
+pointer_reference {
id: 0x23947191
kind: POINTER
pointee_type_id: 0xa41120db
@@ -11762,6 +12014,11 @@ pointer_reference {
pointee_type_id: 0xa57d1db8
}
pointer_reference {
+ id: 0x23d822f9
+ kind: POINTER
+ pointee_type_id: 0xa5206d7a
+}
+pointer_reference {
id: 0x23d902f6
kind: POINTER
pointee_type_id: 0xa524ed45
@@ -11932,6 +12189,11 @@ pointer_reference {
pointee_type_id: 0xb837e52e
}
pointer_reference {
+ id: 0x24a22acc
+ kind: POINTER
+ pointee_type_id: 0xb8c84daf
+}
+pointer_reference {
id: 0x24bbc433
kind: POINTER
pointee_type_id: 0xb8aff650
@@ -11997,6 +12259,11 @@ pointer_reference {
pointee_type_id: 0xb99f29b6
}
pointer_reference {
+ id: 0x24f9cd24
+ kind: POINTER
+ pointee_type_id: 0xb9a7d20f
+}
+pointer_reference {
id: 0x250095e2
kind: POINTER
pointee_type_id: 0xbe42b117
@@ -12082,11 +12349,6 @@ pointer_reference {
pointee_type_id: 0xbceec39a
}
pointer_reference {
- id: 0x25b57283
- kind: POINTER
- pointee_type_id: 0xbc952c91
-}
-pointer_reference {
id: 0x25b73daa
kind: POINTER
pointee_type_id: 0xbc9c1035
@@ -12267,6 +12529,11 @@ pointer_reference {
pointee_type_id: 0xb0090c73
}
pointer_reference {
+ id: 0x2696c21b
+ kind: POINTER
+ pointee_type_id: 0xb01beef1
+}
+pointer_reference {
id: 0x269af4e9
kind: POINTER
pointee_type_id: 0xb02b353a
@@ -12412,6 +12679,11 @@ pointer_reference {
pointee_type_id: 0xb60a3d7a
}
pointer_reference {
+ id: 0x2718fd24
+ kind: POINTER
+ pointee_type_id: 0xb623120e
+}
+pointer_reference {
id: 0x2731dd86
kind: POINTER
pointee_type_id: 0xb6879087
@@ -12512,6 +12784,11 @@ pointer_reference {
pointee_type_id: 0xb4a26738
}
pointer_reference {
+ id: 0x27c7b3cb
+ kind: POINTER
+ pointee_type_id: 0xb55e29b2
+}
+pointer_reference {
id: 0x27cf73eb
kind: POINTER
pointee_type_id: 0xb57d2931
@@ -12607,6 +12884,11 @@ pointer_reference {
pointee_type_id: 0x8b3c441e
}
pointer_reference {
+ id: 0x285f357e
+ kind: POINTER
+ pointee_type_id: 0x8b3c3364
+}
+pointer_reference {
id: 0x2862f859
kind: POINTER
pointee_type_id: 0x8bcb07f8
@@ -12637,6 +12919,11 @@ pointer_reference {
pointee_type_id: 0x88c7ff3b
}
pointer_reference {
+ id: 0x28a3a74b
+ kind: POINTER
+ pointee_type_id: 0x88ce7bb2
+}
+pointer_reference {
id: 0x28ac1164
kind: POINTER
pointee_type_id: 0x88f0a30c
@@ -12677,11 +12964,6 @@ pointer_reference {
pointee_type_id: 0x89378254
}
pointer_reference {
- id: 0x28e1a5ae
- kind: POINTER
- pointee_type_id: 0x89c67026
-}
-pointer_reference {
id: 0x28e1b8de
kind: POINTER
pointee_type_id: 0x89c605e5
@@ -12927,6 +13209,11 @@ pointer_reference {
pointee_type_id: 0x8d58e470
}
pointer_reference {
+ id: 0x29c64ab1
+ kind: POINTER
+ pointee_type_id: 0x8d59cc59
+}
+pointer_reference {
id: 0x29ccb7ed
kind: POINTER
pointee_type_id: 0x8d723929
@@ -12952,14 +13239,14 @@ pointer_reference {
pointee_type_id: 0x8de7c9fe
}
pointer_reference {
- id: 0x29f9c70b
+ id: 0x29ef8105
kind: POINTER
- pointee_type_id: 0x8da7fab2
+ pointee_type_id: 0x8dfee289
}
pointer_reference {
- id: 0x2a0586b2
+ id: 0x29f9c70b
kind: POINTER
- pointee_type_id: 0x8256fc56
+ pointee_type_id: 0x8da7fab2
}
pointer_reference {
id: 0x2a0a605f
@@ -13042,6 +13329,11 @@ pointer_reference {
pointee_type_id: 0x83286178
}
pointer_reference {
+ id: 0x2a5e3596
+ kind: POINTER
+ pointee_type_id: 0x833830c5
+}
+pointer_reference {
id: 0x2a5ed1c1
kind: POINTER
pointee_type_id: 0x833ba199
@@ -13192,6 +13484,11 @@ pointer_reference {
pointee_type_id: 0x86a9103f
}
pointer_reference {
+ id: 0x2b4b15b4
+ kind: POINTER
+ pointee_type_id: 0x876cb04d
+}
+pointer_reference {
id: 0x2b584612
kind: POINTER
pointee_type_id: 0x8721fed4
@@ -13237,11 +13534,6 @@ pointer_reference {
pointee_type_id: 0x8448d7e4
}
pointer_reference {
- id: 0x2b8a97e8
- kind: POINTER
- pointee_type_id: 0x846ab93f
-}
-pointer_reference {
id: 0x2b8cd86f
kind: POINTER
pointee_type_id: 0x84738720
@@ -13302,6 +13594,11 @@ pointer_reference {
pointee_type_id: 0x84ef9574
}
pointer_reference {
+ id: 0x2bae2afe
+ kind: POINTER
+ pointee_type_id: 0x84f84d67
+}
+pointer_reference {
id: 0x2bb01e4c
kind: POINTER
pointee_type_id: 0x84809fac
@@ -13327,6 +13624,11 @@ pointer_reference {
pointee_type_id: 0x84be8096
}
pointer_reference {
+ id: 0x2bc65a97
+ kind: POINTER
+ pointee_type_id: 0x85598cc2
+}
+pointer_reference {
id: 0x2bc93f35
kind: POINTER
pointee_type_id: 0x85641a49
@@ -13557,6 +13859,11 @@ pointer_reference {
pointee_type_id: 0x9ac13218
}
pointer_reference {
+ id: 0x2c209d56
+ kind: POINTER
+ pointee_type_id: 0x9ac293c4
+}
+pointer_reference {
id: 0x2c210d23
kind: POINTER
pointee_type_id: 0x9ac4d210
@@ -13727,11 +14034,6 @@ pointer_reference {
pointee_type_id: 0x9aacb204
}
pointer_reference {
- id: 0x2c3b9241
- kind: POINTER
- pointee_type_id: 0x9aaeaf98
-}
-pointer_reference {
id: 0x2c3be0fd
kind: POINTER
pointee_type_id: 0x9aaf656a
@@ -14087,6 +14389,11 @@ pointer_reference {
pointee_type_id: 0x9b022eae
}
pointer_reference {
+ id: 0x2c50e503
+ kind: POINTER
+ pointee_type_id: 0x9b037291
+}
+pointer_reference {
id: 0x2c510476
kind: POINTER
pointee_type_id: 0x9b04f747
@@ -14882,6 +15189,11 @@ pointer_reference {
pointee_type_id: 0x9bbdba09
}
pointer_reference {
+ id: 0x2c7fb451
+ kind: POINTER
+ pointee_type_id: 0x9bbe37da
+}
+pointer_reference {
id: 0x2c7ffaf6
kind: POINTER
pointee_type_id: 0x9bbf0d46
@@ -15147,6 +15459,11 @@ pointer_reference {
pointee_type_id: 0x982f20ff
}
pointer_reference {
+ id: 0x2c9dd50a
+ kind: POINTER
+ pointee_type_id: 0x9837b2b4
+}
+pointer_reference {
id: 0x2c9f2c07
kind: POINTER
pointee_type_id: 0x983c5682
@@ -15257,6 +15574,11 @@ pointer_reference {
pointee_type_id: 0x98f1d602
}
pointer_reference {
+ id: 0x2cacacc0
+ kind: POINTER
+ pointee_type_id: 0x98f2559e
+}
+pointer_reference {
id: 0x2caea882
kind: POINTER
pointee_type_id: 0x98fa4494
@@ -15287,6 +15609,11 @@ pointer_reference {
pointee_type_id: 0x98881e2d
}
pointer_reference {
+ id: 0x2cb2c9fe
+ kind: POINTER
+ pointee_type_id: 0x988bc164
+}
+pointer_reference {
id: 0x2cb3cf30
kind: POINTER
pointee_type_id: 0x988fda5f
@@ -15532,6 +15859,21 @@ pointer_reference {
pointee_type_id: 0x9917165a
}
pointer_reference {
+ id: 0x2cd8506c
+ kind: POINTER
+ pointee_type_id: 0x9921a72c
+}
+pointer_reference {
+ id: 0x2cd8a9c9
+ kind: POINTER
+ pointee_type_id: 0x992241b9
+}
+pointer_reference {
+ id: 0x2cd9dff0
+ kind: POINTER
+ pointee_type_id: 0x9927995d
+}
+pointer_reference {
id: 0x2cda29dd
kind: POINTER
pointee_type_id: 0x992841ea
@@ -15612,6 +15954,11 @@ pointer_reference {
pointee_type_id: 0x99c11430
}
pointer_reference {
+ id: 0x2ce2190b
+ kind: POINTER
+ pointee_type_id: 0x99c882b3
+}
+pointer_reference {
id: 0x2ce315c4
kind: POINTER
pointee_type_id: 0x99ccb18c
@@ -15702,11 +16049,6 @@ pointer_reference {
pointee_type_id: 0x99f3f8f0
}
pointer_reference {
- id: 0x2ced036e
- kind: POINTER
- pointee_type_id: 0x99f4eb25
-}
-pointer_reference {
id: 0x2ced2dfa
kind: POINTER
pointee_type_id: 0x99f45176
@@ -15917,6 +16259,26 @@ pointer_reference {
pointee_type_id: 0x99be88a0
}
pointer_reference {
+ id: 0x2d000b85
+ kind: POINTER
+ pointee_type_id: 0x9e40c88b
+}
+pointer_reference {
+ id: 0x2d00157c
+ kind: POINTER
+ pointee_type_id: 0x9e40b36c
+}
+pointer_reference {
+ id: 0x2d004103
+ kind: POINTER
+ pointee_type_id: 0x9e41e293
+}
+pointer_reference {
+ id: 0x2d004a69
+ kind: POINTER
+ pointee_type_id: 0x9e41cf39
+}
+pointer_reference {
id: 0x2d008d0e
kind: POINTER
pointee_type_id: 0x9e42d2a7
@@ -15927,21 +16289,66 @@ pointer_reference {
pointee_type_id: 0x9e448e2a
}
pointer_reference {
+ id: 0x2d018e8d
+ kind: POINTER
+ pointee_type_id: 0x9e46dca9
+}
+pointer_reference {
+ id: 0x2d01e009
+ kind: POINTER
+ pointee_type_id: 0x9e4766bb
+}
+pointer_reference {
+ id: 0x2d01fcba
+ kind: POINTER
+ pointee_type_id: 0x9e471477
+}
+pointer_reference {
id: 0x2d0240fc
kind: POINTER
pointee_type_id: 0x9e49e56e
}
pointer_reference {
+ id: 0x2d02e4d4
+ kind: POINTER
+ pointee_type_id: 0x9e4b75cd
+}
+pointer_reference {
+ id: 0x2d033017
+ kind: POINTER
+ pointee_type_id: 0x9e4c26c1
+}
+pointer_reference {
id: 0x2d036f50
kind: POINTER
pointee_type_id: 0x9e4d5bdd
}
pointer_reference {
+ id: 0x2d0429c2
+ kind: POINTER
+ pointee_type_id: 0x9e504197
+}
+pointer_reference {
+ id: 0x2d044ee7
+ kind: POINTER
+ pointee_type_id: 0x9e51dd03
+}
+pointer_reference {
+ id: 0x2d046cf4
+ kind: POINTER
+ pointee_type_id: 0x9e51554f
+}
+pointer_reference {
id: 0x2d04a781
kind: POINTER
pointee_type_id: 0x9e52789b
}
pointer_reference {
+ id: 0x2d0679a1
+ kind: POINTER
+ pointee_type_id: 0x9e590019
+}
+pointer_reference {
id: 0x2d06e5cd
kind: POINTER
pointee_type_id: 0x9e5b71a8
@@ -15957,6 +16364,16 @@ pointer_reference {
pointee_type_id: 0x9e5ef2fc
}
pointer_reference {
+ id: 0x2d081f17
+ kind: POINTER
+ pointee_type_id: 0x9e609ac2
+}
+pointer_reference {
+ id: 0x2d085064
+ kind: POINTER
+ pointee_type_id: 0x9e61a70c
+}
+pointer_reference {
id: 0x2d08a576
kind: POINTER
pointee_type_id: 0x9e627346
@@ -15972,6 +16389,16 @@ pointer_reference {
pointee_type_id: 0x9e663e24
}
pointer_reference {
+ id: 0x2d0a0361
+ kind: POINTER
+ pointee_type_id: 0x9e68eb19
+}
+pointer_reference {
+ id: 0x2d0ab1eb
+ kind: POINTER
+ pointee_type_id: 0x9e6a2131
+}
+pointer_reference {
id: 0x2d0b7a8e
kind: POINTER
pointee_type_id: 0x9e6d0ca6
@@ -15997,6 +16424,11 @@ pointer_reference {
pointee_type_id: 0x9e792fe6
}
pointer_reference {
+ id: 0x2d0e9268
+ kind: POINTER
+ pointee_type_id: 0x9e7aaf3f
+}
+pointer_reference {
id: 0x2d0fdd7c
kind: POINTER
pointee_type_id: 0x9e7f936c
@@ -16032,6 +16464,16 @@ pointer_reference {
pointee_type_id: 0x9e026d74
}
pointer_reference {
+ id: 0x2d11ffb5
+ kind: POINTER
+ pointee_type_id: 0x9e071849
+}
+pointer_reference {
+ id: 0x2d12100b
+ kind: POINTER
+ pointee_type_id: 0x9e08a6b2
+}
+pointer_reference {
id: 0x2d126960
kind: POINTER
pointee_type_id: 0x9e09431f
@@ -16047,6 +16489,16 @@ pointer_reference {
pointee_type_id: 0x9e11d049
}
pointer_reference {
+ id: 0x2d154530
+ kind: POINTER
+ pointee_type_id: 0x9e15f25c
+}
+pointer_reference {
+ id: 0x2d161d5c
+ kind: POINTER
+ pointee_type_id: 0x9e1893ee
+}
+pointer_reference {
id: 0x2d164af6
kind: POINTER
pointee_type_id: 0x9e19cd45
@@ -16057,6 +16509,11 @@ pointer_reference {
pointee_type_id: 0x9e19651e
}
pointer_reference {
+ id: 0x2d16aeaf
+ kind: POINTER
+ pointee_type_id: 0x9e1a5c22
+}
+pointer_reference {
id: 0x2d16b2fd
kind: POINTER
pointee_type_id: 0x9e1a2d6b
@@ -16117,6 +16574,11 @@ pointer_reference {
pointee_type_id: 0x9e2ef574
}
pointer_reference {
+ id: 0x2d1c1d12
+ kind: POINTER
+ pointee_type_id: 0x9e3092d5
+}
+pointer_reference {
id: 0x2d1c7478
kind: POINTER
pointee_type_id: 0x9e31377c
@@ -16147,6 +16609,11 @@ pointer_reference {
pointee_type_id: 0x9e3f1247
}
pointer_reference {
+ id: 0x2d2076df
+ kind: POINTER
+ pointee_type_id: 0x9ec13de2
+}
+pointer_reference {
id: 0x2d214d35
kind: POINTER
pointee_type_id: 0x9ec5d248
@@ -16372,6 +16839,11 @@ pointer_reference {
pointee_type_id: 0x9e8fd7cb
}
pointer_reference {
+ id: 0x2d34349d
+ kind: POINTER
+ pointee_type_id: 0x9e9034ea
+}
+pointer_reference {
id: 0x2d3466af
kind: POINTER
pointee_type_id: 0x9e917c22
@@ -16422,6 +16894,11 @@ pointer_reference {
pointee_type_id: 0x9eb7e15e
}
pointer_reference {
+ id: 0x2d3dc4f9
+ kind: POINTER
+ pointee_type_id: 0x9eb7f57a
+}
+pointer_reference {
id: 0x2d3df092
kind: POINTER
pointee_type_id: 0x9eb724d7
@@ -16442,6 +16919,11 @@ pointer_reference {
pointee_type_id: 0x9ebfed71
}
pointer_reference {
+ id: 0x2d3ffbc6
+ kind: POINTER
+ pointee_type_id: 0x9ebf0984
+}
+pointer_reference {
id: 0x2d4051be
kind: POINTER
pointee_type_id: 0x9f41a065
@@ -16547,6 +17029,11 @@ pointer_reference {
pointee_type_id: 0x9f6f73ed
}
pointer_reference {
+ id: 0x2d4c6881
+ kind: POINTER
+ pointee_type_id: 0x9f71449b
+}
+pointer_reference {
id: 0x2d4eaa35
kind: POINTER
pointee_type_id: 0x9f7a4e49
@@ -16562,6 +17049,11 @@ pointer_reference {
pointee_type_id: 0x9f7fc723
}
pointer_reference {
+ id: 0x2d4fcd25
+ kind: POINTER
+ pointee_type_id: 0x9f7fd20b
+}
+pointer_reference {
id: 0x2d50c295
kind: POINTER
pointee_type_id: 0x9f03ecc8
@@ -16602,6 +17094,16 @@ pointer_reference {
pointee_type_id: 0x9f1dcaea
}
pointer_reference {
+ id: 0x2d591a0e
+ kind: POINTER
+ pointee_type_id: 0x9f248ea4
+}
+pointer_reference {
+ id: 0x2d594ead
+ kind: POINTER
+ pointee_type_id: 0x9f25dc29
+}
+pointer_reference {
id: 0x2d59c606
kind: POINTER
pointee_type_id: 0x9f27fe87
@@ -16682,11 +17184,6 @@ pointer_reference {
pointee_type_id: 0x9fc9e6ec
}
pointer_reference {
- id: 0x2d62ee59
- kind: POINTER
- pointee_type_id: 0x9fcb5ff8
-}
-pointer_reference {
id: 0x2d630d01
kind: POINTER
pointee_type_id: 0x9fccd299
@@ -16717,6 +17214,11 @@ pointer_reference {
pointee_type_id: 0x9fd1a709
}
pointer_reference {
+ id: 0x2d645d4d
+ kind: POINTER
+ pointee_type_id: 0x9fd193aa
+}
+pointer_reference {
id: 0x2d646f41
kind: POINTER
pointee_type_id: 0x9fd15b99
@@ -16837,6 +17339,16 @@ pointer_reference {
pointee_type_id: 0x9f87b817
}
pointer_reference {
+ id: 0x2d7368ed
+ kind: POINTER
+ pointee_type_id: 0x9f8d452b
+}
+pointer_reference {
+ id: 0x2d739f19
+ kind: POINTER
+ pointee_type_id: 0x9f8e9af9
+}
+pointer_reference {
id: 0x2d7549b3
kind: POINTER
pointee_type_id: 0x9f95c053
@@ -16867,6 +17379,11 @@ pointer_reference {
pointee_type_id: 0x9f9d90bf
}
pointer_reference {
+ id: 0x2d77f22a
+ kind: POINTER
+ pointee_type_id: 0x9f9f2e37
+}
+pointer_reference {
id: 0x2d7870f7
kind: POINTER
pointee_type_id: 0x9fa12542
@@ -16877,14 +17394,14 @@ pointer_reference {
pointee_type_id: 0x9fa3b723
}
pointer_reference {
- id: 0x2d797d9d
+ id: 0x2d7ab985
kind: POINTER
- pointee_type_id: 0x9fa510e8
+ pointee_type_id: 0x9faa0088
}
pointer_reference {
- id: 0x2d797f87
+ id: 0x2d7ac448
kind: POINTER
- pointee_type_id: 0x9fa51880
+ pointee_type_id: 0x9fabf7be
}
pointer_reference {
id: 0x2d7ae3a5
@@ -17087,6 +17604,11 @@ pointer_reference {
pointee_type_id: 0x9c7d7af2
}
pointer_reference {
+ id: 0x2d8fd28a
+ kind: POINTER
+ pointee_type_id: 0x9c7facb4
+}
+pointer_reference {
id: 0x2d8fdd2c
kind: POINTER
pointee_type_id: 0x9c7f922c
@@ -17372,6 +17894,11 @@ pointer_reference {
pointee_type_id: 0x9cf48276
}
pointer_reference {
+ id: 0x2dae0c91
+ kind: POINTER
+ pointee_type_id: 0x9cf8d4d9
+}
+pointer_reference {
id: 0x2dae560d
kind: POINTER
pointee_type_id: 0x9cf9beaa
@@ -17412,6 +17939,11 @@ pointer_reference {
pointee_type_id: 0x9c8d1a40
}
pointer_reference {
+ id: 0x2db6fcd8
+ kind: POINTER
+ pointee_type_id: 0x9c9b15ff
+}
+pointer_reference {
id: 0x2db71389
kind: POINTER
pointee_type_id: 0x9c9ca8bb
@@ -17577,6 +18109,11 @@ pointer_reference {
pointee_type_id: 0x9d4e4357
}
pointer_reference {
+ id: 0x2dc3d72e
+ kind: POINTER
+ pointee_type_id: 0x9d4fba25
+}
+pointer_reference {
id: 0x2dc3dd18
kind: POINTER
pointee_type_id: 0x9d4f92fc
@@ -17992,6 +18529,11 @@ pointer_reference {
pointee_type_id: 0x9de31a69
}
pointer_reference {
+ id: 0x2de928d9
+ kind: POINTER
+ pointee_type_id: 0x9de445fa
+}
+pointer_reference {
id: 0x2de9a54b
kind: POINTER
pointee_type_id: 0x9de673b1
@@ -18097,6 +18639,11 @@ pointer_reference {
pointee_type_id: 0x9da05299
}
pointer_reference {
+ id: 0x2df84197
+ kind: POINTER
+ pointee_type_id: 0x9da1e0c3
+}
+pointer_reference {
id: 0x2df9d3a1
kind: POINTER
pointee_type_id: 0x9da7a81a
@@ -18262,21 +18809,56 @@ pointer_reference {
pointee_type_id: 0x9266fead
}
pointer_reference {
+ id: 0x2e0a2548
+ kind: POINTER
+ pointee_type_id: 0x926873bc
+}
+pointer_reference {
+ id: 0x2e0a26c5
+ kind: POINTER
+ pointee_type_id: 0x92687d88
+}
+pointer_reference {
id: 0x2e0a4508
kind: POINTER
pointee_type_id: 0x9269f2bc
}
pointer_reference {
+ id: 0x2e0ab0cf
+ kind: POINTER
+ pointee_type_id: 0x926a25a2
+}
+pointer_reference {
+ id: 0x2e0abaa7
+ kind: POINTER
+ pointee_type_id: 0x926a0c03
+}
+pointer_reference {
+ id: 0x2e0abbc6
+ kind: POINTER
+ pointee_type_id: 0x926a0987
+}
+pointer_reference {
id: 0x2e0ac0be
kind: POINTER
pointee_type_id: 0x926be467
}
pointer_reference {
+ id: 0x2e0ad762
+ kind: POINTER
+ pointee_type_id: 0x926bbb17
+}
+pointer_reference {
id: 0x2e0b4b4b
kind: POINTER
pointee_type_id: 0x926dcbb0
}
pointer_reference {
+ id: 0x2e0b7ad3
+ kind: POINTER
+ pointee_type_id: 0x926d0dd0
+}
+pointer_reference {
id: 0x2e0b807c
kind: POINTER
pointee_type_id: 0x926ee76e
@@ -18327,11 +18909,26 @@ pointer_reference {
pointee_type_id: 0x92075c0f
}
pointer_reference {
+ id: 0x2e133d23
+ kind: POINTER
+ pointee_type_id: 0x920c1213
+}
+pointer_reference {
id: 0x2e136b7a
kind: POINTER
pointee_type_id: 0x920d4b76
}
pointer_reference {
+ id: 0x2e137a28
+ kind: POINTER
+ pointee_type_id: 0x920d0e3f
+}
+pointer_reference {
+ id: 0x2e1466a0
+ kind: POINTER
+ pointee_type_id: 0x92117c1d
+}
+pointer_reference {
id: 0x2e152fbb
kind: POINTER
pointee_type_id: 0x92145871
@@ -18342,6 +18939,11 @@ pointer_reference {
pointee_type_id: 0x9215c28e
}
pointer_reference {
+ id: 0x2e157919
+ kind: POINTER
+ pointee_type_id: 0x921502fa
+}
+pointer_reference {
id: 0x2e160375
kind: POINTER
pointee_type_id: 0x9218eb49
@@ -18377,6 +18979,11 @@ pointer_reference {
pointee_type_id: 0x92233392
}
pointer_reference {
+ id: 0x2e19617e
+ kind: POINTER
+ pointee_type_id: 0x92256367
+}
+pointer_reference {
id: 0x2e19d469
kind: POINTER
pointee_type_id: 0x9227b73b
@@ -18397,11 +19004,6 @@ pointer_reference {
pointee_type_id: 0x922dbdf3
}
pointer_reference {
- id: 0x2e1b59dd
- kind: POINTER
- pointee_type_id: 0x922d81eb
-}
-pointer_reference {
id: 0x2e1d1da3
kind: POINTER
pointee_type_id: 0x92349012
@@ -18422,6 +19024,11 @@ pointer_reference {
pointee_type_id: 0x92c2d86d
}
pointer_reference {
+ id: 0x2e20981d
+ kind: POINTER
+ pointee_type_id: 0x92c286e9
+}
+pointer_reference {
id: 0x2e215a2d
kind: POINTER
pointee_type_id: 0x92c58e2b
@@ -18442,6 +19049,11 @@ pointer_reference {
pointee_type_id: 0x92d3b873
}
pointer_reference {
+ id: 0x2e2690ae
+ kind: POINTER
+ pointee_type_id: 0x92daa424
+}
+pointer_reference {
id: 0x2e27223f
kind: POINTER
pointee_type_id: 0x92dc6e62
@@ -18487,6 +19099,21 @@ pointer_reference {
pointee_type_id: 0x92f4a3cb
}
pointer_reference {
+ id: 0x2e2ef220
+ kind: POINTER
+ pointee_type_id: 0x92fb2e1e
+}
+pointer_reference {
+ id: 0x2e2f03e7
+ kind: POINTER
+ pointee_type_id: 0x92fce902
+}
+pointer_reference {
+ id: 0x2e2f0b11
+ kind: POINTER
+ pointee_type_id: 0x92fccadb
+}
+pointer_reference {
id: 0x2e2ff28a
kind: POINTER
pointee_type_id: 0x92ff2cb6
@@ -18512,6 +19139,11 @@ pointer_reference {
pointee_type_id: 0x92878d53
}
pointer_reference {
+ id: 0x2e323a43
+ kind: POINTER
+ pointee_type_id: 0x92880f91
+}
+pointer_reference {
id: 0x2e334b9e
kind: POINTER
pointee_type_id: 0x928dc8e5
@@ -18527,6 +19159,11 @@ pointer_reference {
pointee_type_id: 0x929702b9
}
pointer_reference {
+ id: 0x2e360c76
+ kind: POINTER
+ pointee_type_id: 0x9298d745
+}
+pointer_reference {
id: 0x2e36aac4
kind: POINTER
pointee_type_id: 0x929a4d8e
@@ -18547,6 +19184,11 @@ pointer_reference {
pointee_type_id: 0x92a82deb
}
pointer_reference {
+ id: 0x2e3aa811
+ kind: POINTER
+ pointee_type_id: 0x92aa46db
+}
+pointer_reference {
id: 0x2e3afbd5
kind: POINTER
pointee_type_id: 0x92ab09cb
@@ -18562,11 +19204,21 @@ pointer_reference {
pointee_type_id: 0x92ae55cd
}
pointer_reference {
+ id: 0x2e3beeb2
+ kind: POINTER
+ pointee_type_id: 0x92af5c55
+}
+pointer_reference {
id: 0x2e3de161
kind: POINTER
pointee_type_id: 0x92b76318
}
pointer_reference {
+ id: 0x2e3f95bc
+ kind: POINTER
+ pointee_type_id: 0x92beb06d
+}
+pointer_reference {
id: 0x2e3fe61b
kind: POINTER
pointee_type_id: 0x92bf7ef1
@@ -18597,6 +19249,11 @@ pointer_reference {
pointee_type_id: 0x9352af9c
}
pointer_reference {
+ id: 0x2e477ad3
+ kind: POINTER
+ pointee_type_id: 0x935d0dd3
+}
+pointer_reference {
id: 0x2e47a18c
kind: POINTER
pointee_type_id: 0x935e60af
@@ -18697,6 +19354,11 @@ pointer_reference {
pointee_type_id: 0x9313a933
}
pointer_reference {
+ id: 0x2e54f1b8
+ kind: POINTER
+ pointee_type_id: 0x9313207d
+}
+pointer_reference {
id: 0x2e5535c9
kind: POINTER
pointee_type_id: 0x931431b9
@@ -18727,6 +19389,11 @@ pointer_reference {
pointee_type_id: 0x931806a8
}
pointer_reference {
+ id: 0x2e5686ce
+ kind: POINTER
+ pointee_type_id: 0x931afda4
+}
+pointer_reference {
id: 0x2e56b2c6
kind: POINTER
pointee_type_id: 0x931a2d85
@@ -18832,9 +19499,14 @@ pointer_reference {
pointee_type_id: 0x93e8e7b0
}
pointer_reference {
- id: 0x2e6ac856
+ id: 0x2e6a357b
+ kind: POINTER
+ pointee_type_id: 0x93e83373
+}
+pointer_reference {
+ id: 0x2e6a35a0
kind: POINTER
- pointee_type_id: 0x93ebc7c6
+ pointee_type_id: 0x93e8301d
}
pointer_reference {
id: 0x2e6c8788
@@ -18867,6 +19539,11 @@ pointer_reference {
pointee_type_id: 0x938c1916
}
pointer_reference {
+ id: 0x2e735a06
+ kind: POINTER
+ pointee_type_id: 0x938d8e84
+}
+pointer_reference {
id: 0x2e73c057
kind: POINTER
pointee_type_id: 0x938fe7c2
@@ -18882,6 +19559,16 @@ pointer_reference {
pointee_type_id: 0x93907678
}
pointer_reference {
+ id: 0x2e747a05
+ kind: POINTER
+ pointee_type_id: 0x93910e88
+}
+pointer_reference {
+ id: 0x2e7505e0
+ kind: POINTER
+ pointee_type_id: 0x9394f11e
+}
+pointer_reference {
id: 0x2e76071a
kind: POINTER
pointee_type_id: 0x9398faf7
@@ -18937,6 +19624,11 @@ pointer_reference {
pointee_type_id: 0x93b941f7
}
pointer_reference {
+ id: 0x2e7ffbfe
+ kind: POINTER
+ pointee_type_id: 0x93bf0967
+}
+pointer_reference {
id: 0x2e804bb7
kind: POINTER
pointee_type_id: 0x9041c842
@@ -19157,11 +19849,6 @@ pointer_reference {
pointee_type_id: 0x90f57fd0
}
pointer_reference {
- id: 0x2eae2318
- kind: POINTER
- pointee_type_id: 0x90f86afe
-}
-pointer_reference {
id: 0x2eaed94d
kind: POINTER
pointee_type_id: 0x90fb83a9
@@ -19197,6 +19884,11 @@ pointer_reference {
pointee_type_id: 0x9090fcd9
}
pointer_reference {
+ id: 0x2eb464c1
+ kind: POINTER
+ pointee_type_id: 0x90917599
+}
+pointer_reference {
id: 0x2eb4795d
kind: POINTER
pointee_type_id: 0x909103e9
@@ -19237,11 +19929,6 @@ pointer_reference {
pointee_type_id: 0x90adbc21
}
pointer_reference {
- id: 0x2ebb6897
- kind: POINTER
- pointee_type_id: 0x90ad44c2
-}
-pointer_reference {
id: 0x2ebb9477
kind: POINTER
pointee_type_id: 0x90aeb741
@@ -19567,11 +20254,6 @@ pointer_reference {
pointee_type_id: 0x912037b8
}
pointer_reference {
- id: 0x2ed842b7
- kind: POINTER
- pointee_type_id: 0x9121ec42
-}
-pointer_reference {
id: 0x2ed870a7
kind: POINTER
pointee_type_id: 0x91212402
@@ -19777,11 +20459,6 @@ pointer_reference {
pointee_type_id: 0x91e36693
}
pointer_reference {
- id: 0x2ee94408
- kind: POINTER
- pointee_type_id: 0x91e5f6bf
-}
-pointer_reference {
id: 0x2ee95f08
kind: POINTER
pointee_type_id: 0x91e59abf
@@ -20247,6 +20924,11 @@ pointer_reference {
pointee_type_id: 0x96d126d3
}
pointer_reference {
+ id: 0x2f24a589
+ kind: POINTER
+ pointee_type_id: 0x96d270ba
+}
+pointer_reference {
id: 0x2f25d7c2
kind: POINTER
pointee_type_id: 0x96d7b994
@@ -20472,16 +21154,6 @@ pointer_reference {
pointee_type_id: 0x97012809
}
pointer_reference {
- id: 0x2f509af6
- kind: POINTER
- pointee_type_id: 0x97028d47
-}
-pointer_reference {
- id: 0x2f50a983
- kind: POINTER
- pointee_type_id: 0x97024092
-}
-pointer_reference {
id: 0x2f515c44
kind: POINTER
pointee_type_id: 0x9705978c
@@ -20722,9 +21394,9 @@ pointer_reference {
pointee_type_id: 0x97b2b8d0
}
pointer_reference {
- id: 0x2f7f5489
+ id: 0x2f802886
kind: POINTER
- pointee_type_id: 0x97bdb4b8
+ pointee_type_id: 0x94404485
}
pointer_reference {
id: 0x2f805571
@@ -20742,6 +21414,11 @@ pointer_reference {
pointee_type_id: 0x9445ee80
}
pointer_reference {
+ id: 0x2f815de7
+ kind: POINTER
+ pointee_type_id: 0x94459100
+}
+pointer_reference {
id: 0x2f81f017
kind: POINTER
pointee_type_id: 0x944726c2
@@ -21257,6 +21934,11 @@ pointer_reference {
pointee_type_id: 0x9511594d
}
pointer_reference {
+ id: 0x2fd4f232
+ kind: POINTER
+ pointee_type_id: 0x95132e54
+}
+pointer_reference {
id: 0x2fd86c98
kind: POINTER
pointee_type_id: 0x952154fc
@@ -21592,6 +22274,11 @@ pointer_reference {
pointee_type_id: 0xeabee0bd
}
pointer_reference {
+ id: 0x30408c71
+ kind: POINTER
+ pointee_type_id: 0xeb42d758
+}
+pointer_reference {
id: 0x3043f6b1
kind: POINTER
pointee_type_id: 0xeb4f3c58
@@ -21697,6 +22384,11 @@ pointer_reference {
pointee_type_id: 0xeba4823c
}
pointer_reference {
+ id: 0x307eba5c
+ kind: POINTER
+ pointee_type_id: 0xebba0fee
+}
+pointer_reference {
id: 0x30887d17
kind: POINTER
pointee_type_id: 0xe86112c3
@@ -21792,6 +22484,11 @@ pointer_reference {
pointee_type_id: 0xe8f8d87a
}
pointer_reference {
+ id: 0x30afcff2
+ kind: POINTER
+ pointee_type_id: 0xe8ffd957
+}
+pointer_reference {
id: 0x30b384f8
kind: POINTER
pointee_type_id: 0xe88ef57f
@@ -21957,6 +22654,11 @@ pointer_reference {
pointee_type_id: 0xeec4d3d8
}
pointer_reference {
+ id: 0x3121a074
+ kind: POINTER
+ pointee_type_id: 0xeec6674e
+}
+pointer_reference {
id: 0x31287056
kind: POINTER
pointee_type_id: 0xeee127c5
@@ -22092,6 +22794,11 @@ pointer_reference {
pointee_type_id: 0xef9a648b
}
pointer_reference {
+ id: 0x31790b1e
+ kind: POINTER
+ pointee_type_id: 0xefa4cae6
+}
+pointer_reference {
id: 0x31829648
kind: POINTER
pointee_type_id: 0xec4abfbd
@@ -22202,11 +22909,6 @@ pointer_reference {
pointee_type_id: 0xed640f62
}
pointer_reference {
- id: 0x31cb364e
- kind: POINTER
- pointee_type_id: 0xed6c3fa4
-}
-pointer_reference {
id: 0x31cbe3b8
kind: POINTER
pointee_type_id: 0xed6f687f
@@ -22237,6 +22939,11 @@ pointer_reference {
pointee_type_id: 0xed225d89
}
pointer_reference {
+ id: 0x31d9e79a
+ kind: POINTER
+ pointee_type_id: 0xed2778f4
+}
+pointer_reference {
id: 0x31da1e83
kind: POINTER
pointee_type_id: 0xed289c91
@@ -22347,9 +23054,9 @@ pointer_reference {
pointee_type_id: 0xe2cebd77
}
pointer_reference {
- id: 0x322509a0
+ id: 0x3225ac75
kind: POINTER
- pointee_type_id: 0xe2d4c01c
+ pointee_type_id: 0xe2d6574a
}
pointer_reference {
id: 0x322c8c4b
@@ -22387,16 +23094,31 @@ pointer_reference {
pointee_type_id: 0xe2a728bc
}
pointer_reference {
+ id: 0x323d798e
+ kind: POINTER
+ pointee_type_id: 0xe2b500a6
+}
+pointer_reference {
id: 0x3240bbe7
kind: POINTER
pointee_type_id: 0xe3420903
}
pointer_reference {
+ id: 0x3247ae94
+ kind: POINTER
+ pointee_type_id: 0xe35e5ccd
+}
+pointer_reference {
id: 0x324a2d7b
kind: POINTER
pointee_type_id: 0xe3685372
}
pointer_reference {
+ id: 0x324ddec3
+ kind: POINTER
+ pointee_type_id: 0xe3779d93
+}
+pointer_reference {
id: 0x324e6996
kind: POINTER
pointee_type_id: 0xe37940c7
@@ -22667,6 +23389,11 @@ pointer_reference {
pointee_type_id: 0xe1c969cb
}
pointer_reference {
+ id: 0x32e4574b
+ kind: POINTER
+ pointee_type_id: 0xe1d1bbb1
+}
+pointer_reference {
id: 0x32e49390
kind: POINTER
pointee_type_id: 0xe1d2a8dc
@@ -22727,6 +23454,11 @@ pointer_reference {
pointee_type_id: 0xe644a39b
}
pointer_reference {
+ id: 0x33086ec3
+ kind: POINTER
+ pointee_type_id: 0xe6615d93
+}
+pointer_reference {
id: 0x330db442
kind: POINTER
pointee_type_id: 0xe6763795
@@ -22747,14 +23479,14 @@ pointer_reference {
pointee_type_id: 0xe620f747
}
pointer_reference {
- id: 0x331a85e3
+ id: 0x331a1d7a
kind: POINTER
- pointee_type_id: 0xe62af112
+ pointee_type_id: 0xe6289375
}
pointer_reference {
- id: 0x331b3d77
+ id: 0x331a85e3
kind: POINTER
- pointee_type_id: 0xe62c1341
+ pointee_type_id: 0xe62af112
}
pointer_reference {
id: 0x331b9666
@@ -22762,11 +23494,6 @@ pointer_reference {
pointee_type_id: 0xe62ebf07
}
pointer_reference {
- id: 0x331e2c82
- kind: POINTER
- pointee_type_id: 0xe6385497
-}
-pointer_reference {
id: 0x331fc64d
kind: POINTER
pointee_type_id: 0xe63fffaa
@@ -22882,11 +23609,6 @@ pointer_reference {
pointee_type_id: 0xe7643c7c
}
pointer_reference {
- id: 0x334b2254
- kind: POINTER
- pointee_type_id: 0xe76c6fcf
-}
-pointer_reference {
id: 0x334c0532
kind: POINTER
pointee_type_id: 0xe770f257
@@ -22917,6 +23639,11 @@ pointer_reference {
pointee_type_id: 0xe70e9a5b
}
pointer_reference {
+ id: 0x33558def
+ kind: POINTER
+ pointee_type_id: 0xe716d120
+}
+pointer_reference {
id: 0x335d253d
kind: POINTER
pointee_type_id: 0xe734726a
@@ -22932,6 +23659,11 @@ pointer_reference {
pointee_type_id: 0xe7c3994d
}
pointer_reference {
+ id: 0x33642722
+ kind: POINTER
+ pointee_type_id: 0xe7d07a15
+}
+pointer_reference {
id: 0x33657329
kind: POINTER
pointee_type_id: 0xe7d52a38
@@ -23027,6 +23759,11 @@ pointer_reference {
pointee_type_id: 0xe42d7586
}
pointer_reference {
+ id: 0x339b8baf
+ kind: POINTER
+ pointee_type_id: 0xe42ec820
+}
+pointer_reference {
id: 0x339ebb61
kind: POINTER
pointee_type_id: 0xe43a0b1b
@@ -23197,6 +23934,11 @@ pointer_reference {
pointee_type_id: 0xe5ac437d
}
pointer_reference {
+ id: 0x33fd261b
+ kind: POINTER
+ pointee_type_id: 0xe5b47ef3
+}
+pointer_reference {
id: 0x34016e82
kind: POINTER
pointee_type_id: 0xfa455c97
@@ -23227,6 +23969,11 @@ pointer_reference {
pointee_type_id: 0xfa774e1b
}
pointer_reference {
+ id: 0x34104e47
+ kind: POINTER
+ pointee_type_id: 0xfa01df81
+}
+pointer_reference {
id: 0x3411dbb1
kind: POINTER
pointee_type_id: 0xfa078858
@@ -23277,6 +24024,11 @@ pointer_reference {
pointee_type_id: 0xfaeafe16
}
pointer_reference {
+ id: 0x3431098c
+ kind: POINTER
+ pointee_type_id: 0xfa84c0ac
+}
+pointer_reference {
id: 0x34334e6d
kind: POINTER
pointee_type_id: 0xfa8ddf2a
@@ -23397,6 +24149,11 @@ pointer_reference {
pointee_type_id: 0xfbdf50fc
}
pointer_reference {
+ id: 0x346c7967
+ kind: POINTER
+ pointee_type_id: 0xfbf10300
+}
+pointer_reference {
id: 0x346d8a0d
kind: POINTER
pointee_type_id: 0xfbf6cea8
@@ -23447,6 +24204,11 @@ pointer_reference {
pointee_type_id: 0xf8453f2e
}
pointer_reference {
+ id: 0x34818c51
+ kind: POINTER
+ pointee_type_id: 0xf846d7da
+}
+pointer_reference {
id: 0x3486508f
kind: POINTER
pointee_type_id: 0xf859a4a2
@@ -23502,6 +24264,11 @@ pointer_reference {
pointee_type_id: 0xf87eb23d
}
pointer_reference {
+ id: 0x348fecbf
+ kind: POINTER
+ pointee_type_id: 0xf87f5460
+}
+pointer_reference {
id: 0x3491860b
kind: POINTER
pointee_type_id: 0xf806feb1
@@ -23777,11 +24544,6 @@ pointer_reference {
pointee_type_id: 0xfe81d85b
}
pointer_reference {
- id: 0x35324dc4
- kind: POINTER
- pointee_type_id: 0xfe89d18d
-}
-pointer_reference {
id: 0x3536f126
kind: POINTER
pointee_type_id: 0xfe9b2205
@@ -23887,6 +24649,11 @@ pointer_reference {
pointee_type_id: 0xfff5e6f7
}
pointer_reference {
+ id: 0x356e4b27
+ kind: POINTER
+ pointee_type_id: 0xfff9ca03
+}
+pointer_reference {
id: 0x35737846
kind: POINTER
pointee_type_id: 0xff8d0786
@@ -23927,6 +24694,11 @@ pointer_reference {
pointee_type_id: 0xfc53e789
}
pointer_reference {
+ id: 0x358546f6
+ kind: POINTER
+ pointee_type_id: 0xfc55fd47
+}
+pointer_reference {
id: 0x358a1c52
kind: POINTER
pointee_type_id: 0xfc6897d7
@@ -23967,6 +24739,11 @@ pointer_reference {
pointee_type_id: 0xfcc23ab7
}
pointer_reference {
+ id: 0x35a7c1c3
+ kind: POINTER
+ pointee_type_id: 0xfcdfe193
+}
+pointer_reference {
id: 0x35ab6b03
kind: POINTER
pointee_type_id: 0xfced4a93
@@ -24007,6 +24784,11 @@ pointer_reference {
pointee_type_id: 0xfc8ba4d2
}
pointer_reference {
+ id: 0x35b3ea42
+ kind: POINTER
+ pointee_type_id: 0xfc8f4f95
+}
+pointer_reference {
id: 0x35bad1e5
kind: POINTER
pointee_type_id: 0xfcaba10a
@@ -24037,11 +24819,6 @@ pointer_reference {
pointee_type_id: 0xfd600427
}
pointer_reference {
- id: 0x35cc4540
- kind: POINTER
- pointee_type_id: 0xfd71f39d
-}
-pointer_reference {
id: 0x35d0c5ee
kind: POINTER
pointee_type_id: 0xfd03f127
@@ -24157,6 +24934,11 @@ pointer_reference {
pointee_type_id: 0xfda4bf28
}
pointer_reference {
+ id: 0x35feb7e2
+ kind: POINTER
+ pointee_type_id: 0xfdba3915
+}
+pointer_reference {
id: 0x36042134
kind: POINTER
pointee_type_id: 0xf250624e
@@ -24167,6 +24949,11 @@ pointer_reference {
pointee_type_id: 0xf25d597f
}
pointer_reference {
+ id: 0x3609467c
+ kind: POINTER
+ pointee_type_id: 0xf265ff6f
+}
+pointer_reference {
id: 0x360c66c5
kind: POINTER
pointee_type_id: 0xf2717d88
@@ -24212,6 +24999,11 @@ pointer_reference {
pointee_type_id: 0xf2c78cfb
}
pointer_reference {
+ id: 0x3622fa2a
+ kind: POINTER
+ pointee_type_id: 0xf2cb0e35
+}
+pointer_reference {
id: 0x3626871f
kind: POINTER
pointee_type_id: 0xf2dafae3
@@ -24242,11 +25034,6 @@ pointer_reference {
pointee_type_id: 0xf2a3d079
}
pointer_reference {
- id: 0x363b9249
- kind: POINTER
- pointee_type_id: 0xf2aeafb9
-}
-pointer_reference {
id: 0x363f43e7
kind: POINTER
pointee_type_id: 0xf2bde902
@@ -24282,6 +25069,11 @@ pointer_reference {
pointee_type_id: 0xf3dea95c
}
pointer_reference {
+ id: 0x3667e19e
+ kind: POINTER
+ pointee_type_id: 0xf3df60e5
+}
+pointer_reference {
id: 0x3668642a
kind: POINTER
pointee_type_id: 0xf3e17637
@@ -24382,11 +25174,6 @@ pointer_reference {
pointee_type_id: 0xf03663da
}
pointer_reference {
- id: 0x36a2b57a
- kind: POINTER
- pointee_type_id: 0xf0ca3374
-}
-pointer_reference {
id: 0x36a41f54
kind: POINTER
pointee_type_id: 0xf0d09bcf
@@ -24542,11 +25329,6 @@ pointer_reference {
pointee_type_id: 0xf18067ea
}
pointer_reference {
- id: 0x36f0529f
- kind: POINTER
- pointee_type_id: 0xf181ace2
-}
-pointer_reference {
id: 0x36f0c7ee
kind: POINTER
pointee_type_id: 0xf183f924
@@ -24822,6 +25604,11 @@ pointer_reference {
pointee_type_id: 0xf7e2e2fa
}
pointer_reference {
+ id: 0x376c8705
+ kind: POINTER
+ pointee_type_id: 0xf7f2fa8a
+}
+pointer_reference {
id: 0x376d0d4f
kind: POINTER
pointee_type_id: 0xf7f4d3a0
@@ -24872,6 +25659,11 @@ pointer_reference {
pointee_type_id: 0xf4616560
}
pointer_reference {
+ id: 0x378dbf55
+ kind: POINTER
+ pointee_type_id: 0xf4761bc8
+}
+pointer_reference {
id: 0x37944814
kind: POINTER
pointee_type_id: 0xf411c6cf
@@ -24977,11 +25769,6 @@ pointer_reference {
pointee_type_id: 0xf5228665
}
pointer_reference {
- id: 0x37d96371
- kind: POINTER
- pointee_type_id: 0xf5256b58
-}
-pointer_reference {
id: 0x37dafd0a
kind: POINTER
pointee_type_id: 0xf52b12b6
@@ -25077,11 +25864,6 @@ pointer_reference {
pointee_type_id: 0xf5b0198f
}
pointer_reference {
- id: 0x37fc9b61
- kind: POINTER
- pointee_type_id: 0xf5b28b19
-}
-pointer_reference {
id: 0x37fdbcb1
kind: POINTER
pointee_type_id: 0xf5b61458
@@ -25117,16 +25899,31 @@ pointer_reference {
pointee_type_id: 0xca5a7101
}
pointer_reference {
+ id: 0x380882e7
+ kind: POINTER
+ pointee_type_id: 0xca62ed00
+}
+pointer_reference {
id: 0x3808938b
kind: POINTER
pointee_type_id: 0xca62a8b3
}
pointer_reference {
+ id: 0x38090ad2
+ kind: POINTER
+ pointee_type_id: 0xca64cdd4
+}
+pointer_reference {
id: 0x380a78f0
kind: POINTER
pointee_type_id: 0xca69055f
}
pointer_reference {
+ id: 0x380c33d1
+ kind: POINTER
+ pointee_type_id: 0xca7029d8
+}
+pointer_reference {
id: 0x381472e2
kind: POINTER
pointee_type_id: 0xca112d16
@@ -25197,6 +25994,11 @@ pointer_reference {
pointee_type_id: 0xcaaeb726
}
pointer_reference {
+ id: 0x383bad14
+ kind: POINTER
+ pointee_type_id: 0xcaae52cc
+}
+pointer_reference {
id: 0x383bcea3
kind: POINTER
pointee_type_id: 0xcaafdc12
@@ -25252,6 +26054,11 @@ pointer_reference {
pointee_type_id: 0xcb720070
}
pointer_reference {
+ id: 0x384d1346
+ kind: POINTER
+ pointee_type_id: 0xcb74ab84
+}
+pointer_reference {
id: 0x384ff235
kind: POINTER
pointee_type_id: 0xcb7f2e4a
@@ -25497,11 +26304,6 @@ pointer_reference {
pointee_type_id: 0xc9cc379b
}
pointer_reference {
- id: 0x38e86333
- kind: POINTER
- pointee_type_id: 0xc9e16a53
-}
-pointer_reference {
id: 0x38ec2eab
kind: POINTER
pointee_type_id: 0xc9f05c33
@@ -25637,6 +26439,11 @@ pointer_reference {
pointee_type_id: 0xce9dd989
}
pointer_reference {
+ id: 0x39388fd3
+ kind: POINTER
+ pointee_type_id: 0xcea2d9d1
+}
+pointer_reference {
id: 0x393f044a
kind: POINTER
pointee_type_id: 0xcebcf7b7
@@ -25792,6 +26599,11 @@ pointer_reference {
pointee_type_id: 0xcc1251bf
}
pointer_reference {
+ id: 0x3999579d
+ kind: POINTER
+ pointee_type_id: 0xcc25b8e9
+}
+pointer_reference {
id: 0x399f63b7
kind: POINTER
pointee_type_id: 0xcc3d6841
@@ -25832,6 +26644,11 @@ pointer_reference {
pointee_type_id: 0xcc81b8d3
}
pointer_reference {
+ id: 0x39b2ba38
+ kind: POINTER
+ pointee_type_id: 0xcc8a0e7e
+}
+pointer_reference {
id: 0x39b425bc
kind: POINTER
pointee_type_id: 0xcc90706c
@@ -26187,6 +27004,11 @@ pointer_reference {
pointee_type_id: 0xc032f3e5
}
pointer_reference {
+ id: 0x3a9d5bb9
+ kind: POINTER
+ pointee_type_id: 0xc035887a
+}
+pointer_reference {
id: 0x3aac87ab
kind: POINTER
pointee_type_id: 0xc0f2f833
@@ -26337,9 +27159,14 @@ pointer_reference {
pointee_type_id: 0xc60bc51e
}
pointer_reference {
- id: 0x3b15fe1d
+ id: 0x3b143836
+ kind: POINTER
+ pointee_type_id: 0xc6100647
+}
+pointer_reference {
+ id: 0x3b19594b
kind: POINTER
- pointee_type_id: 0xc6171ee9
+ pointee_type_id: 0xc62583b0
}
pointer_reference {
id: 0x3b19ae48
@@ -26467,6 +27294,11 @@ pointer_reference {
pointee_type_id: 0xc77aa47c
}
pointer_reference {
+ id: 0x3b5017f2
+ kind: POINTER
+ pointee_type_id: 0xc700b957
+}
+pointer_reference {
id: 0x3b54fdd3
kind: POINTER
pointee_type_id: 0xc71311d1
@@ -26492,6 +27324,11 @@ pointer_reference {
pointee_type_id: 0xc733e2de
}
pointer_reference {
+ id: 0x3b622f67
+ kind: POINTER
+ pointee_type_id: 0xc7c85b01
+}
+pointer_reference {
id: 0x3b66c89b
kind: POINTER
pointee_type_id: 0xc7dbc4f1
@@ -26592,6 +27429,11 @@ pointer_reference {
pointee_type_id: 0xc4e323c9
}
pointer_reference {
+ id: 0x3ba909c1
+ kind: POINTER
+ pointee_type_id: 0xc4e4c198
+}
+pointer_reference {
id: 0x3baacc82
kind: POINTER
pointee_type_id: 0xc4ebd496
@@ -26602,19 +27444,14 @@ pointer_reference {
pointee_type_id: 0xc4f6e4f3
}
pointer_reference {
- id: 0x3bb11c92
+ id: 0x3bb0740c
kind: POINTER
- pointee_type_id: 0xc48494d4
+ pointee_type_id: 0xc48136af
}
pointer_reference {
- id: 0x3bc2a7f0
- kind: POINTER
- pointee_type_id: 0xc54a795e
-}
-pointer_reference {
- id: 0x3bc62241
+ id: 0x3bb11c92
kind: POINTER
- pointee_type_id: 0xc5586f9b
+ pointee_type_id: 0xc48494d4
}
pointer_reference {
id: 0x3bc90e1f
@@ -26627,14 +27464,14 @@ pointer_reference {
pointee_type_id: 0xc5640d2a
}
pointer_reference {
- id: 0x3bcbf8c5
+ id: 0x3bccaec1
kind: POINTER
- pointee_type_id: 0xc56f0588
+ pointee_type_id: 0xc5725d9a
}
pointer_reference {
- id: 0x3bccaec1
+ id: 0x3bcd0c02
kind: POINTER
- pointee_type_id: 0xc5725d9a
+ pointee_type_id: 0xc574d697
}
pointer_reference {
id: 0x3bd2bf42
@@ -26642,6 +27479,11 @@ pointer_reference {
pointee_type_id: 0xc50a1b96
}
pointer_reference {
+ id: 0x3bd6fa3a
+ kind: POINTER
+ pointee_type_id: 0xc51b0e75
+}
+pointer_reference {
id: 0x3bd9eb0b
kind: POINTER
pointee_type_id: 0xc5274ab2
@@ -26667,6 +27509,11 @@ pointer_reference {
pointee_type_id: 0xc5d356cb
}
pointer_reference {
+ id: 0x3be6380c
+ kind: POINTER
+ pointee_type_id: 0xc5d806af
+}
+pointer_reference {
id: 0x3be64ffd
kind: POINTER
pointee_type_id: 0xc5d9d969
@@ -26677,6 +27524,11 @@ pointer_reference {
pointee_type_id: 0xc5e27af4
}
pointer_reference {
+ id: 0x3beb3e50
+ kind: POINTER
+ pointee_type_id: 0xc5ec1fdd
+}
+pointer_reference {
id: 0x3bedc96c
kind: POINTER
pointee_type_id: 0xc5f7c32f
@@ -26722,11 +27574,21 @@ pointer_reference {
pointee_type_id: 0xda60e9a6
}
pointer_reference {
+ id: 0x3c087d20
+ kind: POINTER
+ pointee_type_id: 0xda61121d
+}
+pointer_reference {
id: 0x3c0933ca
kind: POINTER
pointee_type_id: 0xda6429b7
}
pointer_reference {
+ id: 0x3c0cf46a
+ kind: POINTER
+ pointee_type_id: 0xda733736
+}
+pointer_reference {
id: 0x3c0e9e79
kind: POINTER
pointee_type_id: 0xda7a9f79
@@ -26792,6 +27654,11 @@ pointer_reference {
pointee_type_id: 0xdb44b469
}
pointer_reference {
+ id: 0x3c417e01
+ kind: POINTER
+ pointee_type_id: 0xdb451e9a
+}
+pointer_reference {
id: 0x3c41c19b
kind: POINTER
pointee_type_id: 0xdb47e0f3
@@ -26837,6 +27704,11 @@ pointer_reference {
pointee_type_id: 0xdb0ebdcd
}
pointer_reference {
+ id: 0x3c53e119
+ kind: POINTER
+ pointee_type_id: 0xdb0f62fb
+}
+pointer_reference {
id: 0x3c53eefd
kind: POINTER
pointee_type_id: 0xdb0f5d6b
@@ -26892,9 +27764,9 @@ pointer_reference {
pointee_type_id: 0xdbcfcd34
}
pointer_reference {
- id: 0x3c6958c4
+ id: 0x3c692b7e
kind: POINTER
- pointee_type_id: 0xdbe5858f
+ pointee_type_id: 0xdbe44b66
}
pointer_reference {
id: 0x3c6a6bbc
@@ -26927,11 +27799,6 @@ pointer_reference {
pointee_type_id: 0xd84f47eb
}
pointer_reference {
- id: 0x3c88afe7
- kind: POINTER
- pointee_type_id: 0xd8625902
-}
-pointer_reference {
id: 0x3c88bbfa
kind: POINTER
pointee_type_id: 0xd8620976
@@ -27037,6 +27904,11 @@ pointer_reference {
pointee_type_id: 0xd96df1ac
}
pointer_reference {
+ id: 0x3ccb45d9
+ kind: POINTER
+ pointee_type_id: 0xd96df1fa
+}
+pointer_reference {
id: 0x3ccbbab7
kind: POINTER
pointee_type_id: 0xd96e0c40
@@ -27097,6 +27969,11 @@ pointer_reference {
pointee_type_id: 0xde680909
}
pointer_reference {
+ id: 0x3d1364e9
+ kind: POINTER
+ pointee_type_id: 0xde0d753a
+}
+pointer_reference {
id: 0x3d1ec847
kind: POINTER
pointee_type_id: 0xde3bc780
@@ -27147,6 +28024,11 @@ pointer_reference {
pointee_type_id: 0xdf4d92db
}
pointer_reference {
+ id: 0x3d46e073
+ kind: POINTER
+ pointee_type_id: 0xdf5b6752
+}
+pointer_reference {
id: 0x3d4bf55f
kind: POINTER
pointee_type_id: 0xdf6f33e0
@@ -27157,11 +28039,6 @@ pointer_reference {
pointee_type_id: 0xdf713fb7
}
pointer_reference {
- id: 0x3d5133eb
- kind: POINTER
- pointee_type_id: 0xdf042930
-}
-pointer_reference {
id: 0x3d551c03
kind: POINTER
pointee_type_id: 0xdf149691
@@ -27242,6 +28119,11 @@ pointer_reference {
pointee_type_id: 0xdfba2774
}
pointer_reference {
+ id: 0x3d801074
+ kind: POINTER
+ pointee_type_id: 0xdc40a74d
+}
+pointer_reference {
id: 0x3d828cd9
kind: POINTER
pointee_type_id: 0xdc4ad5fb
@@ -27307,11 +28189,6 @@ pointer_reference {
pointee_type_id: 0xdcc24511
}
pointer_reference {
- id: 0x3da548f2
- kind: POINTER
- pointee_type_id: 0xdcd5c554
-}
-pointer_reference {
id: 0x3da9f5e9
kind: POINTER
pointee_type_id: 0xdce73138
@@ -27487,6 +28364,11 @@ pointer_reference {
pointee_type_id: 0xddfa054d
}
pointer_reference {
+ id: 0x3df0a7d3
+ kind: POINTER
+ pointee_type_id: 0xdd8279d0
+}
+pointer_reference {
id: 0x3df7e337
kind: POINTER
pointee_type_id: 0xdd9f6a40
@@ -27497,6 +28379,11 @@ pointer_reference {
pointee_type_id: 0xdda60846
}
pointer_reference {
+ id: 0x3dfac2ad
+ kind: POINTER
+ pointee_type_id: 0xddabec2b
+}
+pointer_reference {
id: 0x3e001c39
kind: POINTER
pointee_type_id: 0xd240967a
@@ -27587,11 +28474,21 @@ pointer_reference {
pointee_type_id: 0xd2e0ae36
}
pointer_reference {
+ id: 0x3e292ad1
+ kind: POINTER
+ pointee_type_id: 0xd2e44dd9
+}
+pointer_reference {
id: 0x3e29be7b
kind: POINTER
pointee_type_id: 0xd2e61f73
}
pointer_reference {
+ id: 0x3e2a5e3d
+ kind: POINTER
+ pointee_type_id: 0xd2e99e69
+}
+pointer_reference {
id: 0x3e2de599
kind: POINTER
pointee_type_id: 0xd2f770f8
@@ -27607,11 +28504,6 @@ pointer_reference {
pointee_type_id: 0xd298e888
}
pointer_reference {
- id: 0x3e3a4a9e
- kind: POINTER
- pointee_type_id: 0xd2a9cce7
-}
-pointer_reference {
id: 0x3e44cfd7
kind: POINTER
pointee_type_id: 0xd353d9c3
@@ -27662,11 +28554,6 @@ pointer_reference {
pointee_type_id: 0xd3ab17fd
}
pointer_reference {
- id: 0x3e7e0d52
- kind: POINTER
- pointee_type_id: 0xd3b8d3d4
-}
-pointer_reference {
id: 0x3e7f4a71
kind: POINTER
pointee_type_id: 0xd3bdcf5a
@@ -27687,6 +28574,11 @@ pointer_reference {
pointee_type_id: 0xd06de2a9
}
pointer_reference {
+ id: 0x3e8d7c9a
+ kind: POINTER
+ pointee_type_id: 0xd07514f5
+}
+pointer_reference {
id: 0x3e8e572f
kind: POINTER
pointee_type_id: 0xd079ba20
@@ -27877,9 +28769,9 @@ pointer_reference {
pointee_type_id: 0xd1f5399e
}
pointer_reference {
- id: 0x3ef473d4
+ id: 0x3eee6a0e
kind: POINTER
- pointee_type_id: 0xd19129ce
+ pointee_type_id: 0xd1f94ea7
}
pointer_reference {
id: 0x3ef55b88
@@ -27927,6 +28819,11 @@ pointer_reference {
pointee_type_id: 0xd649efa3
}
pointer_reference {
+ id: 0x3f055728
+ kind: POINTER
+ pointee_type_id: 0xd655ba3d
+}
+pointer_reference {
id: 0x3f063da2
kind: POINTER
pointee_type_id: 0xd6581015
@@ -27997,6 +28894,11 @@ pointer_reference {
pointee_type_id: 0xd69f81c9
}
pointer_reference {
+ id: 0x3f387468
+ kind: POINTER
+ pointee_type_id: 0xd6a1373c
+}
+pointer_reference {
id: 0x3f3cd89a
kind: POINTER
pointee_type_id: 0xd6b384f7
@@ -28117,6 +29019,11 @@ pointer_reference {
pointee_type_id: 0xd41e888f
}
pointer_reference {
+ id: 0x3f985801
+ kind: POINTER
+ pointee_type_id: 0xd421869b
+}
+pointer_reference {
id: 0x3f9adc09
kind: POINTER
pointee_type_id: 0xd42b96b9
@@ -28177,11 +29084,21 @@ pointer_reference {
pointee_type_id: 0xd559247f
}
pointer_reference {
+ id: 0x3fca7642
+ kind: POINTER
+ pointee_type_id: 0xd5693f95
+}
+pointer_reference {
id: 0x3fd0b78c
kind: POINTER
pointee_type_id: 0xd50238af
}
pointer_reference {
+ id: 0x3fd547b8
+ kind: POINTER
+ pointee_type_id: 0xd515f87f
+}
+pointer_reference {
id: 0x3fdb8740
kind: POINTER
pointee_type_id: 0xd52efb9f
@@ -28582,6 +29499,11 @@ typedef {
referred_type_id: 0x0b690cd3
}
typedef {
+ id: 0x833830c5
+ name: "be128"
+ referred_type_id: 0x3857842d
+}
+typedef {
id: 0x117ba19a
name: "bh_end_io_t"
referred_type_id: 0x17592b81
@@ -28617,11 +29539,21 @@ typedef {
referred_type_id: 0xe62ebf07
}
typedef {
+ id: 0x1684c624
+ name: "blk_plug_cb_fn"
+ referred_type_id: 0x0c5168e8
+}
+typedef {
id: 0x3cc4e4dd
name: "blk_qc_t"
referred_type_id: 0x4585663f
}
typedef {
+ id: 0xa47a28f3
+ name: "blk_short_t"
+ referred_type_id: 0x914dbfdc
+}
+typedef {
id: 0x7be80061
name: "blk_status_t"
referred_type_id: 0x295c7202
@@ -28837,6 +29769,126 @@ typedef {
referred_type_id: 0xe83041c0
}
typedef {
+ id: 0xb8c84daf
+ name: "dio_iodone_t"
+ referred_type_id: 0x9f043139
+}
+typedef {
+ id: 0x30d045ac
+ name: "dio_submit_t"
+ referred_type_id: 0x15976e28
+}
+typedef {
+ id: 0x7722f5fe
+ name: "dm_busy_fn"
+ referred_type_id: 0x2e2f0b11
+}
+typedef {
+ id: 0x81034bb7
+ name: "dm_clone_and_map_request_fn"
+ referred_type_id: 0x2e323a43
+}
+typedef {
+ id: 0xec2f5289
+ name: "dm_ctr_fn"
+ referred_type_id: 0x2e6a357b
+}
+typedef {
+ id: 0x5833b757
+ name: "dm_dax_direct_access_fn"
+ referred_type_id: 0x20bba379
+}
+typedef {
+ id: 0xdbb955db
+ name: "dm_dax_recovery_write_fn"
+ referred_type_id: 0x2cb2c9fe
+}
+typedef {
+ id: 0xc272516a
+ name: "dm_dax_zero_page_range_fn"
+ referred_type_id: 0x2e133d23
+}
+typedef {
+ id: 0xdee852ab
+ name: "dm_dtr_fn"
+ referred_type_id: 0x0d6927be
+}
+typedef {
+ id: 0x72f27b5e
+ name: "dm_endio_fn"
+ referred_type_id: 0x2e3beeb2
+}
+typedef {
+ id: 0x5d27fec1
+ name: "dm_io_hints_fn"
+ referred_type_id: 0x0d52f144
+}
+typedef {
+ id: 0x4944b34e
+ name: "dm_iterate_devices_fn"
+ referred_type_id: 0x2eb464c1
+}
+typedef {
+ id: 0x7abd5475
+ name: "dm_map_fn"
+ referred_type_id: 0x2e3aa811
+}
+typedef {
+ id: 0x4a37c87b
+ name: "dm_message_fn"
+ referred_type_id: 0x2e6a35a0
+}
+typedef {
+ id: 0x540fc033
+ name: "dm_postsuspend_fn"
+ referred_type_id: 0x0d6927be
+}
+typedef {
+ id: 0xb5818a23
+ name: "dm_prepare_ioctl_fn"
+ referred_type_id: 0x2e2690ae
+}
+typedef {
+ id: 0xcd86b17c
+ name: "dm_preresume_fn"
+ referred_type_id: 0x2e2f0b11
+}
+typedef {
+ id: 0xeab0ac41
+ name: "dm_presuspend_fn"
+ referred_type_id: 0x0d6927be
+}
+typedef {
+ id: 0xa3284d98
+ name: "dm_presuspend_undo_fn"
+ referred_type_id: 0x0d6927be
+}
+typedef {
+ id: 0x1ce28cf1
+ name: "dm_release_clone_request_fn"
+ referred_type_id: 0x0f65ebe2
+}
+typedef {
+ id: 0xb0c08c5a
+ name: "dm_report_zones_fn"
+ referred_type_id: 0x2e157919
+}
+typedef {
+ id: 0xabcaeaec
+ name: "dm_request_endio_fn"
+ referred_type_id: 0x2e360c76
+}
+typedef {
+ id: 0x77a6dd29
+ name: "dm_resume_fn"
+ referred_type_id: 0x0d6927be
+}
+typedef {
+ id: 0xba528163
+ name: "dm_status_fn"
+ referred_type_id: 0x0d599e4a
+}
+typedef {
id: 0xe02e14d6
name: "dma_addr_t"
referred_type_id: 0x92233392
@@ -28977,6 +30029,11 @@ typedef {
referred_type_id: 0x06afdad0
}
typedef {
+ id: 0x98f2559e
+ name: "get_block_t"
+ referred_type_id: 0x982488f7
+}
+typedef {
id: 0x244afa25
name: "gfn_t"
referred_type_id: 0x92233392
@@ -28992,11 +30049,6 @@ typedef {
referred_type_id: 0x012a99e5
}
typedef {
- id: 0x1b4ba19a
- name: "gpa_t"
- referred_type_id: 0x92233392
-}
-typedef {
id: 0xa98dedee
name: "gro_result_t"
referred_type_id: 0xcc8a47b3
@@ -29027,6 +30079,16 @@ typedef {
referred_type_id: 0x92233392
}
typedef {
+ id: 0xd57eb7ba
+ name: "initxattrs"
+ referred_type_id: 0x2c7fb451
+}
+typedef {
+ id: 0xee72cbfc
+ name: "ino_t"
+ referred_type_id: 0x21d43a7b
+}
+typedef {
id: 0x7e8f5c14
name: "int32"
referred_type_id: 0xe62ebf07
@@ -29067,6 +30129,11 @@ typedef {
referred_type_id: 0x2f184276
}
typedef {
+ id: 0x0b098126
+ name: "irq_cpustat_t"
+ referred_type_id: 0x3b85198b
+}
+typedef {
id: 0xb0c2eb21
name: "irq_flow_handler_t"
referred_type_id: 0x0d82bfbc
@@ -29097,6 +30164,11 @@ typedef {
referred_type_id: 0x4585663f
}
typedef {
+ id: 0x9ae406d4
+ name: "iterate_devices_callout_fn"
+ referred_type_id: 0x2e3f95bc
+}
+typedef {
id: 0xc6154084
name: "iw_handler"
referred_type_id: 0x2efa9e52
@@ -29197,16 +30269,6 @@ typedef {
referred_type_id: 0x5db53aa1
}
typedef {
- id: 0x7eadb465
- name: "kvm_pgtable_force_pte_cb_t"
- referred_type_id: 0x3c88afe7
-}
-typedef {
- id: 0xf2ecf779
- name: "kvm_pgtable_pte_is_counted_cb_t"
- referred_type_id: 0x331e2c82
-}
-typedef {
id: 0x6ee0bcff
name: "kvm_pte_t"
referred_type_id: 0x92233392
@@ -29457,11 +30519,6 @@ typedef {
referred_type_id: 0x763389c7
}
typedef {
- id: 0x16864222
- name: "pkvm_handle_t"
- referred_type_id: 0x4585663f
-}
-typedef {
id: 0xf017819f
name: "pm_message_t"
referred_type_id: 0x4eef2f1a
@@ -29962,6 +31019,11 @@ typedef {
referred_type_id: 0x2da051ab
}
typedef {
+ id: 0x34e17987
+ name: "status_type_t"
+ referred_type_id: 0x42178190
+}
+typedef {
id: 0x6c15168b
name: "substring_t"
referred_type_id: 0x279cfd35
@@ -30192,6 +31254,11 @@ typedef {
referred_type_id: 0x0b526877
}
typedef {
+ id: 0x9de445fa
+ name: "v4l2_check_dv_timings_fnc"
+ referred_type_id: 0xf2553153
+}
+typedef {
id: 0x7c355df7
name: "v4l2_ctrl_notify_fnc"
referred_type_id: 0x0def8d1d
@@ -30302,6 +31369,11 @@ typedef {
referred_type_id: 0x4585663f
}
typedef {
+ id: 0xa7efd65a
+ name: "xa_update_node_t"
+ referred_type_id: 0x0d6c28a3
+}
+typedef {
id: 0x313397f7
name: "xfrm_address_t"
referred_type_id: 0x6e8ae78e
@@ -30347,6 +31419,11 @@ qualified {
qualified_type_id: 0x70d15e47
}
qualified {
+ id: 0xc035887a
+ qualifier: CONST
+ qualified_type_id: 0x70919762
+}
+qualified {
id: 0xc04414ae
qualifier: CONST
qualified_type_id: 0x7157e430
@@ -30507,6 +31584,11 @@ qualified {
qualified_type_id: 0x6101d583
}
qualified {
+ id: 0xc48136af
+ qualifier: CONST
+ qualified_type_id: 0x62436c35
+}
+qualified {
id: 0xc48494d4
qualifier: CONST
qualified_type_id: 0x6255e5da
@@ -30537,24 +31619,19 @@ qualified {
qualified_type_id: 0x64a438fc
}
qualified {
- id: 0xc54a795e
- qualifier: CONST
- qualified_type_id: 0x656e53f1
-}
-qualified {
id: 0xc5640d2a
qualifier: CONST
qualified_type_id: 0x65d78220
}
qualified {
- id: 0xc56f0588
+ id: 0xc5725d9a
qualifier: CONST
- qualified_type_id: 0x65fba0a9
+ qualified_type_id: 0x658ec0e0
}
qualified {
- id: 0xc5725d9a
+ id: 0xc574d697
qualifier: CONST
- qualified_type_id: 0x658ec0e0
+ qualified_type_id: 0x6594ecd4
}
qualified {
id: 0xc596e113
@@ -30582,11 +31659,26 @@ qualified {
qualified_type_id: 0x67ce5d5b
}
qualified {
+ id: 0xc5ec1fdd
+ qualifier: CONST
+ qualified_type_id: 0x67f7c9ff
+}
+qualified {
id: 0xc5f7c32f
qualifier: CONST
qualified_type_id: 0x6798ba36
}
qualified {
+ id: 0xc6100647
+ qualifier: CONST
+ qualified_type_id: 0x6807af97
+}
+qualified {
+ id: 0xc62583b0
+ qualifier: CONST
+ qualified_type_id: 0x68d1b84a
+}
+qualified {
id: 0xc6265fbd
qualifier: CONST
qualified_type_id: 0x68dec87d
@@ -30687,6 +31779,11 @@ qualified {
qualified_type_id: 0x6e373489
}
qualified {
+ id: 0xc7c85b01
+ qualifier: CONST
+ qualified_type_id: 0x6f66da8d
+}
+qualified {
id: 0xc7dbc4f1
qualifier: CONST
qualified_type_id: 0x6f28a54f
@@ -30887,6 +31984,11 @@ qualified {
qualified_type_id: 0x5d8fb74a
}
qualified {
+ id: 0xcb74ab84
+ qualifier: CONST
+ qualified_type_id: 0x5d95189a
+}
+qualified {
id: 0xcb987dd0
qualifier: CONST
qualified_type_id: 0x5e2641cb
@@ -31127,6 +32229,11 @@ qualified {
qualified_type_id: 0x30a49fb4
}
qualified {
+ id: 0xd07514f5
+ qualifier: CONST
+ qualified_type_id: 0x3193e55d
+}
+qualified {
id: 0xd08a0c68
qualifier: CONST
qualified_type_id: 0x326f872a
@@ -31277,11 +32384,6 @@ qualified {
qualified_type_id: 0x399c459b
}
qualified {
- id: 0xd2a9cce7
- qualifier: CONST
- qualified_type_id: 0x3ae08515
-}
-qualified {
id: 0xd2d7132a
qualifier: CONST
qualified_type_id: 0x3b1bfa21
@@ -31397,6 +32499,11 @@ qualified {
qualified_type_id: 0x244f5434
}
qualified {
+ id: 0xd515f87f
+ qualifier: CONST
+ qualified_type_id: 0x24105774
+}
+qualified {
id: 0xd52ecd52
qualifier: CONST
qualified_type_id: 0x24fc83c0
@@ -31447,6 +32554,11 @@ qualified {
qualified_type_id: 0x29d16967
}
qualified {
+ id: 0xd6a1373c
+ qualifier: CONST
+ qualified_type_id: 0x2ac36a79
+}
+qualified {
id: 0xd6b384f7
qualifier: CONST
qualified_type_id: 0x2a89a555
@@ -31652,6 +32764,11 @@ qualified {
qualified_type_id: 0x19d71054
}
qualified {
+ id: 0xda733736
+ qualifier: CONST
+ qualified_type_id: 0x198b6a50
+}
+qualified {
id: 0xda7a9f79
qualifier: CONST
qualified_type_id: 0x19adcb6c
@@ -31677,6 +32794,11 @@ qualified {
qualified_type_id: 0x1c7ac324
}
qualified {
+ id: 0xdb0f62fb
+ qualifier: CONST
+ qualified_type_id: 0x1c7a3d65
+}
+qualified {
id: 0xdb10d97a
qualifier: CONST
qualified_type_id: 0x1c04d361
@@ -31882,6 +33004,11 @@ qualified {
qualified_type_id: 0x07afa3be
}
qualified {
+ id: 0xde0d753a
+ qualifier: CONST
+ qualified_type_id: 0x08726260
+}
+qualified {
id: 0xde3bc780
qualifier: CONST
qualified_type_id: 0x08a8a88b
@@ -31937,6 +33064,11 @@ qualified {
qualified_type_id: 0x0d6c22fa
}
qualified {
+ id: 0xdf5b6752
+ qualifier: CONST
+ qualified_type_id: 0x0d2a2bc0
+}
+qualified {
id: 0xdf6f33e0
qualifier: CONST
qualified_type_id: 0x0dfb7909
@@ -32127,6 +33259,11 @@ qualified {
qualified_type_id: 0xfa2455af
}
qualified {
+ id: 0xe2b500a6
+ qualifier: CONST
+ qualified_type_id: 0xfa93b413
+}
+qualified {
id: 0xe2cebd77
qualifier: CONST
qualified_type_id: 0xfb7d4357
@@ -32157,6 +33294,11 @@ qualified {
qualified_type_id: 0xfde6fb43
}
qualified {
+ id: 0xe3779d93
+ qualifier: CONST
+ qualified_type_id: 0xfd99c0c6
+}
+qualified {
id: 0xe3791aa0
qualifier: CONST
qualified_type_id: 0xfda3dc09
@@ -32272,6 +33414,11 @@ qualified {
qualified_type_id: 0xe6f6bb7d
}
qualified {
+ id: 0xe5b47ef3
+ qualifier: CONST
+ qualified_type_id: 0xe6964d46
+}
+qualified {
id: 0xe5d16cd3
qualifier: CONST
qualified_type_id: 0xe70205c6
@@ -32442,6 +33589,11 @@ qualified {
qualified_type_id: 0xd3c80119
}
qualified {
+ id: 0xe8ffd957
+ qualifier: CONST
+ qualified_type_id: 0xd3b8d3d4
+}
+qualified {
id: 0xe9164f81
qualifier: CONST
qualified_type_id: 0xd41e888f
@@ -32567,6 +33719,11 @@ qualified {
qualified_type_id: 0xded5be7b
}
qualified {
+ id: 0xebba0fee
+ qualifier: CONST
+ qualified_type_id: 0xdeaf8933
+}
+qualified {
id: 0xebc0e0d9
qualifier: CONST
qualified_type_id: 0xdf4435ed
@@ -32672,6 +33829,11 @@ qualified {
qualified_type_id: 0xc460028a
}
qualified {
+ id: 0xed2778f4
+ qualifier: CONST
+ qualified_type_id: 0xc4da5559
+}
+qualified {
id: 0xed32e285
qualifier: CONST
qualified_type_id: 0xc48c3c9d
@@ -32687,11 +33849,6 @@ qualified {
qualified_type_id: 0xc5d78b03
}
qualified {
- id: 0xed6c3fa4
- qualifier: CONST
- qualified_type_id: 0xc5f74818
-}
-qualified {
id: 0xed856aa8
qualifier: CONST
qualified_type_id: 0xc6521c28
@@ -32777,6 +33934,11 @@ qualified {
qualified_type_id: 0xcaab19b4
}
qualified {
+ id: 0xeec6674e
+ qualifier: CONST
+ qualified_type_id: 0xcb5e2bb0
+}
+qualified {
id: 0xeee127c5
qualifier: CONST
qualified_type_id: 0xcbc3299e
@@ -32942,6 +34104,11 @@ qualified {
qualified_type_id: 0xbe067d4b
}
qualified {
+ id: 0xf3df60e5
+ qualifier: CONST
+ qualified_type_id: 0xbf3a351e
+}
+qualified {
id: 0xf3e17637
qualifier: CONST
qualified_type_id: 0xbfc26e57
@@ -32972,6 +34139,11 @@ qualified {
qualified_type_id: 0xa0bcedf5
}
qualified {
+ id: 0xf4761bc8
+ qualifier: CONST
+ qualified_type_id: 0xa19fd9aa
+}
+qualified {
id: 0xf4a306a1
qualifier: CONST
qualified_type_id: 0xa2cbac0e
@@ -32997,11 +34169,6 @@ qualified {
qualified_type_id: 0xa4cdaf1d
}
qualified {
- id: 0xf5256b58
- qualifier: CONST
- qualified_type_id: 0xa4d21be9
-}
-qualified {
id: 0xf52b12b6
qualifier: CONST
qualified_type_id: 0xa4ebfc51
@@ -33052,11 +34219,6 @@ qualified {
qualified_type_id: 0xa687d0b4
}
qualified {
- id: 0xf5b28b19
- qualifier: CONST
- qualified_type_id: 0xa68d9aed
-}
-qualified {
id: 0xf5d07691
qualifier: CONST
qualified_type_id: 0xa7066cce
@@ -33162,6 +34324,11 @@ qualified {
qualified_type_id: 0xae5a9933
}
qualified {
+ id: 0xf7f2fa8a
+ qualifier: CONST
+ qualified_type_id: 0xaf8c5ca0
+}
+qualified {
id: 0xf824f490
qualifier: CONST
qualified_type_id: 0x90d464ca
@@ -33197,6 +34364,11 @@ qualified {
qualified_type_id: 0x91b5a647
}
qualified {
+ id: 0xf87f5460
+ qualifier: CONST
+ qualified_type_id: 0x91bae70a
+}
+qualified {
id: 0xf8992146
qualifier: CONST
qualified_type_id: 0x92233392
@@ -33382,6 +34554,11 @@ qualified {
qualified_type_id: 0x9f3af57a
}
qualified {
+ id: 0xfbf10300
+ qualifier: CONST
+ qualified_type_id: 0x9f83ba8a
+}
+qualified {
id: 0xfbf6cea8
qualifier: CONST
qualified_type_id: 0x9f9c8c2b
@@ -33427,6 +34604,11 @@ qualified {
qualified_type_id: 0x834f5c57
}
qualified {
+ id: 0xfcdfe193
+ qualifier: CONST
+ qualified_type_id: 0x833830c5
+}
+qualified {
id: 0xfd03f127
qualifier: CONST
qualified_type_id: 0x84487217
@@ -33591,6 +34773,11 @@ qualified {
qualifier: CONST
qualified_type_id: 0x8f902d54
}
+qualified {
+ id: 0xfff9ca03
+ qualifier: CONST
+ qualified_type_id: 0x8fa09e85
+}
primitive {
id: 0x15053314
name: "double"
@@ -33681,11 +34868,6 @@ array {
element_type_id: 0x384f7d7c
}
array {
- id: 0x01e90d51
- number_of_elements: 64
- element_type_id: 0xc9082b19
-}
-array {
id: 0x01ef5f77
number_of_elements: 80
element_type_id: 0x384f7d7c
@@ -34281,6 +35463,11 @@ array {
element_type_id: 0x295c7202
}
array {
+ id: 0x3a8e7b26
+ number_of_elements: 3
+ element_type_id: 0xa12e384a
+}
+array {
id: 0x3b24b1ed
number_of_elements: 20
element_type_id: 0xb3e7bac9
@@ -34406,6 +35593,11 @@ array {
element_type_id: 0xbcedc070
}
array {
+ id: 0x439cf6d8
+ number_of_elements: 16
+ element_type_id: 0x3ebcd127
+}
+array {
id: 0x43acdd98
number_of_elements: 32
element_type_id: 0x5d8155a5
@@ -34436,11 +35628,6 @@ array {
element_type_id: 0xb3e7bac9
}
array {
- id: 0x4449c48b
- number_of_elements: 32
- element_type_id: 0x421531e8
-}
-array {
id: 0x4472656b
number_of_elements: 16
element_type_id: 0x21069feb
@@ -34456,11 +35643,6 @@ array {
element_type_id: 0xa047de54
}
array {
- id: 0x44c5e79a
- number_of_elements: 32
- element_type_id: 0x4025bdaf
-}
-array {
id: 0x44ef98e3
number_of_elements: 16
element_type_id: 0x237169c8
@@ -34536,11 +35718,6 @@ array {
element_type_id: 0x99300838
}
array {
- id: 0x4b27ac3d
- number_of_elements: 16
- element_type_id: 0x1c51bab0
-}
-array {
id: 0x4b395ad9
number_of_elements: 256
element_type_id: 0xcb71b8cb
@@ -34576,11 +35753,6 @@ array {
element_type_id: 0xc9082b19
}
array {
- id: 0x4c3e1687
- number_of_elements: 2
- element_type_id: 0x825d5993
-}
-array {
id: 0x4c4654d5
number_of_elements: 7
element_type_id: 0x92233392
@@ -34711,11 +35883,6 @@ array {
element_type_id: 0x92233392
}
array {
- id: 0x53bf0b06
- number_of_elements: 32
- element_type_id: 0x1dce0fdd
-}
-array {
id: 0x5408a5f2
number_of_elements: 2
element_type_id: 0xe2879445
@@ -34861,9 +36028,9 @@ array {
element_type_id: 0x21069feb
}
array {
- id: 0x5d2762c3
- number_of_elements: 2
- element_type_id: 0xc6388883
+ id: 0x5d529b1e
+ number_of_elements: 16
+ element_type_id: 0x4585663f
}
array {
id: 0x5e18785f
@@ -34936,6 +36103,11 @@ array {
element_type_id: 0x295c7202
}
array {
+ id: 0x62a5e001
+ number_of_elements: 13
+ element_type_id: 0x92233392
+}
+array {
id: 0x62e6d4e3
number_of_elements: 34
element_type_id: 0xb3e7bac9
@@ -35141,11 +36313,6 @@ array {
element_type_id: 0x064d6086
}
array {
- id: 0x6d4372c7
- number_of_elements: 2
- element_type_id: 0x07a8c893
-}
-array {
id: 0x6d472730
number_of_elements: 32
element_type_id: 0xe62ebf07
@@ -35201,21 +36368,11 @@ array {
element_type_id: 0x1e18ac15
}
array {
- id: 0x6fb0151f
- number_of_elements: 32
- element_type_id: 0xedf277ba
-}
-array {
id: 0x6fde7229
number_of_elements: 2
element_type_id: 0x0ddccb29
}
array {
- id: 0x70444415
- number_of_elements: 32
- element_type_id: 0x92233392
-}
-array {
id: 0x70bb96a6
number_of_elements: 7
element_type_id: 0x61d43a5c
@@ -35251,6 +36408,11 @@ array {
element_type_id: 0x2eab5b8a
}
array {
+ id: 0x729479be
+ number_of_elements: 2
+ element_type_id: 0x78f4e574
+}
+array {
id: 0x7349866a
number_of_elements: 49
element_type_id: 0xfc0e1dbd
@@ -35321,11 +36483,6 @@ array {
element_type_id: 0x6bc0e8a0
}
array {
- id: 0x774f5f7f
- number_of_elements: 16
- element_type_id: 0xedf277ba
-}
-array {
id: 0x77f6971e
number_of_elements: 2
element_type_id: 0x6d7f5ff6
@@ -35531,6 +36688,11 @@ array {
element_type_id: 0x3fcbf304
}
array {
+ id: 0x8483d98a
+ number_of_elements: 6
+ element_type_id: 0x948a2888
+}
+array {
id: 0x84f80ecf
number_of_elements: 6
element_type_id: 0x9565759f
@@ -35711,9 +36873,9 @@ array {
element_type_id: 0x0ab21434
}
array {
- id: 0x8f5ceaee
- number_of_elements: 4
- element_type_id: 0x0c47e7d1
+ id: 0x8fb3c5ee
+ number_of_elements: 1
+ element_type_id: 0xe9e88d93
}
array {
id: 0x8fc9368a
@@ -35726,11 +36888,6 @@ array {
element_type_id: 0x0ee0f933
}
array {
- id: 0x904f12e1
- number_of_elements: 9
- element_type_id: 0xedf277ba
-}
-array {
id: 0x91412a6e
number_of_elements: 1
element_type_id: 0x92233392
@@ -35796,11 +36953,6 @@ array {
element_type_id: 0xdce3c92e
}
array {
- id: 0x9819cf84
- number_of_elements: 1
- element_type_id: 0xb740a439
-}
-array {
id: 0x982afc69
number_of_elements: 6
element_type_id: 0xe62ebf07
@@ -35821,11 +36973,6 @@ array {
element_type_id: 0x58757be8
}
array {
- id: 0x9addce46
- number_of_elements: 6
- element_type_id: 0xedf277ba
-}
-array {
id: 0x9b2d4673
number_of_elements: 4
element_type_id: 0x5d8155a5
@@ -36086,11 +37233,6 @@ array {
element_type_id: 0xb3e7bac9
}
array {
- id: 0xae993a3b
- number_of_elements: 1
- element_type_id: 0x6d4372c7
-}
-array {
id: 0xaf023c73
number_of_elements: 1
element_type_id: 0x6b2f6be6
@@ -36176,6 +37318,11 @@ array {
element_type_id: 0xe62ebf07
}
array {
+ id: 0xb637307e
+ number_of_elements: 4
+ element_type_id: 0xe9e88d93
+}
+array {
id: 0xb6bc1f4d
number_of_elements: 17
element_type_id: 0xc9082b19
@@ -36186,11 +37333,6 @@ array {
element_type_id: 0x5d8155a5
}
array {
- id: 0xb717646a
- number_of_elements: 1
- element_type_id: 0x0b7a0b83
-}
-array {
id: 0xb7237aa3
number_of_elements: 1
element_type_id: 0x0baa70a7
@@ -36201,11 +37343,6 @@ array {
element_type_id: 0xedf277ba
}
array {
- id: 0xb740a439
- number_of_elements: 988
- element_type_id: 0x6720d32f
-}
-array {
id: 0xb77dc255
number_of_elements: 31
element_type_id: 0xedf277ba
@@ -36476,6 +37613,10 @@ array {
element_type_id: 0x30887d17
}
array {
+ id: 0xc82f70f4
+ element_type_id: 0x305bf810
+}
+array {
id: 0xc8c766a0
number_of_elements: 8
element_type_id: 0xb3e7bac9
@@ -36519,6 +37660,10 @@ array {
element_type_id: 0x295c7202
}
array {
+ id: 0xcb703345
+ element_type_id: 0x3d26f6d4
+}
+array {
id: 0xcbd8574f
element_type_id: 0x3f8766fd
}
@@ -36650,10 +37795,6 @@ array {
element_type_id: 0x384f7d7c
}
array {
- id: 0xd2fe57e5
- element_type_id: 0x5b1f6457
-}
-array {
id: 0xd3067a59
number_of_elements: 8
element_type_id: 0xdce3c92e
@@ -36667,10 +37808,6 @@ array {
element_type_id: 0x5d8155a5
}
array {
- id: 0xd39aff0d
- element_type_id: 0x5e8dc7f4
-}
-array {
id: 0xd3d96d30
number_of_elements: 8
element_type_id: 0xdf9f948b
@@ -36737,11 +37874,6 @@ array {
element_type_id: 0x77ee5e6d
}
array {
- id: 0xda277458
- number_of_elements: 15
- element_type_id: 0xb3e7bac9
-}
-array {
id: 0xda50e95d
number_of_elements: 42
element_type_id: 0x29b77961
@@ -36810,6 +37942,10 @@ array {
element_type_id: 0x6c1b2db0
}
array {
+ id: 0xdf70f6ef
+ element_type_id: 0x6d25e07f
+}
+array {
id: 0xdfed0371
element_type_id: 0x6f523604
}
@@ -37155,6 +38291,11 @@ array {
element_type_id: 0x384f7d7c
}
array {
+ id: 0xf95ab7ac
+ number_of_elements: 15
+ element_type_id: 0x3e10b518
+}
+array {
id: 0xf95fb1e4
number_of_elements: 8
element_type_id: 0x7584e7da
@@ -37207,6 +38348,10 @@ array {
element_type_id: 0x5d8155a5
}
array {
+ id: 0xfca4258b
+ element_type_id: 0xe276adef
+}
+array {
id: 0xfd17183f
element_type_id: 0xe4ba5b3d
}
@@ -37248,10 +38393,6 @@ array {
number_of_elements: 5
element_type_id: 0x5a38311c
}
-array {
- id: 0xffdb6969
- element_type_id: 0xef8b9e67
-}
member {
id: 0x205fa3df
type_id: 0x0e50ff6f
@@ -37332,10 +38473,6 @@ member {
type_id: 0x05fd3859
}
member {
- id: 0x22c0fbbc
- type_id: 0x042d9ee3
-}
-member {
id: 0x22ce0593
type_id: 0x0416665f
}
@@ -37348,10 +38485,6 @@ member {
type_id: 0x0312ab60
}
member {
- id: 0x233f54d1
- type_id: 0x03d32356
-}
-member {
id: 0x2380a48f
type_id: 0x012ce22f
}
@@ -37472,6 +38605,10 @@ member {
type_id: 0x14b5a454
}
member {
+ id: 0x27000c61
+ type_id: 0x132e4197
+}
+member {
id: 0x27031642
type_id: 0x13222919
}
@@ -37639,10 +38776,6 @@ member {
type_id: 0x3a2e44f7
}
member {
- id: 0x2d6cb85c
- type_id: 0x3a9c9162
-}
-member {
id: 0x2d71506c
type_id: 0x3aeb31a3
}
@@ -37721,6 +38854,11 @@ member {
offset: 1280
}
member {
+ id: 0x300b2d2f
+ type_id: 0x4f02e8cc
+ offset: 512
+}
+member {
id: 0x300b75af
type_id: 0x4f03a6ae
}
@@ -37730,6 +38868,11 @@ member {
offset: 192
}
member {
+ id: 0x3024ec51
+ type_id: 0x4fbdc803
+ offset: 28800
+}
+member {
id: 0x302f914f
type_id: 0x4f903dda
offset: 704
@@ -37799,11 +38942,6 @@ member {
offset: 3584
}
member {
- id: 0x30c18aff
- type_id: 0x4c287de0
- offset: 96
-}
-member {
id: 0x30d0761f
type_id: 0x4c6fa86e
}
@@ -37871,6 +39009,11 @@ member {
type_id: 0x496df688
}
member {
+ id: 0x31a5da6f
+ type_id: 0x49b90a29
+ offset: 59264
+}
+member {
id: 0x31aa1057
type_id: 0x49861740
offset: 96
@@ -37901,6 +39044,11 @@ member {
offset: 192
}
member {
+ id: 0x31fb35e2
+ type_id: 0x48c28092
+ offset: 128
+}
+member {
id: 0x321ecf49
type_id: 0x47554d36
}
@@ -37962,11 +39110,6 @@ member {
offset: 512
}
member {
- id: 0x32f872a3
- type_id: 0x44cf9d95
- offset: 128
-}
-member {
id: 0x32f92d43
type_id: 0x44cad962
offset: 1024
@@ -38157,11 +39300,6 @@ member {
offset: 64
}
member {
- id: 0x345b10fd
- type_id: 0x5e422cfb
- offset: 320
-}
-member {
id: 0x345b12e5
type_id: 0x5e4227fb
offset: 1024
@@ -38214,11 +39352,6 @@ member {
type_id: 0x5dafba4f
}
member {
- id: 0x34a3e933
- type_id: 0x5da1f3d6
- offset: 128
-}
-member {
id: 0x34a73897
type_id: 0x5db28e31
offset: 1024
@@ -38281,21 +39414,6 @@ member {
type_id: 0x5ba545d0
}
member {
- id: 0x353b064f
- type_id: 0x5bc27631
- offset: 320
-}
-member {
- id: 0x353d48f5
- type_id: 0x5bdb70e0
- offset: 192
-}
-member {
- id: 0x3551435a
- type_id: 0x5a6b6efc
- offset: 64
-}
-member {
id: 0x3568359b
type_id: 0x5a8e8177
offset: 128
@@ -38363,6 +39481,10 @@ member {
offset: 840
}
member {
+ id: 0x36752b74
+ type_id: 0x56faddc1
+}
+member {
id: 0x36961302
type_id: 0x557609c1
offset: 1088
@@ -38418,16 +39540,6 @@ member {
offset: 64
}
member {
- id: 0x36fb8f0a
- type_id: 0x54c04e96
- offset: 256
-}
-member {
- id: 0x371515be
- type_id: 0x537a3f0f
- offset: 640
-}
-member {
id: 0x3726cc57
type_id: 0x53b5414d
}
@@ -38478,11 +39590,6 @@ member {
type_id: 0x50eb577a
}
member {
- id: 0x37f52c8e
- type_id: 0x50fafc25
- offset: 66880
-}
-member {
id: 0x3801ddd5
type_id: 0x6f2909ad
offset: 832
@@ -38564,11 +39671,6 @@ member {
offset: 64
}
member {
- id: 0x398b7926
- type_id: 0x6903870d
- offset: 64
-}
-member {
id: 0x39a6859a
type_id: 0x69b475fe
offset: 64
@@ -38584,6 +39686,11 @@ member {
offset: 256
}
member {
+ id: 0x39d6d358
+ type_id: 0x6875099c
+ offset: 32
+}
+member {
id: 0x39e9b87f
type_id: 0x6888b6e5
offset: 128
@@ -38594,6 +39701,11 @@ member {
offset: 256
}
member {
+ id: 0x3a3b9c87
+ type_id: 0x67c0081f
+ offset: 1984
+}
+member {
id: 0x3a3e30f1
type_id: 0x67d69fb5
offset: 512
@@ -38673,10 +39785,6 @@ member {
offset: 64
}
member {
- id: 0x3b3d55bb
- type_id: 0x63db26fc
-}
-member {
id: 0x3b65917c
type_id: 0x62b835e0
}
@@ -38831,6 +39939,11 @@ member {
offset: 96
}
member {
+ id: 0x3c8c9122
+ type_id: 0x7d1c3635
+ offset: 256
+}
+member {
id: 0x3cac7aec
type_id: 0x7d9f9ba1
}
@@ -39011,11 +40124,6 @@ member {
offset: 1024
}
member {
- id: 0x3f0e6b4d
- type_id: 0x7317df8a
- offset: 256
-}
-member {
id: 0x3f155004
type_id: 0x737b0daa
offset: 2816
@@ -39128,10 +40236,6 @@ member {
type_id: 0x70763ce9
}
member {
- id: 0x3fee6444
- type_id: 0x7097e100
-}
-member {
id: 0x3ff2757d
type_id: 0x70e783e8
offset: 96
@@ -39548,12 +40652,6 @@ member {
type_id: 0x312fa971
}
member {
- id: 0xfc4129b1
- name: "____srcu_idx"
- type_id: 0x6720d32f
- offset: 352
-}
-member {
id: 0x36aedf4a
name: "__align"
type_id: 0x18bd6530
@@ -39623,6 +40721,12 @@ member {
offset: 16
}
member {
+ id: 0xf4a9b31e
+ name: "__data"
+ type_id: 0xd359db99
+ offset: 128
+}
+member {
id: 0xf4b20642
name: "__data"
type_id: 0xc8e4d7d1
@@ -39704,9 +40808,9 @@ member {
offset: 576
}
member {
- id: 0x983c1d18
+ id: 0x982c7c86
name: "__hyp_running_vcpu"
- type_id: 0x08dcfb76
+ type_id: 0x18bd6530
offset: 14528
}
member {
@@ -39715,6 +40819,12 @@ member {
type_id: 0x4585663f
}
member {
+ id: 0xed0c7bc2
+ name: "__ifi_pad"
+ type_id: 0x5d8155a5
+ offset: 8
+}
+member {
id: 0x1d90045d
name: "__iter_idx"
type_id: 0x33756485
@@ -39743,12 +40853,6 @@ member {
offset: 8
}
member {
- id: 0xf0778c7b
- name: "__memslots"
- type_id: 0xae993a3b
- offset: 960
-}
-member {
id: 0x12f2249e
name: "__multicast"
type_id: 0xb02b353a
@@ -39807,6 +40911,12 @@ member {
offset: 64
}
member {
+ id: 0x86165645
+ name: "__pad2"
+ type_id: 0x5d8155a5
+ offset: 120
+}
+member {
id: 0x86715b21
name: "__pad2"
type_id: 0x3a8cf6d8
@@ -40059,6 +41169,11 @@ member {
type_id: 0x61a74d47
}
member {
+ id: 0x8fa57542
+ name: "__softirq_pending"
+ type_id: 0x4585663f
+}
+member {
id: 0x11319dfd
name: "__stack"
type_id: 0x18bd6530
@@ -40168,6 +41283,20 @@ member {
offset: 384
}
member {
+ id: 0x370a9ced
+ name: "__unused_1"
+ type_id: 0xe8034002
+ offset: 448
+ bitsize: 7
+}
+member {
+ id: 0x8c5039ca
+ name: "__unused_2"
+ type_id: 0xe8034002
+ offset: 465
+ bitsize: 6
+}
+member {
id: 0x206928e2
name: "__use"
type_id: 0x6720d32f
@@ -40357,6 +41486,12 @@ member {
type_id: 0x3e10b518
}
member {
+ id: 0x3e75936d
+ name: "_net"
+ type_id: 0xb335d16f
+ offset: 3136
+}
+member {
id: 0x3e759921
name: "_net"
type_id: 0xb335d16f
@@ -40670,6 +41805,11 @@ member {
type_id: 0xb02b353a
}
member {
+ id: 0x80a3e3d3
+ name: "a"
+ type_id: 0x7877cd32
+}
+member {
id: 0x80f2085f
name: "a"
type_id: 0x299c4193
@@ -40768,12 +41908,6 @@ member {
offset: 32
}
member {
- id: 0xb41bc738
- name: "abi_rev"
- type_id: 0xc9082b19
- offset: 1152
-}
-member {
id: 0x370a3acc
name: "abort"
type_id: 0xedf277ba
@@ -41078,10 +42212,10 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0xe71cc270
+ id: 0xe71cc1d9
name: "accept_list"
type_id: 0xd3c80119
- offset: 29056
+ offset: 29440
}
member {
id: 0x09a04ae8
@@ -41228,12 +42362,6 @@ member {
offset: 384
}
member {
- id: 0xcb7a7a49
- name: "access_flags"
- type_id: 0x4585663f
- offset: 96
-}
-member {
id: 0x4d798a84
name: "access_memory"
type_id: 0x2f8442f1
@@ -41246,6 +42374,12 @@ member {
offset: 19520
}
member {
+ id: 0xc0138ce8
+ name: "accessed"
+ type_id: 0x4585663f
+ offset: 608
+}
+member {
id: 0x6311fd99
name: "accessory"
type_id: 0x22c6e8be
@@ -41282,6 +42416,13 @@ member {
offset: 2432
}
member {
+ id: 0x1a19769d
+ name: "accounts_remapped_io"
+ type_id: 0x6d7f5ff6
+ offset: 580
+ bitsize: 1
+}
+member {
id: 0x542cf718
name: "acct"
type_id: 0x7a7fc5d0
@@ -41448,6 +42589,11 @@ member {
offset: 688
}
member {
+ id: 0x7980c676
+ name: "acl_addr"
+ type_id: 0x6d25e07f
+}
+member {
id: 0xf17c8f4c
name: "acl_cnt"
type_id: 0x4585663f
@@ -41460,6 +42606,12 @@ member {
offset: 128
}
member {
+ id: 0xa102d1d4
+ name: "acl_ifindex"
+ type_id: 0x6720d32f
+ offset: 128
+}
+member {
id: 0xdc1b3211
name: "acl_last_tx"
type_id: 0x33756485
@@ -41472,6 +42624,12 @@ member {
offset: 13152
}
member {
+ id: 0x23f246a8
+ name: "acl_next"
+ type_id: 0x01ae5751
+ offset: 192
+}
+member {
id: 0xe08e16a4
name: "acl_num"
type_id: 0x4585663f
@@ -41496,12 +42654,6 @@ member {
offset: 128
}
member {
- id: 0x1cafacfd
- name: "acpi_cpuid"
- type_id: 0x33756485
- offset: 4416
-}
-member {
id: 0x4ff7664a
name: "acpi_match"
type_id: 0x3d0a3be5
@@ -41800,12 +42952,6 @@ member {
type_id: 0x6d7f5ff6
}
member {
- id: 0x224f240b
- name: "active"
- type_id: 0x6d7f5ff6
- offset: 496
-}
-member {
id: 0x224f2849
name: "active"
type_id: 0x6d7f5ff6
@@ -42097,12 +43243,6 @@ member {
offset: 128
}
member {
- id: 0x8f0fcc44
- name: "active_source"
- type_id: 0x295c7202
- offset: 680
-}
-member {
id: 0xfa0d6c00
name: "active_spin_lock"
type_id: 0xc9082b19
@@ -42428,11 +43568,6 @@ member {
offset: 192
}
member {
- id: 0x243694c7
- name: "addr"
- type_id: 0x1b4ba19a
-}
-member {
id: 0x2440fa86
name: "addr"
type_id: 0x6d25e07f
@@ -42537,6 +43672,12 @@ member {
offset: 256
}
member {
+ id: 0x24cfa4f0
+ name: "addr"
+ type_id: 0xe276adef
+ offset: 32
+}
+member {
id: 0x24d1edc6
name: "addr"
type_id: 0xfc320bc5
@@ -42582,6 +43723,12 @@ member {
offset: 256
}
member {
+ id: 0x09692cc4
+ name: "addr2sockaddr"
+ type_id: 0x0f56bda3
+ offset: 576
+}
+member {
id: 0x29cfb070
name: "addr2str"
type_id: 0x2edacd6a
@@ -42764,6 +43911,12 @@ member {
offset: 512
}
member {
+ id: 0x30e26822
+ name: "address"
+ type_id: 0x33756485
+ offset: 256
+}
+member {
id: 0x30e26c68
name: "address"
type_id: 0x33756485
@@ -42782,6 +43935,12 @@ member {
offset: 4864
}
member {
+ id: 0x2bbb15d8
+ name: "address_device"
+ type_id: 0x2faaffbd
+ offset: 512
+}
+member {
id: 0x2bbb1733
name: "address_device"
type_id: 0x2faaffbd
@@ -42986,16 +44145,16 @@ member {
offset: 912
}
member {
- id: 0x71a81669
+ id: 0x71a815c7
name: "adv_data"
type_id: 0x53171385
- offset: 38736
+ offset: 39120
}
member {
- id: 0x5d9e9ce5
+ id: 0x5d9e95ae
name: "adv_data_len"
type_id: 0xb3e7bac9
- offset: 40744
+ offset: 41128
}
member {
id: 0xb2cd9d5d
@@ -43016,40 +44175,40 @@ member {
offset: 384
}
member {
- id: 0x003ea1c2
+ id: 0x003ea69f
name: "adv_instance_cnt"
type_id: 0x4585663f
- offset: 44928
+ offset: 45312
}
member {
- id: 0xaa882e6d
+ id: 0xaa882ed4
name: "adv_instance_expire"
type_id: 0xf1159c31
- offset: 44992
+ offset: 45376
}
member {
- id: 0x030b0d19
+ id: 0x030b0ab6
name: "adv_instance_timeout"
type_id: 0xe8034002
- offset: 44976
+ offset: 45360
}
member {
- id: 0x86b9464b
+ id: 0x86b94497
name: "adv_instances"
type_id: 0xd3c80119
- offset: 44800
+ offset: 45184
}
member {
- id: 0x54685d71
+ id: 0x546851f2
name: "adv_monitors_cnt"
type_id: 0x4585663f
- offset: 46272
+ offset: 46656
}
member {
- id: 0xff86b5aa
+ id: 0xff86bb58
name: "adv_monitors_idr"
type_id: 0x04b89667
- offset: 46080
+ offset: 46464
}
member {
id: 0xfef7071c
@@ -43058,10 +44217,17 @@ member {
offset: 9984
}
member {
- id: 0x105c3ace
+ id: 0x105c3c4d
name: "adv_tx_power"
type_id: 0x901eaf6a
- offset: 38728
+ offset: 39112
+}
+member {
+ id: 0xec6d552f
+ name: "advanced"
+ type_id: 0x295c7202
+ offset: 174
+ bitsize: 1
}
member {
id: 0x686a7031
@@ -43099,16 +44265,16 @@ member {
offset: 64
}
member {
- id: 0x6e09a88e
+ id: 0x6e09ac61
name: "advertising_old_state"
type_id: 0x6720d32f
- offset: 27904
+ offset: 28288
}
member {
- id: 0x4821e2b0
+ id: 0x4821ea2b
name: "advertising_paused"
type_id: 0x6d7f5ff6
- offset: 27936
+ offset: 28320
}
member {
id: 0xcc74652e
@@ -43123,10 +44289,16 @@ member {
offset: 6736
}
member {
- id: 0xaaa3f8da
+ id: 0xaaa3fd42
name: "advmon_pend_notify"
type_id: 0x6d7f5ff6
- offset: 49984
+ offset: 50368
+}
+member {
+ id: 0x1d3891d6
+ name: "advmss"
+ type_id: 0x914dbfdc
+ offset: 13696
}
member {
id: 0x1ffcf224
@@ -43170,6 +44342,12 @@ member {
offset: 384
}
member {
+ id: 0xd5613ffc
+ name: "afbc_size"
+ type_id: 0xc9082b19
+ offset: 1760
+}
+member {
id: 0x9aeabf13
name: "afc"
type_id: 0x0faae5b1
@@ -43339,6 +44517,11 @@ member {
offset: 576
}
member {
+ id: 0x2777335c
+ name: "alg"
+ type_id: 0xdabf4001
+}
+member {
id: 0x2784b70a
name: "alg"
type_id: 0x293b162f
@@ -43420,6 +44603,12 @@ member {
type_id: 0x295c7202
}
member {
+ id: 0x25050ebe
+ name: "alias"
+ type_id: 0x3e10b518
+ offset: 64
+}
+member {
id: 0x33075cab
name: "align"
type_id: 0xe62ebf07
@@ -43480,6 +44669,24 @@ member {
offset: 8192
}
member {
+ id: 0xdeafe619
+ name: "aligned_height"
+ type_id: 0xc9082b19
+ offset: 1696
+}
+member {
+ id: 0x6db01f09
+ name: "aligned_width"
+ type_id: 0xc9082b19
+ offset: 1664
+}
+member {
+ id: 0x9d7710c5
+ name: "alignmask"
+ type_id: 0x4585663f
+ offset: 1152
+}
+member {
id: 0x361dfe02
name: "alignment"
type_id: 0x92233392
@@ -43514,6 +44721,11 @@ member {
type_id: 0x7584e7da
}
member {
+ id: 0xee87ba00
+ name: "all"
+ type_id: 0xe8034002
+}
+member {
id: 0xeebc7141
name: "all"
type_id: 0xd3c80119
@@ -43664,6 +44876,18 @@ member {
offset: 64
}
member {
+ id: 0xa0650951
+ name: "alloc_callback"
+ type_id: 0x0c33de94
+ offset: 960
+}
+member {
+ id: 0x3f6534a2
+ name: "alloc_container_ctx"
+ type_id: 0x0fac28fc
+ offset: 576
+}
+member {
id: 0x21677719
name: "alloc_contig"
type_id: 0x6d7f5ff6
@@ -43676,6 +44900,12 @@ member {
offset: 256
}
member {
+ id: 0x50156eb5
+ name: "alloc_dcbaa"
+ type_id: 0x3f055728
+ offset: 192
+}
+member {
id: 0xfd6395d5
name: "alloc_desc_sz"
type_id: 0x4585663f
@@ -43771,12 +45001,6 @@ member {
offset: 320
}
member {
- id: 0xaf409590
- name: "alloc_notifier"
- type_id: 0x004b03fc
- offset: 512
-}
-member {
id: 0x75fd54b0
name: "alloc_pages"
type_id: 0x2524545c
@@ -43813,6 +45037,12 @@ member {
offset: 768
}
member {
+ id: 0xb2953bfa
+ name: "alloc_transfer_ring"
+ type_id: 0x20699068
+ offset: 320
+}
+member {
id: 0x7fa1c349
name: "allocate"
type_id: 0x18efc3fd
@@ -43877,6 +45107,12 @@ member {
offset: 512
}
member {
+ id: 0x14e2bc0d
+ name: "allow_connect"
+ type_id: 0x6d7f5ff6
+ offset: 7568
+}
+member {
id: 0x1098af81
name: "allow_instances"
type_id: 0x6d7f5ff6
@@ -44423,6 +45659,12 @@ member {
offset: 832
}
member {
+ id: 0xedc9a6ac
+ name: "android_kabi_reserved0"
+ type_id: 0x92233392
+ offset: 2816
+}
+member {
id: 0x2d08100c
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44477,12 +45719,6 @@ member {
offset: 2496
}
member {
- id: 0x2d0811d3
- name: "android_kabi_reserved1"
- type_id: 0x92233392
- offset: 59264
-}
-member {
id: 0x2d0811f9
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44734,12 +45970,6 @@ member {
offset: 704
}
member {
- id: 0x2d081767
- name: "android_kabi_reserved1"
- type_id: 0x92233392
- offset: 28800
-}
-member {
id: 0x2d0817b6
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44776,6 +46006,12 @@ member {
offset: 8128
}
member {
+ id: 0x2d0818b7
+ name: "android_kabi_reserved1"
+ type_id: 0x92233392
+ offset: 51456
+}
+member {
id: 0x2d0818d7
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44788,6 +46024,12 @@ member {
offset: 4096
}
member {
+ id: 0x2d08191c
+ name: "android_kabi_reserved1"
+ type_id: 0x92233392
+ offset: 8576
+}
+member {
id: 0x2d08193b
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44848,12 +46090,6 @@ member {
offset: 3200
}
member {
- id: 0x2d081a58
- name: "android_kabi_reserved1"
- type_id: 0x92233392
- offset: 2816
-}
-member {
id: 0x2d081aa3
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44896,6 +46132,12 @@ member {
offset: 17152
}
member {
+ id: 0x2d081bb9
+ name: "android_kabi_reserved1"
+ type_id: 0x92233392
+ offset: 2880
+}
+member {
id: 0x2d081be0
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -44914,6 +46156,12 @@ member {
offset: 1152
}
member {
+ id: 0x2d081c07
+ name: "android_kabi_reserved1"
+ type_id: 0x92233392
+ offset: 11392
+}
+member {
id: 0x2d081c0d
name: "android_kabi_reserved1"
type_id: 0x92233392
@@ -45058,22 +46306,22 @@ member {
offset: 1856
}
member {
- id: 0x2d081eb7
+ id: 0x2d081e39
name: "android_kabi_reserved1"
type_id: 0x92233392
- offset: 7168
+ offset: 18880
}
member {
- id: 0x2d081ecd
+ id: 0x2d081eb7
name: "android_kabi_reserved1"
type_id: 0x92233392
- offset: 9024
+ offset: 7168
}
member {
- id: 0x2d081ed0
+ id: 0x2d081ecd
name: "android_kabi_reserved1"
type_id: 0x92233392
- offset: 51072
+ offset: 9024
}
member {
id: 0x2d081ed3
@@ -45262,6 +46510,12 @@ member {
offset: 2368
}
member {
+ id: 0x637600f9
+ name: "android_kabi_reserved2"
+ type_id: 0x92233392
+ offset: 2944
+}
+member {
id: 0x637600fb
name: "android_kabi_reserved2"
type_id: 0x92233392
@@ -45466,12 +46720,24 @@ member {
offset: 1920
}
member {
+ id: 0x637608bd
+ name: "android_kabi_reserved2"
+ type_id: 0x92233392
+ offset: 51520
+}
+member {
id: 0x637608ca
name: "android_kabi_reserved2"
type_id: 0x92233392
offset: 5184
}
member {
+ id: 0x63760909
+ name: "android_kabi_reserved2"
+ type_id: 0x92233392
+ offset: 256
+}
+member {
id: 0x6376090e
name: "android_kabi_reserved2"
type_id: 0x92233392
@@ -45543,12 +46809,6 @@ member {
offset: 2752
}
member {
- id: 0x63760aa0
- name: "android_kabi_reserved2"
- type_id: 0x92233392
- offset: 51136
-}
-member {
id: 0x63760aa1
name: "android_kabi_reserved2"
type_id: 0x92233392
@@ -45597,6 +46857,12 @@ member {
offset: 2176
}
member {
+ id: 0x63760c6b
+ name: "android_kabi_reserved2"
+ type_id: 0x92233392
+ offset: 8640
+}
+member {
id: 0x63760c9c
name: "android_kabi_reserved2"
type_id: 0x92233392
@@ -45705,6 +46971,12 @@ member {
offset: 3008
}
member {
+ id: 0x63760fd1
+ name: "android_kabi_reserved2"
+ type_id: 0x92233392
+ offset: 1792
+}
+member {
id: 0x63760fdb
name: "android_kabi_reserved2"
type_id: 0x92233392
@@ -45807,12 +47079,6 @@ member {
offset: 8896
}
member {
- id: 0xac8941f8
- name: "android_kabi_reserved3"
- type_id: 0x92233392
- offset: 768
-}
-member {
id: 0xac894244
name: "android_kabi_reserved3"
type_id: 0x92233392
@@ -45873,6 +47139,12 @@ member {
offset: 8128
}
member {
+ id: 0xac894467
+ name: "android_kabi_reserved3"
+ type_id: 0x92233392
+ offset: 51584
+}
+member {
id: 0xac894653
name: "android_kabi_reserved3"
type_id: 0x92233392
@@ -45999,12 +47271,6 @@ member {
offset: 704
}
member {
- id: 0xac894bbb
- name: "android_kabi_reserved3"
- type_id: 0x92233392
- offset: 51200
-}
-member {
id: 0xac894bd2
name: "android_kabi_reserved3"
type_id: 0x92233392
@@ -46077,6 +47343,12 @@ member {
offset: 1728
}
member {
+ id: 0xac894e91
+ name: "android_kabi_reserved3"
+ type_id: 0x92233392
+ offset: 320
+}
+member {
id: 0xac894e97
name: "android_kabi_reserved3"
type_id: 0x92233392
@@ -46101,6 +47373,12 @@ member {
offset: 640
}
member {
+ id: 0xac894f5e
+ name: "android_kabi_reserved3"
+ type_id: 0x92233392
+ offset: 3008
+}
+member {
id: 0x031a13a1
name: "android_kabi_reserved30"
type_id: 0x92233392
@@ -46233,6 +47511,12 @@ member {
offset: 4672
}
member {
+ id: 0xe0f635d9
+ name: "android_kabi_reserved4"
+ type_id: 0x92233392
+ offset: 384
+}
+member {
id: 0xe0f635ee
name: "android_kabi_reserved4"
type_id: 0x92233392
@@ -46263,12 +47547,6 @@ member {
offset: 1664
}
member {
- id: 0xe0f637f1
- name: "android_kabi_reserved4"
- type_id: 0x92233392
- offset: 832
-}
-member {
id: 0xe0f6381a
name: "android_kabi_reserved4"
type_id: 0x92233392
@@ -46308,6 +47586,12 @@ member {
id: 0xe0f63bda
name: "android_kabi_reserved4"
type_id: 0x92233392
+ offset: 3072
+}
+member {
+ id: 0xe0f63bdb
+ name: "android_kabi_reserved4"
+ type_id: 0x92233392
offset: 17216
}
member {
@@ -46323,12 +47607,6 @@ member {
offset: 960
}
member {
- id: 0xe0f63ccd
- name: "android_kabi_reserved4"
- type_id: 0x92233392
- offset: 51264
-}
-member {
id: 0xe0f63ce5
name: "android_kabi_reserved4"
type_id: 0x92233392
@@ -46425,6 +47703,12 @@ member {
offset: 5504
}
member {
+ id: 0xe0f63f30
+ name: "android_kabi_reserved4"
+ type_id: 0x92233392
+ offset: 51648
+}
+member {
id: 0xe0f63f53
name: "android_kabi_reserved4"
type_id: 0x92233392
@@ -46910,24 +48194,6 @@ member {
type_id: 0xf90dfce8
}
member {
- id: 0xd96ad022
- name: "ap_list"
- type_id: 0xd3c80119
- offset: 192
-}
-member {
- id: 0x18b67de8
- name: "ap_list_head"
- type_id: 0xd3c80119
- offset: 31232
-}
-member {
- id: 0xc8f35c78
- name: "ap_list_lock"
- type_id: 0xc8b17aa7
- offset: 31168
-}
-member {
id: 0x6892c863
name: "ap_sme_capa"
type_id: 0xc9082b19
@@ -47007,12 +48273,6 @@ member {
offset: 128
}
member {
- id: 0x5ba521f2
- name: "apic_base"
- type_id: 0xedf277ba
- offset: 192
-}
-member {
id: 0x5581205d
name: "apoll"
type_id: 0x05a5cdba
@@ -47030,6 +48290,12 @@ member {
type_id: 0xb94e10c7
}
member {
+ id: 0x484997ff
+ name: "app_limited"
+ type_id: 0xc9082b19
+ offset: 15328
+}
+member {
id: 0x6e3edc08
name: "appearance"
type_id: 0xe8034002
@@ -47113,53 +48379,24 @@ member {
bitsize: 1
}
member {
- id: 0x4a120f63
- name: "ar"
- type_id: 0xb3e7bac9
- offset: 64
-}
-member {
id: 0xa86038b6
name: "arbitration_lost"
type_id: 0xe62ebf07
offset: 128
}
member {
- id: 0xb81bb253
- name: "arch"
- type_id: 0xb16454d0
- offset: 2048
-}
-member {
- id: 0xb81eae99
- name: "arch"
- type_id: 0xb47f1c0e
-}
-member {
id: 0xb83316b3
name: "arch"
type_id: 0x99ce8ef3
offset: 1600
}
member {
- id: 0xb857a998
- name: "arch"
- type_id: 0xfd71f39d
- offset: 20672
-}
-member {
id: 0xb864f388
name: "arch"
type_id: 0xce25286b
offset: 1728
}
member {
- id: 0xb89f1d6b
- name: "arch"
- type_id: 0x35cc4540
- offset: 256
-}
-member {
id: 0xb8cdfbab
name: "arch"
type_id: 0x6720d32f
@@ -47418,6 +48655,11 @@ member {
offset: 704
}
member {
+ id: 0x2075b8f0
+ name: "argc"
+ type_id: 0x4585663f
+}
+member {
id: 0x6fcff76c
name: "argmin"
type_id: 0x33756485
@@ -47448,18 +48690,6 @@ member {
offset: 96
}
member {
- id: 0x3496cf62
- name: "args"
- type_id: 0xad7c0a89
- offset: 128
-}
-member {
- id: 0x34a16385
- name: "args"
- type_id: 0x9addce46
- offset: 64
-}
-member {
id: 0x34a5187e
name: "args"
type_id: 0x9ea2d4c7
@@ -47471,12 +48701,6 @@ member {
offset: 64
}
member {
- id: 0x34abfc7a
- name: "args"
- type_id: 0x904f12e1
- offset: 128
-}
-member {
id: 0x34fb052c
name: "args"
type_id: 0xc0b644f6
@@ -47517,6 +48741,12 @@ member {
type_id: 0x13e50c8a
}
member {
+ id: 0xe8735870
+ name: "argv"
+ type_id: 0x0bb0c019
+ offset: 64
+}
+member {
id: 0xe8f87d89
name: "argv"
type_id: 0x80904a3b
@@ -47551,17 +48781,6 @@ member {
type_id: 0x34992343
}
member {
- id: 0xdabb1c55
- name: "arm_nisv"
- type_id: 0x102e0991
-}
-member {
- id: 0xce7b08c8
- name: "arm_pmu"
- type_id: 0x331b3d77
- offset: 3008
-}
-member {
id: 0xc71d2276
name: "arm_v7s_cfg"
type_id: 0x3909db3d
@@ -48017,6 +49236,12 @@ member {
offset: 192
}
member {
+ id: 0x5ee21ccd
+ name: "async_write_error"
+ type_id: 0x6720d32f
+ offset: 1792
+}
+member {
id: 0xd1b258a6
name: "at"
type_id: 0x92233392
@@ -48029,6 +49254,12 @@ member {
offset: 512
}
member {
+ id: 0x168605e8
+ name: "ato"
+ type_id: 0xe62ebf07
+ offset: 32
+}
+member {
id: 0x176dead7
name: "atomic"
type_id: 0x6d7f5ff6
@@ -48701,12 +49932,6 @@ member {
offset: 64
}
member {
- id: 0x8ce95ca0
- name: "attr"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
id: 0xa59eb82e
name: "attr_g"
type_id: 0xed8451a2
@@ -48725,12 +49950,6 @@ member {
offset: 3008
}
member {
- id: 0xf8037d37
- name: "attr_groups"
- type_id: 0xe52f2f44
- offset: 4032
-}
-member {
id: 0xf8e01779
name: "attr_groups"
type_id: 0x06433852
@@ -49099,12 +50318,24 @@ member {
bitsize: 1
}
member {
+ id: 0x773b8f3f
+ name: "auto_dump"
+ type_id: 0x6d7f5ff6
+ offset: 904
+}
+member {
id: 0xaa0ea302
name: "auto_flowlabels"
type_id: 0x295c7202
offset: 632
}
member {
+ id: 0xea4e825c
+ name: "auto_recover"
+ type_id: 0x6d7f5ff6
+ offset: 896
+}
+member {
id: 0xc5fa3041
name: "auto_runtime_pm"
type_id: 0x6d7f5ff6
@@ -49149,6 +50380,20 @@ member {
bitsize: 1
}
member {
+ id: 0x6854e737
+ name: "autoflowlabel"
+ type_id: 0xe8034002
+ offset: 571
+ bitsize: 1
+}
+member {
+ id: 0xe803bc2e
+ name: "autoflowlabel_set"
+ type_id: 0xe8034002
+ offset: 572
+ bitsize: 1
+}
+member {
id: 0xf1e86eba
name: "automatic_shrinking"
type_id: 0x6d7f5ff6
@@ -49675,6 +50920,12 @@ member {
type_id: 0x38df449f
}
member {
+ id: 0x4ce00bb0
+ name: "b"
+ type_id: 0x7877cd32
+ offset: 64
+}
+member {
id: 0x4cf8b2b0
name: "b"
type_id: 0x60ca2c23
@@ -50482,11 +51733,27 @@ member {
offset: 832
}
member {
+ id: 0x853440fd
+ name: "base"
+ type_id: 0xeeae7608
+}
+member {
id: 0x853678f4
name: "base"
type_id: 0xec967f20
}
member {
+ id: 0x85378cb8
+ name: "base"
+ type_id: 0xed62338c
+}
+member {
+ id: 0x8544c9f4
+ name: "base"
+ type_id: 0x9e2c67f2
+ offset: 512
+}
+member {
id: 0x85481c0d
name: "base"
type_id: 0x92f28628
@@ -50575,12 +51842,6 @@ member {
type_id: 0x1b619644
}
member {
- id: 0x85c1a1cb
- name: "base"
- type_id: 0x1b4ba19a
- offset: 64
-}
-member {
id: 0x85c253ee
name: "base"
type_id: 0x18bd6530
@@ -50642,6 +51903,12 @@ member {
offset: 128
}
member {
+ id: 0x85f3d282
+ name: "base"
+ type_id: 0x293b162f
+ offset: 1024
+}
+member {
id: 0x85f3de85
name: "base"
type_id: 0x293b162f
@@ -50676,11 +51943,6 @@ member {
offset: 384
}
member {
- id: 0xf9ecc4b7
- name: "base_addr"
- type_id: 0x1b4ba19a
-}
-member {
id: 0x26b2f753
name: "base_btf"
type_id: 0x010934b0
@@ -50727,18 +51989,6 @@ member {
offset: 56
}
member {
- id: 0x9232ba55
- name: "baser_coll_table"
- type_id: 0x92233392
- offset: 576
-}
-member {
- id: 0x58199dc6
- name: "baser_device_table"
- type_id: 0x92233392
- offset: 512
-}
-member {
id: 0x70cac30d
name: "bases"
type_id: 0x06ed5af3
@@ -51212,6 +52462,12 @@ member {
type_id: 0x0c2e195c
}
member {
+ id: 0x51f02b11
+ name: "bdev"
+ type_id: 0x0c2e195c
+ offset: 832
+}
+member {
id: 0x51f02ed6
name: "bdev"
type_id: 0x0c2e195c
@@ -51246,12 +52502,6 @@ member {
offset: 5376
}
member {
- id: 0x09a85b04
- name: "be"
- type_id: 0x6d7f5ff6
- offset: 128
-}
-member {
id: 0xd4e45e24
name: "be_bits"
type_id: 0x6d7f5ff6
@@ -51361,6 +52611,12 @@ member {
offset: 1664
}
member {
+ id: 0x38c2e7fb
+ name: "begin"
+ type_id: 0xd0b3a203
+ offset: 128
+}
+member {
id: 0x21bcbcbc
name: "begin_cpu_access"
type_id: 0x2d310635
@@ -51442,12 +52698,6 @@ member {
offset: 160
}
member {
- id: 0xd0847011
- name: "bg_timer"
- type_id: 0xcd7704bf
- offset: 1664
-}
-member {
id: 0x29a6b069
name: "bgid"
type_id: 0xe8034002
@@ -51502,6 +52752,12 @@ member {
offset: 192
}
member {
+ id: 0x5e2b88f3
+ name: "bh"
+ type_id: 0xa5960bec
+ offset: 832
+}
+member {
id: 0xb592ec0b
name: "bhash"
type_id: 0x28f8e782
@@ -51823,6 +53079,13 @@ member {
offset: 1088
}
member {
+ id: 0x87d4aa19
+ name: "bind_address_no_port"
+ type_id: 0xb3e7bac9
+ offset: 7112
+ bitsize: 1
+}
+member {
id: 0x23af1384
name: "bind_bucket_cachep"
type_id: 0x2efd5036
@@ -51943,6 +53206,12 @@ member {
offset: 768
}
member {
+ id: 0xccd15e20
+ name: "bios"
+ type_id: 0x200a0749
+ offset: 576
+}
+member {
id: 0x24640f13
name: "bios_limit"
type_id: 0x2b99fd3e
@@ -52159,6 +53428,11 @@ member {
offset: 216
}
member {
+ id: 0xd74e0402
+ name: "bits"
+ type_id: 0x1b949b56
+}
+member {
id: 0xd78825be
name: "bits"
type_id: 0xddb527d3
@@ -52181,12 +53455,6 @@ member {
offset: 8
}
member {
- id: 0xbab5eab6
- name: "bits_per_irq"
- type_id: 0x4585663f
- offset: 64
-}
-member {
id: 0x6cf5d11a
name: "bits_per_lane_and_dclk_cycle"
type_id: 0x4585663f
@@ -52246,6 +53514,12 @@ member {
offset: 256
}
member {
+ id: 0x4a47d75f
+ name: "bitwidth"
+ type_id: 0x4585663f
+ offset: 96
+}
+member {
id: 0x9cc8208d
name: "bkops"
type_id: 0x6d7f5ff6
@@ -52514,6 +53788,12 @@ member {
offset: 192
}
member {
+ id: 0x4280b12f
+ name: "block"
+ type_id: 0xd0b3a203
+ offset: 448
+}
+member {
id: 0x42990dd1
name: "block"
type_id: 0xc9082b19
@@ -52550,6 +53830,12 @@ member {
offset: 112
}
member {
+ id: 0xdb864134
+ name: "block_height"
+ type_id: 0xc9082b19
+ offset: 1632
+}
+member {
id: 0x215a13ec
name: "block_len"
type_id: 0xe8034002
@@ -52592,6 +53878,12 @@ member {
offset: 160
}
member {
+ id: 0x3c120643
+ name: "block_size"
+ type_id: 0x4585663f
+ offset: 896
+}
+member {
id: 0xb034a057
name: "block_start"
type_id: 0x92233392
@@ -52610,6 +53902,12 @@ member {
offset: 104
}
member {
+ id: 0x3b9c97de
+ name: "block_width"
+ type_id: 0xc9082b19
+ offset: 1600
+}
+member {
id: 0x82470e87
name: "blocked"
type_id: 0x295c7202
@@ -52621,10 +53919,10 @@ member {
offset: 17664
}
member {
- id: 0xe27e8817
+ id: 0xe27e8ce3
name: "blocked_keys"
type_id: 0xd3c80119
- offset: 30464
+ offset: 30848
}
member {
id: 0xa9b1ec07
@@ -52639,12 +53937,6 @@ member {
offset: 2184
}
member {
- id: 0x8efec678
- name: "blocking"
- type_id: 0x92233392
- offset: 6592
-}
-member {
id: 0x48c48bbc
name: "blocking_domain"
type_id: 0x2e94a1e1
@@ -52705,6 +53997,12 @@ member {
offset: 224
}
member {
+ id: 0x89cc162f
+ name: "blocksize"
+ type_id: 0x4585663f
+ offset: 1088
+}
+member {
id: 0x9d6f12e1
name: "blue"
type_id: 0xd529883e
@@ -52801,6 +54099,12 @@ member {
offset: 40
}
member {
+ id: 0x6b1b4f66
+ name: "bmNtbFormatsSupported"
+ type_id: 0x9bd401b6
+ offset: 16
+}
+member {
id: 0xb0e7ec93
name: "bmSublinkSpeedAttr"
type_id: 0xb7237aa3
@@ -53190,6 +54494,13 @@ member {
offset: 12928
}
member {
+ id: 0xf5c438ad
+ name: "bpf_chg_cc_inprogress"
+ type_id: 0x295c7202
+ offset: 18216
+ bitsize: 1
+}
+member {
id: 0xa9117c13
name: "bpf_cookie"
type_id: 0xedf277ba
@@ -53254,6 +54565,12 @@ member {
offset: 33920
}
member {
+ id: 0xa6861f94
+ name: "bpf_sock_ops_cb_flags"
+ type_id: 0x295c7202
+ offset: 18208
+}
+member {
id: 0xede394b6
name: "bpf_storage"
type_id: 0x2f6ef74a
@@ -53579,6 +54896,11 @@ member {
offset: 288
}
member {
+ id: 0x9929500d
+ name: "bs"
+ type_id: 0x200a0749
+}
+member {
id: 0xff1a115d
name: "bsg_dev"
type_id: 0x23e765f6
@@ -53858,12 +55180,6 @@ member {
offset: 2624
}
member {
- id: 0xe6502bd9
- name: "bucket_size"
- type_id: 0xe62ebf07
- offset: 96
-}
-member {
id: 0xff0ba4fe
name: "buckets"
type_id: 0x0a4e4698
@@ -54235,6 +55551,12 @@ member {
type_id: 0x0483e6f8
}
member {
+ id: 0x33decf44
+ name: "buffer"
+ type_id: 0x00c72527
+ offset: 832
+}
+member {
id: 0x33e6ba8e
name: "buffer"
type_id: 0x38b368bf
@@ -54415,6 +55737,12 @@ member {
offset: 736
}
member {
+ id: 0x215141b0
+ name: "buffer_tree"
+ type_id: 0xeb923a9b
+ offset: 1472
+}
+member {
id: 0xe613256f
name: "buffered"
type_id: 0x6d7f5ff6
@@ -54439,6 +55767,12 @@ member {
offset: 576
}
member {
+ id: 0xc0824dc3
+ name: "buffers"
+ type_id: 0xd3c80119
+ offset: 640
+}
+member {
id: 0x803be3e4
name: "buffersize"
type_id: 0xe62ebf07
@@ -54937,6 +56271,12 @@ member {
offset: 9664
}
member {
+ id: 0x2a260680
+ name: "bus_resume"
+ type_id: 0x2fa7835a
+ offset: 640
+}
+member {
id: 0x2a260a7a
name: "bus_resume"
type_id: 0x2fa7835a
@@ -54955,6 +56295,12 @@ member {
offset: 1280
}
member {
+ id: 0x91993cba
+ name: "bus_suspend"
+ type_id: 0x2fa7835a
+ offset: 576
+}
+member {
id: 0xdda1e12c
name: "bus_suspended"
type_id: 0x33756485
@@ -54995,12 +56341,6 @@ member {
offset: 32
}
member {
- id: 0xfa427670
- name: "buses"
- type_id: 0x8f5ceaee
- offset: 19328
-}
-member {
id: 0x854f5ea0
name: "busn_res"
type_id: 0xc7736674
@@ -55059,6 +56399,12 @@ member {
offset: 992
}
member {
+ id: 0x60a635ef
+ name: "busy"
+ type_id: 0x7722f5fe
+ offset: 1344
+}
+member {
id: 0x60bc6a32
name: "busy"
type_id: 0x6d7f5ff6
@@ -55504,6 +56850,12 @@ member {
offset: 320
}
member {
+ id: 0x3ed6f46c
+ name: "bytes_acked"
+ type_id: 0x92233392
+ offset: 12736
+}
+member {
id: 0x4d36c98b
name: "bytes_ext_ops"
type_id: 0x34334e6d
@@ -55539,12 +56891,30 @@ member {
offset: 128
}
member {
+ id: 0xda945faa
+ name: "bytes_received"
+ type_id: 0x92233392
+ offset: 12352
+}
+member {
+ id: 0xd77f2af8
+ name: "bytes_retrans"
+ type_id: 0x92233392
+ offset: 17984
+}
+member {
id: 0xf2787e23
name: "bytes_rx"
type_id: 0x3a3eb2f9
offset: 512
}
member {
+ id: 0x840adfe0
+ name: "bytes_sent"
+ type_id: 0x92233392
+ offset: 12672
+}
+member {
id: 0x8cf55cde
name: "bytes_transferred"
type_id: 0x33756485
@@ -55615,6 +56985,12 @@ member {
offset: 16
}
member {
+ id: 0x0f75b561
+ name: "c"
+ type_id: 0x2d01fcba
+ offset: 960
+}
+member {
id: 0x0fa4ebff
name: "c"
type_id: 0xfc5791f4
@@ -56259,6 +57635,12 @@ member {
type_id: 0x0ed1d747
}
member {
+ id: 0x56f376f1
+ name: "callback"
+ type_id: 0x1684c624
+ offset: 128
+}
+member {
id: 0x56a72054
name: "callback_head"
type_id: 0xe3222f5b
@@ -56970,12 +58352,6 @@ member {
offset: 32
}
member {
- id: 0xa779a4af
- name: "capacity"
- type_id: 0x6720d32f
- offset: 192
-}
-member {
id: 0xa7f37e69
name: "capacity"
type_id: 0xedf277ba
@@ -57395,12 +58771,6 @@ member {
offset: 320
}
member {
- id: 0xd83a0eba
- name: "cbaser"
- type_id: 0x92233392
- offset: 1024
-}
-member {
id: 0xd34c00a5
name: "cbovldmask"
type_id: 0x33756485
@@ -57506,6 +58876,12 @@ member {
offset: 32
}
member {
+ id: 0xbf43ebf0
+ name: "cdc_filter"
+ type_id: 0x914dbfdc
+ offset: 1936
+}
+member {
id: 0x058b41dc
name: "cdev"
type_id: 0x1d4da256
@@ -57727,6 +59103,12 @@ member {
offset: 8640
}
member {
+ id: 0x08477548
+ name: "cell_size"
+ type_id: 0xc9082b19
+ offset: 96
+}
+member {
id: 0xc909929f
name: "cells"
type_id: 0x38cec2ca
@@ -57822,12 +59204,6 @@ member {
offset: 608
}
member {
- id: 0x9608d64b
- name: "cflags"
- type_id: 0x295c7202
- offset: 15392
-}
-member {
id: 0xd57ac3a1
name: "cfs"
type_id: 0x11205055
@@ -58280,12 +59656,6 @@ member {
offset: 19520
}
member {
- id: 0x83d10832
- name: "change_pte"
- type_id: 0x0c166597
- offset: 256
-}
-member {
id: 0x8c70199e
name: "change_queue_depth"
type_id: 0x2fc0f095
@@ -58545,6 +59915,12 @@ member {
offset: 128
}
member {
+ id: 0x26d4a9a4
+ name: "char2uni"
+ type_id: 0x2e137a28
+ offset: 192
+}
+member {
id: 0xfdbbc663
name: "char_dev"
type_id: 0x5f766fc6
@@ -58651,6 +60027,23 @@ member {
offset: 704
}
member {
+ id: 0x551378c2
+ name: "charset"
+ type_id: 0x3e10b518
+}
+member {
+ id: 0x6322a32f
+ name: "charset2lower"
+ type_id: 0x384c5795
+ offset: 256
+}
+member {
+ id: 0x06048b6e
+ name: "charset2upper"
+ type_id: 0x384c5795
+ offset: 320
+}
+member {
id: 0x9e156774
name: "check"
type_id: 0xd1f94ea7
@@ -59060,11 +60453,6 @@ member {
type_id: 0xadd7ccb6
}
member {
- id: 0xc6fa2a23
- name: "chip"
- type_id: 0x9819cf84
-}
-member {
id: 0x50c82005
name: "chip_data"
type_id: 0x18bd6530
@@ -59125,6 +60513,18 @@ member {
offset: 256
}
member {
+ id: 0x1024996f
+ name: "chosen"
+ type_id: 0x1d19a9d5
+ offset: 320
+}
+member {
+ id: 0x3d099644
+ name: "chosen_points"
+ type_id: 0xfc0e1dbd
+ offset: 384
+}
+member {
id: 0x697fbc8c
name: "chrdev"
type_id: 0x5f766fc6
@@ -59208,6 +60608,25 @@ member {
offset: 160
}
member {
+ id: 0x6c3076ab
+ name: "chrono_start"
+ type_id: 0xc9082b19
+ offset: 13728
+}
+member {
+ id: 0x4b0fd146
+ name: "chrono_stat"
+ type_id: 0x2087fff2
+ offset: 13760
+}
+member {
+ id: 0x5514b7d1
+ name: "chrono_type"
+ type_id: 0x295c7202
+ offset: 13856
+ bitsize: 2
+}
+member {
id: 0x0c0ce1e9
name: "chunk_mask"
type_id: 0x92233392
@@ -59484,6 +60903,12 @@ member {
offset: 1280
}
member {
+ id: 0x1dfe157e
+ name: "cipso"
+ type_id: 0x5d8155a5
+ offset: 112
+}
+member {
id: 0xcf891492
name: "cis"
type_id: 0xae13575f
@@ -59733,6 +61158,12 @@ member {
offset: 9088
}
member {
+ id: 0x200938c6
+ name: "cleanup"
+ type_id: 0x0a8304ff
+ offset: 448
+}
+member {
id: 0x200c257e
name: "cleanup"
type_id: 0x0f9a2667
@@ -59842,18 +61273,6 @@ member {
offset: 14464
}
member {
- id: 0x2d61ef43
- name: "clear_event_idx"
- type_id: 0x0f7dbeee
- offset: 2816
-}
-member {
- id: 0xe32eadd5
- name: "clear_flush_young"
- type_id: 0x2f509af6
- offset: 64
-}
-member {
id: 0x0d593536
name: "clear_list"
type_id: 0xd3c80119
@@ -59930,12 +61349,6 @@ member {
offset: 384
}
member {
- id: 0xf2531964
- name: "clear_young"
- type_id: 0x2f509af6
- offset: 128
-}
-member {
id: 0xf225f799
name: "cleared"
type_id: 0x33756485
@@ -59992,6 +61405,12 @@ member {
offset: 3456
}
member {
+ id: 0xf4c5928f
+ name: "client_list"
+ type_id: 0xd3c80119
+ offset: 1856
+}
+member {
id: 0xa9f3f07b
name: "client_ops"
type_id: 0x3443caef
@@ -60525,6 +61944,24 @@ member {
type_id: 0x4478ba6b
}
member {
+ id: 0xf6b3df73
+ name: "clone"
+ type_id: 0x7ccce612
+ offset: 320
+}
+member {
+ id: 0xf6c2da43
+ name: "clone"
+ type_id: 0x0dc966bc
+ offset: 448
+}
+member {
+ id: 0xe7b15fc6
+ name: "clone_and_map_rq"
+ type_id: 0x81034bb7
+ offset: 512
+}
+member {
id: 0xcf60e1c3
name: "cloned"
type_id: 0xb3e7bac9
@@ -60568,10 +62005,10 @@ member {
offset: 384
}
member {
- id: 0xcd5fd56d
+ id: 0xcd5fd921
name: "close"
type_id: 0x2c2c3c2e
- offset: 50112
+ offset: 50496
}
member {
id: 0xcd7c1df7
@@ -60627,6 +62064,12 @@ member {
offset: 64
}
member {
+ id: 0xcd7ec6ac
+ name: "close"
+ type_id: 0x0d36eefe
+ offset: 2304
+}
+member {
id: 0xcd7edc4f
name: "close"
type_id: 0x0d22c400
@@ -60974,12 +62417,6 @@ member {
offset: 1280
}
member {
- id: 0x28ddf56e
- name: "cmd_lock"
- type_id: 0xa7c362b0
- offset: 640
-}
-member {
id: 0xc134320b
name: "cmd_mask"
type_id: 0x33756485
@@ -61027,10 +62464,10 @@ member {
offset: 3968
}
member {
- id: 0xa57ecf84
+ id: 0xa57ecd8e
name: "cmd_q"
type_id: 0x578f9c2b
- offset: 25536
+ offset: 25920
}
member {
id: 0xe5cdfc8b
@@ -61080,10 +62517,10 @@ member {
offset: 608
}
member {
- id: 0x30eff9d8
+ id: 0x30eff64b
name: "cmd_sync_cancel_work"
type_id: 0x1f3c8679
- offset: 16640
+ offset: 17024
}
member {
id: 0x688a5a69
@@ -61110,22 +62547,22 @@ member {
offset: 208
}
member {
- id: 0x08a92984
+ id: 0x08a92d3f
name: "cmd_timeout"
type_id: 0x0f6a1081
- offset: 50752
+ offset: 51136
}
member {
- id: 0x091c4805
+ id: 0x091c4926
name: "cmd_timer"
type_id: 0xf1159c31
- offset: 19648
+ offset: 1472
}
member {
- id: 0x091c4926
+ id: 0x091c4964
name: "cmd_timer"
type_id: 0xf1159c31
- offset: 1472
+ offset: 20032
}
member {
id: 0xbab90229
@@ -61139,10 +62576,10 @@ member {
offset: 64
}
member {
- id: 0x15ef38ff
+ id: 0x15ef3a47
name: "cmd_work"
type_id: 0x1f3c8679
- offset: 22208
+ offset: 22592
}
member {
id: 0x616075f5
@@ -61228,6 +62665,12 @@ member {
type_id: 0x36fc2198
}
member {
+ id: 0x9e4ebac2
+ name: "cmsg_flags"
+ type_id: 0xe8034002
+ offset: 6960
+}
+member {
id: 0x141e1b04
name: "cnf"
type_id: 0x66c6fbfa
@@ -61312,24 +62755,6 @@ member {
offset: 10880
}
member {
- id: 0xe2ce2718
- name: "coalesced_mmio"
- type_id: 0xffdb6969
- offset: 64
-}
-member {
- id: 0x48aab379
- name: "coalesced_mmio_ring"
- type_id: 0x2ced036e
- offset: 24640
-}
-member {
- id: 0x02a639fa
- name: "coalesced_zones"
- type_id: 0xd3c80119
- offset: 24768
-}
-member {
id: 0x5406c379
name: "code"
type_id: 0xe62ebf07
@@ -61492,12 +62917,6 @@ member {
offset: 192
}
member {
- id: 0x6710a2d3
- name: "col_idx"
- type_id: 0x914dbfdc
- offset: 928
-}
-member {
id: 0x48c91cfd
name: "collection"
type_id: 0x329e29fd
@@ -61510,12 +62929,6 @@ member {
offset: 32
}
member {
- id: 0x5a9c1331
- name: "collection_list"
- type_id: 0xd3c80119
- offset: 1728
-}
-member {
id: 0xd205c634
name: "collection_size"
type_id: 0x4585663f
@@ -61957,6 +63370,12 @@ member {
type_id: 0xfb3bb098
}
member {
+ id: 0x999f46a7
+ name: "comp"
+ type_id: 0x3fcbf304
+ offset: 3648
+}
+member {
id: 0x999f496f
name: "comp"
type_id: 0x3fcbf304
@@ -62111,6 +63530,12 @@ member {
offset: 11712
}
member {
+ id: 0x9ad71760
+ name: "compaction_in_progress"
+ type_id: 0x74d29cf1
+ offset: 17568
+}
+member {
id: 0x583d51cc
name: "companion_ports"
type_id: 0x33756485
@@ -62550,6 +63975,12 @@ member {
offset: 64
}
member {
+ id: 0xe5d87fc5
+ name: "component"
+ type_id: 0x3e10b518
+ offset: 64
+}
+member {
id: 0xe5eb95e0
name: "component"
type_id: 0x0dfeda6d
@@ -62692,6 +64123,24 @@ member {
offset: 672
}
member {
+ id: 0x4aed4e02
+ name: "compressed_ack"
+ type_id: 0x295c7202
+ offset: 13712
+}
+member {
+ id: 0x036494f3
+ name: "compressed_ack_rcv_nxt"
+ type_id: 0xc9082b19
+ offset: 12992
+}
+member {
+ id: 0xe98a4697
+ name: "compressed_ack_timer"
+ type_id: 0xcd7704bf
+ offset: 16320
+}
+member {
id: 0xfb567eb3
name: "compressed_header_size"
type_id: 0xe8034002
@@ -62791,12 +64240,6 @@ member {
type_id: 0x92233392
}
member {
- id: 0xd1469e0e
- name: "config"
- type_id: 0xe357f5b0
- offset: 704
-}
-member {
id: 0xd1483d50
name: "config"
type_id: 0xedf277ba
@@ -63121,16 +64564,16 @@ member {
offset: 1216
}
member {
- id: 0x35c9d647
+ id: 0x35c9dc28
name: "conn_flags"
type_id: 0x953457e9
- offset: 38720
+ offset: 39104
}
member {
- id: 0x938b4863
+ id: 0x938b4e26
name: "conn_hash"
type_id: 0xf1245c57
- offset: 28352
+ offset: 28736
}
member {
id: 0xde3f53d2
@@ -63175,6 +64618,12 @@ member {
offset: 3648
}
member {
+ id: 0x495c1c6d
+ name: "conn_request"
+ type_id: 0x2c210d23
+ offset: 256
+}
+member {
id: 0x220e0197
name: "conn_state"
type_id: 0x33756485
@@ -63247,6 +64696,12 @@ member {
offset: 1152
}
member {
+ id: 0x997c2cff
+ name: "connect_lock"
+ type_id: 0xa7c362b0
+ offset: 8000
+}
+member {
id: 0xee1e8424
name: "connect_phy"
type_id: 0x2c4aa19f
@@ -63504,6 +64959,12 @@ member {
offset: 384
}
member {
+ id: 0xaf3405ec
+ name: "constraint"
+ type_id: 0x6df42b18
+ offset: 448
+}
+member {
id: 0x02afc8a1
name: "constraint_set_flags"
type_id: 0xb3e7bac9
@@ -63805,16 +65266,16 @@ member {
offset: 2176
}
member {
- id: 0xfc37c610
+ id: 0xfc1d642c
name: "control"
- type_id: 0x0baa70a7
- offset: 96
+ type_id: 0x21069feb
+ offset: 1472
}
member {
- id: 0xfcd19375
+ id: 0xfc37c610
name: "control"
- type_id: 0xedf277ba
- offset: 64
+ type_id: 0x0baa70a7
+ offset: 96
}
member {
id: 0xfcf56dc8
@@ -63855,6 +65316,12 @@ member {
type_id: 0xc9082b19
}
member {
+ id: 0xd8dc9c99
+ name: "controller"
+ type_id: 0xc9082b19
+ offset: 64
+}
+member {
id: 0x608f2d5b
name: "controller_data"
type_id: 0x18bd6530
@@ -63867,6 +65334,13 @@ member {
offset: 7552
}
member {
+ id: 0x1db19505
+ name: "controller_valid"
+ type_id: 0x295c7202
+ offset: 145
+ bitsize: 1
+}
+member {
id: 0x474fe3e5
name: "controls"
type_id: 0xd3c80119
@@ -63921,6 +65395,12 @@ member {
offset: 320
}
member {
+ id: 0x3c401b61
+ name: "convert_csum"
+ type_id: 0xb3e7bac9
+ offset: 7128
+}
+member {
id: 0x3f2fb089
name: "convert_ctx_access"
type_id: 0x1aa00f75
@@ -63950,6 +65430,11 @@ member {
offset: 64
}
member {
+ id: 0x5846e373
+ name: "cookie"
+ type_id: 0x0cb73b55
+}
+member {
id: 0x5852e92d
name: "cookie"
type_id: 0x18bd6530
@@ -64066,6 +65551,18 @@ member {
offset: 192
}
member {
+ id: 0x5414dc08
+ name: "copied"
+ type_id: 0x6720d32f
+ offset: 320
+}
+member {
+ id: 0x1ec2d3d6
+ name: "copied_seq"
+ type_id: 0xc9082b19
+ offset: 12512
+}
+member {
id: 0x58138131
name: "copied_timestamp"
type_id: 0x4585663f
@@ -64293,12 +65790,24 @@ member {
offset: 1472
}
member {
+ id: 0xa608f9d7
+ name: "cork"
+ type_id: 0x60790295
+ offset: 7296
+}
+member {
id: 0xa64d7141
name: "cork"
type_id: 0x25fbbcbe
offset: 256
}
member {
+ id: 0xa677c461
+ name: "cork"
+ type_id: 0x1f434195
+ offset: 1088
+}
+member {
id: 0x7105015a
name: "cork_bytes"
type_id: 0xc9082b19
@@ -64629,12 +66138,6 @@ member {
type_id: 0xc9082b19
}
member {
- id: 0x65ec5e2d
- name: "count"
- type_id: 0xc9082b19
- offset: 128
-}
-member {
id: 0x6a729dee
name: "count_buckets"
type_id: 0x914dbfdc
@@ -64703,6 +66206,12 @@ member {
offset: 320
}
member {
+ id: 0xb91305cd
+ name: "counts"
+ type_id: 0x5d529b1e
+ offset: 128
+}
+member {
id: 0x70db1c35
name: "coupled_rdevs"
type_id: 0x094e2874
@@ -64768,23 +66277,11 @@ member {
offset: 256
}
member {
- id: 0x9ba00ef7
- name: "cpl"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x92c2a1ed
name: "cpp"
type_id: 0x861a0f9a
}
member {
- id: 0x0cc65d59
- name: "cptr_el2"
- type_id: 0x92233392
- offset: 14976
-}
-member {
id: 0x510c8cb9
name: "cpu"
type_id: 0x0a1d1ec5
@@ -64902,12 +66399,6 @@ member {
offset: 544
}
member {
- id: 0x51e0ba6b
- name: "cpu"
- type_id: 0xe62ebf07
- offset: 64
-}
-member {
id: 0x4c158848
name: "cpu_addr_fixup"
type_id: 0x1c275b9b
@@ -65029,12 +66520,6 @@ member {
offset: 384
}
member {
- id: 0x502de800
- name: "cpu_pm_nb"
- type_id: 0x449a775b
- offset: 3840
-}
-member {
id: 0xd7b3f93b
name: "cpu_pwqs"
type_id: 0x2033e582
@@ -65553,12 +67038,6 @@ member {
offset: 2176
}
member {
- id: 0x00fa5522
- name: "cr8"
- type_id: 0xedf277ba
- offset: 128
-}
-member {
id: 0xf3e73479
name: "cra_alignmask"
type_id: 0x4585663f
@@ -65695,16 +67174,10 @@ member {
offset: 64
}
member {
- id: 0x110caede
- name: "creadr"
- type_id: 0xc9082b19
- offset: 1088
-}
-member {
- id: 0x0fad648a
+ id: 0x0f89928e
name: "create"
- type_id: 0x2e1b59dd
- offset: 64
+ type_id: 0x0aee7ba0
+ offset: 320
}
member {
id: 0x0fae5380
@@ -65782,18 +67255,6 @@ member {
bitsize: 1
}
member {
- id: 0x92faaaee
- name: "created"
- type_id: 0x6d7f5ff6
- offset: 4448
-}
-member {
- id: 0x221ad62a
- name: "created_vcpus"
- type_id: 0x6720d32f
- offset: 18752
-}
-member {
id: 0xced3c28a
name: "cred"
type_id: 0x30650ba6
@@ -66117,6 +67578,12 @@ member {
offset: 37248
}
member {
+ id: 0x5497e4e5
+ name: "crypto_profile"
+ type_id: 0x08956bf0
+ offset: 2304
+}
+member {
id: 0x5497e671
name: "crypto_profile"
type_id: 0x08956bf0
@@ -66284,11 +67751,6 @@ member {
offset: 656
}
member {
- id: 0x5d7bf520
- name: "csr_num"
- type_id: 0x33756485
-}
-member {
id: 0xde0d95ff
name: "css"
type_id: 0x861be646
@@ -66556,12 +68018,6 @@ member {
offset: 256
}
member {
- id: 0x8ed30508
- name: "ctlr"
- type_id: 0x74d29cf1
- offset: 31872
-}
-member {
id: 0x7d794a79
name: "ctm"
type_id: 0x343ebce3
@@ -66580,6 +68036,12 @@ member {
offset: 576
}
member {
+ id: 0x64f1a684
+ name: "ctr"
+ type_id: 0xec2f5289
+ offset: 320
+}
+member {
id: 0x6900647d
name: "ctrl"
type_id: 0x8e6fc5b1
@@ -66723,6 +68185,12 @@ member {
offset: 64
}
member {
+ id: 0xec94e17c
+ name: "ctx"
+ type_id: 0x0d12f45b
+ offset: 256
+}
+member {
id: 0xeca4247d
name: "ctx"
type_id: 0x3dd75e25
@@ -66867,11 +68335,6 @@ member {
type_id: 0x39ee9172
}
member {
- id: 0x2723fe2c
- name: "ctxt"
- type_id: 0x6a241fb6
-}
-member {
id: 0x91091e90
name: "cur"
type_id: 0x0b9cf8cf
@@ -66901,10 +68364,10 @@ member {
type_id: 0xec0a20ff
}
member {
- id: 0xee8ba20d
+ id: 0xee8bae4d
name: "cur_adv_instance"
type_id: 0xb3e7bac9
- offset: 44960
+ offset: 45344
}
member {
id: 0x2dbb1524
@@ -67073,6 +68536,12 @@ member {
type_id: 0x92233392
}
member {
+ id: 0x80fbe8a7
+ name: "cur_snapshots"
+ type_id: 0xc9082b19
+ offset: 864
+}
+member {
id: 0x8b31830e
name: "cur_stack"
type_id: 0x6720d32f
@@ -67484,6 +68953,12 @@ member {
offset: 192
}
member {
+ id: 0xd7cfbd25
+ name: "cwnd_usage_seq"
+ type_id: 0xc9082b19
+ offset: 14592
+}
+member {
id: 0x1d7a6d67
name: "cwr"
type_id: 0xe8034002
@@ -67491,12 +68966,6 @@ member {
bitsize: 1
}
member {
- id: 0x09c4ee83
- name: "cwriter"
- type_id: 0xc9082b19
- offset: 1120
-}
-member {
id: 0x9ed15d15
name: "cxl"
type_id: 0x6d7f5ff6
@@ -67551,6 +69020,12 @@ member {
offset: 16
}
member {
+ id: 0xc325cba2
+ name: "d"
+ type_id: 0x3f0185ef
+ offset: 128
+}
+member {
id: 0x8b60974a
name: "d1_support"
type_id: 0x4585663f
@@ -67865,6 +69340,12 @@ member {
offset: 1280
}
member {
+ id: 0xcc4dd9fb
+ name: "d_sz"
+ type_id: 0xf435685e
+ offset: 640
+}
+member {
id: 0x8fb0e835
name: "d_term_en"
type_id: 0x4585663f
@@ -67959,6 +69440,12 @@ member {
offset: 32
}
member {
+ id: 0xca75de5a
+ name: "daddr_cache"
+ type_id: 0x3b461cc8
+ offset: 320
+}
+member {
id: 0xf25f00aa
name: "dai_elems"
type_id: 0x0baa70a7
@@ -68266,12 +69753,6 @@ member {
offset: 64
}
member {
- id: 0xff5aeac8
- name: "data"
- type_id: 0xc8c766a0
- offset: 128
-}
-member {
id: 0xff5b2c47
name: "data"
type_id: 0xc9082b19
@@ -68325,12 +69806,6 @@ member {
offset: 480
}
member {
- id: 0xff7407e8
- name: "data"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0xff770e06
name: "data"
type_id: 0xe5217790
@@ -68361,12 +69836,6 @@ member {
offset: 64
}
member {
- id: 0xff7fdfd9
- name: "data"
- type_id: 0xedf277ba
- offset: 128
-}
-member {
id: 0xff886278
name: "data"
type_id: 0x1a41d386
@@ -68645,6 +70114,12 @@ member {
offset: 64
}
member {
+ id: 0xffb32814
+ name: "data"
+ type_id: 0x21069feb
+ offset: 1536
+}
+member {
id: 0xffb530a9
name: "data"
type_id: 0x2712b6f9
@@ -68663,6 +70138,12 @@ member {
offset: 64
}
member {
+ id: 0xffbef712
+ name: "data"
+ type_id: 0x2cdbb77a
+ offset: 192
+}
+member {
id: 0xffc40278
name: "data"
type_id: 0x562614d8
@@ -68714,17 +70195,6 @@ member {
type_id: 0x764913b9
}
member {
- id: 0xffe56b33
- name: "data"
- type_id: 0x774f5f7f
-}
-member {
- id: 0xffe56fd2
- name: "data"
- type_id: 0x774f5f7f
- offset: 64
-}
-member {
id: 0xffe71c01
name: "data"
type_id: 0x75386dca
@@ -68927,18 +70397,18 @@ member {
offset: 128
}
member {
+ id: 0x109b80af
+ name: "data_mode"
+ type_id: 0x5d8155a5
+ offset: 576
+}
+member {
id: 0x970da8c8
name: "data_offset"
type_id: 0x4585663f
offset: 320
}
member {
- id: 0x97a5dcff
- name: "data_offset"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
id: 0x97a5dfa6
name: "data_offset"
type_id: 0xedf277ba
@@ -69028,6 +70498,18 @@ member {
offset: 800
}
member {
+ id: 0x7ecbe350
+ name: "data_segs_in"
+ type_id: 0xc9082b19
+ offset: 12448
+}
+member {
+ id: 0xdb2f5379
+ name: "data_segs_out"
+ type_id: 0xc9082b19
+ offset: 12640
+}
+member {
id: 0x9e8ccb80
name: "data_shift"
type_id: 0x5d8155a5
@@ -69237,6 +70719,18 @@ member {
offset: 64
}
member {
+ id: 0x57d05926
+ name: "dax_dev"
+ type_id: 0x35abdbf6
+ offset: 1920
+}
+member {
+ id: 0x57d05c19
+ name: "dax_dev"
+ type_id: 0x35abdbf6
+ offset: 64
+}
+member {
id: 0x57d05f3f
name: "dax_dev"
type_id: 0x35abdbf6
@@ -69249,6 +70743,12 @@ member {
offset: 7680
}
member {
+ id: 0x830b1efa
+ name: "dax_recovery_write"
+ type_id: 0xdbb955db
+ offset: 1664
+}
+member {
id: 0x08509b5c
name: "dax_seed"
type_id: 0x0258f96e
@@ -69261,16 +70761,10 @@ member {
offset: 64
}
member {
- id: 0xd3a54092
- name: "db_bitmap"
- type_id: 0x064d6086
- offset: 384
-}
-member {
- id: 0x3baa0bf3
- name: "db_lpi_base"
- type_id: 0x22b36393
- offset: 320
+ id: 0xc7158a13
+ name: "dax_zero_page_range"
+ type_id: 0xc272516a
+ offset: 1600
}
member {
id: 0xf540eeb1
@@ -69291,17 +70785,6 @@ member {
offset: 59200
}
member {
- id: 0x5cb6e321
- name: "dbg_bcr"
- type_id: 0x774f5f7f
-}
-member {
- id: 0xb8d95da8
- name: "dbg_bvr"
- type_id: 0x774f5f7f
- offset: 1024
-}
-member {
id: 0x7a634154
name: "dbg_client_name"
type_id: 0x0483e6f8
@@ -69338,18 +70821,6 @@ member {
offset: 2944
}
member {
- id: 0x6a57f232
- name: "dbg_wcr"
- type_id: 0x774f5f7f
- offset: 2048
-}
-member {
- id: 0x88756f7c
- name: "dbg_wvr"
- type_id: 0x774f5f7f
- offset: 3072
-}
-member {
id: 0x24017197
name: "dbi_base"
type_id: 0x18bd6530
@@ -69392,12 +70863,6 @@ member {
offset: 128
}
member {
- id: 0x0a10a4f8
- name: "dcache_clean_inval_poc"
- type_id: 0x0fc9cef8
- offset: 512
-}
-member {
id: 0x14599da8
name: "dcbaa"
type_id: 0x3b0b4c9d
@@ -69502,11 +70967,6 @@ member {
offset: 64
}
member {
- id: 0xc747f834
- name: "dcr"
- type_id: 0x24232993
-}
-member {
id: 0xc74a8b1e
name: "dcr"
type_id: 0x295c7202
@@ -69519,11 +70979,6 @@ member {
offset: 8
}
member {
- id: 0xf1c2dba4
- name: "dcrn"
- type_id: 0xe62ebf07
-}
-member {
id: 0x50d8a1f7
name: "dct_part_sizes"
type_id: 0xddb527d3
@@ -69761,6 +71216,12 @@ member {
offset: 288
}
member {
+ id: 0xbc5ebfd1
+ name: "deathrow"
+ type_id: 0x5e8dc7f4
+ offset: 448
+}
+member {
id: 0x6b1d26fa
name: "debounce_period_us"
type_id: 0x4585663f
@@ -69773,17 +71234,18 @@ member {
offset: 256
}
member {
+ id: 0x74a266cc
+ name: "debounce_time"
+ type_id: 0x4585663f
+ offset: 96
+}
+member {
id: 0x070a913d
name: "debug"
type_id: 0x0c8ded5e
offset: 256
}
member {
- id: 0x07307794
- name: "debug"
- type_id: 0x366bef7d
-}
-member {
id: 0x073956d8
name: "debug"
type_id: 0x3f498f10
@@ -69862,12 +71324,6 @@ member {
offset: 1792
}
member {
- id: 0x7e662956
- name: "debug_ptr"
- type_id: 0x1cd322d1
- offset: 15424
-}
-member {
id: 0x2c8c53b8
name: "debug_rdesc"
type_id: 0x120540d1
@@ -69910,10 +71366,10 @@ member {
offset: 2176
}
member {
- id: 0x1c35799b
+ id: 0x1c35794d
name: "debugfs"
type_id: 0x120540d1
- offset: 31232
+ offset: 31616
}
member {
id: 0x1c357c44
@@ -69946,12 +71402,6 @@ member {
offset: 576
}
member {
- id: 0x6425d0fe
- name: "debugfs_dentry"
- type_id: 0x120540d1
- offset: 26432
-}
-member {
id: 0x35a0a098
name: "debugfs_dir"
type_id: 0x120540d1
@@ -70144,12 +71594,6 @@ member {
offset: 59008
}
member {
- id: 0xcd446a90
- name: "debugfs_stat_data"
- type_id: 0x073894f9
- offset: 26496
-}
-member {
id: 0xa113b6ec
name: "debugfs_tot_len"
type_id: 0x4585663f
@@ -70221,6 +71665,12 @@ member {
offset: 192
}
member {
+ id: 0x70fa6b40
+ name: "decrypt"
+ type_id: 0x2cd8a9c9
+ offset: 192
+}
+member {
id: 0x70fa8381
name: "decrypt"
type_id: 0x2c316317
@@ -70495,6 +71945,13 @@ member {
offset: 4096
}
member {
+ id: 0x35577470
+ name: "defer_connect"
+ type_id: 0xb3e7bac9
+ offset: 7114
+ bitsize: 1
+}
+member {
id: 0x81689872
name: "defer_count"
type_id: 0x6720d32f
@@ -70567,6 +72024,12 @@ member {
offset: 1408
}
member {
+ id: 0xf0efa471
+ name: "deferred"
+ type_id: 0x59cf4672
+ offset: 2880
+}
+member {
id: 0x17c292e0
name: "deferred_cmd"
type_id: 0x2ea8d96e
@@ -70591,6 +72054,12 @@ member {
offset: 576
}
member {
+ id: 0xa9cf9302
+ name: "deferred_lock"
+ type_id: 0xf313e71a
+ offset: 2816
+}
+member {
id: 0x94bc1785
name: "deferred_probe"
type_id: 0xd3c80119
@@ -70861,6 +72330,16 @@ member {
offset: 3072
}
member {
+ id: 0xc43f5f8d
+ name: "delayed_ndp16"
+ type_id: 0x3ba909c1
+}
+member {
+ id: 0xd408f584
+ name: "delayed_ndp32"
+ type_id: 0x35feb7e2
+}
+member {
id: 0x506f3dc2
name: "delayed_runtime"
type_id: 0x11c404ba
@@ -70939,12 +72418,24 @@ member {
offset: 480
}
member {
+ id: 0x986caa86
+ name: "delivered"
+ type_id: 0xc9082b19
+ offset: 15232
+}
+member {
id: 0x9871b666
name: "delivered"
type_id: 0xd41e888f
offset: 128
}
member {
+ id: 0xe06780dd
+ name: "delivered_ce"
+ type_id: 0xc9082b19
+ offset: 15264
+}
+member {
id: 0xe07a91f0
name: "delivered_ce"
type_id: 0xd41e888f
@@ -70957,6 +72448,12 @@ member {
offset: 3008
}
member {
+ id: 0xc6e15ebb
+ name: "delivered_mstamp"
+ type_id: 0x92233392
+ offset: 15424
+}
+member {
id: 0xb362d7b2
name: "dellink"
type_id: 0x0da22dc7
@@ -71201,6 +72698,12 @@ member {
offset: 2368
}
member {
+ id: 0x1b2184e9
+ name: "depth"
+ type_id: 0x4585663f
+ offset: 96
+}
+member {
id: 0x1b218a1d
name: "depth"
type_id: 0x4585663f
@@ -71242,6 +72745,12 @@ member {
offset: 256
}
member {
+ id: 0x8001f399
+ name: "deq"
+ type_id: 0x78f4e574
+ offset: 64
+}
+member {
id: 0x02f59ce0
name: "deq_seg"
type_id: 0x3ef55b88
@@ -71291,12 +72800,6 @@ member {
offset: 128
}
member {
- id: 0x8a59e26d
- name: "dequeued"
- type_id: 0xb3e7bac9
- offset: 128
-}
-member {
id: 0x7f5400a8
name: "derive_sw_secret"
type_id: 0x2d4915c7
@@ -71315,11 +72818,6 @@ member {
offset: 16
}
member {
- id: 0x87807fd8
- name: "desc"
- type_id: 0x5a5219ed
-}
-member {
id: 0x8780fb54
name: "desc"
type_id: 0x5adf57ae
@@ -71391,10 +72889,10 @@ member {
offset: 1344
}
member {
- id: 0x87e1eb87
+ id: 0x87e0b654
name: "desc"
- type_id: 0x3bc2a7f0
- offset: 64
+ type_id: 0x3a9d5bb9
+ offset: 7872
}
member {
id: 0x87e3bc35
@@ -71765,12 +73263,6 @@ member {
offset: 384
}
member {
- id: 0xa4fbb750
- name: "destroy"
- type_id: 0x0d947d59
- offset: 192
-}
-member {
id: 0xa4fbcad2
name: "destroy"
type_id: 0x0de6f1fd
@@ -71865,12 +73357,6 @@ member {
offset: 256
}
member {
- id: 0xa414c1a9
- name: "destructor"
- type_id: 0x0ee038bb
- offset: 128
-}
-member {
id: 0xa414c5c8
name: "destructor"
type_id: 0x0ee55270
@@ -71900,6 +73386,12 @@ member {
offset: 128
}
member {
+ id: 0xa4170b6e
+ name: "destructor"
+ type_id: 0x0d27dc9d
+ offset: 64
+}
+member {
id: 0xa4b58e4f
name: "destructor"
type_id: 0xafafde12
@@ -72144,12 +73636,6 @@ member {
offset: 128
}
member {
- id: 0xce062759
- name: "dev"
- type_id: 0x3fc5b8b3
- offset: 256
-}
-member {
id: 0xce0653f5
name: "dev"
type_id: 0x3fb55e9f
@@ -72249,12 +73735,6 @@ member {
offset: 256
}
member {
- id: 0xce0bc034
- name: "dev"
- type_id: 0x322509a0
- offset: 448
-}
-member {
id: 0xce13618d
name: "dev"
type_id: 0x2a83c756
@@ -72415,16 +73895,16 @@ member {
offset: 896
}
member {
- id: 0xce1acc2a
+ id: 0xce1acc3f
name: "dev"
type_id: 0x23230326
- offset: 31296
+ offset: 1088
}
member {
- id: 0xce1acc3f
+ id: 0xce1acc55
name: "dev"
type_id: 0x23230326
- offset: 1088
+ offset: 31680
}
member {
id: 0xce1acdd7
@@ -72457,6 +73937,12 @@ member {
offset: 192
}
member {
+ id: 0xce34257f
+ name: "dev"
+ type_id: 0x0dc9e98b
+ offset: 1152
+}
+member {
id: 0xce3495b5
name: "dev"
type_id: 0x0d7ce7cc
@@ -72528,6 +74014,12 @@ member {
offset: 2880
}
member {
+ id: 0xce3bb522
+ name: "dev"
+ type_id: 0x0258f96e
+ offset: 3072
+}
+member {
id: 0xce3bb837
name: "dev"
type_id: 0x0258f96e
@@ -72617,12 +74109,6 @@ member {
offset: 2688
}
member {
- id: 0xce3c8adf
- name: "dev"
- type_id: 0x0561578b
- offset: 128
-}
-member {
id: 0xce3fe2d9
name: "dev"
type_id: 0x060cf413
@@ -72740,11 +74226,6 @@ member {
type_id: 0x68bb0e75
}
member {
- id: 0xa05ae8b2
- name: "dev_count"
- type_id: 0x6720d32f
-}
-member {
id: 0xa64bb146
name: "dev_debug"
type_id: 0x6720d32f
@@ -72787,10 +74268,10 @@ member {
offset: 22128
}
member {
- id: 0x76701066
+ id: 0x76701448
name: "dev_flags"
type_id: 0xb914bfab
- offset: 38656
+ offset: 39040
}
member {
id: 0xf95461ff
@@ -72870,12 +74351,23 @@ member {
offset: 2432
}
member {
+ id: 0x1d443303
+ name: "dev_info"
+ type_id: 0x0baa70a7
+}
+member {
id: 0x1d86e345
name: "dev_info"
type_id: 0xc97fa0d5
offset: 20608
}
member {
+ id: 0xb6174f2e
+ name: "dev_info2"
+ type_id: 0x0baa70a7
+ offset: 32
+}
+member {
id: 0x34b4b616
name: "dev_kobj"
type_id: 0x23f09c34
@@ -72906,6 +74398,12 @@ member {
offset: 832
}
member {
+ id: 0x770654c6
+ name: "dev_mac"
+ type_id: 0xabf64f28
+ offset: 1544
+}
+member {
id: 0x31c5367f
name: "dev_mapping"
type_id: 0x1582ab06
@@ -73106,6 +74604,12 @@ member {
type_id: 0x33756485
}
member {
+ id: 0x6ba2a863
+ name: "dev_state"
+ type_id: 0x0baa70a7
+ offset: 96
+}
+member {
id: 0x6bc4755d
name: "dev_state"
type_id: 0x6d7f5ff6
@@ -73535,11 +75039,6 @@ member {
type_id: 0x2f4eca66
}
member {
- id: 0xf5b742db
- name: "device_irq_level"
- type_id: 0xedf277ba
-}
-member {
id: 0x4432480f
name: "device_is_available"
type_id: 0x36d86941
@@ -73571,12 +75070,6 @@ member {
bitsize: 1
}
member {
- id: 0x5adf7097
- name: "device_list"
- type_id: 0xd3c80119
- offset: 1600
-}
-member {
id: 0x5adf788d
name: "device_list"
type_id: 0xd3c80119
@@ -73802,12 +75295,6 @@ member {
offset: 64
}
member {
- id: 0x33ed52b5
- name: "devices"
- type_id: 0xd3c80119
- offset: 26240
-}
-member {
id: 0x33ed531f
name: "devices"
type_id: 0xd3c80119
@@ -73820,6 +75307,12 @@ member {
offset: 3328
}
member {
+ id: 0x33ed565c
+ name: "devices"
+ type_id: 0xd3c80119
+ offset: 1984
+}
+member {
id: 0x33ed5762
name: "devices"
type_id: 0xd3c80119
@@ -73885,15 +75378,26 @@ member {
offset: 6816
}
member {
- id: 0x5685a7bf
+ id: 0x56ace115
name: "devlink"
- type_id: 0x25b57283
+ type_id: 0x0cf3d8fe
offset: 256
}
member {
- id: 0x5685afdd
+ id: 0x56ace1be
+ name: "devlink"
+ type_id: 0x0cf3d8fe
+}
+member {
+ id: 0x56ace87c
+ name: "devlink"
+ type_id: 0x0cf3d8fe
+ offset: 128
+}
+member {
+ id: 0x56ace977
name: "devlink"
- type_id: 0x25b57283
+ type_id: 0x0cf3d8fe
offset: 192
}
member {
@@ -73902,6 +75406,12 @@ member {
type_id: 0x3b68ec61
}
member {
+ id: 0xeb76e483
+ name: "devlink_port"
+ type_id: 0x3b68ec61
+ offset: 320
+}
+member {
id: 0xf45f2394
name: "devlink_rate"
type_id: 0x0f4dcd61
@@ -73978,6 +75488,12 @@ member {
offset: 192
}
member {
+ id: 0x1ea56ad0
+ name: "devnode"
+ type_id: 0x053432a7
+ offset: 64
+}
+member {
id: 0x1ea56fa3
name: "devnode"
type_id: 0x053432a7
@@ -74187,6 +75703,12 @@ member {
offset: 224
}
member {
+ id: 0x30b83368
+ name: "diagnose"
+ type_id: 0x2e2f03e7
+ offset: 192
+}
+member {
id: 0xc3552be5
name: "dialed_frequency"
type_id: 0xfc0e1dbd
@@ -74402,6 +75924,12 @@ member {
type_id: 0x23f09c34
}
member {
+ id: 0x2edf726f
+ name: "dir"
+ type_id: 0x295c7202
+ offset: 24
+}
+member {
id: 0x2ee42a6c
name: "dir"
type_id: 0x120540d1
@@ -74470,6 +75998,12 @@ member {
offset: 704
}
member {
+ id: 0x6b820536
+ name: "direct_access"
+ type_id: 0x5833b757
+ offset: 1536
+}
+member {
id: 0x6bfa0272
name: "direct_access"
type_id: 0x203e14bb
@@ -74488,11 +76022,6 @@ member {
bitsize: 1
}
member {
- id: 0xa02b28d6
- name: "direction"
- type_id: 0xb3e7bac9
-}
-member {
id: 0xa069b1d1
name: "direction"
type_id: 0xf17ebd32
@@ -74624,6 +76153,12 @@ member {
offset: 1536
}
member {
+ id: 0x077f45a8
+ name: "dirty_end"
+ type_id: 0x4585663f
+ offset: 864
+}
+member {
id: 0xcaa4df71
name: "dirty_exceeded"
type_id: 0x6720d32f
@@ -74636,17 +76171,6 @@ member {
offset: 192
}
member {
- id: 0x69efcf5e
- name: "dirty_gfns"
- type_id: 0x35324dc4
- offset: 128
-}
-member {
- id: 0x4647cbd4
- name: "dirty_index"
- type_id: 0xc9082b19
-}
-member {
id: 0xcd7da86d
name: "dirty_inode"
type_id: 0x0f69541a
@@ -74677,24 +76201,18 @@ member {
offset: 2368
}
member {
- id: 0x0741ce14
- name: "dirty_ring"
- type_id: 0x95e9e529
- offset: 77248
-}
-member {
- id: 0x8de27dbd
- name: "dirty_ring_size"
- type_id: 0xc9082b19
- offset: 34336
-}
-member {
id: 0xaa41fb92
name: "dirty_sleep"
type_id: 0x33756485
offset: 5312
}
member {
+ id: 0x522ab1e5
+ name: "dirty_start"
+ type_id: 0x4585663f
+ offset: 832
+}
+member {
id: 0xd7a3d362
name: "dis_hw_timestamp"
type_id: 0x2cb45ae6
@@ -74736,12 +76254,6 @@ member {
offset: 832
}
member {
- id: 0x0d828e0a
- name: "disable"
- type_id: 0x0f6acd3e
- offset: 2688
-}
-member {
id: 0x0d82e48b
name: "disable"
type_id: 0x0f04e0db
@@ -74766,6 +76278,12 @@ member {
offset: 960
}
member {
+ id: 0x0da0f708
+ name: "disable"
+ type_id: 0x2d12100b
+ offset: 64
+}
+member {
id: 0x0da0f771
name: "disable"
type_id: 0x2d126960
@@ -75040,6 +76558,13 @@ member {
offset: 1792
}
member {
+ id: 0x7a833cf4
+ name: "discards_supported"
+ type_id: 0x6d7f5ff6
+ offset: 577
+ bitsize: 1
+}
+member {
id: 0x513a35c9
name: "disconn_cfm"
type_id: 0x0cb52986
@@ -75156,16 +76681,16 @@ member {
offset: 6576
}
member {
- id: 0xec10e2f4
+ id: 0xec10e729
name: "discov_off"
type_id: 0xf1159c31
- offset: 17472
+ offset: 17856
}
member {
- id: 0x9d309caf
+ id: 0x9d30956d
name: "discov_timeout"
type_id: 0xe8034002
- offset: 17408
+ offset: 17792
}
member {
id: 0x8ca232e1
@@ -75174,22 +76699,22 @@ member {
offset: 768
}
member {
- id: 0xd0a93ec2
+ id: 0xd0a93c31
name: "discovery"
type_id: 0xf51d515d
- offset: 26688
+ offset: 27072
}
member {
- id: 0x45128fe7
+ id: 0x45128248
name: "discovery_old_state"
type_id: 0x6720d32f
- offset: 27840
+ offset: 28224
}
member {
- id: 0x98e4789b
+ id: 0x98e47471
name: "discovery_paused"
type_id: 0x6d7f5ff6
- offset: 27872
+ offset: 28256
}
member {
id: 0x8c9f2a57
@@ -75220,6 +76745,12 @@ member {
offset: 128
}
member {
+ id: 0x6071aa84
+ name: "disk"
+ type_id: 0x2131312a
+ offset: 1856
+}
+member {
id: 0xe00832b6
name: "disk_events_disable_depth"
type_id: 0x74d29cf1
@@ -75339,12 +76870,6 @@ member {
offset: 128
}
member {
- id: 0x1de22279
- name: "disr_el1"
- type_id: 0x92233392
- offset: 192
-}
-member {
id: 0x40f260d6
name: "dissector"
type_id: 0x2a316b68
@@ -75362,18 +76887,6 @@ member {
offset: 64
}
member {
- id: 0x929175ec
- name: "dist_id"
- type_id: 0x6720d32f
- offset: 96
-}
-member {
- id: 0x6fe87475
- name: "dist_iodev"
- type_id: 0x60b9a60c
- offset: 512
-}
-member {
id: 0x29b12afa
name: "div"
type_id: 0x4585663f
@@ -75560,6 +77073,12 @@ member {
offset: 384
}
member {
+ id: 0x56ecab6c
+ name: "dm_io"
+ type_id: 0x09b53a9f
+ offset: 1216
+}
+member {
id: 0x811af440
name: "dma"
type_id: 0xe02e14d6
@@ -76443,6 +77962,13 @@ member {
offset: 6336
}
member {
+ id: 0x4b741bd1
+ name: "dontfrag"
+ type_id: 0xe8034002
+ offset: 570
+ bitsize: 1
+}
+member {
id: 0xbd60b76c
name: "doorbell"
type_id: 0x7b0fa8c2
@@ -76526,12 +78052,24 @@ member {
type_id: 0x80ba3719
}
member {
+ id: 0x55f0c48b
+ name: "dp"
+ type_id: 0x3f0185ef
+ offset: 320
+}
+member {
id: 0x1e95895b
name: "dp_subconnector_property"
type_id: 0x2a670b41
offset: 7424
}
member {
+ id: 0x086093bd
+ name: "dp_sz"
+ type_id: 0xf435685e
+ offset: 832
+}
+member {
id: 0x93b48e83
name: "dpa"
type_id: 0xc7736674
@@ -76596,6 +78134,30 @@ member {
bitsize: 1
}
member {
+ id: 0xab0f277e
+ name: "dpe16"
+ type_id: 0xc82f70f4
+ offset: 64
+}
+member {
+ id: 0x015a8ae1
+ name: "dpe32"
+ type_id: 0xcb703345
+ offset: 128
+}
+member {
+ id: 0x32a55865
+ name: "dpipe_headers"
+ type_id: 0x27c7b3cb
+ offset: 1472
+}
+member {
+ id: 0x3d9266c0
+ name: "dpipe_table_list"
+ type_id: 0xd3c80119
+ offset: 448
+}
+member {
id: 0x95152d3f
name: "dplen"
type_id: 0xb3e7bac9
@@ -76658,6 +78220,12 @@ member {
offset: 1056
}
member {
+ id: 0x12302e1a
+ name: "dq"
+ type_id: 0x3f0185ef
+ offset: 384
+}
+member {
id: 0x535fdeda
name: "dq_count"
type_id: 0x74d29cf1
@@ -76741,6 +78309,12 @@ member {
offset: 960
}
member {
+ id: 0x8d88c04b
+ name: "dq_sz"
+ type_id: 0xf435685e
+ offset: 896
+}
+member {
id: 0xdae271b1
name: "dqb_bhardlimit"
type_id: 0x6b98fc5d
@@ -77587,6 +79161,12 @@ member {
offset: 192
}
member {
+ id: 0xbf6a10c0
+ name: "drvflags"
+ type_id: 0x6720d32f
+ offset: 1824
+}
+member {
id: 0xacd4449f
name: "drvpriv"
type_id: 0x18bd6530
@@ -77604,6 +79184,26 @@ member {
type_id: 0x0a5c3627
}
member {
+ id: 0x09aae020
+ name: "dsack"
+ type_id: 0x914dbfdc
+ offset: 130
+ bitsize: 1
+}
+member {
+ id: 0x7efdf5c5
+ name: "dsack_dups"
+ type_id: 0xc9082b19
+ offset: 12800
+}
+member {
+ id: 0x28f28f83
+ name: "dsack_seen"
+ type_id: 0x295c7202
+ offset: 173
+ bitsize: 1
+}
+member {
id: 0x3c3a7c4f
name: "dsc"
type_id: 0x0155bbcc
@@ -77782,12 +79382,24 @@ member {
offset: 128
}
member {
+ id: 0xbbab7e83
+ name: "dst"
+ type_id: 0x5ade635b
+ offset: 128
+}
+member {
id: 0xbbb264ba
name: "dst"
type_id: 0x43c73e81
offset: 896
}
member {
+ id: 0xbbe061af
+ name: "dst"
+ type_id: 0x11cffa09
+ offset: 448
+}
+member {
id: 0xbbe06e11
name: "dst"
type_id: 0x11cffa09
@@ -77806,12 +79418,42 @@ member {
offset: 64
}
member {
+ id: 0xbbe3f808
+ name: "dst"
+ type_id: 0x1259e377
+ offset: 192
+}
+member {
id: 0xbbf78102
name: "dst"
type_id: 0x0625c03a
offset: 160
}
member {
+ id: 0x94523a01
+ name: "dst0"
+ type_id: 0xe8034002
+ offset: 48
+}
+member {
+ id: 0xebf05092
+ name: "dst0opt"
+ type_id: 0x33642722
+ offset: 192
+}
+member {
+ id: 0x5493d7f6
+ name: "dst1"
+ type_id: 0xe8034002
+ offset: 80
+}
+member {
+ id: 0xfb3c6654
+ name: "dst1opt"
+ type_id: 0x33642722
+ offset: 320
+}
+member {
id: 0x59edf322
name: "dst_addr"
type_id: 0xbdd18903
@@ -77848,6 +79490,12 @@ member {
offset: 64
}
member {
+ id: 0x3e931a99
+ name: "dst_cookie"
+ type_id: 0xe62ebf07
+ offset: 640
+}
+member {
id: 0x24a0666b
name: "dst_csets"
type_id: 0xd3c80119
@@ -77866,6 +79514,12 @@ member {
offset: 168
}
member {
+ id: 0x352c27f4
+ name: "dst_len"
+ type_id: 0x4585663f
+ offset: 544
+}
+member {
id: 0x35da4011
name: "dst_len"
type_id: 0xb3e7bac9
@@ -77984,6 +79638,19 @@ member {
type_id: 0x2bcf25d1
}
member {
+ id: 0x38c1840e
+ name: "dsthao"
+ type_id: 0xe8034002
+ offset: 144
+}
+member {
+ id: 0xcc7711fa
+ name: "dstopts"
+ type_id: 0xe8034002
+ offset: 8
+ bitsize: 1
+}
+member {
id: 0x58e808e0
name: "dt"
type_id: 0x295c7202
@@ -78051,6 +79718,12 @@ member {
type_id: 0x6d7f5ff6
}
member {
+ id: 0xb0de17e8
+ name: "dtr"
+ type_id: 0xdee852ab
+ offset: 384
+}
+member {
id: 0xc9708f00
name: "dtr_rts"
type_id: 0x0f70080a
@@ -78170,6 +79843,12 @@ member {
offset: 960
}
member {
+ id: 0x0a7d4966
+ name: "dump"
+ type_id: 0x2e2ef220
+ offset: 128
+}
+member {
id: 0x0a7e5e7c
name: "dump"
type_id: 0x2d32ee3e
@@ -78206,6 +79885,24 @@ member {
offset: 7808
}
member {
+ id: 0x210293e8
+ name: "dump_fmsg"
+ type_id: 0x23d822f9
+ offset: 384
+}
+member {
+ id: 0x33fc8cf5
+ name: "dump_lock"
+ type_id: 0xa7c362b0
+ offset: 448
+}
+member {
+ id: 0x352c4ca4
+ name: "dump_real_ts"
+ type_id: 0x92233392
+ offset: 1024
+}
+member {
id: 0xc82958b0
name: "dump_segments"
type_id: 0xd3c80119
@@ -78230,6 +79927,12 @@ member {
offset: 832
}
member {
+ id: 0x1e719a84
+ name: "dump_ts"
+ type_id: 0x92233392
+ offset: 960
+}
+member {
id: 0xa92e0890
name: "dump_vendor_regs"
type_id: 0x0d21fdc9
@@ -78272,6 +79975,13 @@ member {
offset: 64
}
member {
+ id: 0x330d862e
+ name: "dup_ack_counter"
+ type_id: 0x295c7202
+ offset: 13720
+ bitsize: 2
+}
+member {
id: 0x74874671
name: "dup_xol_addr"
type_id: 0x33756485
@@ -78331,6 +80041,12 @@ member {
offset: 832
}
member {
+ id: 0xac4c8092
+ name: "duplicate_sack"
+ type_id: 0x8fb3c5ee
+ offset: 17152
+}
+member {
id: 0xe631c0e0
name: "duplicated"
type_id: 0x6d7f5ff6
@@ -78361,6 +80077,12 @@ member {
type_id: 0xc9082b19
}
member {
+ id: 0x5e3459b5
+ name: "duration_ns"
+ type_id: 0xd5df6730
+ offset: 64
+}
+member {
id: 0xd5562c37
name: "duty"
type_id: 0x7747934c
@@ -78438,6 +80160,46 @@ member {
type_id: 0x0baa70a7
}
member {
+ id: 0x09ca9dd2
+ name: "dwDatagramIndex"
+ type_id: 0x0baa70a7
+}
+member {
+ id: 0x348d64a1
+ name: "dwDatagramLength"
+ type_id: 0x0baa70a7
+ offset: 32
+}
+member {
+ id: 0x6e82996c
+ name: "dwNextNdpIndex"
+ type_id: 0x0baa70a7
+ offset: 64
+}
+member {
+ id: 0x7000a99b
+ name: "dwNtbInMaxSize"
+ type_id: 0x0baa70a7
+ offset: 32
+}
+member {
+ id: 0xc1f69c16
+ name: "dwNtbOutMaxSize"
+ type_id: 0x0baa70a7
+ offset: 128
+}
+member {
+ id: 0x46e37740
+ name: "dwReserved12"
+ type_id: 0x0baa70a7
+ offset: 96
+}
+member {
+ id: 0x1e7efd51
+ name: "dwSignature"
+ type_id: 0x0baa70a7
+}
+member {
id: 0x301130d9
name: "dword_0"
type_id: 0x0baa70a7
@@ -78525,12 +80287,6 @@ member {
offset: 32
}
member {
- id: 0xd4f73d44
- name: "dy_eligible"
- type_id: 0x6d7f5ff6
- offset: 8
-}
-member {
id: 0x0ca6a6a3
name: "dying"
type_id: 0x295c7202
@@ -78609,6 +80365,12 @@ member {
offset: 32
}
member {
+ id: 0x87e623f5
+ name: "e"
+ type_id: 0x3f0185ef
+ offset: 64
+}
+member {
id: 0x8d6d2188
name: "e1000_base_cx"
type_id: 0x295c7202
@@ -78722,6 +80484,12 @@ member {
offset: 16
}
member {
+ id: 0xab258a23
+ name: "e_sz"
+ type_id: 0xf435685e
+ offset: 576
+}
+member {
id: 0x8c50076a
name: "e_tag"
type_id: 0xb0312d5a
@@ -78861,6 +80629,12 @@ member {
offset: 1568
}
member {
+ id: 0x3dfa7679
+ name: "ecn_flags"
+ type_id: 0x295c7202
+ offset: 14640
+}
+member {
id: 0xd4971fcb
name: "ed"
type_id: 0x2d63ca24
@@ -79489,6 +81263,13 @@ member {
offset: 8512
}
member {
+ id: 0x4ccb6a85
+ name: "emulate_zone_append"
+ type_id: 0x6d7f5ff6
+ offset: 579
+ bitsize: 1
+}
+member {
id: 0x030a11d9
name: "emulated"
type_id: 0x4585663f
@@ -79496,11 +81277,6 @@ member {
bitsize: 1
}
member {
- id: 0x3ba0211e
- name: "emulation_failure"
- type_id: 0x1bf61cb5
-}
-member {
id: 0x1d3635db
name: "en_hw_timestamp"
type_id: 0x2cb45ae6
@@ -79562,6 +81338,11 @@ member {
offset: 896
}
member {
+ id: 0x98ca1d0f
+ name: "enable"
+ type_id: 0x2d12100b
+}
+member {
id: 0x98ca2102
name: "enable"
type_id: 0x2d2e1d2d
@@ -79596,12 +81377,6 @@ member {
type_id: 0x33756485
}
member {
- id: 0x98e86c88
- name: "enable"
- type_id: 0x0f6acd3e
- offset: 2624
-}
-member {
id: 0x98e9418c
name: "enable"
type_id: 0x0e4a72a9
@@ -79657,6 +81432,12 @@ member {
offset: 22144
}
member {
+ id: 0x7a5a9024
+ name: "enable_count"
+ type_id: 0xc9082b19
+ offset: 7808
+}
+member {
id: 0x7a5a9508
name: "enable_count"
type_id: 0xc9082b19
@@ -79913,18 +81694,6 @@ member {
offset: 9024
}
member {
- id: 0x3a2d355a
- name: "enabled"
- type_id: 0x6d7f5ff6
- offset: 8
-}
-member {
- id: 0x3a2d3590
- name: "enabled"
- type_id: 0x6d7f5ff6
- offset: 504
-}
-member {
id: 0x3a2d367c
name: "enabled"
type_id: 0x6d7f5ff6
@@ -79937,18 +81706,6 @@ member {
offset: 136
}
member {
- id: 0x3a2d374f
- name: "enabled"
- type_id: 0x6d7f5ff6
- offset: 2240
-}
-member {
- id: 0x3a2d39cb
- name: "enabled"
- type_id: 0x6d7f5ff6
- offset: 448
-}
-member {
id: 0x3a2d3a5d
name: "enabled"
type_id: 0x6d7f5ff6
@@ -79978,15 +81735,16 @@ member {
type_id: 0x6d7f5ff6
}
member {
- id: 0x3a2d3f2e
+ id: 0x3a34937f
name: "enabled"
- type_id: 0x6d7f5ff6
- offset: 384
+ type_id: 0x74d29cf1
}
member {
- id: 0x3a34937f
+ id: 0x7a56a000
name: "enabled"
- type_id: 0x74d29cf1
+ type_id: 0xc9082b19
+ offset: 95
+ bitsize: 1
}
member {
id: 0x7a56a64a
@@ -80249,6 +82007,12 @@ member {
offset: 64
}
member {
+ id: 0x893e9a51
+ name: "encrypt"
+ type_id: 0x2cd8a9c9
+ offset: 128
+}
+member {
id: 0x897f3adb
name: "encrypt"
type_id: 0x6d7f5ff6
@@ -80267,12 +82031,6 @@ member {
offset: 64
}
member {
- id: 0x823c26d1
- name: "end"
- type_id: 0x33756485
- offset: 192
-}
-member {
id: 0x823c2af9
name: "end"
type_id: 0x33756485
@@ -80381,6 +82139,18 @@ member {
offset: 2368
}
member {
+ id: 0xec2a10b4
+ name: "end_io"
+ type_id: 0x0c483694
+ offset: 1152
+}
+member {
+ id: 0xec54a25c
+ name: "end_io"
+ type_id: 0x72f27b5e
+ offset: 640
+}
+member {
id: 0xb9877618
name: "end_io_data"
type_id: 0x18bd6530
@@ -80405,6 +82175,18 @@ member {
offset: 64
}
member {
+ id: 0xd5a56009
+ name: "end_seq"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
+ id: 0xd5a564b1
+ name: "end_seq"
+ type_id: 0xc9082b19
+ offset: 96
+}
+member {
id: 0x357800a2
name: "end_station"
type_id: 0x6d7f5ff6
@@ -81002,11 +82784,6 @@ member {
offset: 4288
}
member {
- id: 0xa2d43869
- name: "eoi"
- type_id: 0x38ab0bc9
-}
-member {
id: 0xa2dfe6ad
name: "eoi"
type_id: 0x33756485
@@ -81121,6 +82898,17 @@ member {
offset: 64
}
member {
+ id: 0x43272c66
+ name: "ep_info"
+ type_id: 0x0baa70a7
+}
+member {
+ id: 0x3efdd095
+ name: "ep_info2"
+ type_id: 0x0baa70a7
+ offset: 32
+}
+member {
id: 0x93a1b3b9
name: "ep_init"
type_id: 0x0d4a6a9f
@@ -81196,16 +82984,6 @@ member {
offset: 64
}
member {
- id: 0x044a9f42
- name: "epr"
- type_id: 0xe62ebf07
-}
-member {
- id: 0x04b5cf1e
- name: "epr"
- type_id: 0x197ee30b
-}
-member {
id: 0x4571d9d3
name: "eps"
type_id: 0x9a1c0141
@@ -81366,6 +83144,18 @@ member {
offset: 1152
}
member {
+ id: 0x7f0253e8
+ name: "error"
+ type_id: 0x0483e6f8
+ offset: 64
+}
+member {
+ id: 0x7f025c11
+ name: "error"
+ type_id: 0x0483e6f8
+ offset: 512
+}
+member {
id: 0x7f4352ad
name: "error"
type_id: 0x4585663f
@@ -81408,11 +83198,6 @@ member {
offset: 1088
}
member {
- id: 0x7fb53355
- name: "error"
- type_id: 0xb3e7bac9
-}
-member {
id: 0x7fb6e678
name: "error"
type_id: 0xb0312d5a
@@ -81426,10 +83211,10 @@ member {
bitsize: 1
}
member {
- id: 0x76c39912
- name: "error_code"
- type_id: 0xe62ebf07
- offset: 32
+ id: 0x0b6ea206
+ name: "error_count"
+ type_id: 0x92233392
+ offset: 1088
}
member {
id: 0x0b9ba55b
@@ -81617,16 +83402,6 @@ member {
type_id: 0x6df98672
}
member {
- id: 0xfe44cfde
- name: "esr_el2"
- type_id: 0x92233392
-}
-member {
- id: 0x215cae19
- name: "esr_iss"
- type_id: 0xedf277ba
-}
-member {
id: 0x951f933e
name: "essid"
type_id: 0xb76debc5
@@ -81644,6 +83419,42 @@ member {
offset: 256
}
member {
+ id: 0x2d2ca64a
+ name: "eswitch_encap_mode_get"
+ type_id: 0x2d046cf4
+ offset: 1408
+}
+member {
+ id: 0x0e5d040f
+ name: "eswitch_encap_mode_set"
+ type_id: 0x2df84197
+ offset: 1472
+}
+member {
+ id: 0xff091101
+ name: "eswitch_inline_mode_get"
+ type_id: 0x2d3ffbc6
+ offset: 1280
+}
+member {
+ id: 0xf81283dc
+ name: "eswitch_inline_mode_set"
+ type_id: 0x2d161d5c
+ offset: 1344
+}
+member {
+ id: 0x67ecafb3
+ name: "eswitch_mode_get"
+ type_id: 0x2d11ffb5
+ offset: 1152
+}
+member {
+ id: 0x06f3214d
+ name: "eswitch_mode_set"
+ type_id: 0x2dae0c91
+ offset: 1216
+}
+member {
id: 0xca94b2d4
name: "eth_tp_mdix"
type_id: 0xb3e7bac9
@@ -81668,6 +83479,12 @@ member {
offset: 112
}
member {
+ id: 0x48630da5
+ name: "ether_desc"
+ type_id: 0x3f387468
+ offset: 1408
+}
+member {
id: 0xedf651c0
name: "ether_spec"
type_id: 0xed0cdc47
@@ -81872,12 +83689,6 @@ member {
type_id: 0x82107bd5
}
member {
- id: 0x0ad7602b
- name: "event"
- type_id: 0x98849204
- offset: 288
-}
-member {
id: 0x0add8422
name: "event"
type_id: 0x9264e992
@@ -81924,6 +83735,12 @@ member {
type_id: 0x8b7a3a75
}
member {
+ id: 0x5138cba7
+ name: "event_context"
+ type_id: 0x18bd6530
+ offset: 2176
+}
+member {
id: 0x93a48b9c
name: "event_count"
type_id: 0x33756485
@@ -81959,6 +83776,12 @@ member {
offset: 368
}
member {
+ id: 0xd4abd33d
+ name: "event_fn"
+ type_id: 0x0f3dfb90
+ offset: 2112
+}
+member {
id: 0x50510202
name: "event_handler"
type_id: 0x2d7c118b
@@ -82084,6 +83907,12 @@ member {
offset: 1344
}
member {
+ id: 0x56ec2c77
+ name: "event_nr"
+ type_id: 0x74d29cf1
+ offset: 3712
+}
+member {
id: 0x5d544312
name: "event_read_lock"
type_id: 0xa7c362b0
@@ -82120,6 +83949,12 @@ member {
offset: 1984
}
member {
+ id: 0x8daeae65
+ name: "event_type"
+ type_id: 0xc9082b19
+ offset: 64
+}
+member {
id: 0x8dfc7230
name: "event_type"
type_id: 0x9bd401b6
@@ -82174,6 +84009,12 @@ member {
bitsize: 1
}
member {
+ id: 0x9f773f87
+ name: "eventq"
+ type_id: 0x03913382
+ offset: 3520
+}
+member {
id: 0x110fb720
name: "events"
type_id: 0xfa03c3cb
@@ -82210,12 +84051,6 @@ member {
offset: 640
}
member {
- id: 0x112c08c3
- name: "events"
- type_id: 0xd9b5b8b6
- offset: 256
-}
-member {
id: 0x113c8788
name: "events"
type_id: 0xc93e017b
@@ -82245,11 +84080,6 @@ member {
offset: 1032
}
member {
- id: 0x11a602db
- name: "events"
- type_id: 0x53bf0b06
-}
-member {
id: 0x11c1079f
name: "events"
type_id: 0x34bd88ad
@@ -82285,17 +84115,6 @@ member {
offset: 9984
}
member {
- id: 0x97ab0bd6
- name: "events_guest"
- type_id: 0xc9082b19
- offset: 32
-}
-member {
- id: 0xa9fd6a40
- name: "events_host"
- type_id: 0xc9082b19
-}
-member {
id: 0x5701ba28
name: "events_local_file"
type_id: 0x0ee0f933
@@ -82350,12 +84169,6 @@ member {
offset: 256
}
member {
- id: 0x89066d93
- name: "evt_page"
- type_id: 0xedf277ba
- offset: 128
-}
-member {
id: 0x6ad2f83c
name: "evt_rx"
type_id: 0xe62ebf07
@@ -82386,22 +84199,12 @@ member {
offset: 256
}
member {
- id: 0xbba39a9a
- name: "ex"
- type_id: 0x00e0bdde
-}
-member {
id: 0x9941f692
name: "exceed"
type_id: 0x1a6854cd
offset: 416
}
member {
- id: 0x6245278e
- name: "exception"
- type_id: 0xe62ebf07
-}
-member {
id: 0xc448ecdc
name: "exception_arg"
type_id: 0x18bd6530
@@ -82634,6 +84437,12 @@ member {
offset: 1792
}
member {
+ id: 0x0d2e2ebd
+ name: "exit"
+ type_id: 0x0e2271e2
+ offset: 512
+}
+member {
id: 0x0d2e75d7
name: "exit"
type_id: 0x0e72a800
@@ -82766,12 +84575,6 @@ member {
offset: 2624
}
member {
- id: 0x4f84d1da
- name: "exit_reason"
- type_id: 0xe62ebf07
- offset: 64
-}
-member {
id: 0x4648209b
name: "exit_request"
type_id: 0x0c60f8c3
@@ -82820,10 +84623,10 @@ member {
offset: 1024
}
member {
- id: 0x237f1104
- name: "exits"
- type_id: 0x92233392
- offset: 7040
+ id: 0x9633fcdf
+ name: "exp"
+ type_id: 0x6d7f5ff6
+ offset: 136
}
member {
id: 0x964efc36
@@ -83005,6 +84808,12 @@ member {
offset: 256
}
member {
+ id: 0x91036748
+ name: "expires"
+ type_id: 0x33756485
+ offset: 704
+}
+member {
id: 0x91036cb7
name: "expires"
type_id: 0x33756485
@@ -83063,6 +84872,11 @@ member {
offset: 608
}
member {
+ id: 0xbd3cd538
+ name: "expkey"
+ type_id: 0x668e8237
+}
+member {
id: 0x01992270
name: "explicit_contract"
type_id: 0x6d7f5ff6
@@ -83105,12 +84919,6 @@ member {
offset: 640
}
member {
- id: 0xdf3a40d2
- name: "exponent"
- type_id: 0x007e8ce4
- offset: 32
-}
-member {
id: 0x248e76cf
name: "export"
type_id: 0x1bfa1156
@@ -83387,11 +85195,6 @@ member {
offset: 128
}
member {
- id: 0xbf324d0a
- name: "extension_id"
- type_id: 0x33756485
-}
-member {
id: 0x9478fd81
name: "extension_prog"
type_id: 0x3382a638
@@ -83436,12 +85239,6 @@ member {
bitsize: 1
}
member {
- id: 0x15ff4fe5
- name: "external_debug_state"
- type_id: 0x590c6dd8
- offset: 19584
-}
-member {
id: 0x77b6c0c4
name: "external_facing"
type_id: 0x4585663f
@@ -83888,6 +85685,11 @@ member {
offset: 672
}
member {
+ id: 0xe37696ac
+ name: "faddr"
+ type_id: 0xe276adef
+}
+member {
id: 0x0bad70a4
name: "fade_length"
type_id: 0xe8034002
@@ -83911,11 +85713,6 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0x73029e0c
- name: "fail_entry"
- type_id: 0x315223c4
-}
-member {
id: 0x75d852d0
name: "failcnt"
type_id: 0x33756485
@@ -84009,6 +85806,12 @@ member {
type_id: 0xc93e017b
}
member {
+ id: 0x9e9c9ad1
+ name: "family"
+ type_id: 0xc93e017b
+ offset: 112
+}
+member {
id: 0x9ebdabf6
name: "family"
type_id: 0xe8034002
@@ -84044,18 +85847,6 @@ member {
type_id: 0xb3e7bac9
}
member {
- id: 0xe9c99bd1
- name: "far"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
- id: 0x550ab6b9
- name: "far_el2"
- type_id: 0x92233392
- offset: 64
-}
-member {
id: 0x0b6f4436
name: "fast_io"
type_id: 0x6d7f5ff6
@@ -84067,6 +85858,18 @@ member {
type_id: 0x6d7f5ff6
}
member {
+ id: 0xcee88548
+ name: "fast_ipv6_only"
+ type_id: 0x6d7f5ff6
+ offset: 336
+}
+member {
+ id: 0xfd693ce8
+ name: "fast_rcv_saddr"
+ type_id: 0xe276adef
+ offset: 288
+}
+member {
id: 0xd0fd5f6f
name: "fast_reconnect"
type_id: 0x2ddf4eb6
@@ -84079,6 +85882,12 @@ member {
offset: 704
}
member {
+ id: 0x247ebe29
+ name: "fast_sk_family"
+ type_id: 0xc93e017b
+ offset: 320
+}
+member {
id: 0xe96aa3ec
name: "fast_start_pfn"
type_id: 0x33756485
@@ -84103,6 +85912,12 @@ member {
offset: 4992
}
member {
+ id: 0x6398a0a9
+ name: "fast_v6_rcv_saddr"
+ type_id: 0x6d25e07f
+ offset: 160
+}
+member {
id: 0xbe23cb67
name: "fastchannel_db_ring"
type_id: 0x0e44aca7
@@ -84115,6 +85930,63 @@ member {
offset: 192
}
member {
+ id: 0xa42f5b5e
+ name: "fastopen_client_fail"
+ type_id: 0x295c7202
+ offset: 13862
+ bitsize: 2
+}
+member {
+ id: 0x5d29f448
+ name: "fastopen_connect"
+ type_id: 0x295c7202
+ offset: 13859
+ bitsize: 1
+}
+member {
+ id: 0x72c8b468
+ name: "fastopen_no_cookie"
+ type_id: 0x295c7202
+ offset: 13860
+ bitsize: 1
+}
+member {
+ id: 0x349100e3
+ name: "fastopen_req"
+ type_id: 0x04a9576c
+ offset: 18688
+}
+member {
+ id: 0x7a4a99f1
+ name: "fastopen_rsk"
+ type_id: 0x27847a9a
+ offset: 18752
+}
+member {
+ id: 0x5aaa76bb
+ name: "fastopenq"
+ type_id: 0xce180920
+ offset: 320
+}
+member {
+ id: 0xa6e81f22
+ name: "fastreuse"
+ type_id: 0x5ab350f8
+ offset: 112
+}
+member {
+ id: 0x244da0b8
+ name: "fastreuseport"
+ type_id: 0x5ab350f8
+ offset: 120
+}
+member {
+ id: 0x73b4d4d5
+ name: "fastuid"
+ type_id: 0xe90b32b7
+ offset: 128
+}
+member {
id: 0xa3521312
name: "fasync"
type_id: 0x25e44921
@@ -84168,12 +86040,6 @@ member {
offset: 1280
}
member {
- id: 0x7b6a6e0c
- name: "fault"
- type_id: 0xe41fd2fe
- offset: 15104
-}
-member {
id: 0x7bb750d9
name: "fault"
type_id: 0x39290604
@@ -84215,12 +86081,6 @@ member {
offset: 320
}
member {
- id: 0x559b32a7
- name: "fault_ipa"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
id: 0x5a9c41ae
name: "fault_param"
type_id: 0x2974a3dd
@@ -84532,12 +86392,6 @@ member {
type_id: 0x98ac6d35
}
member {
- id: 0xb86505a9
- name: "fc"
- type_id: 0xb3e7bac9
- offset: 80
-}
-member {
id: 0x0cf29fc2
name: "fc_delete_all_nh"
type_id: 0x914dbfdc
@@ -85159,6 +87013,11 @@ member {
offset: 1664
}
member {
+ id: 0xc504f94b
+ name: "features"
+ type_id: 0x1c898f28
+}
+member {
id: 0xc531247f
name: "features"
type_id: 0x295c7202
@@ -85207,6 +87066,12 @@ member {
offset: 7744
}
member {
+ id: 0xc58a570e
+ name: "features"
+ type_id: 0x92233392
+ offset: 2496
+}
+member {
id: 0xc5a16345
name: "features"
type_id: 0xb914bfab
@@ -85219,12 +87084,6 @@ member {
offset: 11712
}
member {
- id: 0xc5a16f87
- name: "features"
- type_id: 0xb914bfab
- offset: 67264
-}
-member {
id: 0xc5bc078c
name: "features"
type_id: 0xa4764ce0
@@ -85417,6 +87276,11 @@ member {
offset: 256
}
member {
+ id: 0x4e824c05
+ name: "fh"
+ type_id: 0x982afc69
+}
+member {
id: 0x2db4ae9c
name: "fh_list"
type_id: 0xd3c80119
@@ -85818,10 +87682,10 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0xfbd45c2d
+ id: 0xfbd4593e
name: "fib_notify_on_flag_change"
type_id: 0x295c7202
- offset: 1416
+ offset: 1440
}
member {
id: 0x1c61123e
@@ -86032,6 +87896,12 @@ member {
offset: 352
}
member {
+ id: 0x784a4b9b
+ name: "fields"
+ type_id: 0x19df035f
+ offset: 128
+}
+member {
id: 0x788054c9
name: "fields"
type_id: 0xd3c80119
@@ -86055,6 +87925,12 @@ member {
offset: 256
}
member {
+ id: 0x361d56de
+ name: "fields_count"
+ type_id: 0x4585663f
+ offset: 192
+}
+member {
id: 0x53870b05
name: "fiemap"
type_id: 0x2c74fe37
@@ -86628,12 +88504,6 @@ member {
type_id: 0x09451098
}
member {
- id: 0x033b7284
- name: "filter_match"
- type_id: 0x2c2ce191
- offset: 3328
-}
-member {
id: 0x033b7c37
name: "filter_match"
type_id: 0x2c2ce191
@@ -86839,11 +88709,6 @@ member {
offset: 32
}
member {
- id: 0x1f01199c
- name: "first"
- type_id: 0xe62ebf07
-}
-member {
id: 0x1f2e3f08
name: "first"
type_id: 0xc9082b19
@@ -86956,6 +88821,12 @@ member {
offset: 6720
}
member {
+ id: 0xc8ee40be
+ name: "first_tx_mstamp"
+ type_id: 0x92233392
+ offset: 15360
+}
+member {
id: 0x7fb051f9
name: "firstuse"
type_id: 0xedf277ba
@@ -87000,6 +88871,18 @@ member {
offset: 8032
}
member {
+ id: 0x7fd91e93
+ name: "fixed_in_len"
+ type_id: 0xc9082b19
+ offset: 2048
+}
+member {
+ id: 0x09807f7a
+ name: "fixed_out_len"
+ type_id: 0xc9082b19
+ offset: 2016
+}
+member {
id: 0x2899a5e8
name: "fixed_rate"
type_id: 0x6d7f5ff6
@@ -87042,6 +88925,18 @@ member {
offset: 832
}
member {
+ id: 0x75129e6a
+ name: "fl"
+ type_id: 0x0bbb7f1b
+ offset: 64
+}
+member {
+ id: 0x75577b27
+ name: "fl"
+ type_id: 0x4e5da42b
+ offset: 448
+}
+member {
id: 0x0476553f
name: "fl_blocked_member"
type_id: 0xd3c80119
@@ -87124,6 +89019,12 @@ member {
offset: 1408
}
member {
+ id: 0x1f4e61c9
+ name: "fl_net"
+ type_id: 0x0ca27481
+ offset: 768
+}
+member {
id: 0xda5f8429
name: "fl_ops"
type_id: 0x374e1049
@@ -87332,6 +89233,12 @@ member {
offset: 128
}
member {
+ id: 0x2d0fadac
+ name: "flags"
+ type_id: 0x6720d32f
+ offset: 1056
+}
+member {
id: 0x2d0fadff
name: "flags"
type_id: 0x6720d32f
@@ -87923,12 +89830,6 @@ member {
offset: 2112
}
member {
- id: 0x2d5bffb1
- name: "flags"
- type_id: 0x33756485
- offset: 2880
-}
-member {
id: 0x2d5bffb9
name: "flags"
type_id: 0x33756485
@@ -88034,16 +89935,16 @@ member {
offset: 16
}
member {
- id: 0x2d808bd3
+ id: 0x2d808bdf
name: "flags"
type_id: 0xe8034002
- offset: 112
+ offset: 48
}
member {
- id: 0x2d808bdf
+ id: 0x2d808edc
name: "flags"
type_id: 0xe8034002
- offset: 48
+ offset: 128
}
member {
id: 0x2d85715e
@@ -88052,12 +89953,6 @@ member {
offset: 448
}
member {
- id: 0x2d8572c8
- name: "flags"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
id: 0x2d8573b6
name: "flags"
type_id: 0xedf277ba
@@ -88420,6 +90315,12 @@ member {
offset: 128
}
member {
+ id: 0x2dccf0c8
+ name: "flags"
+ type_id: 0xa47a28f3
+ offset: 16
+}
+member {
id: 0x2dd0356f
name: "flags"
type_id: 0xb8b86aa0
@@ -88503,12 +90404,6 @@ member {
offset: 32
}
member {
- id: 0x2ddb7ced
- name: "flags"
- type_id: 0xb3f81878
- offset: 256
-}
-member {
id: 0x2de12263
name: "flags"
type_id: 0x89ab06e3
@@ -88630,6 +90525,12 @@ member {
offset: 1600
}
member {
+ id: 0x5ef8d6d5
+ name: "flash_update"
+ type_id: 0x2d16aeaf
+ offset: 1600
+}
+member {
id: 0x4ad49fc7
name: "flat"
type_id: 0x0faae5b1
@@ -88666,6 +90567,11 @@ member {
offset: 64
}
member {
+ id: 0xdf2fd72b
+ name: "flavour"
+ type_id: 0x03e0374b
+}
+member {
id: 0x9a18c6a2
name: "flc_flock"
type_id: 0xd3c80119
@@ -88749,6 +90655,12 @@ member {
offset: 416
}
member {
+ id: 0x2ac20e0b
+ name: "flow_label"
+ type_id: 0xe276adef
+ offset: 384
+}
+member {
id: 0xe809ed63
name: "flow_limit"
type_id: 0x16665d14
@@ -88908,10 +90820,10 @@ member {
offset: 384
}
member {
- id: 0x7f822124
+ id: 0x7f8229da
name: "flush"
type_id: 0x2c2c3c2e
- offset: 50176
+ offset: 50560
}
member {
id: 0x7f825805
@@ -89059,6 +90971,13 @@ member {
bitsize: 1
}
member {
+ id: 0xa1b9c8d2
+ name: "flush_supported"
+ type_id: 0x6d7f5ff6
+ offset: 576
+ bitsize: 1
+}
+member {
id: 0x702e33bb
name: "flush_to"
type_id: 0xe8034002
@@ -89467,11 +91386,6 @@ member {
offset: 19400
}
member {
- id: 0x53106073
- name: "force_pte_cb"
- type_id: 0x7eadb465
-}
-member {
id: 0x9bf39d6f
name: "force_reset"
type_id: 0x6d7f5ff6
@@ -89737,12 +91651,6 @@ member {
offset: 2432
}
member {
- id: 0x06effd42
- name: "fp_state"
- type_id: 0x7e388552
- offset: 15360
-}
-member {
id: 0x13eb8d7b
name: "fpcr"
type_id: 0xe62ebf07
@@ -89905,6 +91813,12 @@ member {
offset: 192
}
member {
+ id: 0xce6a9610
+ name: "frag_max_size"
+ type_id: 0xe8034002
+ offset: 160
+}
+member {
id: 0x9fdfc4ad
name: "frag_off"
type_id: 0x7584e7da
@@ -89923,6 +91837,12 @@ member {
offset: 1792
}
member {
+ id: 0x3c1c76af
+ name: "frag_size"
+ type_id: 0xe62ebf07
+ offset: 416
+}
+member {
id: 0x3c33517f
name: "frag_size"
type_id: 0xc9082b19
@@ -90017,6 +91937,12 @@ member {
offset: 192
}
member {
+ id: 0xe25ba6f2
+ name: "fragsize"
+ type_id: 0x4585663f
+ offset: 128
+}
+member {
id: 0x16107977
name: "frame"
type_id: 0x6720d32f
@@ -90391,6 +92317,11 @@ member {
offset: 320
}
member {
+ id: 0xfeafbaf6
+ name: "free"
+ type_id: 0x0db22504
+}
+member {
id: 0xfeafc015
name: "free"
type_id: 0x0dcbeae6
@@ -90421,6 +92352,12 @@ member {
offset: 1600
}
member {
+ id: 0x6458e4c6
+ name: "free_buffer_wait"
+ type_id: 0x03913382
+ offset: 1536
+}
+member {
id: 0xc583ca0b
name: "free_buffers"
type_id: 0xeb923a9b
@@ -90445,6 +92382,12 @@ member {
offset: 768
}
member {
+ id: 0xd988303d
+ name: "free_container_ctx"
+ type_id: 0x0faaab57
+ offset: 640
+}
+member {
id: 0x3e10e356
name: "free_context"
type_id: 0x23826b7b
@@ -90457,6 +92400,12 @@ member {
offset: 64
}
member {
+ id: 0x77a0ad98
+ name: "free_dcbaa"
+ type_id: 0x0f9e7cc3
+ offset: 256
+}
+member {
id: 0xcd8f3d51
name: "free_dev"
type_id: 0x0cecd312
@@ -90529,12 +92478,6 @@ member {
offset: 832
}
member {
- id: 0x3e423a64
- name: "free_index"
- type_id: 0xc9082b19
- offset: 160
-}
-member {
id: 0x6f43c6d6
name: "free_inode"
type_id: 0x0f0e74c9
@@ -90627,12 +92570,6 @@ member {
offset: 384
}
member {
- id: 0xfc81ed63
- name: "free_notifier"
- type_id: 0x0c0e84bd
- offset: 576
-}
-member {
id: 0x79d71685
name: "free_on_exit"
type_id: 0x6d7f5ff6
@@ -90651,12 +92588,6 @@ member {
offset: 256
}
member {
- id: 0xef540e05
- name: "free_pages_exact"
- type_id: 0x0fc9cef8
- offset: 128
-}
-member {
id: 0x54942a8c
name: "free_pfn"
type_id: 0x33756485
@@ -90712,6 +92643,12 @@ member {
offset: 448
}
member {
+ id: 0x3965c2a5
+ name: "free_transfer_ring"
+ type_id: 0x0fbe0b29
+ offset: 384
+}
+member {
id: 0x5584ef29
name: "free_upper_chunks"
type_id: 0x6720d32f
@@ -90735,6 +92672,13 @@ member {
offset: 64
}
member {
+ id: 0x0ccb8adb
+ name: "freebind"
+ type_id: 0xb3e7bac9
+ offset: 7106
+ bitsize: 1
+}
+member {
id: 0xedafcd8e
name: "freehigh"
type_id: 0x21d43a7b
@@ -91176,6 +93120,13 @@ member {
offset: 384
}
member {
+ id: 0xdaf769b4
+ name: "frto"
+ type_id: 0x295c7202
+ offset: 13871
+ bitsize: 1
+}
+member {
id: 0x9442b15a
name: "fs"
type_id: 0x9f206b88
@@ -91467,10 +93418,9 @@ member {
offset: 712
}
member {
- id: 0xf667d80f
+ id: 0xf667dcee
name: "fullness_list"
type_id: 0xb8bf135c
- offset: 64
}
member {
id: 0xfeb50ea0
@@ -91648,6 +93598,12 @@ member {
offset: 192
}
member {
+ id: 0xaab5e3db
+ name: "func_desc"
+ type_id: 0x3beb3e50
+ offset: 1216
+}
+member {
id: 0x74d098cf
name: "func_id"
type_id: 0xc9082b19
@@ -91861,12 +93817,6 @@ member {
type_id: 0xabc38a13
}
member {
- id: 0xad24c471
- name: "function_id"
- type_id: 0x33756485
- offset: 64
-}
-member {
id: 0x364a66b1
name: "function_num_map"
type_id: 0x33756485
@@ -91926,6 +93876,11 @@ member {
offset: 96
}
member {
+ id: 0x91e86fed
+ name: "fw"
+ type_id: 0x33011141
+}
+member {
id: 0x51f9c40d
name: "fw_download"
type_id: 0x2d816bb9
@@ -91938,10 +93893,10 @@ member {
offset: 7496
}
member {
- id: 0xed3cf293
+ id: 0xed3cf7e2
name: "fw_info"
type_id: 0x3e10b518
- offset: 31168
+ offset: 31552
}
member {
id: 0x6f04a1ea
@@ -92203,6 +94158,12 @@ member {
offset: 1728
}
member {
+ id: 0x1875f880
+ name: "gadget"
+ type_id: 0x25653b02
+ offset: 192
+}
+member {
id: 0x2c80bff4
name: "gadget_driver"
type_id: 0xcffecd3e
@@ -92514,11 +94475,6 @@ member {
offset: 1984
}
member {
- id: 0x694cfe41
- name: "generation"
- type_id: 0x92233392
-}
-member {
id: 0x699b5cf5
name: "generation"
type_id: 0x4585663f
@@ -92541,14 +94497,16 @@ member {
type_id: 0x09dc021e
}
member {
- id: 0x42aa8b1f
+ id: 0x4257f83b
name: "generic"
- type_id: 0x9008e757
+ type_id: 0x6d7f5ff6
+ offset: 80
}
member {
- id: 0x42be7fea
+ id: 0x4257f846
name: "generic"
- type_id: 0x84fc1211
+ type_id: 0x6d7f5ff6
+ offset: 64
}
member {
id: 0x42d6db26
@@ -92640,6 +94598,12 @@ member {
offset: 2368
}
member {
+ id: 0x3a26f97c
+ name: "geometry"
+ type_id: 0x4db3b057
+ offset: 2240
+}
+member {
id: 0x3a570a9f
name: "geometry"
type_id: 0x3c416994
@@ -92775,12 +94739,6 @@ member {
offset: 320
}
member {
- id: 0xbe7a98dd
- name: "get_attr"
- type_id: 0x2ee94408
- offset: 384
-}
-member {
id: 0xd9eaaef2
name: "get_boot_addr"
type_id: 0x1dc9ac6f
@@ -92876,10 +94834,10 @@ member {
offset: 768
}
member {
- id: 0x483f37d6
+ id: 0x483f3007
name: "get_codec_config_data"
type_id: 0x2c9f2c07
- offset: 51008
+ offset: 51392
}
member {
id: 0xc0137b3b
@@ -92936,10 +94894,10 @@ member {
offset: 448
}
member {
- id: 0x6ae7b18d
+ id: 0x6ae7b5b9
name: "get_data_path_id"
type_id: 0x2c0a55f9
- offset: 50944
+ offset: 51328
}
member {
id: 0x6b09f785
@@ -93092,10 +95050,10 @@ member {
offset: 1600
}
member {
- id: 0x09fd4226
- name: "get_event_idx"
- type_id: 0x2c3b9241
- offset: 2752
+ id: 0xd77c9cbe
+ name: "get_event"
+ type_id: 0x2d3dc4f9
+ offset: 256
}
member {
id: 0xad0b27c9
@@ -93272,12 +95230,24 @@ member {
offset: 128
}
member {
+ id: 0x1d9b9b9d
+ name: "get_info"
+ type_id: 0x2e735a06
+ offset: 320
+}
+member {
id: 0x1d9baad0
name: "get_info"
type_id: 0x2e43a9f5
offset: 640
}
member {
+ id: 0xbaa156f0
+ name: "get_info_size"
+ type_id: 0x2cd9dff0
+ offset: 384
+}
+member {
id: 0x8e932e8e
name: "get_ino_and_lblk_bits"
type_id: 0x0ccaa6cc
@@ -93290,12 +95260,6 @@ member {
offset: 576
}
member {
- id: 0x682b5a38
- name: "get_input_level"
- type_id: 0x334b2254
- offset: 64
-}
-member {
id: 0x69c08ebc
name: "get_intermediate"
type_id: 0x397a812c
@@ -93617,10 +95581,10 @@ member {
offset: 320
}
member {
- id: 0xcf22b6e3
+ id: 0xcf06c106
name: "get_page"
- type_id: 0x0f3dfb90
- offset: 192
+ type_id: 0x2b4b15b4
+ offset: 128
}
member {
id: 0xacf61961
@@ -94300,6 +96264,12 @@ member {
offset: 640
}
member {
+ id: 0xd9ad3ae7
+ name: "getsockopt"
+ type_id: 0x2c451522
+ offset: 512
+}
+member {
id: 0xd9adeb4d
name: "getsockopt"
type_id: 0x2c975498
@@ -94336,24 +96306,12 @@ member {
offset: 1024
}
member {
- id: 0xc25cb27c
- name: "gfn_tree"
- type_id: 0xeb923a9b
- offset: 256
-}
-member {
id: 0x8b338b1d
name: "gfp"
type_id: 0xf1a6dfed
offset: 320
}
member {
- id: 0xde99678b
- name: "gfp_custom"
- type_id: 0xf1a6dfed
- offset: 64
-}
-member {
id: 0x81a9f110
name: "gfp_flags"
type_id: 0xf1a6dfed
@@ -94383,6 +96341,12 @@ member {
type_id: 0xf1a6dfed
}
member {
+ id: 0xa4b05168
+ name: "gfp_mask"
+ type_id: 0xe0785a59
+ offset: 192
+}
+member {
id: 0xa4b05766
name: "gfp_mask"
type_id: 0xe0785a59
@@ -94395,12 +96359,6 @@ member {
offset: 16
}
member {
- id: 0x8e40fa3f
- name: "gfp_zero"
- type_id: 0xf1a6dfed
- offset: 32
-}
-member {
id: 0x3b2054a4
name: "gicd_typer"
type_id: 0xc9082b19
@@ -94466,6 +96424,12 @@ member {
offset: 576
}
member {
+ id: 0x55f132cc
+ name: "global"
+ type_id: 0x6d7f5ff6
+ offset: 224
+}
+member {
id: 0x9e65d647
name: "global"
type_id: 0x6d7f5ff6
@@ -94497,6 +96461,12 @@ member {
offset: 7360
}
member {
+ id: 0xc81f8729
+ name: "global_list"
+ type_id: 0xd3c80119
+ offset: 320
+}
+member {
id: 0x523f440f
name: "global_node"
type_id: 0xd3c80119
@@ -94695,23 +96665,6 @@ member {
offset: 64
}
member {
- id: 0xc1d9a180
- name: "gpa"
- type_id: 0x1b4ba19a
-}
-member {
- id: 0xca660682
- name: "gpc_list"
- type_id: 0xd3c80119
- offset: 18560
-}
-member {
- id: 0x46e189ff
- name: "gpc_lock"
- type_id: 0xf313e71a
- offset: 18496
-}
-member {
id: 0x4298e7ea
name: "gpd_list_node"
type_id: 0xd3c80119
@@ -94802,11 +96755,6 @@ member {
offset: 2688
}
member {
- id: 0x2bc76984
- name: "gprs"
- type_id: 0x6fb0151f
-}
-member {
id: 0x1ef489e6
name: "grab"
type_id: 0x39c3bcd2
@@ -94819,6 +96767,12 @@ member {
offset: 128
}
member {
+ id: 0x62d28eb5
+ name: "graceful_period"
+ type_id: 0x92233392
+ offset: 832
+}
+member {
id: 0x0277381e
name: "graft"
type_id: 0x2f294863
@@ -94999,12 +96953,6 @@ member {
type_id: 0xe145bd36
}
member {
- id: 0xd37422b2
- name: "group"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0xd37a0cc8
name: "group"
type_id: 0xe8034002
@@ -95046,12 +96994,6 @@ member {
offset: 256
}
member {
- id: 0xd3bb5c92
- name: "group"
- type_id: 0x295c7202
- offset: 696
-}
-member {
id: 0xd3be02c5
name: "group"
type_id: 0x2c0aa9ee
@@ -95064,12 +97006,6 @@ member {
offset: 2400
}
member {
- id: 0xd3ff70d7
- name: "group"
- type_id: 0x6d7f5ff6
- offset: 16
-}
-member {
id: 0x26e58ea7
name: "group_caps"
type_id: 0x6720d32f
@@ -95331,6 +97267,18 @@ member {
offset: 2240
}
member {
+ id: 0x085eba8a
+ name: "gso_segs"
+ type_id: 0x914dbfdc
+ offset: 12304
+}
+member {
+ id: 0xeaa4b2c9
+ name: "gso_size"
+ type_id: 0xe8034002
+ offset: 304
+}
+member {
id: 0xcf0db7be
name: "gso_skb"
type_id: 0x578f9c2b
@@ -95391,18 +97339,6 @@ member {
bitsize: 1
}
member {
- id: 0xd014eabd
- name: "guest_debug"
- type_id: 0x33756485
- offset: 512
-}
-member {
- id: 0x57b4f0b1
- name: "guest_debug_preserved"
- type_id: 0x2d873b56
- offset: 66752
-}
-member {
id: 0x3cad5ec0
name: "guid"
type_id: 0xedf277ba
@@ -95539,71 +97475,6 @@ member {
offset: 1024
}
member {
- id: 0x0e3de808
- name: "halt_attempted_poll"
- type_id: 0x92233392
- offset: 64
-}
-member {
- id: 0xd7979ded
- name: "halt_poll_fail_hist"
- type_id: 0x70444415
- offset: 2496
-}
-member {
- id: 0x5e1d7f8d
- name: "halt_poll_fail_ns"
- type_id: 0x92233392
- offset: 320
-}
-member {
- id: 0x5f0d9541
- name: "halt_poll_invalid"
- type_id: 0x92233392
- offset: 128
-}
-member {
- id: 0xcffef03f
- name: "halt_poll_ns"
- type_id: 0x4585663f
- offset: 1280
-}
-member {
- id: 0x47baacc5
- name: "halt_poll_success_hist"
- type_id: 0x70444415
- offset: 448
-}
-member {
- id: 0xdc094b5c
- name: "halt_poll_success_ns"
- type_id: 0x92233392
- offset: 256
-}
-member {
- id: 0x0946dc8b
- name: "halt_successful_poll"
- type_id: 0x92233392
-}
-member {
- id: 0x2665d054
- name: "halt_wait_hist"
- type_id: 0x70444415
- offset: 4544
-}
-member {
- id: 0xa1ad1dfd
- name: "halt_wait_ns"
- type_id: 0x92233392
- offset: 384
-}
-member {
- id: 0xe9b25d2a
- name: "halt_wakeup"
- type_id: 0x92233392
- offset: 192
-}
-member {
id: 0xb805b270
name: "handle"
type_id: 0xe62ebf07
@@ -95657,11 +97528,6 @@ member {
offset: 7424
}
member {
- id: 0xb8f5134f
- name: "handle"
- type_id: 0x16864222
-}
-member {
id: 0xf4a652d3
name: "handle_break"
type_id: 0x0ebd5484
@@ -95715,12 +97581,6 @@ member {
offset: 960
}
member {
- id: 0x72a25545
- name: "handle_irq"
- type_id: 0x0110ab48
- offset: 2560
-}
-member {
id: 0x33f92e8a
name: "handle_kick"
type_id: 0xb61e350c
@@ -95992,16 +97852,6 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0xa4a87cc7
- name: "hardware_entry_failure_reason"
- type_id: 0xedf277ba
-}
-member {
- id: 0x6364e5fc
- name: "hardware_exit_reason"
- type_id: 0xedf277ba
-}
-member {
id: 0x7a882c59
name: "hardware_test"
type_id: 0x2c494e22
@@ -96033,12 +97883,6 @@ member {
offset: 856
}
member {
- id: 0x5d4925a5
- name: "has_attr"
- type_id: 0x2ee94408
- offset: 448
-}
-member {
id: 0x698e14ba
name: "has_blocked_load"
type_id: 0x4585663f
@@ -96172,12 +98016,6 @@ member {
offset: 64
}
member {
- id: 0x557bdab2
- name: "has_its"
- type_id: 0x6d7f5ff6
- offset: 832
-}
-member {
id: 0xe114c970
name: "has_ld_abs"
type_id: 0x6d7f5ff6
@@ -96671,16 +98509,6 @@ member {
offset: 384
}
member {
- id: 0xd9db4be5
- name: "hcall"
- type_id: 0x033c2bb8
-}
-member {
- id: 0xd9dce494
- name: "hcall"
- type_id: 0x04935a3e
-}
-member {
id: 0x4f00ad96
name: "hcc_params"
type_id: 0xe62ebf07
@@ -96794,12 +98622,6 @@ member {
offset: 128
}
member {
- id: 0xc4593e51
- name: "hcr_el2"
- type_id: 0x92233392
- offset: 14848
-}
-member {
id: 0xd39b1380
name: "hcs_params"
type_id: 0xe62ebf07
@@ -97046,6 +98868,19 @@ member {
offset: 480
}
member {
+ id: 0x3cd68edd
+ name: "hdrincl"
+ type_id: 0xb3e7bac9
+ offset: 7107
+ bitsize: 1
+}
+member {
+ id: 0xd608b573
+ name: "hdrlen"
+ type_id: 0xb3e7bac9
+ offset: 8
+}
+member {
id: 0xd6dc741c
name: "hdrlen"
type_id: 0x6720d32f
@@ -97200,6 +99035,11 @@ member {
offset: 64
}
member {
+ id: 0xb56701d9
+ name: "head"
+ type_id: 0x3db8d8c8
+}
+member {
id: 0xb568e1b3
name: "head"
type_id: 0x3258b271
@@ -97325,11 +99165,6 @@ member {
offset: 256
}
member {
- id: 0xb5e76888
- name: "head"
- type_id: 0xbdd18903
-}
-member {
id: 0x61e179fc
name: "head_file"
type_id: 0xd3c80119
@@ -97421,6 +99256,18 @@ member {
offset: 480
}
member {
+ id: 0x7a0a7faf
+ name: "header_len"
+ type_id: 0xc9082b19
+ offset: 1952
+}
+member {
+ id: 0x7a86fcdb
+ name: "header_len"
+ type_id: 0x4585663f
+ offset: 864
+}
+member {
id: 0x7aa45c87
name: "header_len"
type_id: 0x6720d32f
@@ -97450,6 +99297,17 @@ member {
type_id: 0x0524ca5a
}
member {
+ id: 0x614c39f2
+ name: "headers"
+ type_id: 0x0f657fc1
+}
+member {
+ id: 0x958f08da
+ name: "headers_count"
+ type_id: 0x4585663f
+ offset: 64
+}
+member {
id: 0x3e17b5ef
name: "headroom"
type_id: 0xe8034002
@@ -97497,6 +99355,12 @@ member {
offset: 896
}
member {
+ id: 0x768a691a
+ name: "health_state"
+ type_id: 0x295c7202
+ offset: 912
+}
+member {
id: 0x049198e2
name: "heap"
type_id: 0x0de3ba50
@@ -97734,6 +99598,12 @@ member {
offset: 64
}
member {
+ id: 0x39a33a5e
+ name: "hi"
+ type_id: 0xe8034002
+ offset: 16
+}
+member {
id: 0xf5cc8294
name: "hibern8_exit_cnt"
type_id: 0xc9082b19
@@ -97866,6 +99736,12 @@ member {
offset: 3712
}
member {
+ id: 0x60f3e5b5
+ name: "high_seq"
+ type_id: 0xc9082b19
+ offset: 17856
+}
+member {
id: 0x15795ada
name: "high_speed"
type_id: 0x4585663f
@@ -97902,12 +99778,24 @@ member {
offset: 12992
}
member {
+ id: 0x6da3106a
+ name: "highest_sack"
+ type_id: 0x054f691a
+ offset: 17728
+}
+member {
id: 0x2ca966e1
name: "highest_zoneidx"
type_id: 0xc5d9d969
offset: 864
}
member {
+ id: 0x6da33f40
+ name: "highs"
+ type_id: 0x3ebcd127
+ offset: 1728
+}
+member {
id: 0x06f8b424
name: "highspeed"
type_id: 0x295c7202
@@ -98103,6 +99991,12 @@ member {
offset: 1152
}
member {
+ id: 0xffe3e6f3
+ name: "hold_count"
+ type_id: 0x4585663f
+ offset: 640
+}
+member {
id: 0x72254387
name: "hold_queue"
type_id: 0x578f9c2b
@@ -98138,6 +100032,12 @@ member {
offset: 6976
}
member {
+ id: 0x1f2404cf
+ name: "holders"
+ type_id: 0x74d29cf1
+ offset: 1536
+}
+member {
id: 0xf82bbc03
name: "holders_dir"
type_id: 0x23f09c34
@@ -98221,12 +100121,38 @@ member {
offset: 1152
}
member {
+ id: 0x46cd5abc
+ name: "hop_limit"
+ type_id: 0x007e8ce4
+ offset: 455
+ bitsize: 9
+}
+member {
id: 0x9f4d6a46
name: "hop_limit"
type_id: 0x0faae5b1
offset: 32
}
member {
+ id: 0x9f6b950b
+ name: "hop_limit"
+ type_id: 0x295c7202
+ offset: 64
+}
+member {
+ id: 0x111085fe
+ name: "hopopt"
+ type_id: 0x33642722
+ offset: 128
+}
+member {
+ id: 0xede7771d
+ name: "hopopts"
+ type_id: 0xe8034002
+ offset: 6
+ bitsize: 1
+}
+member {
id: 0xe90d2c02
name: "hops"
type_id: 0x30464b44
@@ -98317,12 +100243,6 @@ member {
offset: 64
}
member {
- id: 0x2edd8c13
- name: "host_debug_state"
- type_id: 0x385d66bc
- offset: 23744
-}
-member {
id: 0x31ca0bed
name: "host_deinit"
type_id: 0x0cefb0c8
@@ -98347,12 +100267,6 @@ member {
offset: 3488
}
member {
- id: 0x909d979f
- name: "host_fpsimd_state"
- type_id: 0x3ef473d4
- offset: 23680
-}
-member {
id: 0xda2e02e2
name: "host_init"
type_id: 0x2fa99c67
@@ -98364,18 +100278,18 @@ member {
offset: 10112
}
member {
- id: 0xc2defa03
- name: "host_irq"
- type_id: 0x4585663f
- offset: 608
-}
-member {
id: 0xfb8e63cd
name: "host_lock"
type_id: 0x3654c061
offset: 448
}
member {
+ id: 0x4af00a54
+ name: "host_mac"
+ type_id: 0xabf64f28
+ offset: 1496
+}
+member {
id: 0x0b5b9055
name: "host_no"
type_id: 0x4585663f
@@ -98476,18 +100390,6 @@ member {
bitsize: 1
}
member {
- id: 0xd7232081
- name: "host_timer_irq"
- type_id: 0xc9082b19
- offset: 736
-}
-member {
- id: 0x0b3a6d95
- name: "host_timer_irq_flags"
- type_id: 0xc9082b19
- offset: 768
-}
-member {
id: 0x3f896917
name: "host_unshare_hyp"
type_id: 0x24d23255
@@ -98651,12 +100553,6 @@ member {
offset: 1408
}
member {
- id: 0xd6cec4c2
- name: "hpfar_el2"
- type_id: 0x92233392
- offset: 128
-}
-member {
id: 0xa2d9b50c
name: "hpi"
type_id: 0x6d7f5ff6
@@ -98728,12 +100624,6 @@ member {
offset: 832
}
member {
- id: 0x8a1ddc22
- name: "hrtimer"
- type_id: 0xcd7704bf
- offset: 128
-}
-member {
id: 0x7e4bc277
name: "hrtimer_active"
type_id: 0x4585663f
@@ -98918,17 +100808,6 @@ member {
offset: 14016
}
member {
- id: 0x8c045ea7
- name: "hsr"
- type_id: 0xe62ebf07
-}
-member {
- id: 0x440037d1
- name: "hsr_high"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x06e8b9a4
name: "hsub"
type_id: 0x295c7202
@@ -99141,35 +101020,12 @@ member {
offset: 256
}
member {
- id: 0x130ace31
- name: "hva_tree"
- type_id: 0xd0f3b5bf
- offset: 128
-}
-member {
- id: 0x65c703ea
- name: "hvc_exit_stat"
- type_id: 0x92233392
- offset: 6656
-}
-member {
id: 0x97368b37
name: "hw"
type_id: 0xf181ace2
offset: 2816
}
member {
- id: 0x97aa71b6
- name: "hw"
- type_id: 0x6d7f5ff6
- offset: 512
-}
-member {
- id: 0x97c7b08c
- name: "hw"
- type_id: 0x00b57da4
-}
-member {
id: 0x97cde891
name: "hw"
type_id: 0x0ae4a2c7
@@ -99306,10 +101162,10 @@ member {
offset: 2112
}
member {
- id: 0xa65cd211
+ id: 0xa65cd12c
name: "hw_error"
type_id: 0x0f434cf3
- offset: 50496
+ offset: 50880
}
member {
id: 0x0d3b5bd1
@@ -99318,12 +101174,6 @@ member {
offset: 6672
}
member {
- id: 0x2d3aa998
- name: "hw_events"
- type_id: 0x1d65d221
- offset: 3648
-}
-member {
id: 0x912b066b
name: "hw_features"
type_id: 0x2584a3b9
@@ -99372,10 +101222,10 @@ member {
offset: 32
}
member {
- id: 0x37178a6f
+ id: 0x371784a6
name: "hw_info"
type_id: 0x3e10b518
- offset: 31104
+ offset: 31488
}
member {
id: 0xec485b4b
@@ -99397,12 +101247,6 @@ member {
bitsize: 1
}
member {
- id: 0xf34e08bb
- name: "hw_mmu"
- type_id: 0x38e86333
- offset: 14784
-}
-member {
id: 0xcc4e42e2
name: "hw_name"
type_id: 0x3e10b518
@@ -99641,12 +101485,6 @@ member {
offset: 1024
}
member {
- id: 0xb62bb539
- name: "hwintid"
- type_id: 0xc9082b19
- offset: 576
-}
-member {
id: 0xeac4d9d6
name: "hwirq"
type_id: 0x33756485
@@ -99748,16 +101586,6 @@ member {
offset: 1920
}
member {
- id: 0x32e7dee3
- name: "hypercall"
- type_id: 0x2c32891d
-}
-member {
- id: 0x8a1c8492
- name: "hyperv"
- type_id: 0x7ff97877
-}
-member {
id: 0xaf8a45d4
name: "hysteresis"
type_id: 0x6720d32f
@@ -100348,11 +102176,6 @@ member {
offset: 192
}
member {
- id: 0x83618e44
- name: "ia_bits"
- type_id: 0xc9082b19
-}
-member {
id: 0x7af3be67
name: "ia_ctime"
type_id: 0x399c459b
@@ -100464,6 +102287,11 @@ member {
bitsize: 1
}
member {
+ id: 0xe50fbded
+ name: "ib_net"
+ type_id: 0xb335d16f
+}
+member {
id: 0xe8f0d6c1
name: "ib_window_map"
type_id: 0x064d6086
@@ -100497,12 +102325,6 @@ member {
type_id: 0x26eb875a
}
member {
- id: 0x27f5e987
- name: "icache_inval_pou"
- type_id: 0x0fc9cef8
- offset: 576
-}
-member {
id: 0x8b721752
name: "icanon"
type_id: 0x4585663f
@@ -100639,11 +102461,6 @@ member {
offset: 1664
}
member {
- id: 0xa6e46395
- name: "icptcode"
- type_id: 0xb3e7bac9
-}
-member {
id: 0x9263012c
name: "icq"
type_id: 0x1e93567a
@@ -100696,6 +102513,201 @@ member {
offset: 192
}
member {
+ id: 0x2a778fa0
+ name: "icsk_accept_queue"
+ type_id: 0xf05a506e
+ offset: 8704
+}
+member {
+ id: 0xc36d8395
+ name: "icsk_ack"
+ type_id: 0x260445a5
+ offset: 11008
+}
+member {
+ id: 0xeb6a5fa1
+ name: "icsk_af_ops"
+ type_id: 0x384d1346
+ offset: 10624
+}
+member {
+ id: 0xb27d04f5
+ name: "icsk_backoff"
+ type_id: 0xb3e7bac9
+ offset: 10968
+}
+member {
+ id: 0xf1a367c5
+ name: "icsk_bind2_hash"
+ type_id: 0x0a67a4e3
+ offset: 9408
+}
+member {
+ id: 0xa53e6076
+ name: "icsk_bind_hash"
+ type_id: 0x33086ec3
+ offset: 9344
+}
+member {
+ id: 0x8e756dfb
+ name: "icsk_ca_dst_locked"
+ type_id: 0xb3e7bac9
+ offset: 10951
+ bitsize: 1
+}
+member {
+ id: 0x9b3f0555
+ name: "icsk_ca_initialized"
+ type_id: 0xb3e7bac9
+ offset: 10949
+ bitsize: 1
+}
+member {
+ id: 0x2b917283
+ name: "icsk_ca_ops"
+ type_id: 0x30ba0612
+ offset: 10560
+}
+member {
+ id: 0xa86967ec
+ name: "icsk_ca_priv"
+ type_id: 0x62a5e001
+ offset: 11456
+}
+member {
+ id: 0x5c570222
+ name: "icsk_ca_setsockopt"
+ type_id: 0xb3e7bac9
+ offset: 10950
+ bitsize: 1
+}
+member {
+ id: 0x8adfff2f
+ name: "icsk_ca_state"
+ type_id: 0xb3e7bac9
+ offset: 10944
+ bitsize: 5
+}
+member {
+ id: 0x411180b7
+ name: "icsk_clean_acked"
+ type_id: 0x0fab66ce
+ offset: 10816
+}
+member {
+ id: 0xcfd1f1ed
+ name: "icsk_delack_max"
+ type_id: 0xe62ebf07
+ offset: 10496
+}
+member {
+ id: 0xbf3d6991
+ name: "icsk_delack_timer"
+ type_id: 0xd298e888
+ offset: 9984
+}
+member {
+ id: 0xd7cc2503
+ name: "icsk_ext_hdr_len"
+ type_id: 0xe8034002
+ offset: 10992
+}
+member {
+ id: 0x9bd0d4a0
+ name: "icsk_inet"
+ type_id: 0xd2a4529d
+}
+member {
+ id: 0xc75c6970
+ name: "icsk_mtup"
+ type_id: 0x249bcdf3
+ offset: 11200
+}
+member {
+ id: 0xfd5174f1
+ name: "icsk_pending"
+ type_id: 0xb3e7bac9
+ offset: 10960
+}
+member {
+ id: 0x9796567d
+ name: "icsk_pmtu_cookie"
+ type_id: 0xe62ebf07
+ offset: 10528
+}
+member {
+ id: 0x2d061585
+ name: "icsk_probes_out"
+ type_id: 0xb3e7bac9
+ offset: 10984
+}
+member {
+ id: 0xf4f5c9e8
+ name: "icsk_probes_tstamp"
+ type_id: 0xc9082b19
+ offset: 11328
+}
+member {
+ id: 0x3adf52b3
+ name: "icsk_retransmit_timer"
+ type_id: 0xd298e888
+ offset: 9536
+}
+member {
+ id: 0x6bd77d33
+ name: "icsk_retransmits"
+ type_id: 0xb3e7bac9
+ offset: 10952
+}
+member {
+ id: 0xaa84a388
+ name: "icsk_rto"
+ type_id: 0xe62ebf07
+ offset: 10432
+}
+member {
+ id: 0x7c9184fd
+ name: "icsk_rto_min"
+ type_id: 0xe62ebf07
+ offset: 10464
+}
+member {
+ id: 0x2446b1e6
+ name: "icsk_syn_retries"
+ type_id: 0xb3e7bac9
+ offset: 10976
+}
+member {
+ id: 0x5392fe03
+ name: "icsk_sync_mss"
+ type_id: 0x383bad14
+ offset: 10880
+}
+member {
+ id: 0xe54062f3
+ name: "icsk_timeout"
+ type_id: 0x33756485
+ offset: 9472
+}
+member {
+ id: 0x69ab5d87
+ name: "icsk_ulp_data"
+ type_id: 0x18bd6530
+ offset: 10752
+}
+member {
+ id: 0x50d22351
+ name: "icsk_ulp_ops"
+ type_id: 0x378dbf55
+ offset: 10688
+}
+member {
+ id: 0x973a1269
+ name: "icsk_user_timeout"
+ type_id: 0xc9082b19
+ offset: 11360
+}
+member {
id: 0xa75f3275
name: "icv_len"
type_id: 0x914dbfdc
@@ -101151,6 +103163,18 @@ member {
type_id: 0x914dbfdc
}
member {
+ id: 0xccbe65b2
+ name: "id"
+ type_id: 0x914dbfdc
+ offset: 80
+}
+member {
+ id: 0xccbe65cf
+ name: "id"
+ type_id: 0x914dbfdc
+ offset: 64
+}
+member {
id: 0xccc14505
name: "id"
type_id: 0xee699492
@@ -101371,12 +103395,6 @@ member {
offset: 12864
}
member {
- id: 0xba6f54b9
- name: "id_hash"
- type_id: 0x394dcf37
- offset: 320
-}
-member {
id: 0x05495988
name: "id_header"
type_id: 0xc9082b19
@@ -101566,12 +103584,6 @@ member {
offset: 9088
}
member {
- id: 0x50f15a4b
- name: "idai"
- type_id: 0x6d7f5ff6
- offset: 32
-}
-member {
id: 0xc093344b
name: "ident"
type_id: 0xb3e7bac9
@@ -101631,10 +103643,10 @@ member {
offset: 64
}
member {
- id: 0x115fafab
+ id: 0x115fa561
name: "identity_resolving_keys"
type_id: 0xd3c80119
- offset: 29568
+ offset: 29952
}
member {
id: 0x0c06b72f
@@ -101923,11 +103935,6 @@ member {
offset: 16
}
member {
- id: 0x3caea455
- name: "idx"
- type_id: 0x295c7202
-}
-member {
id: 0x3cc2707a
name: "idx"
type_id: 0x4585663f
@@ -102044,12 +104051,6 @@ member {
bitsize: 1
}
member {
- id: 0x7eaf49aa
- name: "if_flag"
- type_id: 0xb3e7bac9
- offset: 104
-}
-member {
id: 0x7d1e2280
name: "if_flags"
type_id: 0xe62ebf07
@@ -102255,6 +104256,35 @@ member {
offset: 448
}
member {
+ id: 0x49aaa6b3
+ name: "ifi_change"
+ type_id: 0x4585663f
+ offset: 96
+}
+member {
+ id: 0xccfc5cc3
+ name: "ifi_family"
+ type_id: 0x5d8155a5
+}
+member {
+ id: 0xe5765ac4
+ name: "ifi_flags"
+ type_id: 0x4585663f
+ offset: 64
+}
+member {
+ id: 0x95c94564
+ name: "ifi_index"
+ type_id: 0x6720d32f
+ offset: 32
+}
+member {
+ id: 0x58fe8d2e
+ name: "ifi_type"
+ type_id: 0xc93e017b
+ offset: 16
+}
+member {
id: 0x9056806a
name: "ifindex"
type_id: 0x6720d32f
@@ -102284,12 +104314,6 @@ member {
offset: 2176
}
member {
- id: 0x50f909b7
- name: "iflags"
- type_id: 0x295c7202
- offset: 15400
-}
-member {
id: 0x102491dd
name: "ifname"
type_id: 0x0483e6f8
@@ -102302,6 +104326,12 @@ member {
offset: 1376
}
member {
+ id: 0x41e064b8
+ name: "ifname_set"
+ type_id: 0x6d7f5ff6
+ offset: 1488
+}
+member {
id: 0xe955f32e
name: "ifr_ifrn"
type_id: 0x75b57623
@@ -102600,6 +104630,11 @@ member {
offset: 320
}
member {
+ id: 0xe8bad6da
+ name: "iif"
+ type_id: 0x6720d32f
+}
+member {
id: 0xaada75c0
name: "iifindex"
type_id: 0x6720d32f
@@ -102702,10 +104737,22 @@ member {
bitsize: 1
}
member {
- id: 0xb85c9514
- name: "immediate_exit"
- type_id: 0xb3e7bac9
- offset: 8
+ id: 0x63660872
+ name: "immutable_target"
+ type_id: 0x3df0a7d3
+ offset: 1600
+}
+member {
+ id: 0xfa2d1749
+ name: "immutable_target_type"
+ type_id: 0x3622fa2a
+ offset: 1856
+}
+member {
+ id: 0xfa2d1f78
+ name: "immutable_target_type"
+ type_id: 0x3622fa2a
+ offset: 1664
}
member {
id: 0x0239d915
@@ -102720,12 +104767,6 @@ member {
offset: 64
}
member {
- id: 0x7a0e7466
- name: "implementation_rev"
- type_id: 0xc9082b19
- offset: 64
-}
-member {
id: 0xf089858f
name: "implicit_fb"
type_id: 0x6d7f5ff6
@@ -102821,6 +104862,12 @@ member {
offset: 64
}
member {
+ id: 0x5c6f2950
+ name: "in"
+ type_id: 0xc440583a
+ offset: 256
+}
+member {
id: 0x5c99cb61
name: "in"
type_id: 0x32a623d7
@@ -102928,6 +104975,12 @@ member {
bitsize: 1
}
member {
+ id: 0x37e14132
+ name: "in_ep"
+ type_id: 0x0e2680c2
+ offset: 1792
+}
+member {
id: 0xe760cbcd
name: "in_epnum"
type_id: 0x4585663f
@@ -103004,11 +105057,6 @@ member {
bitsize: 1
}
member {
- id: 0xd935af97
- name: "in_kernel"
- type_id: 0x6d7f5ff6
-}
-member {
id: 0xb2ce8b46
name: "in_len"
type_id: 0xe62ebf07
@@ -103047,11 +105095,6 @@ member {
type_id: 0xa54936d5
}
member {
- id: 0x3c4c15e8
- name: "in_spin_loop"
- type_id: 0x6d7f5ff6
-}
-member {
id: 0xd8c3755f
name: "in_tx"
type_id: 0xedf277ba
@@ -103259,6 +105302,12 @@ member {
type_id: 0x5fb59157
}
member {
+ id: 0xad7a9230
+ name: "index"
+ type_id: 0x439cf6d8
+ offset: 640
+}
+member {
id: 0xad7c80e2
name: "index"
type_id: 0x4585663f
@@ -103319,12 +105368,6 @@ member {
offset: 320
}
member {
- id: 0xad7c8a98
- name: "index"
- type_id: 0x4585663f
- offset: 672
-}
-member {
id: 0xad7c8ba4
name: "index"
type_id: 0x4585663f
@@ -103337,6 +105380,12 @@ member {
offset: 480
}
member {
+ id: 0xad7c8d2b
+ name: "index"
+ type_id: 0x4585663f
+ offset: 608
+}
+member {
id: 0xad7c8d72
name: "index"
type_id: 0x4585663f
@@ -103519,6 +105568,35 @@ member {
offset: 4992
}
member {
+ id: 0x07676cab
+ name: "inet_conn"
+ type_id: 0x82dbb487
+}
+member {
+ id: 0x78639f81
+ name: "inet_id"
+ type_id: 0xe8034002
+ offset: 7056
+}
+member {
+ id: 0x38f59a08
+ name: "inet_opt"
+ type_id: 0x38090ad2
+ offset: 6976
+}
+member {
+ id: 0x8be10b49
+ name: "inet_saddr"
+ type_id: 0xe276adef
+ offset: 6912
+}
+member {
+ id: 0x674b03be
+ name: "inet_sport"
+ type_id: 0x7584e7da
+ offset: 7040
+}
+member {
id: 0x3e2089f0
name: "inexact_bins"
type_id: 0xd3c80119
@@ -103728,6 +105806,12 @@ member {
offset: 224
}
member {
+ id: 0xe0c4d82e
+ name: "info_get"
+ type_id: 0x2d0679a1
+ offset: 1536
+}
+member {
id: 0x2f8cd3f3
name: "info_ident"
type_id: 0xb3e7bac9
@@ -103978,6 +106062,12 @@ member {
offset: 384
}
member {
+ id: 0x1ac6e8a5
+ name: "init"
+ type_id: 0x2c24424a
+ offset: 128
+}
+member {
id: 0x1ac72504
name: "init"
type_id: 0x2de9e33f
@@ -104036,6 +106126,12 @@ member {
offset: 1408
}
member {
+ id: 0x1ac7a60f
+ name: "init"
+ type_id: 0x2d645d4d
+ offset: 448
+}
+member {
id: 0x1ac7a665
name: "init"
type_id: 0x2d6a829d
@@ -104084,12 +106180,6 @@ member {
offset: 1088
}
member {
- id: 0x1ae7589a
- name: "init"
- type_id: 0x0d947d59
- offset: 128
-}
-member {
id: 0x1ae79ef6
name: "init"
type_id: 0x0d5f3215
@@ -104109,6 +106199,12 @@ member {
bitsize: 1
}
member {
+ id: 0x3ecaad84
+ name: "init_action"
+ type_id: 0x322b7a90
+ offset: 32
+}
+member {
id: 0xc9830a15
name: "init_addr"
type_id: 0xa61911b2
@@ -104139,6 +106235,12 @@ member {
offset: 64
}
member {
+ id: 0xb36eb0c7
+ name: "init_burst"
+ type_id: 0x92233392
+ offset: 128
+}
+member {
id: 0xed4a99de
name: "init_callback"
type_id: 0x0ec6a54f
@@ -104193,12 +106295,23 @@ member {
offset: 128
}
member {
+ id: 0xedc364a3
+ name: "init_fs"
+ type_id: 0x22b357e9
+}
+member {
id: 0x35f4d7c6
name: "init_fs_context"
type_id: 0x2f05fd8b
offset: 128
}
member {
+ id: 0xa4c7afe2
+ name: "init_group_id"
+ type_id: 0x914dbfdc
+ offset: 192
+}
+member {
id: 0xf587a1e9
name: "init_hctx"
type_id: 0x2fcc6bd6
@@ -104253,12 +106366,24 @@ member {
offset: 864
}
member {
+ id: 0xf53cc107
+ name: "init_policer_id"
+ type_id: 0xc9082b19
+ offset: 96
+}
+member {
id: 0x015559ae
name: "init_qp_minus26"
type_id: 0x901eaf6a
offset: 32
}
member {
+ id: 0x2b41bb63
+ name: "init_rate"
+ type_id: 0x92233392
+ offset: 64
+}
+member {
id: 0xf8fed40c
name: "init_ready"
type_id: 0x1f3c8679
@@ -104288,6 +106413,12 @@ member {
offset: 64
}
member {
+ id: 0xcc9b87bc
+ name: "init_shared_fs"
+ type_id: 0x2ce2190b
+ offset: 64
+}
+member {
id: 0x7ab1d042
name: "init_speed"
type_id: 0x4585663f
@@ -104342,6 +106473,13 @@ member {
offset: 512
}
member {
+ id: 0xf51d09e4
+ name: "init_tio_pdu"
+ type_id: 0x6d7f5ff6
+ offset: 3936
+ bitsize: 1
+}
+member {
id: 0x29079611
name: "init_valid_mask"
type_id: 0x0f3a5c02
@@ -104616,6 +106754,11 @@ member {
offset: 256
}
member {
+ id: 0x0ca7cb72
+ name: "ino"
+ type_id: 0xee72cbfc
+}
+member {
id: 0x0cdb9a21
name: "ino"
type_id: 0x92233392
@@ -104716,17 +106859,6 @@ member {
offset: 160
}
member {
- id: 0x73fbf26c
- name: "input"
- type_id: 0xedf277ba
-}
-member {
- id: 0x73fbf68d
- name: "input"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
id: 0x73fe0389
name: "input"
type_id: 0xe8034002
@@ -104945,12 +107077,6 @@ member {
offset: 12992
}
member {
- id: 0xdac7f876
- name: "insn_bytes"
- type_id: 0xda277458
- offset: 8
-}
-member {
id: 0x7cdc8c52
name: "insn_cnt"
type_id: 0xe62ebf07
@@ -105002,11 +107128,6 @@ member {
offset: 75936
}
member {
- id: 0x8b19911e
- name: "insn_size"
- type_id: 0xb3e7bac9
-}
-member {
id: 0x23399750
name: "insn_stack"
type_id: 0x13580d6c
@@ -105154,12 +107275,26 @@ member {
offset: 480
}
member {
+ id: 0xe590115b
+ name: "integrity_added"
+ type_id: 0x4585663f
+ offset: 1922
+ bitsize: 1
+}
+member {
id: 0xb37c96b5
name: "integrity_failed"
type_id: 0xe62ebf07
offset: 64
}
member {
+ id: 0x6f52824f
+ name: "integrity_supported"
+ type_id: 0x6d7f5ff6
+ offset: 1920
+ bitsize: 1
+}
+member {
id: 0x31cd18d3
name: "intensity"
type_id: 0x4585663f
@@ -105230,6 +107365,12 @@ member {
offset: 1856
}
member {
+ id: 0x3cd46820
+ name: "interface_ptr"
+ type_id: 0x18bd6530
+ offset: 3456
+}
+member {
id: 0x54b2e4db
name: "interfaces"
type_id: 0xd3c80119
@@ -105266,16 +107407,16 @@ member {
offset: 64
}
member {
- id: 0x8064b316
+ id: 0x8064b4f4
name: "interleave_scan"
type_id: 0xf1159c31
- offset: 48768
+ offset: 49152
}
member {
- id: 0x95cc47a1
+ id: 0x95cc43f7
name: "interleave_scan_state"
type_id: 0x6e2e34cb
- offset: 48704
+ offset: 49088
}
member {
id: 0xcf1392d8
@@ -105295,11 +107436,6 @@ member {
type_id: 0x33756485
}
member {
- id: 0xcf651311
- name: "internal"
- type_id: 0x1bf62820
-}
-member {
id: 0xeba68a32
name: "internal_addr"
type_id: 0x18bd6530
@@ -105342,6 +107478,12 @@ member {
offset: 576
}
member {
+ id: 0x1eb686c0
+ name: "internal_suspend_count"
+ type_id: 0x4585663f
+ offset: 4672
+}
+member {
id: 0x52285a55
name: "internal_tag"
type_id: 0x6720d32f
@@ -105666,18 +107808,6 @@ member {
offset: 1088
}
member {
- id: 0x4a590e0a
- name: "intid"
- type_id: 0x6720d32f
- offset: 160
-}
-member {
- id: 0x4af72c65
- name: "intid"
- type_id: 0xc9082b19
- offset: 448
-}
-member {
id: 0x5dfd62b5
name: "intr_cmd"
type_id: 0x6d7f5ff6
@@ -105834,6 +107964,18 @@ member {
offset: 512
}
member {
+ id: 0x6a15223b
+ name: "invalidate_fs"
+ type_id: 0x08c420f1
+ offset: 384
+}
+member {
+ id: 0x6f43a794
+ name: "invalidate_inode"
+ type_id: 0x080e08ce
+ offset: 320
+}
+member {
id: 0x17dabd89
name: "invalidate_lock"
type_id: 0x28b9ec9a
@@ -105846,22 +107988,10 @@ member {
offset: 576
}
member {
- id: 0x6e9b1c0d
- name: "invalidate_range"
- type_id: 0x0c16b659
- offset: 448
-}
-member {
- id: 0x4f063390
- name: "invalidate_range_end"
- type_id: 0x0c397826
- offset: 384
-}
-member {
- id: 0x0545c767
- name: "invalidate_range_start"
- type_id: 0x2f7f5489
- offset: 320
+ id: 0x107f64d3
+ name: "invalidate_page"
+ type_id: 0x080d3f98
+ offset: 256
}
member {
id: 0xa4356576
@@ -105930,9 +108060,16 @@ member {
offset: 72
}
member {
- id: 0x9d5b90f8
+ id: 0x9d69c21e
name: "io"
- type_id: 0x3050ef8f
+ type_id: 0x0206e829
+ offset: 64
+}
+member {
+ id: 0x5fad2d83
+ name: "io_barrier"
+ type_id: 0xa46efa19
+ offset: 6400
}
member {
id: 0x7aee4108
@@ -105953,6 +108090,12 @@ member {
offset: 1792
}
member {
+ id: 0x627115f2
+ name: "io_bs"
+ type_id: 0x200a0749
+ offset: 2112
+}
+member {
id: 0x65b934f9
name: "io_buffers_cache"
type_id: 0xd3c80119
@@ -105995,6 +108138,12 @@ member {
offset: 19456
}
member {
+ id: 0x43d5e607
+ name: "io_count"
+ type_id: 0x74d29cf1
+ offset: 416
+}
+member {
id: 0xa3dbd5d1
name: "io_dev"
type_id: 0x0258f96e
@@ -106007,16 +108156,10 @@ member {
offset: 192
}
member {
- id: 0xadd5b431
- name: "io_int_parm"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
- id: 0x1dac28b0
- name: "io_int_word"
- type_id: 0xe62ebf07
- offset: 64
+ id: 0x4b3c38dc
+ name: "io_hints"
+ type_id: 0x5d27fec1
+ offset: 1472
}
member {
id: 0xfe460429
@@ -106265,12 +108408,6 @@ member {
type_id: 0x08b52b5b
}
member {
- id: 0x4d44694e
- name: "ioctl"
- type_id: 0x203cd5eb
- offset: 512
-}
-member {
id: 0x4d466701
name: "ioctl"
type_id: 0x2230f0e3
@@ -106426,18 +108563,6 @@ member {
offset: 6528
}
member {
- id: 0xc33609f7
- name: "iodev"
- type_id: 0x60b9a60c
- offset: 128
-}
-member {
- id: 0x10f4be53
- name: "iodev_type"
- type_id: 0xf101ec6d
- offset: 192
-}
-member {
id: 0x5a8c2ccc
name: "iodone_cnt"
type_id: 0x74d29cf1
@@ -106450,18 +108575,6 @@ member {
offset: 3680
}
member {
- id: 0x3103f4d5
- name: "ioeventfd_count"
- type_id: 0x6720d32f
- offset: 32
-}
-member {
- id: 0x0d7ae40f
- name: "ioeventfds"
- type_id: 0xd3c80119
- offset: 20288
-}
-member {
id: 0x51cefec4
name: "iomap"
type_id: 0x1f1bbebc
@@ -106581,6 +108694,12 @@ member {
offset: 64
}
member {
+ id: 0x694d3c49
+ name: "ioport"
+ type_id: 0x29c64ab1
+ offset: 1728
+}
+member {
id: 0x695e350f
name: "ioport"
type_id: 0x3acf0cc8
@@ -107063,24 +109182,6 @@ member {
offset: 104
}
member {
- id: 0xb21940c8
- name: "ipa"
- type_id: 0xe8034002
- offset: 16
-}
-member {
- id: 0x73d7e0dc
- name: "ipb"
- type_id: 0xe62ebf07
- offset: 96
-}
-member {
- id: 0x73d7e464
- name: "ipb"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x376c5a92
name: "ipc"
type_id: 0x1d23c41f
@@ -107122,6 +109223,17 @@ member {
offset: 256
}
member {
+ id: 0xce9a5c98
+ name: "ipi6_addr"
+ type_id: 0x6d25e07f
+}
+member {
+ id: 0x8e98680e
+ name: "ipi6_ifindex"
+ type_id: 0x6720d32f
+ offset: 128
+}
+member {
id: 0xe69d21c0
name: "ipi_list"
type_id: 0x214d9bc0
@@ -107197,6 +109309,11 @@ member {
offset: 1152
}
member {
+ id: 0xfa946861
+ name: "ipv4_nh"
+ type_id: 0xc9082b19
+}
+member {
id: 0x3b9e102b
name: "ipv6"
type_id: 0x6d7f5ff6
@@ -107225,6 +109342,12 @@ member {
type_id: 0x09547003
}
member {
+ id: 0xe2141007
+ name: "ipv6_ac_list"
+ type_id: 0x01ae5751
+ offset: 768
+}
+member {
id: 0x12832f3f
name: "ipv6_dev_find"
type_id: 0x357e91ee
@@ -107237,12 +109360,29 @@ member {
offset: 128
}
member {
+ id: 0x1e958d31
+ name: "ipv6_fl_list"
+ type_id: 0x3f985801
+ offset: 832
+}
+member {
id: 0xcf78c1e2
name: "ipv6_fragment"
type_id: 0x2d271bc7
offset: 1344
}
member {
+ id: 0xfce07b0f
+ name: "ipv6_mc_list"
+ type_id: 0x12e0cbae
+ offset: 704
+}
+member {
+ id: 0xab39140b
+ name: "ipv6_nh"
+ type_id: 0x6d25e07f
+}
+member {
id: 0xdf622691
name: "ipv6_route_input"
type_id: 0x2da4f7fd
@@ -107311,10 +109451,10 @@ member {
bitsize: 2
}
member {
- id: 0x068f48a1
+ id: 0x068f454d
name: "irk"
type_id: 0x60ca2c23
- offset: 46304
+ offset: 46688
}
member {
id: 0x99159221
@@ -107352,12 +109492,6 @@ member {
offset: 4768
}
member {
- id: 0x99159806
- name: "irq"
- type_id: 0x6720d32f
- offset: 160
-}
-member {
id: 0x99159922
name: "irq"
type_id: 0x6720d32f
@@ -107370,12 +109504,6 @@ member {
offset: 7584
}
member {
- id: 0x99159c15
- name: "irq"
- type_id: 0x6720d32f
- offset: 2240
-}
-member {
id: 0x99159c24
name: "irq"
type_id: 0x6720d32f
@@ -107495,17 +109623,6 @@ member {
offset: 4032
}
member {
- id: 0x99949b8a
- name: "irq"
- type_id: 0xe62ebf07
-}
-member {
- id: 0x99abc34e
- name: "irq"
- type_id: 0xd9729a52
- offset: 64
-}
-member {
id: 0x99c8e1eb
name: "irq"
type_id: 0xba52d680
@@ -107530,12 +109647,6 @@ member {
offset: 320
}
member {
- id: 0x3b21a108
- name: "irq_ack_notifier_list"
- type_id: 0x5e8dc7f4
- offset: 25344
-}
-member {
id: 0x8dcdd781
name: "irq_base"
type_id: 0x6720d32f
@@ -107721,29 +109832,12 @@ member {
offset: 7360
}
member {
- id: 0xd133b0b1
- name: "irq_level"
- type_id: 0x6d7f5ff6
- offset: 4456
-}
-member {
- id: 0x8c92967c
- name: "irq_lock"
- type_id: 0xc8b17aa7
-}
-member {
id: 0x8ca9364f
name: "irq_lock"
type_id: 0xf313e71a
offset: 9088
}
member {
- id: 0x8cfde860
- name: "irq_lock"
- type_id: 0xa7c362b0
- offset: 24896
-}
-member {
id: 0xa09e6601
name: "irq_managed"
type_id: 0x4585663f
@@ -107787,12 +109881,6 @@ member {
offset: 1984
}
member {
- id: 0x94f98f17
- name: "irq_num"
- type_id: 0x6720d32f
- offset: 4416
-}
-member {
id: 0x740ba1b4
name: "irq_pending"
type_id: 0x0baa70a7
@@ -107878,12 +109966,6 @@ member {
offset: 704
}
member {
- id: 0x71efddfa
- name: "irq_routing"
- type_id: 0x2145f7aa
- offset: 25280
-}
-member {
id: 0x03f31823
name: "irq_safe"
type_id: 0x4585663f
@@ -107927,12 +110009,6 @@ member {
offset: 128
}
member {
- id: 0xb5417608
- name: "irq_srcu"
- type_id: 0xa46efa19
- offset: 30400
-}
-member {
id: 0xb989726e
name: "irq_start_time"
type_id: 0x92233392
@@ -108006,12 +110082,6 @@ member {
offset: 4480
}
member {
- id: 0x450927c5
- name: "irqfds"
- type_id: 0x13064264
- offset: 19584
-}
-member {
id: 0x53de8d1e
name: "irqflags"
type_id: 0x33756485
@@ -108176,6 +110246,13 @@ member {
bitsize: 1
}
member {
+ id: 0xb9615f80
+ name: "is_changed"
+ type_id: 0x5d8155a5
+ offset: 98
+ bitsize: 1
+}
+member {
id: 0xcf3f1b2e
name: "is_child_subreaper"
type_id: 0x4585663f
@@ -108207,6 +110284,13 @@ member {
offset: 128
}
member {
+ id: 0xb9645bc8
+ name: "is_cwnd_limited"
+ type_id: 0x295c7202
+ offset: 13887
+ bitsize: 1
+}
+member {
id: 0x454d50bd
name: "is_dead"
type_id: 0x6d7f5ff6
@@ -108282,6 +110366,12 @@ member {
bitsize: 2
}
member {
+ id: 0x100aab74
+ name: "is_fixed"
+ type_id: 0x6d7f5ff6
+ offset: 1984
+}
+member {
id: 0x3952b157
name: "is_frozen"
type_id: 0x6d7f5ff6
@@ -108350,6 +110440,13 @@ member {
offset: 64
}
member {
+ id: 0x1facb5a4
+ name: "is_icsk"
+ type_id: 0xb3e7bac9
+ offset: 7105
+ bitsize: 1
+}
+member {
id: 0xbbefba04
name: "is_initialized"
type_id: 0x6d7f5ff6
@@ -108502,6 +110599,12 @@ member {
bitsize: 1
}
member {
+ id: 0xbc20bf07
+ name: "is_ndp16"
+ type_id: 0x295c7202
+ offset: 1920
+}
+member {
id: 0x1f3c147c
name: "is_nested"
type_id: 0x6d7f5ff6
@@ -108647,6 +110750,13 @@ member {
offset: 968
}
member {
+ id: 0xb9f127f6
+ name: "is_sack_reneg"
+ type_id: 0x295c7202
+ offset: 13861
+ bitsize: 1
+}
+member {
id: 0x7855a324
name: "is_second_field"
type_id: 0xc9082b19
@@ -108694,6 +110804,13 @@ member {
offset: 464
}
member {
+ id: 0x1e6a6587
+ name: "is_strictroute"
+ type_id: 0x5d8155a5
+ offset: 96
+ bitsize: 1
+}
+member {
id: 0x3fe7857f
name: "is_string"
type_id: 0x4585663f
@@ -108766,6 +110883,12 @@ member {
offset: 26432
}
member {
+ id: 0x62d4e2e8
+ name: "is_usb_offload_enabled"
+ type_id: 0x3431098c
+ offset: 128
+}
+member {
id: 0x567e927d
name: "is_useropt"
type_id: 0x2f65c64c
@@ -108839,30 +110962,18 @@ member {
offset: 176
}
member {
- id: 0x1a818083
- name: "is_write"
- type_id: 0xb3e7bac9
- offset: 160
-}
-member {
- id: 0x1a818982
- name: "is_write"
- type_id: 0xb3e7bac9
- offset: 64
-}
-member {
- id: 0x1ad44087
- name: "is_write"
- type_id: 0xe62ebf07
- offset: 64
-}
-member {
id: 0x5f2e888d
name: "is_yuv"
type_id: 0x6d7f5ff6
offset: 168
}
member {
+ id: 0x56acdda7
+ name: "is_zlp_ok"
+ type_id: 0x6d7f5ff6
+ offset: 1920
+}
+member {
id: 0xfa661c0d
name: "isids"
type_id: 0x2f6759fd
@@ -109051,6 +111162,11 @@ member {
type_id: 0x3f8fe745
}
member {
+ id: 0x990317f0
+ name: "item_list"
+ type_id: 0xd3c80119
+}
+member {
id: 0xa70d7362
name: "item_ptr"
type_id: 0x1bf16028
@@ -109062,12 +111178,6 @@ member {
offset: 128
}
member {
- id: 0xb75a0aec
- name: "items"
- type_id: 0xd3c80119
- offset: 64
-}
-member {
id: 0xb7cc436a
name: "items"
type_id: 0x4585663f
@@ -109085,12 +111195,6 @@ member {
offset: 64
}
member {
- id: 0x2b5908df
- name: "iter"
- type_id: 0x3bc62241
- offset: 1344
-}
-member {
id: 0x2b68f74f
name: "iter"
type_id: 0x0a33316a
@@ -109153,6 +111257,12 @@ member {
offset: 448
}
member {
+ id: 0x5a8eeaf5
+ name: "iterate_devices"
+ type_id: 0x4944b34e
+ offset: 1408
+}
+member {
id: 0x7b221f4e
name: "iterate_shared"
type_id: 0x2c4043e6
@@ -109177,51 +111287,18 @@ member {
offset: 256
}
member {
- id: 0x1caf0749
- name: "its"
- type_id: 0x3c6958c4
-}
-member {
- id: 0x857bfedc
- name: "its_lock"
- type_id: 0xa7c362b0
- offset: 1216
-}
-member {
- id: 0x8e370213
- name: "its_read"
- type_id: 0x05a52bb0
-}
-member {
- id: 0xa70b7acb
- name: "its_vm"
- type_id: 0x04fb8f54
- offset: 64
-}
-member {
- id: 0xa736298d
- name: "its_vm"
- type_id: 0x39aedbce
- offset: 1408
-}
-member {
- id: 0xa9a971b2
- name: "its_vpe"
- type_id: 0x19bba071
- offset: 1408
-}
-member {
- id: 0x8844b6fd
- name: "its_write"
- type_id: 0x0de80fb7
-}
-member {
id: 0x7dc35cdf
name: "itty"
type_id: 0x2efe8065
offset: 1408
}
member {
+ id: 0x56ccb987
+ name: "iv"
+ type_id: 0x18bd6530
+ offset: 960
+}
+member {
id: 0x56d4cc43
name: "iv"
type_id: 0x00c72527
@@ -109240,6 +111317,12 @@ member {
offset: 192
}
member {
+ id: 0x8320112b
+ name: "ivsize"
+ type_id: 0x4585663f
+ offset: 1024
+}
+member {
id: 0x832017a6
name: "ivsize"
type_id: 0x4585663f
@@ -109293,6 +111376,12 @@ member {
offset: 1792
}
member {
+ id: 0x9f7caab9
+ name: "jack_type"
+ type_id: 0x4585663f
+ offset: 64
+}
+member {
id: 0x5d9c18bc
name: "jack_zones"
type_id: 0xd3c80119
@@ -109654,6 +111743,24 @@ member {
offset: 704
}
member {
+ id: 0xb4c1a226
+ name: "keepalive_intvl"
+ type_id: 0x4585663f
+ offset: 18144
+}
+member {
+ id: 0xeb2f3b5f
+ name: "keepalive_probes"
+ type_id: 0x295c7202
+ offset: 14648
+}
+member {
+ id: 0x9e7c1e77
+ name: "keepalive_time"
+ type_id: 0x4585663f
+ offset: 18112
+}
+member {
id: 0x3f65622e
name: "keepout"
type_id: 0x340dea21
@@ -109666,6 +111773,12 @@ member {
offset: 8384
}
member {
+ id: 0x632a4ba2
+ name: "kern_flags"
+ type_id: 0xc9082b19
+ offset: 256
+}
+member {
id: 0x3afd0925
name: "kern_hyp_va"
type_id: 0x05cc5cbb
@@ -109838,12 +111951,6 @@ member {
type_id: 0x2f932a1e
}
member {
- id: 0x209860f9
- name: "key"
- type_id: 0xce6e9270
- offset: 232
-}
-member {
id: 0x209f059a
name: "key"
type_id: 0xc9082b19
@@ -109856,6 +111963,12 @@ member {
offset: 64
}
member {
+ id: 0x20a07181
+ name: "key"
+ type_id: 0xf67b8436
+ offset: 256
+}
+member {
id: 0x20aa0052
name: "key"
type_id: 0xfc0e1dbd
@@ -109889,6 +112002,11 @@ member {
offset: 640
}
member {
+ id: 0x20c5e9f7
+ name: "key"
+ type_id: 0x93e3596e
+}
+member {
id: 0x20c661f5
name: "key"
type_id: 0x906b5bab
@@ -110302,12 +112420,6 @@ member {
offset: 128
}
member {
- id: 0xd7f60431
- name: "kind"
- type_id: 0xfd01d20e
- offset: 128
-}
-member {
id: 0x1862ef71
name: "klist_children"
type_id: 0x95f8b1fc
@@ -110349,12 +112461,6 @@ member {
offset: 5120
}
member {
- id: 0x85e4ba6c
- name: "kmem_cache"
- type_id: 0x2efd5036
- offset: 128
-}
-member {
id: 0x5fc74326
name: "kmem_cachep"
type_id: 0x2efd5036
@@ -110509,6 +112615,12 @@ member {
offset: 6144
}
member {
+ id: 0xd68a69a4
+ name: "kobj_holder"
+ type_id: 0xa1319a08
+ offset: 5376
+}
+member {
id: 0x84231c09
name: "kobj_type"
type_id: 0x8ffe5e7d
@@ -110817,29 +112929,6 @@ member {
type_id: 0x39c0701e
}
member {
- id: 0x730e8b69
- name: "kvm"
- type_id: 0x363b9249
-}
-member {
- id: 0x730e8f88
- name: "kvm"
- type_id: 0x363b9249
- offset: 64
-}
-member {
- id: 0xaa4c4a21
- name: "kvm_dirty_regs"
- type_id: 0xedf277ba
- offset: 2368
-}
-member {
- id: 0x4b1e23b0
- name: "kvm_valid_regs"
- type_id: 0xedf277ba
- offset: 2304
-}
-member {
id: 0x6f6286ef
name: "kworker"
type_id: 0x348f6886
@@ -110900,6 +112989,12 @@ member {
offset: 328
}
member {
+ id: 0xe6f3661d
+ name: "l3mdev"
+ type_id: 0x6720d32f
+ offset: 64
+}
+member {
id: 0xa2b82643
name: "l3num"
type_id: 0xe2ce8d42
@@ -110966,6 +113061,12 @@ member {
offset: 8768
}
member {
+ id: 0x05cb6176
+ name: "label"
+ type_id: 0xe276adef
+ offset: 64
+}
+member {
id: 0x05cb61ce
name: "label"
type_id: 0xe276adef
@@ -111131,6 +113232,12 @@ member {
offset: 256
}
member {
+ id: 0x2660c5df
+ name: "last"
+ type_id: 0x0fc3c654
+ offset: 512
+}
+member {
id: 0x2667209c
name: "last"
type_id: 0x082be49e
@@ -111155,12 +113262,6 @@ member {
offset: 384
}
member {
- id: 0x26892e85
- name: "last"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x26a602b8
name: "last"
type_id: 0xc9082b19
@@ -111179,6 +113280,12 @@ member {
offset: 384
}
member {
+ id: 0x8c1c72c6
+ name: "last_accessed"
+ type_id: 0x33756485
+ offset: 768
+}
+member {
id: 0x46917fc8
name: "last_ack"
type_id: 0x35fdd62d
@@ -111257,12 +113364,6 @@ member {
offset: 64
}
member {
- id: 0x85550ce5
- name: "last_boosted_vcpu"
- type_id: 0x6720d32f
- offset: 18784
-}
-member {
id: 0x191711ef
name: "last_bstat"
type_id: 0x20b780d8
@@ -111330,6 +113431,12 @@ member {
offset: 2624
}
member {
+ id: 0x8762b004
+ name: "last_delivered"
+ type_id: 0xc9082b19
+ offset: 128
+}
+member {
id: 0x0c7f9894
name: "last_delta"
type_id: 0xfc0e1dbd
@@ -111585,6 +113692,12 @@ member {
offset: 128
}
member {
+ id: 0x41099e1a
+ name: "last_oow_ack_time"
+ type_id: 0xc9082b19
+ offset: 12960
+}
+member {
id: 0x7c2533b6
name: "last_overrun"
type_id: 0x33756485
@@ -111680,6 +113793,12 @@ member {
offset: 5504
}
member {
+ id: 0x41fdc1b3
+ name: "last_recovery_ts"
+ type_id: 0x92233392
+ offset: 1216
+}
+member {
id: 0xc6b95840
name: "last_reset"
type_id: 0x33756485
@@ -111698,6 +113817,12 @@ member {
offset: 1088
}
member {
+ id: 0xaac934df
+ name: "last_rw"
+ type_id: 0x4585663f
+ offset: 64
+}
+member {
id: 0xa444a488
name: "last_sample_time"
type_id: 0x92233392
@@ -111710,6 +113835,11 @@ member {
offset: 10560
}
member {
+ id: 0x0d364652
+ name: "last_sector"
+ type_id: 0xd0b3a203
+}
+member {
id: 0x02f7d82f
name: "last_sector_bug"
type_id: 0x4585663f
@@ -111729,6 +113859,12 @@ member {
offset: 64
}
member {
+ id: 0x4c233807
+ name: "last_seg_size"
+ type_id: 0xe8034002
+ offset: 160
+}
+member {
id: 0xadd33b5a
name: "last_seq"
type_id: 0x35fdd62d
@@ -111771,11 +113907,6 @@ member {
offset: 2112
}
member {
- id: 0xb280959d
- name: "last_steal"
- type_id: 0x92233392
-}
-member {
id: 0x4ac408b3
name: "last_switch_count"
type_id: 0x33756485
@@ -111882,36 +114013,12 @@ member {
offset: 2592
}
member {
- id: 0xab7e4a6e
- name: "last_used_slot"
- type_id: 0x3d5133eb
- offset: 77504
-}
-member {
- id: 0xabf33787
- name: "last_used_slot"
- type_id: 0xb02b353a
- offset: 64
-}
-member {
- id: 0x1838fabc
- name: "last_used_slot_gen"
- type_id: 0x92233392
- offset: 77568
-}
-member {
id: 0x583801a8
name: "last_vblank_count"
type_id: 0x92233392
offset: 384
}
member {
- id: 0x9555d521
- name: "last_vcpu_ran"
- type_id: 0x13580d6c
- offset: 192
-}
-member {
id: 0x9898696f
name: "last_wakee"
type_id: 0x1d19a9d5
@@ -111942,12 +114049,24 @@ member {
offset: 192
}
member {
+ id: 0xab47d75e
+ name: "lastopt"
+ type_id: 0xe8034002
+ offset: 96
+}
+member {
id: 0xcc0a009b
name: "lastuse"
type_id: 0xedf277ba
offset: 64
}
member {
+ id: 0xccd48510
+ name: "lastuse"
+ type_id: 0x33756485
+ offset: 640
+}
+member {
id: 0xccd48a1b
name: "lastuse"
type_id: 0x33756485
@@ -112181,10 +114300,10 @@ member {
offset: 320
}
member {
- id: 0x3c8ef241
+ id: 0x3c8ef028
name: "le_accept_list"
type_id: 0xd3c80119
- offset: 29824
+ offset: 30208
}
member {
id: 0x082a7070
@@ -112271,10 +114390,10 @@ member {
offset: 6400
}
member {
- id: 0x78450f73
+ id: 0x78450d9f
name: "le_conn_params"
type_id: 0xd3c80119
- offset: 30080
+ offset: 30464
}
member {
id: 0x0f35b386
@@ -112385,10 +114504,10 @@ member {
offset: 13344
}
member {
- id: 0xdc9e1f25
+ id: 0xdc9e19ca
name: "le_resolv_list"
type_id: 0xd3c80119
- offset: 29952
+ offset: 30336
}
member {
id: 0x75a1e881
@@ -112415,10 +114534,10 @@ member {
offset: 8576
}
member {
- id: 0x4b83b19b
+ id: 0x4b83bf04
name: "le_scan_disable"
type_id: 0xf1159c31
- offset: 22976
+ offset: 23360
}
member {
id: 0x23bc5cfc
@@ -112451,10 +114570,10 @@ member {
offset: 6240
}
member {
- id: 0xf931197e
+ id: 0xf9311273
name: "le_scan_restart"
type_id: 0xf1159c31
- offset: 24064
+ offset: 24448
}
member {
id: 0x32b8a7c0
@@ -112776,6 +114895,12 @@ member {
offset: 192
}
member {
+ id: 0xb82c6bed
+ name: "len"
+ type_id: 0x29b77961
+ offset: 128
+}
+member {
id: 0xb82c8b76
name: "len"
type_id: 0x295c7202
@@ -112823,18 +114948,6 @@ member {
offset: 896
}
member {
- id: 0xb8405d0b
- name: "len"
- type_id: 0x4585663f
- offset: 32
-}
-member {
- id: 0xb862f164
- name: "len"
- type_id: 0x6720d32f
- offset: 64
-}
-member {
id: 0xb862f207
name: "len"
type_id: 0x6720d32f
@@ -112970,11 +115083,22 @@ member {
offset: 320
}
member {
+ id: 0xb8ccdd7d
+ name: "len"
+ type_id: 0xc9082b19
+}
+member {
id: 0xb8cceb57
name: "len"
type_id: 0xc93e017b
}
member {
+ id: 0xb8d56e3d
+ name: "len"
+ type_id: 0xd0b3a203
+ offset: 192
+}
+member {
id: 0xb8e3f22b
name: "len"
type_id: 0xe62ebf07
@@ -113064,6 +115188,12 @@ member {
offset: 64
}
member {
+ id: 0x399dce5b
+ name: "len_ptr"
+ type_id: 0x1bf16028
+ offset: 192
+}
+member {
id: 0xf7528eb9
name: "len_so_far"
type_id: 0xe8034002
@@ -113088,6 +115218,12 @@ member {
offset: 64
}
member {
+ id: 0xb50a4f6b
+ name: "length"
+ type_id: 0x6720d32f
+ offset: 160
+}
+member {
id: 0xb518ea7e
name: "length"
type_id: 0x7584e7da
@@ -113289,12 +115425,6 @@ member {
offset: 224
}
member {
- id: 0x865cec96
- name: "level"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x8673c739
name: "level"
type_id: 0xc9082b19
@@ -113535,6 +115665,13 @@ member {
offset: 1664
}
member {
+ id: 0x8bbdb526
+ name: "limit_swap_bios"
+ type_id: 0x6d7f5ff6
+ offset: 578
+ bitsize: 1
+}
+member {
id: 0x6270d42c
name: "limit_valid"
type_id: 0x77f6971e
@@ -113634,12 +115771,6 @@ member {
offset: 384
}
member {
- id: 0x2b9d91fc
- name: "line_level"
- type_id: 0x6d7f5ff6
- offset: 480
-}
-member {
id: 0x17206248
name: "line_off"
type_id: 0xe62ebf07
@@ -113676,12 +115807,24 @@ member {
offset: 576
}
member {
- id: 0xd1c402eb
+ id: 0xd1e477a3
name: "linecard"
- type_id: 0x2a0586b2
+ type_id: 0x0a70ce1b
offset: 2688
}
member {
+ id: 0x2bafedce
+ name: "linecard_list"
+ type_id: 0xd3c80119
+ offset: 1920
+}
+member {
+ id: 0x66da3728
+ name: "linecards_lock"
+ type_id: 0xa7c362b0
+ offset: 2048
+}
+member {
id: 0xc4fd637a
name: "linedur_ns"
type_id: 0x6720d32f
@@ -113713,6 +115856,18 @@ member {
offset: 8192
}
member {
+ id: 0xe93fdbc8
+ name: "linger"
+ type_id: 0x33756485
+ offset: 320
+}
+member {
+ id: 0x0ab38392
+ name: "linger2"
+ type_id: 0x6720d32f
+ offset: 18176
+}
+member {
id: 0x55610d26
name: "link"
type_id: 0xdf92cbe9
@@ -113812,11 +115967,6 @@ member {
offset: 192
}
member {
- id: 0x55f738dc
- name: "link"
- type_id: 0x49a73111
-}
-member {
id: 0x55f9336e
name: "link"
type_id: 0x47ac8321
@@ -113928,10 +116078,10 @@ member {
offset: 1280
}
member {
- id: 0x4ba7b4dd
+ id: 0x4ba7b24a
name: "link_keys"
type_id: 0xd3c80119
- offset: 29312
+ offset: 29696
}
member {
id: 0x302a5d27
@@ -114258,6 +116408,12 @@ member {
offset: 512
}
member {
+ id: 0x7c00e44f
+ name: "list"
+ type_id: 0xd3c80119
+ offset: 1856
+}
+member {
id: 0x7c00e5d1
name: "list"
type_id: 0xd3c80119
@@ -114578,6 +116734,12 @@ member {
offset: 256
}
member {
+ id: 0x76367e75
+ name: "list_mode"
+ type_id: 0x5d8155a5
+ offset: 584
+}
+member {
id: 0xd773d1c8
name: "list_node"
type_id: 0xd3c80119
@@ -114829,6 +116991,11 @@ member {
bitsize: 1
}
member {
+ id: 0x9f6503ee
+ name: "lo"
+ type_id: 0xe8034002
+}
+member {
id: 0x9fbe75ca
name: "lo"
type_id: 0x33756485
@@ -114874,6 +117041,11 @@ member {
offset: 192
}
member {
+ id: 0xd4c95c39
+ name: "load_count"
+ type_id: 0x33756485
+}
+member {
id: 0x387efce1
name: "load_fw"
type_id: 0x2dec5b18
@@ -114898,12 +117070,6 @@ member {
offset: 7296
}
member {
- id: 0xbcb6da5b
- name: "loaded"
- type_id: 0x6d7f5ff6
- offset: 704
-}
-member {
id: 0xbcc151ab
name: "loaded"
type_id: 0x1af273e3
@@ -114964,10 +117130,16 @@ member {
offset: 1480
}
member {
- id: 0x1d6fbead
+ id: 0x1d6fbf33
name: "local_codecs"
type_id: 0xd3c80119
- offset: 30592
+ offset: 30976
+}
+member {
+ id: 0x2a3c445d
+ name: "local_error"
+ type_id: 0x0e2bd379
+ offset: 704
}
member {
id: 0x9ddaf23a
@@ -115034,6 +117206,12 @@ member {
offset: 768
}
member {
+ id: 0x5b66efeb
+ name: "local_port_range"
+ type_id: 0x3fbb6cee
+ offset: 8512
+}
+member {
id: 0x11369f07
name: "local_sdu_itime"
type_id: 0xe62ebf07
@@ -115171,6 +117349,12 @@ member {
offset: 768
}
member {
+ id: 0x2d1fe43b
+ name: "lock"
+ type_id: 0xf313e71a
+ offset: 17536
+}
+member {
id: 0x2d1fe44c
name: "lock"
type_id: 0xf313e71a
@@ -115475,6 +117659,12 @@ member {
offset: 9728
}
member {
+ id: 0x2d4b3012
+ name: "lock"
+ type_id: 0xa7c362b0
+ offset: 7424
+}
+member {
id: 0x2d4b30cc
name: "lock"
type_id: 0xa7c362b0
@@ -115493,6 +117683,12 @@ member {
offset: 1152
}
member {
+ id: 0x2d4b3330
+ name: "lock"
+ type_id: 0xa7c362b0
+ offset: 3200
+}
+member {
id: 0x2d4b353f
name: "lock"
type_id: 0xa7c362b0
@@ -115541,12 +117737,6 @@ member {
offset: 448
}
member {
- id: 0x2d4b3b7e
- name: "lock"
- type_id: 0xa7c362b0
- offset: 18944
-}
-member {
id: 0x2d4b3bb8
name: "lock"
type_id: 0xa7c362b0
@@ -115748,6 +117938,12 @@ member {
offset: 1280
}
member {
+ id: 0x5f5e621d
+ name: "lock_key"
+ type_id: 0x475137a2
+ offset: 3584
+}
+member {
id: 0x5f5e64df
name: "lock_key"
type_id: 0x475137a2
@@ -116248,10 +118444,10 @@ member {
offset: 64
}
member {
- id: 0x4e950be9
+ id: 0x4e9500ec
name: "long_term_keys"
type_id: 0xd3c80119
- offset: 29440
+ offset: 29824
}
member {
id: 0xf24e93bd
@@ -116272,17 +118468,6 @@ member {
offset: 76192
}
member {
- id: 0x6dda6565
- name: "longmode"
- type_id: 0xe62ebf07
- offset: 512
-}
-member {
- id: 0x6dda6e7d
- name: "longmode"
- type_id: 0xe62ebf07
-}
-member {
id: 0xe77d91bb
name: "longname"
type_id: 0x01ef5f77
@@ -116424,6 +118609,18 @@ member {
offset: 576
}
member {
+ id: 0x14a57188
+ name: "lost"
+ type_id: 0xc9082b19
+ offset: 15296
+}
+member {
+ id: 0x36a89416
+ name: "lost_cnt_hint"
+ type_id: 0x6720d32f
+ offset: 17792
+}
+member {
id: 0xc431d6f2
name: "lost_events"
type_id: 0x33756485
@@ -116452,12 +118649,24 @@ member {
type_id: 0x6f3d464c
}
member {
+ id: 0x2d8724a1
+ name: "lost_out"
+ type_id: 0xc9082b19
+ offset: 15680
+}
+member {
id: 0xa0d3e60e
name: "lost_samples"
type_id: 0x1f4573ef
offset: 7808
}
member {
+ id: 0x86cd98a0
+ name: "lost_skb_hint"
+ type_id: 0x054f691a
+ offset: 16896
+}
+member {
id: 0xe4294f6c
name: "low"
type_id: 0x914dbfdc
@@ -116684,48 +118893,6 @@ member {
offset: 32
}
member {
- id: 0xeca52885
- name: "lpi_array"
- type_id: 0x38d23361
- offset: 256
-}
-member {
- id: 0x43246e2d
- name: "lpi_idx"
- type_id: 0x6720d32f
- offset: 192
-}
-member {
- id: 0x9ecea343
- name: "lpi_list"
- type_id: 0xd3c80119
- offset: 64
-}
-member {
- id: 0x4d9128b0
- name: "lpi_list_count"
- type_id: 0x6720d32f
- offset: 1152
-}
-member {
- id: 0x9c466cf2
- name: "lpi_list_head"
- type_id: 0xd3c80119
- offset: 1024
-}
-member {
- id: 0xbe693b59
- name: "lpi_list_lock"
- type_id: 0xc8b17aa7
- offset: 960
-}
-member {
- id: 0xd5bf2684
- name: "lpi_translation_cache"
- type_id: 0xd3c80119
- offset: 1216
-}
-member {
id: 0x0a9f8132
name: "lpm_capable"
type_id: 0x4585663f
@@ -116772,12 +118939,24 @@ member {
offset: 832
}
member {
+ id: 0x9d3fc94e
+ name: "lrcvtime"
+ type_id: 0xe62ebf07
+ offset: 128
+}
+member {
id: 0x5434db0f
name: "lru"
type_id: 0x360c66c5
offset: 2752
}
member {
+ id: 0x545a8863
+ name: "lru"
+ type_id: 0x585b40a5
+ offset: 448
+}
+member {
id: 0x5484b289
name: "lru"
type_id: 0x86623cce
@@ -116813,6 +118992,12 @@ member {
offset: 49152
}
member {
+ id: 0x94eba612
+ name: "lru_list"
+ type_id: 0xd3c80119
+ offset: 192
+}
+member {
id: 0x50d1f6aa
name: "lru_lock"
type_id: 0xf313e71a
@@ -116889,6 +119074,12 @@ member {
offset: 1312
}
member {
+ id: 0xcaaa728e
+ name: "lsndtime"
+ type_id: 0xc9082b19
+ offset: 12928
+}
+member {
id: 0xabed406f
name: "lsr_save_mask"
type_id: 0x914dbfdc
@@ -117355,6 +119546,11 @@ member {
type_id: 0xe8034002
}
member {
+ id: 0xd6baf777
+ name: "magic"
+ type_id: 0xc93e017b
+}
+member {
id: 0xd6e31323
name: "magic"
type_id: 0x90dafee5
@@ -117638,12 +119834,6 @@ member {
offset: 128
}
member {
- id: 0x69005a44
- name: "manual_dirty_log_protect"
- type_id: 0x92233392
- offset: 26368
-}
-member {
id: 0xac46515e
name: "manual_mode_value"
type_id: 0x4585663f
@@ -117704,18 +119894,18 @@ member {
offset: 192
}
member {
- id: 0x8d25e654
- name: "map"
- type_id: 0xd39aff0d
- offset: 31680
-}
-member {
id: 0x8d4fb401
name: "map"
type_id: 0xb9c7723b
offset: 1216
}
member {
+ id: 0x8d8ccb94
+ name: "map"
+ type_id: 0x7abd5475
+ offset: 448
+}
+member {
id: 0x8dbdb056
name: "map"
type_id: 0x4bc42bec
@@ -117773,6 +119963,12 @@ member {
offset: 1664
}
member {
+ id: 0x8deec674
+ name: "map"
+ type_id: 0x18bd6530
+ offset: 896
+}
+member {
id: 0x8df0341e
name: "map"
type_id: 0x064d6086
@@ -117790,6 +119986,12 @@ member {
type_id: 0x04b193cc
}
member {
+ id: 0x8df2c9e6
+ name: "map"
+ type_id: 0x04b193cc
+ offset: 128
+}
+member {
id: 0x8df87907
name: "map"
type_id: 0x0e017252
@@ -117913,12 +120115,6 @@ member {
offset: 576
}
member {
- id: 0x308dee6b
- name: "map_event"
- type_id: 0x2c2ce191
- offset: 3264
-}
-member {
id: 0x3d93c0fb
name: "map_extra"
type_id: 0x92233392
@@ -118012,6 +120208,12 @@ member {
type_id: 0xe62ebf07
}
member {
+ id: 0x86e8bd6c
+ name: "map_id"
+ type_id: 0xc9082b19
+ offset: 192
+}
+member {
id: 0xa32be5db
name: "map_ifindex"
type_id: 0xe62ebf07
@@ -118279,6 +120481,12 @@ member {
offset: 192
}
member {
+ id: 0x2a093f90
+ name: "map_type"
+ type_id: 0x6e73208e
+ offset: 224
+}
+member {
id: 0x2a81612b
name: "map_type"
type_id: 0xe62ebf07
@@ -118397,6 +120605,12 @@ member {
offset: 3008
}
member {
+ id: 0x8b645ad4
+ name: "mapping_type"
+ type_id: 0xe09c0936
+ offset: 128
+}
+member {
id: 0x4971df2a
name: "mappings"
type_id: 0xd3c80119
@@ -118468,6 +120682,12 @@ member {
type_id: 0xc9082b19
}
member {
+ id: 0x8196ad18
+ name: "mark"
+ type_id: 0xc9082b19
+ offset: 384
+}
+member {
id: 0x81b98a1e
name: "mark"
type_id: 0xe62ebf07
@@ -119476,6 +121696,12 @@ member {
offset: 96
}
member {
+ id: 0x9c062023
+ name: "max_burst"
+ type_id: 0x92233392
+ offset: 320
+}
+member {
id: 0x9c5d053e
name: "max_burst"
type_id: 0xc9082b19
@@ -119636,6 +121862,12 @@ member {
offset: 64
}
member {
+ id: 0x3a33fdde
+ name: "max_datagram_size"
+ type_id: 0xc9082b19
+ offset: 2272
+}
+member {
id: 0x6252d912
name: "max_dec_size"
type_id: 0xe8034002
@@ -119927,12 +122159,6 @@ member {
offset: 7648
}
member {
- id: 0xf60ae606
- name: "max_halt_poll_ns"
- type_id: 0x4585663f
- offset: 34304
-}
-member {
id: 0x7e72c641
name: "max_hang_time"
type_id: 0x4585663f
@@ -120077,6 +122303,12 @@ member {
offset: 256
}
member {
+ id: 0x09343eea
+ name: "max_io_len"
+ type_id: 0x1c3dbe5a
+ offset: 256
+}
+member {
id: 0xf058f4c8
name: "max_keysize"
type_id: 0x4585663f
@@ -120185,6 +122417,12 @@ member {
offset: 2336
}
member {
+ id: 0xeaccae16
+ name: "max_mv"
+ type_id: 0x4585663f
+ offset: 32
+}
+member {
id: 0x7b864e19
name: "max_native_cs"
type_id: 0x29b77961
@@ -120197,6 +122435,12 @@ member {
offset: 160
}
member {
+ id: 0x90a7314a
+ name: "max_ndp_size"
+ type_id: 0xc9082b19
+ offset: 1888
+}
+member {
id: 0x4f305ba6
name: "max_newidle_lb_cost"
type_id: 0x92233392
@@ -120280,6 +122524,12 @@ member {
offset: 96
}
member {
+ id: 0x1d340096
+ name: "max_packets_out"
+ type_id: 0xc9082b19
+ offset: 14560
+}
+member {
id: 0xc09a441d
name: "max_page"
type_id: 0xb3e7bac9
@@ -120398,6 +122648,12 @@ member {
offset: 224
}
member {
+ id: 0x6bf829f7
+ name: "max_qlen"
+ type_id: 0x6720d32f
+ offset: 192
+}
+member {
id: 0xfbb3d064
name: "max_queue"
type_id: 0x6720d32f
@@ -120428,6 +122684,12 @@ member {
offset: 320
}
member {
+ id: 0x5cea623b
+ name: "max_rate"
+ type_id: 0x92233392
+ offset: 192
+}
+member {
id: 0xf3d009b3
name: "max_ratio"
type_id: 0x4585663f
@@ -120768,6 +123030,12 @@ member {
offset: 64
}
member {
+ id: 0xcfd59103
+ name: "max_size"
+ type_id: 0x39b2ba38
+ offset: 384
+}
+member {
id: 0xc288bba2
name: "max_slices"
type_id: 0x295c7202
@@ -120780,6 +123048,12 @@ member {
offset: 672
}
member {
+ id: 0x2a2e382b
+ name: "max_snapshots"
+ type_id: 0xc9082b19
+ offset: 832
+}
+member {
id: 0x9213bcc2
name: "max_socks"
type_id: 0x914dbfdc
@@ -121051,12 +123325,6 @@ member {
offset: 45248
}
member {
- id: 0x107724e0
- name: "max_vcpus"
- type_id: 0x6720d32f
- offset: 18720
-}
-member {
id: 0xb15d2ccc
name: "max_vfreq"
type_id: 0x914dbfdc
@@ -121117,6 +123385,12 @@ member {
offset: 2048
}
member {
+ id: 0xb0b5b654
+ name: "max_window"
+ type_id: 0xc9082b19
+ offset: 13376
+}
+member {
id: 0x02a4136b
name: "max_workers"
type_id: 0x4585663f
@@ -121466,6 +123740,18 @@ member {
offset: 32
}
member {
+ id: 0x12ebc87a
+ name: "mbim_desc"
+ type_id: 0x324ddec3
+ offset: 1280
+}
+member {
+ id: 0x605196d3
+ name: "mbim_extended_desc"
+ type_id: 0x3b622f67
+ offset: 1344
+}
+member {
id: 0xaea16832
name: "mbox"
type_id: 0x38fdd541
@@ -121489,6 +123775,26 @@ member {
offset: 5056
}
member {
+ id: 0x5a22c9ad
+ name: "mc_addr"
+ type_id: 0xe276adef
+ offset: 7200
+}
+member {
+ id: 0x1b81e20c
+ name: "mc_all"
+ type_id: 0xe8034002
+ offset: 573
+ bitsize: 1
+}
+member {
+ id: 0x1bda0ea3
+ name: "mc_all"
+ type_id: 0xb3e7bac9
+ offset: 7110
+ bitsize: 1
+}
+member {
id: 0xedd041f2
name: "mc_autojoin_sk"
type_id: 0x1d44326e
@@ -121555,12 +123861,24 @@ member {
offset: 1728
}
member {
+ id: 0x02fcf451
+ name: "mc_index"
+ type_id: 0x6720d32f
+ offset: 7168
+}
+member {
id: 0x9c4c6ca6
name: "mc_list"
type_id: 0x2d5e3e76
offset: 192
}
member {
+ id: 0x9c6a8ab2
+ name: "mc_list"
+ type_id: 0x0bbfad26
+ offset: 7232
+}
+member {
id: 0x9c6ad1bd
name: "mc_list"
type_id: 0x0be3257b
@@ -121573,6 +123891,20 @@ member {
offset: 6528
}
member {
+ id: 0xa582fe9b
+ name: "mc_loop"
+ type_id: 0xe8034002
+ offset: 464
+ bitsize: 1
+}
+member {
+ id: 0xa5d9163f
+ name: "mc_loop"
+ type_id: 0xb3e7bac9
+ offset: 7108
+ bitsize: 1
+}
+member {
id: 0x99f606f1
name: "mc_maxdelay"
type_id: 0x33756485
@@ -121657,6 +123989,12 @@ member {
offset: 352
}
member {
+ id: 0x7008fda6
+ name: "mc_ttl"
+ type_id: 0xb3e7bac9
+ offset: 7088
+}
+member {
id: 0xd4582df4
name: "mc_v1_seen"
type_id: 0x33756485
@@ -121734,6 +124072,19 @@ member {
offset: 576
}
member {
+ id: 0x34d8f2b6
+ name: "mcast_hops"
+ type_id: 0x007e8ce4
+ offset: 471
+ bitsize: 9
+}
+member {
+ id: 0xe14bd1fe
+ name: "mcast_oif"
+ type_id: 0x6720d32f
+ offset: 512
+}
+member {
id: 0x2cf10ddb
name: "mcgrp_offset"
type_id: 0x4585663f
@@ -121853,22 +124204,21 @@ member {
offset: 640
}
member {
- id: 0x966b766d
- name: "md_dst"
- type_id: 0x3b9c6e49
- offset: 384
+ id: 0xff5d592e
+ name: "md"
+ type_id: 0x2d77f22a
}
member {
- id: 0x376609fd
- name: "mdcr_el2"
- type_id: 0x92233392
- offset: 14912
+ id: 0xff5d5e59
+ name: "md"
+ type_id: 0x2d77f22a
+ offset: 448
}
member {
- id: 0xdb73cbc4
- name: "mdcr_el2_host"
- type_id: 0x92233392
- offset: 15040
+ id: 0x966b766d
+ name: "md_dst"
+ type_id: 0x3b9c6e49
+ offset: 384
}
member {
id: 0xbb1af1d1
@@ -121882,6 +124232,18 @@ member {
offset: 64
}
member {
+ id: 0xf098d631
+ name: "mdev_max_us"
+ type_id: 0xc9082b19
+ offset: 14208
+}
+member {
+ id: 0x00d04522
+ name: "mdev_us"
+ type_id: 0xc9082b19
+ offset: 14176
+}
+member {
id: 0xc96faa23
name: "mdio"
type_id: 0x6fb840c8
@@ -122053,11 +124415,6 @@ member {
offset: 768
}
member {
- id: 0xd7400399
- name: "mdscr_el1"
- type_id: 0xc9082b19
-}
-member {
id: 0x3e3e85fb
name: "me"
type_id: 0x0b27dc43
@@ -122591,6 +124948,18 @@ member {
offset: 2240
}
member {
+ id: 0x1f686bd1
+ name: "mempools"
+ type_id: 0x32e4574b
+ offset: 5312
+}
+member {
+ id: 0x1f686eb8
+ name: "mempools"
+ type_id: 0x32e4574b
+ offset: 2240
+}
+member {
id: 0xebf8e0ed
name: "memregion"
type_id: 0x6720d32f
@@ -122615,12 +124984,6 @@ member {
offset: 1792
}
member {
- id: 0x4f1355bb
- name: "memslots"
- type_id: 0xb717646a
- offset: 18112
-}
-member {
id: 0xbaa89f63
name: "memsw"
type_id: 0xd079ba20
@@ -122661,6 +125024,11 @@ member {
offset: 128
}
member {
+ id: 0x037856c6
+ name: "merged"
+ type_id: 0x6d7f5ff6
+}
+member {
id: 0x5052f78e
name: "merges"
type_id: 0x80904a3b
@@ -122678,16 +125046,16 @@ member {
offset: 5320
}
member {
- id: 0x9962b15a
+ id: 0x9962bd46
name: "mesh_pending"
type_id: 0xd3c80119
- offset: 28672
+ offset: 29056
}
member {
- id: 0x81de6579
+ id: 0x81de61c0
name: "mesh_send_done"
type_id: 0xf1159c31
- offset: 47616
+ offset: 48000
}
member {
id: 0x9a07655b
@@ -122696,6 +125064,12 @@ member {
offset: 5448
}
member {
+ id: 0x9de5400c
+ name: "message"
+ type_id: 0x4a37c87b
+ offset: 1152
+}
+member {
id: 0x8cf2c6b7
name: "message_id"
type_id: 0x4585663f
@@ -122724,6 +125098,12 @@ member {
offset: 704
}
member {
+ id: 0xd492332a
+ name: "metadata_cap"
+ type_id: 0xc9082b19
+ offset: 224
+}
+member {
id: 0xf7b6b92a
name: "metadata_ops"
type_id: 0x1d5a7ac2
@@ -122836,10 +125216,10 @@ member {
offset: 832
}
member {
- id: 0x285f0a99
+ id: 0x285f05be
name: "mgmt_pending"
type_id: 0xd3c80119
- offset: 28800
+ offset: 29184
}
member {
id: 0x5b8fb9b9
@@ -122946,12 +125326,6 @@ member {
offset: 768
}
member {
- id: 0xdb33fcdf
- name: "migrate_lock"
- type_id: 0xf4933b90
- offset: 17536
-}
-member {
id: 0x8edaa968
name: "migrate_page"
type_id: 0x2d9ade31
@@ -123183,6 +125557,12 @@ member {
offset: 96
}
member {
+ id: 0x7b580056
+ name: "min_burst"
+ type_id: 0x92233392
+ offset: 384
+}
+member {
id: 0x603d49ac
name: "min_capacity"
type_id: 0x33756485
@@ -123356,6 +125736,12 @@ member {
offset: 16
}
member {
+ id: 0x78ae54cb
+ name: "min_hopcount"
+ type_id: 0xb3e7bac9
+ offset: 576
+}
+member {
id: 0x402764fb
name: "min_hw_heartbeat_ms"
type_id: 0x4585663f
@@ -123420,6 +125806,11 @@ member {
offset: 2304
}
member {
+ id: 0xa07cb245
+ name: "min_mv"
+ type_id: 0x4585663f
+}
+member {
id: 0x31458425
name: "min_nr"
type_id: 0x6720d32f
@@ -123444,6 +125835,12 @@ member {
offset: 8
}
member {
+ id: 0x7843c8a8
+ name: "min_rate"
+ type_id: 0x92233392
+ offset: 256
+}
+member {
id: 0x78e29322
name: "min_rate"
type_id: 0x33756485
@@ -123534,6 +125931,18 @@ member {
offset: 384
}
member {
+ id: 0xa28c3827
+ name: "min_ttl"
+ type_id: 0xb3e7bac9
+ offset: 7080
+}
+member {
+ id: 0x7cb10669
+ name: "min_tx_pkt"
+ type_id: 0x914dbfdc
+ offset: 2400
+}
+member {
id: 0x47fc27ee
name: "min_tx_rate"
type_id: 0xe62ebf07
@@ -123655,6 +126064,12 @@ member {
offset: 320
}
member {
+ id: 0xf910802f
+ name: "minimum_buffers"
+ type_id: 0x4585663f
+ offset: 1440
+}
+member {
id: 0x0eef50fa
name: "miniq_egress"
type_id: 0x36f0fd32
@@ -123756,6 +126171,12 @@ member {
offset: 3680
}
member {
+ id: 0xa298fce5
+ name: "minor_base"
+ type_id: 0x6720d32f
+ offset: 192
+}
+member {
id: 0x850041c9
name: "minor_class"
type_id: 0xb3e7bac9
@@ -124105,12 +126526,6 @@ member {
offset: 192
}
member {
- id: 0x3025d10a
- name: "mm"
- type_id: 0x1b36c7a2
- offset: 64
-}
-member {
id: 0x3025d29c
name: "mm"
type_id: 0x1b36c7a2
@@ -124128,12 +126543,6 @@ member {
type_id: 0x1b36c7a2
}
member {
- id: 0x3025d651
- name: "mm"
- type_id: 0x1b36c7a2
- offset: 832
-}
-member {
id: 0x3025dc29
name: "mm"
type_id: 0x1b36c7a2
@@ -124146,12 +126555,6 @@ member {
offset: 960
}
member {
- id: 0x3025dd22
- name: "mm"
- type_id: 0x1b36c7a2
- offset: 192
-}
-member {
id: 0xf2c3ca3b
name: "mm_account"
type_id: 0x1b36c7a2
@@ -124193,12 +126596,6 @@ member {
type_id: 0xa179a8c5
}
member {
- id: 0xa69ad382
- name: "mm_ops"
- type_id: 0x0d97a2b2
- offset: 128
-}
-member {
id: 0x0abfe66e
name: "mm_state"
type_id: 0xeb51a15e
@@ -124258,12 +126655,6 @@ member {
offset: 448
}
member {
- id: 0x87fdbe87
- name: "mmap"
- type_id: 0x2ed842b7
- offset: 576
-}
-member {
id: 0x87fe4e24
name: "mmap"
type_id: 0x2d214d35
@@ -124484,11 +126875,6 @@ member {
offset: 32
}
member {
- id: 0x4779a89b
- name: "mmio"
- type_id: 0x373a3dac
-}
-member {
id: 0x78030744
name: "mmio_always_on"
type_id: 0x4585663f
@@ -124501,66 +126887,18 @@ member {
type_id: 0x18bd6530
}
member {
- id: 0x41a58807
- name: "mmio_cur_fragment"
- type_id: 0x6720d32f
- offset: 1440
-}
-member {
id: 0xdd74e29a
name: "mmio_enabled"
type_id: 0x178c0a08
offset: 64
}
member {
- id: 0x22f5be35
- name: "mmio_exit_kernel"
- type_id: 0x92233392
- offset: 6912
-}
-member {
- id: 0x3c9c64dc
- name: "mmio_exit_user"
- type_id: 0x92233392
- offset: 6848
-}
-member {
- id: 0x0abc4886
- name: "mmio_fragments"
- type_id: 0x5d2762c3
- offset: 1536
-}
-member {
- id: 0xe4aa6cb8
- name: "mmio_is_write"
- type_id: 0x6720d32f
- offset: 1408
-}
-member {
id: 0xdba12957
name: "mmio_len"
type_id: 0xe62ebf07
offset: 512
}
member {
- id: 0xb16b8efe
- name: "mmio_needed"
- type_id: 0x6720d32f
- offset: 1344
-}
-member {
- id: 0x22a96429
- name: "mmio_nr_fragments"
- type_id: 0x6720d32f
- offset: 1472
-}
-member {
- id: 0xf337f353
- name: "mmio_read_completed"
- type_id: 0x6720d32f
- offset: 1376
-}
-member {
id: 0x12cc7367
name: "mmio_start"
type_id: 0x33756485
@@ -124573,75 +126911,6 @@ member {
offset: 1280
}
member {
- id: 0x6d5a2dc5
- name: "mmu"
- type_id: 0x38e86333
- offset: 192
-}
-member {
- id: 0x6dab2c05
- name: "mmu"
- type_id: 0xc9e16a53
-}
-member {
- id: 0x1c0c4ea6
- name: "mmu_invalidate_in_progress"
- type_id: 0xfc0e1dbd
- offset: 26048
-}
-member {
- id: 0xf7c73e7d
- name: "mmu_invalidate_range_end"
- type_id: 0x33756485
- offset: 26176
-}
-member {
- id: 0xc81d2fc7
- name: "mmu_invalidate_range_start"
- type_id: 0x33756485
- offset: 26112
-}
-member {
- id: 0x59a47d0f
- name: "mmu_invalidate_seq"
- type_id: 0x33756485
- offset: 25984
-}
-member {
- id: 0x833819ed
- name: "mmu_lock"
- type_id: 0xf4933b90
-}
-member {
- id: 0x4938a60d
- name: "mmu_notifier"
- type_id: 0x846ab93f
- offset: 25408
-}
-member {
- id: 0x18b48436
- name: "mmu_page_cache"
- type_id: 0xa2ba72d6
-}
-member {
- id: 0x1a817692
- name: "mn_active_invalidate_count"
- type_id: 0x33756485
- offset: 18368
-}
-member {
- id: 0x8174053d
- name: "mn_invalidate_lock"
- type_id: 0xf313e71a
- offset: 18304
-}
-member {
- id: 0xf11c4ad7
- name: "mn_memslots_update_rcuwait"
- type_id: 0xdba44af3
- offset: 18432
-}
-member {
id: 0x32301a1f
name: "mnt"
type_id: 0x9871ee6b
@@ -124933,6 +127202,18 @@ member {
offset: 7680
}
member {
+ id: 0x87085ac9
+ name: "mode"
+ type_id: 0x9547a3da
+ offset: 1952
+}
+member {
+ id: 0x87085bff
+ name: "mode"
+ type_id: 0x9547a3da
+ offset: 128
+}
+member {
id: 0x8709c295
name: "mode"
type_id: 0x94d699ef
@@ -125128,12 +127409,6 @@ member {
offset: 32
}
member {
- id: 0x87fa34df
- name: "mode"
- type_id: 0x6720d32f
- offset: 384
-}
-member {
id: 0x87fa354d
name: "mode"
type_id: 0x6720d32f
@@ -125649,10 +127924,10 @@ member {
offset: 4352
}
member {
- id: 0xc6a08da1
+ id: 0xc6a08382
name: "monitored_devices"
type_id: 0xd3c80119
- offset: 49856
+ offset: 50240
}
member {
id: 0x6383498a
@@ -125804,22 +128079,6 @@ member {
offset: 704
}
member {
- id: 0xfc27981e
- name: "mp_state"
- type_id: 0xe62ebf07
-}
-member {
- id: 0xfcc328ac
- name: "mp_state"
- type_id: 0x029d28cb
- offset: 66816
-}
-member {
- id: 0x34f49183
- name: "mpidr"
- type_id: 0xc9082b19
-}
-member {
id: 0x9410bf1b
name: "mpls_features"
type_id: 0x2584a3b9
@@ -126186,6 +128445,11 @@ member {
offset: 384
}
member {
+ id: 0xe2057d5b
+ name: "msg"
+ type_id: 0x054f691a
+}
+member {
id: 0xe260f8b5
name: "msg"
type_id: 0x60ca2c23
@@ -126340,12 +128604,6 @@ member {
offset: 64
}
member {
- id: 0x67f93f00
- name: "msg_page"
- type_id: 0xedf277ba
- offset: 192
-}
-member {
id: 0x91e9d7fd
name: "msg_parser"
type_id: 0x3382a638
@@ -126537,12 +128795,6 @@ member {
type_id: 0xa5e1bddf
}
member {
- id: 0x7abe829e
- name: "msis_require_devid"
- type_id: 0x6d7f5ff6
- offset: 104
-}
-member {
id: 0x8e2397ea
name: "msix_base"
type_id: 0x18bd6530
@@ -126599,16 +128851,6 @@ member {
offset: 1408
}
member {
- id: 0x324f2583
- name: "msr"
- type_id: 0x079bc2f5
-}
-member {
- id: 0x32ae90fe
- name: "msr"
- type_id: 0xe62ebf07
-}
-member {
id: 0xcf473d6a
name: "msr_saved_flags"
type_id: 0x5d8155a5
@@ -126621,6 +128863,23 @@ member {
offset: 1152
}
member {
+ id: 0x8571ffda
+ name: "mss_cache"
+ type_id: 0xc9082b19
+ offset: 13408
+}
+member {
+ id: 0x5ddbff68
+ name: "mss_clamp"
+ type_id: 0x914dbfdc
+ offset: 176
+}
+member {
+ id: 0xf3d1e1b3
+ name: "mstamp"
+ type_id: 0x92233392
+}
+member {
id: 0xeb62513d
name: "mt"
type_id: 0x19f65b03
@@ -126704,6 +128963,30 @@ member {
offset: 64
}
member {
+ id: 0x3641013e
+ name: "mtu_info"
+ type_id: 0xc9082b19
+ offset: 18624
+}
+member {
+ id: 0x541b592a
+ name: "mtu_probe"
+ type_id: 0x0904167f
+ offset: 18560
+}
+member {
+ id: 0x2e3a46f9
+ name: "mtu_reduced"
+ type_id: 0x0f626ee5
+ offset: 640
+}
+member {
+ id: 0x3a21c0f4
+ name: "mtx"
+ type_id: 0xf313e71a
+ offset: 1760
+}
+member {
id: 0x3a75162c
name: "mtx"
type_id: 0xa7c362b0
@@ -126746,6 +129029,12 @@ member {
offset: 64
}
member {
+ id: 0xe7efca93
+ name: "multi"
+ type_id: 0xf86b845e
+ offset: 64
+}
+member {
id: 0xfcd3aab9
name: "multi_block"
type_id: 0x4585663f
@@ -127076,6 +129365,11 @@ member {
offset: 2688
}
member {
+ id: 0x4659cf92
+ name: "n"
+ type_id: 0x3f0185ef
+}
+member {
id: 0xc101e64f
name: "n2"
type_id: 0x4585663f
@@ -127142,6 +129436,12 @@ member {
offset: 2240
}
member {
+ id: 0x04227360
+ name: "n_buffers"
+ type_id: 0x607419c2
+ offset: 704
+}
+member {
id: 0x650782f7
name: "n_channels"
type_id: 0x6720d32f
@@ -127390,6 +129690,12 @@ member {
offset: 32
}
member {
+ id: 0x0cc91dc5
+ name: "n_sz"
+ type_id: 0xf435685e
+ offset: 512
+}
+member {
id: 0xdc10e384
name: "n_tables"
type_id: 0x4585663f
@@ -127492,12 +129798,6 @@ member {
offset: 32
}
member {
- id: 0x0d114fce
- name: "name"
- type_id: 0xca2a51af
- offset: 128
-}
-member {
id: 0x0d273c21
name: "name"
type_id: 0xfc59be2e
@@ -127649,6 +129949,12 @@ member {
type_id: 0x4d65b854
}
member {
+ id: 0x0d9941a0
+ name: "name"
+ type_id: 0x42201dce
+ offset: 160
+}
+member {
id: 0x0d9944ca
name: "name"
type_id: 0x42201dce
@@ -127661,6 +129967,12 @@ member {
offset: 128
}
member {
+ id: 0x0d994758
+ name: "name"
+ type_id: 0x42201dce
+ offset: 512
+}
+member {
id: 0x0d9948a1
name: "name"
type_id: 0x42201dce
@@ -127673,6 +129985,12 @@ member {
offset: 672
}
member {
+ id: 0x0d994b65
+ name: "name"
+ type_id: 0x42201dce
+ offset: 1728
+}
+member {
id: 0x0d994c40
name: "name"
type_id: 0x42201dce
@@ -127765,12 +130083,6 @@ member {
offset: 32
}
member {
- id: 0x0dc6047f
- name: "name"
- type_id: 0x1d61e0cf
- offset: 128
-}
-member {
id: 0x0dc6099d
name: "name"
type_id: 0x1d61e0cf
@@ -127873,12 +130185,6 @@ member {
offset: 1280
}
member {
- id: 0x0ddfea33
- name: "name"
- type_id: 0x0483e6f8
- offset: 2432
-}
-member {
id: 0x0ddfef10
name: "name"
type_id: 0x0483e6f8
@@ -128342,12 +130648,6 @@ member {
offset: 64
}
member {
- id: 0xb1e7f3ff
- name: "nassgireq"
- type_id: 0x6d7f5ff6
- offset: 392
-}
-member {
id: 0x452670ab
name: "nat_bysource"
type_id: 0x49a73111
@@ -128503,10 +130803,15 @@ member {
offset: 320
}
member {
- id: 0xe5f6e117
+ id: 0x11638e21
+ name: "ncm_parm"
+ type_id: 0xc4793083
+}
+member {
+ id: 0xe5f6efa3
name: "ncmd_timer"
type_id: 0xf1159c31
- offset: 20736
+ offset: 21120
}
member {
id: 0x724b21cb
@@ -128602,12 +130907,6 @@ member {
offset: 1152
}
member {
- id: 0xb7cbdc47
- name: "ndata"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x4ce502de
name: "ndctl"
type_id: 0x80e63dcd
@@ -129286,6 +131585,12 @@ member {
offset: 32
}
member {
+ id: 0x9460fdf7
+ name: "need_reserved_buffers"
+ type_id: 0x4585663f
+ offset: 1408
+}
+member {
id: 0xa5ad7a15
name: "need_retune"
type_id: 0x6720d32f
@@ -129310,6 +131615,12 @@ member {
offset: 8
}
member {
+ id: 0x247d2bc2
+ name: "need_shrink"
+ type_id: 0xb02b353a
+ offset: 2880
+}
+member {
id: 0x394e18c1
name: "need_sync"
type_id: 0x295c7202
@@ -129373,6 +131684,13 @@ member {
bitsize: 1
}
member {
+ id: 0xf55a45f8
+ name: "needs_bio_set_dev"
+ type_id: 0x6d7f5ff6
+ offset: 581
+ bitsize: 1
+}
+member {
id: 0x87f2640c
name: "needs_force_resume"
type_id: 0x4585663f
@@ -129519,6 +131837,12 @@ member {
offset: 384
}
member {
+ id: 0xe3a3de7e
+ name: "nested_devlink"
+ type_id: 0x0cf3d8fe
+ offset: 1024
+}
+member {
id: 0x5f6b4acf
name: "nested_policy"
type_id: 0x3a40fc42
@@ -129571,6 +131895,12 @@ member {
offset: 704
}
member {
+ id: 0x723de0ca
+ name: "net"
+ type_id: 0x32a623d7
+ offset: 128
+}
+member {
id: 0x723dee2d
name: "net"
type_id: 0x32a623d7
@@ -129594,6 +131924,18 @@ member {
offset: 30720
}
member {
+ id: 0x171ea46a
+ name: "net_frag_header_len"
+ type_id: 0x914dbfdc
+ offset: 400
+}
+member {
+ id: 0x729f250d
+ name: "net_header_len"
+ type_id: 0x914dbfdc
+ offset: 384
+}
+member {
id: 0x61d0c33e
name: "net_id"
type_id: 0x4585663f
@@ -129870,12 +132212,6 @@ member {
bitsize: 4
}
member {
- id: 0xe719c8c0
- name: "new_value"
- type_id: 0x33756485
- offset: 64
-}
-member {
id: 0xe723c4b2
name: "new_value"
type_id: 0x097a80cb
@@ -129999,6 +132335,11 @@ member {
type_id: 0x3846864c
}
member {
+ id: 0x11cc9887
+ name: "next"
+ type_id: 0x3f985801
+}
+member {
id: 0x11ccea6a
name: "next"
type_id: 0x3feab580
@@ -130100,6 +132441,12 @@ member {
type_id: 0x2d5e3e76
}
member {
+ id: 0x11e1e8dd
+ name: "next"
+ type_id: 0x12e0cbae
+ offset: 192
+}
+member {
id: 0x11e57880
name: "next"
type_id: 0x16749208
@@ -130187,6 +132534,12 @@ member {
offset: 128
}
member {
+ id: 0x11f10efe
+ name: "next"
+ type_id: 0x0206e829
+ offset: 192
+}
+member {
id: 0x11f1c380
name: "next"
type_id: 0x02c35f57
@@ -130210,6 +132563,12 @@ member {
offset: 896
}
member {
+ id: 0x11f3dd43
+ name: "next"
+ type_id: 0x00daeb4b
+ offset: 448
+}
+member {
id: 0x11f3fee9
name: "next"
type_id: 0x00fe3621
@@ -130242,6 +132601,11 @@ member {
offset: 64
}
member {
+ id: 0x11f8bba0
+ name: "next"
+ type_id: 0x0bbb7f1b
+}
+member {
id: 0x11f8e110
name: "next"
type_id: 0x0be1cf6e
@@ -130475,6 +132839,11 @@ member {
type_id: 0x2d5e3e76
}
member {
+ id: 0x11613e69
+ name: "next_rcu"
+ type_id: 0x0bbfad26
+}
+member {
id: 0x4074d0ef
name: "next_request"
type_id: 0x3d8b1920
@@ -130487,6 +132856,12 @@ member {
offset: 1856
}
member {
+ id: 0x7cd3c1cb
+ name: "next_sector"
+ type_id: 0xd0b3a203
+ offset: 64
+}
+member {
id: 0x430d2e4c
name: "next_seq"
type_id: 0x92233392
@@ -130575,6 +132950,11 @@ member {
type_id: 0x92233392
}
member {
+ id: 0xe85e1d32
+ name: "nexthdr"
+ type_id: 0xb3e7bac9
+}
+member {
id: 0xe8c4a21b
name: "nexthdr"
type_id: 0x295c7202
@@ -130593,6 +132973,12 @@ member {
offset: 4608
}
member {
+ id: 0xe2d3a144
+ name: "nexthop"
+ type_id: 0xe276adef
+ offset: 32
+}
+member {
id: 0xd02f52bb
name: "nf"
type_id: 0x856ef6c4
@@ -130747,6 +133133,12 @@ member {
type_id: 0x1f9da9a8
}
member {
+ id: 0x713b460f
+ name: "nh"
+ type_id: 0x1e9c55da
+ offset: 288
+}
+member {
id: 0xdb1c1848
name: "nh_all"
type_id: 0x7db04ce7
@@ -130775,6 +133167,11 @@ member {
type_id: 0x17b2105b
}
member {
+ id: 0xd51ec347
+ name: "nh_family"
+ type_id: 0xc9082b19
+}
+member {
id: 0x9fb787a3
name: "nh_flags"
type_id: 0x295c7202
@@ -130945,6 +133342,12 @@ member {
offset: 64
}
member {
+ id: 0x25da85de
+ name: "nhoff"
+ type_id: 0xe8034002
+ offset: 112
+}
+member {
id: 0xd1269bee
name: "nht"
type_id: 0x3017223b
@@ -131392,6 +133795,18 @@ member {
bitsize: 1
}
member {
+ id: 0x59c1c7cb
+ name: "no_skb_reserve"
+ type_id: 0x6d7f5ff6
+ offset: 1480
+}
+member {
+ id: 0xec4c530d
+ name: "no_sleep"
+ type_id: 0x6d7f5ff6
+ offset: 416
+}
+member {
id: 0x1ccebffc
name: "no_start_on_add"
type_id: 0x4585663f
@@ -131485,11 +133900,6 @@ member {
bitsize: 1
}
member {
- id: 0x603fc5a7
- name: "nobjs"
- type_id: 0x6720d32f
-}
-member {
id: 0x0934e011
name: "noboot"
type_id: 0x6d7f5ff6
@@ -131536,10 +133946,16 @@ member {
type_id: 0x6c32e522
}
member {
- id: 0x0f3ca933
+ id: 0x0f3ca80d
name: "node"
type_id: 0x49a73111
- offset: 3712
+ offset: 384
+}
+member {
+ id: 0x0f3ca934
+ name: "node"
+ type_id: 0x49a73111
+ offset: 256
}
member {
id: 0x0f3ca99f
@@ -131781,12 +134197,6 @@ member {
offset: 52096
}
member {
- id: 0xdeaef990
- name: "node_idx"
- type_id: 0x6720d32f
- offset: 8512
-}
-member {
id: 0xd7b5832b
name: "node_list"
type_id: 0xd3c80119
@@ -131845,6 +134255,13 @@ member {
type_id: 0x8cbe1332
}
member {
+ id: 0xb932820e
+ name: "nodefrag"
+ type_id: 0xb3e7bac9
+ offset: 7111
+ bitsize: 1
+}
+member {
id: 0xd988ce91
name: "nodeinfo"
type_id: 0xc3f77699
@@ -131857,6 +134274,12 @@ member {
offset: 8696
}
member {
+ id: 0x788bc17d
+ name: "nodemask"
+ type_id: 0x2fb2b385
+ offset: 64
+}
+member {
id: 0x8b5fc0c2
name: "nodename"
type_id: 0x3e10b518
@@ -132058,6 +134481,13 @@ member {
bitsize: 1
}
member {
+ id: 0xa073f76a
+ name: "nonagle"
+ type_id: 0x295c7202
+ offset: 13864
+ bitsize: 4
+}
+member {
id: 0x5cf54d0d
name: "nonatomic"
type_id: 0x6d7f5ff6
@@ -132299,21 +134729,16 @@ member {
offset: 256
}
member {
- id: 0x56e50a84
- name: "notify"
- type_id: 0x130fee63
-}
-member {
id: 0x56f8e261
name: "notify"
type_id: 0x0eee7907
offset: 576
}
member {
- id: 0x56f92eab
+ id: 0x56f92467
name: "notify"
type_id: 0x0f2f95e7
- offset: 50432
+ offset: 50816
}
member {
id: 0x56fba0e3
@@ -132465,6 +134890,12 @@ member {
offset: 9088
}
member {
+ id: 0xfdfb52fb
+ name: "notsent_lowat"
+ type_id: 0xc9082b19
+ offset: 15616
+}
+member {
id: 0xf8489542
name: "now_frame"
type_id: 0x4585663f
@@ -132724,11 +135155,6 @@ member {
offset: 192
}
member {
- id: 0xc2c8918f
- name: "nr_cpus"
- type_id: 0x6720d32f
-}
-member {
id: 0x98f55073
name: "nr_cpus_allowed"
type_id: 0x6720d32f
@@ -132741,12 +135167,6 @@ member {
offset: 2416
}
member {
- id: 0xb9a58615
- name: "nr_db_lpis"
- type_id: 0x6720d32f
- offset: 448
-}
-member {
id: 0x244cd0bd
name: "nr_deferred"
type_id: 0x269af4e9
@@ -133022,12 +135442,6 @@ member {
offset: 8160
}
member {
- id: 0x2af96acc
- name: "nr_lpis"
- type_id: 0x6720d32f
- offset: 64
-}
-member {
id: 0x183eb746
name: "nr_maps"
type_id: 0x4585663f
@@ -133052,12 +135466,6 @@ member {
offset: 64
}
member {
- id: 0x8a52dd6e
- name: "nr_memslot_pages"
- type_id: 0x33756485
- offset: 896
-}
-member {
id: 0x02abbc80
name: "nr_migratepages"
type_id: 0x4585663f
@@ -133307,12 +135715,6 @@ member {
offset: 704
}
member {
- id: 0xddd1c1b9
- name: "nr_regions"
- type_id: 0x6720d32f
- offset: 224
-}
-member {
id: 0x5a432fb1
name: "nr_relocs"
type_id: 0x4585663f
@@ -133355,12 +135757,6 @@ member {
offset: 192
}
member {
- id: 0xf6e30a95
- name: "nr_rt_entries"
- type_id: 0xc9082b19
- offset: 31616
-}
-member {
id: 0xd6072070
name: "nr_running"
type_id: 0x74d29cf1
@@ -133462,18 +135858,6 @@ member {
offset: 8640
}
member {
- id: 0x5eb23b58
- name: "nr_spis"
- type_id: 0x6720d32f
- offset: 128
-}
-member {
- id: 0x5eb23fa1
- name: "nr_spis"
- type_id: 0x6720d32f
- offset: 32
-}
-member {
id: 0x47396359
name: "nr_spread_over"
type_id: 0x4585663f
@@ -133625,12 +136009,6 @@ member {
type_id: 0x4585663f
}
member {
- id: 0x6ba53b1d
- name: "nr_vpes"
- type_id: 0x6720d32f
- offset: 256
-}
-member {
id: 0xd52b9423
name: "nr_wakeups"
type_id: 0x92233392
@@ -133714,6 +136092,12 @@ member {
offset: 51840
}
member {
+ id: 0x42b6c2d1
+ name: "nr_zones"
+ type_id: 0x4585663f
+ offset: 10240
+}
+member {
id: 0x42b6ca98
name: "nr_zones"
type_id: 0x4585663f
@@ -134127,6 +136511,12 @@ member {
offset: 40
}
member {
+ id: 0x197cb73f
+ name: "num_allocated"
+ type_id: 0x4585663f
+ offset: 1696
+}
+member {
id: 0xf074f928
name: "num_alt_modes"
type_id: 0x295c7202
@@ -134507,6 +136897,12 @@ member {
offset: 64
}
member {
+ id: 0xe8ffd602
+ name: "num_discard_bios"
+ type_id: 0x4585663f
+ offset: 320
+}
+member {
id: 0x9494166e
name: "num_domains"
type_id: 0x4585663f
@@ -134572,12 +136968,6 @@ member {
offset: 192
}
member {
- id: 0xaeede60f
- name: "num_events"
- type_id: 0x6720d32f
- offset: 3392
-}
-member {
id: 0x7f574879
name: "num_exentries"
type_id: 0xc9082b19
@@ -134632,6 +137022,12 @@ member {
offset: 7552
}
member {
+ id: 0xf997f643
+ name: "num_flush_bios"
+ type_id: 0x4585663f
+ offset: 288
+}
+member {
id: 0x7bcccefc
name: "num_formats"
type_id: 0x4585663f
@@ -134703,12 +137099,6 @@ member {
offset: 320
}
member {
- id: 0xf95b9cd7
- name: "num_id_bits"
- type_id: 0xc9082b19
- offset: 31936
-}
-member {
id: 0x3e07f1e9
name: "num_ids"
type_id: 0x4585663f
@@ -135151,12 +137541,6 @@ member {
offset: 1920
}
member {
- id: 0xbf52270e
- name: "num_pri_bits"
- type_id: 0xc9082b19
- offset: 31904
-}
-member {
id: 0x4c06bbb4
name: "num_private"
type_id: 0xe8034002
@@ -135359,6 +137743,12 @@ member {
offset: 6272
}
member {
+ id: 0x7cf21fa8
+ name: "num_sacks"
+ type_id: 0x295c7202
+ offset: 152
+}
+member {
id: 0xbcb6b731
name: "num_sample_rates"
type_id: 0xe62ebf07
@@ -135371,6 +137761,12 @@ member {
offset: 128
}
member {
+ id: 0x772e5751
+ name: "num_secure_erase_bios"
+ type_id: 0x4585663f
+ offset: 352
+}
+member {
id: 0xab5509da
name: "num_segs"
type_id: 0x4585663f
@@ -135527,6 +137923,12 @@ member {
offset: 64
}
member {
+ id: 0x0e2a551a
+ name: "num_targets"
+ type_id: 0x4585663f
+ offset: 1664
+}
+member {
id: 0x72a5b6f7
name: "num_tbps"
type_id: 0x6720d32f
@@ -135695,6 +138097,12 @@ member {
offset: 7616
}
member {
+ id: 0x4fa0a319
+ name: "num_write_zeroes_bios"
+ type_id: 0x4585663f
+ offset: 384
+}
+member {
id: 0xd474418d
name: "numa_node"
type_id: 0xe62ebf07
@@ -135731,6 +138139,12 @@ member {
offset: 8480
}
member {
+ id: 0x0f379684
+ name: "numa_node_id"
+ type_id: 0x6720d32f
+ offset: 1440
+}
+member {
id: 0x35834d78
name: "numa_pwq_tbl"
type_id: 0xcc357790
@@ -136033,12 +138447,6 @@ member {
offset: 448
}
member {
- id: 0x2aa4f724
- name: "objects"
- type_id: 0x0cbf60eb
- offset: 256
-}
-member {
id: 0x89cabbe4
name: "objects"
type_id: 0x4585663f
@@ -136057,10 +138465,10 @@ member {
type_id: 0xad7c0a89
}
member {
- id: 0x7a226550
+ id: 0x7a226b7d
name: "objs_per_zspage"
type_id: 0x6720d32f
- offset: 608
+ offset: 544
}
member {
id: 0x33953b25
@@ -136163,6 +138571,13 @@ member {
offset: 736
}
member {
+ id: 0x4f7607b0
+ name: "odstopts"
+ type_id: 0xe8034002
+ offset: 9
+ bitsize: 1
+}
+member {
id: 0xc03481fc
name: "oemid"
type_id: 0xc93e017b
@@ -136450,10 +138865,10 @@ member {
offset: 704
}
member {
- id: 0x8b1c39bc
+ id: 0x8b1c3d04
name: "off"
type_id: 0xc9082b19
- offset: 96
+ offset: 32
}
member {
id: 0x8b35cac9
@@ -136821,6 +139236,12 @@ member {
offset: 128
}
member {
+ id: 0x9bd5d3ca
+ name: "offset"
+ type_id: 0xc9082b19
+ offset: 1728
+}
+member {
id: 0x9bd5d4ef
name: "offset"
type_id: 0xc9082b19
@@ -136844,12 +139265,6 @@ member {
offset: 128
}
member {
- id: 0x9bf12a52
- name: "offset"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
id: 0x9bf12eb3
name: "offset"
type_id: 0xedf277ba
@@ -136960,6 +139375,13 @@ member {
offset: 5632
}
member {
+ id: 0xba0eaaec
+ name: "ohopopts"
+ type_id: 0xe8034002
+ offset: 7
+ bitsize: 1
+}
+member {
id: 0xa5064bbb
name: "oifindex"
type_id: 0x6720d32f
@@ -136972,6 +139394,12 @@ member {
offset: 832
}
member {
+ id: 0xe5a6cde2
+ name: "oiv"
+ type_id: 0x00c72527
+ offset: 896
+}
+member {
id: 0x1e0dc421
name: "okfn"
type_id: 0x2d2736e0
@@ -137026,6 +139454,12 @@ member {
offset: 96
}
member {
+ id: 0x1293b17d
+ name: "old_sector"
+ type_id: 0xd0b3a203
+ offset: 256
+}
+member {
id: 0xa9aee94d
name: "old_sk_destruct"
type_id: 0x0f626ee5
@@ -137260,12 +139694,6 @@ member {
offset: 9920
}
member {
- id: 0xc21468d0
- name: "online_vcpus"
- type_id: 0x74d29cf1
- offset: 18688
-}
-member {
id: 0x7adb50ba
name: "onlink"
type_id: 0xb3e7bac9
@@ -137350,6 +139778,12 @@ member {
offset: 7776
}
member {
+ id: 0x78ec3163
+ name: "ooo_last_skb"
+ type_id: 0x054f691a
+ offset: 17088
+}
+member {
id: 0xdfd3d3d5
name: "ooo_okay"
type_id: 0xb3e7bac9
@@ -137496,10 +139930,10 @@ member {
type_id: 0x2cfc979f
}
member {
- id: 0xad98abe8
+ id: 0xad98a9ad
name: "open"
type_id: 0x2c2c3c2e
- offset: 50048
+ offset: 50432
}
member {
id: 0xad98dbd1
@@ -137631,6 +140065,12 @@ member {
offset: 960
}
member {
+ id: 0xadb9bed8
+ name: "open"
+ type_id: 0x0d36eefe
+ offset: 2240
+}
+member {
id: 0xadba96dc
name: "open"
type_id: 0x0e1719d7
@@ -137654,6 +140094,12 @@ member {
offset: 64
}
member {
+ id: 0x3961e57f
+ name: "open_count"
+ type_id: 0x74d29cf1
+ offset: 1568
+}
+member {
id: 0x3961e85c
name: "open_count"
type_id: 0x74d29cf1
@@ -137869,12 +140315,6 @@ member {
offset: 1152
}
member {
- id: 0xaf890e76
- name: "ops"
- type_id: 0x02067bf4
- offset: 768
-}
-member {
id: 0xaf8c0a54
name: "ops"
type_id: 0x070c84c2
@@ -137940,12 +140380,6 @@ member {
offset: 8704
}
member {
- id: 0xafaa08ab
- name: "ops"
- type_id: 0x2101ca02
- offset: 128
-}
-member {
id: 0xafaa22ec
name: "ops"
type_id: 0x212a866f
@@ -137987,12 +140421,6 @@ member {
type_id: 0x3b991d29
}
member {
- id: 0xafb0c299
- name: "ops"
- type_id: 0x3bcbf8c5
- offset: 128
-}
-member {
id: 0xafb0ea3a
name: "ops"
type_id: 0x3bedc96c
@@ -138185,6 +140613,12 @@ member {
offset: 64
}
member {
+ id: 0xafb646e8
+ name: "ops"
+ type_id: 0x3d46e073
+ offset: 256
+}
+member {
id: 0xafb6613a
name: "ops"
type_id: 0x3d669bc4
@@ -138346,6 +140780,12 @@ member {
offset: 17088
}
member {
+ id: 0xafba248b
+ name: "ops"
+ type_id: 0x3121a074
+ offset: 2432
+}
+member {
id: 0xafba3fb1
name: "ops"
type_id: 0x313bf3b2
@@ -138380,9 +140820,9 @@ member {
type_id: 0x31c93a7f
}
member {
- id: 0xafbacb95
+ id: 0xafbad944
name: "ops"
- type_id: 0x31cb364e
+ type_id: 0x31d9e79a
}
member {
id: 0xafbb0869
@@ -138415,6 +140855,12 @@ member {
offset: 64
}
member {
+ id: 0xafbb76d0
+ name: "ops"
+ type_id: 0x307eba5c
+ offset: 192
+}
+member {
id: 0xafbba914
name: "ops"
type_id: 0x30a17e95
@@ -138450,11 +140896,6 @@ member {
offset: 3392
}
member {
- id: 0xafbcd9c0
- name: "ops"
- type_id: 0x37d96371
-}
-member {
id: 0xafbcdef5
name: "ops"
type_id: 0x37d8983e
@@ -138503,6 +140944,12 @@ member {
offset: 576
}
member {
+ id: 0xafbe6621
+ name: "ops"
+ type_id: 0x356e4b27
+ offset: 192
+}
+member {
id: 0xafbed153
name: "ops"
type_id: 0x35d1f0b8
@@ -138601,17 +141048,46 @@ member {
offset: 640
}
member {
+ id: 0xf64ae666
+ name: "opt"
+ type_id: 0x00cc5f1f
+ offset: 64
+}
+member {
id: 0xf6548174
name: "opt"
type_id: 0x1eafac69
}
member {
+ id: 0xf6635680
+ name: "opt"
+ type_id: 0x29719ae3
+ offset: 128
+}
+member {
id: 0xf6637b68
name: "opt"
type_id: 0x295c7202
offset: 128
}
member {
+ id: 0xf676260e
+ name: "opt"
+ type_id: 0x3c087d20
+ offset: 256
+}
+member {
+ id: 0xf67626a5
+ name: "opt"
+ type_id: 0x3c087d20
+}
+member {
+ id: 0xf6762c03
+ name: "opt"
+ type_id: 0x3c087d20
+ offset: 896
+}
+member {
id: 0xf6da3e67
name: "opt"
type_id: 0x901d84ad
@@ -138630,12 +141106,24 @@ member {
offset: 392
}
member {
+ id: 0x5e1efe31
+ name: "opt_flen"
+ type_id: 0xe8034002
+ offset: 64
+}
+member {
id: 0xb8d181f5
name: "opt_mapping_size"
type_id: 0x2f5fcbf3
offset: 1472
}
member {
+ id: 0x00c73957
+ name: "opt_nflen"
+ type_id: 0xe8034002
+ offset: 80
+}
+member {
id: 0xb435ce80
name: "opt_sectors"
type_id: 0x4585663f
@@ -138698,6 +141186,12 @@ member {
offset: 576
}
member {
+ id: 0x3cedbd03
+ name: "optlen"
+ type_id: 0x5d8155a5
+ offset: 64
+}
+member {
id: 0x39c46a92
name: "opts"
type_id: 0x1eafac69
@@ -138710,6 +141204,12 @@ member {
offset: 256
}
member {
+ id: 0xb51c2507
+ name: "order"
+ type_id: 0xc5d9d969
+ offset: 224
+}
+member {
id: 0xb53fd5a4
name: "order"
type_id: 0xe62ebf07
@@ -138799,6 +141299,24 @@ member {
type_id: 0xbdd18903
}
member {
+ id: 0xd07b78d9
+ name: "orig_bio"
+ type_id: 0x15a30023
+ offset: 512
+}
+member {
+ id: 0x17637816
+ name: "orig_cb"
+ type_id: 0xfc2c3062
+ offset: 192
+}
+member {
+ id: 0x9772cb65
+ name: "orig_data"
+ type_id: 0x18bd6530
+ offset: 128
+}
+member {
id: 0x25ffe762
name: "orig_description"
type_id: 0x3e10b518
@@ -138975,11 +141493,6 @@ member {
offset: 96
}
member {
- id: 0x35649aee
- name: "osi"
- type_id: 0x129d9eba
-}
-member {
id: 0x8d9b8608
name: "osid"
type_id: 0xc9082b19
@@ -139010,6 +141523,13 @@ member {
offset: 96
}
member {
+ id: 0x1e410881
+ name: "osrcrt"
+ type_id: 0xe8034002
+ offset: 1
+ bitsize: 1
+}
+member {
id: 0x9dbc540c
name: "otg"
type_id: 0x0db3ac0f
@@ -139068,6 +141588,12 @@ member {
offset: 160
}
member {
+ id: 0xb335975f
+ name: "out"
+ type_id: 0xc440583a
+ offset: 448
+}
+member {
id: 0xb396f982
name: "out"
type_id: 0x6720d32f
@@ -139121,6 +141647,12 @@ member {
offset: 128
}
member {
+ id: 0xbdac13df
+ name: "out_ep"
+ type_id: 0x0e2680c2
+ offset: 1856
+}
+member {
id: 0x4b42e885
name: "out_epnum"
type_id: 0x4585663f
@@ -139156,6 +141688,12 @@ member {
offset: 1088
}
member {
+ id: 0x0b88a7b8
+ name: "out_of_order_queue"
+ type_id: 0xeb923a9b
+ offset: 17024
+}
+member {
id: 0x21d1ea91
name: "out_q_ctx"
type_id: 0x09b350b9
@@ -139211,6 +141749,12 @@ member {
offset: 192
}
member {
+ id: 0xdf6660f4
+ name: "output"
+ type_id: 0x2d2736e0
+ offset: 576
+}
+member {
id: 0xdf666814
name: "output"
type_id: 0x2d2736e0
@@ -139383,11 +141927,6 @@ member {
offset: 8000
}
member {
- id: 0x39d6cdec
- name: "overflow_work"
- type_id: 0xb95bf932
-}
-member {
id: 0x4c799d4b
name: "overhead"
type_id: 0x914dbfdc
@@ -139442,12 +141981,6 @@ member {
offset: 13120
}
member {
- id: 0x8dc5ba0f
- name: "override_halt_poll_ns"
- type_id: 0x6d7f5ff6
- offset: 34272
-}
-member {
id: 0xf1d2ff61
name: "override_only"
type_id: 0xe62ebf07
@@ -139526,6 +142059,12 @@ member {
offset: 224
}
member {
+ id: 0xc099cc3c
+ name: "overwrite_mask"
+ type_id: 0xc9082b19
+ offset: 128
+}
+member {
id: 0x9e1f254a
name: "overwrite_state"
type_id: 0x3a534a58
@@ -139627,12 +142166,6 @@ member {
offset: 256
}
member {
- id: 0x4a85cb53
- name: "owner"
- type_id: 0x18bd6530
- offset: 832
-}
-member {
id: 0x4a85cf2e
name: "owner"
type_id: 0x18bd6530
@@ -139834,6 +142367,12 @@ member {
type_id: 0x30f06408
}
member {
+ id: 0x4ad6a726
+ name: "owner"
+ type_id: 0x4bdbd862
+ offset: 576
+}
+member {
id: 0x4aeb46f7
name: "owner"
type_id: 0x763389c7
@@ -139888,6 +142427,18 @@ member {
offset: 640
}
member {
+ id: 0xb8ff9609
+ name: "owners"
+ type_id: 0x5e8dc7f4
+ offset: 384
+}
+member {
+ id: 0xb8ff9c83
+ name: "owners"
+ type_id: 0x5e8dc7f4
+ offset: 512
+}
+member {
id: 0xa6673206
name: "p"
type_id: 0xd67c82d4
@@ -139927,6 +142478,12 @@ member {
offset: 896
}
member {
+ id: 0xa68e47c8
+ name: "p"
+ type_id: 0x3f0185ef
+ offset: 192
+}
+member {
id: 0xa6984880
name: "p"
type_id: 0x290604c6
@@ -140154,6 +142711,12 @@ member {
type_id: 0x0113dde3
}
member {
+ id: 0x73d7a8f4
+ name: "p_sz"
+ type_id: 0xf435685e
+ offset: 704
+}
+member {
id: 0x5fce0bc2
name: "p_u16"
type_id: 0x2ec35650
@@ -140199,6 +142762,12 @@ member {
type_id: 0x1f6d4933
}
member {
+ id: 0xb18c6cab
+ name: "pacing_timer"
+ type_id: 0xcd7704bf
+ offset: 15744
+}
+member {
id: 0xa9322d92
name: "pack_id"
type_id: 0x6720d32f
@@ -140275,6 +142844,12 @@ member {
offset: 64
}
member {
+ id: 0xfdbc865b
+ name: "packets_out"
+ type_id: 0xc9082b19
+ offset: 14496
+}
+member {
id: 0x716716c4
name: "packing"
type_id: 0xb3e7bac9
@@ -140287,24 +142862,12 @@ member {
offset: 44704
}
member {
- id: 0x6b32a1dc
- name: "pad"
- type_id: 0xe62ebf07
- offset: 544
-}
-member {
id: 0x6b32a238
name: "pad"
type_id: 0xe62ebf07
offset: 32
}
member {
- id: 0x6b32a680
- name: "pad"
- type_id: 0xe62ebf07
- offset: 96
-}
-member {
id: 0x6b32af03
name: "pad"
type_id: 0xe62ebf07
@@ -140322,12 +142885,6 @@ member {
offset: 1368
}
member {
- id: 0x6b90bd2c
- name: "pad"
- type_id: 0x44377683
- offset: 8
-}
-member {
id: 0x6bb3a9c1
name: "pad"
type_id: 0x6720d32f
@@ -140374,12 +142931,6 @@ member {
offset: 16
}
member {
- id: 0xbad0c2a3
- name: "pad2"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0xbaffe3eb
name: "pad2"
type_id: 0xc9082b19
@@ -140469,11 +143020,6 @@ member {
offset: 24
}
member {
- id: 0x646aaa85
- name: "padding"
- type_id: 0x8ca7b4cd
-}
-member {
id: 0x64774c4f
name: "padding"
type_id: 0x914dbfdc
@@ -140486,11 +143032,6 @@ member {
offset: 16
}
member {
- id: 0x6491fbda
- name: "padding"
- type_id: 0x77f6ebb4
-}
-member {
id: 0x64a65d9f
name: "padding"
type_id: 0x4050ae51
@@ -140514,6 +143055,13 @@ member {
offset: 8808
}
member {
+ id: 0xb13666fe
+ name: "padding"
+ type_id: 0xe8034002
+ offset: 566
+ bitsize: 1
+}
+member {
id: 0x1366b916
name: "padding0"
type_id: 0x4050ae51
@@ -140526,12 +143074,6 @@ member {
offset: 32
}
member {
- id: 0xd06a5757
- name: "padding1"
- type_id: 0x8d58bd1a
- offset: 16
-}
-member {
id: 0x9481c1a2
name: "padding2"
type_id: 0x23cbe491
@@ -140584,6 +143126,17 @@ member {
offset: 640
}
member {
+ id: 0x32051484
+ name: "page"
+ type_id: 0x00c72527
+}
+member {
+ id: 0x32051c2a
+ name: "page"
+ type_id: 0x00c72527
+ offset: 768
+}
+member {
id: 0x322121cd
name: "page"
type_id: 0x24f7f3ca
@@ -140637,12 +143190,6 @@ member {
offset: 2912
}
member {
- id: 0x21516548
- name: "page_count"
- type_id: 0x2c7bd73f
- offset: 320
-}
-member {
id: 0x3189af2e
name: "page_done"
type_id: 0x0f2d8dda
@@ -140955,10 +143502,10 @@ member {
bitsize: 1
}
member {
- id: 0x338646f2
+ id: 0x338649f9
name: "pages_per_zspage"
type_id: 0x6720d32f
- offset: 640
+ offset: 576
}
member {
id: 0xf9521fd2
@@ -141091,11 +143638,6 @@ member {
offset: 288
}
member {
- id: 0xae5a4181
- name: "papr_hcall"
- type_id: 0x2c2be6c7
-}
-member {
id: 0xfe407cce
name: "par"
type_id: 0x18bd6530
@@ -141177,6 +143719,12 @@ member {
offset: 640
}
member {
+ id: 0xb8b3f43c
+ name: "param_list"
+ type_id: 0xd3c80119
+ offset: 704
+}
+member {
id: 0xb8ba1efc
name: "param_lock"
type_id: 0xa7c362b0
@@ -141207,12 +143755,6 @@ member {
offset: 192
}
member {
- id: 0x4b34b9aa
- name: "params"
- type_id: 0x9addce46
- offset: 192
-}
-member {
id: 0x4b3911d5
name: "params"
type_id: 0x9775d653
@@ -141237,12 +143779,6 @@ member {
offset: 128
}
member {
- id: 0x4bf9b0b2
- name: "params"
- type_id: 0x57d5dd0d
- offset: 128
-}
-member {
id: 0xe64a6945
name: "params_len"
type_id: 0x295c7202
@@ -141691,6 +144227,12 @@ member {
offset: 224
}
member {
+ id: 0xc70bed2a
+ name: "park"
+ type_id: 0x0aee7ba0
+ offset: 512
+}
+member {
id: 0x53dc4767
name: "park_pending"
type_id: 0x74d29cf1
@@ -142215,12 +144757,6 @@ member {
offset: 64
}
member {
- id: 0x6d45f1ba
- name: "pause"
- type_id: 0x6d7f5ff6
- offset: 15416
-}
-member {
id: 0x6d4faa04
name: "pause"
type_id: 0x6720d32f
@@ -142344,11 +144880,6 @@ member {
offset: 768
}
member {
- id: 0xa5f74e1c
- name: "pc"
- type_id: 0x33756485
-}
-member {
id: 0xa33342ec
name: "pci"
type_id: 0x2b34b7f1
@@ -143102,16 +145633,16 @@ member {
offset: 32
}
member {
- id: 0xfe933ca0
+ id: 0xfe933c61
name: "pend_le_conns"
type_id: 0xd3c80119
- offset: 30208
+ offset: 30592
}
member {
- id: 0x5520b527
+ id: 0x5520b6a1
name: "pend_le_reports"
type_id: 0xd3c80119
- offset: 30336
+ offset: 30720
}
member {
id: 0xdcf13bd4
@@ -143120,12 +145651,6 @@ member {
offset: 128
}
member {
- id: 0x8109b274
- name: "pendbaser"
- type_id: 0x92233392
- offset: 31808
-}
-member {
id: 0xf91c8462
name: "pending"
type_id: 0xd3c80119
@@ -143155,6 +145680,11 @@ member {
offset: 17856
}
member {
+ id: 0xf97ca310
+ name: "pending"
+ type_id: 0xb3e7bac9
+}
+member {
id: 0xf98ac68d
name: "pending"
type_id: 0x4585663f
@@ -143215,6 +145745,12 @@ member {
offset: 256
}
member {
+ id: 0x4c3543b9
+ name: "pending_io"
+ type_id: 0x064d6086
+ offset: 2176
+}
+member {
id: 0x9f9c13ba
name: "pending_irq"
type_id: 0xb95bf932
@@ -143227,18 +145763,6 @@ member {
offset: 6496
}
member {
- id: 0x141c8cee
- name: "pending_last"
- type_id: 0x6d7f5ff6
- offset: 960
-}
-member {
- id: 0x004ca63d
- name: "pending_latch"
- type_id: 0x6d7f5ff6
- offset: 488
-}
-member {
id: 0xe53a2590
name: "pending_link"
type_id: 0xd3c80119
@@ -143269,12 +145793,6 @@ member {
offset: 928
}
member {
- id: 0x09b42908
- name: "pending_page"
- type_id: 0xedf277ba
- offset: 320
-}
-member {
id: 0x8c0336f4
name: "pending_reset"
type_id: 0x6d7f5ff6
@@ -143361,16 +145879,16 @@ member {
offset: 2240
}
member {
- id: 0xfa784db4
+ id: 0xfa7845a1
name: "per_adv_data"
type_id: 0x6afc5176
- offset: 42768
+ offset: 43152
}
member {
- id: 0x1b95acfb
+ id: 0x1b95ac31
name: "per_adv_data_len"
type_id: 0xb3e7bac9
- offset: 44784
+ offset: 45168
}
member {
id: 0x528e9321
@@ -143409,6 +145927,12 @@ member {
offset: 768
}
member {
+ id: 0x319b41b8
+ name: "per_io_data_size"
+ type_id: 0x4585663f
+ offset: 416
+}
+member {
id: 0xd61b14f9
name: "per_parent_data"
type_id: 0x6d7f5ff6
@@ -143485,12 +146009,6 @@ member {
offset: 7104
}
member {
- id: 0x34c743f9
- name: "percpu_pmu"
- type_id: 0x331b3d77
- offset: 2176
-}
-member {
id: 0x4db3a084
name: "percpu_pvec_drained"
type_id: 0x6d7f5ff6
@@ -143503,12 +146021,6 @@ member {
offset: 6208
}
member {
- id: 0xf94346ab
- name: "perf_event"
- type_id: 0x1dce0fdd
- offset: 64
-}
-member {
id: 0xf96ca45e
name: "perf_event"
type_id: 0x32281bdf
@@ -144008,6 +146520,11 @@ member {
offset: 52352
}
member {
+ id: 0x64bb7964
+ name: "pfn"
+ type_id: 0x33756485
+}
+member {
id: 0xeb463452
name: "pfn_base"
type_id: 0x33756485
@@ -144050,16 +146567,10 @@ member {
offset: 64
}
member {
- id: 0x03a47022
- name: "pfr0_csv2"
- type_id: 0x295c7202
- offset: 3136
-}
-member {
- id: 0x42988d63
- name: "pfr0_csv3"
- type_id: 0x295c7202
- offset: 3144
+ id: 0x6980d678
+ name: "pfnum"
+ type_id: 0x914dbfdc
+ offset: 128
}
member {
id: 0x88830a16
@@ -144068,12 +146579,6 @@ member {
offset: 1184
}
member {
- id: 0x331a3623
- name: "pgd"
- type_id: 0x11281698
- offset: 64
-}
-member {
id: 0x332a4920
name: "pgd"
type_id: 0x2154832c
@@ -144090,24 +146595,12 @@ member {
type_id: 0xe381831a
}
member {
- id: 0x99236fa3
- name: "pgd_phys"
- type_id: 0xbdd18903
- offset: 64
-}
-member {
id: 0x2d272759
name: "pgdat"
type_id: 0x03038214
offset: 11200
}
member {
- id: 0xdd74def2
- name: "pgm_code"
- type_id: 0xe62ebf07
- offset: 64
-}
-member {
id: 0x2b8ac6b5
name: "pgmap"
type_id: 0x129a6a0a
@@ -144178,12 +146671,6 @@ member {
offset: 224
}
member {
- id: 0x7f170713
- name: "pgt"
- type_id: 0x114e61a5
- offset: 128
-}
-member {
id: 0x5a4cacba
name: "pgtables_bytes"
type_id: 0xb02b353a
@@ -144474,6 +146961,11 @@ member {
type_id: 0x5abe7554
}
member {
+ id: 0x304c83ff
+ name: "phys"
+ type_id: 0x14ca5b0f
+}
+member {
id: 0x3065f315
name: "phys"
type_id: 0x3db8d8c8
@@ -144502,11 +146994,6 @@ member {
type_id: 0xe8034002
}
member {
- id: 0xbda607c1
- name: "phys_addr"
- type_id: 0xedf277ba
-}
-member {
id: 0xbdabdba2
name: "phys_addr"
type_id: 0xe02e14d6
@@ -144582,12 +147069,6 @@ member {
type_id: 0x295c7202
}
member {
- id: 0x66a97394
- name: "phys_to_virt"
- type_id: 0x14e88d4b
- offset: 384
-}
-member {
id: 0xda31db2e
name: "physfn"
type_id: 0x11e6864c
@@ -144863,22 +147344,21 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0x7491240c
+ id: 0x749120ed
name: "pid"
type_id: 0x18456730
- offset: 64
}
member {
- id: 0x74912824
+ id: 0x7491240c
name: "pid"
type_id: 0x18456730
- offset: 192
+ offset: 64
}
member {
- id: 0x74912d9b
+ id: 0x74912824
name: "pid"
type_id: 0x18456730
- offset: 1088
+ offset: 192
}
member {
id: 0x74912e66
@@ -145192,6 +147672,12 @@ member {
offset: 512
}
member {
+ id: 0xe47590e7
+ name: "pinet6"
+ type_id: 0x13fe8737
+ offset: 6848
+}
+member {
id: 0x1762f1c8
name: "ping"
type_id: 0x2cde74fe
@@ -145204,6 +147690,12 @@ member {
offset: 4800
}
member {
+ id: 0x517ebeed
+ name: "pingpong"
+ type_id: 0xb3e7bac9
+ offset: 16
+}
+member {
id: 0xc9b75710
name: "pinned"
type_id: 0xd3c80119
@@ -145235,12 +147727,6 @@ member {
offset: 640
}
member {
- id: 0x037e99ae
- name: "pinned_pages"
- type_id: 0xeb923a9b
- offset: 320
-}
-member {
id: 0x88a70e08
name: "pinned_vm"
type_id: 0x1f4573ef
@@ -145289,11 +147775,6 @@ member {
offset: 768
}
member {
- id: 0x782f8731
- name: "pio"
- type_id: 0xe62ebf07
-}
-member {
id: 0x999ac82a
name: "pipe"
type_id: 0x76e78cd9
@@ -145586,6 +148067,12 @@ member {
bitsize: 3
}
member {
+ id: 0xe8802f7b
+ name: "pktoptions"
+ type_id: 0x054f691a
+ offset: 960
+}
+member {
id: 0x0a3be422
name: "pkts_acked"
type_id: 0xc9082b19
@@ -145603,17 +148090,6 @@ member {
offset: 192
}
member {
- id: 0xe908f26f
- name: "pkvm"
- type_id: 0xf75540c7
- offset: 3392
-}
-member {
- id: 0xb403a636
- name: "pkvm_memcache"
- type_id: 0xce6b97ea
-}
-member {
id: 0x451925c4
name: "placement"
type_id: 0x3316fc74
@@ -145702,12 +148178,6 @@ member {
bitsize: 1
}
member {
- id: 0x1a1fd0a0
- name: "plat_device"
- type_id: 0x3f37d9d5
- offset: 3584
-}
-member {
id: 0x38c654ae
name: "platform_data"
type_id: 0x18bd6530
@@ -145959,36 +148429,24 @@ member {
offset: 12768
}
member {
- id: 0x15c30de0
- name: "pmc"
- type_id: 0x44c5e79a
- offset: 320
-}
-member {
id: 0x6ed4d38c
name: "pmc_width"
type_id: 0xe8034002
offset: 384
}
member {
- id: 0xca44b141
- name: "pmceid_bitmap"
- type_id: 0xb914bfab
- offset: 3456
-}
-member {
- id: 0x28894114
- name: "pmceid_ext_bitmap"
- type_id: 0xb914bfab
- offset: 3520
-}
-member {
id: 0x56639b84
name: "pmd"
type_id: 0x21082bfc
offset: 384
}
member {
+ id: 0x56639dd1
+ name: "pmd"
+ type_id: 0x21082bfc
+ offset: 320
+}
+member {
id: 0x569cedab
name: "pmd"
type_id: 0xde7f96df
@@ -146032,12 +148490,6 @@ member {
offset: 2368
}
member {
- id: 0xa6727baa
- name: "pmscr_el1"
- type_id: 0x92233392
- offset: 4096
-}
-member {
id: 0x98e24df0
name: "pmsr_capa"
type_id: 0x3771322e
@@ -146062,6 +148514,19 @@ member {
offset: 2368
}
member {
+ id: 0x6e852b14
+ name: "pmtudisc"
+ type_id: 0xe8034002
+ offset: 563
+ bitsize: 3
+}
+member {
+ id: 0x79ed9153
+ name: "pmtudisc"
+ type_id: 0xb3e7bac9
+ offset: 7096
+}
+member {
id: 0x933349d1
name: "pmu"
type_id: 0x3b12c8e0
@@ -146073,17 +148538,6 @@ member {
type_id: 0x3b12c8e0
}
member {
- id: 0x93b6279b
- name: "pmu"
- type_id: 0xbe704ca9
- offset: 62272
-}
-member {
- id: 0x93ce5218
- name: "pmu"
- type_id: 0xc60bc51e
-}
-member {
id: 0x2cb55697
name: "pmu_cpu_context"
type_id: 0x30bd8a92
@@ -146108,30 +148562,12 @@ member {
offset: 768
}
member {
- id: 0x3957d3b9
- name: "pmu_filter"
- type_id: 0x064d6086
- offset: 2944
-}
-member {
- id: 0x03f344e6
- name: "pmu_lock"
- type_id: 0xc8b17aa7
- offset: 2112
-}
-member {
id: 0xbadfff7b
name: "pmu_private"
type_id: 0x18bd6530
offset: 1280
}
member {
- id: 0xd81b71f1
- name: "pmuver"
- type_id: 0x6720d32f
- offset: 2496
-}
-member {
id: 0x809d8aa2
name: "pmxops"
type_id: 0x31dc8106
@@ -146900,6 +149336,11 @@ member {
offset: 10048
}
member {
+ id: 0xde69b270
+ name: "pool"
+ type_id: 0xe97fe194
+}
+member {
id: 0xde82c205
name: "pool"
type_id: 0x0206e690
@@ -146963,6 +149404,11 @@ member {
offset: 64
}
member {
+ id: 0xe52eef97
+ name: "pool_type"
+ type_id: 0xa7051d2f
+}
+member {
id: 0x6a296ea1
name: "pools"
type_id: 0xd3c80119
@@ -146994,10 +149440,10 @@ member {
offset: 2432
}
member {
- id: 0x48131453
+ id: 0x48322e2f
name: "port"
- type_id: 0xe8034002
- offset: 16
+ type_id: 0xc93e017b
+ offset: 96
}
member {
id: 0x4848f266
@@ -147068,6 +149514,12 @@ member {
offset: 384
}
member {
+ id: 0x48c075a0
+ name: "port"
+ type_id: 0x3b68ec61
+ offset: 64
+}
+member {
id: 0x48cc7358
name: "port"
type_id: 0x3760766d
@@ -147172,6 +149624,36 @@ member {
type_id: 0x18bd6530
}
member {
+ id: 0x9e84141c
+ name: "port_del"
+ type_id: 0x2d7ac448
+ offset: 2560
+}
+member {
+ id: 0xa5c2f472
+ name: "port_fn_state_get"
+ type_id: 0x2e54f1b8
+ offset: 2624
+}
+member {
+ id: 0xeb46d6f6
+ name: "port_fn_state_set"
+ type_id: 0x2e20981d
+ offset: 2688
+}
+member {
+ id: 0x2e72e7e0
+ name: "port_function_hw_addr_get"
+ type_id: 0x2e477ad3
+ offset: 2368
+}
+member {
+ id: 0x85af182d
+ name: "port_function_hw_addr_set"
+ type_id: 0x2e7ffbfe
+ offset: 2432
+}
+member {
id: 0x97b320de
name: "port_handed_over"
type_id: 0x2fc0a389
@@ -147190,6 +149672,19 @@ member {
offset: 64
}
member {
+ id: 0xbf1e816a
+ name: "port_index"
+ type_id: 0x4585663f
+ offset: 32
+}
+member {
+ id: 0x0317cd78
+ name: "port_index_valid"
+ type_id: 0x295c7202
+ offset: 144
+ bitsize: 1
+}
+member {
id: 0x1e504a04
name: "port_info"
type_id: 0x19086ca4
@@ -147220,6 +149715,12 @@ member {
offset: 8256
}
member {
+ id: 0xcd6874e1
+ name: "port_list"
+ type_id: 0xd3c80119
+ offset: 64
+}
+member {
id: 0x7daf8d82
name: "port_lock"
type_id: 0xf313e71a
@@ -147232,6 +149733,12 @@ member {
offset: 1216
}
member {
+ id: 0x90793300
+ name: "port_new"
+ type_id: 0x2d044ee7
+ offset: 2496
+}
+member {
id: 0xe64fd4ef
name: "port_num"
type_id: 0x295c7202
@@ -147255,6 +149762,11 @@ member {
type_id: 0xc9082b19
}
member {
+ id: 0x217694f6
+ name: "port_ops"
+ type_id: 0x33fd261b
+}
+member {
id: 0x2418a130
name: "port_power"
type_id: 0x2fc6747c
@@ -147303,6 +149815,12 @@ member {
offset: 8064
}
member {
+ id: 0xa22f8c42
+ name: "port_split"
+ type_id: 0x2d000b85
+ offset: 384
+}
+member {
id: 0x2083fe73
name: "port_status"
type_id: 0x914dbfdc
@@ -147350,12 +149868,30 @@ member {
offset: 256
}
member {
+ id: 0xf43affcb
+ name: "port_type_set"
+ type_id: 0x2e5686ce
+ offset: 320
+}
+member {
+ id: 0x5f87545a
+ name: "port_unsplit"
+ type_id: 0x2d0429c2
+ offset: 448
+}
+member {
id: 0x4b84c909
name: "port_usb"
type_id: 0x2dde023d
offset: 3648
}
member {
+ id: 0x4b911741
+ name: "port_usb"
+ type_id: 0x380c33d1
+ offset: 64
+}
+member {
id: 0xabdfb454
name: "port_write_buf"
type_id: 0x18745118
@@ -147572,10 +150108,10 @@ member {
offset: 576
}
member {
- id: 0x319b8398
+ id: 0x319b89ab
name: "post_init"
type_id: 0x2c2c3c2e
- offset: 50560
+ offset: 50944
}
member {
id: 0xf5022a3d
@@ -147643,6 +150179,12 @@ member {
offset: 64
}
member {
+ id: 0xc58884a8
+ name: "postsuspend"
+ type_id: 0x540fc033
+ offset: 896
+}
+member {
id: 0x5016a0d8
name: "potential_contaminant"
type_id: 0x6d7f5ff6
@@ -148425,6 +150967,12 @@ member {
offset: 704
}
member {
+ id: 0x552de7df
+ name: "precise_timestamps"
+ type_id: 0x6d7f5ff6
+ offset: 576
+}
+member {
id: 0x5f1f9d63
name: "precision"
type_id: 0x39470e64
@@ -148437,6 +150985,12 @@ member {
offset: 64
}
member {
+ id: 0xfcce6b61
+ name: "pred_flags"
+ type_id: 0xe276adef
+ offset: 12320
+}
+member {
id: 0xd9582306
name: "pred_probs"
type_id: 0x3e3c1b86
@@ -148478,12 +151032,6 @@ member {
type_id: 0x92233392
}
member {
- id: 0xad12ae54
- name: "preempt_notifier"
- type_id: 0x89c67026
- offset: 64
-}
-member {
id: 0x44e4fcbb
name: "preempt_notifiers"
type_id: 0x5e8dc7f4
@@ -148496,12 +151044,6 @@ member {
offset: 704
}
member {
- id: 0x1bd1d822
- name: "preempted"
- type_id: 0x6d7f5ff6
- offset: 1936
-}
-member {
id: 0xa093e6ac
name: "preenable"
type_id: 0x2c78b884
@@ -148760,6 +151302,12 @@ member {
offset: 832
}
member {
+ id: 0xd1d88fb4
+ name: "prepare_ioctl"
+ type_id: 0xb5818a23
+ offset: 1216
+}
+member {
id: 0x25513c26
name: "prepare_late"
type_id: 0x2df0016c
@@ -148873,6 +151421,12 @@ member {
offset: 3648
}
member {
+ id: 0xc22f1b4d
+ name: "preresume"
+ type_id: 0xcd86b17c
+ offset: 960
+}
+member {
id: 0x34aa29cb
name: "present"
type_id: 0x5d8155a5
@@ -148915,6 +151469,18 @@ member {
offset: 6312
}
member {
+ id: 0x542288b2
+ name: "presuspend"
+ type_id: 0xeab0ac41
+ offset: 768
+}
+member {
+ id: 0x8a92bcd2
+ name: "presuspend_undo"
+ type_id: 0xa3284d98
+ offset: 832
+}
+member {
id: 0xedbb0da6
name: "pretimeout"
type_id: 0x0f985851
@@ -149408,6 +151974,12 @@ member {
offset: 128
}
member {
+ id: 0xa9ca3fe9
+ name: "prior_cwnd"
+ type_id: 0xc9082b19
+ offset: 15136
+}
+member {
id: 0x8be7c123
name: "prior_delivered"
type_id: 0xc9082b19
@@ -149431,6 +152003,12 @@ member {
type_id: 0x92233392
}
member {
+ id: 0x17b8fb75
+ name: "prior_ssthresh"
+ type_id: 0xc9082b19
+ offset: 17824
+}
+member {
id: 0x10027c29
name: "priority"
type_id: 0xe62ebf07
@@ -149496,15 +152074,10 @@ member {
offset: 512
}
member {
- id: 0x10cd0450
+ id: 0x10dc10b1
name: "priority"
- type_id: 0x295c7202
- offset: 688
-}
-member {
- id: 0x10cd0767
- name: "priority"
- type_id: 0x295c7202
+ type_id: 0x384f7d7c
+ offset: 288
}
member {
id: 0x10ebf2d4
@@ -149680,6 +152253,12 @@ member {
offset: 448
}
member {
+ id: 0x59303e30
+ name: "priv"
+ type_id: 0x391f15ea
+ offset: 64
+}
+member {
id: 0x5935516c
name: "priv"
type_id: 0x3c7b932c
@@ -149728,6 +152307,12 @@ member {
offset: 59520
}
member {
+ id: 0x59c303be
+ name: "priv"
+ type_id: 0xca2a51af
+ offset: 4096
+}
+member {
id: 0x59c3092e
name: "priv"
type_id: 0xca2a51af
@@ -149918,12 +152503,6 @@ member {
offset: 192
}
member {
- id: 0x91796f71
- name: "private"
- type_id: 0x18bd6530
- offset: 128
-}
-member {
id: 0x91a931d3
name: "private"
type_id: 0xc8e4d7d1
@@ -150140,12 +152719,6 @@ member {
offset: 3264
}
member {
- id: 0xdbd2d18f
- name: "private_irqs"
- type_id: 0x4449c48b
- offset: 2496
-}
-member {
id: 0x78439144
name: "private_list"
type_id: 0xd3c80119
@@ -150483,6 +153056,30 @@ member {
offset: 2208
}
member {
+ id: 0x934c941a
+ name: "probe_seq_end"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
+ id: 0x45320605
+ name: "probe_seq_start"
+ type_id: 0xc9082b19
+}
+member {
+ id: 0x745418c4
+ name: "probe_size"
+ type_id: 0xc9082b19
+ offset: 64
+ bitsize: 31
+}
+member {
+ id: 0x60865bc2
+ name: "probe_timestamp"
+ type_id: 0xc9082b19
+ offset: 96
+}
+member {
id: 0xf69ec1af
name: "probe_type"
type_id: 0x189d62e7
@@ -151155,10 +153752,10 @@ member {
offset: 1152
}
member {
- id: 0xc9aa7830
+ id: 0xc9aa7d35
name: "promisc"
type_id: 0x74d29cf1
- offset: 31040
+ offset: 31424
}
member {
id: 0x66064d03
@@ -151311,12 +153908,6 @@ member {
offset: 2112
}
member {
- id: 0x703b904f
- name: "propbaser"
- type_id: 0x92233392
- offset: 896
-}
-member {
id: 0x29846bfc
name: "propbit"
type_id: 0xa562355d
@@ -151517,18 +154108,6 @@ member {
offset: 7616
}
member {
- id: 0x7efa09f3
- name: "protected_hyp_mem"
- type_id: 0x1f4573ef
- offset: 128
-}
-member {
- id: 0x46e4dafc
- name: "protected_shared_mem"
- type_id: 0x1f4573ef
- offset: 192
-}
-member {
id: 0x5d16456b
name: "proto"
type_id: 0x7584e7da
@@ -151558,6 +154137,12 @@ member {
offset: 64
}
member {
+ id: 0x5d4a9b23
+ name: "proto"
+ type_id: 0x295c7202
+ offset: 8
+}
+member {
id: 0x5d4a9e3a
name: "proto"
type_id: 0x295c7202
@@ -151777,6 +154362,11 @@ member {
offset: 320
}
member {
+ id: 0xd3c8aa61
+ name: "provision"
+ type_id: 0x2d4c6881
+}
+member {
id: 0x61ba1604
name: "proxy_ndp"
type_id: 0x0faae5b1
@@ -151801,6 +154391,18 @@ member {
offset: 4480
}
member {
+ id: 0x3ce5a47e
+ name: "prr_delivered"
+ type_id: 0xc9082b19
+ offset: 15168
+}
+member {
+ id: 0xe9e7b435
+ name: "prr_out"
+ type_id: 0xc9082b19
+ offset: 15200
+}
+member {
id: 0x282acc7e
name: "prrr"
type_id: 0xc9082b19
@@ -151866,12 +154468,6 @@ member {
type_id: 0x0d436e43
}
member {
- id: 0x2c10bf52
- name: "psci_version"
- type_id: 0xc9082b19
- offset: 2816
-}
-member {
id: 0x2bf0ee90
name: "psec"
type_id: 0x2ccc936a
@@ -151997,12 +154593,6 @@ member {
offset: 64
}
member {
- id: 0xedfdadd3
- name: "pstate_ss"
- type_id: 0x6d7f5ff6
- offset: 32
-}
-member {
id: 0x946deb91
name: "pstr"
type_id: 0x25ab49bb
@@ -152055,21 +154645,21 @@ member {
offset: 704
}
member {
- id: 0xa18e706b
+ id: 0xa17fe2dc
name: "pte"
- type_id: 0xc32dc55c
+ type_id: 0x32bee099
+ offset: 384
}
member {
- id: 0xeef9224d
- name: "pte_is_counted_cb"
- type_id: 0xf2ecf779
- offset: 64
+ id: 0xa18e706b
+ name: "pte"
+ type_id: 0xc32dc55c
}
member {
- id: 0x8661d99b
- name: "pte_ops"
- type_id: 0x2e6ac856
- offset: 320
+ id: 0xce4422cd
+ name: "ptl"
+ type_id: 0x3654c061
+ offset: 448
}
member {
id: 0xce442d14
@@ -152416,6 +155006,12 @@ member {
offset: 13184
}
member {
+ id: 0xa598ac7c
+ name: "pushed_seq"
+ type_id: 0xc9082b19
+ offset: 15648
+}
+member {
id: 0x4ac85a2c
name: "put"
type_id: 0x2f5ea9dc
@@ -152494,10 +155090,10 @@ member {
offset: 64
}
member {
- id: 0x68c1b0bb
+ id: 0x68c6881b
name: "put_page"
- type_id: 0x0f3dfb90
- offset: 256
+ type_id: 0x080d391b
+ offset: 192
}
member {
id: 0xee3c87e4
@@ -152542,18 +155138,18 @@ member {
offset: 256
}
member {
+ id: 0x82e1aed1
+ name: "putting_binary"
+ type_id: 0x6d7f5ff6
+ offset: 128
+}
+member {
id: 0x26fa53f2
name: "putx64"
type_id: 0x07941efa
offset: 320
}
member {
- id: 0x0f7f629e
- name: "pvmfw_load_addr"
- type_id: 0x1b4ba19a
- offset: 384
-}
-member {
id: 0x7cfddcb6
name: "pvt_info"
type_id: 0x18bd6530
@@ -152710,6 +155306,12 @@ member {
type_id: 0x407489b0
}
member {
+ id: 0xe94def1c
+ name: "q"
+ type_id: 0x3f0185ef
+ offset: 256
+}
+member {
id: 0xe95c6150
name: "q"
type_id: 0x2e8d5f05
@@ -152761,6 +155363,12 @@ member {
type_id: 0xd3c80119
}
member {
+ id: 0x30c8a340
+ name: "q_sz"
+ type_id: 0xf435685e
+ offset: 768
+}
+member {
id: 0xc5c43282
name: "q_usage_counter"
type_id: 0x3e40064a
@@ -152861,6 +155469,18 @@ member {
offset: 1056
}
member {
+ id: 0x060b5e2a
+ name: "qinv"
+ type_id: 0x3f0185ef
+ offset: 448
+}
+member {
+ id: 0x112d65f6
+ name: "qinv_sz"
+ type_id: 0xf435685e
+ offset: 960
+}
+member {
id: 0x9b5b8e67
name: "qlen"
type_id: 0xc9082b19
@@ -152890,6 +155510,18 @@ member {
offset: 192
}
member {
+ id: 0x9be65a12
+ name: "qlen"
+ type_id: 0x74d29cf1
+ offset: 96
+}
+member {
+ id: 0x9bf5ac3e
+ name: "qlen"
+ type_id: 0x6720d32f
+ offset: 160
+}
+member {
id: 0xba491c1c
name: "qlen_notify"
type_id: 0x0c6d8d57
@@ -152918,6 +155550,12 @@ member {
type_id: 0x3f74bbde
}
member {
+ id: 0x143073ec
+ name: "qmult"
+ type_id: 0x4585663f
+ offset: 832
+}
+member {
id: 0x91da22df
name: "qnbytes"
type_id: 0x6720d32f
@@ -153225,6 +155863,12 @@ member {
type_id: 0x09427c40
}
member {
+ id: 0xaddb4c9f
+ name: "queue"
+ type_id: 0x09427c40
+ offset: 1472
+}
+member {
id: 0xaddb4cea
name: "queue"
type_id: 0x09427c40
@@ -153413,6 +156057,11 @@ member {
type_id: 0xf435685e
}
member {
+ id: 0x52c10ec0
+ name: "queue_xmit"
+ type_id: 0x2c209d56
+}
+member {
id: 0xaa971b00
name: "queuecommand"
type_id: 0x2cb23e2c
@@ -153533,6 +156182,12 @@ member {
offset: 5568
}
member {
+ id: 0xdcf7e916
+ name: "quick"
+ type_id: 0xb3e7bac9
+ offset: 8
+}
+member {
id: 0x625ab578
name: "quick_threads"
type_id: 0x6720d32f
@@ -153771,12 +156426,6 @@ member {
offset: 128
}
member {
- id: 0x766556ed
- name: "r0"
- type_id: 0x33756485
- offset: 64
-}
-member {
id: 0x9e0af45c
name: "r2w_factor"
type_id: 0x4585663f
@@ -153801,6 +156450,12 @@ member {
offset: 128
}
member {
+ id: 0x2940a2be
+ name: "ra"
+ type_id: 0x7584e7da
+ offset: 32
+}
+member {
id: 0x0e79d07a
name: "ra_chain"
type_id: 0x333a16a5
@@ -153837,6 +156492,12 @@ member {
offset: 384
}
member {
+ id: 0x2c2c5bfb
+ name: "rack"
+ type_id: 0xd4132c46
+ offset: 13504
+}
+member {
id: 0x7a85796a
name: "radar_detect_regions"
type_id: 0x295c7202
@@ -153968,12 +156629,6 @@ member {
offset: 192
}
member {
- id: 0x0e6e7fb8
- name: "range"
- type_id: 0xd2fe57e5
- offset: 64
-}
-member {
id: 0x0e957cc9
name: "range"
type_id: 0x29f9c70b
@@ -154219,6 +156874,13 @@ member {
offset: 192
}
member {
+ id: 0xd6330125
+ name: "rate_app_limited"
+ type_id: 0x295c7202
+ offset: 13858
+ bitsize: 1
+}
+member {
id: 0x94569300
name: "rate_bytes_ps"
type_id: 0x92233392
@@ -154243,6 +156905,12 @@ member {
offset: 2144
}
member {
+ id: 0x18e683dd
+ name: "rate_delivered"
+ type_id: 0xc9082b19
+ offset: 15488
+}
+member {
id: 0x0f313303
name: "rate_den"
type_id: 0x4585663f
@@ -154267,6 +156935,36 @@ member {
offset: 104
}
member {
+ id: 0x47a61a29
+ name: "rate_interval_us"
+ type_id: 0xc9082b19
+ offset: 15520
+}
+member {
+ id: 0x7f7f584f
+ name: "rate_leaf_parent_set"
+ type_id: 0x2d0a0361
+ offset: 3136
+}
+member {
+ id: 0x54806d5b
+ name: "rate_leaf_tx_max_set"
+ type_id: 0x2d154530
+ offset: 2816
+}
+member {
+ id: 0x049c1f00
+ name: "rate_leaf_tx_share_set"
+ type_id: 0x2d154530
+ offset: 2752
+}
+member {
+ id: 0x4134711d
+ name: "rate_list"
+ type_id: 0xd3c80119
+ offset: 192
+}
+member {
id: 0xd51bd1ef
name: "rate_matching"
type_id: 0x6720d32f
@@ -154327,6 +157025,36 @@ member {
offset: 1472
}
member {
+ id: 0x3d9c68f5
+ name: "rate_node_del"
+ type_id: 0x2d1c1d12
+ offset: 3072
+}
+member {
+ id: 0x573e57ed
+ name: "rate_node_new"
+ type_id: 0x2d081f17
+ offset: 3008
+}
+member {
+ id: 0x069fcabf
+ name: "rate_node_parent_set"
+ type_id: 0x2d0a0361
+ offset: 3200
+}
+member {
+ id: 0xeff7e2c9
+ name: "rate_node_tx_max_set"
+ type_id: 0x2d154530
+ offset: 2944
+}
+member {
+ id: 0x7b7f9a93
+ name: "rate_node_tx_share_set"
+ type_id: 0x2d154530
+ offset: 2880
+}
+member {
id: 0xbc979606
name: "rate_num"
type_id: 0x4585663f
@@ -154675,10 +157403,10 @@ member {
offset: 1224
}
member {
- id: 0x6fa9dc88
+ id: 0x6fa9d3ef
name: "raw_q"
type_id: 0x578f9c2b
- offset: 25344
+ offset: 25728
}
member {
id: 0x3d617ac5
@@ -155202,6 +157930,12 @@ member {
offset: 1408
}
member {
+ id: 0x95dacba7
+ name: "rcu"
+ type_id: 0xe3222f5b
+ offset: 3904
+}
+member {
id: 0x95dacce8
name: "rcu"
type_id: 0xe3222f5b
@@ -155360,6 +158094,12 @@ member {
offset: 192
}
member {
+ id: 0x608ed11c
+ name: "rcv_flowinfo"
+ type_id: 0xe276adef
+ offset: 608
+}
+member {
id: 0xeae5b95c
name: "rcv_interval_us"
type_id: 0xc9082b19
@@ -155372,6 +158112,24 @@ member {
offset: 1280
}
member {
+ id: 0xa514bd9b
+ name: "rcv_mss"
+ type_id: 0xe8034002
+ offset: 176
+}
+member {
+ id: 0x722b8728
+ name: "rcv_nxt"
+ type_id: 0xc9082b19
+ offset: 12480
+}
+member {
+ id: 0x3a366be0
+ name: "rcv_ooopack"
+ type_id: 0xc9082b19
+ offset: 18240
+}
+member {
id: 0xd699ecd4
name: "rcv_probes_mcast"
type_id: 0x33756485
@@ -155384,6 +158142,53 @@ member {
offset: 448
}
member {
+ id: 0x035a9f8f
+ name: "rcv_rtt_est"
+ type_id: 0x13c65297
+ offset: 18304
+}
+member {
+ id: 0xcebd1125
+ name: "rcv_rtt_last_tsecr"
+ type_id: 0xc9082b19
+ offset: 18272
+}
+member {
+ id: 0x0249b0df
+ name: "rcv_saddr"
+ type_id: 0xe276adef
+}
+member {
+ id: 0x8a514678
+ name: "rcv_ssthresh"
+ type_id: 0xc9082b19
+ offset: 13472
+}
+member {
+ id: 0x1ad125b2
+ name: "rcv_tos"
+ type_id: 0xb3e7bac9
+ offset: 7120
+}
+member {
+ id: 0xa56c13a3
+ name: "rcv_tsecr"
+ type_id: 0xc9082b19
+ offset: 96
+}
+member {
+ id: 0x9a3cd5ff
+ name: "rcv_tstamp"
+ type_id: 0xc9082b19
+ offset: 12896
+}
+member {
+ id: 0x908732db
+ name: "rcv_tsval"
+ type_id: 0xc9082b19
+ offset: 64
+}
+member {
id: 0x1f3accfe
name: "rcv_unacked"
type_id: 0x914dbfdc
@@ -155396,12 +158201,37 @@ member {
offset: 7856
}
member {
+ id: 0x073e90bb
+ name: "rcv_wnd"
+ type_id: 0xc9082b19
+ offset: 15552
+}
+member {
+ id: 0x64ea7467
+ name: "rcv_wscale"
+ type_id: 0x914dbfdc
+ offset: 140
+ bitsize: 4
+}
+member {
+ id: 0x93db6466
+ name: "rcv_wup"
+ type_id: 0xc9082b19
+ offset: 12544
+}
+member {
id: 0x75627b5b
name: "rcvlists_lock"
type_id: 0xf313e71a
offset: 704
}
member {
+ id: 0x38961e9d
+ name: "rcvq_space"
+ type_id: 0x0e7661fa
+ offset: 18432
+}
+member {
id: 0x6bca0440
name: "rd"
type_id: 0x3922fa08
@@ -155414,12 +158244,6 @@ member {
offset: 64
}
member {
- id: 0xb5b5379c
- name: "rd_iodev"
- type_id: 0x60b9a60c
- offset: 31360
-}
-member {
id: 0x5761a9c9
name: "rd_lock"
type_id: 0xc8b17aa7
@@ -155437,11 +158261,6 @@ member {
offset: 3712
}
member {
- id: 0xc63d4176
- name: "rd_regions"
- type_id: 0xd3c80119
-}
-member {
id: 0x39c535a2
name: "rd_table"
type_id: 0x3842259a
@@ -155501,18 +158320,6 @@ member {
offset: 7040
}
member {
- id: 0x525d4aae
- name: "rdreg"
- type_id: 0x116d36b8
- offset: 31680
-}
-member {
- id: 0xe932d634
- name: "rdreg_index"
- type_id: 0xc9082b19
- offset: 31744
-}
-member {
id: 0x4163d7c4
name: "rdy_queue"
type_id: 0xd3c80119
@@ -155630,11 +158437,6 @@ member {
offset: 640
}
member {
- id: 0x485b3652
- name: "read"
- type_id: 0x0669d6b3
-}
-member {
id: 0x486528a2
name: "read"
type_id: 0x38751b21
@@ -155653,11 +158455,6 @@ member {
offset: 1728
}
member {
- id: 0x487026f9
- name: "read"
- type_id: 0x2d797d9d
-}
-member {
id: 0x48703aa7
name: "read"
type_id: 0x2d65237b
@@ -155829,12 +158626,6 @@ member {
offset: 384
}
member {
- id: 0x2635ef55
- name: "read_counter"
- type_id: 0x1eba2d88
- offset: 2944
-}
-member {
id: 0xa1b42c88
name: "read_dbi"
type_id: 0x18295f70
@@ -155847,6 +158638,12 @@ member {
offset: 256
}
member {
+ id: 0xffa6c51e
+ name: "read_error"
+ type_id: 0x7be80061
+ offset: 592
+}
+member {
id: 0x26d2a405
name: "read_event_config"
type_id: 0x2c45eb05
@@ -156251,30 +159048,6 @@ member {
offset: 384
}
member {
- id: 0xa3f01223
- name: "ready"
- type_id: 0x6d7f5ff6
- offset: 264
-}
-member {
- id: 0xa3f0172f
- name: "ready"
- type_id: 0x6d7f5ff6
- offset: 1944
-}
-member {
- id: 0xa3f017bd
- name: "ready"
- type_id: 0x6d7f5ff6
- offset: 8
-}
-member {
- id: 0x6bffa57c
- name: "ready_for_interrupt_injection"
- type_id: 0xb3e7bac9
- offset: 96
-}
-member {
id: 0xb8c769bd
name: "ready_list"
type_id: 0xd3c80119
@@ -156410,12 +159183,6 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0xbbfcbfdf
- name: "reason"
- type_id: 0xe62ebf07
- offset: 64
-}
-member {
id: 0x63a5e94a
name: "reattach_i3c_dev"
type_id: 0x2d3f3c92
@@ -156434,6 +159201,12 @@ member {
offset: 640
}
member {
+ id: 0x198e2327
+ name: "rebuild_header"
+ type_id: 0x2c24424a
+ offset: 128
+}
+member {
id: 0x659c25bc
name: "recalc_accuracy"
type_id: 0x066635bb
@@ -156557,6 +159330,12 @@ member {
offset: 32
}
member {
+ id: 0x8a4b19d4
+ name: "recover"
+ type_id: 0x2e1466a0
+ offset: 64
+}
+member {
id: 0x8a6b6b4e
name: "recover"
type_id: 0x0e6ab35b
@@ -156574,6 +159353,12 @@ member {
type_id: 0x2fb994f1
}
member {
+ id: 0x629c6b33
+ name: "recovery_count"
+ type_id: 0x92233392
+ offset: 1152
+}
+member {
id: 0xe75c7f73
name: "recovery_disabled"
type_id: 0x6d7f5ff6
@@ -156644,16 +159429,16 @@ member {
offset: 160
}
member {
- id: 0x0cd3502a
+ id: 0x0cd354a8
name: "recv_event"
type_id: 0x054f691a
- offset: 25792
+ offset: 26176
}
member {
- id: 0x32fffef6
- name: "recv_page"
- type_id: 0xedf277ba
- offset: 256
+ id: 0x2ae3d7d3
+ name: "recv_sack_cache"
+ type_id: 0xb637307e
+ offset: 17472
}
member {
id: 0xc16c3147
@@ -156676,6 +159461,41 @@ member {
offset: 2432
}
member {
+ id: 0xd1ac6cca
+ name: "recverr"
+ type_id: 0xb3e7bac9
+ offset: 7104
+ bitsize: 1
+}
+member {
+ id: 0xd1f78df1
+ name: "recverr"
+ type_id: 0xe8034002
+ offset: 560
+ bitsize: 1
+}
+member {
+ id: 0x7e1e1e3e
+ name: "recverr_rfc4884"
+ type_id: 0xe8034002
+ offset: 574
+ bitsize: 1
+}
+member {
+ id: 0x7e45f9f6
+ name: "recverr_rfc4884"
+ type_id: 0xb3e7bac9
+ offset: 7113
+ bitsize: 1
+}
+member {
+ id: 0xf5e277a0
+ name: "recvfragsize"
+ type_id: 0xe8034002
+ offset: 14
+ bitsize: 1
+}
+member {
id: 0x732441ac
name: "recvmsg"
type_id: 0x2cd5fc31
@@ -156688,6 +159508,13 @@ member {
offset: 896
}
member {
+ id: 0xd4dd684d
+ name: "recvmsg_inq"
+ type_id: 0x295c7202
+ offset: 13869
+ bitsize: 1
+}
+member {
id: 0xfd896136
name: "recycle_ibi_slot"
type_id: 0x0e506d79
@@ -156772,11 +159599,6 @@ member {
offset: 640
}
member {
- id: 0x325a63f3
- name: "redist_vcpu"
- type_id: 0x08dcfb76
-}
-member {
id: 0x9ff3b23a
name: "redundant_pic_cnt"
type_id: 0xb3e7bac9
@@ -156800,10 +159622,10 @@ member {
offset: 64
}
member {
- id: 0xe795c0f1
+ id: 0xe795c368
name: "reenable_adv_work"
type_id: 0x1f3c8679
- offset: 17024
+ offset: 17408
}
member {
id: 0x2526a39a
@@ -157283,17 +160105,35 @@ member {
offset: 800
}
member {
+ id: 0x05243818
+ name: "refcount"
+ type_id: 0xa722c13e
+ offset: 224
+}
+member {
id: 0x05243b3c
name: "refcount"
type_id: 0xa722c13e
}
member {
+ id: 0x05243b72
+ name: "refcount"
+ type_id: 0xa722c13e
+ offset: 3616
+}
+member {
id: 0x05243c4b
name: "refcount"
type_id: 0xa722c13e
offset: 448
}
member {
+ id: 0x05243d41
+ name: "refcount"
+ type_id: 0xa722c13e
+ offset: 1280
+}
+member {
id: 0x053332c8
name: "refcount"
type_id: 0xb02b353a
@@ -157346,12 +160186,6 @@ member {
type_id: 0x6f1daf87
}
member {
- id: 0x05ec0a8d
- name: "refcount"
- type_id: 0x6f1daf87
- offset: 544
-}
-member {
id: 0x05ec0d90
name: "refcount"
type_id: 0x6f1daf87
@@ -157702,12 +160536,6 @@ member {
type_id: 0x4585663f
}
member {
- id: 0xddab36b7
- name: "reg_pmmir"
- type_id: 0x92233392
- offset: 4352
-}
-member {
id: 0x7288a0e4
name: "reg_read"
type_id: 0x321675e0
@@ -157916,6 +160744,12 @@ member {
offset: 448
}
member {
+ id: 0x4fd311c5
+ name: "region_list"
+ type_id: 0xd3c80119
+ offset: 832
+}
+member {
id: 0x4fd31bbd
name: "region_list"
type_id: 0xd3c80119
@@ -157928,12 +160762,6 @@ member {
offset: 64
}
member {
- id: 0x4e19f41c
- name: "regions"
- type_id: 0x3e3a4a9e
- offset: 128
-}
-member {
id: 0xa45f1ee8
name: "register_default_trap_handler"
type_id: 0x2eb38aa4
@@ -158185,11 +161013,6 @@ member {
offset: 320
}
member {
- id: 0x80627a33
- name: "regs"
- type_id: 0x590c6dd8
-}
-member {
id: 0x80790d43
name: "regs"
type_id: 0x42755f51
@@ -158211,11 +161034,6 @@ member {
type_id: 0xd731b823
}
member {
- id: 0x80f111bb
- name: "regs"
- type_id: 0xca67e5f6
-}
-member {
id: 0x21d1f57f
name: "regs_intr"
type_id: 0x63bbe8bf
@@ -158323,10 +161141,10 @@ member {
offset: 160
}
member {
- id: 0x020ecba9
+ id: 0x020eccd3
name: "reject_list"
type_id: 0xd3c80119
- offset: 28928
+ offset: 29312
}
member {
id: 0x904c6fcf
@@ -158448,17 +161266,6 @@ member {
offset: 192
}
member {
- id: 0xae94e729
- name: "release"
- type_id: 0x0c15b27a
-}
-member {
- id: 0xae95664d
- name: "release"
- type_id: 0x0d947d59
- offset: 256
-}
-member {
id: 0xae95b968
name: "release"
type_id: 0x0d4cec11
@@ -158560,6 +161367,12 @@ member {
type_id: 0x0f852e4a
}
member {
+ id: 0xae97905e
+ name: "release"
+ type_id: 0x0f626ee5
+ offset: 256
+}
+member {
id: 0xae979233
name: "release"
type_id: 0x0f67b75e
@@ -158667,6 +161480,12 @@ member {
offset: 64
}
member {
+ id: 0x2e40d714
+ name: "release_clone_rq"
+ type_id: 0x1ce28cf1
+ offset: 576
+}
+member {
id: 0x06fc76ed
name: "release_completion"
type_id: 0x0562c566
@@ -158775,6 +161594,42 @@ member {
offset: 1536
}
member {
+ id: 0x83cb909a
+ name: "reload_actions"
+ type_id: 0x33756485
+ offset: 64
+}
+member {
+ id: 0xf8981c0e
+ name: "reload_down"
+ type_id: 0x2d594ead
+ offset: 192
+}
+member {
+ id: 0xf5250b55
+ name: "reload_failed"
+ type_id: 0x295c7202
+ offset: 3584
+ bitsize: 1
+}
+member {
+ id: 0xb0509801
+ name: "reload_limits"
+ type_id: 0x33756485
+ offset: 128
+}
+member {
+ id: 0x4492b926
+ name: "reload_stats"
+ type_id: 0x93e3596e
+}
+member {
+ id: 0xa5ab7067
+ name: "reload_up"
+ type_id: 0x2d8fd28a
+ offset: 256
+}
+member {
id: 0x88c18b9a
name: "relocs"
type_id: 0x18934663
@@ -158884,10 +161739,16 @@ member {
offset: 2064
}
member {
- id: 0x17a11fa5
+ id: 0x17a11866
name: "remote_oob_data"
type_id: 0xd3c80119
- offset: 29696
+ offset: 30080
+}
+member {
+ id: 0xadd03a27
+ name: "remote_reload_stats"
+ type_id: 0x93e3596e
+ offset: 192
}
member {
id: 0xa3daa863
@@ -158902,17 +161763,6 @@ member {
offset: 2056
}
member {
- id: 0x8726cc6c
- name: "remote_tlb_flush"
- type_id: 0x92233392
-}
-member {
- id: 0xe4dfd298
- name: "remote_tlb_flush_requests"
- type_id: 0x92233392
- offset: 64
-}
-member {
id: 0x39638edc
name: "remote_tx_win"
type_id: 0xe8034002
@@ -159250,12 +162100,31 @@ member {
offset: 992
}
member {
+ id: 0x599289d3
+ name: "reo_wnd_persist"
+ type_id: 0x295c7202
+ offset: 168
+ bitsize: 5
+}
+member {
+ id: 0xc2607053
+ name: "reo_wnd_steps"
+ type_id: 0x295c7202
+ offset: 160
+}
+member {
id: 0x5f8678ed
name: "reoffload"
type_id: 0x2d08fece
offset: 832
}
member {
+ id: 0xbffa6140
+ name: "reord_seen"
+ type_id: 0xc9082b19
+ offset: 14688
+}
+member {
id: 0x2e9f9cf8
name: "reorder_q"
type_id: 0x578f9c2b
@@ -159280,12 +162149,31 @@ member {
offset: 1536
}
member {
+ id: 0x6e16f71f
+ name: "reordering"
+ type_id: 0xc9082b19
+ offset: 14656
+}
+member {
id: 0x52e0ed5f
name: "rep"
type_id: 0x75617428
offset: 2624
}
member {
+ id: 0xf06d788d
+ name: "repair"
+ type_id: 0x295c7202
+ offset: 13870
+ bitsize: 1
+}
+member {
+ id: 0xd0cd0f99
+ name: "repair_queue"
+ type_id: 0x295c7202
+ offset: 13872
+}
+member {
id: 0x345e6415
name: "repeat"
type_id: 0x295c7202
@@ -159304,6 +162192,13 @@ member {
offset: 2112
}
member {
+ id: 0x7560b519
+ name: "repflow"
+ type_id: 0xe8034002
+ offset: 562
+ bitsize: 1
+}
+member {
id: 0x4b7a046e
name: "repl_mode"
type_id: 0x798f2945
@@ -159567,6 +162462,12 @@ member {
type_id: 0xe62ebf07
}
member {
+ id: 0x0d0ed2a2
+ name: "report_zones"
+ type_id: 0xb0c08c5a
+ offset: 1280
+}
+member {
id: 0x0d9120ed
name: "report_zones"
type_id: 0x2f37042d
@@ -159579,12 +162480,24 @@ member {
offset: 1064
}
member {
+ id: 0x6ac681cd
+ name: "reporter_list"
+ type_id: 0xd3c80119
+ offset: 960
+}
+member {
id: 0x6ac6877c
name: "reporter_list"
type_id: 0xd3c80119
offset: 2112
}
member {
+ id: 0xefdb08b4
+ name: "reporters_lock"
+ type_id: 0xa7c362b0
+ offset: 1088
+}
+member {
id: 0xefdb0c31
name: "reporters_lock"
type_id: 0xa7c362b0
@@ -159673,10 +162586,16 @@ member {
offset: 704
}
member {
- id: 0x41d7b583
+ id: 0x41836813
+ name: "req_lock"
+ type_id: 0xf313e71a
+ offset: 256
+}
+member {
+ id: 0x41d7be50
name: "req_lock"
type_id: 0xa7c362b0
- offset: 25856
+ offset: 26240
}
member {
id: 0x5b6c091d
@@ -159756,22 +162675,22 @@ member {
offset: 640
}
member {
- id: 0xfa136db1
+ id: 0xfa136415
name: "req_result"
type_id: 0xe62ebf07
- offset: 26464
+ offset: 26848
}
member {
- id: 0x3e305241
+ id: 0x3e305123
name: "req_skb"
type_id: 0x054f691a
- offset: 26496
+ offset: 26880
}
member {
- id: 0xd432c148
+ id: 0xd432cc5e
name: "req_status"
type_id: 0xe62ebf07
- offset: 26432
+ offset: 26816
}
member {
id: 0x48ed2ec0
@@ -159786,10 +162705,10 @@ member {
offset: 192
}
member {
- id: 0x380f14bc
+ id: 0x380f1158
name: "req_wait_q"
type_id: 0x03913382
- offset: 26240
+ offset: 26624
}
member {
id: 0xba5af507
@@ -159842,6 +162761,12 @@ member {
offset: 32
}
member {
+ id: 0xa9e8c522
+ name: "reqsize"
+ type_id: 0x4585663f
+ offset: 576
+}
+member {
id: 0xa9e8c748
name: "reqsize"
type_id: 0x4585663f
@@ -159993,11 +162918,6 @@ member {
offset: 5504
}
member {
- id: 0xf6476a4c
- name: "request_interrupt_window"
- type_id: 0xb3e7bac9
-}
-member {
id: 0x6fead5f8
name: "request_is_queued"
type_id: 0x6d7f5ff6
@@ -160114,12 +163034,6 @@ member {
offset: 3200
}
member {
- id: 0x9f936789
- name: "requests"
- type_id: 0x92233392
- offset: 448
-}
-member {
id: 0x9fd286ba
name: "requests"
type_id: 0xd3c80119
@@ -160144,6 +163058,12 @@ member {
offset: 256
}
member {
+ id: 0xee14c6d9
+ name: "requeue_list"
+ type_id: 0x0206e829
+ offset: 3392
+}
+member {
id: 0xeec50ace
name: "requeue_list"
type_id: 0xd3c80119
@@ -160168,6 +163088,12 @@ member {
offset: 18752
}
member {
+ id: 0x37483f88
+ name: "requeue_work"
+ type_id: 0x1f3c8679
+ offset: 3008
+}
+member {
id: 0x37a61301
name: "requeue_work"
type_id: 0xf1159c31
@@ -160288,18 +163214,6 @@ member {
offset: 128
}
member {
- id: 0xacf78dbd
- name: "resampler_list"
- type_id: 0xd3c80119
- offset: 192
-}
-member {
- id: 0x85260d3d
- name: "resampler_lock"
- type_id: 0xa7c362b0
- offset: 320
-}
-member {
id: 0x1aa9410e
name: "rescan"
type_id: 0x6d7f5ff6
@@ -160822,12 +163736,6 @@ member {
offset: 152
}
member {
- id: 0xd4d047b1
- name: "reserved"
- type_id: 0xb3e7bac9
- offset: 72
-}
-member {
id: 0xd4d15398
name: "reserved"
type_id: 0xb2fbbbc4
@@ -160864,6 +163772,12 @@ member {
offset: 32
}
member {
+ id: 0xd4ed0237
+ name: "reserved"
+ type_id: 0x8ea78f33
+ offset: 128
+}
+member {
id: 0xd4eef0a8
name: "reserved"
type_id: 0x8d58bd1a
@@ -161087,6 +164001,12 @@ member {
offset: 8
}
member {
+ id: 0x9a257ac5
+ name: "reserved_buffers"
+ type_id: 0xd3c80119
+ offset: 1280
+}
+member {
id: 0xaa963da5
name: "reserved_char"
type_id: 0xbbda39d5
@@ -161146,6 +164066,12 @@ member {
offset: 256
}
member {
+ id: 0x6290b59b
+ name: "reset"
+ type_id: 0x2d12100b
+ offset: 128
+}
+member {
id: 0x6290e8f3
name: "reset"
type_id: 0x2d4fc86f
@@ -161233,12 +164159,6 @@ member {
offset: 576
}
member {
- id: 0x62b29c82
- name: "reset"
- type_id: 0x0f3dfb90
- offset: 3200
-}
-member {
id: 0x62b2a267
name: "reset"
type_id: 0x0f04e7c1
@@ -161251,12 +164171,6 @@ member {
offset: 128
}
member {
- id: 0x62d0d919
- name: "reset"
- type_id: 0x6d7f5ff6
- offset: 136
-}
-member {
id: 0x62d0da0e
name: "reset"
type_id: 0x6d7f5ff6
@@ -161360,12 +164274,6 @@ member {
bitsize: 1
}
member {
- id: 0xcfe72c2d
- name: "reset_index"
- type_id: 0xc9082b19
- offset: 32
-}
-member {
id: 0xb1b2f32e
name: "reset_methods"
type_id: 0x629984b1
@@ -161433,12 +164341,6 @@ member {
offset: 512
}
member {
- id: 0xa700e1ff
- name: "reset_state"
- type_id: 0x3f42023f
- offset: 67392
-}
-member {
id: 0xa4c83369
name: "reset_time"
type_id: 0xd5df6730
@@ -161488,12 +164390,6 @@ member {
offset: 128
}
member {
- id: 0x3a956acf
- name: "resident"
- type_id: 0x6d7f5ff6
- offset: 256
-}
-member {
id: 0x38e53c13
name: "residual_transfer_count"
type_id: 0xe276adef
@@ -161673,6 +164569,12 @@ member {
offset: 9024
}
member {
+ id: 0x17c3228f
+ name: "resource_list"
+ type_id: 0xd3c80119
+ offset: 576
+}
+member {
id: 0x19740c14
name: "resources"
type_id: 0x31e374a8
@@ -161911,18 +164813,6 @@ member {
offset: 576
}
member {
- id: 0x07c203de
- name: "result"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
- id: 0x07c20efd
- name: "result"
- type_id: 0xedf277ba
- offset: 128
-}
-member {
id: 0x07cb2b16
name: "result"
type_id: 0xe4de5ee5
@@ -162089,6 +164979,12 @@ member {
offset: 2624
}
member {
+ id: 0xcae841ae
+ name: "resume"
+ type_id: 0x77a6dd29
+ offset: 1024
+}
+member {
id: 0xa4d8edf6
name: "resume_done"
type_id: 0x80dc069a
@@ -162231,18 +165127,6 @@ member {
offset: 320
}
member {
- id: 0x517bb4e8
- name: "ret"
- type_id: 0xedf277ba
- offset: 64
-}
-member {
- id: 0x517bb77e
- name: "ret"
- type_id: 0xedf277ba
- offset: 448
-}
-member {
id: 0x51f16a64
name: "ret"
type_id: 0x6720d32f
@@ -162255,12 +165139,6 @@ member {
offset: 32
}
member {
- id: 0x51f63d7f
- name: "ret"
- type_id: 0x607419c2
- offset: 512
-}
-member {
id: 0x4c003468
name: "ret_addr"
type_id: 0x372be6f8
@@ -162290,12 +165168,6 @@ member {
offset: 96
}
member {
- id: 0xff72a66c
- name: "ret_value"
- type_id: 0x33756485
- offset: 192
-}
-member {
id: 0xf64e43b1
name: "retimer"
type_id: 0x26927abb
@@ -162320,6 +165192,18 @@ member {
offset: 7104
}
member {
+ id: 0x0b8a1650
+ name: "retrans_out"
+ type_id: 0xc9082b19
+ offset: 14528
+}
+member {
+ id: 0x92525caa
+ name: "retrans_stamp"
+ type_id: 0xc9082b19
+ offset: 17888
+}
+member {
id: 0x2f1b8a8e
name: "retrans_timeout"
type_id: 0xe8034002
@@ -162332,6 +165216,12 @@ member {
offset: 3264
}
member {
+ id: 0x05aa0dfa
+ name: "retransmit_skb_hint"
+ type_id: 0x054f691a
+ offset: 16960
+}
+member {
id: 0x4f0d9bec
name: "retries"
type_id: 0xe62ebf07
@@ -162373,6 +165263,12 @@ member {
type_id: 0xe8d14bc6
}
member {
+ id: 0x7fdde492
+ name: "retry"
+ type_id: 0xb3e7bac9
+ offset: 24
+}
+member {
id: 0x0a6b3115
name: "retry_count"
type_id: 0xb3e7bac9
@@ -162651,10 +165547,10 @@ member {
offset: 9280
}
member {
- id: 0x80a0a424
+ id: 0x80a0a3ee
name: "rfkill"
type_id: 0x079ff791
- offset: 38592
+ offset: 38976
}
member {
id: 0x6ba9654a
@@ -162824,12 +165720,6 @@ member {
type_id: 0xa7c362b0
}
member {
- id: 0xa84d097f
- name: "ring_lock"
- type_id: 0xf313e71a
- offset: 24704
-}
-member {
id: 0x66a87345
name: "ring_mask"
type_id: 0xc9082b19
@@ -162859,21 +165749,6 @@ member {
offset: 128
}
member {
- id: 0x28cf1121
- name: "rip"
- type_id: 0xedf277ba
-}
-member {
- id: 0xb09d2ffa
- name: "riscv_csr"
- type_id: 0x0f0b7249
-}
-member {
- id: 0x112a2e09
- name: "riscv_sbi"
- type_id: 0x378b9399
-}
-member {
id: 0xef0151a4
name: "rlim"
type_id: 0x5fa20088
@@ -163416,6 +166291,12 @@ member {
offset: 704
}
member {
+ id: 0xe1754ad1
+ name: "router_alert"
+ type_id: 0x5d8155a5
+ offset: 104
+}
+member {
id: 0x1061afd7
name: "routing"
type_id: 0xb3e7bac9
@@ -163432,22 +166313,22 @@ member {
type_id: 0x2a653aa6
}
member {
- id: 0x4b6f4c71
+ id: 0x4b6f45cd
name: "rpa"
type_id: 0xa61911b2
- offset: 47552
+ offset: 47936
}
member {
- id: 0x2fd08888
+ id: 0x2fd08efd
name: "rpa_expired"
type_id: 0xf1159c31
- offset: 46464
+ offset: 46848
}
member {
- id: 0x0eb3e2bb
+ id: 0x0eb3e9bf
name: "rpa_timeout"
type_id: 0xe62ebf07
- offset: 46432
+ offset: 46816
}
member {
id: 0x602447ba
@@ -163575,6 +166456,12 @@ member {
offset: 28544
}
member {
+ id: 0x37cf0b9e
+ name: "rq_end_io"
+ type_id: 0xabcaeaec
+ offset: 704
+}
+member {
id: 0x97cc8149
name: "rq_flags"
type_id: 0x9e3964d1
@@ -163652,6 +166539,19 @@ member {
offset: 1152
}
member {
+ id: 0xe752e605
+ name: "rr"
+ type_id: 0x5d8155a5
+ offset: 80
+}
+member {
+ id: 0xe5e354be
+ name: "rr_needaddr"
+ type_id: 0x5d8155a5
+ offset: 99
+ bitsize: 1
+}
+member {
id: 0xf254d9f5
name: "rr_nr_running"
type_id: 0x4585663f
@@ -163748,6 +166648,40 @@ member {
offset: 1216
}
member {
+ id: 0x5367b67f
+ name: "rskq_accept_head"
+ type_id: 0x27847a9a
+ offset: 192
+}
+member {
+ id: 0x07b1da25
+ name: "rskq_accept_tail"
+ type_id: 0x27847a9a
+ offset: 256
+}
+member {
+ id: 0x6f5c1006
+ name: "rskq_defer_accept"
+ type_id: 0x295c7202
+ offset: 32
+}
+member {
+ id: 0xf1af1f8d
+ name: "rskq_lock"
+ type_id: 0xf313e71a
+}
+member {
+ id: 0x4fed2df8
+ name: "rskq_rst_head"
+ type_id: 0x27847a9a
+}
+member {
+ id: 0xe2520be5
+ name: "rskq_rst_tail"
+ type_id: 0x27847a9a
+ offset: 64
+}
+member {
id: 0x94b16558
name: "rslot_limit"
type_id: 0x89ea5acf
@@ -164229,6 +167163,13 @@ member {
offset: 16
}
member {
+ id: 0xe5f931e3
+ name: "rtalert_isolate"
+ type_id: 0xe8034002
+ offset: 575
+ bitsize: 1
+}
+member {
id: 0xe06b5dfe
name: "rtc"
type_id: 0x24e24923
@@ -164366,18 +167307,47 @@ member {
offset: 1632
}
member {
+ id: 0xbb70420d
+ name: "rtt_min"
+ type_id: 0x98a86aa3
+ offset: 14304
+}
+member {
+ id: 0x50d5f815
+ name: "rtt_seq"
+ type_id: 0xc9082b19
+ offset: 14272
+}
+member {
id: 0x2e4fe3d2
name: "rtt_us"
type_id: 0xd41e888f
offset: 32
}
member {
+ id: 0x2e52f84a
+ name: "rtt_us"
+ type_id: 0xc9082b19
+}
+member {
+ id: 0x2e52fcab
+ name: "rtt_us"
+ type_id: 0xc9082b19
+ offset: 64
+}
+member {
id: 0x2e67f9bb
name: "rtt_us"
type_id: 0xfc0e1dbd
offset: 320
}
member {
+ id: 0x861205e4
+ name: "rttvar_us"
+ type_id: 0xc9082b19
+ offset: 14240
+}
+member {
id: 0xe53f0bca
name: "rtx_syn_ack"
type_id: 0x2e519115
@@ -164466,12 +167436,6 @@ member {
offset: 3136
}
member {
- id: 0x021fd03f
- name: "run"
- type_id: 0x3da548f2
- offset: 960
-}
-member {
id: 0x2f68ddc4
name: "run_array"
type_id: 0x6fde7229
@@ -164729,10 +167693,10 @@ member {
offset: 1976
}
member {
- id: 0xa56878ce
+ id: 0xa568765c
name: "rwork"
type_id: 0xd15fd98f
- offset: 2560
+ offset: 3200
}
member {
id: 0xd610e150
@@ -165079,6 +168043,12 @@ member {
offset: 64
}
member {
+ id: 0xc2e1d78f
+ name: "rx_frames"
+ type_id: 0x578f9c2b
+ offset: 640
+}
+member {
id: 0xa87a1b62
name: "rx_frames_delta"
type_id: 0x33756485
@@ -165191,6 +168161,12 @@ member {
type_id: 0x7dbd382e
}
member {
+ id: 0xa064e9a8
+ name: "rx_max"
+ type_id: 0xc9082b19
+ offset: 2112
+}
+member {
id: 0xfd4774fd
name: "rx_max_coalesced_frames"
type_id: 0xe62ebf07
@@ -165297,12 +168273,24 @@ member {
offset: 1472
}
member {
+ id: 0xb3ff3714
+ name: "rx_ntbs"
+ type_id: 0x92233392
+ offset: 2816
+}
+member {
id: 0x9fdf2166
name: "rx_oos_packets"
type_id: 0xb02b353a
offset: 384
}
member {
+ id: 0xedd761bd
+ name: "rx_opt"
+ type_id: 0xfb9626d5
+ offset: 14752
+}
+member {
id: 0x92162365
name: "rx_otherhost_dropped"
type_id: 0xedf277ba
@@ -165326,6 +168314,12 @@ member {
offset: 704
}
member {
+ id: 0xa15b4dcc
+ name: "rx_overhead"
+ type_id: 0x92233392
+ offset: 2752
+}
+member {
id: 0x6a136bc1
name: "rx_packets"
type_id: 0xb02b353a
@@ -165383,10 +168377,10 @@ member {
offset: 192
}
member {
- id: 0x714814d3
+ id: 0x71481e19
name: "rx_q"
type_id: 0x578f9c2b
- offset: 25152
+ offset: 25536
}
member {
id: 0x671dc45f
@@ -165400,6 +168394,12 @@ member {
type_id: 0x2de3e088
}
member {
+ id: 0xd3d22e9f
+ name: "rx_reqs"
+ type_id: 0xd3c80119
+ offset: 448
+}
+member {
id: 0xb906969b
name: "rx_reserved"
type_id: 0x2b4e5af5
@@ -165451,6 +168451,12 @@ member {
type_id: 0x3f75f4e8
}
member {
+ id: 0x32a32199
+ name: "rx_seq"
+ type_id: 0x914dbfdc
+ offset: 2384
+}
+member {
id: 0xa6aa7bdf
name: "rx_seq_discards"
type_id: 0xb02b353a
@@ -165605,10 +168611,10 @@ member {
offset: 2240
}
member {
- id: 0x6e7f7819
+ id: 0x6e7f7dae
name: "rx_work"
type_id: 0x1f3c8679
- offset: 21824
+ offset: 22208
}
member {
id: 0x8be6c17d
@@ -165629,6 +168635,67 @@ member {
offset: 16
}
member {
+ id: 0xf63d13ec
+ name: "rxflow"
+ type_id: 0xe8034002
+ offset: 10
+ bitsize: 1
+}
+member {
+ id: 0x27542d26
+ name: "rxhlim"
+ type_id: 0xe8034002
+ offset: 4
+ bitsize: 1
+}
+member {
+ id: 0x0ab41655
+ name: "rxinfo"
+ type_id: 0xe8034002
+ offset: 2
+ bitsize: 1
+}
+member {
+ id: 0xba676c19
+ name: "rxohlim"
+ type_id: 0xe8034002
+ offset: 5
+ bitsize: 1
+}
+member {
+ id: 0xdb4e2124
+ name: "rxoinfo"
+ type_id: 0xe8034002
+ offset: 3
+ bitsize: 1
+}
+member {
+ id: 0xca5da826
+ name: "rxopt"
+ type_id: 0x6312fd2f
+ offset: 544
+}
+member {
+ id: 0xb7565f87
+ name: "rxorigdstaddr"
+ type_id: 0xe8034002
+ offset: 13
+ bitsize: 1
+}
+member {
+ id: 0x1f5f2358
+ name: "rxpmtu"
+ type_id: 0xe8034002
+ offset: 12
+ bitsize: 1
+}
+member {
+ id: 0x80588b5f
+ name: "rxpmtu"
+ type_id: 0x054f691a
+ offset: 1024
+}
+member {
id: 0x94aefae8
name: "rxq"
type_id: 0x578f9c2b
@@ -165653,6 +168720,13 @@ member {
offset: 416
}
member {
+ id: 0xd94d5094
+ name: "rxtclass"
+ type_id: 0xe8034002
+ offset: 11
+ bitsize: 1
+}
+member {
id: 0x2aa685e6
name: "rxtstamp"
type_id: 0x35ab6b03
@@ -165663,15 +168737,19 @@ member {
type_id: 0xc9082b19
}
member {
- id: 0x67846dd9
+ id: 0x67c4eef4
name: "s"
- type_id: 0x76df8305
- offset: 2432
+ type_id: 0x36592664
}
member {
- id: 0x67c4eef4
+ id: 0x67c7a307
name: "s"
- type_id: 0x36592664
+ type_id: 0x3514d59f
+}
+member {
+ id: 0x67c839a9
+ name: "s"
+ type_id: 0x3a8e7b26
}
member {
id: 0x67cca386
@@ -165727,31 +168805,6 @@ member {
offset: 640
}
member {
- id: 0x3fd31627
- name: "s390_reset_flags"
- type_id: 0xedf277ba
-}
-member {
- id: 0x2b1b8ef2
- name: "s390_sieic"
- type_id: 0x31f9c69b
-}
-member {
- id: 0x5fd2e3fb
- name: "s390_stsi"
- type_id: 0x114efe06
-}
-member {
- id: 0x66d41c47
- name: "s390_tsch"
- type_id: 0x0ad62715
-}
-member {
- id: 0xd9d85a91
- name: "s390_ucontrol"
- type_id: 0x19910c85
-}
-member {
id: 0x87554dcf
name: "s3d_ext_data"
type_id: 0x4585663f
@@ -166482,6 +169535,19 @@ member {
offset: 3072
}
member {
+ id: 0xa9edea21
+ name: "sack_ok"
+ type_id: 0x914dbfdc
+ offset: 132
+ bitsize: 3
+}
+member {
+ id: 0xbd3e4a51
+ name: "sacked_out"
+ type_id: 0xc9082b19
+ offset: 15712
+}
+member {
id: 0xf8038083
name: "saddr"
type_id: 0x313397f7
@@ -166539,6 +169605,12 @@ member {
offset: 192
}
member {
+ id: 0xebfb4e21
+ name: "same_provision"
+ type_id: 0x358546f6
+ offset: 128
+}
+member {
id: 0x9b9fa9a3
name: "same_root"
type_id: 0xd3c80119
@@ -166774,6 +169846,13 @@ member {
offset: 512
}
member {
+ id: 0x1d3cf444
+ name: "save_syn"
+ type_id: 0x295c7202
+ offset: 13880
+ bitsize: 2
+}
+member {
id: 0x10476fa4
name: "saved"
type_id: 0x111e281f
@@ -166898,12 +169977,23 @@ member {
offset: 64
}
member {
+ id: 0x653b6170
+ name: "saved_state"
+ type_id: 0x4585663f
+}
+member {
id: 0x72f4c281
name: "saved_syn"
type_id: 0x10c6675a
offset: 1792
}
member {
+ id: 0x72f4ca16
+ name: "saved_syn"
+ type_id: 0x10c6675a
+ offset: 18816
+}
+member {
id: 0x424e9efd
name: "saved_tmo"
type_id: 0xfc0e1dbd
@@ -166928,6 +170018,20 @@ member {
offset: 1408
}
member {
+ id: 0x037e8aa7
+ name: "saw_tstamp"
+ type_id: 0x914dbfdc
+ offset: 128
+ bitsize: 1
+}
+member {
+ id: 0x9eb3a9b9
+ name: "saw_unknown"
+ type_id: 0x295c7202
+ offset: 144
+ bitsize: 1
+}
+member {
id: 0x597655fc
name: "sb"
type_id: 0xa3189db3
@@ -166963,6 +170067,72 @@ member {
offset: 8448
}
member {
+ id: 0xe1b6bbe3
+ name: "sb_list"
+ type_id: 0xd3c80119
+ offset: 320
+}
+member {
+ id: 0x1197fb66
+ name: "sb_occ_max_clear"
+ type_id: 0x2d7ab985
+ offset: 960
+}
+member {
+ id: 0x80e35930
+ name: "sb_occ_port_pool_get"
+ type_id: 0x2e0a2548
+ offset: 1024
+}
+member {
+ id: 0xa9d0bb48
+ name: "sb_occ_snapshot"
+ type_id: 0x2d7ab985
+ offset: 896
+}
+member {
+ id: 0xde69b5bc
+ name: "sb_occ_tc_port_bind_get"
+ type_id: 0x2e0abaa7
+ offset: 1088
+}
+member {
+ id: 0x93cb2df4
+ name: "sb_pool_get"
+ type_id: 0x2d739f19
+ offset: 512
+}
+member {
+ id: 0xeaf07952
+ name: "sb_pool_set"
+ type_id: 0x2d7368ed
+ offset: 576
+}
+member {
+ id: 0x78a8c4ae
+ name: "sb_port_pool_get"
+ type_id: 0x2e0a26c5
+ offset: 640
+}
+member {
+ id: 0x6f535872
+ name: "sb_port_pool_set"
+ type_id: 0x2e0ad762
+ offset: 704
+}
+member {
+ id: 0x001ba0a6
+ name: "sb_tc_pool_bind_get"
+ type_id: 0x2e0abbc6
+ offset: 768
+}
+member {
+ id: 0x07349e82
+ name: "sb_tc_pool_bind_set"
+ type_id: 0x2e0ab0cf
+ offset: 832
+}
+member {
id: 0x7ac264e0
name: "sbc"
type_id: 0x2ea8d96e
@@ -167022,6 +170192,11 @@ member {
offset: 256
}
member {
+ id: 0xd440bc7f
+ name: "sbq"
+ type_id: 0x12e24ee1
+}
+member {
id: 0x693c7182
name: "sbrn"
type_id: 0x295c7202
@@ -167281,16 +170456,16 @@ member {
offset: 640
}
member {
- id: 0x2e353c74
+ id: 0x2e353a9c
name: "scan_rsp_data"
type_id: 0x53171385
- offset: 40752
+ offset: 41136
}
member {
- id: 0x83054f12
+ id: 0x83054658
name: "scan_rsp_data_len"
type_id: 0xb3e7bac9
- offset: 42760
+ offset: 43144
}
member {
id: 0x71d18ef9
@@ -167376,10 +170551,10 @@ member {
bitsize: 1
}
member {
- id: 0xb40bde91
+ id: 0xb40bd33a
name: "scanning_paused"
type_id: 0x6d7f5ff6
- offset: 28224
+ offset: 28608
}
member {
id: 0x93a30d5c
@@ -167466,11 +170641,6 @@ member {
offset: 28672
}
member {
- id: 0xe0b448e4
- name: "sched_in"
- type_id: 0x0c5f174a
-}
-member {
id: 0x03385852
name: "sched_info"
type_id: 0x4d09650b
@@ -167490,12 +170660,6 @@ member {
offset: 128
}
member {
- id: 0x7b24028f
- name: "sched_out"
- type_id: 0x0c252e30
- offset: 64
-}
-member {
id: 0x848a6070
name: "sched_period"
type_id: 0xedf277ba
@@ -168200,12 +171364,23 @@ member {
offset: 32
}
member {
+ id: 0xf32eb68b
+ name: "search_high"
+ type_id: 0x6720d32f
+}
+member {
id: 0x39bd6d5d
name: "search_list"
type_id: 0xd3c80119
offset: 448
}
member {
+ id: 0xf0e605cb
+ name: "search_low"
+ type_id: 0x6720d32f
+ offset: 32
+}
+member {
id: 0xbf942607
name: "search_order"
type_id: 0xb0312d5a
@@ -168372,6 +171547,12 @@ member {
offset: 384
}
member {
+ id: 0xf705dc19
+ name: "sector_offset"
+ type_id: 0x4585663f
+ offset: 576
+}
+member {
id: 0x173ce3ee
name: "sector_size"
type_id: 0x4585663f
@@ -168384,6 +171565,12 @@ member {
offset: 320
}
member {
+ id: 0x3721dfe0
+ name: "sectors"
+ type_id: 0x4585663f
+ offset: 608
+}
+member {
id: 0x3739d0c7
name: "sectors"
type_id: 0x5d8155a5
@@ -168396,10 +171583,10 @@ member {
offset: 256
}
member {
- id: 0xa39136f0
- name: "secure_access"
- type_id: 0x6d7f5ff6
- offset: 3424
+ id: 0x0b50257c
+ name: "sectors_per_block_bits"
+ type_id: 0x29b77961
+ offset: 928
}
member {
id: 0xb0199c94
@@ -168653,6 +171840,24 @@ member {
type_id: 0x78f4e574
}
member {
+ id: 0x498b56ac
+ name: "segments_left"
+ type_id: 0xb3e7bac9
+ offset: 24
+}
+member {
+ id: 0x43536458
+ name: "segs_in"
+ type_id: 0xc9082b19
+ offset: 12416
+}
+member {
+ id: 0xef3672e0
+ name: "segs_out"
+ type_id: 0xc9082b19
+ offset: 12608
+}
+member {
id: 0x339d15e8
name: "sel"
type_id: 0x4585663f
@@ -168665,18 +171870,6 @@ member {
offset: 832
}
member {
- id: 0xebeb17cb
- name: "sel1"
- type_id: 0xb3e7bac9
- offset: 88
-}
-member {
- id: 0xaf6f4ac0
- name: "sel2"
- type_id: 0xe8034002
- offset: 96
-}
-member {
id: 0x72d71532
name: "sel_res"
type_id: 0x295c7202
@@ -168720,6 +171913,12 @@ member {
offset: 640
}
member {
+ id: 0x3a30a25b
+ name: "selective_acks"
+ type_id: 0xb637307e
+ offset: 17216
+}
+member {
id: 0x104f57f6
name: "selector"
type_id: 0x7047fa95
@@ -168832,6 +172031,24 @@ member {
offset: 1408
}
member {
+ id: 0x5937e22e
+ name: "selfparking"
+ type_id: 0x6d7f5ff6
+ offset: 640
+}
+member {
+ id: 0x561fd50f
+ name: "selftest_check"
+ type_id: 0x35b3ea42
+ offset: 3264
+}
+member {
+ id: 0xd95b0d92
+ name: "selftest_run"
+ type_id: 0x1fdf8df4
+ offset: 3328
+}
+member {
id: 0xf53d14f9
name: "sem"
type_id: 0x28b9ec9a
@@ -168856,10 +172073,10 @@ member {
offset: 64
}
member {
- id: 0xe39f13d5
+ id: 0xe39f1481
name: "send"
type_id: 0x2c297347
- offset: 50368
+ offset: 50752
}
member {
id: 0x300665d2
@@ -168880,6 +172097,12 @@ member {
offset: 448
}
member {
+ id: 0x6d7c55af
+ name: "send_check"
+ type_id: 0x0f67218c
+ offset: 64
+}
+member {
id: 0xbd9e514e
name: "send_data"
type_id: 0x2ec1fdbb
@@ -168914,12 +172137,6 @@ member {
offset: 192
}
member {
- id: 0xc2c18445
- name: "send_page"
- type_id: 0xedf277ba
- offset: 192
-}
-member {
id: 0x42f73f70
name: "send_pkt"
type_id: 0x2ddb8bbd
@@ -169146,10 +172363,10 @@ member {
offset: 3872
}
member {
- id: 0x8fd1ed9e
+ id: 0x8fd1e923
name: "sent_cmd"
type_id: 0x054f691a
- offset: 25728
+ offset: 26112
}
member {
id: 0x2f63fdae
@@ -169268,6 +172485,12 @@ member {
offset: 256
}
member {
+ id: 0xfad50a5a
+ name: "seq"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
id: 0xfad50a81
name: "seq"
type_id: 0xc9082b19
@@ -169633,10 +172856,10 @@ member {
offset: 960
}
member {
- id: 0x6f0a1e46
+ id: 0x6f0a17b5
name: "service_cache"
type_id: 0xf1159c31
- offset: 18560
+ offset: 18944
}
member {
id: 0x5f901528
@@ -169833,12 +173056,6 @@ member {
offset: 128
}
member {
- id: 0x0bb97dbd
- name: "set_attr"
- type_id: 0x2ee94408
- offset: 320
-}
-member {
id: 0xd1a721b7
name: "set_auto_vbus_discharge_threshold"
type_id: 0x2e11757b
@@ -169881,10 +173098,10 @@ member {
offset: 192
}
member {
- id: 0x284bd07a
+ id: 0x284bd920
name: "set_bdaddr"
type_id: 0x2c1bc9fd
- offset: 50688
+ offset: 51072
}
member {
id: 0x04c66be5
@@ -170116,10 +173333,10 @@ member {
offset: 128
}
member {
- id: 0xfedeef06
+ id: 0xfedee1e7
name: "set_diag"
type_id: 0x2c414371
- offset: 50624
+ offset: 51008
}
member {
id: 0xb9a43c35
@@ -170182,10 +173399,10 @@ member {
offset: 128
}
member {
- id: 0x3cc9ff38
- name: "set_event_filter"
- type_id: 0x2ebb6897
- offset: 2880
+ id: 0x87f98767
+ name: "set_event"
+ type_id: 0x2d12100b
+ offset: 192
}
member {
id: 0xada2d6c5
@@ -170272,6 +173489,11 @@ member {
offset: 1344
}
member {
+ id: 0x88f65c40
+ name: "set_interface"
+ type_id: 0x2d2076df
+}
+member {
id: 0xce6643c0
name: "set_ios"
type_id: 0x0de0f4a6
@@ -170591,6 +173813,18 @@ member {
offset: 1344
}
member {
+ id: 0x18766439
+ name: "set_pcm_connection"
+ type_id: 0x2db6fcd8
+ offset: 128
+}
+member {
+ id: 0x58055805
+ name: "set_pcm_intf"
+ type_id: 0x2f815de7
+ offset: 64
+}
+member {
id: 0xf0a8a677
name: "set_pd_rx"
type_id: 0x2e0b807c
@@ -170710,6 +173944,12 @@ member {
offset: 1856
}
member {
+ id: 0x4117392b
+ name: "set_priv_key"
+ type_id: 0x2d591a0e
+ offset: 320
+}
+member {
id: 0x9fa5cb5f
name: "set_promiscuous_mode"
type_id: 0x2d0e725e
@@ -170740,16 +173980,22 @@ member {
offset: 320
}
member {
+ id: 0xfd2d3002
+ name: "set_pub_key"
+ type_id: 0x2d591a0e
+ offset: 256
+}
+member {
id: 0xff542925
name: "set_pull_down"
type_id: 0x2d078518
offset: 2240
}
member {
- id: 0xe84b78bc
+ id: 0xe84b7153
name: "set_quality_report"
type_id: 0x2c414371
- offset: 50880
+ offset: 51264
}
member {
id: 0x602695e6
@@ -171301,6 +174547,12 @@ member {
offset: 896
}
member {
+ id: 0x852593c2
+ name: "setsockopt"
+ type_id: 0x2c45f2d3
+ offset: 448
+}
+member {
id: 0x85259dc7
name: "setsockopt"
type_id: 0x2c45f2d3
@@ -171349,6 +174601,12 @@ member {
offset: 3072
}
member {
+ id: 0x84c3a238
+ name: "setup"
+ type_id: 0x0aee7ba0
+ offset: 384
+}
+member {
id: 0x84c4d659
name: "setup"
type_id: 0x0d9c4ffe
@@ -171373,10 +174631,10 @@ member {
offset: 384
}
member {
- id: 0x84e564f5
+ id: 0x84e56f17
name: "setup"
type_id: 0x2c2c3c2e
- offset: 50240
+ offset: 50624
}
member {
id: 0x84e59375
@@ -171582,10 +174840,16 @@ member {
offset: 240
}
member {
- id: 0x4e4c2253
- name: "sflags"
- type_id: 0x295c7202
- offset: 15408
+ id: 0x25d5628c
+ name: "sflist"
+ type_id: 0x339b8baf
+ offset: 256
+}
+member {
+ id: 0x25db7175
+ name: "sflist"
+ type_id: 0x3d801074
+ offset: 192
}
member {
id: 0x00c081a9
@@ -171594,6 +174858,25 @@ member {
offset: 96
}
member {
+ id: 0x00c085ca
+ name: "sfmode"
+ type_id: 0x4585663f
+ offset: 160
+}
+member {
+ id: 0x4c6b273e
+ name: "sfnum"
+ type_id: 0xc9082b19
+ offset: 96
+}
+member {
+ id: 0x38a7e1c1
+ name: "sfnum_valid"
+ type_id: 0x295c7202
+ offset: 146
+ bitsize: 1
+}
+member {
id: 0x65a2356f
name: "sfp_bus"
type_id: 0x00836b76
@@ -171817,18 +175100,6 @@ member {
offset: 576
}
member {
- id: 0x57b79a32
- name: "sgi_config"
- type_id: 0x4b27ac3d
- offset: 128
-}
-member {
- id: 0xb049594d
- name: "sgi_domain"
- type_id: 0x18a2fb63
- offset: 64
-}
-member {
id: 0x37a44b88
name: "sgid"
type_id: 0xb0ddb211
@@ -171889,6 +175160,12 @@ member {
offset: 96
}
member {
+ id: 0xeb4f31b9
+ name: "share"
+ type_id: 0x295c7202
+ offset: 512
+}
+member {
id: 0xeb4f3b1e
name: "share"
type_id: 0x295c7202
@@ -172416,6 +175693,18 @@ member {
bitsize: 1
}
member {
+ id: 0x133be164
+ name: "shrink_work"
+ type_id: 0x1f3c8679
+ offset: 2496
+}
+member {
+ id: 0x868ca1f0
+ name: "shrinker"
+ type_id: 0xb4975242
+ offset: 1984
+}
+member {
id: 0x868caa9e
name: "shrinker"
type_id: 0xb4975242
@@ -172477,10 +175766,10 @@ member {
offset: 80
}
member {
- id: 0x9ed91a6e
+ id: 0x9ed91ea3
name: "shutdown"
type_id: 0x2c2c3c2e
- offset: 50304
+ offset: 50688
}
member {
id: 0x9ed96f02
@@ -172835,6 +176124,11 @@ member {
offset: 24
}
member {
+ id: 0x9063e9c1
+ name: "sign"
+ type_id: 0x2cd8a9c9
+}
+member {
id: 0x90777e15
name: "sign"
type_id: 0x384f7d7c
@@ -172870,12 +176164,6 @@ member {
offset: 128
}
member {
- id: 0xbf28dc5b
- name: "signal_exits"
- type_id: 0x92233392
- offset: 6976
-}
-member {
id: 0x7eb64f1d
name: "signal_type"
type_id: 0x1b2534c1
@@ -172924,18 +176212,6 @@ member {
offset: 64
}
member {
- id: 0xd1201d45
- name: "sigset"
- type_id: 0x02097f03
- offset: 1216
-}
-member {
- id: 0x54ebc83a
- name: "sigset_active"
- type_id: 0x6720d32f
- offset: 1152
-}
-member {
id: 0x08f6c3d8
name: "sigtrap"
type_id: 0xedf277ba
@@ -173029,6 +176305,13 @@ member {
type_id: 0x2d8ee262
}
member {
+ id: 0xdf12b226
+ name: "singleton"
+ type_id: 0x6d7f5ff6
+ offset: 1921
+ bitsize: 1
+}
+member {
id: 0x5c8384f3
name: "sink"
type_id: 0x1cc6bdca
@@ -173132,16 +176415,16 @@ member {
offset: 96
}
member {
- id: 0xd91935d3
+ id: 0xd9193607
name: "size"
type_id: 0x6720d32f
- offset: 576
+ offset: 896
}
member {
- id: 0xd9193607
+ id: 0xd91937b9
name: "size"
type_id: 0x6720d32f
- offset: 896
+ offset: 512
}
member {
id: 0xd9193b66
@@ -173290,6 +176573,12 @@ member {
type_id: 0xf435685e
}
member {
+ id: 0xd98a29b1
+ name: "size"
+ type_id: 0xf435685e
+ offset: 256
+}
+member {
id: 0xd98a2d0c
name: "size"
type_id: 0xf435685e
@@ -173332,12 +176621,6 @@ member {
offset: 64
}
member {
- id: 0xd99613f3
- name: "size"
- type_id: 0xe8034002
- offset: 48
-}
-member {
id: 0xd9961bae
name: "size"
type_id: 0xe8034002
@@ -173391,6 +176674,12 @@ member {
offset: 224
}
member {
+ id: 0xd9b71962
+ name: "size"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
id: 0xd9b71c90
name: "size"
type_id: 0xc9082b19
@@ -173415,12 +176704,6 @@ member {
offset: 320
}
member {
- id: 0xd9cdf02e
- name: "size"
- type_id: 0xb3e7bac9
- offset: 8
-}
-member {
id: 0xd9eb71ce
name: "size"
type_id: 0x9565759f
@@ -173433,6 +176716,12 @@ member {
offset: 64
}
member {
+ id: 0xd9ec35e7
+ name: "size"
+ type_id: 0x92233392
+ offset: 896
+}
+member {
id: 0xd9ec3683
name: "size"
type_id: 0x92233392
@@ -173956,6 +177245,12 @@ member {
offset: 1152
}
member {
+ id: 0x68c86260
+ name: "sk_rx_dst_set"
+ type_id: 0x0f5c0d73
+ offset: 192
+}
+member {
id: 0x30149a66
name: "sk_security"
type_id: 0x18bd6530
@@ -174090,6 +177385,12 @@ member {
bitsize: 4
}
member {
+ id: 0x8a1dbb2d
+ name: "sk_wait_pending"
+ type_id: 0x6720d32f
+ offset: 2272
+}
+member {
id: 0xca81d80d
name: "sk_wmem_alloc"
type_id: 0xa722c13e
@@ -174504,9 +177805,9 @@ member {
bitsize: 1
}
member {
- id: 0x56771d1e
+ id: 0x567d4292
name: "skip_notify_on_dev_down"
- type_id: 0x6d7f5ff6
+ type_id: 0x6720d32f
offset: 1408
}
member {
@@ -174573,6 +177874,29 @@ member {
bitsize: 2
}
member {
+ id: 0x7f9c0ca0
+ name: "sl_addr"
+ type_id: 0xdf70f6ef
+ offset: 192
+}
+member {
+ id: 0x7fbfd873
+ name: "sl_addr"
+ type_id: 0xfca4258b
+ offset: 192
+}
+member {
+ id: 0xeea06d44
+ name: "sl_count"
+ type_id: 0x4585663f
+ offset: 32
+}
+member {
+ id: 0x047148a0
+ name: "sl_max"
+ type_id: 0x4585663f
+}
+member {
id: 0xe0c5ed6b
name: "slab"
type_id: 0x0f91dccc
@@ -174591,6 +177915,18 @@ member {
offset: 64
}
member {
+ id: 0xd9ef0498
+ name: "slab_buffer"
+ type_id: 0x2efd5036
+ offset: 1088
+}
+member {
+ id: 0x031120c5
+ name: "slab_cache"
+ type_id: 0x2efd5036
+ offset: 1152
+}
+member {
id: 0x031126d0
name: "slab_cache"
type_id: 0x2efd5036
@@ -174918,12 +178254,6 @@ member {
offset: 512
}
member {
- id: 0x68304f23
- name: "slot"
- type_id: 0xe62ebf07
- offset: 32
-}
-member {
id: 0x688c706c
name: "slot"
type_id: 0x5a1fb439
@@ -175071,24 +178401,12 @@ member {
type_id: 0xa634ef38
}
member {
- id: 0x59597675
- name: "slots_arch_lock"
- type_id: 0xa7c362b0
- offset: 448
-}
-member {
id: 0xdd8a193d
name: "slots_lock"
type_id: 0x8d536703
offset: 32768
}
member {
- id: 0xdda08f2f
- name: "slots_lock"
- type_id: 0xa7c362b0
- offset: 64
-}
-member {
id: 0x3e932eb1
name: "slow_charger_loop"
type_id: 0x6d7f5ff6
@@ -175232,10 +178550,11 @@ member {
type_id: 0x3c4ed50c
}
member {
- id: 0xe4cebf61
- name: "smccc_feat"
- type_id: 0x2c432ef9
- offset: 3200
+ id: 0x7d4497ce
+ name: "smc_ok"
+ type_id: 0x914dbfdc
+ offset: 135
+ bitsize: 1
}
member {
id: 0x0697a2b0
@@ -175262,16 +178581,16 @@ member {
offset: 2880
}
member {
- id: 0x1b39784f
+ id: 0x1b3970e4
name: "smp_bredr_data"
type_id: 0x18bd6530
- offset: 26624
+ offset: 27008
}
member {
- id: 0x6188e6c3
+ id: 0x6188e4ee
name: "smp_data"
type_id: 0x18bd6530
- offset: 26560
+ offset: 26944
}
member {
id: 0x722447d2
@@ -175286,6 +178605,18 @@ member {
offset: 416
}
member {
+ id: 0x0c805fde
+ name: "snapshot"
+ type_id: 0x2d0e9268
+ offset: 128
+}
+member {
+ id: 0x0c832449
+ name: "snapshot"
+ type_id: 0x2e7505e0
+ offset: 128
+}
+member {
id: 0x0cc029ea
name: "snapshot"
type_id: 0x6d7f5ff6
@@ -175298,6 +178629,24 @@ member {
offset: 1984
}
member {
+ id: 0xc24fadb5
+ name: "snapshot_ids"
+ type_id: 0x80c20070
+ offset: 2560
+}
+member {
+ id: 0xcffde3b6
+ name: "snapshot_list"
+ type_id: 0xd3c80119
+ offset: 704
+}
+member {
+ id: 0xcbc193d6
+ name: "snapshot_lock"
+ type_id: 0xa7c362b0
+ offset: 320
+}
+member {
id: 0xae699d06
name: "snd"
type_id: 0xb914bfab
@@ -175316,12 +178665,48 @@ member {
offset: 576
}
member {
+ id: 0x3b23e448
+ name: "snd_cwnd"
+ type_id: 0xc9082b19
+ offset: 14976
+}
+member {
+ id: 0x0ed29348
+ name: "snd_cwnd_clamp"
+ type_id: 0xc9082b19
+ offset: 15040
+}
+member {
+ id: 0xdef99a11
+ name: "snd_cwnd_cnt"
+ type_id: 0xc9082b19
+ offset: 15008
+}
+member {
+ id: 0xe301bb69
+ name: "snd_cwnd_stamp"
+ type_id: 0xc9082b19
+ offset: 15104
+}
+member {
+ id: 0x9e51f1aa
+ name: "snd_cwnd_used"
+ type_id: 0xc9082b19
+ offset: 15072
+}
+member {
id: 0xc2ae7a6f
name: "snd_interval_us"
type_id: 0xc9082b19
offset: 256
}
member {
+ id: 0x24e972c0
+ name: "snd_nxt"
+ type_id: 0xc9082b19
+ offset: 12576
+}
+member {
id: 0x05fda169
name: "snd_portid"
type_id: 0xc9082b19
@@ -175333,12 +178718,55 @@ member {
type_id: 0xc9082b19
}
member {
+ id: 0x9c800493
+ name: "snd_sml"
+ type_id: 0xc9082b19
+ offset: 12864
+}
+member {
+ id: 0xcf588653
+ name: "snd_ssthresh"
+ type_id: 0xc9082b19
+ offset: 14944
+}
+member {
+ id: 0x8248546f
+ name: "snd_una"
+ type_id: 0xc9082b19
+ offset: 12832
+}
+member {
+ id: 0x611d6152
+ name: "snd_up"
+ type_id: 0xc9082b19
+ offset: 14720
+}
+member {
id: 0xac63a41d
name: "snd_win"
type_id: 0x914dbfdc
offset: 7808
}
member {
+ id: 0x1f8008f5
+ name: "snd_wl1"
+ type_id: 0xc9082b19
+ offset: 13312
+}
+member {
+ id: 0xb8d73d0d
+ name: "snd_wnd"
+ type_id: 0xc9082b19
+ offset: 13344
+}
+member {
+ id: 0xa597551f
+ name: "snd_wscale"
+ type_id: 0x914dbfdc
+ offset: 136
+ bitsize: 4
+}
+member {
id: 0xb368ac36
name: "sndbit"
type_id: 0xa562355d
@@ -175357,6 +178785,13 @@ member {
offset: 576
}
member {
+ id: 0xc40b184c
+ name: "sndflow"
+ type_id: 0xe8034002
+ offset: 561
+ bitsize: 1
+}
+member {
id: 0x8f0cab7f
name: "sniff_max_interval"
type_id: 0xe8034002
@@ -175446,6 +178881,12 @@ member {
offset: 5888
}
member {
+ id: 0x094f9496
+ name: "sockaddr_len"
+ type_id: 0x914dbfdc
+ offset: 416
+}
+member {
id: 0x4f73c01d
name: "socket_pressure"
type_id: 0x33756485
@@ -175486,12 +178927,6 @@ member {
type_id: 0xedf277ba
}
member {
- id: 0x275ed516
- name: "soft_limit"
- type_id: 0xc9082b19
- offset: 96
-}
-member {
id: 0x27a4adf4
name: "soft_limit"
type_id: 0x33756485
@@ -175682,12 +179117,6 @@ member {
offset: 96
}
member {
- id: 0xd707c4f8
- name: "source"
- type_id: 0x295c7202
- offset: 672
-}
-member {
id: 0xd71086bc
name: "source"
type_id: 0x3e10b518
@@ -175811,6 +179240,11 @@ member {
offset: 64
}
member {
+ id: 0x589235ff
+ name: "space"
+ type_id: 0xc9082b19
+}
+member {
id: 0x4b5ea168
name: "space_available"
type_id: 0x2dace37d
@@ -176073,15 +179507,15 @@ member {
offset: 416
}
member {
- id: 0x36ede007
- name: "spin_loop"
- type_id: 0x174a7c6e
- offset: 1920
+ id: 0x9a7d3066
+ name: "spinlock"
+ type_id: 0xf313e71a
}
member {
- id: 0x9a7d3066
+ id: 0x9a7d31f4
name: "spinlock"
type_id: 0xf313e71a
+ offset: 384
}
member {
id: 0x9a7d37a1
@@ -176096,12 +179530,6 @@ member {
offset: 64
}
member {
- id: 0xde92dea2
- name: "spis"
- type_id: 0x1a1575dd
- offset: 448
-}
-member {
id: 0xe3c602fa
name: "splen"
type_id: 0xb3e7bac9
@@ -176492,6 +179920,12 @@ member {
offset: 448
}
member {
+ id: 0x4427a46d
+ name: "src"
+ type_id: 0x11cffa09
+ offset: 384
+}
+member {
id: 0x4427ac3d
name: "src"
type_id: 0x11cffa09
@@ -176519,6 +179953,11 @@ member {
type_id: 0x6d25e07f
}
member {
+ id: 0x446cb466
+ name: "src"
+ type_id: 0x5ade635b
+}
+member {
id: 0x4475a595
name: "src"
type_id: 0x43c73e81
@@ -176639,6 +180078,12 @@ member {
offset: 16
}
member {
+ id: 0xe29869f3
+ name: "src_len"
+ type_id: 0x4585663f
+ offset: 512
+}
+member {
id: 0x031b1a4e
name: "src_maxburst"
type_id: 0xc9082b19
@@ -176729,10 +180174,29 @@ member {
offset: 416
}
member {
- id: 0x2b889279
- name: "srcu"
- type_id: 0xa46efa19
- offset: 26560
+ id: 0xaab1780b
+ name: "srcprefs"
+ type_id: 0xe8034002
+ offset: 567
+ bitsize: 3
+}
+member {
+ id: 0x0ffd3550
+ name: "srcrt"
+ type_id: 0xe8034002
+ bitsize: 1
+}
+member {
+ id: 0xcd7a45a0
+ name: "srcrt"
+ type_id: 0x12d9a766
+ offset: 256
+}
+member {
+ id: 0xcd809b0d
+ name: "srcrt"
+ type_id: 0xe8034002
+ offset: 64
}
member {
id: 0x2b8894ec
@@ -176944,6 +180408,12 @@ member {
offset: 1584
}
member {
+ id: 0xc5c8b651
+ name: "srhoff"
+ type_id: 0xe8034002
+ offset: 176
+}
+member {
id: 0x8e4ea0f1
name: "sriov"
type_id: 0x060faad6
@@ -176973,6 +180443,25 @@ member {
offset: 24
}
member {
+ id: 0x3a20fe11
+ name: "srr"
+ type_id: 0x5d8155a5
+ offset: 72
+}
+member {
+ id: 0x3feffe90
+ name: "srr_is_hit"
+ type_id: 0x5d8155a5
+ offset: 97
+ bitsize: 1
+}
+member {
+ id: 0x28d4f0ae
+ name: "srtt_us"
+ type_id: 0xc9082b19
+ offset: 14144
+}
+member {
id: 0x8c8649b8
name: "ss"
type_id: 0x0a85fcb6
@@ -177432,12 +180921,6 @@ member {
offset: 448
}
member {
- id: 0x4616bb5f
- name: "start"
- type_id: 0x0d879e14
- offset: 3072
-}
-member {
id: 0x46176449
name: "start"
type_id: 0x0c59c5c5
@@ -177461,12 +180944,6 @@ member {
offset: 192
}
member {
- id: 0x46284ff6
- name: "start"
- type_id: 0x33756485
- offset: 128
-}
-member {
id: 0x462b6471
name: "start"
type_id: 0x30572148
@@ -177608,6 +181085,18 @@ member {
offset: 128
}
member {
+ id: 0x46cb8735
+ name: "start"
+ type_id: 0xd0b3a203
+ offset: 320
+}
+member {
+ id: 0x46cb87d7
+ name: "start"
+ type_id: 0xd0b3a203
+ offset: 1728
+}
+member {
id: 0x46d23b7b
name: "start"
type_id: 0xc9082b19
@@ -177732,12 +181221,6 @@ member {
type_id: 0xe62ebf07
}
member {
- id: 0x4c6ccc95
- name: "start_level"
- type_id: 0xc9082b19
- offset: 32
-}
-member {
id: 0x4ca5b709
name: "start_level"
type_id: 0x007e8ce4
@@ -177797,6 +181280,11 @@ member {
offset: 11904
}
member {
+ id: 0x3d5d011f
+ name: "start_seq"
+ type_id: 0xc9082b19
+}
+member {
id: 0x00cda1f9
name: "start_signal_voltage_switch"
type_id: 0x2ea6d809
@@ -177859,6 +181347,12 @@ member {
offset: 2112
}
member {
+ id: 0xa3682aac
+ name: "start_time"
+ type_id: 0x33756485
+ offset: 64
+}
+member {
id: 0xa3c97b9b
name: "start_time"
type_id: 0x92233392
@@ -177991,28 +181485,16 @@ member {
type_id: 0xb02b353a
}
member {
- id: 0xb934c444
- name: "stat"
- type_id: 0x8f4af0b6
- offset: 69760
-}
-member {
id: 0xb936ff9f
name: "stat"
type_id: 0x8d724b7d
offset: 768
}
member {
- id: 0xb9403407
- name: "stat"
- type_id: 0xfbb47533
- offset: 20416
-}
-member {
- id: 0xb949874f
+ id: 0xb9498bcf
name: "stat"
type_id: 0xf2078d09
- offset: 30720
+ offset: 31104
}
member {
id: 0xb99ea4be
@@ -178287,6 +181769,12 @@ member {
offset: 7616
}
member {
+ id: 0x72b72416
+ name: "state"
+ type_id: 0x44d985d5
+ offset: 384
+}
+member {
id: 0x72c0803e
name: "state"
type_id: 0x33756485
@@ -178328,6 +181816,12 @@ member {
offset: 1664
}
member {
+ id: 0x72c08b58
+ name: "state"
+ type_id: 0x33756485
+ offset: 704
+}
+member {
id: 0x72c08d84
name: "state"
type_id: 0x33756485
@@ -178650,6 +182144,12 @@ member {
offset: 2496
}
member {
+ id: 0x46ecc05d
+ name: "state_lock"
+ type_id: 0xa7c362b0
+ offset: 448
+}
+member {
id: 0xeccd8227
name: "state_machine"
type_id: 0x3835dcc0
@@ -178922,10 +182422,10 @@ member {
offset: 896
}
member {
- id: 0xb91e0d04
+ id: 0xb91e0940
name: "stats"
type_id: 0x6b61371d
- offset: 704
+ offset: 640
}
member {
id: 0xb920e0d3
@@ -178981,12 +182481,24 @@ member {
offset: 256
}
member {
+ id: 0xb9583af1
+ name: "stats"
+ type_id: 0x2d51c138
+ offset: 2688
+}
+member {
id: 0xb95cdf4e
name: "stats"
type_id: 0x29b1eb4b
offset: 256
}
member {
+ id: 0xb95d079c
+ name: "stats"
+ type_id: 0x286f60a3
+ offset: 4032
+}
+member {
id: 0xb96dd5c1
name: "stats"
type_id: 0x18bd6530
@@ -179034,24 +182546,18 @@ member {
offset: 1664
}
member {
+ id: 0x96627cf8
+ name: "stats_aux"
+ type_id: 0xb4683157
+ offset: 256
+}
+member {
id: 0x4fb8f148
name: "stats_block_coalesce_usecs"
type_id: 0xe62ebf07
offset: 288
}
member {
- id: 0xd657a07c
- name: "stats_id"
- type_id: 0x1d61e0cf
- offset: 34384
-}
-member {
- id: 0xd657a20e
- name: "stats_id"
- type_id: 0x1d61e0cf
- offset: 76864
-}
-member {
id: 0x17c68b0c
name: "stats_lock"
type_id: 0x3654c061
@@ -179123,6 +182629,12 @@ member {
offset: 96
}
member {
+ id: 0x201cce16
+ name: "status"
+ type_id: 0x7be80061
+ offset: 384
+}
+member {
id: 0x2022a603
name: "status"
type_id: 0x4585663f
@@ -179206,11 +182718,6 @@ member {
type_id: 0x02fc92e9
}
member {
- id: 0x20688d61
- name: "status"
- type_id: 0x0faae5b1
-}
-member {
id: 0x2069471f
name: "status"
type_id: 0x0e6b837a
@@ -179276,12 +182783,6 @@ member {
offset: 2176
}
member {
- id: 0x208adc31
- name: "status"
- type_id: 0xedf277ba
- offset: 128
-}
-member {
id: 0x208f24c4
name: "status"
type_id: 0xe8034002
@@ -179305,6 +182806,12 @@ member {
offset: 64
}
member {
+ id: 0x20dd7873
+ name: "status"
+ type_id: 0xba528163
+ offset: 1088
+}
+member {
id: 0x20fcc1ce
name: "status"
type_id: 0x9be84f35
@@ -179395,23 +182902,6 @@ member {
offset: 384
}
member {
- id: 0x368deee8
- name: "std_bmap"
- type_id: 0x33756485
-}
-member {
- id: 0x17d504ad
- name: "std_hyp_bmap"
- type_id: 0x33756485
- offset: 64
-}
-member {
- id: 0x80093c04
- name: "steal"
- type_id: 0x34ed11d4
- offset: 67584
-}
-member {
id: 0x6a086ae6
name: "step"
type_id: 0xc9082b19
@@ -179517,6 +183007,12 @@ member {
offset: 1472
}
member {
+ id: 0x39865348
+ name: "sticky_pktinfo"
+ type_id: 0xe2574ab7
+ offset: 128
+}
+member {
id: 0x5922f81b
name: "stime"
type_id: 0x1f4573ef
@@ -179570,12 +183066,6 @@ member {
offset: 320
}
member {
- id: 0x6985f4f1
- name: "stop"
- type_id: 0x0d879e14
- offset: 3136
-}
-member {
id: 0x698616dc
name: "stop"
type_id: 0x0e6861a8
@@ -179700,6 +183190,12 @@ member {
type_id: 0x6720d32f
}
member {
+ id: 0x69fcaeb3
+ name: "stop"
+ type_id: 0x74d29cf1
+ offset: 1792
+}
+member {
id: 0x02ed8160
name: "stop_count"
type_id: 0x6720d32f
@@ -179803,6 +183299,11 @@ member {
offset: 192
}
member {
+ id: 0xacd44104
+ name: "store"
+ type_id: 0x0dd653d2
+}
+member {
id: 0xacd4aa03
name: "store"
type_id: 0x0d359d60
@@ -180182,6 +183683,12 @@ member {
offset: 45344
}
member {
+ id: 0x5e10ffff
+ name: "stride"
+ type_id: 0x4585663f
+ offset: 1120
+}
+member {
id: 0x5e325618
name: "stride"
type_id: 0x6720d32f
@@ -180345,17 +183852,6 @@ member {
offset: 224
}
member {
- id: 0x4add8ec8
- name: "subchannel_id"
- type_id: 0xe8034002
-}
-member {
- id: 0x34ac3a50
- name: "subchannel_nr"
- type_id: 0xe8034002
- offset: 16
-}
-member {
id: 0x2c4470df
name: "subclass_code"
type_id: 0x295c7202
@@ -180438,11 +183934,6 @@ member {
type_id: 0x33756485
}
member {
- id: 0x0ede87d4
- name: "suberror"
- type_id: 0xe62ebf07
-}
-member {
id: 0x31604159
name: "subformat"
type_id: 0x5f61296d
@@ -181046,24 +184537,17 @@ member {
offset: 32
}
member {
- id: 0x86378461
- name: "supported_cpus"
- type_id: 0x99caa0ae
- offset: 3072
-}
-member {
- id: 0x86b24cf6
- name: "supported_cpus"
- type_id: 0x1c04d361
- offset: 2368
-}
-member {
id: 0x8d29a756
name: "supported_events"
type_id: 0xb914bfab
offset: 2944
}
member {
+ id: 0x9fc14365
+ name: "supported_flash_update_params"
+ type_id: 0xc9082b19
+}
+member {
id: 0x44116555
name: "supported_hw"
type_id: 0x1bf16028
@@ -181150,6 +184634,12 @@ member {
bitsize: 1
}
member {
+ id: 0x07459e81
+ name: "supports_multi_frame"
+ type_id: 0x6d7f5ff6
+ offset: 2080
+}
+member {
id: 0x2138b2e5
name: "supports_op"
type_id: 0x3500e23a
@@ -181423,16 +184913,21 @@ member {
offset: 512
}
member {
+ id: 0x13692fb1
+ name: "suspend_lock"
+ type_id: 0xa7c362b0
+}
+member {
id: 0x86f0bc08
name: "suspend_noirq"
type_id: 0x2dd58efa
offset: 896
}
member {
- id: 0x10dab6be
+ id: 0x10dabda2
name: "suspend_notifier"
type_id: 0x449a775b
- offset: 27968
+ offset: 28352
}
member {
id: 0xe2d495b2
@@ -181465,16 +184960,16 @@ member {
offset: 9728
}
member {
- id: 0xae6111f8
+ id: 0xae6114cc
name: "suspend_state"
type_id: 0x64823955
- offset: 28192
+ offset: 28576
}
member {
- id: 0xa136b44a
+ id: 0xa136ba5d
name: "suspend_state_next"
type_id: 0x64823955
- offset: 28160
+ offset: 28544
}
member {
id: 0x5885f531
@@ -181528,16 +185023,16 @@ member {
offset: 6080
}
member {
- id: 0xff765a6f
+ id: 0xff765c39
name: "suspended"
type_id: 0x6d7f5ff6
- offset: 28232
+ offset: 248
}
member {
- id: 0xff765c39
+ id: 0xff765d59
name: "suspended"
type_id: 0x6d7f5ff6
- offset: 248
+ offset: 28616
}
member {
id: 0xe8c51b31
@@ -181605,12 +185100,6 @@ member {
offset: 8832
}
member {
- id: 0xae35f89b
- name: "svcr"
- type_id: 0x92233392
- offset: 14720
-}
-member {
id: 0x81787084
name: "svdm_version"
type_id: 0xaca841ec
@@ -181623,24 +185112,12 @@ member {
offset: 7680
}
member {
- id: 0x05e10aeb
- name: "sve_max_vl"
- type_id: 0x4585663f
- offset: 14656
-}
-member {
id: 0x2e0a3ab1
name: "sve_state"
type_id: 0x18bd6530
offset: 5376
}
member {
- id: 0x2e0a3f7d
- name: "sve_state"
- type_id: 0x18bd6530
- offset: 14592
-}
-member {
id: 0x0faf2220
name: "svid"
type_id: 0x914dbfdc
@@ -181745,6 +185222,24 @@ member {
offset: 1088
}
member {
+ id: 0x69e5d3c9
+ name: "swap_bios"
+ type_id: 0x6720d32f
+ offset: 4704
+}
+member {
+ id: 0xcec5b332
+ name: "swap_bios_lock"
+ type_id: 0xa7c362b0
+ offset: 4928
+}
+member {
+ id: 0xec6548f1
+ name: "swap_bios_semaphore"
+ type_id: 0x6e3b7d7f
+ offset: 4736
+}
+member {
id: 0xc43ef2ec
name: "swap_complete"
type_id: 0x3fcbf304
@@ -182063,6 +185558,47 @@ member {
offset: 448
}
member {
+ id: 0x590d4988
+ name: "syn_data"
+ type_id: 0x295c7202
+ offset: 13882
+ bitsize: 1
+}
+member {
+ id: 0x7d5a2639
+ name: "syn_data_acked"
+ type_id: 0x295c7202
+ offset: 13886
+ bitsize: 1
+}
+member {
+ id: 0x5e175424
+ name: "syn_fastopen"
+ type_id: 0x295c7202
+ offset: 13883
+ bitsize: 1
+}
+member {
+ id: 0x1273b273
+ name: "syn_fastopen_ch"
+ type_id: 0x295c7202
+ offset: 13885
+ bitsize: 1
+}
+member {
+ id: 0xe4473696
+ name: "syn_fastopen_exp"
+ type_id: 0x295c7202
+ offset: 13884
+ bitsize: 1
+}
+member {
+ id: 0x472be94a
+ name: "syn_recv_sock"
+ type_id: 0x120033c5
+ offset: 320
+}
+member {
id: 0x501d2a59
name: "sync"
type_id: 0xc9082b19
@@ -182115,6 +185651,12 @@ member {
offset: 400
}
member {
+ id: 0x88a8ecb4
+ name: "sync_dev_ctx"
+ type_id: 0x2c9dd50a
+ offset: 448
+}
+member {
id: 0xaa5b83a9
name: "sync_dma"
type_id: 0xe02e14d6
@@ -182366,20 +185908,10 @@ member {
offset: 256
}
member {
- id: 0x5debde6d
- name: "syncr_busy"
- type_id: 0x74d29cf1
- offset: 31776
-}
-member {
- id: 0x6f97ea5f
- name: "syndbg"
- type_id: 0x14e96be8
-}
-member {
- id: 0x545bc45d
- name: "synic"
- type_id: 0x14e96bc2
+ id: 0x77b35ac5
+ name: "synflood_warned"
+ type_id: 0xc9082b19
+ offset: 64
}
member {
id: 0x8e7c5fc5
@@ -183336,11 +186868,6 @@ member {
offset: 384
}
member {
- id: 0xb39193a3
- name: "system_event"
- type_id: 0x0f6d86be
-}
-member {
id: 0x10e96a60
name: "system_load"
type_id: 0x6720d32f
@@ -183376,6 +186903,11 @@ member {
type_id: 0x9c649622
}
member {
+ id: 0xab76db82
+ name: "t"
+ type_id: 0xc9082b19
+}
+member {
id: 0x87bba0ec
name: "t1"
type_id: 0x4585663f
@@ -183480,6 +187012,11 @@ member {
type_id: 0x28d027d4
}
member {
+ id: 0xb6c41435
+ name: "table"
+ type_id: 0x2f24a589
+}
+member {
id: 0xb6cd92ad
name: "table"
type_id: 0x26a23d9b
@@ -183506,6 +187043,18 @@ member {
offset: 672
}
member {
+ id: 0x0d77c97c
+ name: "table_devices"
+ type_id: 0xd3c80119
+ offset: 768
+}
+member {
+ id: 0x72b151f9
+ name: "table_devices_lock"
+ type_id: 0xa7c362b0
+ offset: 384
+}
+member {
id: 0x4df2d47b
name: "table_fulls"
type_id: 0x33756485
@@ -183614,6 +187163,12 @@ member {
offset: 128
}
member {
+ id: 0x0de002cb
+ name: "tag_set"
+ type_id: 0x2cc0f57b
+ offset: 3968
+}
+member {
id: 0x0de00aa5
name: "tag_set"
type_id: 0x2cc0f57b
@@ -183922,12 +187477,6 @@ member {
type_id: 0x6720d32f
}
member {
- id: 0xb3c5f85e
- name: "target"
- type_id: 0x6720d32f
- offset: 67200
-}
-member {
id: 0xb3da3bc9
name: "target"
type_id: 0x78ea2ea9
@@ -183957,6 +187506,12 @@ member {
offset: 256
}
member {
+ id: 0x6669afd1
+ name: "target_bio_nr"
+ type_id: 0x4585663f
+ offset: 32
+}
+member {
id: 0xa2d76a12
name: "target_blocked"
type_id: 0x74d29cf1
@@ -184138,21 +187693,16 @@ member {
offset: 2368
}
member {
- id: 0x096d65bb
- name: "target_vcpu"
- type_id: 0x08dcfb76
- offset: 384
-}
-member {
id: 0x16133746
name: "targets"
type_id: 0x0d107c2b
offset: 64
}
member {
- id: 0x16377fa9
+ id: 0x1623d50f
name: "targets"
- type_id: 0x295c7202
+ type_id: 0x3df0a7d3
+ offset: 1792
}
member {
id: 0x167e5754
@@ -184625,12 +188175,24 @@ member {
offset: 64
}
member {
+ id: 0x51753049
+ name: "tclass"
+ type_id: 0xb3e7bac9
+ offset: 584
+}
+member {
id: 0x51753743
name: "tclass"
type_id: 0xb3e7bac9
offset: 288
}
member {
+ id: 0x51ef8423
+ name: "tclass"
+ type_id: 0x295c7202
+ offset: 72
+}
+member {
id: 0xbb99034f
name: "tclassid"
type_id: 0xe62ebf07
@@ -184730,6 +188292,12 @@ member {
offset: 4544
}
member {
+ id: 0x5e1e9277
+ name: "tcp_clock_cache"
+ type_id: 0x92233392
+ offset: 14016
+}
+member {
id: 0x77c51ee3
name: "tcp_congestion_control"
type_id: 0x30ba0612
@@ -184759,6 +188327,12 @@ member {
offset: 64
}
member {
+ id: 0xc07533a2
+ name: "tcp_header_len"
+ type_id: 0x914dbfdc
+ offset: 12288
+}
+member {
id: 0xc0a9db63
name: "tcp_ignore_invalid_rst"
type_id: 0x295c7202
@@ -184787,6 +188361,12 @@ member {
offset: 464
}
member {
+ id: 0x0c6e4e2a
+ name: "tcp_mstamp"
+ type_id: 0x92233392
+ offset: 14080
+}
+member {
id: 0x92478c56
name: "tcp_rtx_queue"
type_id: 0xeb923a9b
@@ -184815,6 +188395,18 @@ member {
type_id: 0xd3c80119
}
member {
+ id: 0x5005e20e
+ name: "tcp_tx_delay"
+ type_id: 0xc9082b19
+ offset: 13920
+}
+member {
+ id: 0x2c472957
+ name: "tcp_wstamp_ns"
+ type_id: 0x92233392
+ offset: 13952
+}
+member {
id: 0xee1e03ec
name: "tcpc"
type_id: 0x396fe4f8
@@ -185032,18 +188624,6 @@ member {
offset: 192
}
member {
- id: 0xb6388968
- name: "teardown_mc"
- type_id: 0xce6b97ea
- offset: 64
-}
-member {
- id: 0xc6b10bc0
- name: "teardown_stage2_mc"
- type_id: 0xce6b97ea
- offset: 192
-}
-member {
id: 0x1bd6a7d2
name: "technology"
type_id: 0x4585663f
@@ -185226,6 +188806,12 @@ member {
type_id: 0x2e3696f7
}
member {
+ id: 0x8db5ea4d
+ name: "test"
+ type_id: 0x2e0b7ad3
+ offset: 256
+}
+member {
id: 0x8db6a427
name: "test"
type_id: 0x2d427ca8
@@ -185255,12 +188841,6 @@ member {
offset: 296
}
member {
- id: 0xa10fc33f
- name: "test_young"
- type_id: 0x2f50a983
- offset: 192
-}
-member {
id: 0x6ca576c7
name: "testinfo_len"
type_id: 0xe62ebf07
@@ -185378,6 +188958,23 @@ member {
offset: 12704
}
member {
+ id: 0x7cd9a358
+ name: "tgt"
+ type_id: 0x3df0a7d3
+}
+member {
+ id: 0x07611cab
+ name: "tgt_index"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
+ id: 0xc9d6516c
+ name: "tgt_value"
+ type_id: 0x18bd6530
+ offset: 64
+}
+member {
id: 0x141d2755
name: "thaw"
type_id: 0x2dd58efa
@@ -185414,6 +189011,13 @@ member {
offset: 8960
}
member {
+ id: 0xe07791d5
+ name: "thin_lto"
+ type_id: 0x295c7202
+ offset: 13868
+ bitsize: 1
+}
+member {
id: 0xca538c03
name: "think_time"
type_id: 0x4585663f
@@ -185509,6 +189113,12 @@ member {
offset: 29312
}
member {
+ id: 0xa81d1890
+ name: "thread_comm"
+ type_id: 0x3e10b518
+ offset: 704
+}
+member {
id: 0x8b87e4f0
name: "thread_flags"
type_id: 0x33756485
@@ -185521,6 +189131,12 @@ member {
offset: 256
}
member {
+ id: 0x3e886d7b
+ name: "thread_fn"
+ type_id: 0x0aee7ba0
+ offset: 256
+}
+member {
id: 0xb282a928
name: "thread_group"
type_id: 0xd3c80119
@@ -185579,6 +189195,12 @@ member {
offset: 13504
}
member {
+ id: 0x4118a1ce
+ name: "thread_should_run"
+ type_id: 0x29a8570f
+ offset: 192
+}
+member {
id: 0x90132b6a
name: "thread_sibling"
type_id: 0x1c04d361
@@ -185671,6 +189293,12 @@ member {
offset: 64
}
member {
+ id: 0x6ce0bb82
+ name: "threshold_type"
+ type_id: 0xcbcc8512
+ offset: 64
+}
+member {
id: 0x3b00e790
name: "thresholds"
type_id: 0x2f2113b1
@@ -185736,6 +189364,12 @@ member {
offset: 23232
}
member {
+ id: 0x1e282dde
+ name: "ti"
+ type_id: 0x3df0a7d3
+ offset: 128
+}
+member {
id: 0xe879699b
name: "tick"
type_id: 0x39470e64
@@ -185879,6 +189513,12 @@ member {
offset: 192
}
member {
+ id: 0x74712a8a
+ name: "time"
+ type_id: 0x92233392
+ offset: 64
+}
+member {
id: 0x74712c56
name: "time"
type_id: 0x92233392
@@ -186212,6 +189852,12 @@ member {
offset: 256
}
member {
+ id: 0x54f0f552
+ name: "timeout"
+ type_id: 0x33756485
+ offset: 64
+}
+member {
id: 0x54f0f7ca
name: "timeout"
type_id: 0x33756485
@@ -186264,6 +189910,12 @@ member {
type_id: 0x4585663f
}
member {
+ id: 0x203d8bb9
+ name: "timeout_rehash"
+ type_id: 0x914dbfdc
+ offset: 18224
+}
+member {
id: 0x39fee070
name: "timeout_set"
type_id: 0x2ef976f3
@@ -186429,12 +190081,6 @@ member {
offset: 12864
}
member {
- id: 0x0120b46e
- name: "timer_cpu"
- type_id: 0x2f1ca510
- offset: 59968
-}
-member {
id: 0xf23824cb
name: "timer_expires"
type_id: 0x33756485
@@ -186453,6 +190099,12 @@ member {
offset: 832
}
member {
+ id: 0xbd73b897
+ name: "timer_interval"
+ type_id: 0xc9082b19
+ offset: 1856
+}
+member {
id: 0x64abf1a3
name: "timer_intv"
type_id: 0x33756485
@@ -186520,11 +190172,6 @@ member {
offset: 9472
}
member {
- id: 0x30902b47
- name: "timers"
- type_id: 0x4c3e1687
-}
-member {
id: 0x5742dd35
name: "timers_active"
type_id: 0x4585663f
@@ -186647,6 +190294,12 @@ member {
type_id: 0x9699a1e3
}
member {
+ id: 0x2c593fc1
+ name: "tio"
+ type_id: 0xd16b19a7
+ offset: 640
+}
+member {
id: 0x73627a10
name: "tiocmget"
type_id: 0x2e35f909
@@ -186742,6 +190395,19 @@ member {
offset: 144
}
member {
+ id: 0x81d25425
+ name: "tlp_high_seq"
+ type_id: 0xc9082b19
+ offset: 13888
+}
+member {
+ id: 0xdab01e8a
+ name: "tlp_retrans"
+ type_id: 0x295c7202
+ offset: 13722
+ bitsize: 1
+}
+member {
id: 0x7404e298
name: "tlv"
type_id: 0x5509d7db
@@ -187052,6 +190718,12 @@ member {
offset: 512
}
member {
+ id: 0x896faa0d
+ name: "todo"
+ type_id: 0x33756485
+ offset: 1408
+}
+member {
id: 0x898f1b47
name: "todo"
type_id: 0xd3c80119
@@ -187224,6 +190896,12 @@ member {
offset: 64
}
member {
+ id: 0xf113a55a
+ name: "tos"
+ type_id: 0x007e8ce4
+ offset: 272
+}
+member {
id: 0xf13a894d
name: "tos"
type_id: 0x295c7202
@@ -187248,6 +190926,12 @@ member {
offset: 24
}
member {
+ id: 0xf1a03e73
+ name: "tos"
+ type_id: 0xb3e7bac9
+ offset: 7072
+}
+member {
id: 0xd7e12520
name: "tot_busy_t"
type_id: 0x33756485
@@ -187266,12 +190950,24 @@ member {
offset: 16
}
member {
+ id: 0x3eb7848c
+ name: "tot_len"
+ type_id: 0x6720d32f
+ offset: 32
+}
+member {
id: 0x408f26e7
name: "tot_write_bandwidth"
type_id: 0xb02b353a
offset: 704
}
member {
+ id: 0x9d16fe6e
+ name: "total"
+ type_id: 0x4585663f
+ offset: 576
+}
+member {
id: 0x9d2cc35c
name: "total"
type_id: 0x7fb8d5d6
@@ -187330,6 +191026,12 @@ member {
offset: 112
}
member {
+ id: 0xb46976b5
+ name: "total_count"
+ type_id: 0x33756485
+ offset: 64
+}
+member {
id: 0x5d3c1feb
name: "total_frames"
type_id: 0xe62ebf07
@@ -187394,6 +191096,12 @@ member {
offset: 2112
}
member {
+ id: 0x1ab0aff5
+ name: "total_retrans"
+ type_id: 0xc9082b19
+ offset: 18048
+}
+member {
id: 0x80674f84
name: "total_rx_match_ratio"
type_id: 0x33756485
@@ -187458,6 +191166,12 @@ member {
offset: 704
}
member {
+ id: 0x7248bb69
+ name: "totalpages"
+ type_id: 0x33756485
+ offset: 256
+}
+member {
id: 0x0d628d12
name: "totalram"
type_id: 0x21d43a7b
@@ -187539,11 +191253,6 @@ member {
bitsize: 1
}
member {
- id: 0x6fe88545
- name: "tpr_access"
- type_id: 0x12592f4f
-}
-member {
id: 0x14f2c5a7
name: "tq"
type_id: 0xe62ebf07
@@ -187731,11 +191440,6 @@ member {
type_id: 0x4901181a
}
member {
- id: 0x072855a4
- name: "trans_exc_code"
- type_id: 0xedf277ba
-}
-member {
id: 0x58786d8a
name: "trans_start"
type_id: 0x33756485
@@ -187978,6 +191682,12 @@ member {
type_id: 0x92233392
}
member {
+ id: 0x1b258c6d
+ name: "transmit_time"
+ type_id: 0x92233392
+ offset: 320
+}
+member {
id: 0x45be24a0
name: "transmitting"
type_id: 0x0e361c9c
@@ -187996,6 +191706,13 @@ member {
offset: 544
}
member {
+ id: 0x73793851
+ name: "transparent"
+ type_id: 0xb3e7bac9
+ offset: 7109
+ bitsize: 1
+}
+member {
id: 0x738f5598
name: "transparent"
type_id: 0x4585663f
@@ -188014,6 +191731,12 @@ member {
type_id: 0x19d71054
}
member {
+ id: 0xf2cb3293
+ name: "transport_finish"
+ type_id: 0x2dc3d72e
+ offset: 640
+}
+member {
id: 0x2a829378
name: "transport_header"
type_id: 0xe8034002
@@ -188043,6 +191766,90 @@ member {
offset: 1080
}
member {
+ id: 0x21a1a972
+ name: "trap_action_set"
+ type_id: 0x2d004a69
+ offset: 1792
+}
+member {
+ id: 0x3c859cc4
+ name: "trap_drop_counter_get"
+ type_id: 0x2d018e8d
+ offset: 2048
+}
+member {
+ id: 0x24edb8c2
+ name: "trap_fini"
+ type_id: 0x0e44c87b
+ offset: 1728
+}
+member {
+ id: 0xb252ef85
+ name: "trap_group_action_set"
+ type_id: 0x2d00157c
+ offset: 1984
+}
+member {
+ id: 0x2b3b3947
+ name: "trap_group_init"
+ type_id: 0x2d033017
+ offset: 1856
+}
+member {
+ id: 0x1877dc92
+ name: "trap_group_list"
+ type_id: 0xd3c80119
+ offset: 1664
+}
+member {
+ id: 0x3a9bd5f4
+ name: "trap_group_set"
+ type_id: 0x2d004103
+ offset: 1920
+}
+member {
+ id: 0x37b507df
+ name: "trap_init"
+ type_id: 0x2d02e4d4
+ offset: 1664
+}
+member {
+ id: 0x10281c82
+ name: "trap_list"
+ type_id: 0xd3c80119
+ offset: 1536
+}
+member {
+ id: 0x5e35aa2e
+ name: "trap_policer_counter_get"
+ type_id: 0x2d0ab1eb
+ offset: 2304
+}
+member {
+ id: 0x1ba59c6d
+ name: "trap_policer_fini"
+ type_id: 0x0e4e7ccb
+ offset: 2176
+}
+member {
+ id: 0x950fbc14
+ name: "trap_policer_init"
+ type_id: 0x2d085064
+ offset: 2112
+}
+member {
+ id: 0x9516c9d8
+ name: "trap_policer_list"
+ type_id: 0xd3c80119
+ offset: 1792
+}
+member {
+ id: 0xc8b0c1d4
+ name: "trap_policer_set"
+ type_id: 0x2d01e009
+ offset: 2240
+}
+member {
id: 0xc911730d
name: "trb_address_map"
type_id: 0x80c20070
@@ -188176,12 +191983,6 @@ member {
offset: 6656
}
member {
- id: 0x81d670ed
- name: "trfcr_el1"
- type_id: 0x92233392
- offset: 4160
-}
-member {
id: 0xd1709568
name: "tricklecharge_current_ua"
type_id: 0x6720d32f
@@ -188617,6 +192418,12 @@ member {
offset: 960
}
member {
+ id: 0x95c9b8f6
+ name: "ts"
+ type_id: 0x5d8155a5
+ offset: 88
+}
+member {
id: 0x846f423a
name: "ts_info"
type_id: 0x2d71d7a2
@@ -188629,6 +192436,20 @@ member {
offset: 192
}
member {
+ id: 0x5ffbc843
+ name: "ts_needaddr"
+ type_id: 0x5d8155a5
+ offset: 101
+ bitsize: 1
+}
+member {
+ id: 0xb15e52c6
+ name: "ts_needtime"
+ type_id: 0x5d8155a5
+ offset: 100
+ bitsize: 1
+}
+member {
id: 0x6f338061
name: "ts_real"
type_id: 0x399c459b
@@ -188640,6 +192461,17 @@ member {
offset: 1184
}
member {
+ id: 0x851fefad
+ name: "ts_recent"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
+ id: 0x8131134d
+ name: "ts_recent_stamp"
+ type_id: 0x6720d32f
+}
+member {
id: 0x0ac38887
name: "tseg1_max"
type_id: 0xe62ebf07
@@ -188735,6 +192567,24 @@ member {
offset: 18208
}
member {
+ id: 0xaf1c2858
+ name: "tsoffset"
+ type_id: 0xc9082b19
+ offset: 13024
+}
+member {
+ id: 0x3fe882fb
+ name: "tsorted_sent_queue"
+ type_id: 0xd3c80119
+ offset: 13184
+}
+member {
+ id: 0xb4b04624
+ name: "tsq_node"
+ type_id: 0xd3c80119
+ offset: 13056
+}
+member {
id: 0x7f1030b7
name: "tstamp"
type_id: 0x33756485
@@ -188770,6 +192620,13 @@ member {
offset: 1472
}
member {
+ id: 0xcd6e1313
+ name: "tstamp_ok"
+ type_id: 0x914dbfdc
+ offset: 129
+ bitsize: 1
+}
+member {
id: 0x724f5b37
name: "tstamp_type"
type_id: 0x6720d32f
@@ -188819,6 +192676,12 @@ member {
offset: 6224
}
member {
+ id: 0x8905c822
+ name: "tt_info"
+ type_id: 0x0baa70a7
+ offset: 64
+}
+member {
id: 0x8909eca8
name: "tt_info"
type_id: 0x078c7808
@@ -188881,6 +192744,12 @@ member {
offset: 48
}
member {
+ id: 0xf4da47b1
+ name: "ttl"
+ type_id: 0xb3e7bac9
+ offset: 264
+}
+member {
id: 0xf4da4d28
name: "ttl"
type_id: 0xb3e7bac9
@@ -189651,6 +193520,30 @@ member {
offset: 1200
}
member {
+ id: 0xc168d729
+ name: "tx_curr_frame_num"
+ type_id: 0xc9082b19
+ offset: 2080
+}
+member {
+ id: 0x086ff8ab
+ name: "tx_curr_frame_payload"
+ type_id: 0xc9082b19
+ offset: 2432
+}
+member {
+ id: 0x38ca06c6
+ name: "tx_curr_size"
+ type_id: 0xc9082b19
+ offset: 2176
+}
+member {
+ id: 0x5d898398
+ name: "tx_curr_skb"
+ type_id: 0x054f691a
+ offset: 1600
+}
+member {
id: 0x54a31621
name: "tx_custom_high_usecs"
type_id: 0xc9082b19
@@ -189778,6 +193671,12 @@ member {
offset: 704
}
member {
+ id: 0x34444209
+ name: "tx_flags"
+ type_id: 0x295c7202
+ offset: 256
+}
+member {
id: 0x13091341
name: "tx_frames"
type_id: 0x33756485
@@ -189843,6 +193742,12 @@ member {
offset: 13088
}
member {
+ id: 0x67023990
+ name: "tx_info"
+ type_id: 0x0baa70a7
+ offset: 128
+}
+member {
id: 0x489a6749
name: "tx_ir"
type_id: 0x2d8f671b
@@ -189892,6 +193797,18 @@ member {
offset: 13152
}
member {
+ id: 0x61a8790c
+ name: "tx_low_mem_max_cnt"
+ type_id: 0xc9082b19
+ offset: 2208
+}
+member {
+ id: 0xa94058b8
+ name: "tx_low_mem_val"
+ type_id: 0xc9082b19
+ offset: 2240
+}
+member {
id: 0xa6a7625f
name: "tx_lpi_enabled"
type_id: 0xe62ebf07
@@ -189916,6 +193833,12 @@ member {
offset: 384
}
member {
+ id: 0x6dd1b0db
+ name: "tx_max"
+ type_id: 0xc9082b19
+ offset: 2144
+}
+member {
id: 0x55810d6d
name: "tx_max_coalesced_frames"
type_id: 0xe62ebf07
@@ -189940,6 +193863,12 @@ member {
offset: 512
}
member {
+ id: 0x24dde6e5
+ name: "tx_max_datagrams"
+ type_id: 0x914dbfdc
+ offset: 2304
+}
+member {
id: 0x7992b00c
name: "tx_max_pending"
type_id: 0xe62ebf07
@@ -189981,6 +193910,12 @@ member {
type_id: 0xb3e7bac9
}
member {
+ id: 0xd6166cf3
+ name: "tx_modulus"
+ type_id: 0x914dbfdc
+ offset: 2336
+}
+member {
id: 0x962013d6
name: "tx_msg"
type_id: 0x74026623
@@ -190006,6 +193941,24 @@ member {
bitsize: 3
}
member {
+ id: 0x85dc3e67
+ name: "tx_ndp_modulus"
+ type_id: 0x914dbfdc
+ offset: 2352
+}
+member {
+ id: 0xe0d8421b
+ name: "tx_ntbs"
+ type_id: 0x92233392
+ offset: 2688
+}
+member {
+ id: 0xa8317855
+ name: "tx_overhead"
+ type_id: 0x92233392
+ offset: 2624
+}
+member {
id: 0x9206d03d
name: "tx_packets"
type_id: 0x33756485
@@ -190117,6 +194070,12 @@ member {
offset: 944
}
member {
+ id: 0x32c7bb3d
+ name: "tx_qlen"
+ type_id: 0x74d29cf1
+ offset: 576
+}
+member {
id: 0x580681a6
name: "tx_queue_len"
type_id: 0x4585663f
@@ -190129,6 +194088,54 @@ member {
offset: 11328
}
member {
+ id: 0xc1b8b7af
+ name: "tx_reason_max_datagram"
+ type_id: 0xc9082b19
+ offset: 2560
+}
+member {
+ id: 0x29c64945
+ name: "tx_reason_ndp_full"
+ type_id: 0xc9082b19
+ offset: 2496
+}
+member {
+ id: 0xaec5023b
+ name: "tx_reason_ntb_full"
+ type_id: 0xc9082b19
+ offset: 2464
+}
+member {
+ id: 0x618af26f
+ name: "tx_reason_timeout"
+ type_id: 0xc9082b19
+ offset: 2528
+}
+member {
+ id: 0x8d6eed3e
+ name: "tx_rem_sign"
+ type_id: 0x0baa70a7
+ offset: 1728
+}
+member {
+ id: 0x2d67c2b0
+ name: "tx_rem_skb"
+ type_id: 0x054f691a
+ offset: 1664
+}
+member {
+ id: 0x8c376a11
+ name: "tx_remainder"
+ type_id: 0x914dbfdc
+ offset: 2320
+}
+member {
+ id: 0xafc385cf
+ name: "tx_reqs"
+ type_id: 0xd3c80119
+ offset: 320
+}
+member {
id: 0x5f95d285
name: "tx_reserved"
type_id: 0x2b4e5af5
@@ -190186,6 +194193,12 @@ member {
offset: 6528
}
member {
+ id: 0x163cb0a1
+ name: "tx_seq"
+ type_id: 0x914dbfdc
+ offset: 2368
+}
+member {
id: 0x2862bcb8
name: "tx_sg"
type_id: 0x28d027d4
@@ -190277,6 +194290,18 @@ member {
offset: 13024
}
member {
+ id: 0xa25bc850
+ name: "tx_timer"
+ type_id: 0xcd7704bf
+ offset: 256
+}
+member {
+ id: 0xf9c0c1b7
+ name: "tx_timer_pending"
+ type_id: 0xc9082b19
+ offset: 2048
+}
+member {
id: 0x5343bc40
name: "tx_toggle"
type_id: 0x6d7f5ff6
@@ -190323,10 +194348,10 @@ member {
type_id: 0x33756485
}
member {
- id: 0xa75cec0a
+ id: 0xa75cede3
name: "tx_work"
type_id: 0x1f3c8679
- offset: 22592
+ offset: 22976
}
member {
id: 0xdebcf805
@@ -190784,6 +194809,12 @@ member {
type_id: 0x368ec5cb
}
member {
+ id: 0x5c60f365
+ name: "type"
+ type_id: 0x3622fa2a
+ offset: 64
+}
+member {
id: 0x5c61158d
name: "type"
type_id: 0x37ce2c2c
@@ -190842,6 +194873,12 @@ member {
type_id: 0x3e10b518
}
member {
+ id: 0x5c68c671
+ name: "type"
+ type_id: 0x3e10b518
+ offset: 832
+}
+member {
id: 0x5c68cd02
name: "type"
type_id: 0x3e10b518
@@ -191067,6 +195104,18 @@ member {
offset: 32
}
member {
+ id: 0x5cab8146
+ name: "type"
+ type_id: 0xfd56cb64
+ offset: 1408
+}
+member {
+ id: 0x5cab8754
+ name: "type"
+ type_id: 0xfd56cb64
+ offset: 64
+}
+member {
id: 0x5cac8829
name: "type"
type_id: 0xfa5f37bb
@@ -191126,6 +195175,11 @@ member {
offset: 64
}
member {
+ id: 0x5cbbb022
+ name: "type"
+ type_id: 0xed655c73
+}
+member {
id: 0x5cbbc962
name: "type"
type_id: 0xed1c1cd5
@@ -191212,6 +195266,12 @@ member {
offset: 128
}
member {
+ id: 0x5ce53c7a
+ name: "type"
+ type_id: 0xb3e7bac9
+ offset: 16
+}
+member {
id: 0x5ce53fde
name: "type"
type_id: 0xb3e7bac9
@@ -191287,6 +195347,12 @@ member {
bitsize: 2
}
member {
+ id: 0x7263c7bf
+ name: "type_ah"
+ type_id: 0x32b54b11
+ offset: 384
+}
+member {
id: 0x737fb73e
name: "type_attr_map_array"
type_id: 0x2b3a75d9
@@ -191330,6 +195396,12 @@ member {
offset: 480
}
member {
+ id: 0xd4787e60
+ name: "type_comp"
+ type_id: 0x32b54b11
+ offset: 320
+}
+member {
id: 0xb38ca977
name: "type_control"
type_id: 0x4585663f
@@ -191342,6 +195414,18 @@ member {
offset: 448
}
member {
+ id: 0xf2fe58e1
+ name: "type_dstopts"
+ type_id: 0x32b54b11
+ offset: 512
+}
+member {
+ id: 0xc64a2d69
+ name: "type_esp"
+ type_id: 0x32b54b11
+ offset: 128
+}
+member {
id: 0xe6df641d
name: "type_falling_val"
type_id: 0x4585663f
@@ -191393,6 +195477,18 @@ member {
bitsize: 1
}
member {
+ id: 0xec93386d
+ name: "type_ipip"
+ type_id: 0x32b54b11
+ offset: 192
+}
+member {
+ id: 0xf788152f
+ name: "type_ipip6"
+ type_id: 0x32b54b11
+ offset: 256
+}
+member {
id: 0xc29ac9a5
name: "type_iso"
type_id: 0x4585663f
@@ -191430,6 +195526,12 @@ member {
offset: 352
}
member {
+ id: 0xc5f5f87e
+ name: "type_lock"
+ type_id: 0xa7c362b0
+ offset: 1024
+}
+member {
id: 0xe2794a8c
name: "type_names"
type_id: 0x2a5ed1c1
@@ -191454,6 +195556,12 @@ member {
offset: 5952
}
member {
+ id: 0x797b9c35
+ name: "type_offload_esp"
+ type_id: 0x3f5329f7
+ offset: 64
+}
+member {
id: 0x9d444403
name: "type_ops"
type_id: 0x386f9e42
@@ -191489,6 +195597,12 @@ member {
offset: 64
}
member {
+ id: 0x34322597
+ name: "type_routing"
+ type_id: 0x32b54b11
+ offset: 448
+}
+member {
id: 0x4a3d814f
name: "type_str_buf"
type_id: 0x3db8d8c8
@@ -191548,12 +195662,36 @@ member {
offset: 192
}
member {
+ id: 0xf49ccf9e
+ name: "types"
+ type_id: 0x0e38185b
+ offset: 896
+}
+member {
id: 0xf49ecb47
name: "types"
type_id: 0x0c3286fb
offset: 64
}
member {
+ id: 0x6e3b6a83
+ name: "types_count"
+ type_id: 0x3999579d
+ offset: 192
+}
+member {
+ id: 0x6e477688
+ name: "types_count"
+ type_id: 0x4585663f
+ offset: 960
+}
+member {
+ id: 0x88117783
+ name: "types_get"
+ type_id: 0x0e0dc148
+ offset: 256
+}
+member {
id: 0x3f590b7c
name: "types_mask"
type_id: 0x914dbfdc
@@ -191641,12 +195779,6 @@ member {
type_id: 0x6905d706
}
member {
- id: 0xec1fd483
- name: "u"
- type_id: 0x608c0f38
- offset: 64
-}
-member {
id: 0xec25b730
name: "u"
type_id: 0x5aefbcda
@@ -191659,6 +195791,11 @@ member {
offset: 128
}
member {
+ id: 0xec2a9cea
+ name: "u"
+ type_id: 0x55c087bf
+}
+member {
id: 0xec2ac37d
name: "u"
type_id: 0x559f10ea
@@ -191675,12 +195812,6 @@ member {
offset: 960
}
member {
- id: 0xec3c82cc
- name: "u"
- type_id: 0x43da400a
- offset: 64
-}
-member {
id: 0xec3d71ae
name: "u"
type_id: 0x422401d6
@@ -191832,22 +195963,6 @@ member {
offset: 256
}
member {
- id: 0x1a96b10c
- name: "uaccess_its_write"
- type_id: 0x2eae2318
-}
-member {
- id: 0x8638eb22
- name: "uaccess_read"
- type_id: 0x0669d6b3
- offset: 256
-}
-member {
- id: 0x34f83972
- name: "uaccess_write"
- type_id: 0x2d62ee59
-}
-member {
id: 0x555ff25e
name: "uaddr"
type_id: 0x38d23361
@@ -191871,6 +195986,12 @@ member {
offset: 64
}
member {
+ id: 0x50ba6c8c
+ name: "uarg"
+ type_id: 0x35dbe029
+ offset: 384
+}
+member {
id: 0x6a0a74ef
name: "uart_port"
type_id: 0x00b7947f
@@ -191916,12 +196037,30 @@ member {
type_id: 0x6dad7303
}
member {
+ id: 0x1d8e0899
+ name: "uc_index"
+ type_id: 0x6720d32f
+ offset: 7136
+}
+member {
id: 0x70a44081
name: "uc_promisc"
type_id: 0x6d7f5ff6
offset: 5696
}
member {
+ id: 0x8e099fc0
+ name: "uc_ttl"
+ type_id: 0x007e8ce4
+ offset: 6944
+}
+member {
+ id: 0x95dcef8c
+ name: "ucast_oif"
+ type_id: 0x6720d32f
+ offset: 480
+}
+member {
id: 0xd2f70d3b
name: "ucd_prdt_dma_addr"
type_id: 0xe02e14d6
@@ -192274,12 +196413,30 @@ member {
offset: 448
}
member {
+ id: 0x1704d15b
+ name: "uevent_list"
+ type_id: 0xd3c80119
+ offset: 3776
+}
+member {
+ id: 0xdc003eed
+ name: "uevent_lock"
+ type_id: 0xf313e71a
+ offset: 3904
+}
+member {
id: 0x7a23f532
name: "uevent_ops"
type_id: 0x3fdb8af3
offset: 960
}
member {
+ id: 0x271c2c01
+ name: "uevent_seq"
+ type_id: 0x74d29cf1
+ offset: 3744
+}
+member {
id: 0x069b6afd
name: "uevent_sock"
type_id: 0x3462d6fc
@@ -192770,6 +196927,18 @@ member {
offset: 512
}
member {
+ id: 0x44e15491
+ name: "undo_marker"
+ type_id: 0xc9082b19
+ offset: 17920
+}
+member {
+ id: 0x7392ff81
+ name: "undo_retrans"
+ type_id: 0x6720d32f
+ offset: 17952
+}
+member {
id: 0x0645ccd5
name: "unfreeze_fs"
type_id: 0x2f9ee7ee
@@ -192788,6 +196957,12 @@ member {
offset: 1408
}
member {
+ id: 0xe6eaad3f
+ name: "uni2char"
+ type_id: 0x2d34349d
+ offset: 128
+}
+member {
id: 0xb7a98fcb
name: "uniq"
type_id: 0x3db8d8c8
@@ -193082,6 +197257,12 @@ member {
offset: 2848
}
member {
+ id: 0x6fd6cd07
+ name: "unpark"
+ type_id: 0x0aee7ba0
+ offset: 576
+}
+member {
id: 0x343d462b
name: "unpin"
type_id: 0x0d3022ff
@@ -193173,6 +197354,12 @@ member {
offset: 2816
}
member {
+ id: 0x1f617d86
+ name: "unprovision"
+ type_id: 0x2d4fcd25
+ offset: 64
+}
+member {
id: 0x8ea4f872
name: "unreg_list"
type_id: 0xd3c80119
@@ -193191,6 +197378,12 @@ member {
offset: 64
}
member {
+ id: 0xdb3467f3
+ name: "unregister_lock"
+ type_id: 0xa7c362b0
+ offset: 16640
+}
+member {
id: 0x7c187e24
name: "unregistered"
type_id: 0x0eaa77b7
@@ -193320,6 +197513,20 @@ member {
offset: 768
}
member {
+ id: 0xc2fb89b4
+ name: "unused"
+ type_id: 0x295c7202
+ offset: 145
+ bitsize: 7
+}
+member {
+ id: 0xd0fa2acf
+ name: "unused"
+ type_id: 0x295c7202
+ offset: 13723
+ bitsize: 5
+}
+member {
id: 0xd4ec9f32
name: "unused"
type_id: 0x295c7202
@@ -193351,6 +197558,18 @@ member {
offset: 11784
}
member {
+ id: 0x7f0a76c2
+ name: "unwrap"
+ type_id: 0x2e747a05
+ offset: 960
+}
+member {
+ id: 0x7f0a7bae
+ name: "unwrap"
+ type_id: 0x2e747a05
+ offset: 2176
+}
+member {
id: 0xa37704a2
name: "unx"
type_id: 0xaf070227
@@ -193405,6 +197624,12 @@ member {
offset: 128
}
member {
+ id: 0xd6aa460e
+ name: "update"
+ type_id: 0x0f596314
+ offset: 192
+}
+member {
id: 0xd6ab4b69
name: "update"
type_id: 0x0e5c6698
@@ -193790,12 +198015,24 @@ member {
bitsize: 1
}
member {
+ id: 0x6e240c8e
+ name: "urg_data"
+ type_id: 0x914dbfdc
+ offset: 14624
+}
+member {
id: 0xcd5c6021
name: "urg_ptr"
type_id: 0x7584e7da
offset: 144
}
member {
+ id: 0xf6fff0ee
+ name: "urg_seq"
+ type_id: 0xc9082b19
+ offset: 18080
+}
+member {
id: 0x3bf0a986
name: "urgent_bkops_lvl"
type_id: 0xeab68ea2
@@ -194161,6 +198398,12 @@ member {
offset: 1216
}
member {
+ id: 0xc6a4da74
+ name: "usb_offload_skip_urb"
+ type_id: 0x34104e47
+ offset: 512
+}
+member {
id: 0x171fc3a7
name: "usb_pd"
type_id: 0x4585663f
@@ -194689,18 +198932,6 @@ member {
type_id: 0x4585663f
}
member {
- id: 0x867737e5
- name: "used_lrs"
- type_id: 0x4585663f
- offset: 2144
-}
-member {
- id: 0x8677397b
- name: "used_lrs"
- type_id: 0x4585663f
- offset: 2432
-}
-member {
id: 0x59ccfd6e
name: "used_map_cnt"
type_id: 0xc9082b19
@@ -194731,12 +198962,6 @@ member {
offset: 6720
}
member {
- id: 0x0170d376
- name: "used_mask"
- type_id: 0xb914bfab
- offset: 2048
-}
-member {
id: 0xcd075131
name: "used_sems"
type_id: 0x6720d32f
@@ -194897,6 +199122,12 @@ member {
offset: 9856
}
member {
+ id: 0xc4835a3d
+ name: "user_mss"
+ type_id: 0x914dbfdc
+ offset: 160
+}
+member {
id: 0xf44982ea
name: "user_name"
type_id: 0x5adf57ae
@@ -195131,10 +199362,10 @@ member {
offset: 960
}
member {
- id: 0x85e876e9
+ id: 0x85d92902
name: "users"
- type_id: 0x4585663f
- offset: 384
+ type_id: 0x74d29cf1
+ offset: 96
}
member {
id: 0x85e87d65
@@ -195143,12 +199374,6 @@ member {
offset: 4544
}
member {
- id: 0x914f88a3
- name: "users_count"
- type_id: 0xa722c13e
- offset: 24576
-}
-member {
id: 0xbb6c91c3
name: "usersize"
type_id: 0x4585663f
@@ -195179,12 +199404,6 @@ member {
offset: 8960
}
member {
- id: 0xff77b3c7
- name: "userspace_pid"
- type_id: 0x49b889e7
- offset: 34240
-}
-member {
id: 0x959b553f
name: "uses_need_wakeup"
type_id: 0x6d7f5ff6
@@ -195426,10 +199645,10 @@ member {
offset: 896
}
member {
- id: 0x4dcd3d5e
+ id: 0x4dcd3a37
name: "uuids"
type_id: 0xd3c80119
- offset: 29184
+ offset: 29568
}
member {
id: 0xba94773b
@@ -195494,6 +199713,12 @@ member {
type_id: 0xe62ebf07
}
member {
+ id: 0x28f6afd5
+ name: "v"
+ type_id: 0xc9082b19
+ offset: 32
+}
+member {
id: 0x543f6773
name: "v1"
type_id: 0x6d0d4c04
@@ -195504,12 +199729,6 @@ member {
type_id: 0xe10a7e38
}
member {
- id: 0x76466478
- name: "v2_groups_user_writable"
- type_id: 0x6d7f5ff6
- offset: 96
-}
-member {
id: 0x195445f8
name: "v4"
type_id: 0x45ddde21
@@ -195544,6 +199763,11 @@ member {
type_id: 0x7c866968
}
member {
+ id: 0x78e33cfc
+ name: "v6_rcv_saddr"
+ type_id: 0x6d25e07f
+}
+member {
id: 0x80b1cd58
name: "v_1p2"
type_id: 0x6d7f5ff6
@@ -195655,6 +199879,11 @@ member {
type_id: 0x75617428
}
member {
+ id: 0x4f647aa3
+ name: "val"
+ type_id: 0x729479be
+}
+member {
id: 0x4f67c989
name: "val"
type_id: 0x712753fa
@@ -195839,12 +200068,6 @@ member {
offset: 448
}
member {
- id: 0x7e5c1bb6
- name: "valid_wakeup"
- type_id: 0x6d7f5ff6
- offset: 1312
-}
-member {
id: 0x2a0a55ed
name: "validate"
type_id: 0x369da151
@@ -195973,6 +200196,12 @@ member {
offset: 64
}
member {
+ id: 0xa010e540
+ name: "value"
+ type_id: 0x18bd6530
+ offset: 64
+}
+member {
id: 0xa010e863
name: "value"
type_id: 0x18bd6530
@@ -196104,6 +200333,12 @@ member {
type_id: 0xdd6eef0a
}
member {
+ id: 0x9bef952d
+ name: "value_len"
+ type_id: 0xf435685e
+ offset: 128
+}
+member {
id: 0x0e144f7f
name: "value_offset"
type_id: 0x6720d32f
@@ -196378,6 +200613,12 @@ member {
bitsize: 1
}
member {
+ id: 0xdf3f679f
+ name: "vbus_work"
+ type_id: 0x1f3c8679
+ offset: 7616
+}
+member {
id: 0xf6f15b5e
name: "vbv_buffer_size"
type_id: 0xe62ebf07
@@ -196430,47 +200671,6 @@ member {
offset: 192
}
member {
- id: 0xa936a2d5
- name: "vcpu"
- type_id: 0x08dcfb76
-}
-member {
- id: 0xa936a512
- name: "vcpu"
- type_id: 0x08dcfb76
- offset: 320
-}
-member {
- id: 0xcd6e2d79
- name: "vcpu_array"
- type_id: 0x80c20070
- offset: 18176
-}
-member {
- id: 0xf58a324e
- name: "vcpu_debug_state"
- type_id: 0x590c6dd8
- offset: 15488
-}
-member {
- id: 0x7c4a52b5
- name: "vcpu_id"
- type_id: 0x6720d32f
- offset: 288
-}
-member {
- id: 0x7c4a5fae
- name: "vcpu_id"
- type_id: 0x6720d32f
- offset: 128
-}
-member {
- id: 0xbcb323c9
- name: "vcpu_idx"
- type_id: 0x6720d32f
- offset: 320
-}
-member {
id: 0x522a42f5
name: "vd"
type_id: 0xd97383e4
@@ -196608,11 +200808,6 @@ member {
offset: 640
}
member {
- id: 0x831d3c48
- name: "vector"
- type_id: 0xb3e7bac9
-}
-member {
id: 0x8367d3d9
name: "vector"
type_id: 0xc9082b19
@@ -196686,6 +200881,12 @@ member {
type_id: 0xa745d9ba
}
member {
+ id: 0x19d3d4c2
+ name: "vendor_cleanup"
+ type_id: 0x0f9e7cc3
+ offset: 64
+}
+member {
id: 0xb9270675
name: "vendor_cmds"
type_id: 0x3131917d
@@ -196710,12 +200911,6 @@ member {
offset: 11008
}
member {
- id: 0xba785216
- name: "vendor_hyp_bmap"
- type_id: 0x33756485
- offset: 128
-}
-member {
id: 0x0b0b87f3
name: "vendor_id"
type_id: 0x42201dce
@@ -196739,6 +200934,11 @@ member {
offset: 2816
}
member {
+ id: 0xcc0a44cd
+ name: "vendor_init"
+ type_id: 0x2cd8506c
+}
+member {
id: 0xc240aa08
name: "vendor_load"
type_id: 0x2c815a87
@@ -196757,6 +200957,11 @@ member {
offset: 6336
}
member {
+ id: 0x7d2869d8
+ name: "vendor_ops"
+ type_id: 0x2e19617e
+}
+member {
id: 0xfd44cde8
name: "vendor_oui"
type_id: 0x1cd62a6b
@@ -196827,6 +201032,12 @@ member {
offset: 1216
}
member {
+ id: 0xf584ce40
+ name: "verify"
+ type_id: 0x2cd8a9c9
+ offset: 64
+}
+member {
id: 0xf586d6a4
name: "verify"
type_id: 0x2ec36b1e
@@ -196934,6 +201145,12 @@ member {
offset: 128
}
member {
+ id: 0xa662981f
+ name: "version"
+ type_id: 0x03a4acbb
+ offset: 192
+}
+member {
id: 0xa66a9aeb
name: "version"
type_id: 0x0baa70a7
@@ -197038,6 +201255,18 @@ member {
type_id: 0x914dbfdc
}
member {
+ id: 0x8e9e82fd
+ name: "version_cb"
+ type_id: 0x0d1f55de
+ offset: 64
+}
+member {
+ id: 0xca2aa534
+ name: "version_cb_priv"
+ type_id: 0x18bd6530
+ offset: 128
+}
+member {
id: 0x88d1b3ba
name: "version_get"
type_id: 0x2e083ab8
@@ -197155,97 +201384,6 @@ member {
offset: 1024
}
member {
- id: 0xf510916c
- name: "vgic"
- type_id: 0x2c25c966
- offset: 384
-}
-member {
- id: 0xaa37d774
- name: "vgic_ap0r"
- type_id: 0xbe0f19dc
- offset: 96
-}
-member {
- id: 0x47207a3e
- name: "vgic_ap1r"
- type_id: 0xbe0f19dc
- offset: 224
-}
-member {
- id: 0xc9dbb39f
- name: "vgic_apr"
- type_id: 0xc9082b19
- offset: 64
-}
-member {
- id: 0x76772152
- name: "vgic_cpu"
- type_id: 0xe46534dd
- offset: 27968
-}
-member {
- id: 0x082c701d
- name: "vgic_cpu_base"
- type_id: 0x1b4ba19a
-}
-member {
- id: 0xc573cedf
- name: "vgic_dist_base"
- type_id: 0x1b4ba19a
- offset: 192
-}
-member {
- id: 0x4a8c149d
- name: "vgic_hcr"
- type_id: 0xc9082b19
-}
-member {
- id: 0x0f936dd3
- name: "vgic_its_base"
- type_id: 0x1b4ba19a
-}
-member {
- id: 0xa73178a4
- name: "vgic_lr"
- type_id: 0x01e90d51
- offset: 96
-}
-member {
- id: 0xa75822b6
- name: "vgic_lr"
- type_id: 0x68bb0e75
- offset: 384
-}
-member {
- id: 0xe66fe569
- name: "vgic_model"
- type_id: 0xc9082b19
- offset: 32
-}
-member {
- id: 0x28fa73a3
- name: "vgic_sre"
- type_id: 0xc9082b19
- offset: 64
-}
-member {
- id: 0xd491835d
- name: "vgic_v2"
- type_id: 0x020c6b41
-}
-member {
- id: 0x166fabb0
- name: "vgic_v3"
- type_id: 0xbfc414f5
-}
-member {
- id: 0x38bbfe42
- name: "vgic_vmcr"
- type_id: 0xc9082b19
- offset: 32
-}
-member {
id: 0x4e9808a4
name: "vht_cap"
type_id: 0x8667cdb7
@@ -198045,6 +202183,11 @@ member {
offset: 96
}
member {
+ id: 0xde7997b9
+ name: "virt"
+ type_id: 0x14e40ca3
+}
+member {
id: 0xc21c7538
name: "virt_base"
type_id: 0x18bd6530
@@ -198086,12 +202229,6 @@ member {
offset: 448
}
member {
- id: 0x40e6d42e
- name: "virt_to_phys"
- type_id: 0x0b71f929
- offset: 448
-}
-member {
id: 0x47f05b51
name: "virtmem"
type_id: 0xedf277ba
@@ -198264,36 +202401,12 @@ member {
offset: 16
}
member {
- id: 0xd2927ea1
- name: "vlpi_count"
- type_id: 0x7e71c857
- offset: 480
-}
-member {
- id: 0xd298d587
- name: "vlpi_count"
- type_id: 0x74d29cf1
- offset: 128
-}
-member {
id: 0x182c3eca
name: "vm_addr_space_mm"
type_id: 0x8f0e76d7
offset: 64
}
member {
- id: 0x3046b926
- name: "vm_bugged"
- type_id: 0x6d7f5ff6
- offset: 34368
-}
-member {
- id: 0x82dad882
- name: "vm_dead"
- type_id: 0x6d7f5ff6
- offset: 34376
-}
-member {
id: 0xc16704da
name: "vm_end"
type_id: 0x33756485
@@ -198317,12 +202430,6 @@ member {
type_id: 0xd2d7132a
}
member {
- id: 0x5d9a7aad
- name: "vm_list"
- type_id: 0xd3c80119
- offset: 18816
-}
-member {
id: 0x155d76e4
name: "vm_lock"
type_id: 0x334f6bdc
@@ -198352,12 +202459,6 @@ member {
offset: 64
}
member {
- id: 0xd652df47
- name: "vm_node"
- type_id: 0xd3c80119
- offset: 192
-}
-member {
id: 0x5a0cf049
name: "vm_node_stat_diff"
type_id: 0xda50e95d
@@ -198439,6 +202540,12 @@ member {
offset: 1280
}
member {
+ id: 0x239192da
+ name: "vma"
+ type_id: 0x0a134144
+ offset: 192
+}
+member {
id: 0x23919a13
name: "vma"
type_id: 0x0a134144
@@ -198522,12 +202629,6 @@ member {
offset: 4032
}
member {
- id: 0x87ea4d5c
- name: "vmapp_count"
- type_id: 0x74d29cf1
- offset: 512
-}
-member {
id: 0x7a9a7619
name: "vmapping_counter"
type_id: 0x4585663f
@@ -198540,11 +202641,6 @@ member {
offset: 832
}
member {
- id: 0x69149bd4
- name: "vmid"
- type_id: 0x0c039fcc
-}
-member {
id: 0x69834c4a
name: "vmid"
type_id: 0x9bd401b6
@@ -198722,64 +202818,24 @@ member {
offset: 2560
}
member {
- id: 0x3e9547ca
- name: "vpe_db_lpi"
- type_id: 0x22b36393
- offset: 192
-}
-member {
- id: 0x1b58edc6
- name: "vpe_id"
- type_id: 0x914dbfdc
- offset: 944
-}
-member {
id: 0x891a8488
name: "vpe_l1_base"
type_id: 0x18bd6530
offset: 384
}
member {
- id: 0xa8c6574f
- name: "vpe_lock"
- type_id: 0xc8b17aa7
- offset: 896
-}
-member {
- id: 0x715799b8
- name: "vpe_proxy_event"
- type_id: 0x6720d32f
-}
-member {
id: 0x1a9ae5dc
name: "vpe_table_mask"
type_id: 0x0d910d7f
offset: 320
}
member {
- id: 0xade8e87b
- name: "vpes"
- type_id: 0x09af8dc9
- offset: 192
-}
-member {
- id: 0x18a69b62
- name: "vprop_page"
- type_id: 0x06835e9c
- offset: 128
-}
-member {
id: 0x991cc136
name: "vps"
type_id: 0x3dbcdeab
offset: 1344
}
member {
- id: 0xdca92f00
- name: "vpt_page"
- type_id: 0x06835e9c
-}
-member {
id: 0xc5916613
name: "vqmmc"
type_id: 0x01ae1e33
@@ -198899,12 +202955,6 @@ member {
offset: 1344
}
member {
- id: 0xf681ca11
- name: "vsesr_el2"
- type_id: 0x92233392
- offset: 67328
-}
-member {
id: 0x8d8f1051
name: "vsk"
type_id: 0x156a41de
@@ -198994,12 +203044,6 @@ member {
offset: 64
}
member {
- id: 0x8b881e3c
- name: "vtcr"
- type_id: 0x92233392
- offset: 320
-}
-member {
id: 0xc821afee
name: "vtermno"
type_id: 0x1c3dbe5a
@@ -199058,6 +203102,17 @@ member {
offset: 32
}
member {
+ id: 0xdd4cd36f
+ name: "wDatagramIndex"
+ type_id: 0x9bd401b6
+}
+member {
+ id: 0x3643720a
+ name: "wDatagramLength"
+ type_id: 0x9bd401b6
+ offset: 16
+}
+member {
id: 0x3b766446
name: "wFunctionalitySupport"
type_id: 0x9bd401b6
@@ -199076,6 +203131,17 @@ member {
offset: 48
}
member {
+ id: 0x070c8108
+ name: "wLength"
+ type_id: 0x9bd401b6
+ offset: 32
+}
+member {
+ id: 0x070c8c33
+ name: "wLength"
+ type_id: 0x9bd401b6
+}
+member {
id: 0xb75b254f
name: "wMTU"
type_id: 0x9bd401b6
@@ -199112,18 +203178,78 @@ member {
offset: 64
}
member {
+ id: 0x2726a674
+ name: "wNdpInAlignment"
+ type_id: 0x9bd401b6
+ offset: 96
+}
+member {
+ id: 0x8464bb02
+ name: "wNdpInDivisor"
+ type_id: 0x9bd401b6
+ offset: 64
+}
+member {
+ id: 0x2c655b0e
+ name: "wNdpInPayloadRemainder"
+ type_id: 0x9bd401b6
+ offset: 80
+}
+member {
+ id: 0x13c51648
+ name: "wNdpOutAlignment"
+ type_id: 0x9bd401b6
+ offset: 192
+}
+member {
+ id: 0x5a711378
+ name: "wNdpOutDivisor"
+ type_id: 0x9bd401b6
+ offset: 160
+}
+member {
+ id: 0xcf666fe6
+ name: "wNdpOutPayloadRemainder"
+ type_id: 0x9bd401b6
+ offset: 176
+}
+member {
+ id: 0x28625ee1
+ name: "wNextNdpIndex"
+ type_id: 0x9bd401b6
+ offset: 48
+}
+member {
+ id: 0x364cd8ff
+ name: "wNtbOutMaxDatagrams"
+ type_id: 0x9bd401b6
+ offset: 208
+}
+member {
id: 0xd6499e1b
name: "wNumberMCFilters"
type_id: 0x9bd401b6
offset: 80
}
member {
+ id: 0x0550cff2
+ name: "wPadding1"
+ type_id: 0x9bd401b6
+ offset: 112
+}
+member {
id: 0x84d40eb1
name: "wReserved"
type_id: 0x9bd401b6
offset: 80
}
member {
+ id: 0xe3bc934c
+ name: "wReserved6"
+ type_id: 0x9bd401b6
+ offset: 48
+}
+member {
id: 0xeffe0b79
name: "wReseved"
type_id: 0x9bd401b6
@@ -199178,6 +203304,12 @@ member {
offset: 192
}
member {
+ id: 0x201ba432
+ name: "wait"
+ type_id: 0x35a67227
+ offset: 64
+}
+member {
id: 0x201ba81a
name: "wait"
type_id: 0x35a67227
@@ -199220,6 +203352,12 @@ member {
offset: 7488
}
member {
+ id: 0x202d9516
+ name: "wait"
+ type_id: 0x03913382
+ offset: 1984
+}
+member {
id: 0x202d9556
name: "wait"
type_id: 0x03913382
@@ -199273,12 +203411,6 @@ member {
offset: 128
}
member {
- id: 0x20f5a5f4
- name: "wait"
- type_id: 0xdba44af3
- offset: 1024
-}
-member {
id: 0x9c8dc12c
name: "wait_blkd_tasks"
type_id: 0x6d7f5ff6
@@ -199549,16 +203681,16 @@ member {
offset: 576
}
member {
- id: 0x58a1bb2e
+ id: 0x58a1ba40
name: "wake_addr"
type_id: 0xa61911b2
- offset: 28248
+ offset: 28632
}
member {
- id: 0x4505aa58
+ id: 0x4505a488
name: "wake_addr_type"
type_id: 0x295c7202
- offset: 28296
+ offset: 28680
}
member {
id: 0x4d54241b
@@ -199664,10 +203796,10 @@ member {
offset: 18816
}
member {
- id: 0x15af785f
+ id: 0x15af76a2
name: "wake_reason"
type_id: 0x295c7202
- offset: 28240
+ offset: 28624
}
member {
id: 0x692e11ef
@@ -199706,10 +203838,10 @@ member {
offset: 320
}
member {
- id: 0xff0b382d
+ id: 0xff0b3458
name: "wakeup"
type_id: 0x34e51224
- offset: 50816
+ offset: 51200
}
member {
id: 0xff0caf01
@@ -200181,18 +204313,6 @@ member {
offset: 22080
}
member {
- id: 0x33be0c85
- name: "wfe_exit_stat"
- type_id: 0x92233392
- offset: 6720
-}
-member {
- id: 0xff2da133
- name: "wfi_exit_stat"
- type_id: 0x92233392
- offset: 6784
-}
-member {
id: 0x149f4f99
name: "wheel_accumulated"
type_id: 0x007e8ce4
@@ -200481,6 +204601,12 @@ member {
offset: 64
}
member {
+ id: 0x98ad753d
+ name: "window_clamp"
+ type_id: 0xc9082b19
+ offset: 13440
+}
+member {
id: 0x1afab587
name: "window_len"
type_id: 0x4585663f
@@ -200644,6 +204770,12 @@ member {
offset: 928
}
member {
+ id: 0xd60840ef
+ name: "work"
+ type_id: 0xf1159c31
+ offset: 2112
+}
+member {
id: 0xd60848d4
name: "work"
type_id: 0xf1159c31
@@ -200730,6 +204862,12 @@ member {
type_id: 0x3835dcc0
}
member {
+ id: 0xd6e660a8
+ name: "work"
+ type_id: 0x1f3c8679
+ offset: 1024
+}
+member {
id: 0xd6e661ca
name: "work"
type_id: 0x1f3c8679
@@ -200748,6 +204886,12 @@ member {
offset: 2176
}
member {
+ id: 0xd6e6623f
+ name: "work"
+ type_id: 0x1f3c8679
+ offset: 2432
+}
+member {
id: 0xd6e66356
name: "work"
type_id: 0x1f3c8679
@@ -201202,6 +205346,12 @@ member {
offset: 1152
}
member {
+ id: 0x22fae506
+ name: "wq"
+ type_id: 0x13f8b706
+ offset: 2368
+}
+member {
id: 0x22fae76b
name: "wq"
type_id: 0x13f8b706
@@ -201291,6 +205441,18 @@ member {
offset: 576
}
member {
+ id: 0xb361ca71
+ name: "wrap"
+ type_id: 0x13323bbb
+ offset: 896
+}
+member {
+ id: 0xb361ce95
+ name: "wrap"
+ type_id: 0x13323bbb
+ offset: 2112
+}
+member {
id: 0x48aef34d
name: "wrap_around"
type_id: 0xe62ebf07
@@ -201387,11 +205549,6 @@ member {
offset: 384
}
member {
- id: 0x340ef030
- name: "write"
- type_id: 0x0e24c2f6
-}
-member {
id: 0x3421983a
name: "write"
type_id: 0x21450ae9
@@ -201428,12 +205585,6 @@ member {
offset: 1728
}
member {
- id: 0x342da96c
- name: "write"
- type_id: 0x2d797f87
- offset: 64
-}
-member {
id: 0x342db9a0
name: "write"
type_id: 0x2d69b3f9
@@ -201566,6 +205717,12 @@ member {
offset: 2048
}
member {
+ id: 0x6cd173ed
+ name: "write_callback"
+ type_id: 0x0c33de94
+ offset: 1024
+}
+member {
id: 0xf2bc2b47
name: "write_char"
type_id: 0xedf277ba
@@ -201590,12 +205747,6 @@ member {
offset: 7488
}
member {
- id: 0x5f710844
- name: "write_counter"
- type_id: 0x0ff8ee0d
- offset: 3008
-}
-member {
id: 0x074a81fd
name: "write_dbi"
type_id: 0x0d714d5c
@@ -201619,6 +205770,18 @@ member {
offset: 384
}
member {
+ id: 0xdc734cb7
+ name: "write_end"
+ type_id: 0x4585663f
+ offset: 928
+}
+member {
+ id: 0x6d2dbcdf
+ name: "write_error"
+ type_id: 0x7be80061
+ offset: 600
+}
+member {
id: 0x2d1f9b2d
name: "write_event_config"
type_id: 0x2c45ed77
@@ -201715,18 +205878,18 @@ member {
offset: 192
}
member {
+ id: 0x32aed56a
+ name: "write_list"
+ type_id: 0xd3c80119
+ offset: 1024
+}
+member {
id: 0x3b7c6234
name: "write_lock"
type_id: 0xa7c362b0
offset: 7744
}
member {
- id: 0x365e3956
- name: "write_mask"
- type_id: 0x33756485
- offset: 128
-}
-member {
id: 0x54db64f6
name: "write_merkle_tree_block"
type_id: 0x2c7820c5
@@ -201831,12 +205994,24 @@ member {
offset: 1536
}
member {
+ id: 0xd5cb059f
+ name: "write_seq"
+ type_id: 0xc9082b19
+ offset: 15584
+}
+member {
id: 0x0a06727e
name: "write_stamp"
type_id: 0x7ca48629
offset: 1856
}
member {
+ id: 0xb4ed2fb3
+ name: "write_start"
+ type_id: 0x4585663f
+ offset: 896
+}
+member {
id: 0x8b22f978
name: "write_started"
type_id: 0x6720d32f
@@ -202104,6 +206279,13 @@ member {
offset: 48
}
member {
+ id: 0xf0ca4be8
+ name: "wscale_ok"
+ type_id: 0x914dbfdc
+ offset: 131
+ bitsize: 1
+}
+member {
id: 0x8986dade
name: "wspecversion"
type_id: 0x914dbfdc
@@ -202285,6 +206467,11 @@ member {
offset: 1472
}
member {
+ id: 0x2d4312a7
+ name: "xa"
+ type_id: 0x2aa0b9bb
+}
+member {
id: 0x2de9701e
name: "xa"
type_id: 0x80c20070
@@ -202302,6 +206489,12 @@ member {
offset: 1216
}
member {
+ id: 0x4487c243
+ name: "xa_alloc"
+ type_id: 0x3da0560e
+ offset: 256
+}
+member {
id: 0x8c0b8c3b
name: "xa_flags"
type_id: 0xf1a6dfed
@@ -202314,11 +206507,59 @@ member {
offset: 64
}
member {
+ id: 0x443272df
+ name: "xa_index"
+ type_id: 0x33756485
+ offset: 64
+}
+member {
id: 0x310049ee
name: "xa_lock"
type_id: 0xf313e71a
}
member {
+ id: 0x13932b74
+ name: "xa_lru"
+ type_id: 0x3dfac2ad
+ offset: 384
+}
+member {
+ id: 0xa6e487bd
+ name: "xa_node"
+ type_id: 0x3da0560e
+ offset: 192
+}
+member {
+ id: 0xade1378e
+ name: "xa_offset"
+ type_id: 0x5d8155a5
+ offset: 144
+}
+member {
+ id: 0xb6a1c909
+ name: "xa_pad"
+ type_id: 0x5d8155a5
+ offset: 152
+}
+member {
+ id: 0xfbb0a625
+ name: "xa_shift"
+ type_id: 0x5d8155a5
+ offset: 128
+}
+member {
+ id: 0xb55e6ff0
+ name: "xa_sibs"
+ type_id: 0x5d8155a5
+ offset: 136
+}
+member {
+ id: 0x1ec9237c
+ name: "xa_update"
+ type_id: 0xa7efd65a
+ offset: 320
+}
+member {
id: 0xdbe05ee6
name: "xacterrs"
type_id: 0x295c7202
@@ -202421,11 +206662,6 @@ member {
offset: 19584
}
member {
- id: 0xd9690496
- name: "xen"
- type_id: 0x56bbf50a
-}
-member {
id: 0x768fe3f7
name: "xfer_completion"
type_id: 0x3fcbf304
@@ -203061,6 +207297,12 @@ member {
offset: 160
}
member {
+ id: 0x2baf73ff
+ name: "young"
+ type_id: 0x74d29cf1
+ offset: 128
+}
+member {
id: 0x05f8b7b6
name: "ypanstep"
type_id: 0xe8034002
@@ -203103,17 +207345,6 @@ member {
offset: 5440
}
member {
- id: 0xe15e2cfc
- name: "zalloc_page"
- type_id: 0x1ebe4388
-}
-member {
- id: 0x511e5f54
- name: "zalloc_pages_exact"
- type_id: 0x1076c35e
- offset: 64
-}
-member {
id: 0x8aa8a43b
name: "zc"
type_id: 0x6d7f5ff6
@@ -203145,6 +207376,12 @@ member {
offset: 328
}
member {
+ id: 0xf36870ee
+ name: "zlp"
+ type_id: 0x6d7f5ff6
+ offset: 1472
+}
+member {
id: 0x8134c684
name: "zombie"
type_id: 0x6d7f5ff6
@@ -203174,6 +207411,12 @@ member {
offset: 64
}
member {
+ id: 0x7e8b2a1f
+ name: "zone_idx"
+ type_id: 0x4585663f
+ offset: 256
+}
+member {
id: 0x7ea98be0
name: "zone_idx"
type_id: 0x6720d32f
@@ -203204,6 +207447,11 @@ member {
offset: 864
}
member {
+ id: 0x15c9fb88
+ name: "zonelist"
+ type_id: 0x1e85f467
+}
+member {
id: 0xc2f31ff3
name: "zpos"
type_id: 0x4585663f
@@ -203229,6 +207477,12 @@ member {
offset: 16448
}
member {
+ id: 0x2137fd7f
+ name: "zwp_offset"
+ type_id: 0x1bf16028
+ offset: 10304
+}
+member {
id: 0x6006a5e2
name: "zx_wakeup_clear_needed"
type_id: 0x4585663f
@@ -203248,14 +207502,6 @@ struct_union {
}
}
struct_union {
- id: 0x00b57da4
- kind: STRUCT
- definition {
- bytesize: 8
- member_id: 0x6364e5fc
- }
-}
-struct_union {
id: 0x00bf9506
kind: STRUCT
definition {
@@ -203265,15 +207511,6 @@ struct_union {
}
}
struct_union {
- id: 0x00e0bdde
- kind: STRUCT
- definition {
- bytesize: 8
- member_id: 0x6245278e
- member_id: 0x76c39912
- }
-}
-struct_union {
id: 0x01122cba
kind: STRUCT
definition {
@@ -203372,18 +207609,6 @@ struct_union {
}
}
struct_union {
- id: 0x033c2bb8
- kind: STRUCT
- definition {
- bytesize: 72
- member_id: 0x6dda6e7d
- member_id: 0x9ba00ef7
- member_id: 0x73fbf68d
- member_id: 0x07c20efd
- member_id: 0x4b34b9aa
- }
-}
-struct_union {
id: 0x0366c345
kind: STRUCT
definition {
@@ -203413,17 +207638,6 @@ struct_union {
}
}
struct_union {
- id: 0x03d32356
- kind: STRUCT
- definition {
- bytesize: 72
- member_id: 0x6e4d805e
- member_id: 0xb049594d
- member_id: 0x57b79a32
- member_id: 0x87ea4d5c
- }
-}
-struct_union {
id: 0x0416665f
kind: STRUCT
definition {
@@ -203435,15 +207649,6 @@ struct_union {
}
}
struct_union {
- id: 0x042d9ee3
- kind: STRUCT
- definition {
- bytesize: 8
- member_id: 0x715799b8
- member_id: 0x50f15a4b
- }
-}
-struct_union {
id: 0x048fc360
kind: STRUCT
definition {
@@ -203453,16 +207658,6 @@ struct_union {
}
}
struct_union {
- id: 0x04935a3e
- kind: STRUCT
- definition {
- bytesize: 32
- member_id: 0x73fbf26c
- member_id: 0x07c203de
- member_id: 0x4bf9b0b2
- }
-}
-struct_union {
id: 0x04cbe228
kind: STRUCT
definition {
@@ -203682,18 +207877,6 @@ struct_union {
}
}
struct_union {
- id: 0x079bc2f5
- kind: STRUCT
- definition {
- bytesize: 24
- member_id: 0x7fb53355
- member_id: 0x6b90bd2c
- member_id: 0xbbfcbfdf
- member_id: 0xaddf2f83
- member_id: 0xff7fdfd9
- }
-}
-struct_union {
id: 0x07ba491c
kind: STRUCT
definition {
@@ -203757,6 +207940,15 @@ struct_union {
}
}
struct_union {
+ id: 0x0904167f
+ kind: STRUCT
+ definition {
+ bytesize: 8
+ member_id: 0x45320605
+ member_id: 0x934c941a
+ }
+}
+struct_union {
id: 0x0922f100
kind: STRUCT
definition {
@@ -203906,19 +208098,6 @@ struct_union {
}
}
struct_union {
- id: 0x0ad62715
- kind: STRUCT
- definition {
- bytesize: 20
- member_id: 0x4add8ec8
- member_id: 0x34ac3a50
- member_id: 0xadd5b431
- member_id: 0x1dac28b0
- member_id: 0x73d7e0dc
- member_id: 0x8a59e26d
- }
-}
-struct_union {
id: 0x0b00a1fe
kind: STRUCT
definition {
@@ -204224,6 +208403,16 @@ struct_union {
}
}
struct_union {
+ id: 0x0e7661fa
+ kind: STRUCT
+ definition {
+ bytesize: 16
+ member_id: 0x589235ff
+ member_id: 0xfad50a5a
+ member_id: 0x74712a8a
+ }
+}
+struct_union {
id: 0x0eac683f
kind: STRUCT
definition {
@@ -204246,17 +208435,6 @@ struct_union {
}
}
struct_union {
- id: 0x0f0b7249
- kind: STRUCT
- definition {
- bytesize: 32
- member_id: 0x5d7bf520
- member_id: 0xe719c8c0
- member_id: 0x365e3956
- member_id: 0xff72a66c
- }
-}
-struct_union {
id: 0x0f29d6cf
kind: STRUCT
definition {
@@ -204319,16 +208497,6 @@ struct_union {
}
}
struct_union {
- id: 0x0f6d86be
- kind: STRUCT
- definition {
- bytesize: 136
- member_id: 0x5cb0fbc1
- member_id: 0xb7cbdc47
- member_id: 0x398b7926
- }
-}
-struct_union {
id: 0x0f6e64b7
kind: STRUCT
definition {
@@ -204366,15 +208534,6 @@ struct_union {
}
}
struct_union {
- id: 0x102e0991
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0x215cae19
- member_id: 0x559b32a7
- }
-}
-struct_union {
id: 0x105131fa
kind: STRUCT
definition {
@@ -204473,19 +208632,6 @@ struct_union {
}
}
struct_union {
- id: 0x114efe06
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0x24c02d11
- member_id: 0x4a120f63
- member_id: 0xd4d047b1
- member_id: 0xb86505a9
- member_id: 0xebeb17cb
- member_id: 0xaf6f4ac0
- }
-}
-struct_union {
id: 0x1162939f
kind: STRUCT
definition {
@@ -204513,16 +208659,6 @@ struct_union {
}
}
struct_union {
- id: 0x12592f4f
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0x28cf1121
- member_id: 0x1ad44087
- member_id: 0x6b32a680
- }
-}
-struct_union {
id: 0x125b2ca2
kind: STRUCT
definition {
@@ -204540,14 +208676,6 @@ struct_union {
}
}
struct_union {
- id: 0x129d9eba
- kind: STRUCT
- definition {
- bytesize: 256
- member_id: 0x2bc76984
- }
-}
-struct_union {
id: 0x12af4722
kind: STRUCT
definition {
@@ -204587,17 +208715,6 @@ struct_union {
}
}
struct_union {
- id: 0x13064264
- kind: STRUCT
- definition {
- bytesize: 88
- member_id: 0x2d1fec85
- member_id: 0xb75a0aec
- member_id: 0xacf78dbd
- member_id: 0x85260d3d
- }
-}
-struct_union {
id: 0x130b9b47
kind: STRUCT
definition {
@@ -204609,14 +208726,6 @@ struct_union {
}
}
struct_union {
- id: 0x130fee63
- kind: STRUCT
- definition {
- bytesize: 4
- member_id: 0x2d8eaae1
- }
-}
-struct_union {
id: 0x13110934
kind: STRUCT
definition {
@@ -204662,6 +208771,14 @@ struct_union {
}
}
struct_union {
+ id: 0x132e4197
+ kind: STRUCT
+ definition {
+ bytesize: 8
+ member_id: 0x2d081532
+ }
+}
+struct_union {
id: 0x132f610b
kind: STRUCT
definition {
@@ -204746,6 +208863,16 @@ struct_union {
}
}
struct_union {
+ id: 0x13c65297
+ kind: STRUCT
+ definition {
+ bytesize: 16
+ member_id: 0x2e52f84a
+ member_id: 0xfad50a5a
+ member_id: 0x74712a8a
+ }
+}
+struct_union {
id: 0x14096380
kind: STRUCT
definition {
@@ -204861,29 +208988,21 @@ struct_union {
}
}
struct_union {
- id: 0x14e96bc2
+ id: 0x14ca5b0f
kind: STRUCT
definition {
- bytesize: 32
- member_id: 0x32ae90fe
- member_id: 0xbad0c2a3
- member_id: 0xfcd19375
- member_id: 0x89066d93
- member_id: 0x67f93f00
+ bytesize: 16
+ member_id: 0x320350ff
+ member_id: 0x9b2fad41
}
}
struct_union {
- id: 0x14e96be8
+ id: 0x14e40ca3
kind: STRUCT
definition {
- bytesize: 48
- member_id: 0x32ae90fe
- member_id: 0xbad0c2a3
- member_id: 0xfcd19375
- member_id: 0x208adc31
- member_id: 0xc2c18445
- member_id: 0x32fffef6
- member_id: 0x09b42908
+ bytesize: 16
+ member_id: 0x32051484
+ member_id: 0x243566e2
}
}
struct_union {
@@ -205000,15 +209119,6 @@ struct_union {
}
}
struct_union {
- id: 0x174a7c6e
- kind: STRUCT
- definition {
- bytesize: 2
- member_id: 0x3c4c15e8
- member_id: 0xd4f73d44
- }
-}
-struct_union {
id: 0x1764a0c5
kind: STRUCT
definition {
@@ -205075,14 +209185,6 @@ struct_union {
}
}
struct_union {
- id: 0x197ee30b
- kind: STRUCT
- definition {
- bytesize: 4
- member_id: 0x044a9f42
- }
-}
-struct_union {
id: 0x1983785b
kind: STRUCT
definition {
@@ -205092,15 +209194,6 @@ struct_union {
}
}
struct_union {
- id: 0x19910c85
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0x072855a4
- member_id: 0xdd74def2
- }
-}
-struct_union {
id: 0x19bb23ae
kind: STRUCT
definition {
@@ -205264,33 +209357,34 @@ struct_union {
}
}
struct_union {
- id: 0x1b966255
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0x0f1d715c
- member_id: 0xf5eb6708
- }
-}
-struct_union {
- id: 0x1bf61cb5
+ id: 0x1b949b56
kind: STRUCT
definition {
- bytesize: 32
- member_id: 0x0ede87d4
- member_id: 0xb7cbdc47
- member_id: 0x2d8572c8
- member_id: 0x34a3e933
+ bytesize: 2
+ member_id: 0x0ffd3550
+ member_id: 0x1e410881
+ member_id: 0x0ab41655
+ member_id: 0xdb4e2124
+ member_id: 0x27542d26
+ member_id: 0xba676c19
+ member_id: 0xede7771d
+ member_id: 0xba0eaaec
+ member_id: 0xcc7711fa
+ member_id: 0x4f7607b0
+ member_id: 0xf63d13ec
+ member_id: 0xd94d5094
+ member_id: 0x1f5f2358
+ member_id: 0xb7565f87
+ member_id: 0xf5e277a0
}
}
struct_union {
- id: 0x1bf62820
+ id: 0x1b966255
kind: STRUCT
definition {
- bytesize: 136
- member_id: 0x0ede87d4
- member_id: 0xb7cbdc47
- member_id: 0xffe56fd2
+ bytesize: 16
+ member_id: 0x0f1d715c
+ member_id: 0xf5eb6708
}
}
struct_union {
@@ -205322,16 +209416,6 @@ struct_union {
}
}
struct_union {
- id: 0x1c51bab0
- kind: STRUCT
- definition {
- bytesize: 3
- member_id: 0x10cd0767
- member_id: 0x3a2d355a
- member_id: 0xd3ff70d7
- }
-}
-struct_union {
id: 0x1cac6f1f
kind: STRUCT
definition {
@@ -205672,16 +209756,6 @@ struct_union {
}
}
struct_union {
- id: 0x24232993
- kind: STRUCT
- definition {
- bytesize: 12
- member_id: 0xf1c2dba4
- member_id: 0xff7407e8
- member_id: 0x1a818982
- }
-}
-struct_union {
id: 0x244bebad
kind: STRUCT
definition {
@@ -205712,6 +209786,18 @@ struct_union {
}
}
struct_union {
+ id: 0x249bcdf3
+ kind: STRUCT
+ definition {
+ bytesize: 16
+ member_id: 0xf32eb68b
+ member_id: 0xf0e605cb
+ member_id: 0x745418c4
+ member_id: 0x7a56a000
+ member_id: 0x60865bc2
+ }
+}
+struct_union {
id: 0x2548e662
kind: STRUCT
definition {
@@ -205721,6 +209807,22 @@ struct_union {
}
}
struct_union {
+ id: 0x260445a5
+ kind: STRUCT
+ definition {
+ bytesize: 24
+ member_id: 0xf97ca310
+ member_id: 0xdcf7e916
+ member_id: 0x517ebeed
+ member_id: 0x7fdde492
+ member_id: 0x168605e8
+ member_id: 0x54f0f552
+ member_id: 0x9d3fc94e
+ member_id: 0x4c233807
+ member_id: 0xa514bd9b
+ }
+}
+struct_union {
id: 0x2612bf2a
kind: STRUCT
definition {
@@ -206018,28 +210120,6 @@ struct_union {
}
}
struct_union {
- id: 0x2c2be6c7
- kind: STRUCT
- definition {
- bytesize: 88
- member_id: 0xd14fc76e
- member_id: 0x517bb4e8
- member_id: 0x34abfc7a
- }
-}
-struct_union {
- id: 0x2c32891d
- kind: STRUCT
- definition {
- bytesize: 72
- member_id: 0xd14fc76e
- member_id: 0x34a16385
- member_id: 0x517bb77e
- member_id: 0x6dda6565
- member_id: 0x6b32a1dc
- }
-}
-struct_union {
id: 0x2c5bdc0e
kind: STRUCT
definition {
@@ -206127,15 +210207,6 @@ struct_union {
}
}
struct_union {
- id: 0x2d873b56
- kind: STRUCT
- definition {
- bytesize: 8
- member_id: 0xd7400399
- member_id: 0xedfdadd3
- }
-}
-struct_union {
id: 0x2d9765d2
kind: STRUCT
definition {
@@ -206298,18 +210369,6 @@ struct_union {
}
}
struct_union {
- id: 0x3050ef8f
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0xa02b28d6
- member_id: 0xd9cdf02e
- member_id: 0x48131453
- member_id: 0x65c37c40
- member_id: 0x97a5dcff
- }
-}
-struct_union {
id: 0x30572148
kind: STRUCT
definition {
@@ -206328,15 +210387,6 @@ struct_union {
}
}
struct_union {
- id: 0x315223c4
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0xa4a87cc7
- member_id: 0x51e0ba6b
- }
-}
-struct_union {
id: 0x31c1859a
kind: STRUCT
definition {
@@ -206346,16 +210396,6 @@ struct_union {
}
}
struct_union {
- id: 0x31f9c69b
- kind: STRUCT
- definition {
- bytesize: 8
- member_id: 0xa6e46395
- member_id: 0xb21940c8
- member_id: 0x73d7e464
- }
-}
-struct_union {
id: 0x31fe95e7
kind: STRUCT
definition {
@@ -206503,21 +210543,21 @@ struct_union {
}
}
struct_union {
- id: 0x34ed11d4
+ id: 0x3508486b
kind: STRUCT
definition {
- bytesize: 16
- member_id: 0xb280959d
- member_id: 0x85c1a1cb
+ bytesize: 8
+ member_id: 0xb51f3c67
+ member_id: 0x8f0ea6b7
}
}
struct_union {
- id: 0x3508486b
+ id: 0x3514d59f
kind: STRUCT
definition {
- bytesize: 8
- member_id: 0xb51f3c67
- member_id: 0x8f0ea6b7
+ bytesize: 512
+ member_id: 0xb56701d9
+ member_id: 0x8544c9f4
}
}
struct_union {
@@ -206582,14 +210622,6 @@ struct_union {
}
}
struct_union {
- id: 0x366bef7d
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0xb81eae99
- }
-}
-struct_union {
id: 0x36acbefb
kind: STRUCT
definition {
@@ -206617,17 +210649,6 @@ struct_union {
}
}
struct_union {
- id: 0x373a3dac
- kind: STRUCT
- definition {
- bytesize: 24
- member_id: 0xbda607c1
- member_id: 0xff5ae7eb
- member_id: 0xb8e3f22b
- member_id: 0x1a818083
- }
-}
-struct_union {
id: 0x375126bc
kind: STRUCT
definition {
@@ -206648,17 +210669,6 @@ struct_union {
}
}
struct_union {
- id: 0x378b9399
- kind: STRUCT
- definition {
- bytesize: 80
- member_id: 0xbf324d0a
- member_id: 0xad24c471
- member_id: 0x3496cf62
- member_id: 0x51f63d7f
- }
-}
-struct_union {
id: 0x37f08244
kind: STRUCT
definition {
@@ -206685,13 +210695,12 @@ struct_union {
}
}
struct_union {
- id: 0x385d66bc
+ id: 0x3857842d
kind: STRUCT
definition {
- bytesize: 528
- member_id: 0x80627a33
- member_id: 0xa6727baa
- member_id: 0x81d670ed
+ bytesize: 16
+ member_id: 0x80a3e3d3
+ member_id: 0x4ce00bb0
}
}
struct_union {
@@ -206727,14 +210736,6 @@ struct_union {
}
}
struct_union {
- id: 0x38ab0bc9
- kind: STRUCT
- definition {
- bytesize: 1
- member_id: 0x831d3c48
- }
-}
-struct_union {
id: 0x38df449f
kind: STRUCT
definition {
@@ -206849,15 +210850,6 @@ struct_union {
}
}
struct_union {
- id: 0x3a9c9162
- kind: STRUCT
- definition {
- bytesize: 16
- member_id: 0x8b19911e
- member_id: 0xdac7f876
- }
-}
-struct_union {
id: 0x3aa6e17c
kind: STRUCT
definition {
@@ -206911,6 +210903,14 @@ struct_union {
}
}
struct_union {
+ id: 0x3b85198b
+ kind: STRUCT
+ definition {
+ bytesize: 64
+ member_id: 0x8fa57542
+ }
+}
+struct_union {
id: 0x3bf747f0
kind: STRUCT
definition {
@@ -207112,6 +211112,15 @@ struct_union {
}
}
struct_union {
+ id: 0x3fbb6cee
+ kind: STRUCT
+ definition {
+ bytesize: 4
+ member_id: 0x9f6503ee
+ member_id: 0x39a33a5e
+ }
+}
+struct_union {
id: 0x3fbd06d5
kind: STRUCT
definition {
@@ -207320,16 +211329,6 @@ struct_union {
}
}
struct_union {
- id: 0x43da400a
- kind: UNION
- definition {
- bytesize: 48
- member_id: 0x545bc45d
- member_id: 0xd9dce494
- member_id: 0x6f97ea5f
- }
-}
-struct_union {
id: 0x444ac848
kind: UNION
definition {
@@ -207376,15 +211375,6 @@ struct_union {
}
}
struct_union {
- id: 0x44cf9d95
- kind: UNION
- definition {
- bytesize: 8
- member_id: 0x485b3652
- member_id: 0x8e370213
- }
-}
-struct_union {
id: 0x44e0bbd2
kind: UNION
definition {
@@ -207527,6 +211517,15 @@ struct_union {
}
}
struct_union {
+ id: 0x48c28092
+ kind: UNION
+ definition {
+ bytesize: 16
+ member_id: 0x78e33cfc
+ member_id: 0x0249b0df
+ }
+}
+struct_union {
id: 0x48fb1ff5
kind: UNION
definition {
@@ -207593,6 +211592,16 @@ struct_union {
}
}
struct_union {
+ id: 0x49b90a29
+ kind: UNION
+ definition {
+ bytesize: 8
+ member_id: 0x7d2869d8
+ member_id: 0x27000c61
+ member_id: 0x36752b74
+ }
+}
+struct_union {
id: 0x49df90a7
kind: UNION
definition {
@@ -207699,12 +211708,12 @@ struct_union {
}
}
struct_union {
- id: 0x4c287de0
+ id: 0x4bdbd862
kind: UNION
definition {
- bytesize: 4
- member_id: 0x6b32af03
- member_id: 0x782f8731
+ bytesize: 8
+ member_id: 0x749120ed
+ member_id: 0x1536626c
}
}
struct_union {
@@ -207863,6 +211872,15 @@ struct_union {
}
}
struct_union {
+ id: 0x4f02e8cc
+ kind: UNION
+ definition {
+ bytesize: 512
+ member_id: 0x67c7a307
+ member_id: 0x2777335c
+ }
+}
+struct_union {
id: 0x4f03a6ae
kind: UNION
definition {
@@ -207899,6 +211917,16 @@ struct_union {
}
}
struct_union {
+ id: 0x4fbdc803
+ kind: UNION
+ definition {
+ bytesize: 8
+ member_id: 0x653b6170
+ member_id: 0x27000c61
+ member_id: 0x36752b74
+ }
+}
+struct_union {
id: 0x4fd8e877
kind: UNION
definition {
@@ -207983,15 +212011,6 @@ struct_union {
}
}
struct_union {
- id: 0x50fafc25
- kind: UNION
- definition {
- bytesize: 40
- member_id: 0x18b48436
- member_id: 0xb403a636
- }
-}
-struct_union {
id: 0x51d7edf0
kind: UNION
definition {
@@ -208047,15 +212066,6 @@ struct_union {
}
}
struct_union {
- id: 0x537a3f0f
- kind: UNION
- definition {
- bytesize: 4
- member_id: 0x16377fa9
- member_id: 0x34f49183
- }
-}
-struct_union {
id: 0x53b5414d
kind: UNION
definition {
@@ -208134,15 +212144,6 @@ struct_union {
}
}
struct_union {
- id: 0x54c04e96
- kind: UNION
- definition {
- bytesize: 16
- member_id: 0x082c701d
- member_id: 0xc63d4176
- }
-}
-struct_union {
id: 0x5509d7db
kind: UNION
definition {
@@ -208227,6 +212228,16 @@ struct_union {
}
}
struct_union {
+ id: 0x55c087bf
+ kind: UNION
+ definition {
+ bytesize: 24
+ member_id: 0x0ca7cb72
+ member_id: 0x4e824c05
+ member_id: 0x20c5e9f7
+ }
+}
+struct_union {
id: 0x56037e9c
kind: UNION
definition {
@@ -208335,15 +212346,6 @@ struct_union {
}
}
struct_union {
- id: 0x5a6b6efc
- kind: UNION
- definition {
- bytesize: 8
- member_id: 0x325a63f3
- member_id: 0x1caf0749
- }
-}
-struct_union {
id: 0x5a8e8177
kind: UNION
definition {
@@ -208368,6 +212370,15 @@ struct_union {
}
}
struct_union {
+ id: 0x5ade635b
+ kind: UNION
+ definition {
+ bytesize: 16
+ member_id: 0x304c83ff
+ member_id: 0xde7997b9
+ }
+}
+struct_union {
id: 0x5ae4b375
kind: UNION
definition {
@@ -208428,24 +212439,6 @@ struct_union {
}
}
struct_union {
- id: 0x5bc27631
- kind: UNION
- definition {
- bytesize: 8
- member_id: 0x34f83972
- member_id: 0x1a96b10c
- }
-}
-struct_union {
- id: 0x5bdb70e0
- kind: UNION
- definition {
- bytesize: 8
- member_id: 0x340ef030
- member_id: 0x8844b6fd
- }
-}
-struct_union {
id: 0x5c3ef0a3
kind: UNION
definition {
@@ -208563,14 +212556,6 @@ struct_union {
}
}
struct_union {
- id: 0x5da1f3d6
- kind: UNION
- definition {
- bytesize: 16
- member_id: 0x2d6cb85c
- }
-}
-struct_union {
id: 0x5dafba4f
kind: UNION
definition {
@@ -208644,15 +212629,6 @@ struct_union {
}
}
struct_union {
- id: 0x5e422cfb
- kind: UNION
- definition {
- bytesize: 72
- member_id: 0x22c0fbbc
- member_id: 0x233f54d1
- }
-}
-struct_union {
id: 0x5e53dc24
kind: UNION
definition {
@@ -208933,14 +212909,6 @@ struct_union {
}
}
struct_union {
- id: 0x608c0f38
- kind: UNION
- definition {
- bytesize: 72
- member_id: 0xd9db4be5
- }
-}
-struct_union {
id: 0x60a4ff34
kind: UNION
definition {
@@ -209086,6 +213054,15 @@ struct_union {
}
}
struct_union {
+ id: 0x6312fd2f
+ kind: UNION
+ definition {
+ bytesize: 2
+ member_id: 0xd74e0402
+ member_id: 0xee87ba00
+ }
+}
+struct_union {
id: 0x6366329e
kind: UNION
definition {
@@ -209104,15 +213081,6 @@ struct_union {
}
}
struct_union {
- id: 0x63db26fc
- kind: UNION
- definition {
- bytesize: 312
- member_id: 0xd491835d
- member_id: 0x166fabb0
- }
-}
-struct_union {
id: 0x63db5ef9
kind: UNION
definition {
@@ -209259,6 +213227,15 @@ struct_union {
}
}
struct_union {
+ id: 0x67c0081f
+ kind: UNION
+ definition {
+ bytesize: 8
+ member_id: 0xc43f5f8d
+ member_id: 0xd408f584
+ }
+}
+struct_union {
id: 0x67d43857
kind: UNION
definition {
@@ -209277,6 +213254,15 @@ struct_union {
}
}
struct_union {
+ id: 0x6875099c
+ kind: UNION
+ definition {
+ bytesize: 16
+ member_id: 0xfa946861
+ member_id: 0xab39140b
+ }
+}
+struct_union {
id: 0x6888b6e5
kind: UNION
definition {
@@ -209295,14 +213281,6 @@ struct_union {
}
}
struct_union {
- id: 0x6903870d
- kind: UNION
- definition {
- bytesize: 128
- member_id: 0xffe56b33
- }
-}
-struct_union {
id: 0x6905d706
kind: UNION
definition {
@@ -209612,15 +213590,6 @@ struct_union {
}
}
struct_union {
- id: 0x7097e100
- kind: UNION
- definition {
- bytesize: 4
- member_id: 0x99949b8a
- member_id: 0x20688d61
- }
-}
-struct_union {
id: 0x70e783e8
kind: UNION
definition {
@@ -209785,42 +213754,6 @@ struct_union {
}
}
struct_union {
- id: 0x7317df8a
- kind: UNION
- definition {
- bytesize: 256
- member_id: 0x97c7b08c
- member_id: 0x73029e0c
- member_id: 0xbba39a9a
- member_id: 0x9d5b90f8
- member_id: 0x07307794
- member_id: 0x4779a89b
- member_id: 0x32e7dee3
- member_id: 0x6fe88545
- member_id: 0x2b1b8ef2
- member_id: 0x3fd31627
- member_id: 0xd9d85a91
- member_id: 0xc747f834
- member_id: 0xcf651311
- member_id: 0x3ba0211e
- member_id: 0x35649aee
- member_id: 0xae5a4181
- member_id: 0x66d41c47
- member_id: 0x04b5cf1e
- member_id: 0xb39193a3
- member_id: 0x5fd2e3fb
- member_id: 0xa2d43869
- member_id: 0x8a1c8492
- member_id: 0xdabb1c55
- member_id: 0x324f2583
- member_id: 0xd9690496
- member_id: 0x112a2e09
- member_id: 0xb09d2ffa
- member_id: 0x56e50a84
- member_id: 0x6491fbda
- }
-}
-struct_union {
id: 0x734252fe
kind: UNION
definition {
@@ -210095,15 +214028,6 @@ struct_union {
}
}
struct_union {
- id: 0x76df8305
- kind: UNION
- definition {
- bytesize: 2048
- member_id: 0x80f111bb
- member_id: 0x646aaa85
- }
-}
-struct_union {
id: 0x7745c8ef
kind: UNION
definition {
@@ -210354,6 +214278,15 @@ struct_union {
}
}
struct_union {
+ id: 0x7d1c3635
+ kind: UNION
+ definition {
+ bytesize: 8
+ member_id: 0xafbad944
+ member_id: 0x217694f6
+ }
+}
+struct_union {
id: 0x7d93a8c7
kind: UNION
definition {
@@ -210961,16 +214894,6 @@ struct_union {
}
}
struct_union {
- id: 0x656e53f1
- kind: STRUCT
- name: "_kvm_stats_desc"
- definition {
- bytesize: 64
- member_id: 0x87807fd8
- member_id: 0x0dc6047f
- }
-}
-struct_union {
id: 0x459e900e
kind: STRUCT
name: "ack_sample"
@@ -211163,6 +215086,39 @@ struct_union {
}
}
struct_union {
+ id: 0x6fbaf148
+ kind: STRUCT
+ name: "akcipher_alg"
+ definition {
+ bytesize: 512
+ member_id: 0x9063e9c1
+ member_id: 0xf584ce40
+ member_id: 0x893e9a51
+ member_id: 0x70fa6b40
+ member_id: 0xfd2d3002
+ member_id: 0x4117392b
+ member_id: 0xcfd59103
+ member_id: 0x1ac7a60f
+ member_id: 0x0d2e2ebd
+ member_id: 0xa9e8c522
+ member_id: 0x85f3d282
+ }
+}
+struct_union {
+ id: 0x606acffd
+ kind: STRUCT
+ name: "akcipher_request"
+ definition {
+ bytesize: 128
+ member_id: 0x85e1e383
+ member_id: 0x4427a46d
+ member_id: 0xbbe061af
+ member_id: 0xe29869f3
+ member_id: 0x352c27f4
+ member_id: 0x75906a36
+ }
+}
+struct_union {
id: 0x91212402
kind: STRUCT
name: "alarm"
@@ -211407,31 +215363,6 @@ struct_union {
}
}
struct_union {
- id: 0x825d5993
- kind: STRUCT
- name: "arch_timer_context"
- definition {
- bytesize: 104
- member_id: 0xa936a2d5
- member_id: 0x99abc34e
- member_id: 0x8a1ddc22
- member_id: 0xbcb6da5b
- member_id: 0xd7232081
- member_id: 0x0b3a6d95
- }
-}
-struct_union {
- id: 0x2f1ca510
- kind: STRUCT
- name: "arch_timer_cpu"
- definition {
- bytesize: 288
- member_id: 0x30902b47
- member_id: 0xd0847011
- member_id: 0x3a2d374f
- }
-}
-struct_union {
id: 0x82e932a0
kind: STRUCT
name: "arch_timer_erratum_workaround"
@@ -211466,42 +215397,6 @@ struct_union {
}
}
struct_union {
- id: 0xe62c1341
- kind: STRUCT
- name: "arm_pmu"
- definition {
- bytesize: 560
- member_id: 0x93ce5218
- member_id: 0x86b24cf6
- member_id: 0x0ddfea33
- member_id: 0xd81b71f1
- member_id: 0x72a25545
- member_id: 0x98e86c88
- member_id: 0x0d828e0a
- member_id: 0x09fd4226
- member_id: 0x2d61ef43
- member_id: 0x3cc9ff38
- member_id: 0x2635ef55
- member_id: 0x5f710844
- member_id: 0x4616bb5f
- member_id: 0x6985f4f1
- member_id: 0x62b29c82
- member_id: 0x308dee6b
- member_id: 0x033b7284
- member_id: 0xaeede60f
- member_id: 0xa39136f0
- member_id: 0xca44b141
- member_id: 0x28894114
- member_id: 0x1a1fd0a0
- member_id: 0x2d3aa998
- member_id: 0x0f3ca933
- member_id: 0x502de800
- member_id: 0xf8037d37
- member_id: 0xddab36b7
- member_id: 0x1cafacfd
- }
-}
-struct_union {
id: 0x48893aca
kind: STRUCT
name: "array_buffer"
@@ -212881,6 +216776,17 @@ struct_union {
}
}
struct_union {
+ id: 0x88ce7bb2
+ kind: STRUCT
+ name: "blk_plug_cb"
+ definition {
+ bytesize: 32
+ member_id: 0x7c00ef52
+ member_id: 0x56f376f1
+ member_id: 0xff8a91c0
+ }
+}
+struct_union {
id: 0xbb19ab6d
kind: STRUCT
name: "blk_queue_stats"
@@ -213679,6 +217585,16 @@ struct_union {
}
}
struct_union {
+ id: 0x1e9c55da
+ kind: STRUCT
+ name: "bpf_nh_params"
+ definition {
+ bytesize: 20
+ member_id: 0xd51ec347
+ member_id: 0x39d6d358
+ }
+}
+struct_union {
id: 0xb52b1ec7
kind: STRUCT
name: "bpf_offload_dev"
@@ -213895,6 +217811,22 @@ struct_union {
}
}
struct_union {
+ id: 0x212d37a1
+ kind: STRUCT
+ name: "bpf_redirect_info"
+ definition {
+ bytesize: 56
+ member_id: 0x2da18c75
+ member_id: 0x07611cab
+ member_id: 0xc9d6516c
+ member_id: 0x8df2c9e6
+ member_id: 0x86e8bd6c
+ member_id: 0x2a093f90
+ member_id: 0x632a4ba2
+ member_id: 0x713b460f
+ }
+}
+struct_union {
id: 0x3a354a67
kind: STRUCT
name: "bpf_reference_state"
@@ -214804,6 +218736,58 @@ struct_union {
}
}
struct_union {
+ id: 0x276c304c
+ kind: STRUCT
+ name: "cdc_ncm_ctx"
+ definition {
+ bytesize: 360
+ member_id: 0x11638e21
+ member_id: 0xa25bc850
+ member_id: 0x5e2b88f3
+ member_id: 0xce34257f
+ member_id: 0xaab5e3db
+ member_id: 0x12ebc87a
+ member_id: 0x605196d3
+ member_id: 0x48630da5
+ member_id: 0xfc1d642c
+ member_id: 0xffb32814
+ member_id: 0x5d898398
+ member_id: 0x2d67c2b0
+ member_id: 0x8d6eed3e
+ member_id: 0x3a21c0f4
+ member_id: 0x69fcaeb3
+ member_id: 0xbf6a10c0
+ member_id: 0xbd73b897
+ member_id: 0x90a7314a
+ member_id: 0xbc20bf07
+ member_id: 0x3a3b9c87
+ member_id: 0xf9c0c1b7
+ member_id: 0xc168d729
+ member_id: 0xa064e9a8
+ member_id: 0x6dd1b0db
+ member_id: 0x38ca06c6
+ member_id: 0x61a8790c
+ member_id: 0xa94058b8
+ member_id: 0x3a33fdde
+ member_id: 0x24dde6e5
+ member_id: 0x8c376a11
+ member_id: 0xd6166cf3
+ member_id: 0x85dc3e67
+ member_id: 0x163cb0a1
+ member_id: 0x32a32199
+ member_id: 0x7cb10669
+ member_id: 0x086ff8ab
+ member_id: 0xaec5023b
+ member_id: 0x29c64945
+ member_id: 0x618af26f
+ member_id: 0xc1b8b7af
+ member_id: 0xa8317855
+ member_id: 0xe0d8421b
+ member_id: 0xa15b4dcc
+ member_id: 0xb3ff3714
+ }
+}
+struct_union {
id: 0x5f766fc6
kind: STRUCT
name: "cdev"
@@ -215764,6 +219748,30 @@ struct_union {
}
}
struct_union {
+ id: 0xca283f54
+ kind: STRUCT
+ name: "cleancache_filekey"
+ definition {
+ bytesize: 24
+ member_id: 0xec2a9cea
+ }
+}
+struct_union {
+ id: 0xfa93b413
+ kind: STRUCT
+ name: "cleancache_ops"
+ definition {
+ bytesize: 56
+ member_id: 0xedc364a3
+ member_id: 0xcc9b87bc
+ member_id: 0xcf06c106
+ member_id: 0x68c6881b
+ member_id: 0x107f64d3
+ member_id: 0x6f43a794
+ member_id: 0x6a15223b
+ }
+}
+struct_union {
id: 0xdd7b47eb
kind: STRUCT
name: "clk"
@@ -217032,6 +221040,15 @@ struct_union {
}
}
struct_union {
+ id: 0x0f57eec7
+ kind: STRUCT
+ name: "crypto_akcipher"
+ definition {
+ bytesize: 64
+ member_id: 0x8597be7c
+ }
+}
+struct_union {
id: 0x293b162f
kind: STRUCT
name: "crypto_alg"
@@ -217069,6 +221086,15 @@ struct_union {
}
}
struct_union {
+ id: 0x37cc7810
+ kind: STRUCT
+ name: "crypto_cipher"
+ definition {
+ bytesize: 64
+ member_id: 0x8597be7c
+ }
+}
+struct_union {
id: 0x85b25628
kind: STRUCT
name: "crypto_comp"
@@ -217605,6 +221631,15 @@ struct_union {
}
}
struct_union {
+ id: 0xefa4cae6
+ kind: STRUCT
+ name: "des_ctx"
+ definition {
+ bytesize: 128
+ member_id: 0xbd3cd538
+ }
+}
+struct_union {
id: 0x2729c17d
kind: STRUCT
name: "detailed_data_monitor_range"
@@ -218079,6 +222114,54 @@ struct_union {
}
}
struct_union {
+ id: 0x95132e54
+ kind: STRUCT
+ name: "devfreq_event_data"
+ definition {
+ bytesize: 16
+ member_id: 0xd4c95c39
+ member_id: 0xb46976b5
+ }
+}
+struct_union {
+ id: 0x70919762
+ kind: STRUCT
+ name: "devfreq_event_desc"
+ definition {
+ bytesize: 32
+ member_id: 0x0de57ce8
+ member_id: 0x8daeae65
+ member_id: 0x6d52b170
+ member_id: 0xafbe6621
+ }
+}
+struct_union {
+ id: 0x12c4bf48
+ kind: STRUCT
+ name: "devfreq_event_dev"
+ definition {
+ bytesize: 992
+ member_id: 0x0fa6c6af
+ member_id: 0xce1ac88b
+ member_id: 0x2d4b3012
+ member_id: 0x7a5a9024
+ member_id: 0x87e0b654
+ }
+}
+struct_union {
+ id: 0x8fa09e85
+ kind: STRUCT
+ name: "devfreq_event_ops"
+ definition {
+ bytesize: 40
+ member_id: 0x98ca1d0f
+ member_id: 0x0da0f708
+ member_id: 0x6290b59b
+ member_id: 0x87f98767
+ member_id: 0xd77c9cbe
+ }
+}
+struct_union {
id: 0xeee59200
kind: STRUCT
name: "devfreq_governor"
@@ -218316,14 +222399,260 @@ struct_union {
}
}
struct_union {
- id: 0xbc952c91
+ id: 0x198f8565
kind: STRUCT
name: "devlink"
+ definition {
+ bytesize: 512
+ member_id: 0xadf00094
+ member_id: 0xcd6874e1
+ member_id: 0x4134711d
+ member_id: 0xe1b6bbe3
+ member_id: 0x3d9266c0
+ member_id: 0x17c3228f
+ member_id: 0xb8b3f43c
+ member_id: 0x4fd311c5
+ member_id: 0x6ac681cd
+ member_id: 0xefdb08b4
+ member_id: 0x32a55865
+ member_id: 0x10281c82
+ member_id: 0x1877dc92
+ member_id: 0x9516c9d8
+ member_id: 0x2bafedce
+ member_id: 0x66da3728
+ member_id: 0xafba248b
+ member_id: 0xc58a570e
+ member_id: 0xc24fadb5
+ member_id: 0xb9583af1
+ member_id: 0xce3bb522
+ member_id: 0x3e75936d
+ member_id: 0x2d4b3330
+ member_id: 0x5f5e621d
+ member_id: 0xf5250b55
+ member_id: 0x05243b72
+ member_id: 0x999f46a7
+ member_id: 0x95dacba7
+ member_id: 0x59c303be
+ }
+}
+struct_union {
+ id: 0x2d51c138
+ kind: STRUCT
+ name: "devlink_dev_stats"
+ definition {
+ bytesize: 48
+ member_id: 0x4492b926
+ member_id: 0xadd03a27
+ }
}
struct_union {
- id: 0x8256fc56
+ id: 0x4d3cebe1
+ kind: STRUCT
+ name: "devlink_dpipe_field"
+ definition {
+ bytesize: 24
+ member_id: 0x0de57ce8
+ member_id: 0xcc6aad16
+ member_id: 0x4a47d75f
+ member_id: 0x8b645ad4
+ }
+}
+struct_union {
+ id: 0x751480f9
+ kind: STRUCT
+ name: "devlink_dpipe_header"
+ definition {
+ bytesize: 32
+ member_id: 0x0de57ce8
+ member_id: 0xcc6aad16
+ member_id: 0x784a4b9b
+ member_id: 0x361d56de
+ member_id: 0x55f132cc
+ }
+}
+struct_union {
+ id: 0xb55e29b2
+ kind: STRUCT
+ name: "devlink_dpipe_headers"
+ definition {
+ bytesize: 16
+ member_id: 0x614c39f2
+ member_id: 0x958f08da
+ }
+}
+struct_union {
+ id: 0x8dfee289
+ kind: STRUCT
+ name: "devlink_flash_update_params"
+ definition {
+ bytesize: 24
+ member_id: 0x91e86fed
+ member_id: 0xe5d87fc5
+ member_id: 0xc099cc3c
+ }
+}
+struct_union {
+ id: 0xa5206d7a
+ kind: STRUCT
+ name: "devlink_fmsg"
+ definition {
+ bytesize: 24
+ member_id: 0x990317f0
+ member_id: 0x82e1aed1
+ }
+}
+struct_union {
+ id: 0xd5693f95
+ kind: STRUCT
+ name: "devlink_health_reporter"
+ definition {
+ bytesize: 168
+ member_id: 0x7c00ef52
+ member_id: 0x59119163
+ member_id: 0xafbb76d0
+ member_id: 0x56ace115
+ member_id: 0xeb76e483
+ member_id: 0x210293e8
+ member_id: 0x33fc8cf5
+ member_id: 0x62d28eb5
+ member_id: 0xea4e825c
+ member_id: 0x773b8f3f
+ member_id: 0x768a691a
+ member_id: 0x1e719a84
+ member_id: 0x352c4ca4
+ member_id: 0x0b6ea206
+ member_id: 0x629c6b33
+ member_id: 0x41fdc1b3
+ member_id: 0x05243d41
+ }
+}
+struct_union {
+ id: 0xdeaf8933
+ kind: STRUCT
+ name: "devlink_health_reporter_ops"
+ definition {
+ bytesize: 40
+ member_id: 0x0ddfefbb
+ member_id: 0x8a4b19d4
+ member_id: 0x0a7d4966
+ member_id: 0x30b83368
+ member_id: 0x8db5ea4d
+ }
+}
+struct_union {
+ id: 0xcea2d9d1
+ kind: STRUCT
+ name: "devlink_info_req"
+ definition {
+ bytesize: 24
+ member_id: 0xe2057d5b
+ member_id: 0x8e9e82fd
+ member_id: 0xca2aa534
+ }
+}
+struct_union {
+ id: 0x0383def3
kind: STRUCT
name: "devlink_linecard"
+ definition {
+ bytesize: 136
+ member_id: 0x7c00ef52
+ member_id: 0x56ace87c
+ member_id: 0xad7c8510
+ member_id: 0x05243818
+ member_id: 0xafb646e8
+ member_id: 0x59119f66
+ member_id: 0x72b72416
+ member_id: 0x46ecc05d
+ member_id: 0x5c68c671
+ member_id: 0xf49ccf9e
+ member_id: 0x6e477688
+ member_id: 0xe3a3de7e
+ }
+}
+struct_union {
+ id: 0x0d2a2bc0
+ kind: STRUCT
+ name: "devlink_linecard_ops"
+ definition {
+ bytesize: 40
+ member_id: 0xd3c8aa61
+ member_id: 0x1f617d86
+ member_id: 0xebfb4e21
+ member_id: 0x6e3b6a83
+ member_id: 0x88117783
+ }
+}
+struct_union {
+ id: 0x12a087f3
+ kind: STRUCT
+ name: "devlink_linecard_type"
+ definition {
+ bytesize: 16
+ member_id: 0x5c68c5cb
+ member_id: 0x59303e30
+ }
+}
+struct_union {
+ id: 0xcb5e2bb0
+ kind: STRUCT
+ name: "devlink_ops"
+ definition {
+ bytesize: 424
+ member_id: 0x9fc14365
+ member_id: 0x83cb909a
+ member_id: 0xb0509801
+ member_id: 0xf8981c0e
+ member_id: 0xa5ab7067
+ member_id: 0xf43affcb
+ member_id: 0xa22f8c42
+ member_id: 0x5f87545a
+ member_id: 0x93cb2df4
+ member_id: 0xeaf07952
+ member_id: 0x78a8c4ae
+ member_id: 0x6f535872
+ member_id: 0x001ba0a6
+ member_id: 0x07349e82
+ member_id: 0xa9d0bb48
+ member_id: 0x1197fb66
+ member_id: 0x80e35930
+ member_id: 0xde69b5bc
+ member_id: 0x67ecafb3
+ member_id: 0x06f3214d
+ member_id: 0xff091101
+ member_id: 0xf81283dc
+ member_id: 0x2d2ca64a
+ member_id: 0x0e5d040f
+ member_id: 0xe0c4d82e
+ member_id: 0x5ef8d6d5
+ member_id: 0x37b507df
+ member_id: 0x24edb8c2
+ member_id: 0x21a1a972
+ member_id: 0x2b3b3947
+ member_id: 0x3a9bd5f4
+ member_id: 0xb252ef85
+ member_id: 0x3c859cc4
+ member_id: 0x950fbc14
+ member_id: 0x1ba59c6d
+ member_id: 0xc8b0c1d4
+ member_id: 0x5e35aa2e
+ member_id: 0x2e72e7e0
+ member_id: 0x85af182d
+ member_id: 0x90793300
+ member_id: 0x9e84141c
+ member_id: 0xa5c2f472
+ member_id: 0xeb46d6f6
+ member_id: 0x049c1f00
+ member_id: 0x54806d5b
+ member_id: 0x7b7f9a93
+ member_id: 0xeff7e2c9
+ member_id: 0x573e57ed
+ member_id: 0x3d9c68f5
+ member_id: 0x7f7f584f
+ member_id: 0x069fcabf
+ member_id: 0x561fd50f
+ member_id: 0xd95b0d92
+ }
}
struct_union {
id: 0xc7e35718
@@ -218333,7 +222662,7 @@ struct_union {
bytesize: 344
member_id: 0x7c00ef52
member_id: 0x4fd31bbd
- member_id: 0x5685a7bf
+ member_id: 0x56ace115
member_id: 0xad7c8a1e
member_id: 0xc5a12bbd
member_id: 0x5c46dd88
@@ -218348,7 +222677,7 @@ struct_union {
member_id: 0x6ac6877c
member_id: 0xefdb0c31
member_id: 0xf45f2394
- member_id: 0xd1c402eb
+ member_id: 0xd1e477a3
}
}
struct_union {
@@ -218366,6 +222695,22 @@ struct_union {
}
}
struct_union {
+ id: 0x6807af97
+ kind: STRUCT
+ name: "devlink_port_new_attrs"
+ definition {
+ bytesize: 20
+ member_id: 0xdf2fd72b
+ member_id: 0xbf1e816a
+ member_id: 0xd8dc9c99
+ member_id: 0x4c6b273e
+ member_id: 0x6980d678
+ member_id: 0x0317cd78
+ member_id: 0x1db19505
+ member_id: 0x38a7e1c1
+ }
+}
+struct_union {
id: 0xf0f5f897
kind: STRUCT
name: "devlink_port_pci_pf_attrs"
@@ -218411,6 +222756,18 @@ struct_union {
}
}
struct_union {
+ id: 0xe6964d46
+ kind: STRUCT
+ name: "devlink_port_region_ops"
+ definition {
+ bytesize: 32
+ member_id: 0x0de57ce8
+ member_id: 0xa4170b6e
+ member_id: 0x0c832449
+ member_id: 0x59119068
+ }
+}
+struct_union {
id: 0x1777d31b
kind: STRUCT
name: "devlink_rate"
@@ -218418,7 +222775,7 @@ struct_union {
bytesize: 80
member_id: 0x7c00ef52
member_id: 0x5cf2824f
- member_id: 0x5685afdd
+ member_id: 0x56ace977
member_id: 0x5911980a
member_id: 0xd3866153
member_id: 0x6d8a9147
@@ -218427,6 +222784,89 @@ struct_union {
}
}
struct_union {
+ id: 0x47689b48
+ kind: STRUCT
+ name: "devlink_region"
+ definition {
+ bytesize: 120
+ member_id: 0x56ace1be
+ member_id: 0x48c075a0
+ member_id: 0x7c00e690
+ member_id: 0x3c8c9122
+ member_id: 0xcbc193d6
+ member_id: 0xcffde3b6
+ member_id: 0x2a2e382b
+ member_id: 0x80fbe8a7
+ member_id: 0xd9ec35e7
+ }
+}
+struct_union {
+ id: 0xc4da5559
+ kind: STRUCT
+ name: "devlink_region_ops"
+ definition {
+ bytesize: 32
+ member_id: 0x0de57ce8
+ member_id: 0xa4170b6e
+ member_id: 0x0c805fde
+ member_id: 0x59119068
+ }
+}
+struct_union {
+ id: 0xe35e5ccd
+ kind: STRUCT
+ name: "devlink_sb_pool_info"
+ definition {
+ bytesize: 16
+ member_id: 0xe52eef97
+ member_id: 0xd9b71962
+ member_id: 0x6ce0bb82
+ member_id: 0x08477548
+ }
+}
+struct_union {
+ id: 0x1c7a3d65
+ kind: STRUCT
+ name: "devlink_trap"
+ definition {
+ bytesize: 32
+ member_id: 0x5cbbb022
+ member_id: 0x3ecaad84
+ member_id: 0x4257f846
+ member_id: 0xccbe65b2
+ member_id: 0x0de5752a
+ member_id: 0xa4c7afe2
+ member_id: 0xd492332a
+ }
+}
+struct_union {
+ id: 0x198b6a50
+ kind: STRUCT
+ name: "devlink_trap_group"
+ definition {
+ bytesize: 16
+ member_id: 0x0de57ce8
+ member_id: 0xccbe65cf
+ member_id: 0x4257f83b
+ member_id: 0xf53cc107
+ }
+}
+struct_union {
+ id: 0xaf8c5ca0
+ kind: STRUCT
+ name: "devlink_trap_policer"
+ definition {
+ bytesize: 56
+ member_id: 0xcce624ba
+ member_id: 0x2b41bb63
+ member_id: 0xb36eb0c7
+ member_id: 0x5cea623b
+ member_id: 0x7843c8a8
+ member_id: 0x9c062023
+ member_id: 0x7b580056
+ }
+}
+struct_union {
id: 0xd1d07704
kind: STRUCT
name: "dir_context"
@@ -218544,6 +222984,268 @@ struct_union {
}
}
struct_union {
+ id: 0x08726260
+ kind: STRUCT
+ name: "dm_arg"
+ definition {
+ bytesize: 16
+ member_id: 0xf9d5048c
+ member_id: 0x97b38f9c
+ member_id: 0x7f0253e8
+ }
+}
+struct_union {
+ id: 0x84f84d67
+ kind: STRUCT
+ name: "dm_arg_set"
+ definition {
+ bytesize: 16
+ member_id: 0x2075b8f0
+ member_id: 0xe8735870
+ }
+}
+struct_union {
+ id: 0x8b3c3364
+ kind: STRUCT
+ name: "dm_buffer"
+ definition {
+ bytesize: 152
+ member_id: 0x0f470b14
+ member_id: 0x94eba612
+ member_id: 0xc81f8729
+ member_id: 0x4280b12f
+ member_id: 0xff8a9211
+ member_id: 0x109b80af
+ member_id: 0x76367e75
+ member_id: 0xffa6c51e
+ member_id: 0x6d2dbcdf
+ member_id: 0xc0138ce8
+ member_id: 0xffe3e6f3
+ member_id: 0x72c08b58
+ member_id: 0x8c1c72c6
+ member_id: 0x522ab1e5
+ member_id: 0x077f45a8
+ member_id: 0xb4ed2fb3
+ member_id: 0xdc734cb7
+ member_id: 0x0f75b561
+ member_id: 0x32aed56a
+ member_id: 0xec2a10b4
+ }
+}
+struct_union {
+ id: 0x9e471477
+ kind: STRUCT
+ name: "dm_bufio_client"
+ definition {
+ bytesize: 368
+ member_id: 0x2d4b3c00
+ member_id: 0x9a7d31f4
+ member_id: 0xec4c530d
+ member_id: 0x545a8863
+ member_id: 0x04227360
+ member_id: 0x51f02b11
+ member_id: 0x3c120643
+ member_id: 0x0b50257c
+ member_id: 0xa0650951
+ member_id: 0x6cd173ed
+ member_id: 0xd9ef0498
+ member_id: 0x031120c5
+ member_id: 0x56ecab6c
+ member_id: 0x9a257ac5
+ member_id: 0x9460fdf7
+ member_id: 0xf910802f
+ member_id: 0x215141b0
+ member_id: 0x6458e4c6
+ member_id: 0x46cb87d7
+ member_id: 0x5ee21ccd
+ member_id: 0xf4c5928f
+ member_id: 0x868ca1f0
+ member_id: 0x133be164
+ member_id: 0x247d2bc2
+ }
+}
+struct_union {
+ id: 0x5f5259bd
+ kind: STRUCT
+ name: "dm_dev"
+ definition {
+ bytesize: 40
+ member_id: 0x51f028ab
+ member_id: 0x57d05c19
+ member_id: 0x87085bff
+ member_id: 0x0d9941a0
+ }
+}
+struct_union {
+ id: 0x225b463b
+ kind: STRUCT
+ name: "dm_io"
+ definition {
+ bytesize: 280
+ member_id: 0xd6baf777
+ member_id: 0x2dccf0c8
+ member_id: 0x2d1fe1be
+ member_id: 0xa3682aac
+ member_id: 0xff8a90cb
+ member_id: 0x11f10efe
+ member_id: 0x96627cf8
+ member_id: 0x201cce16
+ member_id: 0x43d5e607
+ member_id: 0xff5d5e59
+ member_id: 0xd07b78d9
+ member_id: 0xf705dc19
+ member_id: 0x3721dfe0
+ member_id: 0x2c593fc1
+ }
+}
+struct_union {
+ id: 0x0c940ce3
+ kind: STRUCT
+ name: "dm_io_client"
+ definition {
+ bytesize: 336
+ member_id: 0xde69b270
+ member_id: 0xccd15e20
+ }
+}
+struct_union {
+ id: 0xa1319a08
+ kind: STRUCT
+ name: "dm_kobject_holder"
+ definition {
+ bytesize: 128
+ member_id: 0x452b206c
+ member_id: 0xc494a473
+ }
+}
+struct_union {
+ id: 0xe1d1bbb1
+ kind: STRUCT
+ name: "dm_md_mempools"
+ definition {
+ bytesize: 528
+ member_id: 0x9929500d
+ member_id: 0x627115f2
+ }
+}
+struct_union {
+ id: 0xd2e99e69
+ kind: STRUCT
+ name: "dm_report_zones_args"
+ definition {
+ bytesize: 48
+ member_id: 0x7cd9a358
+ member_id: 0x7cd3c1cb
+ member_id: 0x9772cb65
+ member_id: 0x17637816
+ member_id: 0x7e8b2a1f
+ member_id: 0x46cb8735
+ }
+}
+struct_union {
+ id: 0x286f60a3
+ kind: STRUCT
+ name: "dm_stats"
+ definition {
+ bytesize: 80
+ member_id: 0xad898302
+ member_id: 0x7c00eec0
+ member_id: 0x2660c5df
+ member_id: 0x552de7df
+ }
+}
+struct_union {
+ id: 0xb4683157
+ kind: STRUCT
+ name: "dm_stats_aux"
+ definition {
+ bytesize: 16
+ member_id: 0x037856c6
+ member_id: 0x5e3459b5
+ }
+}
+struct_union {
+ id: 0x154fffcf
+ kind: STRUCT
+ name: "dm_stats_last_position"
+ definition {
+ bytesize: 16
+ member_id: 0x0d364652
+ member_id: 0xaac934df
+ }
+}
+struct_union {
+ id: 0x96d270ba
+ kind: STRUCT
+ name: "dm_table"
+ definition {
+ bytesize: 296
+ member_id: 0xff5d592e
+ member_id: 0x5cab8754
+ member_id: 0x1b2184e9
+ member_id: 0xb91305cd
+ member_id: 0xad7a9230
+ member_id: 0x0e2a551a
+ member_id: 0x197cb73f
+ member_id: 0x6da33f40
+ member_id: 0x1623d50f
+ member_id: 0xfa2d1749
+ member_id: 0x6f52824f
+ member_id: 0xdf12b226
+ member_id: 0xe590115b
+ member_id: 0x87085ac9
+ member_id: 0x33ed565c
+ member_id: 0xd4abd33d
+ member_id: 0x5138cba7
+ member_id: 0x1f686eb8
+ member_id: 0x5497e4e5
+ }
+}
+struct_union {
+ id: 0xdd8279d0
+ kind: STRUCT
+ name: "dm_target"
+ definition {
+ bytesize: 96
+ member_id: 0xb6c41435
+ member_id: 0x5c60f365
+ member_id: 0x38c2e7fb
+ member_id: 0xb8d56e3d
+ member_id: 0x09343eea
+ member_id: 0xf997f643
+ member_id: 0xe8ffd602
+ member_id: 0x772e5751
+ member_id: 0x4fa0a319
+ member_id: 0x319b41b8
+ member_id: 0x917961c4
+ member_id: 0x7f025c11
+ member_id: 0xa1b9c8d2
+ member_id: 0x7a833cf4
+ member_id: 0x8bbdb526
+ member_id: 0x4ccb6a85
+ member_id: 0x1a19769d
+ member_id: 0xf55a45f8
+ member_id: 0x2d08134b
+ member_id: 0x63760b9f
+ }
+}
+struct_union {
+ id: 0xd16b19a7
+ kind: STRUCT
+ name: "dm_target_io"
+ definition {
+ bytesize: 200
+ member_id: 0xd6baf777
+ member_id: 0x2dccf0c8
+ member_id: 0x6669afd1
+ member_id: 0x9d69c21e
+ member_id: 0x1e282dde
+ member_id: 0x399dce5b
+ member_id: 0x1293b17d
+ member_id: 0xf6b3df73
+ }
+}
+struct_union {
id: 0x906b8630
kind: STRUCT
name: "dma_async_tx_descriptor"
@@ -219285,6 +223987,21 @@ struct_union {
}
}
struct_union {
+ id: 0x7a26b33d
+ kind: STRUCT
+ name: "drm_afbc_framebuffer"
+ definition {
+ bytesize: 224
+ member_id: 0x85378cb8
+ member_id: 0x3b9c97de
+ member_id: 0xdb864134
+ member_id: 0x6db01f09
+ member_id: 0xdeafe619
+ member_id: 0x9bd5d3ca
+ member_id: 0xd5613ffc
+ }
+}
+struct_union {
id: 0x9cb7b96f
kind: STRUCT
name: "drm_atomic_helper_damage_iter"
@@ -222163,6 +226880,34 @@ struct_union {
}
}
struct_union {
+ id: 0x8d59cc59
+ kind: STRUCT
+ name: "eth_dev"
+ definition {
+ bytesize: 200
+ member_id: 0x2d1fec85
+ member_id: 0x4b911741
+ member_id: 0x723de0ca
+ member_id: 0x1875f880
+ member_id: 0x41836813
+ member_id: 0xafc385cf
+ member_id: 0xd3d22e9f
+ member_id: 0x32c7bb3d
+ member_id: 0xc2e1d78f
+ member_id: 0x143073ec
+ member_id: 0x7a86fcdb
+ member_id: 0xb361ca71
+ member_id: 0x7f0a76c2
+ member_id: 0xd6e660a8
+ member_id: 0x896faa0d
+ member_id: 0xf36870ee
+ member_id: 0x59c1c7cb
+ member_id: 0x41e064b8
+ member_id: 0x4af00a54
+ member_id: 0x770654c6
+ }
+}
+struct_union {
id: 0xed0cdc47
kind: STRUCT
name: "ethhdr"
@@ -223005,6 +227750,20 @@ struct_union {
}
}
struct_union {
+ id: 0xce180920
+ kind: STRUCT
+ name: "fastopen_queue"
+ definition {
+ bytesize: 40
+ member_id: 0x4fed2df8
+ member_id: 0xe2520be5
+ member_id: 0x2d1fe547
+ member_id: 0x9bf5ac3e
+ member_id: 0x6bf829f7
+ member_id: 0xec94e17c
+ }
+}
+struct_union {
id: 0xbdd1c219
kind: STRUCT
name: "fasync_struct"
@@ -225589,6 +230348,29 @@ struct_union {
}
}
struct_union {
+ id: 0xca7029d8
+ kind: STRUCT
+ name: "gether"
+ definition {
+ bytesize: 296
+ member_id: 0x21a4123c
+ member_id: 0x694d3c49
+ member_id: 0x37e14132
+ member_id: 0xbdac13df
+ member_id: 0x56acdda7
+ member_id: 0xbf43ebf0
+ member_id: 0x7a0a7faf
+ member_id: 0x100aab74
+ member_id: 0x09807f7a
+ member_id: 0x7fd91e93
+ member_id: 0x07459e81
+ member_id: 0xb361ce95
+ member_id: 0x7f0a7bae
+ member_id: 0xadb9bed8
+ member_id: 0xcd7ec6ac
+ }
+}
+struct_union {
id: 0x227d416d
kind: STRUCT
name: "gh_rm_mem_acl_entry"
@@ -226253,7 +231035,7 @@ struct_union {
member_id: 0x2d08134c
member_id: 0x63760a9a
member_id: 0xac8947dc
- member_id: 0xe0f63bda
+ member_id: 0xe0f63bdb
}
}
struct_union {
@@ -226276,7 +231058,7 @@ struct_union {
kind: STRUCT
name: "hci_dev"
definition {
- bytesize: 6416
+ bytesize: 6464
member_id: 0x7c00ef52
member_id: 0x2d4b35c2
member_id: 0x0d314a12
@@ -226428,112 +231210,113 @@ struct_union {
member_id: 0x688a5a69
member_id: 0x8bdadf1b
member_id: 0xaee6ff53
- member_id: 0x30eff9d8
- member_id: 0xe795c0f1
- member_id: 0x9d309caf
- member_id: 0xec10e2f4
- member_id: 0x6f0a1e46
- member_id: 0x091c4805
- member_id: 0xe5f6e117
- member_id: 0x6e7f7819
- member_id: 0x15ef38ff
- member_id: 0xa75cec0a
- member_id: 0x4b83b19b
- member_id: 0xf931197e
- member_id: 0x714814d3
- member_id: 0x6fa9dc88
- member_id: 0xa57ecf84
- member_id: 0x8fd1ed9e
- member_id: 0x0cd3502a
- member_id: 0x41d7b583
- member_id: 0x380f14bc
- member_id: 0xd432c148
- member_id: 0xfa136db1
- member_id: 0x3e305241
- member_id: 0x6188e6c3
- member_id: 0x1b39784f
- member_id: 0xd0a93ec2
- member_id: 0x45128fe7
- member_id: 0x98e4789b
- member_id: 0x6e09a88e
- member_id: 0x4821e2b0
- member_id: 0x10dab6be
- member_id: 0xa136b44a
- member_id: 0xae6111f8
- member_id: 0xb40bde91
- member_id: 0xff765a6f
- member_id: 0x15af785f
- member_id: 0x58a1bb2e
- member_id: 0x4505aa58
- member_id: 0x938b4863
- member_id: 0x9962b15a
- member_id: 0x285f0a99
- member_id: 0x020ecba9
- member_id: 0xe71cc270
- member_id: 0x4dcd3d5e
- member_id: 0x4ba7b4dd
- member_id: 0x4e950be9
- member_id: 0x115fafab
- member_id: 0x17a11fa5
- member_id: 0x3c8ef241
- member_id: 0xdc9e1f25
- member_id: 0x78450f73
- member_id: 0xfe933ca0
- member_id: 0x5520b527
- member_id: 0xe27e8817
- member_id: 0x1d6fbead
- member_id: 0xb949874f
- member_id: 0xc9aa7830
- member_id: 0x37178a6f
- member_id: 0xed3cf293
- member_id: 0x1c35799b
- member_id: 0xce1acc2a
- member_id: 0x80a0a424
- member_id: 0x76701066
- member_id: 0x35c9d647
- member_id: 0x105c3ace
- member_id: 0x71a81669
- member_id: 0x5d9e9ce5
- member_id: 0x2e353c74
- member_id: 0x83054f12
- member_id: 0xfa784db4
- member_id: 0x1b95acfb
- member_id: 0x86b9464b
- member_id: 0x003ea1c2
- member_id: 0xee8ba20d
- member_id: 0x030b0d19
- member_id: 0xaa882e6d
- member_id: 0xff86b5aa
- member_id: 0x54685d71
- member_id: 0x068f48a1
- member_id: 0x0eb3e2bb
- member_id: 0x2fd08888
- member_id: 0x4b6f4c71
- member_id: 0x81de6579
- member_id: 0x95cc47a1
- member_id: 0x8064b316
- member_id: 0xc6a08da1
- member_id: 0xaaa3f8da
- member_id: 0xad98abe8
- member_id: 0xcd5fd56d
- member_id: 0x7f822124
- member_id: 0x84e564f5
- member_id: 0x9ed91a6e
- member_id: 0xe39f13d5
- member_id: 0x56f92eab
- member_id: 0xa65cd211
- member_id: 0x319b8398
- member_id: 0xfedeef06
- member_id: 0x284bd07a
- member_id: 0x08a92984
- member_id: 0xff0b382d
- member_id: 0xe84b78bc
- member_id: 0x6ae7b18d
- member_id: 0x483f37d6
- member_id: 0x2d081ed0
- member_id: 0x63760aa0
- member_id: 0xac894bbb
- member_id: 0xe0f63ccd
+ member_id: 0xdb3467f3
+ member_id: 0x30eff64b
+ member_id: 0xe795c368
+ member_id: 0x9d30956d
+ member_id: 0xec10e729
+ member_id: 0x6f0a17b5
+ member_id: 0x091c4964
+ member_id: 0xe5f6efa3
+ member_id: 0x6e7f7dae
+ member_id: 0x15ef3a47
+ member_id: 0xa75cede3
+ member_id: 0x4b83bf04
+ member_id: 0xf9311273
+ member_id: 0x71481e19
+ member_id: 0x6fa9d3ef
+ member_id: 0xa57ecd8e
+ member_id: 0x8fd1e923
+ member_id: 0x0cd354a8
+ member_id: 0x41d7be50
+ member_id: 0x380f1158
+ member_id: 0xd432cc5e
+ member_id: 0xfa136415
+ member_id: 0x3e305123
+ member_id: 0x6188e4ee
+ member_id: 0x1b3970e4
+ member_id: 0xd0a93c31
+ member_id: 0x45128248
+ member_id: 0x98e47471
+ member_id: 0x6e09ac61
+ member_id: 0x4821ea2b
+ member_id: 0x10dabda2
+ member_id: 0xa136ba5d
+ member_id: 0xae6114cc
+ member_id: 0xb40bd33a
+ member_id: 0xff765d59
+ member_id: 0x15af76a2
+ member_id: 0x58a1ba40
+ member_id: 0x4505a488
+ member_id: 0x938b4e26
+ member_id: 0x9962bd46
+ member_id: 0x285f05be
+ member_id: 0x020eccd3
+ member_id: 0xe71cc1d9
+ member_id: 0x4dcd3a37
+ member_id: 0x4ba7b24a
+ member_id: 0x4e9500ec
+ member_id: 0x115fa561
+ member_id: 0x17a11866
+ member_id: 0x3c8ef028
+ member_id: 0xdc9e19ca
+ member_id: 0x78450d9f
+ member_id: 0xfe933c61
+ member_id: 0x5520b6a1
+ member_id: 0xe27e8ce3
+ member_id: 0x1d6fbf33
+ member_id: 0xb9498bcf
+ member_id: 0xc9aa7d35
+ member_id: 0x371784a6
+ member_id: 0xed3cf7e2
+ member_id: 0x1c35794d
+ member_id: 0xce1acc55
+ member_id: 0x80a0a3ee
+ member_id: 0x76701448
+ member_id: 0x35c9dc28
+ member_id: 0x105c3c4d
+ member_id: 0x71a815c7
+ member_id: 0x5d9e95ae
+ member_id: 0x2e353a9c
+ member_id: 0x83054658
+ member_id: 0xfa7845a1
+ member_id: 0x1b95ac31
+ member_id: 0x86b94497
+ member_id: 0x003ea69f
+ member_id: 0xee8bae4d
+ member_id: 0x030b0ab6
+ member_id: 0xaa882ed4
+ member_id: 0xff86bb58
+ member_id: 0x546851f2
+ member_id: 0x068f454d
+ member_id: 0x0eb3e9bf
+ member_id: 0x2fd08efd
+ member_id: 0x4b6f45cd
+ member_id: 0x81de61c0
+ member_id: 0x95cc43f7
+ member_id: 0x8064b4f4
+ member_id: 0xc6a08382
+ member_id: 0xaaa3fd42
+ member_id: 0xad98a9ad
+ member_id: 0xcd5fd921
+ member_id: 0x7f8229da
+ member_id: 0x84e56f17
+ member_id: 0x9ed91ea3
+ member_id: 0xe39f1481
+ member_id: 0x56f92467
+ member_id: 0xa65cd12c
+ member_id: 0x319b89ab
+ member_id: 0xfedee1e7
+ member_id: 0x284bd920
+ member_id: 0x08a92d3f
+ member_id: 0xff0b3458
+ member_id: 0xe84b7153
+ member_id: 0x6ae7b5b9
+ member_id: 0x483f3007
+ member_id: 0x2d0818b7
+ member_id: 0x637608bd
+ member_id: 0xac894467
+ member_id: 0xe0f63f30
}
}
struct_union {
@@ -228538,6 +233321,20 @@ struct_union {
}
}
struct_union {
+ id: 0x3193e55d
+ kind: STRUCT
+ name: "ifinfomsg"
+ definition {
+ bytesize: 16
+ member_id: 0xccfc5cc3
+ member_id: 0xed0c7bc2
+ member_id: 0x58fe8d2e
+ member_id: 0x95c94564
+ member_id: 0xe5765ac4
+ member_id: 0x49aaa6b3
+ }
+}
+struct_union {
id: 0x41f1df67
kind: STRUCT
name: "ifla_vf_guid"
@@ -228888,6 +233685,16 @@ struct_union {
}
}
struct_union {
+ id: 0xe2574ab7
+ kind: STRUCT
+ name: "in6_pktinfo"
+ definition {
+ bytesize: 20
+ member_id: 0xce9a5c98
+ member_id: 0x8e98680e
+ }
+}
+struct_union {
id: 0xa54936d5
kind: STRUCT
name: "in_addr"
@@ -228954,6 +233761,17 @@ struct_union {
}
}
struct_union {
+ id: 0x1f434195
+ kind: STRUCT
+ name: "inet6_cork"
+ definition {
+ bytesize: 16
+ member_id: 0xf67626a5
+ member_id: 0x9f6b950b
+ member_id: 0x51ef8423
+ }
+}
+struct_union {
id: 0xc4c18dc3
kind: STRUCT
name: "inet6_dev"
@@ -229002,6 +233820,61 @@ struct_union {
}
}
struct_union {
+ id: 0x9f83ba8a
+ kind: STRUCT
+ name: "inet6_skb_parm"
+ definition {
+ bytesize: 24
+ member_id: 0xe8bad6da
+ member_id: 0x2940a2be
+ member_id: 0x94523a01
+ member_id: 0xcd809b0d
+ member_id: 0x5493d7f6
+ member_id: 0xab47d75e
+ member_id: 0x25da85de
+ member_id: 0x2d808edc
+ member_id: 0x38c1840e
+ member_id: 0xce6a9610
+ member_id: 0xc5c8b651
+ }
+}
+struct_union {
+ id: 0x03de7511
+ kind: STRUCT
+ name: "inet_bind2_bucket"
+ definition {
+ bytesize: 64
+ member_id: 0xe50fbded
+ member_id: 0xe6f3661d
+ member_id: 0x48322e2f
+ member_id: 0x9e9c9ad1
+ member_id: 0x31fb35e2
+ member_id: 0x0f3ca934
+ member_id: 0xb8ff9609
+ member_id: 0xbc5ebfd1
+ }
+}
+struct_union {
+ id: 0xe6615d93
+ kind: STRUCT
+ name: "inet_bind_bucket"
+ definition {
+ bytesize: 72
+ member_id: 0xe50fbded
+ member_id: 0xe6f3661d
+ member_id: 0x48322e2f
+ member_id: 0xa6e81f22
+ member_id: 0x244da0b8
+ member_id: 0x73b4d4d5
+ member_id: 0x6398a0a9
+ member_id: 0xfd693ce8
+ member_id: 0x247ebe29
+ member_id: 0xcee88548
+ member_id: 0x0f3ca80d
+ member_id: 0xb8ff9c83
+ }
+}
+struct_union {
id: 0x89a37894
kind: STRUCT
name: "inet_bind_hashbucket"
@@ -229012,6 +233885,100 @@ struct_union {
}
}
struct_union {
+ id: 0x82dbb487
+ kind: STRUCT
+ name: "inet_connection_sock"
+ definition {
+ bytesize: 1536
+ member_id: 0x9bd0d4a0
+ member_id: 0x2a778fa0
+ member_id: 0xa53e6076
+ member_id: 0xf1a367c5
+ member_id: 0xe54062f3
+ member_id: 0x3adf52b3
+ member_id: 0xbf3d6991
+ member_id: 0xaa84a388
+ member_id: 0x7c9184fd
+ member_id: 0xcfd1f1ed
+ member_id: 0x9796567d
+ member_id: 0x2b917283
+ member_id: 0xeb6a5fa1
+ member_id: 0x50d22351
+ member_id: 0x69ab5d87
+ member_id: 0x411180b7
+ member_id: 0x5392fe03
+ member_id: 0x8adfff2f
+ member_id: 0x9b3f0555
+ member_id: 0x5c570222
+ member_id: 0x8e756dfb
+ member_id: 0x6bd77d33
+ member_id: 0xfd5174f1
+ member_id: 0xb27d04f5
+ member_id: 0x2446b1e6
+ member_id: 0x2d061585
+ member_id: 0xd7cc2503
+ member_id: 0xc36d8395
+ member_id: 0xc75c6970
+ member_id: 0xf4f5c9e8
+ member_id: 0x973a1269
+ member_id: 0x2d081c07
+ member_id: 0xa86967ec
+ }
+}
+struct_union {
+ id: 0x5d95189a
+ kind: STRUCT
+ name: "inet_connection_sock_af_ops"
+ definition {
+ bytesize: 96
+ member_id: 0x52c10ec0
+ member_id: 0x6d7c55af
+ member_id: 0x198e2327
+ member_id: 0x68c86260
+ member_id: 0x495c1c6d
+ member_id: 0x472be94a
+ member_id: 0x729f250d
+ member_id: 0x171ea46a
+ member_id: 0x094f9496
+ member_id: 0x852593c2
+ member_id: 0xd9ad3ae7
+ member_id: 0x09692cc4
+ member_id: 0x2e3a46f9
+ member_id: 0x2d08170f
+ }
+}
+struct_union {
+ id: 0xeeae7608
+ kind: STRUCT
+ name: "inet_cork"
+ definition {
+ bytesize: 56
+ member_id: 0x2d2d0138
+ member_id: 0x24cfa4f0
+ member_id: 0xf64ae666
+ member_id: 0xe25ba6f2
+ member_id: 0xb50a4f6b
+ member_id: 0xbbe3f808
+ member_id: 0x34444209
+ member_id: 0xf4da47b1
+ member_id: 0xf113a55a
+ member_id: 0x10dc10b1
+ member_id: 0xeaa4b2c9
+ member_id: 0x1b258c6d
+ member_id: 0x8196ad18
+ }
+}
+struct_union {
+ id: 0x60790295
+ kind: STRUCT
+ name: "inet_cork_full"
+ definition {
+ bytesize: 152
+ member_id: 0x853440fd
+ member_id: 0x75577b27
+ }
+}
+struct_union {
id: 0x28cc893a
kind: STRUCT
name: "inet_ehash_bucket"
@@ -229103,6 +234070,47 @@ struct_union {
}
}
struct_union {
+ id: 0xd2a4529d
+ kind: STRUCT
+ name: "inet_sock"
+ definition {
+ bytesize: 1088
+ member_id: 0x82ce9da8
+ member_id: 0xe47590e7
+ member_id: 0x8be10b49
+ member_id: 0x8e099fc0
+ member_id: 0x9e4ebac2
+ member_id: 0x38f59a08
+ member_id: 0x674b03be
+ member_id: 0x78639f81
+ member_id: 0xf1a03e73
+ member_id: 0xa28c3827
+ member_id: 0x7008fda6
+ member_id: 0x79ed9153
+ member_id: 0xd1ac6cca
+ member_id: 0x1facb5a4
+ member_id: 0x0ccb8adb
+ member_id: 0x3cd68edd
+ member_id: 0xa5d9163f
+ member_id: 0x73793851
+ member_id: 0x1bda0ea3
+ member_id: 0xb932820e
+ member_id: 0x87d4aa19
+ member_id: 0x7e45f9f6
+ member_id: 0x35577470
+ member_id: 0x1ad125b2
+ member_id: 0x3c401b61
+ member_id: 0x1d8e0899
+ member_id: 0x02fcf451
+ member_id: 0x5a22c9ad
+ member_id: 0x9c6a8ab2
+ member_id: 0xa608f9d7
+ member_id: 0x5b66efeb
+ member_id: 0x2d08191c
+ member_id: 0x63760c6b
+ }
+}
+struct_union {
id: 0x53a9065e
kind: STRUCT
name: "inet_timewait_death_row"
@@ -230530,6 +235538,26 @@ struct_union {
}
}
struct_union {
+ id: 0x04ad1af1
+ kind: STRUCT
+ name: "ip6_flowlabel"
+ definition {
+ bytesize: 104
+ member_id: 0x11f8bba0
+ member_id: 0x05cb6176
+ member_id: 0x85d92902
+ member_id: 0xbb9c8500
+ member_id: 0xf676260e
+ member_id: 0xe93fdbc8
+ member_id: 0x95dac8e5
+ member_id: 0xeb4f31b9
+ member_id: 0x4ad6a726
+ member_id: 0xccd48510
+ member_id: 0x91036748
+ member_id: 0x1f4e61c9
+ }
+}
+struct_union {
id: 0xdcb15adf
kind: STRUCT
name: "ip6_sf_list"
@@ -230545,6 +235573,18 @@ struct_union {
}
}
struct_union {
+ id: 0xe42ec820
+ kind: STRUCT
+ name: "ip6_sf_socklist"
+ definition {
+ bytesize: 24
+ member_id: 0x047148a0
+ member_id: 0xeea06d44
+ member_id: 0x95dacd96
+ member_id: 0x7f9c0ca0
+ }
+}
+struct_union {
id: 0x5096f267
kind: STRUCT
name: "ip_conntrack_stat"
@@ -230638,6 +235678,19 @@ struct_union {
}
}
struct_union {
+ id: 0x04be5205
+ kind: STRUCT
+ name: "ip_mc_socklist"
+ definition {
+ bytesize: 48
+ member_id: 0x11613e69
+ member_id: 0xe7efca93
+ member_id: 0x00c085ca
+ member_id: 0x25db7175
+ member_id: 0x95dac9dc
+ }
+}
+struct_union {
id: 0xf86b845e
kind: STRUCT
name: "ip_mreqn"
@@ -230649,6 +235702,40 @@ struct_union {
}
}
struct_union {
+ id: 0x29719ae3
+ kind: STRUCT
+ name: "ip_options"
+ definition {
+ bytesize: 16
+ member_id: 0xe37696ac
+ member_id: 0xe2d3a144
+ member_id: 0x3cedbd03
+ member_id: 0x3a20fe11
+ member_id: 0xe752e605
+ member_id: 0x95c9b8f6
+ member_id: 0x1e6a6587
+ member_id: 0x3feffe90
+ member_id: 0xb9615f80
+ member_id: 0xe5e354be
+ member_id: 0xb15e52c6
+ member_id: 0x5ffbc843
+ member_id: 0xe1754ad1
+ member_id: 0x1dfe157e
+ member_id: 0x86165645
+ member_id: 0xf4a9b31e
+ }
+}
+struct_union {
+ id: 0xca64cdd4
+ kind: STRUCT
+ name: "ip_options_rcu"
+ definition {
+ bytesize: 32
+ member_id: 0x95dac977
+ member_id: 0xf6635680
+ }
+}
+struct_union {
id: 0xe6a8bc0b
kind: STRUCT
name: "ip_ra_chain"
@@ -230675,6 +235762,18 @@ struct_union {
}
}
struct_union {
+ id: 0xdc40a74d
+ kind: STRUCT
+ name: "ip_sf_socklist"
+ definition {
+ bytesize: 24
+ member_id: 0x047148a0
+ member_id: 0xeea06d44
+ member_id: 0x95dacd96
+ member_id: 0x7fbfd873
+ }
+}
+struct_union {
id: 0x19e78670
kind: STRUCT
name: "ip_tunnel_info"
@@ -230810,6 +235909,17 @@ struct_union {
}
}
struct_union {
+ id: 0x2cf9bbda
+ kind: STRUCT
+ name: "ipv6_ac_socklist"
+ definition {
+ bytesize: 32
+ member_id: 0x7980c676
+ member_id: 0xa102d1d4
+ member_id: 0x23f246a8
+ }
+}
+struct_union {
id: 0x66c6fbfa
kind: STRUCT
name: "ipv6_devconf"
@@ -230893,6 +236003,97 @@ struct_union {
}
}
struct_union {
+ id: 0xd421869b
+ kind: STRUCT
+ name: "ipv6_fl_socklist"
+ definition {
+ bytesize: 32
+ member_id: 0x11cc9887
+ member_id: 0x75129e6a
+ member_id: 0x95dac0b5
+ }
+}
+struct_union {
+ id: 0x61c3c826
+ kind: STRUCT
+ name: "ipv6_mc_socklist"
+ definition {
+ bytesize: 56
+ member_id: 0x2440fa86
+ member_id: 0x90568e8d
+ member_id: 0x00c085ca
+ member_id: 0x11e1e8dd
+ member_id: 0x25d5628c
+ member_id: 0x95daceb0
+ }
+}
+struct_union {
+ id: 0xe7d07a15
+ kind: STRUCT
+ name: "ipv6_opt_hdr"
+ definition {
+ bytesize: 2
+ member_id: 0xe85e1d32
+ member_id: 0xd608b573
+ }
+}
+struct_union {
+ id: 0x65bafa41
+ kind: STRUCT
+ name: "ipv6_pinfo"
+ definition {
+ bytesize: 152
+ member_id: 0xf85f9f77
+ member_id: 0x39865348
+ member_id: 0xca75de5a
+ member_id: 0x2ac20e0b
+ member_id: 0x3c1c76af
+ member_id: 0x370a9ced
+ member_id: 0x46cd5abc
+ member_id: 0xa582fe9b
+ member_id: 0x8c5039ca
+ member_id: 0x34d8f2b6
+ member_id: 0x95dcef8c
+ member_id: 0xe14bd1fe
+ member_id: 0xca5da826
+ member_id: 0xd1f78df1
+ member_id: 0xc40b184c
+ member_id: 0x7560b519
+ member_id: 0x6e852b14
+ member_id: 0xb13666fe
+ member_id: 0xaab1780b
+ member_id: 0x4b741bd1
+ member_id: 0x6854e737
+ member_id: 0xe803bc2e
+ member_id: 0x1b81e20c
+ member_id: 0x7e1e1e3e
+ member_id: 0xe5f931e3
+ member_id: 0x78ae54cb
+ member_id: 0x51753049
+ member_id: 0x608ed11c
+ member_id: 0x3e931a99
+ member_id: 0xfce07b0f
+ member_id: 0xe2141007
+ member_id: 0x1e958d31
+ member_id: 0xf6762c03
+ member_id: 0xe8802f7b
+ member_id: 0x80588b5f
+ member_id: 0xa677c461
+ }
+}
+struct_union {
+ id: 0x61267b05
+ kind: STRUCT
+ name: "ipv6_rt_hdr"
+ definition {
+ bytesize: 4
+ member_id: 0xe85e1d32
+ member_id: 0xd608b573
+ member_id: 0x5ce53c7a
+ member_id: 0x498b56ac
+ }
+}
+struct_union {
id: 0x8b8aa3c2
kind: STRUCT
name: "ipv6_stable_secret"
@@ -230934,6 +236135,23 @@ struct_union {
}
}
struct_union {
+ id: 0xda61121d
+ kind: STRUCT
+ name: "ipv6_txoptions"
+ definition {
+ bytesize: 64
+ member_id: 0xb7dcf8ac
+ member_id: 0x3eb7848c
+ member_id: 0x5e1efe31
+ member_id: 0x00c73957
+ member_id: 0x111085fe
+ member_id: 0xebf05092
+ member_id: 0xcd7a45a0
+ member_id: 0xfb3c6654
+ member_id: 0x95dac8e5
+ }
+}
+struct_union {
id: 0x97012809
kind: STRUCT
name: "ir_raw_event"
@@ -231275,16 +236493,6 @@ struct_union {
}
}
struct_union {
- id: 0x2259094e
- kind: STRUCT
- name: "irq_ops"
- definition {
- bytesize: 16
- member_id: 0x2d5bf13a
- member_id: 0x682b5a38
- }
-}
-struct_union {
id: 0xb95bf932
kind: STRUCT
name: "irq_work"
@@ -231329,43 +236537,6 @@ struct_union {
}
}
struct_union {
- id: 0x39aedbce
- kind: STRUCT
- name: "its_vm"
- definition {
- bytesize: 128
- member_id: 0x6e4d805e
- member_id: 0xa719d61d
- member_id: 0x18a69b62
- member_id: 0xade8e87b
- member_id: 0x6ba53b1d
- member_id: 0x3baa0bf3
- member_id: 0xd3a54092
- member_id: 0xb9a58615
- member_id: 0xd2927ea1
- }
-}
-struct_union {
- id: 0x19bba071
- kind: STRUCT
- name: "its_vpe"
- definition {
- bytesize: 128
- member_id: 0xdca92f00
- member_id: 0xa70b7acb
- member_id: 0xd298d587
- member_id: 0x99159806
- member_id: 0x3e9547ca
- member_id: 0x3a956acf
- member_id: 0xa3f01223
- member_id: 0x345b10fd
- member_id: 0xa8c6574f
- member_id: 0x6710a2d3
- member_id: 0x1b58edc6
- member_id: 0x141c8cee
- }
-}
-struct_union {
id: 0xb34a0d30
kind: STRUCT
name: "iw_discarded"
@@ -232602,83 +237773,6 @@ struct_union {
}
}
struct_union {
- id: 0xf2aeafb9
- kind: STRUCT
- name: "kvm"
- definition {
- bytesize: 4352
- member_id: 0x833819ed
- member_id: 0xdda08f2f
- member_id: 0x59597675
- member_id: 0x3025d651
- member_id: 0x8a52dd6e
- member_id: 0xf0778c7b
- member_id: 0x4f1355bb
- member_id: 0xcd6e2d79
- member_id: 0x8174053d
- member_id: 0x1a817692
- member_id: 0xf11c4ad7
- member_id: 0x46e189ff
- member_id: 0xca660682
- member_id: 0xc21468d0
- member_id: 0x107724e0
- member_id: 0x221ad62a
- member_id: 0x85550ce5
- member_id: 0x5d9a7aad
- member_id: 0x2d4b3b7e
- member_id: 0xfa427670
- member_id: 0x450927c5
- member_id: 0x0d7ae40f
- member_id: 0xb9403407
- member_id: 0xb857a998
- member_id: 0x914f88a3
- member_id: 0x48aab379
- member_id: 0xa84d097f
- member_id: 0x02a639fa
- member_id: 0x8cfde860
- member_id: 0x71efddfa
- member_id: 0x3b21a108
- member_id: 0x4938a60d
- member_id: 0x59a47d0f
- member_id: 0x1c0c4ea6
- member_id: 0xc81d2fc7
- member_id: 0xf7c73e7d
- member_id: 0x33ed52b5
- member_id: 0x69005a44
- member_id: 0x6425d0fe
- member_id: 0xcd446a90
- member_id: 0x2b889279
- member_id: 0xb5417608
- member_id: 0xff77b3c7
- member_id: 0x8dc5ba0f
- member_id: 0xf60ae606
- member_id: 0x8de27dbd
- member_id: 0x3046b926
- member_id: 0x82dad882
- member_id: 0xd657a07c
- }
-}
-struct_union {
- id: 0xfd71f39d
- kind: STRUCT
- name: "kvm_arch"
- definition {
- bytesize: 488
- member_id: 0x6dab2c05
- member_id: 0x8b881e3c
- member_id: 0xf510916c
- member_id: 0x2c10bf52
- member_id: 0x2d5bffb1
- member_id: 0x3957d3b9
- member_id: 0xce7b08c8
- member_id: 0x86378461
- member_id: 0x03a47022
- member_id: 0x42988d63
- member_id: 0xe4cebf61
- member_id: 0xe908f26f
- }
-}
-struct_union {
id: 0x99ce8ef3
kind: STRUCT
name: "kvm_arch_memory_slot"
@@ -232686,29 +237780,6 @@ struct_union {
}
}
struct_union {
- id: 0xef8b9e67
- kind: STRUCT
- name: "kvm_coalesced_mmio"
- definition {
- bytesize: 24
- member_id: 0xbda607c1
- member_id: 0xb8e3ff08
- member_id: 0x30c18aff
- member_id: 0xff5aeac8
- }
-}
-struct_union {
- id: 0x99f4eb25
- kind: STRUCT
- name: "kvm_coalesced_mmio_ring"
- definition {
- bytesize: 8
- member_id: 0x1f01199c
- member_id: 0x26892e85
- member_id: 0xe2ce2718
- }
-}
-struct_union {
id: 0x6a241fb6
kind: STRUCT
name: "kvm_cpu_context"
@@ -232721,181 +237792,7 @@ struct_union {
member_id: 0x0763cc89
member_id: 0x5b05aaff
member_id: 0x792a2a11
- member_id: 0x983c1d18
- }
-}
-struct_union {
- id: 0xb47f1c0e
- kind: STRUCT
- name: "kvm_debug_exit_arch"
- definition {
- bytesize: 16
- member_id: 0x8c045ea7
- member_id: 0x440037d1
- member_id: 0xe9c99bd1
- }
-}
-struct_union {
- id: 0xe2d4c01c
- kind: STRUCT
- name: "kvm_device"
- definition {
- bytesize: 40
- member_id: 0xafbacb95
- member_id: 0x730e8f88
- member_id: 0x91796f71
- member_id: 0xd652df47
- }
-}
-struct_union {
- id: 0xc6171ee9
- kind: STRUCT
- name: "kvm_device_attr"
- definition {
- bytesize: 24
- member_id: 0x2d8eaae1
- member_id: 0xd37422b2
- member_id: 0x8ce95ca0
- member_id: 0x24c024d3
- }
-}
-struct_union {
- id: 0xc5f74818
- kind: STRUCT
- name: "kvm_device_ops"
- definition {
- bytesize: 80
- member_id: 0x0de57ce8
- member_id: 0x0fad648a
- member_id: 0x1ae7589a
- member_id: 0xa4fbb750
- member_id: 0xae95664d
- member_id: 0x0bb97dbd
- member_id: 0xbe7a98dd
- member_id: 0x5d4925a5
- member_id: 0x4d44694e
- member_id: 0x87fdbe87
- }
-}
-struct_union {
- id: 0xfe89d18d
- kind: STRUCT
- name: "kvm_dirty_gfn"
- definition {
- bytesize: 16
- member_id: 0x2d8eaae1
- member_id: 0x68304f23
- member_id: 0x9bf12a52
- }
-}
-struct_union {
- id: 0x95e9e529
- kind: STRUCT
- name: "kvm_dirty_ring"
- definition {
- bytesize: 32
- member_id: 0x4647cbd4
- member_id: 0xcfe72c2d
- member_id: 0xd9b710b8
- member_id: 0x275ed516
- member_id: 0x69efcf5e
- member_id: 0xad5e20a5
- }
-}
-struct_union {
- id: 0x590c6dd8
- kind: STRUCT
- name: "kvm_guest_debug_arch"
- definition {
- bytesize: 512
- member_id: 0x5cb6e321
- member_id: 0xb8d95da8
- member_id: 0x6a57f232
- member_id: 0x88756f7c
- }
-}
-struct_union {
- id: 0xce6b97ea
- kind: STRUCT
- name: "kvm_hyp_memcache"
- definition {
- bytesize: 16
- member_id: 0xb5e76888
- member_id: 0xe3b1b19e
- }
-}
-struct_union {
- id: 0x7ff97877
- kind: STRUCT
- name: "kvm_hyperv_exit"
- definition {
- bytesize: 56
- member_id: 0x5cb0fbc1
- member_id: 0x6612cc37
- member_id: 0xec3c82cc
- }
-}
-struct_union {
- id: 0x1b5f79d9
- kind: STRUCT
- name: "kvm_io_bus"
- definition {
- bytesize: 8
- member_id: 0xa05ae8b2
- member_id: 0x3103f4d5
- member_id: 0x0e6e7fb8
- }
-}
-struct_union {
- id: 0x3fc5b8b3
- kind: STRUCT
- name: "kvm_io_device"
- definition {
- bytesize: 8
- member_id: 0xafbcd9c0
- }
-}
-struct_union {
- id: 0xa4d21be9
- kind: STRUCT
- name: "kvm_io_device_ops"
- definition {
- bytesize: 24
- member_id: 0x487026f9
- member_id: 0x342da96c
- member_id: 0xa414c1a9
- }
-}
-struct_union {
- id: 0x5b1f6457
- kind: STRUCT
- name: "kvm_io_range"
- definition {
- bytesize: 24
- member_id: 0x243694c7
- member_id: 0xb862f164
- member_id: 0xce3c8adf
- }
-}
-struct_union {
- id: 0xd9729a52
- kind: STRUCT
- name: "kvm_irq_level"
- definition {
- bytesize: 8
- member_id: 0x3fee6444
- member_id: 0x865cec96
- }
-}
-struct_union {
- id: 0xaf573835
- kind: STRUCT
- name: "kvm_irq_routing_table"
- definition {
- bytesize: 3960
- member_id: 0xc6fa2a23
- member_id: 0xf6e30a95
- member_id: 0x8d25e654
+ member_id: 0x982c7c86
}
}
struct_union {
@@ -232918,390 +237815,6 @@ struct_union {
}
}
struct_union {
- id: 0x07a8c893
- kind: STRUCT
- name: "kvm_memslots"
- definition {
- bytesize: 1072
- member_id: 0x694cfe41
- member_id: 0xabf33787
- member_id: 0x130ace31
- member_id: 0xc25cb27c
- member_id: 0xba6f54b9
- member_id: 0xdeaef990
- }
-}
-struct_union {
- id: 0xc6388883
- kind: STRUCT
- name: "kvm_mmio_fragment"
- definition {
- bytesize: 24
- member_id: 0xc1d9a180
- member_id: 0xff8a9de8
- member_id: 0xb84059f2
- }
-}
-struct_union {
- id: 0xa2ba72d6
- kind: STRUCT
- name: "kvm_mmu_memory_cache"
- definition {
- bytesize: 40
- member_id: 0x603fc5a7
- member_id: 0x8e40fa3f
- member_id: 0xde99678b
- member_id: 0x85e4ba6c
- member_id: 0xa779a4af
- member_id: 0x2aa4f724
- }
-}
-struct_union {
- id: 0x029d28cb
- kind: STRUCT
- name: "kvm_mp_state"
- definition {
- bytesize: 4
- member_id: 0xfc27981e
- }
-}
-struct_union {
- id: 0x6f796009
- kind: STRUCT
- name: "kvm_pgtable"
- definition {
- bytesize: 48
- member_id: 0x83618e44
- member_id: 0x4c6ccc95
- member_id: 0x331a3623
- member_id: 0xa69ad382
- member_id: 0x6d5a2dc5
- member_id: 0x2ddb7ced
- member_id: 0x8661d99b
- }
-}
-struct_union {
- id: 0x1c1e6c54
- kind: STRUCT
- name: "kvm_pgtable_mm_ops"
- definition {
- bytesize: 80
- member_id: 0xe15e2cfc
- member_id: 0x511e5f54
- member_id: 0xef540e05
- member_id: 0xcf22b6e3
- member_id: 0x68c1b0bb
- member_id: 0x21516548
- member_id: 0x66a97394
- member_id: 0x40e6d42e
- member_id: 0x0a10a4f8
- member_id: 0x27f5e987
- }
-}
-struct_union {
- id: 0x93ebc7c6
- kind: STRUCT
- name: "kvm_pgtable_pte_ops"
- definition {
- bytesize: 16
- member_id: 0x53106073
- member_id: 0xeef9224d
- }
-}
-struct_union {
- id: 0x4025bdaf
- kind: STRUCT
- name: "kvm_pmc"
- definition {
- bytesize: 16
- member_id: 0x3caea455
- member_id: 0xf94346ab
- }
-}
-struct_union {
- id: 0xbe704ca9
- kind: STRUCT
- name: "kvm_pmu"
- definition {
- bytesize: 560
- member_id: 0x39d6cdec
- member_id: 0x112c08c3
- member_id: 0x15c30de0
- member_id: 0x94f98f17
- member_id: 0x92faaaee
- member_id: 0xd133b0b1
- }
-}
-struct_union {
- id: 0xd9b5b8b6
- kind: STRUCT
- name: "kvm_pmu_events"
- definition {
- bytesize: 8
- member_id: 0xa9fd6a40
- member_id: 0x97ab0bd6
- }
-}
-struct_union {
- id: 0xf75540c7
- kind: STRUCT
- name: "kvm_protected_vm"
- definition {
- bytesize: 64
- member_id: 0xb8f5134f
- member_id: 0xb6388968
- member_id: 0xc6b10bc0
- member_id: 0x037e99ae
- member_id: 0x0f7f629e
- member_id: 0x3a2d39cb
- }
-}
-struct_union {
- id: 0xdcd5c554
- kind: STRUCT
- name: "kvm_run"
- definition {
- bytesize: 2352
- member_id: 0xf6476a4c
- member_id: 0xb85c9514
- member_id: 0xd06a5757
- member_id: 0x4f84d1da
- member_id: 0x6bffa57c
- member_id: 0x7eaf49aa
- member_id: 0x2d808bd3
- member_id: 0x00fa5522
- member_id: 0x5ba521f2
- member_id: 0x3f0e6b4d
- member_id: 0x4b1e23b0
- member_id: 0xaa4c4a21
- member_id: 0x67846dd9
- }
-}
-struct_union {
- id: 0xc9e16a53
- kind: STRUCT
- name: "kvm_s2_mmu"
- definition {
- bytesize: 40
- member_id: 0x69149bd4
- member_id: 0x99236fa3
- member_id: 0x7f170713
- member_id: 0x9555d521
- member_id: 0xb89f1d6b
- }
-}
-struct_union {
- id: 0x2c432ef9
- kind: STRUCT
- name: "kvm_smccc_features"
- definition {
- bytesize: 24
- member_id: 0x368deee8
- member_id: 0x17d504ad
- member_id: 0xba785216
- }
-}
-struct_union {
- id: 0xf0ca3374
- kind: STRUCT
- name: "kvm_stat_data"
- definition {
- bytesize: 24
- member_id: 0x730e8b69
- member_id: 0x87e1eb87
- member_id: 0xd7f60431
- }
-}
-struct_union {
- id: 0x5a5219ed
- kind: STRUCT
- name: "kvm_stats_desc"
- definition {
- bytesize: 16
- member_id: 0x2d8eaae1
- member_id: 0xdf3a40d2
- member_id: 0xd99613f3
- member_id: 0x9bfaf69a
- member_id: 0xe6502bd9
- member_id: 0x0d114fce
- }
-}
-struct_union {
- id: 0xca67e5f6
- kind: STRUCT
- name: "kvm_sync_regs"
- definition {
- bytesize: 8
- member_id: 0xf5b742db
- }
-}
-struct_union {
- id: 0x09330b45
- kind: STRUCT
- name: "kvm_vcpu"
- definition {
- bytesize: 9712
- member_id: 0x730e8b69
- member_id: 0xad12ae54
- member_id: 0x5161b04d
- member_id: 0x7c4a52b5
- member_id: 0xbcb323c9
- member_id: 0xfc4129b1
- member_id: 0x87fa34df
- member_id: 0x9f936789
- member_id: 0xd014eabd
- member_id: 0xad898a70
- member_id: 0x021fd03f
- member_id: 0x20f5a5f4
- member_id: 0x74912d9b
- member_id: 0x54ebc83a
- member_id: 0xd1201d45
- member_id: 0xcffef03f
- member_id: 0x7e5c1bb6
- member_id: 0xb16b8efe
- member_id: 0xf337f353
- member_id: 0xe4aa6cb8
- member_id: 0x41a58807
- member_id: 0x22a96429
- member_id: 0x0abc4886
- member_id: 0x36ede007
- member_id: 0x1bd1d822
- member_id: 0xa3f0172f
- member_id: 0xb81bb253
- member_id: 0xb934c444
- member_id: 0xd657a20e
- member_id: 0x0741ce14
- member_id: 0xab7e4a6e
- member_id: 0x1838fabc
- }
-}
-struct_union {
- id: 0xb16454d0
- kind: STRUCT
- name: "kvm_vcpu_arch"
- definition {
- bytesize: 8464
- member_id: 0x2723fe2c
- member_id: 0x2e0a3f7d
- member_id: 0x05e10aeb
- member_id: 0xae35f89b
- member_id: 0xf34e08bb
- member_id: 0xc4593e51
- member_id: 0x376609fd
- member_id: 0x0cc65d59
- member_id: 0xdb73cbc4
- member_id: 0x7b6a6e0c
- member_id: 0x06effd42
- member_id: 0x9608d64b
- member_id: 0x50f909b7
- member_id: 0x4e4c2253
- member_id: 0x6d45f1ba
- member_id: 0x7e662956
- member_id: 0xf58a324e
- member_id: 0x15ff4fe5
- member_id: 0x909d979f
- member_id: 0x2edd8c13
- member_id: 0x76772152
- member_id: 0x0120b46e
- member_id: 0x93b6279b
- member_id: 0x57b4f0b1
- member_id: 0xfcc328ac
- member_id: 0x37f52c8e
- member_id: 0xb3c5f85e
- member_id: 0xc5a16f87
- member_id: 0xf681ca11
- member_id: 0xa700e1ff
- member_id: 0x80093c04
- }
-}
-struct_union {
- id: 0xe41fd2fe
- kind: STRUCT
- name: "kvm_vcpu_fault_info"
- definition {
- bytesize: 32
- member_id: 0xfe44cfde
- member_id: 0x550ab6b9
- member_id: 0xd6cec4c2
- member_id: 0x1de22279
- }
-}
-struct_union {
- id: 0x8f4af0b6
- kind: STRUCT
- name: "kvm_vcpu_stat"
- definition {
- bytesize: 888
- member_id: 0x42be7fea
- member_id: 0x65c703ea
- member_id: 0x33be0c85
- member_id: 0xff2da133
- member_id: 0x3c9c64dc
- member_id: 0x22f5be35
- member_id: 0xbf28dc5b
- member_id: 0x237f1104
- }
-}
-struct_union {
- id: 0x84fc1211
- kind: STRUCT
- name: "kvm_vcpu_stat_generic"
- definition {
- bytesize: 832
- member_id: 0x0946dc8b
- member_id: 0x0e3de808
- member_id: 0x5f0d9541
- member_id: 0xe9b25d2a
- member_id: 0xdc094b5c
- member_id: 0x5e1d7f8d
- member_id: 0xa1ad1dfd
- member_id: 0x47baacc5
- member_id: 0xd7979ded
- member_id: 0x2665d054
- member_id: 0x8efec678
- }
-}
-struct_union {
- id: 0xfbb47533
- kind: STRUCT
- name: "kvm_vm_stat"
- definition {
- bytesize: 32
- member_id: 0x42aa8b1f
- member_id: 0x7efa09f3
- member_id: 0x46e4dafc
- }
-}
-struct_union {
- id: 0x9008e757
- kind: STRUCT
- name: "kvm_vm_stat_generic"
- definition {
- bytesize: 16
- member_id: 0x8726cc6c
- member_id: 0xe4dfd298
- }
-}
-struct_union {
- id: 0x0c039fcc
- kind: STRUCT
- name: "kvm_vmid"
- definition {
- bytesize: 8
- member_id: 0xcc3069e2
- }
-}
-struct_union {
- id: 0x56bbf50a
- kind: STRUCT
- name: "kvm_xen_exit"
- definition {
- bytesize: 80
- member_id: 0x5cb0fbc1
- member_id: 0xec1fd483
- }
-}
-struct_union {
id: 0x27179756
kind: STRUCT
name: "l2cap_chan"
@@ -234384,6 +238897,15 @@ struct_union {
}
}
struct_union {
+ id: 0xc5d806af
+ kind: UNION
+ name: "map_info"
+ definition {
+ bytesize: 8
+ member_id: 0x46e877b0
+ }
+}
+struct_union {
id: 0xbd562aba
kind: STRUCT
name: "maple_alloc"
@@ -234412,6 +238934,57 @@ struct_union {
}
}
struct_union {
+ id: 0x9f9f2e37
+ kind: STRUCT
+ name: "mapped_device"
+ definition {
+ bytesize: 1296
+ member_id: 0x13692fb1
+ member_id: 0x72b151f9
+ member_id: 0x0d77c97c
+ member_id: 0x8deec674
+ member_id: 0x2d5bf9c9
+ member_id: 0xc5f5f87e
+ member_id: 0x5cab8146
+ member_id: 0x0f379684
+ member_id: 0xaddb4c9f
+ member_id: 0x1f2404cf
+ member_id: 0x3961e57f
+ member_id: 0x63660872
+ member_id: 0xfa2d1f78
+ member_id: 0x0d994b65
+ member_id: 0x6071aa84
+ member_id: 0x57d05926
+ member_id: 0x202d9516
+ member_id: 0x4c3543b9
+ member_id: 0x3a26f97c
+ member_id: 0x22fae506
+ member_id: 0xd6e6623f
+ member_id: 0xa9cf9302
+ member_id: 0xf0efa471
+ member_id: 0x37483f88
+ member_id: 0xee14c6d9
+ member_id: 0x3cd46820
+ member_id: 0x9f773f87
+ member_id: 0x56ec2c77
+ member_id: 0x271c2c01
+ member_id: 0x1704d15b
+ member_id: 0xdc003eed
+ member_id: 0xf51d09e4
+ member_id: 0x0de002cb
+ member_id: 0xb95d079c
+ member_id: 0x1eb686c0
+ member_id: 0x69e5d3c9
+ member_id: 0xec6548f1
+ member_id: 0xcec5b332
+ member_id: 0x1f686bd1
+ member_id: 0xd68a69a4
+ member_id: 0x5fad2d83
+ member_id: 0x42b6c2d1
+ member_id: 0x2137fd7f
+ }
+}
+struct_union {
id: 0x29d77c73
kind: STRUCT
name: "match_token"
@@ -235214,6 +239787,25 @@ struct_union {
}
}
struct_union {
+ id: 0x98a86aa3
+ kind: STRUCT
+ name: "minmax"
+ definition {
+ bytesize: 24
+ member_id: 0x67c839a9
+ }
+}
+struct_union {
+ id: 0xa12e384a
+ kind: STRUCT
+ name: "minmax_sample"
+ definition {
+ bytesize: 8
+ member_id: 0xab76db82
+ member_id: 0x28f6afd5
+ }
+}
+struct_union {
id: 0x0fc94b61
kind: STRUCT
name: "mipi_dsi_device"
@@ -235899,58 +240491,6 @@ struct_union {
}
}
struct_union {
- id: 0x846ab93f
- kind: STRUCT
- name: "mmu_notifier"
- definition {
- bytesize: 72
- member_id: 0x2d522361
- member_id: 0xafb0c299
- member_id: 0x3025dd22
- member_id: 0x95dac9dc
- member_id: 0x85e876e9
- member_id: 0x2d081245
- member_id: 0x637602ba
- }
-}
-struct_union {
- id: 0x65fba0a9
- kind: STRUCT
- name: "mmu_notifier_ops"
- definition {
- bytesize: 112
- member_id: 0xae94e729
- member_id: 0xe32eadd5
- member_id: 0xf2531964
- member_id: 0xa10fc33f
- member_id: 0x83d10832
- member_id: 0x0545c767
- member_id: 0x4f063390
- member_id: 0x6e9b1c0d
- member_id: 0xaf409590
- member_id: 0xfc81ed63
- member_id: 0x2d08134b
- member_id: 0x63760b9f
- member_id: 0xac8941f8
- member_id: 0xe0f637f1
- }
-}
-struct_union {
- id: 0xa68d9aed
- kind: STRUCT
- name: "mmu_notifier_range"
- definition {
- bytesize: 48
- member_id: 0x23919a13
- member_id: 0x3025d10a
- member_id: 0x46284ff6
- member_id: 0x823c26d1
- member_id: 0x2d2d0193
- member_id: 0x0ad7602b
- member_id: 0x4a85cf2e
- }
-}
-struct_union {
id: 0xd1ebc718
kind: STRUCT
name: "mmu_notifier_subscriptions"
@@ -237772,8 +242312,8 @@ struct_union {
member_id: 0xada1cece
member_id: 0x48ccbe61
member_id: 0x61f40f68
- member_id: 0x56771d1e
- member_id: 0xfbd45c2d
+ member_id: 0x567d4292
+ member_id: 0xfbd4593e
member_id: 0x2d081262
}
}
@@ -238054,6 +242594,17 @@ struct_union {
}
}
struct_union {
+ id: 0x68d1b84a
+ kind: STRUCT
+ name: "nf_conntrack_zone"
+ definition {
+ bytesize: 4
+ member_id: 0xccbe612e
+ member_id: 0x2d41d692
+ member_id: 0x2edf726f
+ }
+}
+struct_union {
id: 0x5f7df287
kind: STRUCT
name: "nf_ct_dccp"
@@ -238639,6 +243190,22 @@ struct_union {
}
}
struct_union {
+ id: 0x292b4bb0
+ kind: STRUCT
+ name: "nls_table"
+ definition {
+ bytesize: 64
+ member_id: 0x551378c2
+ member_id: 0x25050ebe
+ member_id: 0xe6eaad3f
+ member_id: 0x26d4a9a4
+ member_id: 0x6322a32f
+ member_id: 0x06048b6e
+ member_id: 0x4a9653c2
+ member_id: 0x11f3dd43
+ }
+}
+struct_union {
id: 0x594b6ab2
kind: STRUCT
name: "notification"
@@ -239108,6 +243675,23 @@ struct_union {
}
}
struct_union {
+ id: 0xdbe44b66
+ kind: STRUCT
+ name: "oom_control"
+ definition {
+ bytesize: 64
+ member_id: 0x15c9fb88
+ member_id: 0x788bc17d
+ member_id: 0xc76cfce5
+ member_id: 0xa4b05168
+ member_id: 0xb51c2507
+ member_id: 0x7248bb69
+ member_id: 0x1024996f
+ member_id: 0x3d099644
+ member_id: 0xaf3405ec
+ }
+}
+struct_union {
id: 0x95539d46
kind: STRUCT
name: "open_how"
@@ -239328,6 +243912,23 @@ struct_union {
}
}
struct_union {
+ id: 0x798d1382
+ kind: STRUCT
+ name: "page_vma_mapped_walk"
+ definition {
+ bytesize: 72
+ member_id: 0x64bb7964
+ member_id: 0xe3b1b19e
+ member_id: 0xadfdef1c
+ member_id: 0x239192da
+ member_id: 0x30e26822
+ member_id: 0x56639dd1
+ member_id: 0xa17fe2dc
+ member_id: 0xce4422cd
+ member_id: 0x2d2d0a20
+ }
+}
+struct_union {
id: 0x3844dda9
kind: STRUCT
name: "pagevec"
@@ -241708,19 +246309,6 @@ struct_union {
}
}
struct_union {
- id: 0x5fd7ae1b
- kind: STRUCT
- name: "pmu_hw_events"
- definition {
- bytesize: 288
- member_id: 0x11a602db
- member_id: 0x0170d376
- member_id: 0x03f344e6
- member_id: 0x34c743f9
- member_id: 0x99159c15
- }
-}
-struct_union {
id: 0x0f15c20c
kind: UNION
name: "pn"
@@ -241742,7 +246330,7 @@ struct_union {
member_id: 0x94d42733
member_id: 0x2da184bc
member_id: 0xdcf61166
- member_id: 0x209860f9
+ member_id: 0x20a07181
}
}
struct_union {
@@ -242244,26 +246832,6 @@ struct_union {
}
}
struct_union {
- id: 0x89c67026
- kind: STRUCT
- name: "preempt_notifier"
- definition {
- bytesize: 24
- member_id: 0x55f738dc
- member_id: 0xafaa08ab
- }
-}
-struct_union {
- id: 0xae47ce96
- kind: STRUCT
- name: "preempt_ops"
- definition {
- bytesize: 16
- member_id: 0xe0b448e4
- member_id: 0x7b24028f
- }
-}
-struct_union {
id: 0x1331151e
kind: STRUCT
name: "prefix_info"
@@ -244704,6 +249272,22 @@ struct_union {
}
}
struct_union {
+ id: 0xf05a506e
+ kind: STRUCT
+ name: "request_sock_queue"
+ definition {
+ bytesize: 80
+ member_id: 0xf1af1f8d
+ member_id: 0x6f5c1006
+ member_id: 0x77b35ac5
+ member_id: 0x9be65a12
+ member_id: 0x2baf73ff
+ member_id: 0x5367b67f
+ member_id: 0x07b1da25
+ member_id: 0x5aaa76bb
+ }
+}
+struct_union {
id: 0x85641a49
kind: STRUCT
name: "reserved_mem"
@@ -245572,6 +250156,30 @@ struct_union {
}
}
struct_union {
+ id: 0xca62ed00
+ kind: STRUCT
+ name: "rsa_key"
+ definition {
+ bytesize: 128
+ member_id: 0x4659cf92
+ member_id: 0x87e623f5
+ member_id: 0xc325cba2
+ member_id: 0xa68e47c8
+ member_id: 0xe94def1c
+ member_id: 0x55f0c48b
+ member_id: 0x12302e1a
+ member_id: 0x060b5e2a
+ member_id: 0x0cc91dc5
+ member_id: 0xab258a23
+ member_id: 0xcc4dd9fb
+ member_id: 0x73d7a8f4
+ member_id: 0x30c8a340
+ member_id: 0x086093bd
+ member_id: 0x8d88c04b
+ member_id: 0x112d65f6
+ }
+}
+struct_union {
id: 0xdbc8b0ff
kind: STRUCT
name: "rt6_exception_bucket"
@@ -246046,6 +250654,16 @@ struct_union {
}
}
struct_union {
+ id: 0xa065b5b5
+ kind: STRUCT
+ name: "sbq_wait"
+ definition {
+ bytesize: 48
+ member_id: 0xd440bc7f
+ member_id: 0x201ba432
+ }
+}
+struct_union {
id: 0x2c37cb88
kind: STRUCT
name: "sbq_wait_state"
@@ -246055,6 +250673,16 @@ struct_union {
}
}
struct_union {
+ id: 0xc440583a
+ kind: STRUCT
+ name: "scatter_walk"
+ definition {
+ bytesize: 16
+ member_id: 0x9d8652e2
+ member_id: 0x9b595d43
+ }
+}
+struct_union {
id: 0x6d7f0eb8
kind: STRUCT
name: "scatterlist"
@@ -248241,14 +252869,13 @@ struct_union {
kind: STRUCT
name: "size_class"
definition {
- bytesize: 136
- member_id: 0x2d1fec85
- member_id: 0xf667d80f
- member_id: 0xd91935d3
- member_id: 0x7a226550
- member_id: 0x338646f2
- member_id: 0xad7c8a98
- member_id: 0xb91e0d04
+ bytesize: 128
+ member_id: 0xf667dcee
+ member_id: 0xd91937b9
+ member_id: 0x7a226b7d
+ member_id: 0x338649f9
+ member_id: 0xad7c8d2b
+ member_id: 0xb91e0940
}
}
struct_union {
@@ -248357,7 +252984,7 @@ struct_union {
kind: STRUCT
name: "sk_psock"
definition {
- bytesize: 392
+ bytesize: 472
member_id: 0x828c89b5
member_id: 0xbca70c75
member_id: 0x89339cbd
@@ -248382,8 +253009,8 @@ struct_union {
member_id: 0xd95f8065
member_id: 0xd6e43b14
member_id: 0xaf49a3ae
- member_id: 0xd6e66228
- member_id: 0xa56878ce
+ member_id: 0xd60840ef
+ member_id: 0xa568765c
}
}
struct_union {
@@ -248403,10 +253030,9 @@ struct_union {
kind: STRUCT
name: "sk_psock_work_state"
definition {
- bytesize: 16
- member_id: 0xb0b8667e
- member_id: 0xb8ccd99c
- member_id: 0x8b1c39bc
+ bytesize: 8
+ member_id: 0xb8ccdd7d
+ member_id: 0x8b1c3d04
}
}
struct_union {
@@ -248450,6 +253076,16 @@ struct_union {
}
}
struct_union {
+ id: 0xeb42d758
+ kind: STRUCT
+ name: "skcipher_instance"
+ definition {
+ bytesize: 576
+ member_id: 0xfeafbaf6
+ member_id: 0x300b2d2f
+ }
+}
+struct_union {
id: 0x5a18785c
kind: STRUCT
name: "skcipher_request"
@@ -248464,6 +253100,30 @@ struct_union {
}
}
struct_union {
+ id: 0xb9a7d20f
+ kind: STRUCT
+ name: "skcipher_walk"
+ definition {
+ bytesize: 152
+ member_id: 0x446cb466
+ member_id: 0xbbab7e83
+ member_id: 0x5c6f2950
+ member_id: 0x9a42cf0b
+ member_id: 0xb335975f
+ member_id: 0x9d16fe6e
+ member_id: 0xc0824dc3
+ member_id: 0x32051c2a
+ member_id: 0x33decf44
+ member_id: 0xe5a6cde2
+ member_id: 0x56ccb987
+ member_id: 0x8320112b
+ member_id: 0x2d0fadac
+ member_id: 0x89cc162f
+ member_id: 0x5e10ffff
+ member_id: 0x9d7710c5
+ }
+}
+struct_union {
id: 0x140795ac
kind: STRUCT
name: "slab"
@@ -248531,6 +253191,25 @@ struct_union {
name: "smc_hashinfo"
}
struct_union {
+ id: 0xf265ff6f
+ kind: STRUCT
+ name: "smp_hotplug_thread"
+ definition {
+ bytesize: 96
+ member_id: 0xacd44104
+ member_id: 0x7c00ebb3
+ member_id: 0x4118a1ce
+ member_id: 0x3e886d7b
+ member_id: 0x0f89928e
+ member_id: 0x84c3a238
+ member_id: 0x200938c6
+ member_id: 0xc70bed2a
+ member_id: 0x6fd6cd07
+ member_id: 0x5937e22e
+ member_id: 0xa81d1890
+ }
+}
+struct_union {
id: 0x6c8e86b4
kind: STRUCT
name: "snd_aes_iec958"
@@ -250264,6 +254943,19 @@ struct_union {
}
}
struct_union {
+ id: 0x85598cc2
+ kind: STRUCT
+ name: "snd_soc_jack_zone"
+ definition {
+ bytesize: 32
+ member_id: 0xa07cb245
+ member_id: 0xeaccae16
+ member_id: 0x9f7caab9
+ member_id: 0x74a266cc
+ member_id: 0x7c00e690
+ }
+}
+struct_union {
id: 0x69e1c6f0
kind: STRUCT
name: "snd_soc_ops"
@@ -250765,6 +255457,21 @@ struct_union {
}
}
struct_union {
+ id: 0x201f4d61
+ kind: STRUCT
+ name: "snd_usb_audio_vendor_ops"
+ definition {
+ bytesize: 56
+ member_id: 0x88f65c40
+ member_id: 0x58055805
+ member_id: 0x18766439
+ member_id: 0x2d081dfb
+ member_id: 0x63760909
+ member_id: 0xac894e91
+ member_id: 0xe0f635d9
+ }
+}
+struct_union {
id: 0xb7b99e10
kind: STRUCT
name: "snd_usb_clock_ref"
@@ -251011,6 +255718,7 @@ struct_union {
member_id: 0x69be7cba
member_id: 0xa5fca811
member_id: 0x519959d7
+ member_id: 0x8a1dbb2d
member_id: 0xbbf2e8a0
member_id: 0x3bc43305
member_id: 0x729e4302
@@ -252173,6 +256881,43 @@ struct_union {
}
}
struct_union {
+ id: 0xf2cb0e35
+ kind: STRUCT
+ name: "target_type"
+ definition {
+ bytesize: 248
+ member_id: 0xc504f94b
+ member_id: 0x0de57809
+ member_id: 0x965f1ffc
+ member_id: 0xa662981f
+ member_id: 0x64f1a684
+ member_id: 0xb0de17e8
+ member_id: 0x8d8ccb94
+ member_id: 0xe7b15fc6
+ member_id: 0x2e40d714
+ member_id: 0xec54a25c
+ member_id: 0x37cf0b9e
+ member_id: 0x542288b2
+ member_id: 0x8a92bcd2
+ member_id: 0xc58884a8
+ member_id: 0xc22f1b4d
+ member_id: 0xcae841ae
+ member_id: 0x20dd7873
+ member_id: 0x9de5400c
+ member_id: 0xd1d88fb4
+ member_id: 0x0d0ed2a2
+ member_id: 0x60a635ef
+ member_id: 0x5a8eeaf5
+ member_id: 0x4b3c38dc
+ member_id: 0x6b820536
+ member_id: 0xc7158a13
+ member_id: 0x830b1efa
+ member_id: 0x2d081217
+ member_id: 0x63760fd1
+ member_id: 0x7c00e44f
+ }
+}
+struct_union {
id: 0x4e9556c5
kind: STRUCT
name: "task_cputime"
@@ -252462,7 +257207,7 @@ struct_union {
member_id: 0xedf50137
member_id: 0xd666cd53
member_id: 0x9a3ad7bf
- member_id: 0x2d081767
+ member_id: 0x3024ec51
member_id: 0x63760531
member_id: 0xac894e97
member_id: 0xe0f63fac
@@ -252896,6 +257641,30 @@ struct_union {
}
}
struct_union {
+ id: 0x0cb73b55
+ kind: STRUCT
+ name: "tcp_fastopen_cookie"
+ definition {
+ bytesize: 24
+ member_id: 0x4f647aa3
+ member_id: 0xb82c6bed
+ member_id: 0x9633fcdf
+ }
+}
+struct_union {
+ id: 0x38e5bb2f
+ kind: STRUCT
+ name: "tcp_fastopen_request"
+ definition {
+ bytesize: 56
+ member_id: 0x5846e373
+ member_id: 0xffbef712
+ member_id: 0xd98a29b1
+ member_id: 0x5414dc08
+ member_id: 0x50ba6c8c
+ }
+}
+struct_union {
id: 0x85ab6757
kind: STRUCT
name: "tcp_mib"
@@ -252905,6 +257674,220 @@ struct_union {
}
}
struct_union {
+ id: 0xfb9626d5
+ kind: STRUCT
+ name: "tcp_options_received"
+ definition {
+ bytesize: 24
+ member_id: 0x8131134d
+ member_id: 0x851fefad
+ member_id: 0x908732db
+ member_id: 0xa56c13a3
+ member_id: 0x037e8aa7
+ member_id: 0xcd6e1313
+ member_id: 0x09aae020
+ member_id: 0xf0ca4be8
+ member_id: 0xa9edea21
+ member_id: 0x7d4497ce
+ member_id: 0xa597551f
+ member_id: 0x64ea7467
+ member_id: 0x9eb3a9b9
+ member_id: 0xc2fb89b4
+ member_id: 0x7cf21fa8
+ member_id: 0xc4835a3d
+ member_id: 0x5ddbff68
+ }
+}
+struct_union {
+ id: 0xd4132c46
+ kind: STRUCT
+ name: "tcp_rack"
+ definition {
+ bytesize: 24
+ member_id: 0xf3d1e1b3
+ member_id: 0x2e52fcab
+ member_id: 0xd5a564b1
+ member_id: 0x8762b004
+ member_id: 0xc2607053
+ member_id: 0x599289d3
+ member_id: 0x28f28f83
+ member_id: 0xec6d552f
+ }
+}
+struct_union {
+ id: 0xe9e88d93
+ kind: STRUCT
+ name: "tcp_sack_block"
+ definition {
+ bytesize: 8
+ member_id: 0x3d5d011f
+ member_id: 0xd5a56009
+ }
+}
+struct_union {
+ id: 0x45ac4f1e
+ kind: STRUCT
+ name: "tcp_sock"
+ definition {
+ bytesize: 2368
+ member_id: 0x07676cab
+ member_id: 0xc07533a2
+ member_id: 0x085eba8a
+ member_id: 0xfcce6b61
+ member_id: 0xda945faa
+ member_id: 0x43536458
+ member_id: 0x7ecbe350
+ member_id: 0x722b8728
+ member_id: 0x1ec2d3d6
+ member_id: 0x93db6466
+ member_id: 0x24e972c0
+ member_id: 0xef3672e0
+ member_id: 0xdb2f5379
+ member_id: 0x840adfe0
+ member_id: 0x3ed6f46c
+ member_id: 0x7efdf5c5
+ member_id: 0x8248546f
+ member_id: 0x9c800493
+ member_id: 0x9a3cd5ff
+ member_id: 0xcaaa728e
+ member_id: 0x41099e1a
+ member_id: 0x036494f3
+ member_id: 0xaf1c2858
+ member_id: 0xb4b04624
+ member_id: 0x3fe882fb
+ member_id: 0x1f8008f5
+ member_id: 0xb8d73d0d
+ member_id: 0xb0b5b654
+ member_id: 0x8571ffda
+ member_id: 0x98ad753d
+ member_id: 0x8a514678
+ member_id: 0x2c2c5bfb
+ member_id: 0x1d3891d6
+ member_id: 0x4aed4e02
+ member_id: 0x330d862e
+ member_id: 0xdab01e8a
+ member_id: 0xd0fa2acf
+ member_id: 0x6c3076ab
+ member_id: 0x4b0fd146
+ member_id: 0x5514b7d1
+ member_id: 0xd6330125
+ member_id: 0x5d29f448
+ member_id: 0x72c8b468
+ member_id: 0xb9f127f6
+ member_id: 0xa42f5b5e
+ member_id: 0xa073f76a
+ member_id: 0xe07791d5
+ member_id: 0xd4dd684d
+ member_id: 0xf06d788d
+ member_id: 0xdaf769b4
+ member_id: 0xd0cd0f99
+ member_id: 0x1d3cf444
+ member_id: 0x590d4988
+ member_id: 0x5e175424
+ member_id: 0xe4473696
+ member_id: 0x1273b273
+ member_id: 0x7d5a2639
+ member_id: 0xb9645bc8
+ member_id: 0x81d25425
+ member_id: 0x5005e20e
+ member_id: 0x2c472957
+ member_id: 0x5e1e9277
+ member_id: 0x0c6e4e2a
+ member_id: 0x28d4f0ae
+ member_id: 0x00d04522
+ member_id: 0xf098d631
+ member_id: 0x861205e4
+ member_id: 0x50d5f815
+ member_id: 0xbb70420d
+ member_id: 0xfdbc865b
+ member_id: 0x0b8a1650
+ member_id: 0x1d340096
+ member_id: 0xd7cfbd25
+ member_id: 0x6e240c8e
+ member_id: 0x3dfa7679
+ member_id: 0xeb2f3b5f
+ member_id: 0x6e16f71f
+ member_id: 0xbffa6140
+ member_id: 0x611d6152
+ member_id: 0xedd761bd
+ member_id: 0xcf588653
+ member_id: 0x3b23e448
+ member_id: 0xdef99a11
+ member_id: 0x0ed29348
+ member_id: 0x9e51f1aa
+ member_id: 0xe301bb69
+ member_id: 0xa9ca3fe9
+ member_id: 0x3ce5a47e
+ member_id: 0xe9e7b435
+ member_id: 0x986caa86
+ member_id: 0xe06780dd
+ member_id: 0x14a57188
+ member_id: 0x484997ff
+ member_id: 0xc8ee40be
+ member_id: 0xc6e15ebb
+ member_id: 0x18e683dd
+ member_id: 0x47a61a29
+ member_id: 0x073e90bb
+ member_id: 0xd5cb059f
+ member_id: 0xfdfb52fb
+ member_id: 0xa598ac7c
+ member_id: 0x2d8724a1
+ member_id: 0xbd3e4a51
+ member_id: 0xb18c6cab
+ member_id: 0xe98a4697
+ member_id: 0x86cd98a0
+ member_id: 0x05aa0dfa
+ member_id: 0x0b88a7b8
+ member_id: 0x78ec3163
+ member_id: 0xac4c8092
+ member_id: 0x3a30a25b
+ member_id: 0x2ae3d7d3
+ member_id: 0x6da3106a
+ member_id: 0x36a89416
+ member_id: 0x17b8fb75
+ member_id: 0x60f3e5b5
+ member_id: 0x92525caa
+ member_id: 0x44e15491
+ member_id: 0x7392ff81
+ member_id: 0xd77f2af8
+ member_id: 0x1ab0aff5
+ member_id: 0xf6fff0ee
+ member_id: 0x9e7c1e77
+ member_id: 0xb4c1a226
+ member_id: 0x0ab38392
+ member_id: 0xa6861f94
+ member_id: 0xf5c438ad
+ member_id: 0x203d8bb9
+ member_id: 0x3a366be0
+ member_id: 0xcebd1125
+ member_id: 0x035a9f8f
+ member_id: 0x38961e9d
+ member_id: 0x541b592a
+ member_id: 0x3641013e
+ member_id: 0x349100e3
+ member_id: 0x7a4a99f1
+ member_id: 0x72f4ca16
+ member_id: 0x2d081e39
+ }
+}
+struct_union {
+ id: 0xa19fd9aa
+ kind: STRUCT
+ name: "tcp_ulp_ops"
+ definition {
+ bytesize: 88
+ member_id: 0x7c00ef52
+ member_id: 0x1ac6e8a5
+ member_id: 0xd6aa460e
+ member_id: 0xae97905e
+ member_id: 0x1d9b9b9d
+ member_id: 0xbaa156f0
+ member_id: 0xf6c2da43
+ member_id: 0x0d994758
+ member_id: 0x4a965429
+ }
+}
+struct_union {
id: 0xcfff757d
kind: STRUCT
name: "tcpc_dev"
@@ -256687,6 +261670,72 @@ struct_union {
}
}
struct_union {
+ id: 0x305bf810
+ kind: STRUCT
+ name: "usb_cdc_ncm_dpe16"
+ definition {
+ bytesize: 4
+ member_id: 0xdd4cd36f
+ member_id: 0x3643720a
+ }
+}
+struct_union {
+ id: 0x3d26f6d4
+ kind: STRUCT
+ name: "usb_cdc_ncm_dpe32"
+ definition {
+ bytesize: 8
+ member_id: 0x09ca9dd2
+ member_id: 0x348d64a1
+ }
+}
+struct_union {
+ id: 0xc4e4c198
+ kind: STRUCT
+ name: "usb_cdc_ncm_ndp16"
+ definition {
+ bytesize: 8
+ member_id: 0x1e7efd51
+ member_id: 0x070c8108
+ member_id: 0x28625ee1
+ member_id: 0xab0f277e
+ }
+}
+struct_union {
+ id: 0xfdba3915
+ kind: STRUCT
+ name: "usb_cdc_ncm_ndp32"
+ definition {
+ bytesize: 16
+ member_id: 0x1e7efd51
+ member_id: 0x070c8108
+ member_id: 0xe3bc934c
+ member_id: 0x6e82996c
+ member_id: 0x46e37740
+ member_id: 0x015a8ae1
+ }
+}
+struct_union {
+ id: 0xc4793083
+ kind: STRUCT
+ name: "usb_cdc_ncm_ntb_parameters"
+ definition {
+ bytesize: 28
+ member_id: 0x070c8c33
+ member_id: 0x6b1b4f66
+ member_id: 0x7000a99b
+ member_id: 0x8464bb02
+ member_id: 0x2c655b0e
+ member_id: 0x2726a674
+ member_id: 0x0550cff2
+ member_id: 0xc1f69c16
+ member_id: 0x5a711378
+ member_id: 0xcf666fe6
+ member_id: 0x13c51648
+ member_id: 0x364cd8ff
+ }
+}
+struct_union {
id: 0x50209186
kind: STRUCT
name: "usb_cdc_network_terminal_desc"
@@ -256766,6 +261815,18 @@ struct_union {
}
}
struct_union {
+ id: 0xe6289375
+ kind: STRUCT
+ name: "usb_class_driver"
+ definition {
+ bytesize: 32
+ member_id: 0x0ddfefbb
+ member_id: 0x1ea56ad0
+ member_id: 0xb1aa5772
+ member_id: 0xa298fce5
+ }
+}
+struct_union {
id: 0xaec12290
kind: STRUCT
name: "usb_composite_dev"
@@ -257579,7 +262640,7 @@ struct_union {
kind: STRUCT
name: "usb_phy"
definition {
- bytesize: 360
+ bytesize: 392
member_id: 0xce3bbab3
member_id: 0x0517076e
member_id: 0x2d2d08fa
@@ -257611,7 +262672,11 @@ struct_union {
member_id: 0x56fe5fc2
member_id: 0x975fa344
member_id: 0x04f8f40a
- member_id: 0x2d081a58
+ member_id: 0xedc9a6ac
+ member_id: 0x2d081bb9
+ member_id: 0x637600f9
+ member_id: 0xac894f5e
+ member_id: 0xe0f63bda
}
}
struct_union {
@@ -257974,13 +263039,16 @@ struct_union {
kind: STRUCT
name: "usb_udc"
definition {
- bytesize: 952
+ bytesize: 1048
member_id: 0xd477fd9a
member_id: 0x1875f4a8
member_id: 0xce1ac88b
member_id: 0x7c00e340
member_id: 0xa8b1a153
member_id: 0x5367cfd2
+ member_id: 0x14e2bc0d
+ member_id: 0xdf3f679f
+ member_id: 0x997c2cff
}
}
struct_union {
@@ -261099,18 +266167,6 @@ struct_union {
}
}
struct_union {
- id: 0x3f42023f
- kind: STRUCT
- name: "vcpu_reset_state"
- definition {
- bytesize: 24
- member_id: 0xa5f74e1c
- member_id: 0x766556ed
- member_id: 0x09a85b04
- member_id: 0x62d0d919
- }
-}
-struct_union {
id: 0x9871ee6b
kind: STRUCT
name: "vfsmount"
@@ -261127,196 +266183,6 @@ struct_union {
}
}
struct_union {
- id: 0xe46534dd
- kind: STRUCT
- name: "vgic_cpu"
- definition {
- bytesize: 4000
- member_id: 0x3b3d55bb
- member_id: 0xdbd2d18f
- member_id: 0xc8f35c78
- member_id: 0x18b67de8
- member_id: 0xb5b5379c
- member_id: 0x525d4aae
- member_id: 0xe932d634
- member_id: 0x5debde6d
- member_id: 0x8109b274
- member_id: 0x8ed30508
- member_id: 0xbf52270e
- member_id: 0xf95b9cd7
- }
-}
-struct_union {
- id: 0x2c25c966
- kind: STRUCT
- name: "vgic_dist"
- definition {
- bytesize: 304
- member_id: 0xd935af97
- member_id: 0xa3f017bd
- member_id: 0xd56295db
- member_id: 0xe66fe569
- member_id: 0x7a0e7466
- member_id: 0x76466478
- member_id: 0x7abe829e
- member_id: 0x5eb23b58
- member_id: 0xc573cedf
- member_id: 0x36fb8f0a
- member_id: 0x3a2d3f2e
- member_id: 0xb1e7f3ff
- member_id: 0xde92dea2
- member_id: 0x6fe87475
- member_id: 0x557bdab2
- member_id: 0x703b904f
- member_id: 0xbe693b59
- member_id: 0x9c466cf2
- member_id: 0x4d9128b0
- member_id: 0xd5bf2684
- member_id: 0x2b5908df
- member_id: 0xa736298d
- }
-}
-struct_union {
- id: 0x60b9a60c
- kind: STRUCT
- name: "vgic_io_device"
- definition {
- bytesize: 40
- member_id: 0xf9ecc4b7
- member_id: 0x3551435a
- member_id: 0x4e19f41c
- member_id: 0x10f4be53
- member_id: 0xddd1c1b9
- member_id: 0xce062759
- }
-}
-struct_union {
- id: 0x421531e8
- kind: STRUCT
- name: "vgic_irq"
- definition {
- bytesize: 112
- member_id: 0x8c92967c
- member_id: 0x9ecea343
- member_id: 0xd96ad022
- member_id: 0xa936a512
- member_id: 0x096d65bb
- member_id: 0x4af72c65
- member_id: 0x2b9d91fc
- member_id: 0x004ca63d
- member_id: 0x224f240b
- member_id: 0x3a2d3590
- member_id: 0x97aa71b6
- member_id: 0x05ec0a8d
- member_id: 0xb62bb539
- member_id: 0xc2defa03
- member_id: 0x371515be
- member_id: 0xd707c4f8
- member_id: 0x8f0fcc44
- member_id: 0x10cd0450
- member_id: 0xd3bb5c92
- member_id: 0xd1469e0e
- member_id: 0xaf890e76
- member_id: 0x4a85cb53
- }
-}
-struct_union {
- id: 0xdbe5858f
- kind: STRUCT
- name: "vgic_its"
- definition {
- bytesize: 232
- member_id: 0x0f936dd3
- member_id: 0x3a2d3a5d
- member_id: 0xc33609f7
- member_id: 0xce0bc034
- member_id: 0x58199dc6
- member_id: 0x9232ba55
- member_id: 0x28ddf56e
- member_id: 0xd83a0eba
- member_id: 0x110caede
- member_id: 0x09c4ee83
- member_id: 0xb41bc738
- member_id: 0x857bfedc
- member_id: 0x5adf7097
- member_id: 0x5a9c1331
- }
-}
-struct_union {
- id: 0x6ff43c7f
- kind: STRUCT
- name: "vgic_redist_region"
- definition {
- bytesize: 40
- member_id: 0xadf00094
- member_id: 0x85c1a1cb
- member_id: 0x65ec5e2d
- member_id: 0x3e423a64
- member_id: 0x7c00e79b
- }
-}
-struct_union {
- id: 0x3ae08515
- kind: STRUCT
- name: "vgic_register_region"
- definition {
- bytesize: 48
- member_id: 0x83dea94b
- member_id: 0xb8405d0b
- member_id: 0xbab5eab6
- member_id: 0xcb7a7a49
- member_id: 0x32f872a3
- member_id: 0x353d48f5
- member_id: 0x8638eb22
- member_id: 0x353b064f
- }
-}
-struct_union {
- id: 0xc5586f9b
- kind: STRUCT
- name: "vgic_state_iter"
- definition {
- bytesize: 40
- member_id: 0xc2c8918f
- member_id: 0x5eb23fa1
- member_id: 0x2af96acc
- member_id: 0x929175ec
- member_id: 0x7c4a5fae
- member_id: 0x4a590e0a
- member_id: 0x43246e2d
- member_id: 0xeca52885
- }
-}
-struct_union {
- id: 0x020c6b41
- kind: STRUCT
- name: "vgic_v2_cpu_if"
- definition {
- bytesize: 272
- member_id: 0x4a8c149d
- member_id: 0x38bbfe42
- member_id: 0xc9dbb39f
- member_id: 0xa73178a4
- member_id: 0x867737e5
- }
-}
-struct_union {
- id: 0xbfc414f5
- kind: STRUCT
- name: "vgic_v3_cpu_if"
- definition {
- bytesize: 312
- member_id: 0x4a8c149d
- member_id: 0x38bbfe42
- member_id: 0x28fa73a3
- member_id: 0xaa37d774
- member_id: 0x47207a3e
- member_id: 0xa75822b6
- member_id: 0xa9a971b2
- member_id: 0x8677397b
- }
-}
-struct_union {
id: 0xcf6d5ce3
kind: STRUCT
name: "vhost_dev"
@@ -262810,6 +267676,24 @@ struct_union {
}
}
struct_union {
+ id: 0xa406f9d2
+ kind: STRUCT
+ name: "xa_state"
+ definition {
+ bytesize: 56
+ member_id: 0x2d4312a7
+ member_id: 0x443272df
+ member_id: 0xfbb0a625
+ member_id: 0xb55e6ff0
+ member_id: 0xade1378e
+ member_id: 0xb6a1c909
+ member_id: 0xa6e487bd
+ member_id: 0x4487c243
+ member_id: 0x1ec9237c
+ member_id: 0x13932b74
+ }
+}
+struct_union {
id: 0x80c20070
kind: STRUCT
name: "xarray"
@@ -262821,6 +267705,17 @@ struct_union {
}
}
struct_union {
+ id: 0xbf3a351e
+ kind: STRUCT
+ name: "xattr"
+ definition {
+ bytesize: 24
+ member_id: 0x0de57ce8
+ member_id: 0xa010e540
+ member_id: 0x9bef952d
+ }
+}
+struct_union {
id: 0x1016eff1
kind: STRUCT
name: "xattr_handler"
@@ -263321,6 +268216,27 @@ struct_union {
}
}
struct_union {
+ id: 0xe716d120
+ kind: STRUCT
+ name: "xfrm_state_afinfo"
+ definition {
+ bytesize: 96
+ member_id: 0x9e7cf46f
+ member_id: 0x5d4a9b23
+ member_id: 0x797b9c35
+ member_id: 0xc64a2d69
+ member_id: 0xec93386d
+ member_id: 0xf788152f
+ member_id: 0xd4787e60
+ member_id: 0x7263c7bf
+ member_id: 0x34322597
+ member_id: 0xf2fe58e1
+ member_id: 0xdf6660f4
+ member_id: 0xf2cb3293
+ member_id: 0x2a3c445d
+ }
+}
+struct_union {
id: 0xbc1c435b
kind: STRUCT
name: "xfrm_state_walk"
@@ -263493,7 +268409,7 @@ struct_union {
kind: STRUCT
name: "xhci_driver_overrides"
definition {
- bytesize: 64
+ bytesize: 120
member_id: 0x162bfab8
member_id: 0x62920d2b
member_id: 0x46349d11
@@ -263502,6 +268418,26 @@ struct_union {
member_id: 0x8372d25d
member_id: 0x1a3855a9
member_id: 0x313715cf
+ member_id: 0x2bbb15d8
+ member_id: 0x91993cba
+ member_id: 0x2a260680
+ member_id: 0x2d08170f
+ member_id: 0x6376010c
+ member_id: 0xac894aec
+ member_id: 0xe0f63eed
+ }
+}
+struct_union {
+ id: 0xb623120e
+ kind: STRUCT
+ name: "xhci_ep_ctx"
+ definition {
+ bytesize: 32
+ member_id: 0x43272c66
+ member_id: 0x3efdd095
+ member_id: 0x8001f399
+ member_id: 0x67023990
+ member_id: 0xd4738ef3
}
}
struct_union {
@@ -263623,7 +268559,7 @@ struct_union {
member_id: 0x06879837
member_id: 0xf762467b
member_id: 0x26b32295
- member_id: 0x2d0811d3
+ member_id: 0x31a5da6f
member_id: 0x63760917
member_id: 0xac894244
member_id: 0xe0f63158
@@ -263820,6 +268756,19 @@ struct_union {
}
}
struct_union {
+ id: 0xe2d6574a
+ kind: STRUCT
+ name: "xhci_slot_ctx"
+ definition {
+ bytesize: 32
+ member_id: 0x1d443303
+ member_id: 0xb6174f2e
+ member_id: 0x8905c822
+ member_id: 0x6ba2a863
+ member_id: 0xd4ed0237
+ }
+}
+struct_union {
id: 0x051dcd31
kind: STRUCT
name: "xhci_stream_ctx"
@@ -263881,6 +268830,29 @@ struct_union {
}
}
struct_union {
+ id: 0x92256367
+ kind: STRUCT
+ name: "xhci_vendor_ops"
+ definition {
+ bytesize: 120
+ member_id: 0xcc0a44cd
+ member_id: 0x19d3d4c2
+ member_id: 0x62d4e2e8
+ member_id: 0x50156eb5
+ member_id: 0x77a0ad98
+ member_id: 0xb2953bfa
+ member_id: 0x3965c2a5
+ member_id: 0x88a8ecb4
+ member_id: 0xc6a4da74
+ member_id: 0x3f6534a2
+ member_id: 0xd988303d
+ member_id: 0x2d08170f
+ member_id: 0x6376010c
+ member_id: 0xac894aec
+ member_id: 0xe0f63eed
+ }
+}
+struct_union {
id: 0xbafe14c8
kind: STRUCT
name: "xhci_virt_device"
@@ -264118,7 +269090,8 @@ struct_union {
member_id: 0xb9089225
member_id: 0x868caa9e
member_id: 0x8a67a9e5
- member_id: 0xdb33fcdf
+ member_id: 0x2d1fe43b
+ member_id: 0x9ad71760
}
}
struct_union {
@@ -264140,6 +269113,23 @@ struct_union {
}
}
enumeration {
+ id: 0x42178190
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "STATUSTYPE_INFO"
+ }
+ enumerator {
+ name: "STATUSTYPE_TABLE"
+ value: 1
+ }
+ enumerator {
+ name: "STATUSTYPE_IMA"
+ value: 2
+ }
+ }
+}
+enumeration {
id: 0x4f34306c
definition {
underlying_type_id: 0x4585663f
@@ -264506,23 +269496,6 @@ enumeration {
}
}
enumeration {
- id: 0x7e388552
- definition {
- underlying_type_id: 0x4585663f
- enumerator {
- name: "FP_STATE_FREE"
- }
- enumerator {
- name: "FP_STATE_HOST_OWNED"
- value: 1
- }
- enumerator {
- name: "FP_STATE_GUEST_OWNED"
- value: 2
- }
- }
-}
-enumeration {
id: 0x09f65231
name: "OID"
definition {
@@ -264965,6 +269938,70 @@ enumeration {
}
}
enumeration {
+ id: 0x503181cf
+ name: "android_debug_per_cpu_symbol"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "ADS_IRQ_STACK_PTR"
+ }
+ enumerator {
+ name: "ADS_DEBUG_PER_CPU_END"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0x705ce9b7
+ name: "android_debug_symbol"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "ADS_SDATA"
+ }
+ enumerator {
+ name: "ADS_BSS_END"
+ value: 1
+ }
+ enumerator {
+ name: "ADS_PER_CPU_START"
+ value: 2
+ }
+ enumerator {
+ name: "ADS_PER_CPU_END"
+ value: 3
+ }
+ enumerator {
+ name: "ADS_TEXT"
+ value: 4
+ }
+ enumerator {
+ name: "ADS_SEND"
+ value: 5
+ }
+ enumerator {
+ name: "ADS_LINUX_BANNER"
+ value: 6
+ }
+ enumerator {
+ name: "ADS_TOTAL_CMA"
+ value: 7
+ }
+ enumerator {
+ name: "ADS_SLAB_CACHES"
+ value: 8
+ }
+ enumerator {
+ name: "ADS_SLAB_MUTEX"
+ value: 9
+ }
+ enumerator {
+ name: "ADS_END"
+ value: 10
+ }
+ }
+}
+enumeration {
id: 0x635e163e
name: "arch_timer_erratum_match_type"
definition {
@@ -267633,6 +272670,48 @@ enumeration {
}
}
enumeration {
+ id: 0xb01beef1
+ name: "compact_result"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "COMPACT_NOT_SUITABLE_ZONE"
+ }
+ enumerator {
+ name: "COMPACT_SKIPPED"
+ value: 1
+ }
+ enumerator {
+ name: "COMPACT_DEFERRED"
+ value: 2
+ }
+ enumerator {
+ name: "COMPACT_NO_SUITABLE_PAGE"
+ value: 3
+ }
+ enumerator {
+ name: "COMPACT_CONTINUE"
+ value: 4
+ }
+ enumerator {
+ name: "COMPACT_COMPLETE"
+ value: 5
+ }
+ enumerator {
+ name: "COMPACT_PARTIAL_SKIPPED"
+ value: 6
+ }
+ enumerator {
+ name: "COMPACT_CONTENDED"
+ value: 7
+ }
+ enumerator {
+ name: "COMPACT_SUCCESS"
+ value: 8
+ }
+ }
+}
+enumeration {
id: 0x7bfd6d29
name: "conn_reasons"
definition {
@@ -268770,6 +273849,104 @@ enumeration {
}
}
enumeration {
+ id: 0xe09c0936
+ name: "devlink_dpipe_field_mapping_type"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE"
+ }
+ enumerator {
+ name: "DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0xc700b957
+ name: "devlink_eswitch_encap_mode"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_ESWITCH_ENCAP_MODE_NONE"
+ }
+ enumerator {
+ name: "DEVLINK_ESWITCH_ENCAP_MODE_BASIC"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0x1afd1fe8
+ name: "devlink_health_reporter_state"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_HEALTH_REPORTER_STATE_HEALTHY"
+ }
+ enumerator {
+ name: "DEVLINK_HEALTH_REPORTER_STATE_ERROR"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0x49f89a6d
+ name: "devlink_info_version_type"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_INFO_VERSION_TYPE_NONE"
+ }
+ enumerator {
+ name: "DEVLINK_INFO_VERSION_TYPE_COMPONENT"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0x44d985d5
+ name: "devlink_linecard_state"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_UNSPEC"
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_UNPROVISIONED"
+ value: 1
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_UNPROVISIONING"
+ value: 2
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_PROVISIONING"
+ value: 3
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_PROVISIONING_FAILED"
+ value: 4
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_PROVISIONED"
+ value: 5
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_ACTIVE"
+ value: 6
+ }
+ enumerator {
+ name: "__DEVLINK_LINECARD_STATE_MAX"
+ value: 7
+ }
+ enumerator {
+ name: "DEVLINK_LINECARD_STATE_MAX"
+ value: 6
+ }
+ }
+}
+enumeration {
id: 0x03e0374b
name: "devlink_port_flavour"
definition {
@@ -268808,6 +273985,34 @@ enumeration {
}
}
enumeration {
+ id: 0x769abc6d
+ name: "devlink_port_fn_opstate"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_PORT_FN_OPSTATE_DETACHED"
+ }
+ enumerator {
+ name: "DEVLINK_PORT_FN_OPSTATE_ATTACHED"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0x666a7a1b
+ name: "devlink_port_fn_state"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_PORT_FN_STATE_INACTIVE"
+ }
+ enumerator {
+ name: "DEVLINK_PORT_FN_STATE_ACTIVE"
+ value: 1
+ }
+ }
+}
+enumeration {
id: 0x100964d4
name: "devlink_port_type"
definition {
@@ -268844,6 +274049,136 @@ enumeration {
}
}
enumeration {
+ id: 0xb38a8bec
+ name: "devlink_reload_action"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_RELOAD_ACTION_UNSPEC"
+ }
+ enumerator {
+ name: "DEVLINK_RELOAD_ACTION_DRIVER_REINIT"
+ value: 1
+ }
+ enumerator {
+ name: "DEVLINK_RELOAD_ACTION_FW_ACTIVATE"
+ value: 2
+ }
+ enumerator {
+ name: "__DEVLINK_RELOAD_ACTION_MAX"
+ value: 3
+ }
+ enumerator {
+ name: "DEVLINK_RELOAD_ACTION_MAX"
+ value: 2
+ }
+ }
+}
+enumeration {
+ id: 0x35c4d162
+ name: "devlink_reload_limit"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_RELOAD_LIMIT_UNSPEC"
+ }
+ enumerator {
+ name: "DEVLINK_RELOAD_LIMIT_NO_RESET"
+ value: 1
+ }
+ enumerator {
+ name: "__DEVLINK_RELOAD_LIMIT_MAX"
+ value: 2
+ }
+ enumerator {
+ name: "DEVLINK_RELOAD_LIMIT_MAX"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0xa7051d2f
+ name: "devlink_sb_pool_type"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_SB_POOL_TYPE_INGRESS"
+ }
+ enumerator {
+ name: "DEVLINK_SB_POOL_TYPE_EGRESS"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0xcbcc8512
+ name: "devlink_sb_threshold_type"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_SB_THRESHOLD_TYPE_STATIC"
+ }
+ enumerator {
+ name: "DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC"
+ value: 1
+ }
+ }
+}
+enumeration {
+ id: 0xba990d57
+ name: "devlink_selftest_status"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_SELFTEST_STATUS_SKIP"
+ }
+ enumerator {
+ name: "DEVLINK_SELFTEST_STATUS_PASS"
+ value: 1
+ }
+ enumerator {
+ name: "DEVLINK_SELFTEST_STATUS_FAIL"
+ value: 2
+ }
+ }
+}
+enumeration {
+ id: 0x322b7a90
+ name: "devlink_trap_action"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_TRAP_ACTION_DROP"
+ }
+ enumerator {
+ name: "DEVLINK_TRAP_ACTION_TRAP"
+ value: 1
+ }
+ enumerator {
+ name: "DEVLINK_TRAP_ACTION_MIRROR"
+ value: 2
+ }
+ }
+}
+enumeration {
+ id: 0xed655c73
+ name: "devlink_trap_type"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DEVLINK_TRAP_TYPE_DROP"
+ }
+ enumerator {
+ name: "DEVLINK_TRAP_TYPE_EXCEPTION"
+ value: 1
+ }
+ enumerator {
+ name: "DEVLINK_TRAP_TYPE_CONTROL"
+ value: 2
+ }
+ }
+}
+enumeration {
id: 0x69efc53e
name: "df_reason"
definition {
@@ -268939,6 +274274,28 @@ enumeration {
}
}
enumeration {
+ id: 0xfd56cb64
+ name: "dm_queue_mode"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "DM_TYPE_NONE"
+ }
+ enumerator {
+ name: "DM_TYPE_BIO_BASED"
+ value: 1
+ }
+ enumerator {
+ name: "DM_TYPE_REQUEST_BASED"
+ value: 2
+ }
+ enumerator {
+ name: "DM_TYPE_DAX_BIO_BASED"
+ value: 3
+ }
+ }
+}
+enumeration {
id: 0x3e09ba9c
name: "dma_ctrl_flags"
definition {
@@ -269927,6 +275284,24 @@ enumeration {
}
}
enumeration {
+ id: 0x63bb62a2
+ name: "error_detector"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "ERROR_DETECTOR_KFENCE"
+ }
+ enumerator {
+ name: "ERROR_DETECTOR_KASAN"
+ value: 1
+ }
+ enumerator {
+ name: "ERROR_DETECTOR_WARN"
+ value: 2
+ }
+ }
+}
+enumeration {
id: 0xcd568da6
name: "ethtool_link_ext_state"
definition {
@@ -271687,6 +277062,37 @@ enumeration {
}
}
enumeration {
+ id: 0x87463428
+ name: "hid_class_request"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "HID_REQ_GET_REPORT"
+ value: 1
+ }
+ enumerator {
+ name: "HID_REQ_GET_IDLE"
+ value: 2
+ }
+ enumerator {
+ name: "HID_REQ_GET_PROTOCOL"
+ value: 3
+ }
+ enumerator {
+ name: "HID_REQ_SET_REPORT"
+ value: 9
+ }
+ enumerator {
+ name: "HID_REQ_SET_IDLE"
+ value: 10
+ }
+ enumerator {
+ name: "HID_REQ_SET_PROTOCOL"
+ value: 11
+ }
+ }
+}
+enumeration {
id: 0xfa5f37bb
name: "hid_report_type"
definition {
@@ -272474,28 +277880,6 @@ enumeration {
}
}
enumeration {
- id: 0xf101ec6d
- name: "iodev_type"
- definition {
- underlying_type_id: 0x4585663f
- enumerator {
- name: "IODEV_CPUIF"
- }
- enumerator {
- name: "IODEV_DIST"
- value: 1
- }
- enumerator {
- name: "IODEV_REDIST"
- value: 2
- }
- enumerator {
- name: "IODEV_ITS"
- value: 3
- }
- }
-}
-enumeration {
id: 0xe5b69de1
name: "iommu_cap"
definition {
@@ -272988,35 +278372,6 @@ enumeration {
}
}
enumeration {
- id: 0xb3f81878
- name: "kvm_pgtable_stage2_flags"
- definition {
- underlying_type_id: 0x4585663f
- enumerator {
- name: "KVM_PGTABLE_S2_NOFWB"
- value: 1
- }
- enumerator {
- name: "KVM_PGTABLE_S2_IDMAP"
- value: 2
- }
- }
-}
-enumeration {
- id: 0xfd01d20e
- name: "kvm_stat_kind"
- definition {
- underlying_type_id: 0x4585663f
- enumerator {
- name: "KVM_STAT_VM"
- }
- enumerator {
- name: "KVM_STAT_VCPU"
- value: 1
- }
- }
-}
-enumeration {
id: 0x791ac8b7
name: "l2tp_encap_type"
definition {
@@ -273133,6 +278488,36 @@ enumeration {
}
}
enumeration {
+ id: 0x0d164218
+ name: "lru_list"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "LRU_INACTIVE_ANON"
+ }
+ enumerator {
+ name: "LRU_ACTIVE_ANON"
+ value: 1
+ }
+ enumerator {
+ name: "LRU_INACTIVE_FILE"
+ value: 2
+ }
+ enumerator {
+ name: "LRU_ACTIVE_FILE"
+ value: 3
+ }
+ enumerator {
+ name: "LRU_UNEVICTABLE"
+ value: 4
+ }
+ enumerator {
+ name: "NR_LRU_LISTS"
+ value: 5
+ }
+ }
+}
+enumeration {
id: 0x0b05beb9
name: "macsec_offload"
definition {
@@ -273388,44 +278773,6 @@ enumeration {
}
}
enumeration {
- id: 0x98849204
- name: "mmu_notifier_event"
- definition {
- underlying_type_id: 0x4585663f
- enumerator {
- name: "MMU_NOTIFY_UNMAP"
- }
- enumerator {
- name: "MMU_NOTIFY_CLEAR"
- value: 1
- }
- enumerator {
- name: "MMU_NOTIFY_PROTECTION_VMA"
- value: 2
- }
- enumerator {
- name: "MMU_NOTIFY_PROTECTION_PAGE"
- value: 3
- }
- enumerator {
- name: "MMU_NOTIFY_SOFT_DIRTY"
- value: 4
- }
- enumerator {
- name: "MMU_NOTIFY_RELEASE"
- value: 5
- }
- enumerator {
- name: "MMU_NOTIFY_MIGRATE"
- value: 6
- }
- enumerator {
- name: "MMU_NOTIFY_EXCLUSIVE"
- value: 7
- }
- }
-}
-enumeration {
id: 0x73b81062
name: "mode_set_atomic"
definition {
@@ -274516,6 +279863,28 @@ enumeration {
}
}
enumeration {
+ id: 0x6df42b18
+ name: "oom_constraint"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "CONSTRAINT_NONE"
+ }
+ enumerator {
+ name: "CONSTRAINT_CPUSET"
+ value: 1
+ }
+ enumerator {
+ name: "CONSTRAINT_MEMORY_POLICY"
+ value: 2
+ }
+ enumerator {
+ name: "CONSTRAINT_MEMCG"
+ value: 3
+ }
+ }
+}
+enumeration {
id: 0xf7c61c85
name: "opp_table_access"
definition {
@@ -276481,6 +281850,28 @@ enumeration {
}
}
enumeration {
+ id: 0x00381413
+ name: "scan_balance"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "SCAN_EQUAL"
+ }
+ enumerator {
+ name: "SCAN_FRACT"
+ value: 1
+ }
+ enumerator {
+ name: "SCAN_ANON"
+ value: 2
+ }
+ enumerator {
+ name: "SCAN_FILE"
+ value: 3
+ }
+ }
+}
+enumeration {
id: 0xbcb85241
name: "scsi_cmnd_submitter"
definition {
@@ -277448,6 +282839,20 @@ enumeration {
}
}
enumeration {
+ id: 0x9741c5fc
+ name: "snd_vendor_pcm_open_close"
+ definition {
+ underlying_type_id: 0x4585663f
+ enumerator {
+ name: "SOUND_PCM_CLOSE"
+ }
+ enumerator {
+ name: "SOUND_PCM_OPEN"
+ value: 1
+ }
+ }
+}
+enumeration {
id: 0xbb98ef85
name: "sock_shutdown_cmd"
definition {
@@ -280182,20 +285587,6 @@ enumeration {
}
}
enumeration {
- id: 0xe357f5b0
- name: "vgic_irq_config"
- definition {
- underlying_type_id: 0x4585663f
- enumerator {
- name: "VGIC_CONFIG_EDGE"
- }
- enumerator {
- name: "VGIC_CONFIG_LEVEL"
- value: 1
- }
- }
-}
-enumeration {
id: 0xacd8d043
name: "wb_reason"
definition {
@@ -280450,6 +285841,12 @@ enumeration {
}
}
function {
+ id: 0x004cf563
+ return_type_id: 0x48b5725f
+ parameter_id: 0x4585663f
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x00a508d8
return_type_id: 0x100a15ee
parameter_id: 0x3e10b518
@@ -280493,6 +285890,15 @@ function {
return_type_id: 0x914dbfdc
}
function {
+ id: 0x012cb0da
+ return_type_id: 0x48b5725f
+ parameter_id: 0x4585663f
+ parameter_id: 0x34818c51
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x914dbfdc
+}
+function {
id: 0x013800d7
return_type_id: 0x48b5725f
parameter_id: 0x4585663f
@@ -280629,6 +286035,12 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x034a2603
+ return_type_id: 0x30408c71
+ parameter_id: 0x1fba7d3d
+ parameter_id: 0x0c96fb14
+}
+function {
id: 0x034f6ce3
return_type_id: 0x34544a3f
parameter_id: 0x3747dc62
@@ -280647,6 +286059,13 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x03ec98c8
+ return_type_id: 0xe276adef
+ parameter_id: 0x3399c453
+ parameter_id: 0xe276adef
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x043864e3
return_type_id: 0x181ee594
parameter_id: 0xe90b32b7
@@ -280663,6 +286082,13 @@ function {
parameter_id: 0x24d65b62
}
function {
+ id: 0x04a35d6c
+ return_type_id: 0x914dbfdc
+ parameter_id: 0x126add1c
+ parameter_id: 0x4585663f
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x04ce0b6f
return_type_id: 0x914dbfdc
parameter_id: 0x11e6864c
@@ -280771,6 +286197,14 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x097c3ebf
+ return_type_id: 0x48b5725f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x0ccdc0f9
+ parameter_id: 0x7b64642a
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x098158fd
return_type_id: 0x48b5725f
parameter_id: 0x6720d32f
@@ -280842,6 +286276,27 @@ function {
parameter_id: 0x3286774f
}
function {
+ id: 0x0a7402f1
+ return_type_id: 0x48b5725f
+ parameter_id: 0x6720d32f
+ parameter_id: 0xca283f54
+ parameter_id: 0x33756485
+ parameter_id: 0x06835e9c
+}
+function {
+ id: 0x0a7418fc
+ return_type_id: 0x48b5725f
+ parameter_id: 0x6720d32f
+ parameter_id: 0xca283f54
+ parameter_id: 0x33756485
+}
+function {
+ id: 0x0a78c5a5
+ return_type_id: 0x48b5725f
+ parameter_id: 0x6720d32f
+ parameter_id: 0xca283f54
+}
+function {
id: 0x0a9e8df2
return_type_id: 0x079ff791
parameter_id: 0x3e10b518
@@ -280878,6 +286333,11 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x0bc7866e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x0bdc9e9d
return_type_id: 0x48b5725f
parameter_id: 0x6d7f5ff6
@@ -280925,6 +286385,13 @@ function {
parameter_id: 0x343ebce3
}
function {
+ id: 0x0c5cd477
+ return_type_id: 0x0bb0c019
+ parameter_id: 0x0258f96e
+ parameter_id: 0x3e10b518
+ parameter_id: 0xf435685e
+}
+function {
id: 0x0cd36f30
return_type_id: 0x33756485
parameter_id: 0xf1a6dfed
@@ -281000,6 +286467,12 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x0ec08f0d
+ return_type_id: 0x914dbfdc
+ parameter_id: 0x3d3b5dd7
+ parameter_id: 0x295c7202
+}
+function {
id: 0x0ee8ead6
return_type_id: 0x914dbfdc
parameter_id: 0x397d00ab
@@ -281017,6 +286490,13 @@ function {
parameter_id: 0x39cc14ac
}
function {
+ id: 0x0f51af8b
+ return_type_id: 0xe276adef
+ parameter_id: 0x0ca27481
+ parameter_id: 0x3b461cc8
+ parameter_id: 0x3b461cc8
+}
+function {
id: 0x0fe1d65c
return_type_id: 0x17dabdcd
parameter_id: 0x33baebd5
@@ -281149,6 +286629,18 @@ function {
parameter_id: 0x0206e690
}
function {
+ id: 0x101c2d25
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0258f96e
+ parameter_id: 0x0490bb4a
+}
+function {
+ id: 0x101d83a0
+ return_type_id: 0x48b5725f
+ parameter_id: 0x01c5a749
+ parameter_id: 0x3d2ef874
+}
+function {
id: 0x10219d88
return_type_id: 0x48b5725f
parameter_id: 0x0258f96e
@@ -281309,6 +286801,13 @@ function {
parameter_id: 0x02862e14
}
function {
+ id: 0x103ff2f5
+ return_type_id: 0x48b5725f
+ parameter_id: 0x06835e9c
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0x1043ff6b
return_type_id: 0x48b5725f
parameter_id: 0x00b7947f
@@ -281352,6 +286851,11 @@ function {
parameter_id: 0x115a10f4
}
function {
+ id: 0x104da524
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0357d2dd
+}
+function {
id: 0x104de9a9
return_type_id: 0x48b5725f
parameter_id: 0x0524edd8
@@ -281425,6 +286929,12 @@ function {
parameter_id: 0x384f7d7c
}
function {
+ id: 0x105539bd
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0483e6f8
+ parameter_id: 0x7b64642a
+}
+function {
id: 0x10563618
return_type_id: 0x48b5725f
parameter_id: 0x00c83ba6
@@ -281690,6 +287200,11 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x10aeeb41
+ return_type_id: 0x48b5725f
+ parameter_id: 0x00daeb4b
+}
+function {
id: 0x10aef91d
return_type_id: 0x48b5725f
parameter_id: 0x00daa23b
@@ -281738,6 +287253,13 @@ function {
parameter_id: 0x26a490c7
}
function {
+ id: 0x10c07815
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0c2e195c
+ parameter_id: 0xd0b3a203
+ parameter_id: 0x4585663f
+}
+function {
id: 0x10c35fd7
return_type_id: 0x48b5725f
parameter_id: 0x0258f96e
@@ -281899,6 +287421,13 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x10e535a4
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0c2e195c
+ parameter_id: 0xd0b3a203
+ parameter_id: 0xd0b3a203
+}
+function {
id: 0x10e93841
return_type_id: 0x48b5725f
parameter_id: 0x01c5a749
@@ -282120,6 +287649,12 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x11228b4e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x06835e9c
+ parameter_id: 0x06835e9c
+}
+function {
id: 0x11248ef2
return_type_id: 0xd5cc9c9a
parameter_id: 0x156a41de
@@ -282207,12 +287742,31 @@ function {
parameter_id: 0x074f1a14
}
function {
+ id: 0x114c448e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x076327a3
+ parameter_id: 0x00c72527
+ parameter_id: 0x3f0185ef
+}
+function {
+ id: 0x11508453
+ return_type_id: 0x9547a3da
+ parameter_id: 0x2f24a589
+}
+function {
id: 0x1154b37f
return_type_id: 0x0bfc9031
parameter_id: 0x0258f96e
parameter_id: 0x3e10b518
}
function {
+ id: 0x11584934
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0a63398f
+ parameter_id: 0xd9f550d1
+ parameter_id: 0xfc0e1dbd
+}
+function {
id: 0x115a73a0
return_type_id: 0x48b5725f
parameter_id: 0x06835e9c
@@ -282249,6 +287803,16 @@ function {
parameter_id: 0x07f2af49
}
function {
+ id: 0x11673bbb
+ return_type_id: 0x48b5725f
+ parameter_id: 0x054f691a
+ parameter_id: 0x295c7202
+ parameter_id: 0x295c7202
+ parameter_id: 0xe62ebf07
+ parameter_id: 0x3b461cc8
+ parameter_id: 0x346c7967
+}
+function {
id: 0x11691052
return_type_id: 0x48b5725f
parameter_id: 0x0665e6b6
@@ -282528,9 +288092,10 @@ function {
parameter_id: 0x049d4e97
}
function {
- id: 0x11c00471
+ id: 0x11bf8d42
return_type_id: 0x48b5725f
- parameter_id: 0x0561578b
+ parameter_id: 0x00c72527
+ parameter_id: 0x4585663f
}
function {
id: 0x11c013b1
@@ -282743,6 +288308,13 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x11f98eff
+ return_type_id: 0x48b5725f
+ parameter_id: 0x06835e9c
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+}
+function {
id: 0x11fe33ba
return_type_id: 0x48b5725f
parameter_id: 0x059988a7
@@ -282785,6 +288357,23 @@ function {
parameter_id: 0x0379c823
}
function {
+ id: 0x12101463
+ return_type_id: 0x1b8590a8
+ parameter_id: 0x26ee682a
+ parameter_id: 0x33756485
+ parameter_id: 0x2c50e503
+ parameter_id: 0x18bd6530
+}
+function {
+ id: 0x1210c1fa
+ return_type_id: 0x1b8590a8
+ parameter_id: 0x26ee682a
+ parameter_id: 0x33756485
+ parameter_id: 0x2c50e503
+ parameter_id: 0x2c50e503
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x1210f89b
return_type_id: 0x48b5725f
parameter_id: 0x0a22a423
@@ -282814,6 +288403,13 @@ function {
parameter_id: 0x0a134144
}
function {
+ id: 0x12201786
+ return_type_id: 0x48b5725f
+ parameter_id: 0x06835e9c
+ parameter_id: 0xc93e017b
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0x12217922
return_type_id: 0x48b5725f
parameter_id: 0x0ae4a2c7
@@ -283011,6 +288607,12 @@ function {
parameter_id: 0x0bb0c019
}
function {
+ id: 0x1276a8bd
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0dc9e98b
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x1277c151
return_type_id: 0x48b5725f
parameter_id: 0x0beab59b
@@ -283022,6 +288624,15 @@ function {
parameter_id: 0x0bbe1c3e
}
function {
+ id: 0x1277e3bd
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0a70ce1b
+ parameter_id: 0x18bd6530
+ parameter_id: 0x4585663f
+ parameter_id: 0x051414e1
+ parameter_id: 0x04d7fcdd
+}
+function {
id: 0x127987a5
return_type_id: 0x48b5725f
parameter_id: 0x0b8758d9
@@ -283236,6 +288847,11 @@ function {
parameter_id: 0x09427c40
}
function {
+ id: 0x12c92116
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0945c216
+}
+function {
id: 0x12ca5ec4
return_type_id: 0x48b5725f
parameter_id: 0x09483d5e
@@ -283283,14 +288899,6 @@ function {
parameter_id: 0x4585663f
}
function {
- id: 0x12d3ed44
- return_type_id: 0x48b5725f
- parameter_id: 0x08dcfb76
- parameter_id: 0x1b4ba19a
- parameter_id: 0x4585663f
- parameter_id: 0x33756485
-}
-function {
id: 0x12d43657
return_type_id: 0x48b5725f
parameter_id: 0x09319f13
@@ -283381,6 +288989,15 @@ function {
parameter_id: 0x0858434c
}
function {
+ id: 0x12ed274e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0ae4a2c7
+ parameter_id: 0x33756485
+ parameter_id: 0x064d6086
+ parameter_id: 0x064d6086
+ parameter_id: 0x064d6086
+}
+function {
id: 0x12efab79
return_type_id: 0x48b5725f
parameter_id: 0x054f691a
@@ -283446,6 +289063,21 @@ function {
parameter_id: 0x0e2680c2
}
function {
+ id: 0x13129118
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0fabaf3b
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x39d1288c
+ parameter_id: 0x1253769c
+}
+function {
+ id: 0x13184981
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0fabaf3b
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x1396794c
+}
+function {
id: 0x1327a0fb
return_type_id: 0x48b5725f
parameter_id: 0x0effc5a1
@@ -283555,6 +289187,22 @@ function {
parameter_id: 0x391f15ea
}
function {
+ id: 0x1353a05d
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3e10b518
+ parameter_id: 0x3e10b518
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+}
+function {
+ id: 0x1353c771
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c53e119
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x13544dcf
return_type_id: 0x48b5725f
parameter_id: 0x09427c40
@@ -283687,6 +289335,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x137915b0
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x376c8705
+}
+function {
id: 0x13797fb7
return_type_id: 0x48b5725f
parameter_id: 0x078316ff
@@ -283694,6 +289348,13 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x137a1cdc
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0de4c6b1
+ parameter_id: 0x2eab5b8a
+ parameter_id: 0x87463428
+}
+function {
id: 0x137d1ffc
return_type_id: 0x48b5725f
parameter_id: 0x09451098
@@ -283707,6 +289368,12 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x137f5862
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0ca27481
+ parameter_id: 0x33e53462
+}
+function {
id: 0x1382dd85
return_type_id: 0x48b5725f
parameter_id: 0x08326638
@@ -283766,6 +289433,11 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x1393d7c4
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0c2e195c
+}
+function {
id: 0x139c8318
return_type_id: 0x48b5725f
parameter_id: 0x0e5eb556
@@ -283792,6 +289464,11 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x13a4a7ac
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0cf3d8fe
+}
+function {
id: 0x13a62397
return_type_id: 0x48b5725f
parameter_id: 0x0effc5a1
@@ -284010,6 +289687,12 @@ function {
parameter_id: 0x0d8bad22
}
function {
+ id: 0x13ff1655
+ return_type_id: 0x48b5725f
+ parameter_id: 0x0dc9e98b
+ parameter_id: 0x054f691a
+}
+function {
id: 0x1401698f
return_type_id: 0x48b5725f
parameter_id: 0x1285100d
@@ -284123,6 +289806,13 @@ function {
parameter_id: 0xfc0e1dbd
}
function {
+ id: 0x142e1753
+ return_type_id: 0x48b5725f
+ parameter_id: 0x12e24ee1
+ parameter_id: 0x019dcb45
+ parameter_id: 0x228954ca
+}
+function {
id: 0x142e3633
return_type_id: 0x48b5725f
parameter_id: 0x12191e2a
@@ -284134,6 +289824,12 @@ function {
parameter_id: 0x1285100d
}
function {
+ id: 0x143955b1
+ return_type_id: 0x48b5725f
+ parameter_id: 0x12e24ee1
+ parameter_id: 0x0665e6b6
+}
+function {
id: 0x1439657e
return_type_id: 0x48b5725f
parameter_id: 0x1d44326e
@@ -284271,6 +289967,19 @@ function {
parameter_id: 0x1582ab06
}
function {
+ id: 0x1462512b
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1344d43c
+ parameter_id: 0x0cbf60eb
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0x1464781e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1582ab06
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x14667c52
return_type_id: 0x48b5725f
parameter_id: 0x13f8b706
@@ -284337,6 +290046,12 @@ function {
parameter_id: 0xd41e888f
}
function {
+ id: 0x14827bad
+ return_type_id: 0xee72cbfc
+ parameter_id: 0x26ee682a
+ parameter_id: 0xee72cbfc
+}
+function {
id: 0x14830594
return_type_id: 0x48b5725f
parameter_id: 0x11e6864c
@@ -284480,6 +290195,13 @@ function {
parameter_id: 0x13580d6c
}
function {
+ id: 0x14b8ca3b
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1285100d
+ parameter_id: 0x242fbc95
+ parameter_id: 0x4585663f
+}
+function {
id: 0x14b97b66
return_type_id: 0x48b5725f
parameter_id: 0x1084abd6
@@ -284503,6 +290225,12 @@ function {
parameter_id: 0x116785ed
}
function {
+ id: 0x14c2c0fe
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1285100d
+ parameter_id: 0x3ef55b88
+}
+function {
id: 0x14c5cbad
return_type_id: 0x48b5725f
parameter_id: 0x12eaeaa5
@@ -284519,6 +290247,11 @@ function {
parameter_id: 0x117e2995
}
function {
+ id: 0x14c7f0ee
+ return_type_id: 0x48b5725f
+ parameter_id: 0x117e85f5
+}
+function {
id: 0x14c81bbb
return_type_id: 0x48b5725f
parameter_id: 0x10617cac
@@ -284611,12 +290344,26 @@ function {
parameter_id: 0x11c449ec
}
function {
+ id: 0x14ea4bc0
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1285100d
+ parameter_id: 0x34d79405
+}
+function {
id: 0x14ed7da4
return_type_id: 0x48b5725f
parameter_id: 0x1d44326e
parameter_id: 0xc9082b19
}
function {
+ id: 0x14f0456f
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1285100d
+ parameter_id: 0x34d79405
+ parameter_id: 0x6720d32f
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0x14f27dac
return_type_id: 0x48b5725f
parameter_id: 0x17dabdcd
@@ -284712,6 +290459,13 @@ function {
parameter_id: 0x92233392
}
function {
+ id: 0x1527b6ea
+ return_type_id: 0x48b5725f
+ parameter_id: 0x12e24ee1
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0x152d3031
return_type_id: 0x48b5725f
parameter_id: 0x10a78bb8
@@ -284738,6 +290492,13 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x1539f399
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1582ab06
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+}
+function {
id: 0x153d1e98
return_type_id: 0x48b5725f
parameter_id: 0x1042c9d1
@@ -284841,6 +290602,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x155cca9b
+ return_type_id: 0x48b5725f
+ parameter_id: 0x15a30023
+ parameter_id: 0x2b16c036
+}
+function {
id: 0x156275ac
return_type_id: 0x48b5725f
parameter_id: 0x118d97cb
@@ -284858,6 +290625,12 @@ function {
parameter_id: 0x13580d6c
}
function {
+ id: 0x1566644a
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1582ab06
+ parameter_id: 0x27a7c613
+}
+function {
id: 0x1566db85
return_type_id: 0x48b5725f
parameter_id: 0x17fa285b
@@ -285041,12 +290814,25 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x15976e28
+ return_type_id: 0x48b5725f
+ parameter_id: 0x15a30023
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x27a7c613
+}
+function {
id: 0x159d827c
return_type_id: 0x48b5725f
parameter_id: 0x12c0ba43
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x159ef67f
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1042c9d1
+ parameter_id: 0x4585663f
+}
+function {
id: 0x159f9b02
return_type_id: 0x48b5725f
parameter_id: 0x18bd6530
@@ -285067,12 +290853,6 @@ function {
parameter_id: 0x052fac00
}
function {
- id: 0x15a35eaa
- return_type_id: 0x48b5725f
- parameter_id: 0x1dce0fdd
- parameter_id: 0x92233392
-}
-function {
id: 0x15a61d9b
return_type_id: 0x48b5725f
parameter_id: 0x15a30023
@@ -285189,6 +290969,13 @@ function {
parameter_id: 0x15a30023
}
function {
+ id: 0x15f1cac1
+ return_type_id: 0x48b5725f
+ parameter_id: 0x11e6864c
+ parameter_id: 0x4585663f
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x15f330e3
return_type_id: 0x48b5725f
parameter_id: 0x1479c6e7
@@ -285239,6 +291026,13 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x160abbb8
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x1253769c
+ parameter_id: 0xeb0f6de6
+}
+function {
id: 0x161199c0
return_type_id: 0x48b5725f
parameter_id: 0x1c34b0f2
@@ -285324,6 +291118,11 @@ function {
parameter_id: 0x1b7b196f
}
function {
+ id: 0x164ad64e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1b4a1f75
+}
+function {
id: 0x164c5933
return_type_id: 0x48b5725f
parameter_id: 0x1b55a8f2
@@ -285363,6 +291162,14 @@ function {
parameter_id: 0x1b36c7a2
}
function {
+ id: 0x1656fc12
+ return_type_id: 0x48b5725f
+ parameter_id: 0x126add1c
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x4585663f
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x1658716c
return_type_id: 0x48b5725f
parameter_id: 0x1b55a8f2
@@ -285601,6 +291408,12 @@ function {
parameter_id: 0x24706e28
}
function {
+ id: 0x16949287
+ return_type_id: 0x08113aaf
+ parameter_id: 0x0258f96e
+ parameter_id: 0x396fe4f8
+}
+function {
id: 0x16983453
return_type_id: 0x48b5725f
parameter_id: 0x18019702
@@ -285664,6 +291477,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x16a7bffa
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1a1051a0
+ parameter_id: 0x2efe8065
+}
+function {
id: 0x16a99695
return_type_id: 0x48b5725f
parameter_id: 0x18e64f74
@@ -285683,6 +291502,24 @@ function {
parameter_id: 0x18a2fb63
}
function {
+ id: 0x16b316ef
+ return_type_id: 0xd5cc9c9a
+ parameter_id: 0x08bd7371
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x0c2e195c
+ parameter_id: 0x2f73da3b
+ parameter_id: 0x2cacacc0
+ parameter_id: 0x24a22acc
+ parameter_id: 0x06a428cc
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0x16b4e02b
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x33756485
+}
+function {
id: 0x16b50572
return_type_id: 0x48b5725f
parameter_id: 0x18bd6530
@@ -285766,6 +291603,13 @@ function {
parameter_id: 0x914dbfdc
}
function {
+ id: 0x16cab29d
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1a1051a0
+ parameter_id: 0x31e58fe0
+ parameter_id: 0x4585663f
+}
+function {
id: 0x16cc357f
return_type_id: 0x48b5725f
parameter_id: 0x18bd6530
@@ -285880,6 +291724,12 @@ function {
parameter_id: 0x19fa9e98
}
function {
+ id: 0x16e7aaa1
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x27a7c613
+}
+function {
id: 0x16e9508e
return_type_id: 0x48b5725f
parameter_id: 0x19c40476
@@ -285996,12 +291846,25 @@ function {
parameter_id: 0x310ec01d
}
function {
+ id: 0x171a1012
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1d44326e
+ parameter_id: 0x34d3469d
+}
+function {
id: 0x171c8621
return_type_id: 0xd5cc9c9a
parameter_id: 0x09626b7f
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x17256acc
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1d44326e
+ parameter_id: 0x3bfbd7cf
+ parameter_id: 0x0f626ee5
+}
+function {
id: 0x172842ec
return_type_id: 0x48b5725f
parameter_id: 0x1d19a9d5
@@ -286053,6 +291916,12 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x1730d353
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1d44326e
+ parameter_id: 0x3e6396e0
+}
+function {
id: 0x1731208f
return_type_id: 0x48b5725f
parameter_id: 0x1ea5c473
@@ -286184,12 +292053,23 @@ function {
parameter_id: 0x2e18f543
}
function {
+ id: 0x176f2021
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x4585663f
+}
+function {
id: 0x176fe039
return_type_id: 0x48b5725f
parameter_id: 0x1c2f6323
parameter_id: 0x3f1a5886
}
function {
+ id: 0x1776cedc
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1fba7d3d
+}
+function {
id: 0x177cb160
return_type_id: 0x48b5725f
parameter_id: 0x1333434c
@@ -286198,6 +292078,13 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0x177e4178
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0x177f3bf9
return_type_id: 0x48b5725f
parameter_id: 0x1f9da9a8
@@ -286348,12 +292235,6 @@ function {
parameter_id: 0x4585663f
}
function {
- id: 0x17b61d24
- return_type_id: 0x48b5725f
- parameter_id: 0x1d65d221
- parameter_id: 0x1dce0fdd
-}
-function {
id: 0x17b79b8a
return_type_id: 0x48b5725f
parameter_id: 0x18a2fb63
@@ -286425,6 +292306,12 @@ function {
parameter_id: 0x1d25f132
}
function {
+ id: 0x17d74917
+ return_type_id: 0x48b5725f
+ parameter_id: 0x1e820193
+ parameter_id: 0x3be6380c
+}
+function {
id: 0x17d8b994
return_type_id: 0x48b5725f
parameter_id: 0x1e9f31fe
@@ -286535,6 +292422,12 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x18159e1c
+ return_type_id: 0x48b5725f
+ parameter_id: 0x21069feb
+ parameter_id: 0x331a1d7a
+}
+function {
id: 0x1817bd12
return_type_id: 0x48b5725f
parameter_id: 0x223fb206
@@ -286583,6 +292476,11 @@ function {
parameter_id: 0x22cee855
}
function {
+ id: 0x183a04a1
+ return_type_id: 0x48b5725f
+ parameter_id: 0x228954ca
+}
+function {
id: 0x184069d1
return_type_id: 0x48b5725f
parameter_id: 0x2360e10b
@@ -286680,6 +292578,21 @@ function {
parameter_id: 0x238b8721
}
function {
+ id: 0x187c3067
+ return_type_id: 0x48b5725f
+ parameter_id: 0x239187d3
+}
+function {
+ id: 0x187ccd99
+ return_type_id: 0x17b5cc93
+ parameter_id: 0x0ca27481
+ parameter_id: 0x3b461cc8
+ parameter_id: 0x3b461cc8
+ parameter_id: 0x6720d32f
+ parameter_id: 0x3e6396e0
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x187d7a7f
return_type_id: 0x48b5725f
parameter_id: 0x23f09c34
@@ -286945,6 +292858,11 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x18f4e52e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x21b2d2f4
+}
+function {
id: 0x18f8b885
return_type_id: 0x48b5725f
parameter_id: 0x2208f89a
@@ -287275,6 +293193,12 @@ function {
parameter_id: 0x24d8c7ab
}
function {
+ id: 0x19af92ca
+ return_type_id: 0x48b5725f
+ parameter_id: 0x2208f89a
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x19b6a09f
return_type_id: 0x48b5725f
parameter_id: 0x24bbc433
@@ -287365,6 +293289,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x19e2f0b6
+ return_type_id: 0x48b5725f
+ parameter_id: 0x21b2d2f4
+ parameter_id: 0x4585663f
+}
+function {
id: 0x19e4b813
return_type_id: 0x48b5725f
parameter_id: 0x246dc7d4
@@ -287393,6 +293323,12 @@ function {
parameter_id: 0x25b73daa
}
function {
+ id: 0x19fc4f29
+ return_type_id: 0x48b5725f
+ parameter_id: 0x275ab027
+ parameter_id: 0x2cacacc0
+}
+function {
id: 0x19fe25be
return_type_id: 0x48b5725f
parameter_id: 0x2599d0b6
@@ -287428,12 +293364,6 @@ function {
parameter_id: 0x33756485
}
function {
- id: 0x1a162f77
- return_type_id: 0x48b5725f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x1b36c7a2
-}
-function {
id: 0x1a1815c7
return_type_id: 0x48b5725f
parameter_id: 0x291e8a5b
@@ -287451,20 +293381,10 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
- id: 0x1a1970c3
- return_type_id: 0x48b5725f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x1b36c7a2
- parameter_id: 0x33756485
- parameter_id: 0xe0bb64fa
-}
-function {
- id: 0x1a1a3ffb
- return_type_id: 0x48b5725f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x1b36c7a2
- parameter_id: 0x33756485
- parameter_id: 0x33756485
+ id: 0x1a1c4881
+ return_type_id: 0x0400f16a
+ parameter_id: 0x1b55a8f2
+ parameter_id: 0x4585663f
}
function {
id: 0x1a27e882
@@ -287518,6 +293438,13 @@ function {
parameter_id: 0x2b603afb
}
function {
+ id: 0x1a42044c
+ return_type_id: 0xd5cc9c9a
+ parameter_id: 0x3bb0740c
+ parameter_id: 0x18bd6530
+ parameter_id: 0xf435685e
+}
+function {
id: 0x1a450083
return_type_id: 0x48b5725f
parameter_id: 0x2b754442
@@ -287593,11 +293520,6 @@ function {
parameter_id: 0x02128e8a
}
function {
- id: 0x1a7af469
- return_type_id: 0x48b5725f
- parameter_id: 0x2b8a97e8
-}
-function {
id: 0x1a7b957f
return_type_id: 0x48b5725f
parameter_id: 0x2b8f13b3
@@ -287661,6 +293583,11 @@ function {
parameter_id: 0x2859d899
}
function {
+ id: 0x1a8f9ccc
+ return_type_id: 0x48b5725f
+ parameter_id: 0x285f357e
+}
+function {
id: 0x1a902728
return_type_id: 0x48b5725f
parameter_id: 0x2821daec
@@ -287718,12 +293645,6 @@ function {
parameter_id: 0xe276adef
}
function {
- id: 0x1aa50604
- return_type_id: 0x48b5725f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x37fc9b61
-}
-function {
id: 0x1aa56a0d
return_type_id: 0x48b5725f
parameter_id: 0x28f4ee78
@@ -287821,15 +293742,15 @@ function {
parameter_id: 0x292cb268
}
function {
- id: 0x1ad45e5f
+ id: 0x1ad5d81c
return_type_id: 0x48b5725f
- parameter_id: 0x28e1a5ae
- parameter_id: 0x1d19a9d5
+ parameter_id: 0x2936263d
}
function {
- id: 0x1ad5d81c
+ id: 0x1ad943f1
return_type_id: 0x48b5725f
- parameter_id: 0x2936263d
+ parameter_id: 0x2a5e3596
+ parameter_id: 0x35a7c1c3
}
function {
id: 0x1ad9d0a2
@@ -287849,6 +293770,11 @@ function {
parameter_id: 0x7f7172c7
}
function {
+ id: 0x1ae9c33f
+ return_type_id: 0x48b5725f
+ parameter_id: 0x29c64ab1
+}
+function {
id: 0x1ae9d1bd
return_type_id: 0x48b5725f
parameter_id: 0x29c600bb
@@ -287894,6 +293820,12 @@ function {
parameter_id: 0x2e60a6b2
}
function {
+ id: 0x1b05453e
+ return_type_id: 0x48b5725f
+ parameter_id: 0x28a3a74b
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x1b0d4d60
return_type_id: 0x48b5725f
parameter_id: 0x2e5473cd
@@ -287916,6 +293848,12 @@ function {
parameter_id: 0x0ab1f084
}
function {
+ id: 0x1b18b5bc
+ return_type_id: 0x48b5725f
+ parameter_id: 0x2e94a1e1
+ parameter_id: 0x097315c2
+}
+function {
id: 0x1b18f64e
return_type_id: 0x48b5725f
parameter_id: 0x2e029f76
@@ -288008,12 +293946,6 @@ function {
parameter_id: 0x2e8ed696
}
function {
- id: 0x1b3cbbb4
- return_type_id: 0x48b5725f
- parameter_id: 0x28e1a5ae
- parameter_id: 0x6720d32f
-}
-function {
id: 0x1b3d79eb
return_type_id: 0x48b5725f
parameter_id: 0x2e94a1e1
@@ -288103,6 +294035,12 @@ function {
parameter_id: 0x27a7c613
}
function {
+ id: 0x1b603ccd
+ return_type_id: 0x48b5725f
+ parameter_id: 0x285f357e
+ parameter_id: 0x7be80061
+}
+function {
id: 0x1b6452d7
return_type_id: 0x48b5725f
parameter_id: 0x2ca8f248
@@ -288132,6 +294070,13 @@ function {
parameter_id: 0x3e6239e1
}
function {
+ id: 0x1b6dacf7
+ return_type_id: 0x48b5725f
+ parameter_id: 0x2c32dd96
+ parameter_id: 0x3e6239e1
+ parameter_id: 0x030b9acf
+}
+function {
id: 0x1b71ad71
return_type_id: 0x48b5725f
parameter_id: 0x2fa7f388
@@ -288186,6 +294131,12 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x1b90a8d8
+ return_type_id: 0x48b5725f
+ parameter_id: 0x26ee682a
+ parameter_id: 0xacd8d043
+}
+function {
id: 0x1b939067
return_type_id: 0x48b5725f
parameter_id: 0x2c2f07d2
@@ -288390,6 +294341,11 @@ function {
parameter_id: 0xc0a0d1f0
}
function {
+ id: 0x1bd82ebd
+ return_type_id: 0x48b5725f
+ parameter_id: 0x2d01fcba
+}
+function {
id: 0x1bdaff5e
return_type_id: 0x48b5725f
parameter_id: 0x2cdbb77a
@@ -288475,6 +294431,12 @@ function {
parameter_id: 0x326c4938
}
function {
+ id: 0x1c03dd76
+ return_type_id: 0x48b5725f
+ parameter_id: 0x33756485
+ parameter_id: 0x11b57133
+}
+function {
id: 0x1c048955
return_type_id: 0x48b5725f
parameter_id: 0x33f8b54b
@@ -288526,11 +294488,6 @@ function {
parameter_id: 0x3d2ef874
}
function {
- id: 0x1c1113fb
- return_type_id: 0x48b5725f
- parameter_id: 0x322509a0
-}
-function {
id: 0x1c155f01
return_type_id: 0x48b5725f
parameter_id: 0x32343a4a
@@ -288630,6 +294587,12 @@ function {
parameter_id: 0x2e18f543
}
function {
+ id: 0x1c32c5f2
+ return_type_id: 0x48b5725f
+ parameter_id: 0x32a623d7
+ parameter_id: 0x00c72527
+}
+function {
id: 0x1c362eb2
return_type_id: 0x48b5725f
parameter_id: 0x32a623d7
@@ -288759,9 +294722,9 @@ function {
parameter_id: 0x2a670b41
}
function {
- id: 0x1c5e9ece
+ id: 0x1c5eb40a
return_type_id: 0x48b5725f
- parameter_id: 0x331b3d77
+ parameter_id: 0x331b9666
}
function {
id: 0x1c5ec399
@@ -288884,12 +294847,30 @@ function {
parameter_id: 0x7194a543
}
function {
+ id: 0x1c86b5f0
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3176a085
+ parameter_id: 0x11cfee5a
+ parameter_id: 0x11cfee5a
+}
+function {
+ id: 0x1c88728f
+ return_type_id: 0x48b5725f
+ parameter_id: 0x30408c71
+}
+function {
id: 0x1c88dd20
return_type_id: 0x48b5725f
parameter_id: 0x33756485
parameter_id: 0x33756485
}
function {
+ id: 0x1c93cad8
+ return_type_id: 0x48b5725f
+ parameter_id: 0x36f998d3
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x1c941374
return_type_id: 0x2060db23
parameter_id: 0x101b9aaa
@@ -288930,6 +294911,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x1ca44d8a
+ return_type_id: 0x48b5725f
+ parameter_id: 0x32a623d7
+ parameter_id: 0x25653b02
+}
+function {
id: 0x1ca75909
return_type_id: 0x48b5725f
parameter_id: 0x32a623d7
@@ -288937,6 +294924,13 @@ function {
parameter_id: 0x2e18f543
}
function {
+ id: 0x1caa303b
+ return_type_id: 0x48b5725f
+ parameter_id: 0x331b9666
+ parameter_id: 0x3e10b518
+ parameter_id: 0x331b9666
+}
+function {
id: 0x1cab6a11
return_type_id: 0x48b5725f
parameter_id: 0x30ccee09
@@ -288977,6 +294971,11 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x1cb3a26f
+ return_type_id: 0x48b5725f
+ parameter_id: 0x30afcff2
+}
+function {
id: 0x1cb4b808
return_type_id: 0x48b5725f
parameter_id: 0x3399c453
@@ -289305,6 +295304,11 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x1d10ef19
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3622fa2a
+}
+function {
id: 0x1d1662fd
return_type_id: 0x48b5725f
parameter_id: 0x3638cdb9
@@ -289316,6 +295320,11 @@ function {
parameter_id: 0x026525e9
}
function {
+ id: 0x1d1a000c
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3609467c
+}
+function {
id: 0x1d1cf212
return_type_id: 0x48b5725f
parameter_id: 0x3fab28c8
@@ -289369,6 +295378,11 @@ function {
parameter_id: 0x335d253d
}
function {
+ id: 0x1d2637a7
+ return_type_id: 0x48b5725f
+ parameter_id: 0x36f998d3
+}
+function {
id: 0x1d27ccfe
return_type_id: 0x48b5725f
parameter_id: 0x32a623d7
@@ -289430,6 +295444,12 @@ function {
parameter_id: 0x368daf92
}
function {
+ id: 0x1d3cefc2
+ return_type_id: 0x48b5725f
+ parameter_id: 0x32caaf24
+ parameter_id: 0x4585663f
+}
+function {
id: 0x1d3f8bd2
return_type_id: 0x48b5725f
parameter_id: 0x3674251b
@@ -289503,6 +295523,13 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x1d657c6d
+ return_type_id: 0x48b5725f
+ parameter_id: 0x36d15200
+ parameter_id: 0x1d44326e
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0x1d6aeee7
return_type_id: 0x48b5725f
parameter_id: 0x3176a085
@@ -289594,6 +295621,11 @@ function {
parameter_id: 0xa52a0930
}
function {
+ id: 0x1d8c491d
+ return_type_id: 0x1b8590a8
+ parameter_id: 0x1b8590a8
+}
+function {
id: 0x1d8d431c
return_type_id: 0x48b5725f
parameter_id: 0x34544a3f
@@ -289747,15 +295779,6 @@ function {
parameter_id: 0x3518a6ab
}
function {
- id: 0x1de0d842
- return_type_id: 0x48b5725f
- parameter_id: 0x363b9249
- parameter_id: 0x3c6958c4
- parameter_id: 0x1b4ba19a
- parameter_id: 0x4585663f
- parameter_id: 0x33756485
-}
-function {
id: 0x1de33115
return_type_id: 0x48b5725f
parameter_id: 0x397d00ab
@@ -290146,6 +296169,18 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x1e3bdb22
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3a8e2ac6
+}
+function {
+ id: 0x1e3db1e5
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3e10b518
+ parameter_id: 0x49f89a6d
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x1e3f491e
return_type_id: 0x48b5725f
parameter_id: 0x3ea31487
@@ -290153,6 +296188,13 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x1e4106e1
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3b04bead
+ parameter_id: 0x07027638
+ parameter_id: 0x11c404ba
+}
+function {
id: 0x1e4577e0
return_type_id: 0x48b5725f
parameter_id: 0x3b04bead
@@ -290295,11 +296337,23 @@ function {
parameter_id: 0xac0d3a85
}
function {
+ id: 0x1e704726
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3ba05ad7
+}
+function {
id: 0x1e70c9ff
return_type_id: 0x48b5725f
parameter_id: 0x3ba261b0
}
function {
+ id: 0x1e768676
+ return_type_id: 0x48b5725f
+ parameter_id: 0x39182992
+ parameter_id: 0x2c456d6d
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x1e7a9dc2
return_type_id: 0x48b5725f
parameter_id: 0x38bc670e
@@ -290450,6 +296504,11 @@ function {
parameter_id: 0x3806390a
}
function {
+ id: 0x1e9b5d67
+ return_type_id: 0x48b5725f
+ parameter_id: 0x380c33d1
+}
+function {
id: 0x1e9be71c
return_type_id: 0xd5cc9c9a
parameter_id: 0x2a4c6b85
@@ -290470,6 +296529,11 @@ function {
parameter_id: 0x12eaeaa5
}
function {
+ id: 0x1ea499af
+ return_type_id: 0x48b5725f
+ parameter_id: 0x38f320f1
+}
+function {
id: 0x1ea724c3
return_type_id: 0x48b5725f
parameter_id: 0x38fdd541
@@ -290725,6 +296789,14 @@ function {
parameter_id: 0x39a4e83f
}
function {
+ id: 0x1ef25648
+ return_type_id: 0x48b5725f
+ parameter_id: 0x39182992
+ parameter_id: 0x0d164218
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x1ef27e10
return_type_id: 0x48b5725f
parameter_id: 0x39a8be0c
@@ -290771,15 +296843,22 @@ function {
parameter_id: 0x3e6239e1
}
function {
+ id: 0x1f01387c
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3fca7642
+ parameter_id: 0x1afd1fe8
+}
+function {
id: 0x1f060fb8
return_type_id: 0x48b5725f
parameter_id: 0x3f222c68
parameter_id: 0x15b54c6f
}
function {
- id: 0x1f07d2c7
+ id: 0x1f0b238f
return_type_id: 0x48b5725f
- parameter_id: 0x3e7e0d52
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x3bd6fa3a
}
function {
id: 0x1f0d7714
@@ -290790,6 +296869,15 @@ function {
parameter_id: 0x0b8758d9
}
function {
+ id: 0x1f0df99a
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3eee6a0e
+ parameter_id: 0x054f691a
+ parameter_id: 0xe276adef
+ parameter_id: 0xe276adef
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x1f0fd39d
return_type_id: 0x48b5725f
parameter_id: 0x3c0e9e79
@@ -290801,6 +296889,11 @@ function {
parameter_id: 0x095a3c37
}
function {
+ id: 0x1f121b27
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3e292ad1
+}
+function {
id: 0x1f15c803
return_type_id: 0x48b5725f
parameter_id: 0x32a623d7
@@ -290856,12 +296949,28 @@ function {
parameter_id: 0x3ee88c45
}
function {
+ id: 0x1f269fb6
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x34e17987
+ parameter_id: 0x4585663f
+ parameter_id: 0x0483e6f8
+ parameter_id: 0x4585663f
+}
+function {
id: 0x1f26df83
return_type_id: 0x48b5725f
parameter_id: 0x31b96ec5
parameter_id: 0xf435685e
}
function {
+ id: 0x1f2853af
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3806390a
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x11c404ba
+}
+function {
id: 0x1f29471f
return_type_id: 0xd5cc9c9a
parameter_id: 0x2efe8065
@@ -290944,6 +297053,15 @@ function {
parameter_id: 0x3054f2d7
}
function {
+ id: 0x1f3dc21f
+ return_type_id: 0xd5cc9c9a
+ parameter_id: 0x2f73da3b
+ parameter_id: 0x0b30ee00
+ parameter_id: 0xf435685e
+ parameter_id: 0x4585663f
+ parameter_id: 0x379d63b0
+}
+function {
id: 0x1f458cf4
return_type_id: 0x48b5725f
parameter_id: 0x3ea2e6c1
@@ -290956,6 +297074,12 @@ function {
parameter_id: 0x8167e73b
}
function {
+ id: 0x1f45db81
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3c417e01
+ parameter_id: 0x33756485
+}
+function {
id: 0x1f4af633
return_type_id: 0x48b5725f
parameter_id: 0x3b12c8e0
@@ -291129,6 +297253,11 @@ function {
parameter_id: 0x3fc475cd
}
function {
+ id: 0x1f6acc03
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3fca7642
+}
+function {
id: 0x1f729ba1
return_type_id: 0x48b5725f
parameter_id: 0x3fab28c8
@@ -291360,6 +297489,14 @@ function {
parameter_id: 0xa52a0930
}
function {
+ id: 0x1fcbfdc9
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3ef55b88
+ parameter_id: 0x3ef55b88
+ parameter_id: 0x5268af9d
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x1fcd1693
return_type_id: 0x48b5725f
parameter_id: 0x3d551c03
@@ -291441,6 +297578,19 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x1fe47867
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3df0a7d3
+}
+function {
+ id: 0x1fe91863
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3e10b518
+ parameter_id: 0x3e10b518
+ parameter_id: 0x324e7f0f
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x1feaaebf
return_type_id: 0x48b5725f
parameter_id: 0x315b7e01
@@ -291475,6 +297625,11 @@ function {
parameter_id: 0xa52a0930
}
function {
+ id: 0x1ff04410
+ return_type_id: 0x48b5725f
+ parameter_id: 0x3da0560e
+}
+function {
id: 0x1ff204c3
return_type_id: 0x48b5725f
parameter_id: 0x3d2ef874
@@ -291518,6 +297673,12 @@ function {
parameter_id: 0xf641dd8a
}
function {
+ id: 0x20151959
+ return_type_id: 0x2b8f13b3
+ parameter_id: 0x33f8b54b
+ parameter_id: 0x0bf1a65b
+}
+function {
id: 0x209ae488
return_type_id: 0x37f9fd94
parameter_id: 0xc9082b19
@@ -291721,6 +297882,14 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x2720cd28
+ return_type_id: 0x3fca7642
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x307eba5c
+ parameter_id: 0x92233392
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x27d025a4
return_type_id: 0x40e51470
parameter_id: 0x14528516
@@ -291800,6 +297969,14 @@ function {
parameter_id: 0x0258f96e
}
function {
+ id: 0x299442f2
+ return_type_id: 0x0490bb4a
+ parameter_id: 0x4585663f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x3e10b518
+ parameter_id: 0x25e45be7
+}
+function {
id: 0x29da83bb
return_type_id: 0x042af17e
parameter_id: 0x2668e644
@@ -291865,11 +298042,6 @@ function {
parameter_id: 0x4585663f
}
function {
- id: 0x2b6ce96f
- return_type_id: 0x2b8a97e8
- parameter_id: 0x1b36c7a2
-}
-function {
id: 0x2b7baaf7
return_type_id: 0x002136b3
parameter_id: 0x2e8ed696
@@ -292026,11 +298198,6 @@ function {
parameter_id: 0x1b8590a8
}
function {
- id: 0x2e024bbc
- return_type_id: 0x40e51470
- parameter_id: 0x331b3d77
-}
-function {
id: 0x2e14bb87
return_type_id: 0xa8fff47c
parameter_id: 0x116785ed
@@ -292335,13 +298502,6 @@ function {
parameter_id: 0x33756485
}
function {
- id: 0x33e7bc51
- return_type_id: 0x33756485
- parameter_id: 0x08dcfb76
- parameter_id: 0x1b4ba19a
- parameter_id: 0x4585663f
-}
-function {
id: 0x340d6f59
return_type_id: 0x33756485
parameter_id: 0x1582ab06
@@ -292354,6 +298514,12 @@ function {
parameter_id: 0x92233392
}
function {
+ id: 0x34270f0c
+ return_type_id: 0x0490bb4a
+ parameter_id: 0x36e75420
+ parameter_id: 0x3e146274
+}
+function {
id: 0x345f1809
return_type_id: 0xa9403390
parameter_id: 0x3e6396e0
@@ -292835,6 +299001,11 @@ function {
parameter_id: 0x37b4f743
}
function {
+ id: 0x3c97e3d9
+ return_type_id: 0x33756485
+ parameter_id: 0x34ecba28
+}
+function {
id: 0x3cc96bbe
return_type_id: 0x0483e6f8
parameter_id: 0x0483e6f8
@@ -292842,14 +299013,6 @@ function {
parameter_id: 0x1d19a9d5
}
function {
- id: 0x3cd4485f
- return_type_id: 0x33756485
- parameter_id: 0x363b9249
- parameter_id: 0x3c6958c4
- parameter_id: 0x1b4ba19a
- parameter_id: 0x4585663f
-}
-function {
id: 0x3d0f6874
return_type_id: 0x1c3dbe5a
parameter_id: 0x3b04bead
@@ -292948,6 +299111,14 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0x3e8d4bea
+ return_type_id: 0x33756485
+ parameter_id: 0x3f84ee3c
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x3e902c00
return_type_id: 0x0483e6f8
parameter_id: 0x0258f96e
@@ -293067,6 +299238,12 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x4022c156
+ return_type_id: 0xc9082b19
+ parameter_id: 0x1bfb2a60
+ parameter_id: 0xc9082b19
+}
+function {
id: 0x40326129
return_type_id: 0x31675062
parameter_id: 0x3e10b518
@@ -293109,6 +299286,12 @@ function {
parameter_id: 0x38d23361
}
function {
+ id: 0x4132c986
+ return_type_id: 0x04ca9246
+ parameter_id: 0x276a1779
+ parameter_id: 0x162ee618
+}
+function {
id: 0x416927bc
return_type_id: 0x00c83ba6
parameter_id: 0x2cac4c27
@@ -293155,6 +299338,11 @@ function {
parameter_id: 0x27a7c613
}
function {
+ id: 0x429ad182
+ return_type_id: 0x18bd6530
+ parameter_id: 0x503181cf
+}
+function {
id: 0x42a927f9
return_type_id: 0xc9082b19
parameter_id: 0x1d44326e
@@ -293245,6 +299433,12 @@ function {
parameter_id: 0x2b20aa80
}
function {
+ id: 0x44b624d1
+ return_type_id: 0x00c83ba6
+ parameter_id: 0x3b04bead
+ parameter_id: 0x16c5c0ab
+}
+function {
id: 0x44ddb78b
return_type_id: 0x356691bc
parameter_id: 0x3b04bead
@@ -293278,12 +299472,24 @@ function {
parameter_id: 0x3f54a013
}
function {
+ id: 0x45846d91
+ return_type_id: 0xc9082b19
+ parameter_id: 0x078316ff
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x45a8a3c4
return_type_id: 0x00c83ba6
parameter_id: 0x3860f3c0
parameter_id: 0x6720d32f
}
function {
+ id: 0x45df5dd3
+ return_type_id: 0x315b7e01
+ parameter_id: 0x3b04bead
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x45f82b62
return_type_id: 0xc9082b19
}
@@ -293338,6 +299544,11 @@ function {
parameter_id: 0x0c0dfa25
}
function {
+ id: 0x47570b9f
+ return_type_id: 0x2131312a
+ parameter_id: 0x2d77f22a
+}
+function {
id: 0x4759fa3a
return_type_id: 0x04ca9246
parameter_id: 0x3e10b518
@@ -293362,6 +299573,13 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x48135354
+ return_type_id: 0x35304fb1
+ parameter_id: 0x3f84ee3c
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+}
+function {
id: 0x48834be4
return_type_id: 0xc9082b19
parameter_id: 0x397d00ab
@@ -293440,6 +299658,11 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0x4a02979c
+ return_type_id: 0xf1a6dfed
+ parameter_id: 0x1582ab06
+}
+function {
id: 0x4a279a3e
return_type_id: 0x3d4280e0
parameter_id: 0x3fc475cd
@@ -293451,6 +299674,11 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x4a818b9c
+ return_type_id: 0x18bd6530
+ parameter_id: 0x705ce9b7
+}
+function {
id: 0x4abfefa4
return_type_id: 0x0cbf60eb
parameter_id: 0x359862c8
@@ -293480,6 +299708,17 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x4b6ec637
+ return_type_id: 0x2d01fcba
+ parameter_id: 0x0c2e195c
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+ parameter_id: 0x0c33de94
+ parameter_id: 0x0c33de94
+ parameter_id: 0x4585663f
+}
+function {
id: 0x4bbafb54
return_type_id: 0x00c72527
parameter_id: 0x04f7a60d
@@ -293515,6 +299754,12 @@ function {
parameter_id: 0x3668642a
}
function {
+ id: 0x4d306964
+ return_type_id: 0x21069feb
+ parameter_id: 0x3c9a9fb2
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x4d878509
return_type_id: 0x21069feb
parameter_id: 0x3c6f7555
@@ -293543,6 +299788,11 @@ function {
parameter_id: 0x2e8d5f05
}
function {
+ id: 0x4e6eaff2
+ return_type_id: 0x00daeb4b
+ parameter_id: 0x0483e6f8
+}
+function {
id: 0x4e848709
return_type_id: 0x18ea6ae3
parameter_id: 0x3e10b518
@@ -293582,6 +299832,10 @@ function {
parameter_id: 0x038de60c
}
function {
+ id: 0x4f4e564c
+ return_type_id: 0x00daeb4b
+}
+function {
id: 0x4f645cab
return_type_id: 0x00a43052
parameter_id: 0x3860f3c0
@@ -293677,21 +299931,11 @@ function {
parameter_id: 0x18150d9f
}
function {
- id: 0x50a850bc
- return_type_id: 0x92233392
- parameter_id: 0x1dce0fdd
-}
-function {
id: 0x50af222c
return_type_id: 0x18bd6530
parameter_id: 0x18e64f74
}
function {
- id: 0x50b9e8bd
- return_type_id: 0x18bd6530
- parameter_id: 0x18bd6530
-}
-function {
id: 0x50f3b181
return_type_id: 0x18ea6ae3
parameter_id: 0x4585663f
@@ -293786,6 +300030,13 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x5274946d
+ return_type_id: 0x1c898f28
+ parameter_id: 0x356691bc
+ parameter_id: 0x6720d32f
+ parameter_id: 0x4585663f
+}
+function {
id: 0x5281433c
return_type_id: 0x92233392
parameter_id: 0x156a41de
@@ -293827,6 +300078,12 @@ function {
return_type_id: 0x295c7202
}
function {
+ id: 0x5373932e
+ return_type_id: 0x18bd6530
+ parameter_id: 0x11e6864c
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x537f4e77
return_type_id: 0x18bd6530
parameter_id: 0x11e6864c
@@ -293959,6 +300216,13 @@ function {
parameter_id: 0x11e6864c
}
function {
+ id: 0x553ed14c
+ return_type_id: 0xba990d57
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x4585663f
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x55423178
return_type_id: 0x18bd6530
parameter_id: 0x0b30ee00
@@ -293984,6 +300248,11 @@ function {
parameter_id: 0x0c48c037
}
function {
+ id: 0x55aa47ce
+ return_type_id: 0x18bd6530
+ parameter_id: 0x0cf3d8fe
+}
+function {
id: 0x55afd20f
return_type_id: 0x2131312a
parameter_id: 0x6720d32f
@@ -294167,6 +300436,12 @@ function {
parameter_id: 0x210b9681
}
function {
+ id: 0x56edbc2a
+ return_type_id: 0x18bd6530
+ parameter_id: 0x0258f96e
+ parameter_id: 0x3b4ce03a
+}
+function {
id: 0x56f10608
return_type_id: 0x18bd6530
parameter_id: 0x0258f96e
@@ -294389,6 +300664,11 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0x59642c61
+ return_type_id: 0x18bd6530
+ parameter_id: 0x3fca7642
+}
+function {
id: 0x596454e5
return_type_id: 0x92233392
parameter_id: 0x391f15ea
@@ -294537,6 +300817,11 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x5b0b198d
+ return_type_id: 0x295c7202
+ parameter_id: 0x21069feb
+}
+function {
id: 0x5b3d7cd1
return_type_id: 0x18bd6530
parameter_id: 0x359862c8
@@ -294637,6 +300922,14 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x5bbe2188
+ return_type_id: 0x0cf3d8fe
+ parameter_id: 0x3121a074
+ parameter_id: 0xf435685e
+ parameter_id: 0x0ca27481
+ parameter_id: 0x0258f96e
+}
+function {
id: 0x5bd76b9c
return_type_id: 0x18bd6530
parameter_id: 0x33756485
@@ -294823,6 +301116,13 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x5de26741
+ return_type_id: 0x18bd6530
+ parameter_id: 0x2efd5036
+ parameter_id: 0x3dfac2ad
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0x5de7952d
return_type_id: 0x18bd6530
parameter_id: 0x2e8ad82b
@@ -294866,6 +301166,19 @@ function {
parameter_id: 0x11cfee5a
}
function {
+ id: 0x5e9421aa
+ return_type_id: 0x18bd6530
+ parameter_id: 0x2d01fcba
+ parameter_id: 0xd0b3a203
+ parameter_id: 0x0087f4f8
+}
+function {
+ id: 0x5ebf0597
+ return_type_id: 0x18bd6530
+ parameter_id: 0x239187d3
+ parameter_id: 0x33756485
+}
+function {
id: 0x5ed273d9
return_type_id: 0x18bd6530
parameter_id: 0x2efd5036
@@ -294893,6 +301206,13 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x5ef6b6b7
+ return_type_id: 0x18bd6530
+ parameter_id: 0x2efd5036
+ parameter_id: 0xf1a6dfed
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x5f133b10
return_type_id: 0x18a2fb63
parameter_id: 0x0490bb4a
@@ -294980,11 +301300,29 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x61257a20
+ return_type_id: 0x2170d06d
+ parameter_id: 0xf1a6dfed
+ parameter_id: 0x4585663f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x2fb2b385
+}
+function {
id: 0x619a645f
return_type_id: 0x249959de
parameter_id: 0x347303b4
}
function {
+ id: 0x6240298a
+ return_type_id: 0x1d44326e
+ parameter_id: 0x3861403d
+ parameter_id: 0x054f691a
+ parameter_id: 0x27847a9a
+ parameter_id: 0x1259e377
+ parameter_id: 0x27847a9a
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0x624b0f22
return_type_id: 0x0537fb37
parameter_id: 0x0ca27481
@@ -295025,6 +301363,11 @@ function {
parameter_id: 0x31b5a66f
}
function {
+ id: 0x637004ab
+ return_type_id: 0x1582ab06
+ parameter_id: 0x2170d06d
+}
+function {
id: 0x6408a046
return_type_id: 0x054f691a
parameter_id: 0x32a623d7
@@ -295077,6 +301420,13 @@ function {
parameter_id: 0x0130219f
}
function {
+ id: 0x65a73fe6
+ return_type_id: 0x3ccb45d9
+ parameter_id: 0x0ca27481
+ parameter_id: 0x3b19594b
+ parameter_id: 0x3fd547b8
+}
+function {
id: 0x65d68df5
return_type_id: 0x1977e57b
parameter_id: 0x0c2e195c
@@ -295107,6 +301457,12 @@ function {
parameter_id: 0x1c3dbe5a
}
function {
+ id: 0x66525607
+ return_type_id: 0x82bc7069
+ parameter_id: 0x347303b4
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x6680517a
return_type_id: 0x054f691a
parameter_id: 0x3e6396e0
@@ -295115,6 +301471,19 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0x66880871
+ return_type_id: 0x054f691a
+ parameter_id: 0x380c33d1
+ parameter_id: 0x054f691a
+}
+function {
+ id: 0x66cc4765
+ return_type_id: 0x28a3a74b
+ parameter_id: 0x1684c624
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x66e18f45
return_type_id: 0x2c8c423d
parameter_id: 0x32ec08f2
@@ -295216,6 +301585,20 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x69b2a88c
+ return_type_id: 0x0945c216
+ parameter_id: 0x3e10b518
+ parameter_id: 0xc9082b19
+ parameter_id: 0xc9082b19
+}
+function {
+ id: 0x69be77aa
+ return_type_id: 0x054f691a
+ parameter_id: 0x054f691a
+ parameter_id: 0x18bd6530
+ parameter_id: 0x4585663f
+}
+function {
id: 0x69cde367
return_type_id: 0x054f691a
parameter_id: 0x054f691a
@@ -295318,11 +301701,6 @@ function {
parameter_id: 0x6720d32f
}
function {
- id: 0x6b9bebe6
- return_type_id: 0x18bd6530
- parameter_id: 0xf435685e
-}
-function {
id: 0x6bb7aee3
return_type_id: 0x7b6559c5
}
@@ -295334,6 +301712,13 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0x6bfb947b
+ return_type_id: 0x054f691a
+ parameter_id: 0x0dc9e98b
+ parameter_id: 0x054f691a
+ parameter_id: 0x0baa70a7
+}
+function {
id: 0x6c109ae9
return_type_id: 0x249959de
parameter_id: 0x0258f96e
@@ -295989,6 +302374,11 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0x8039c229
+ return_type_id: 0x2e19617e
+ parameter_id: 0x1285100d
+}
+function {
id: 0x80cf4911
return_type_id: 0x6720d32f
parameter_id: 0x732d9646
@@ -296079,6 +302469,15 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x81599f70
+ return_type_id: 0x120540d1
+ parameter_id: 0x32ec08f2
+ parameter_id: 0x6720d32f
+ parameter_id: 0x3e10b518
+ parameter_id: 0x18bd6530
+ parameter_id: 0x2f802886
+}
+function {
id: 0x81a9f9cd
return_type_id: 0x09a83f1c
parameter_id: 0x347303b4
@@ -296536,6 +302935,14 @@ function {
parameter_id: 0x21530c77
}
function {
+ id: 0x876cb04d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0xca283f54
+ parameter_id: 0x33756485
+ parameter_id: 0x06835e9c
+}
+function {
id: 0x87739e97
return_type_id: 0x3a583251
parameter_id: 0x0258f96e
@@ -296589,6 +302996,13 @@ function {
parameter_id: 0x3912ab06
}
function {
+ id: 0x889f851e
+ return_type_id: 0x120540d1
+ parameter_id: 0x120540d1
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x04c1427f
+}
+function {
id: 0x88bccf1d
return_type_id: 0x120540d1
parameter_id: 0x120540d1
@@ -296682,6 +303096,12 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x8ad88211
+ return_type_id: 0x120540d1
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x120540d1
+}
+function {
id: 0x8ae0b646
return_type_id: 0x6720d32f
parameter_id: 0x5d8155a5
@@ -297024,11 +303444,21 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x9002b2b0
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3609467c
+}
+function {
id: 0x9006b123
return_type_id: 0x6720d32f
parameter_id: 0x36194830
}
function {
+ id: 0x90085da5
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3622fa2a
+}
+function {
id: 0x9009411d
return_type_id: 0x6720d32f
parameter_id: 0x326663cd
@@ -297134,6 +303564,12 @@ function {
parameter_id: 0x3668642a
}
function {
+ id: 0x901c3c62
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3ae3ff84
+ parameter_id: 0xc9082b19
+}
+function {
id: 0x90208300
return_type_id: 0x6720d32f
parameter_id: 0x374090df
@@ -297212,6 +303648,14 @@ function {
parameter_id: 0x2e0f9112
}
function {
+ id: 0x9038705c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x347303b4
+ parameter_id: 0x2afee447
+ parameter_id: 0x38d23361
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9038edd5
return_type_id: 0x6720d32f
parameter_id: 0x36337082
@@ -297596,6 +304040,13 @@ function {
parameter_id: 0x7584e7da
}
function {
+ id: 0x90917599
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x9ae406d4
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x9093971b
return_type_id: 0x6720d32f
parameter_id: 0x3053e2de
@@ -297688,12 +304139,6 @@ function {
parameter_id: 0x6720d32f
}
function {
- id: 0x90ad44c2
- return_type_id: 0x6720d32f
- parameter_id: 0x36f0529f
- parameter_id: 0x246cd286
-}
-function {
id: 0x90adbc21
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -297793,6 +304238,14 @@ function {
parameter_id: 0x34e62f02
}
function {
+ id: 0x90bd2dd7
+ return_type_id: 0x6720d32f
+ parameter_id: 0x376789dd
+ parameter_id: 0x3bcd0c02
+ parameter_id: 0x2de928d9
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x90bfa7c3
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -297950,15 +304403,6 @@ function {
parameter_id: 0x35d510c3
}
function {
- id: 0x90f86afe
- return_type_id: 0x6720d32f
- parameter_id: 0x363b9249
- parameter_id: 0x3c6958c4
- parameter_id: 0x1b4ba19a
- parameter_id: 0x4585663f
- parameter_id: 0x33756485
-}
-function {
id: 0x90fb83a9
return_type_id: 0x6720d32f
parameter_id: 0x397d00ab
@@ -298102,6 +304546,11 @@ function {
parameter_id: 0x0ab1f084
}
function {
+ id: 0x910fbd4c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x323d798e
+}
+function {
id: 0x91117703
return_type_id: 0x6720d32f
parameter_id: 0x33756485
@@ -298207,10 +304656,11 @@ function {
parameter_id: 0x07dcdbe1
}
function {
- id: 0x9121ec42
+ id: 0x9122ac75
return_type_id: 0x6720d32f
- parameter_id: 0x322509a0
- parameter_id: 0x0a134144
+ parameter_id: 0x32a623d7
+ parameter_id: 0x0483e6f8
+ parameter_id: 0x6720d32f
}
function {
id: 0x91239923
@@ -298278,6 +304728,13 @@ function {
parameter_id: 0x32caaf24
}
function {
+ id: 0x9133c6a6
+ return_type_id: 0x6720d32f
+ parameter_id: 0x31790b1e
+ parameter_id: 0x3f0185ef
+ parameter_id: 0x4585663f
+}
+function {
id: 0x913618b5
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -298875,6 +305332,12 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x91a5f8da
+ return_type_id: 0x6720d32f
+ parameter_id: 0x33756485
+ parameter_id: 0x3e10b518
+}
+function {
id: 0x91a610ef
return_type_id: 0x6720d32f
parameter_id: 0x33b77109
@@ -298943,6 +305406,11 @@ function {
parameter_id: 0x0483e6f8
}
function {
+ id: 0x91ab10d3
+ return_type_id: 0x6720d32f
+ parameter_id: 0x30afcff2
+}
+function {
id: 0x91adf8fd
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -299219,6 +305687,13 @@ function {
parameter_id: 0x384c5795
}
function {
+ id: 0x91c8e13a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x32a623d7
+ parameter_id: 0x3e10b518
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x91ca11c2
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -299299,6 +305774,12 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x91d35e28
+ return_type_id: 0x6720d32f
+ parameter_id: 0x32a623d7
+ parameter_id: 0x3e8d7c9a
+}
+function {
id: 0x91d5541c
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -299431,12 +305912,6 @@ function {
parameter_id: 0x07dcdbe1
}
function {
- id: 0x91e5f6bf
- return_type_id: 0x6720d32f
- parameter_id: 0x322509a0
- parameter_id: 0x3b15fe1d
-}
-function {
id: 0x91e70ccb
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -299497,6 +305972,14 @@ function {
parameter_id: 0x31ad3cde
}
function {
+ id: 0x91ec6dfe
+ return_type_id: 0x6720d32f
+ parameter_id: 0x32a623d7
+ parameter_id: 0x3176a085
+ parameter_id: 0x0d9c4ffe
+ parameter_id: 0xeeed68e6
+}
+function {
id: 0x91ed8ab4
return_type_id: 0x6720d32f
parameter_id: 0x31b5a66f
@@ -299778,6 +306261,25 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x920aa99b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3e292ad1
+}
+function {
+ id: 0x920c1213
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x33756485
+ parameter_id: 0xf435685e
+}
+function {
+ id: 0x920d0e3f
+ return_type_id: 0x6720d32f
+ parameter_id: 0x384c5795
+ parameter_id: 0x6720d32f
+ parameter_id: 0x09eee7e5
+}
+function {
id: 0x920d4b76
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -299789,6 +306291,13 @@ function {
parameter_id: 0x3e360385
}
function {
+ id: 0x92117c1d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3fca7642
+ parameter_id: 0x18bd6530
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x92121eb9
return_type_id: 0x6720d32f
parameter_id: 0x3e02e685
@@ -299805,6 +306314,13 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x921502fa
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x3e2a5e3d
+ parameter_id: 0x4585663f
+}
+function {
id: 0x92153e12
return_type_id: 0xf435685e
parameter_id: 0x14abdd00
@@ -299851,14 +306367,17 @@ function {
parameter_id: 0x0efc9002
}
function {
- id: 0x921f607b
+ id: 0x9220b9bd
return_type_id: 0x6720d32f
- parameter_id: 0x3e7e0d52
+ parameter_id: 0x3e816a4b
}
function {
- id: 0x9220b9bd
+ id: 0x9221eee3
return_type_id: 0x6720d32f
- parameter_id: 0x3e816a4b
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x3e10b518
+ parameter_id: 0x9547a3da
+ parameter_id: 0x0dc11255
}
function {
id: 0x92222c71
@@ -299913,12 +306432,6 @@ function {
parameter_id: 0x0a134144
}
function {
- id: 0x922d81eb
- return_type_id: 0x6720d32f
- parameter_id: 0x322509a0
- parameter_id: 0xc9082b19
-}
-function {
id: 0x922dbdf3
return_type_id: 0x6720d32f
parameter_id: 0x3f222c68
@@ -300109,6 +306622,13 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x9258444e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b04bead
+ parameter_id: 0x4585663f
+ parameter_id: 0x3e75499e
+}
+function {
id: 0x925d3e48
return_type_id: 0x6720d32f
parameter_id: 0x3ea2e6c1
@@ -300161,6 +306681,11 @@ function {
parameter_id: 0x38d23361
}
function {
+ id: 0x9261d8a0
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3f84ee3c
+}
+function {
id: 0x92625532
return_type_id: 0x6720d32f
parameter_id: 0x3c07fb40
@@ -300191,6 +306716,23 @@ function {
parameter_id: 0xeeed68e6
}
function {
+ id: 0x926873bc
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x38d23361
+ parameter_id: 0x38d23361
+}
+function {
+ id: 0x92687d88
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x38d23361
+}
+function {
id: 0x92697f90
return_type_id: 0x6720d32f
parameter_id: 0x3fa672fd
@@ -300201,11 +306743,65 @@ function {
parameter_id: 0x00b7947f
}
function {
+ id: 0x926a0987
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0xa7051d2f
+ parameter_id: 0x2ec35650
+ parameter_id: 0x38d23361
+}
+function {
+ id: 0x926a0c03
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0xa7051d2f
+ parameter_id: 0x38d23361
+ parameter_id: 0x38d23361
+}
+function {
+ id: 0x926a25a2
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0xa7051d2f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0xc9082b19
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x926bbb17
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0xc9082b19
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x926be467
return_type_id: 0x6720d32f
parameter_id: 0x3fac1d22
}
function {
+ id: 0x926c5025
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3d1364e9
+ parameter_id: 0x2bae2afe
+ parameter_id: 0x1bf16028
+ parameter_id: 0x0bb0c019
+}
+function {
+ id: 0x926d0dd0
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3fca7642
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x926dcbb0
return_type_id: 0x6720d32f
parameter_id: 0x3c0e9e79
@@ -300361,6 +306957,21 @@ function {
parameter_id: 0x32a063f3
}
function {
+ id: 0x92880f91
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x1e820193
+ parameter_id: 0x3be6380c
+ parameter_id: 0x0d30b9c3
+}
+function {
+ id: 0x928c1332
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3fca7642
+ parameter_id: 0x3e10b518
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x928d6faf
return_type_id: 0x6720d32f
parameter_id: 0x33756485
@@ -300411,6 +307022,14 @@ function {
parameter_id: 0x3c5f865b
}
function {
+ id: 0x9298d745
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x1e820193
+ parameter_id: 0x7be80061
+ parameter_id: 0x3be6380c
+}
+function {
id: 0x929a4d8e
return_type_id: 0x6720d32f
parameter_id: 0x3c6aba87
@@ -300501,6 +307120,12 @@ function {
parameter_id: 0x3ca2533c
}
function {
+ id: 0x92aa46db
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x15a30023
+}
+function {
id: 0x92ab09cb
return_type_id: 0x6720d32f
parameter_id: 0x3d435d11
@@ -300508,6 +307133,15 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x92ab0d8f
+ return_type_id: 0x6720d32f
+ parameter_id: 0x351641b0
+ parameter_id: 0x92233392
+ parameter_id: 0x92233392
+ parameter_id: 0x92233392
+ parameter_id: 0xc9082b19
+}
+function {
id: 0x92acc8e1
return_type_id: 0x6720d32f
parameter_id: 0x3ac2a209
@@ -300520,6 +307154,13 @@ function {
parameter_id: 0x2124c9f1
}
function {
+ id: 0x92af5c55
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x15a30023
+ parameter_id: 0x146a39bf
+}
+function {
id: 0x92b5578e
return_type_id: 0x6720d32f
parameter_id: 0x3f37d9d5
@@ -300539,6 +307180,15 @@ function {
parameter_id: 0x3c2dd1ca
}
function {
+ id: 0x92beb06d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x1d44afc8
+ parameter_id: 0xd0b3a203
+ parameter_id: 0xd0b3a203
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x92bf7ef1
return_type_id: 0x6720d32f
parameter_id: 0x3cfe7778
@@ -300578,6 +307228,13 @@ function {
parameter_id: 0x38040a6c
}
function {
+ id: 0x92c286e9
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x666a7a1b
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x92c2d86d
return_type_id: 0x6720d32f
parameter_id: 0x3e10b518
@@ -300647,6 +307304,14 @@ function {
parameter_id: 0x3d3b5dd7
}
function {
+ id: 0x92d2af21
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3e10b518
+ parameter_id: 0x3185812b
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0x92d3b873
return_type_id: 0x6720d32f
parameter_id: 0x3dcae1c0
@@ -300687,6 +307352,12 @@ function {
parameter_id: 0x0db138df
}
function {
+ id: 0x92daa424
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x099bbff0
+}
+function {
id: 0x92dc6e62
return_type_id: 0x6720d32f
parameter_id: 0x3d723536
@@ -300836,6 +307507,14 @@ function {
parameter_id: 0x386badcf
}
function {
+ id: 0x92fb2e1e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3fca7642
+ parameter_id: 0x23d822f9
+ parameter_id: 0x18bd6530
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x92fc5924
return_type_id: 0x6720d32f
parameter_id: 0x3b49ed35
@@ -300849,6 +307528,18 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x92fccadb
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+}
+function {
+ id: 0x92fce902
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3fca7642
+ parameter_id: 0x23d822f9
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x92fcfc63
return_type_id: 0x6720d32f
parameter_id: 0x3e146274
@@ -300950,6 +307641,13 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9312e40f
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3e10b518
+ parameter_id: 0x4585663f
+ parameter_id: 0x00fff809
+}
+function {
id: 0x9312e488
return_type_id: 0x6720d32f
parameter_id: 0x3e10b518
@@ -300964,6 +307662,14 @@ function {
parameter_id: 0x00c72527
}
function {
+ id: 0x9313207d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x130aa721
+ parameter_id: 0x173696bc
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9313a933
return_type_id: 0x6720d32f
parameter_id: 0x3b04bead
@@ -301059,6 +307765,12 @@ function {
parameter_id: 0x3e6239e1
}
function {
+ id: 0x931afda4
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x100964d4
+}
+function {
id: 0x931d2209
return_type_id: 0x6720d32f
parameter_id: 0x3e10b518
@@ -301250,6 +307962,24 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x935d0dd3
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x00c72527
+ parameter_id: 0x13580d6c
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x93625762
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b04bead
+ parameter_id: 0x079f969f
+ parameter_id: 0xf435685e
+ parameter_id: 0x391f15ea
+ parameter_id: 0x30ccee09
+ parameter_id: 0x2a670b41
+}
+function {
id: 0x93627fe0
return_type_id: 0x6720d32f
parameter_id: 0x3a583251
@@ -301273,6 +308003,12 @@ function {
parameter_id: 0x3ba261b0
}
function {
+ id: 0x936a3614
+ return_type_id: 0x6720d32f
+ parameter_id: 0x39d1288c
+ parameter_id: 0x27a7c613
+}
+function {
id: 0x936c5d25
return_type_id: 0x6720d32f
parameter_id: 0x32a623d7
@@ -301284,6 +308020,19 @@ function {
parameter_id: 0x3bb11c92
}
function {
+ id: 0x936fda74
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3dcee85d
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0x9377de98
+ return_type_id: 0x6720d32f
+ parameter_id: 0x380882e7
+ parameter_id: 0x391f15ea
+ parameter_id: 0x4585663f
+}
+function {
id: 0x93788ff8
return_type_id: 0x6720d32f
parameter_id: 0x3a8e2ac6
@@ -301345,6 +308094,15 @@ function {
parameter_id: 0xa52a0930
}
function {
+ id: 0x938283cb
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b04bead
+ parameter_id: 0x31c8b544
+ parameter_id: 0x12e6ffae
+ parameter_id: 0x36d2de0e
+ parameter_id: 0x3db894b0
+}
+function {
id: 0x93833601
return_type_id: 0x6720d32f
parameter_id: 0x3e6396e0
@@ -301416,6 +308174,12 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0x938d8e84
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3861403d
+ parameter_id: 0x054f691a
+}
+function {
id: 0x938ec5ae
return_type_id: 0x6720d32f
parameter_id: 0x3e6396e0
@@ -301442,6 +308206,21 @@ function {
parameter_id: 0x1e8e5a79
}
function {
+ id: 0x93910e88
+ return_type_id: 0x6720d32f
+ parameter_id: 0x380c33d1
+ parameter_id: 0x054f691a
+ parameter_id: 0x1f73dead
+}
+function {
+ id: 0x9394f11e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x33fd261b
+ parameter_id: 0x07dcdbe1
+ parameter_id: 0x0aa1f0ee
+}
+function {
id: 0x93980968
return_type_id: 0x6720d32f
parameter_id: 0x3863a91c
@@ -301502,6 +308281,13 @@ function {
parameter_id: 0x0b27dc43
}
function {
+ id: 0x939f8199
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b04bead
+ parameter_id: 0x36d2de0e
+ parameter_id: 0x14199568
+}
+function {
id: 0x93a2a3d7
return_type_id: 0x6720d32f
parameter_id: 0x382837f5
@@ -301587,6 +308373,14 @@ function {
parameter_id: 0x3b4ce03a
}
function {
+ id: 0x93bf0967
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x3f0185ef
+ parameter_id: 0x6720d32f
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x93bf967f
return_type_id: 0x6720d32f
parameter_id: 0x38fdd541
@@ -301716,6 +308510,22 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0x93e8301d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x4585663f
+ parameter_id: 0x0bb0c019
+ parameter_id: 0x0483e6f8
+ parameter_id: 0x4585663f
+}
+function {
+ id: 0x93e83373
+ return_type_id: 0x6720d32f
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x4585663f
+ parameter_id: 0x0bb0c019
+}
+function {
id: 0x93e8e7b0
return_type_id: 0x6720d32f
parameter_id: 0x3a534a58
@@ -301917,6 +308727,17 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x941967cc
+ return_type_id: 0x6720d32f
+ parameter_id: 0x22561ecb
+ parameter_id: 0x4585663f
+ parameter_id: 0x6720d32f
+ parameter_id: 0xf1a6dfed
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x941d79a6
return_type_id: 0x6720d32f
parameter_id: 0x246dc7d4
@@ -302006,6 +308827,18 @@ function {
parameter_id: 0x396f8ae8
}
function {
+ id: 0x94404485
+ return_type_id: 0x6720d32f
+ parameter_id: 0x26ee682a
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0x94418fe1
+ return_type_id: 0x6720d32f
+ parameter_id: 0x2705b338
+}
+function {
id: 0x9441b35b
return_type_id: 0x6720d32f
parameter_id: 0x26ee682a
@@ -302018,12 +308851,29 @@ function {
parameter_id: 0x064d6086
}
function {
+ id: 0x94459100
+ return_type_id: 0x6720d32f
+ parameter_id: 0x21069feb
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x08ba388c
+}
+function {
id: 0x9445ee80
return_type_id: 0x6720d32f
parameter_id: 0x234c60dd
parameter_id: 0x4585663f
}
function {
+ id: 0x94471ba6
+ return_type_id: 0x6720d32f
+ parameter_id: 0x2170d06d
+ parameter_id: 0x6720d32f
+ parameter_id: 0x1d5bae2a
+ parameter_id: 0x064d6086
+}
+function {
id: 0x944726c2
return_type_id: 0x6720d32f
parameter_id: 0x25ffeea5
@@ -302185,6 +309035,13 @@ function {
parameter_id: 0xcddc4fff
}
function {
+ id: 0x946d2b92
+ return_type_id: 0x6720d32f
+ parameter_id: 0x24f9cd24
+ parameter_id: 0x323908e0
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x946eaca9
return_type_id: 0x52658204
parameter_id: 0x0258f96e
@@ -302414,6 +309271,13 @@ function {
parameter_id: 0x25520d15
}
function {
+ id: 0x94d5972f
+ return_type_id: 0x6720d32f
+ parameter_id: 0x24f9cd24
+ parameter_id: 0x1c1627b0
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x94d8cba3
return_type_id: 0x6720d32f
parameter_id: 0x2560a232
@@ -302584,6 +309448,12 @@ function {
parameter_id: 0x1dd302e9
}
function {
+ id: 0x950d2ca0
+ return_type_id: 0x6720d32f
+ parameter_id: 0x21069feb
+ parameter_id: 0x331a1d7a
+}
+function {
id: 0x950f0fae
return_type_id: 0x6720d32f
parameter_id: 0x223fb206
@@ -302602,6 +309472,12 @@ function {
parameter_id: 0x38040a6c
}
function {
+ id: 0x9522132a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x24f9cd24
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x952ae349
return_type_id: 0x6720d32f
parameter_id: 0x221a7c5c
@@ -302623,6 +309499,13 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x95353072
+ return_type_id: 0x6720d32f
+ parameter_id: 0x246dc7d4
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x9535de1a
return_type_id: 0x6720d32f
parameter_id: 0x2e8d5f05
@@ -302819,6 +309702,12 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x956e6587
+ return_type_id: 0x6720d32f
+ parameter_id: 0x2170d06d
+ parameter_id: 0x2cacacc0
+}
+function {
id: 0x957149c4
return_type_id: 0x6720d32f
parameter_id: 0x2208f89a
@@ -302833,6 +309722,11 @@ function {
parameter_id: 0x2ac2dd67
}
function {
+ id: 0x9576eb91
+ return_type_id: 0x6720d32f
+ parameter_id: 0x23d822f9
+}
+function {
id: 0x957964bc
return_type_id: 0x6720d32f
parameter_id: 0x2259084f
@@ -302908,6 +309802,12 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x958ea945
+ return_type_id: 0x6720d32f
+ parameter_id: 0x23d822f9
+ parameter_id: 0x3e10b518
+}
+function {
id: 0x958f9102
return_type_id: 0x6720d32f
parameter_id: 0x23f09c34
@@ -302995,6 +309895,13 @@ function {
parameter_id: 0x13580d6c
}
function {
+ id: 0x95a406a6
+ return_type_id: 0x6720d32f
+ parameter_id: 0x26e55184
+ parameter_id: 0x6720d32f
+ parameter_id: 0x04ca9246
+}
+function {
id: 0x95a45e65
return_type_id: 0xb3e7bac9
parameter_id: 0x6720d32f
@@ -303098,6 +310005,13 @@ function {
parameter_id: 0x334c07d5
}
function {
+ id: 0x95b6c4a9
+ return_type_id: 0x6720d32f
+ parameter_id: 0x23d822f9
+ parameter_id: 0x391f15ea
+ parameter_id: 0x914dbfdc
+}
+function {
id: 0x95b74be6
return_type_id: 0x6720d32f
parameter_id: 0x2060db23
@@ -303271,6 +310185,14 @@ function {
parameter_id: 0x78d7d113
}
function {
+ id: 0x95fc7a3d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x23f09c34
+ parameter_id: 0x23f09c34
+ parameter_id: 0x3e10b518
+ parameter_id: 0x3e10b518
+}
+function {
id: 0x95fc827f
return_type_id: 0x6720d32f
parameter_id: 0x23f09c34
@@ -303735,6 +310657,11 @@ function {
parameter_id: 0x914dbfdc
}
function {
+ id: 0x96c09c01
+ return_type_id: 0x6720d32f
+ parameter_id: 0x2d01fcba
+}
+function {
id: 0x96c3b4e1
return_type_id: 0x6720d32f
parameter_id: 0x221732c5
@@ -303985,21 +310912,6 @@ function {
parameter_id: 0x32a623d7
}
function {
- id: 0x97024092
- return_type_id: 0x6720d32f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x1b36c7a2
- parameter_id: 0x33756485
-}
-function {
- id: 0x97028d47
- return_type_id: 0x6720d32f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x1b36c7a2
- parameter_id: 0x33756485
- parameter_id: 0x33756485
-}
-function {
id: 0x9702dcaf
return_type_id: 0x2668e644
parameter_id: 0x347303b4
@@ -304188,6 +311100,12 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x974e1bca
+ return_type_id: 0x6720d32f
+ parameter_id: 0x2953a412
+ parameter_id: 0x26847863
+}
+function {
id: 0x975a548f
return_type_id: 0x6720d32f
parameter_id: 0x2f3288e0
@@ -304292,6 +311210,11 @@ function {
parameter_id: 0x28136e4b
}
function {
+ id: 0x97889594
+ return_type_id: 0x6720d32f
+ parameter_id: 0x2821daec
+}
+function {
id: 0x978bc97a
return_type_id: 0x6720d32f
parameter_id: 0x29a77f06
@@ -304331,6 +311254,14 @@ function {
parameter_id: 0x35f82503
}
function {
+ id: 0x97a0d8a7
+ return_type_id: 0x15a30023
+ parameter_id: 0x15a30023
+ parameter_id: 0x6720d32f
+ parameter_id: 0xf1a6dfed
+ parameter_id: 0x0292b875
+}
+function {
id: 0x97a3c07a
return_type_id: 0x6720d32f
parameter_id: 0x2efe8065
@@ -304359,6 +311290,14 @@ function {
parameter_id: 0xdb6afbca
}
function {
+ id: 0x97b4bbf8
+ return_type_id: 0xf435685e
+ parameter_id: 0x06835e9c
+ parameter_id: 0x4585663f
+ parameter_id: 0xf435685e
+ parameter_id: 0x2f73da3b
+}
+function {
id: 0x97b9c78c
return_type_id: 0x6720d32f
parameter_id: 0x2a9beac2
@@ -304366,12 +311305,6 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
- id: 0x97bdb4b8
- return_type_id: 0x6720d32f
- parameter_id: 0x2b8a97e8
- parameter_id: 0x37fc9b61
-}
-function {
id: 0x97c10137
return_type_id: 0x0611572c
parameter_id: 0x3eb4196d
@@ -304709,6 +311642,13 @@ function {
parameter_id: 0x1d2416d3
}
function {
+ id: 0x98214125
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1582ab06
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+}
+function {
id: 0x982246a7
return_type_id: 0x6720d32f
parameter_id: 0x153f0b1a
@@ -304721,6 +311661,14 @@ function {
parameter_id: 0xfc0e1dbd
}
function {
+ id: 0x982488f7
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0xd0b3a203
+ parameter_id: 0x1977e57b
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x98249b1d
return_type_id: 0x6720d32f
parameter_id: 0x16239d0c
@@ -304762,6 +311710,22 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0x98362533
+ return_type_id: 0x6720d32f
+ parameter_id: 0x12e24ee1
+ parameter_id: 0x4585663f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0xf1a6dfed
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0x9837b2b4
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1285100d
+ parameter_id: 0x4585663f
+}
+function {
id: 0x983c5682
return_type_id: 0x6720d32f
parameter_id: 0x1dc3d428
@@ -305012,6 +311976,14 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x986a916d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1582ab06
+ parameter_id: 0x2170d06d
+ parameter_id: 0x33756485
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0x986ccce1
return_type_id: 0x6720d32f
parameter_id: 0x1582ab06
@@ -305065,6 +312037,21 @@ function {
parameter_id: 0x0d7d7298
}
function {
+ id: 0x98773f07
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1582ab06
+ parameter_id: 0x27a7c613
+ parameter_id: 0x27a7c613
+}
+function {
+ id: 0x98788d90
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0xf1a6dfed
+ parameter_id: 0x4585663f
+ parameter_id: 0x33756485
+}
+function {
id: 0x98792c3d
return_type_id: 0x3e10b518
parameter_id: 0x28f4ee78
@@ -305218,6 +312205,15 @@ function {
parameter_id: 0xc93e017b
}
function {
+ id: 0x988bc164
+ return_type_id: 0xf435685e
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x33756485
+ parameter_id: 0x18bd6530
+ parameter_id: 0xf435685e
+ parameter_id: 0x2f73da3b
+}
+function {
id: 0x988f2c1b
return_type_id: 0x6720d32f
parameter_id: 0x100a15ee
@@ -305386,6 +312382,11 @@ function {
parameter_id: 0x14b9453b
}
function {
+ id: 0x98af9d1c
+ return_type_id: 0x3e10b518
+ parameter_id: 0x2bae2afe
+}
+function {
id: 0x98b3c900
return_type_id: 0x6720d32f
parameter_id: 0x10a78bb8
@@ -305432,6 +312433,12 @@ function {
parameter_id: 0x0b0dddba
}
function {
+ id: 0x98c001f4
+ return_type_id: 0x3225ac75
+ parameter_id: 0x1285100d
+ parameter_id: 0x34d79405
+}
+function {
id: 0x98c44e7d
return_type_id: 0x6720d32f
parameter_id: 0x1769c4d8
@@ -305520,6 +312527,17 @@ function {
parameter_id: 0x156a41de
}
function {
+ id: 0x98da7fb1
+ return_type_id: 0x6720d32f
+ parameter_id: 0x11e6864c
+ parameter_id: 0x4585663f
+ parameter_id: 0xd92b1d75
+ parameter_id: 0xd92b1d75
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3e10b518
+ parameter_id: 0xa52a0930
+}
+function {
id: 0x98de7695
return_type_id: 0x6720d32f
parameter_id: 0x116785ed
@@ -305560,6 +312578,13 @@ function {
parameter_id: 0x295c7202
}
function {
+ id: 0x98e6779b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x15b54c6f
+ parameter_id: 0x0483e6f8
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x98e6a470
return_type_id: 0x6720d32f
parameter_id: 0x14b9453b
@@ -305806,6 +312831,21 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x9921a72c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1285100d
+}
+function {
+ id: 0x992241b9
+ return_type_id: 0x6720d32f
+ parameter_id: 0x128a8a58
+}
+function {
+ id: 0x9927995d
+ return_type_id: 0xf435685e
+ parameter_id: 0x3861403d
+}
+function {
id: 0x9927b218
return_type_id: 0x6720d32f
parameter_id: 0x104d069a
@@ -305909,6 +312949,11 @@ function {
parameter_id: 0x295c7202
}
function {
+ id: 0x99387097
+ return_type_id: 0x6720d32f
+ parameter_id: 0x12e24ee1
+}
+function {
id: 0x9939118b
return_type_id: 0x6720d32f
parameter_id: 0x126ba7e3
@@ -306319,6 +313364,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x99ae995e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1042c9d1
+ parameter_id: 0x0fb2015e
+}
+function {
id: 0x99aea96e
return_type_id: 0x6720d32f
parameter_id: 0x10134e31
@@ -306498,6 +313549,12 @@ function {
parameter_id: 0x111ee6f8
}
function {
+ id: 0x99c882b3
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1e62d0f5
+ parameter_id: 0xf435685e
+}
+function {
id: 0x99c885a2
return_type_id: 0x6720d32f
parameter_id: 0x12191e2a
@@ -306544,6 +313601,12 @@ function {
parameter_id: 0x0db25a6d
}
function {
+ id: 0x99d43279
+ return_type_id: 0xf435685e
+ parameter_id: 0x34ecba28
+ parameter_id: 0xf435685e
+}
+function {
id: 0x99d6eb87
return_type_id: 0x6720d32f
parameter_id: 0x12e6ffae
@@ -306593,6 +313656,11 @@ function {
parameter_id: 0x2d1f457b
}
function {
+ id: 0x99df4252
+ return_type_id: 0x6720d32f
+ parameter_id: 0x117e85f5
+}
+function {
id: 0x99e0f6e0
return_type_id: 0x6720d32f
parameter_id: 0x106029c6
@@ -306622,6 +313690,14 @@ function {
parameter_id: 0xf017819f
}
function {
+ id: 0x99e4a009
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x92233392
+ parameter_id: 0x0ed82db2
+ parameter_id: 0x082be49e
+}
+function {
id: 0x99e6ede5
return_type_id: 0x6720d32f
parameter_id: 0x129a6a0a
@@ -306636,6 +313712,14 @@ function {
parameter_id: 0x92233392
}
function {
+ id: 0x99e7b457
+ return_type_id: 0x6720d32f
+ parameter_id: 0x12e6ffae
+ parameter_id: 0x3b04bead
+ parameter_id: 0xc9082b19
+ parameter_id: 0x2e18f543
+}
+function {
id: 0x99eacf10
return_type_id: 0x6720d32f
parameter_id: 0x17dabdcd
@@ -306654,6 +313738,15 @@ function {
parameter_id: 0x3c2fe980
}
function {
+ id: 0x99ecdba4
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x92233392
+ parameter_id: 0x2e029f76
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x99ed1149
return_type_id: 0x6720d32f
parameter_id: 0x120540d1
@@ -306762,6 +313855,11 @@ function {
parameter_id: 0x348ad8b0
}
function {
+ id: 0x9a04e7d8
+ return_type_id: 0xf435685e
+ parameter_id: 0x34ecba28
+}
+function {
id: 0x9a077ed2
return_type_id: 0x6720d32f
parameter_id: 0x1e9745d3
@@ -306857,6 +313955,12 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x9a1d7c68
+ return_type_id: 0x6720d32f
+ parameter_id: 0x12e6ffae
+ parameter_id: 0xc9082b19
+}
+function {
id: 0x9a1e34e7
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -306888,6 +313992,15 @@ function {
parameter_id: 0x34a05394
}
function {
+ id: 0x9a235f02
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0x9a23bd25
return_type_id: 0xcc33625b
parameter_id: 0x3a6106d5
@@ -306904,6 +314017,11 @@ function {
parameter_id: 0x1e9705eb
}
function {
+ id: 0x9a25325b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1e9745d3
+}
+function {
id: 0x9a299233
return_type_id: 0x6720d32f
parameter_id: 0x1ea5c473
@@ -306916,6 +314034,14 @@ function {
parameter_id: 0x3c2755a3
}
function {
+ id: 0x9a2abc7b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x9a2af11b
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -306932,6 +314058,21 @@ function {
parameter_id: 0x1d19a9d5
}
function {
+ id: 0x9a2b6d98
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0x9a2d8ab0
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x63bb62a2
+ parameter_id: 0x33756485
+}
+function {
id: 0x9a2dc3fa
return_type_id: 0x6720d32f
parameter_id: 0x18a2fb63
@@ -306950,6 +314091,12 @@ function {
parameter_id: 0x37f5d3d4
}
function {
+ id: 0x9a308be1
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1977e57b
+ parameter_id: 0x7b64642a
+}
+function {
id: 0x9a32aa77
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -307161,6 +314308,13 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9a3fe476
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+ parameter_id: 0x33756485
+}
+function {
id: 0x9a403d53
return_type_id: 0x6720d32f
parameter_id: 0x1dce0fdd
@@ -307333,6 +314487,11 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9a6e7c60
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1fba7d3d
+}
+function {
id: 0x9a702edf
return_type_id: 0x6720d32f
parameter_id: 0x1d7ca769
@@ -307471,6 +314630,14 @@ function {
parameter_id: 0x1c50c4ad
}
function {
+ id: 0x9a96d2a1
+ return_type_id: 0x6720d32f
+ parameter_id: 0x120540d1
+ parameter_id: 0xe62ebf07
+ parameter_id: 0x391f15ea
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9a9d1e6d
return_type_id: 0xf435685e
parameter_id: 0x35abdbf6
@@ -307602,12 +314769,6 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
- id: 0x9aaeaf98
- return_type_id: 0x6720d32f
- parameter_id: 0x1d65d221
- parameter_id: 0x1dce0fdd
-}
-function {
id: 0x9aaf4bc3
return_type_id: 0x6720d32f
parameter_id: 0x18a2fb63
@@ -307622,6 +314783,12 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x9aaf7e51
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1fba7d3d
+ parameter_id: 0x30408c71
+}
+function {
id: 0x9ab24357
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -307697,6 +314864,12 @@ function {
parameter_id: 0x1ce51dde
}
function {
+ id: 0x9ab9affb
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x4585663f
+}
+function {
id: 0x9abc5077
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -307720,6 +314893,15 @@ function {
parameter_id: 0x1bf16028
}
function {
+ id: 0x9abe9677
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x4585663f
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x2e029f76
+}
+function {
id: 0x9abf53a3
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -307957,12 +315139,33 @@ function {
parameter_id: 0x1df06cce
}
function {
+ id: 0x9afd0449
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9b022eae
return_type_id: 0x6720d32f
parameter_id: 0x1b8590a8
parameter_id: 0x18ea6ae3
}
function {
+ id: 0x9b034295
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x3e001c39
+ parameter_id: 0xd57eb7ba
+ parameter_id: 0x18bd6530
+}
+function {
+ id: 0x9b037291
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x9b03e163
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -308156,6 +315359,13 @@ function {
parameter_id: 0x1d19a9d5
}
function {
+ id: 0x9b15020e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x188b9e81
+ parameter_id: 0x2f3288e0
+ parameter_id: 0x2f3288e0
+}
+function {
id: 0x9b153afe
return_type_id: 0x6720d32f
parameter_id: 0x1aee9939
@@ -308271,6 +315481,13 @@ function {
parameter_id: 0x107606b0
}
function {
+ id: 0x9b222516
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x2170d06d
+ parameter_id: 0x2170d06d
+}
+function {
id: 0x9b2239e7
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -308417,6 +315634,13 @@ function {
parameter_id: 0x1a6ea392
}
function {
+ id: 0x9b2eaf21
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x2170d06d
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x9b2eba1d
return_type_id: 0x6720d32f
parameter_id: 0x1b8590a8
@@ -308426,6 +315650,12 @@ function {
parameter_id: 0x1253769c
}
function {
+ id: 0x9b2efcfe
+ return_type_id: 0x6720d32f
+ parameter_id: 0x19e66c71
+ parameter_id: 0x35e13364
+}
+function {
id: 0x9b2f1182
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -308477,6 +315707,12 @@ function {
parameter_id: 0x26e55184
}
function {
+ id: 0x9b35e16b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x2696c21b
+}
+function {
id: 0x9b37fa13
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -308547,6 +315783,13 @@ function {
parameter_id: 0x07dcdbe1
}
function {
+ id: 0x9b3e4950
+ return_type_id: 0x6720d32f
+ parameter_id: 0x191de370
+ parameter_id: 0x3806a5e7
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9b3e6548
return_type_id: 0x6720d32f
parameter_id: 0x156a41de
@@ -308817,6 +316060,13 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x9b4f443a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1d2bb1b6
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9b4f857e
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -308874,6 +316124,13 @@ function {
parameter_id: 0x1a5d0549
}
function {
+ id: 0x9b52c397
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3c692b7e
+ parameter_id: 0x33756485
+}
+function {
id: 0x9b5377a8
return_type_id: 0x6720d32f
parameter_id: 0x1aeeade4
@@ -309004,6 +316261,13 @@ function {
parameter_id: 0x3ea31487
}
function {
+ id: 0x9b5a0fe0
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3df7e337
+ parameter_id: 0x09a83f1c
+}
+function {
id: 0x9b5aa874
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -309141,6 +316405,13 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x9b6602ad
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x33756485
+ parameter_id: 0x11b57133
+}
+function {
id: 0x9b660b2c
return_type_id: 0x6720d32f
parameter_id: 0x1aeeade4
@@ -309230,6 +316501,12 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x9b6b31b5
+ return_type_id: 0xf435685e
+ parameter_id: 0x3e10b518
+ parameter_id: 0xf435685e
+}
+function {
id: 0x9b6b9392
return_type_id: 0x6720d32f
parameter_id: 0x1b8590a8
@@ -309290,6 +316567,13 @@ function {
parameter_id: 0x11cfee5a
}
function {
+ id: 0x9b6eb2a8
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+}
+function {
id: 0x9b6eb620
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -309316,6 +316600,14 @@ function {
parameter_id: 0x17b3f4e8
}
function {
+ id: 0x9b723218
+ return_type_id: 0x2a670b41
+ parameter_id: 0x3b04bead
+ parameter_id: 0xc9082b19
+ parameter_id: 0x3e10b518
+ parameter_id: 0x1c3dbe5a
+}
+function {
id: 0x9b7237ea
return_type_id: 0x2a670b41
parameter_id: 0x3b04bead
@@ -309499,6 +316791,12 @@ function {
parameter_id: 0x13580d6c
}
function {
+ id: 0x9b79f498
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3593bec8
+}
+function {
id: 0x9b79f513
return_type_id: 0x6720d32f
parameter_id: 0x188b9e81
@@ -309508,6 +316806,13 @@ function {
parameter_id: 0xfc0e1dbd
}
function {
+ id: 0x9b7ba7c5
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x33756485
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9b7bfb3b
return_type_id: 0x6720d32f
parameter_id: 0x1bd69199
@@ -309552,6 +316857,15 @@ function {
parameter_id: 0x92233392
}
function {
+ id: 0x9b80645e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x0b30ee00
+ parameter_id: 0x0a63398f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9b82fce2
return_type_id: 0x6720d32f
parameter_id: 0x1bc6afb1
@@ -309593,6 +316907,12 @@ function {
parameter_id: 0x18150d9f
}
function {
+ id: 0x9b85c291
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x0a9e3ca3
+}
+function {
id: 0x9b85c36d
return_type_id: 0x6720d32f
parameter_id: 0x1b55a8f2
@@ -309710,6 +317030,16 @@ function {
parameter_id: 0x082be49e
}
function {
+ id: 0x9b8fbd40
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x0b7c4f67
+ parameter_id: 0x310ec01d
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x00c72527
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x9b91093a
return_type_id: 0x6720d32f
parameter_id: 0x1847a854
@@ -309723,6 +317053,15 @@ function {
parameter_id: 0x30c17c17
}
function {
+ id: 0x9b91dcee
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x351641b0
+ parameter_id: 0x92233392
+ parameter_id: 0x2e18f543
+ parameter_id: 0xc9082b19
+}
+function {
id: 0x9b922d94
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -309754,6 +317093,12 @@ function {
parameter_id: 0x0db25a6d
}
function {
+ id: 0x9b94dad5
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x0ed82db2
+}
+function {
id: 0x9b957b56
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -309891,6 +317236,27 @@ function {
parameter_id: 0x1d19a9d5
}
function {
+ id: 0x9ba26d2b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x02a8d0c9
+ parameter_id: 0x1f8dbf97
+ parameter_id: 0x24373219
+ parameter_id: 0x1d6b5d95
+ parameter_id: 0x3e6239e1
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x11cfee5a
+}
+function {
+ id: 0x9ba26d9c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x02a8d0c9
+ parameter_id: 0x1f8dbf97
+ parameter_id: 0x24373219
+ parameter_id: 0x1c3dbe5a
+}
+function {
id: 0x9ba2e939
return_type_id: 0x6720d32f
parameter_id: 0x18150d9f
@@ -309904,12 +317270,30 @@ function {
parameter_id: 0x07f5d8a3
}
function {
+ id: 0x9ba346af
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b55a8f2
+ parameter_id: 0x3e10b518
+ parameter_id: 0x3e75499e
+ parameter_id: 0x4585663f
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x9ba39408
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
parameter_id: 0x030b9acf
}
function {
+ id: 0x9ba3940a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x054f691a
+ parameter_id: 0x6720d32f
+ parameter_id: 0x32a623d7
+ parameter_id: 0x4585663f
+}
+function {
id: 0x9ba399e4
return_type_id: 0x6720d32f
parameter_id: 0x1b084782
@@ -310173,6 +317557,12 @@ function {
parameter_id: 0x11cfee5a
}
function {
+ id: 0x9bb5b719
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x06835e9c
+}
+function {
id: 0x9bb5c5c3
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -310208,6 +317598,17 @@ function {
parameter_id: 0x064d6086
}
function {
+ id: 0x9bb6ab04
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x06835e9c
+ parameter_id: 0x0a63398f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0x9bb6c325
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -310301,6 +317702,12 @@ function {
parameter_id: 0x18ea6ae3
}
function {
+ id: 0x9bba87c7
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x054f691a
+}
+function {
id: 0x9bbb9163
return_type_id: 0x6720d32f
parameter_id: 0x11cffa09
@@ -310364,6 +317771,13 @@ function {
parameter_id: 0x13580d6c
}
function {
+ id: 0x9bbe37da
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x3667e19e
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x9bbe6322
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -310636,6 +318050,14 @@ function {
parameter_id: 0x370ed8aa
}
function {
+ id: 0x9bcdfb6a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1bf16028
+ parameter_id: 0x370ed8aa
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0x9bcfc1f5
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -310648,6 +318070,14 @@ function {
parameter_id: 0x21003da7
}
function {
+ id: 0x9bd01103
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x2e029f76
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x9bd01b5c
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -310656,6 +318086,12 @@ function {
parameter_id: 0x11cfee5a
}
function {
+ id: 0x9bd09cc2
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x4585663f
+}
+function {
id: 0x9bd130b8
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -310747,6 +318183,16 @@ function {
parameter_id: 0x3332797f
}
function {
+ id: 0x9bd44256
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x38bffa98
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x13580d6c
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0x9bd444ea
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -310971,6 +318417,14 @@ function {
parameter_id: 0x1c898f28
}
function {
+ id: 0x9bd8639c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1f8dbf97
+ parameter_id: 0x24373219
+ parameter_id: 0x38b368bf
+}
+function {
id: 0x9bd88151
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -311029,6 +318483,12 @@ function {
parameter_id: 0x0b3476b2
}
function {
+ id: 0x9bdaaaaa
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d44326e
+}
+function {
id: 0x9bdad4db
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -311078,14 +318538,6 @@ function {
parameter_id: 0x1d19a9d5
}
function {
- id: 0x9bdc22a4
- return_type_id: 0x6720d32f
- parameter_id: 0x18bd6530
- parameter_id: 0x1d19a9d5
- parameter_id: 0x1d19a9d5
- parameter_id: 0x2e029f76
-}
-function {
id: 0x9bdc44e8
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -311128,6 +318580,22 @@ function {
parameter_id: 0x1c3dbe5a
}
function {
+ id: 0x9bdcd7ce
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x13580d6c
+}
+function {
+ id: 0x9bdcdd91
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0x9bdcf60d
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -311139,6 +318607,11 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0x9bdd1a71
+ return_type_id: 0x6720d32f
+ parameter_id: 0x1977e57b
+}
+function {
id: 0x9bdd30f1
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -311176,6 +318649,14 @@ function {
parameter_id: 0x141e84b4
}
function {
+ id: 0x9bddb3a2
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x18a16691
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0x9bddb929
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -311234,6 +318715,13 @@ function {
parameter_id: 0x11cfee5a
}
function {
+ id: 0x9bdf0ac7
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x9bdfa419
return_type_id: 0x6720d32f
parameter_id: 0x18ea6ae3
@@ -311328,6 +318816,16 @@ function {
parameter_id: 0x1c898f28
}
function {
+ id: 0x9be67f35
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x1013df15
+ parameter_id: 0x27d4bd81
+ parameter_id: 0x1d19a9d5
+ parameter_id: 0x2c32dd96
+ parameter_id: 0x1bf16028
+}
+function {
id: 0x9be6a9ad
return_type_id: 0x6720d32f
parameter_id: 0x18bd6530
@@ -311377,6 +318875,14 @@ function {
parameter_id: 0x92233392
}
function {
+ id: 0x9bec16df
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x10de2fab
+ parameter_id: 0x02a8d0c9
+ parameter_id: 0x1f8dbf97
+}
+function {
id: 0x9bee7944
return_type_id: 0x6720d32f
parameter_id: 0x1b8590a8
@@ -311408,12 +318914,28 @@ function {
parameter_id: 0x19c40476
}
function {
+ id: 0x9bf23070
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x11b57133
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0x9bf37946
return_type_id: 0x6720d32f
parameter_id: 0x1b2ca025
parameter_id: 0x2e2c982d
}
function {
+ id: 0x9bf40739
+ return_type_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x14f37d47
+ parameter_id: 0x2170d06d
+ parameter_id: 0x0a134144
+ parameter_id: 0x13580d6c
+}
+function {
id: 0x9bf6c118
return_type_id: 0x6720d32f
parameter_id: 0x1b3398cc
@@ -311939,6 +319461,12 @@ function {
parameter_id: 0xe5e56f65
}
function {
+ id: 0x9c639284
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0665e6b6
+ parameter_id: 0x1e820193
+}
+function {
id: 0x9c660c95
return_type_id: 0x6720d32f
parameter_id: 0x0483e6f8
@@ -312119,6 +319647,15 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0x9c7facb4
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0xb38a8bec
+ parameter_id: 0x35c4d162
+ parameter_id: 0x38d23361
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9c814f78
return_type_id: 0x6720d32f
parameter_id: 0x0483e6f8
@@ -312324,6 +319861,13 @@ function {
parameter_id: 0x34c92288
}
function {
+ id: 0x9c9b15ff
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0d7ce7cc
+ parameter_id: 0x9741c5fc
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9c9c5425
return_type_id: 0x6720d32f
parameter_id: 0x054f691a
@@ -312447,6 +319991,12 @@ function {
parameter_id: 0x06ef24ac
}
function {
+ id: 0x9cb7a3ee
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0f78474f
+ parameter_id: 0xba5444a6
+}
+function {
id: 0x9cb7cef1
return_type_id: 0x6720d32f
parameter_id: 0x00b7947f
@@ -312806,6 +320356,13 @@ function {
parameter_id: 0x33d0e528
}
function {
+ id: 0x9cf8d4d9
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9cf9beaa
return_type_id: 0x6720d32f
parameter_id: 0x054f691a
@@ -313086,6 +320643,11 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x9d251990
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0297eaff
+}
+function {
id: 0x9d25c351
return_type_id: 0x6720d32f
parameter_id: 0x0258f96e
@@ -313190,6 +320752,12 @@ function {
parameter_id: 0x30600191
}
function {
+ id: 0x9d30566e
+ return_type_id: 0x6720d32f
+ parameter_id: 0x026c3dea
+ parameter_id: 0x0aee8ed6
+}
+function {
id: 0x9d30fa23
return_type_id: 0x6720d32f
parameter_id: 0x00dd92af
@@ -313416,6 +320984,12 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9d4713e6
+ return_type_id: 0x6720d32f
+ parameter_id: 0x034b35b4
+ parameter_id: 0x054f691a
+}
+function {
id: 0x9d475de3
return_type_id: 0x6720d32f
parameter_id: 0x056cf603
@@ -313514,6 +321088,13 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9d50188a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0258f96e
+ parameter_id: 0x100a15ee
+ parameter_id: 0x1bb6a471
+}
+function {
id: 0x9d51e53b
return_type_id: 0x6720d32f
parameter_id: 0x04c27a37
@@ -313734,6 +321315,13 @@ function {
parameter_id: 0x368ec5cb
}
function {
+ id: 0x9d760cc4
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0357d2dd
+ parameter_id: 0x0b27dc43
+ parameter_id: 0x3e10b518
+}
+function {
id: 0x9d763af9
return_type_id: 0x6720d32f
parameter_id: 0x0258f96e
@@ -313979,6 +321567,19 @@ function {
parameter_id: 0x13bdf349
}
function {
+ id: 0x9da1e0c3
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0xc700b957
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9da46876
+ return_type_id: 0x6720d32f
+ parameter_id: 0x01e0b0cf
+ parameter_id: 0x1729da91
+}
+function {
id: 0x9da4bde5
return_type_id: 0x6720d32f
parameter_id: 0x0258f96e
@@ -314063,6 +321664,11 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x9db75c24
+ return_type_id: 0x6720d32f
+ parameter_id: 0x00defc2c
+}
+function {
id: 0x9db78784
return_type_id: 0x6720d32f
parameter_id: 0x00dd92af
@@ -314399,6 +322005,12 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0x9dd4624b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0258f96e
+ parameter_id: 0x30afcff2
+}
+function {
id: 0x9dd5dbef
return_type_id: 0x6720d32f
parameter_id: 0x078316ff
@@ -314475,6 +322087,12 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x9ddc45fb
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0258f96e
+ parameter_id: 0x32a623d7
+}
+function {
id: 0x9ddc5532
return_type_id: 0x6720d32f
parameter_id: 0x01c5a749
@@ -314560,6 +322178,12 @@ function {
parameter_id: 0x0c45539b
}
function {
+ id: 0x9de1e6d5
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0258f96e
+ parameter_id: 0x3dcee85d
+}
+function {
id: 0x9de31a69
return_type_id: 0x6720d32f
parameter_id: 0x000fdfa4
@@ -314671,6 +322295,14 @@ function {
parameter_id: 0x01ae1e33
}
function {
+ id: 0x9dec0a70
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0258f96e
+ parameter_id: 0x3e10b518
+ parameter_id: 0x051414e1
+ parameter_id: 0xf435685e
+}
+function {
id: 0x9dec5d8d
return_type_id: 0x6720d32f
parameter_id: 0x0258f96e
@@ -314692,12 +322324,6 @@ function {
parameter_id: 0x3e10b518
}
function {
- id: 0x9def2541
- return_type_id: 0x6720d32f
- parameter_id: 0x0258f96e
- parameter_id: 0x3e7e0d52
-}
-function {
id: 0x9defdaa5
return_type_id: 0x6720d32f
parameter_id: 0x0258f96e
@@ -314777,6 +322403,14 @@ function {
parameter_id: 0x01f1fcec
}
function {
+ id: 0x9dfe4183
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0c2e195c
+ parameter_id: 0xd0b3a203
+ parameter_id: 0xd0b3a203
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0x9dfe427d
return_type_id: 0x6720d32f
parameter_id: 0x0c2e195c
@@ -314883,6 +322517,17 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0x9e071849
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x2ec35650
+}
+function {
+ id: 0x9e08a6b2
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0e211675
+}
+function {
id: 0x9e08dfbb
return_type_id: 0x6720d32f
parameter_id: 0x0c467c34
@@ -314918,6 +322563,21 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9e15f25c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0f4dcd61
+ parameter_id: 0x18bd6530
+ parameter_id: 0x92233392
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e1893ee
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x295c7202
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9e19651e
return_type_id: 0x6720d32f
parameter_id: 0x0e6618c4
@@ -314940,6 +322600,13 @@ function {
parameter_id: 0x3d8951f4
}
function {
+ id: 0x9e1a5c22
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x29ef8105
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9e1dd697
return_type_id: 0x6720d32f
parameter_id: 0x0fabaf3b
@@ -314966,6 +322633,14 @@ function {
parameter_id: 0x0b756bd6
}
function {
+ id: 0x9e20f17d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0fabaf3b
+ parameter_id: 0x120540d1
+ parameter_id: 0x0b756bd6
+ parameter_id: 0x0c715d8d
+}
+function {
id: 0x9e215925
return_type_id: 0x6720d32f
parameter_id: 0x0ab9fa4c
@@ -315044,6 +322719,13 @@ function {
parameter_id: 0x07dcdbe1
}
function {
+ id: 0x9e3092d5
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0f4dcd61
+ parameter_id: 0x18bd6530
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9e31377c
return_type_id: 0x6720d32f
parameter_id: 0x0f78474f
@@ -315078,6 +322760,38 @@ function {
parameter_id: 0x0effc5a1
}
function {
+ id: 0x9e40b36c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c0cf46a
+ parameter_id: 0x322b7a90
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e40c88b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x4585663f
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e41cf39
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c53e119
+ parameter_id: 0x322b7a90
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e41e293
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c0cf46a
+ parameter_id: 0x376c8705
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9e41ea47
return_type_id: 0x6720d32f
parameter_id: 0x0f627bc8
@@ -315099,12 +322813,62 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9e46dca9
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c53e119
+ parameter_id: 0x2e18f543
+}
+function {
+ id: 0x9e4766bb
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x376c8705
+ parameter_id: 0x92233392
+ parameter_id: 0x92233392
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9e49e56e
return_type_id: 0x6720d32f
parameter_id: 0x0b7c4f67
parameter_id: 0x4585663f
}
function {
+ id: 0x9e4b75cd
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c53e119
+ parameter_id: 0x18bd6530
+}
+function {
+ id: 0x9e4c26c1
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3c0cf46a
+}
+function {
+ id: 0x9e504197
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3b68ec61
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e51554f
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3b5017f2
+}
+function {
+ id: 0x9e51dd03
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x3b143836
+ parameter_id: 0x07dcdbe1
+ parameter_id: 0x1bf16028
+}
+function {
id: 0x9e52789b
return_type_id: 0x6720d32f
parameter_id: 0x0de4c6b1
@@ -315126,6 +322890,13 @@ function {
parameter_id: 0x2d8ee262
}
function {
+ id: 0x9e590019
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x39388fd3
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9e5980cd
return_type_id: 0x6720d32f
parameter_id: 0x0f6ef6cc
@@ -315155,6 +322926,41 @@ function {
parameter_id: 0x0f78474f
}
function {
+ id: 0x9e5fde3c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0dc9e98b
+ parameter_id: 0x295c7202
+ parameter_id: 0x295c7202
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x391f15ea
+ parameter_id: 0x914dbfdc
+}
+function {
+ id: 0x9e5fdeba
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0dc9e98b
+ parameter_id: 0x295c7202
+ parameter_id: 0x295c7202
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x18bd6530
+ parameter_id: 0x914dbfdc
+}
+function {
+ id: 0x9e609ac2
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0f4dcd61
+ parameter_id: 0x0cbf60eb
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e61a70c
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x376c8705
+}
+function {
id: 0x9e61ffc7
return_type_id: 0x6720d32f
parameter_id: 0x00c72527
@@ -315179,6 +322985,12 @@ function {
parameter_id: 0x07dcdbe1
}
function {
+ id: 0x9e65fffe
+ return_type_id: 0x6720d32f
+ parameter_id: 0x09e67e75
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9e663e24
return_type_id: 0x6720d32f
parameter_id: 0x0ca27481
@@ -315186,6 +322998,37 @@ function {
parameter_id: 0x0277bf8a
}
function {
+ id: 0x9e67eade
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0ca27481
+ parameter_id: 0x33e53462
+}
+function {
+ id: 0x9e68eb19
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0f4dcd61
+ parameter_id: 0x0f4dcd61
+ parameter_id: 0x18bd6530
+ parameter_id: 0x18bd6530
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9e69dafa
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0ca27481
+ parameter_id: 0x3399c453
+ parameter_id: 0x3b461cc8
+ parameter_id: 0x4585663f
+ parameter_id: 0x11d941b8
+}
+function {
+ id: 0x9e6a2131
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x376c8705
+ parameter_id: 0x2e18f543
+}
+function {
id: 0x9e6bce91
return_type_id: 0x6720d32f
parameter_id: 0x09e67e75
@@ -315223,6 +323066,13 @@ function {
parameter_id: 0x0e656e5d
}
function {
+ id: 0x9e6f0e68
+ return_type_id: 0x6720d32f
+ parameter_id: 0x09e67e75
+ parameter_id: 0x6720d32f
+ parameter_id: 0x2bc65a97
+}
+function {
id: 0x9e711486
return_type_id: 0x6720d32f
parameter_id: 0x0de4c6b1
@@ -315281,6 +323131,28 @@ function {
parameter_id: 0x25653b02
}
function {
+ id: 0x9e7aaf3f
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x31d9e79a
+ parameter_id: 0x07dcdbe1
+ parameter_id: 0x0aa1f0ee
+}
+function {
+ id: 0x9e7bd8f3
+ return_type_id: 0x6720d32f
+ parameter_id: 0x05c2a3ca
+ parameter_id: 0xa2e4cbbb
+}
+function {
+ id: 0x9e7d48ad
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0dc9e98b
+ parameter_id: 0x21069feb
+ parameter_id: 0x295c7202
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9e7f936c
return_type_id: 0x6720d32f
parameter_id: 0x0c485c36
@@ -315365,6 +323237,13 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x9e9034ea
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0dfb7909
+ parameter_id: 0x1df06cce
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9e917c22
return_type_id: 0x6720d32f
parameter_id: 0x0c467c34
@@ -315395,6 +323274,12 @@ function {
parameter_id: 0x0c56e1ee
}
function {
+ id: 0x9e960f96
+ return_type_id: 0x6720d32f
+ parameter_id: 0x054f691a
+ parameter_id: 0x914dbfdc
+}
+function {
id: 0x9e9a6f39
return_type_id: 0x6720d32f
parameter_id: 0x08326638
@@ -315457,6 +323342,12 @@ function {
parameter_id: 0x07dcdbe1
}
function {
+ id: 0x9eb7f57a
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0e211675
+ parameter_id: 0x2fd4f232
+}
+function {
id: 0x9eb8629a
return_type_id: 0x6720d32f
parameter_id: 0x0cc78943
@@ -315475,6 +323366,12 @@ function {
parameter_id: 0x2060db23
}
function {
+ id: 0x9ebf0984
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x00c72527
+}
+function {
id: 0x9ebfed71
return_type_id: 0x6720d32f
parameter_id: 0x0ca27481
@@ -315488,6 +323385,14 @@ function {
parameter_id: 0x07dcdbe1
}
function {
+ id: 0x9ec13de2
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0d7ce7cc
+ parameter_id: 0x01ace255
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
id: 0x9ec5d248
return_type_id: 0x6720d32f
parameter_id: 0x0db5f18a
@@ -315850,6 +323755,14 @@ function {
parameter_id: 0xf435685e
}
function {
+ id: 0x9f043139
+ return_type_id: 0x6720d32f
+ parameter_id: 0x08bd7371
+ parameter_id: 0x27a7c613
+ parameter_id: 0xd5cc9c9a
+ parameter_id: 0x18bd6530
+}
+function {
id: 0x9f04337e
return_type_id: 0x6720d32f
parameter_id: 0x0a134144
@@ -315968,6 +323881,22 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x9f248ea4
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0945c216
+ parameter_id: 0x391f15ea
+ parameter_id: 0x4585663f
+}
+function {
+ id: 0x9f25dc29
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0xb38a8bec
+ parameter_id: 0x35c4d162
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9f25fe02
return_type_id: 0x6720d32f
parameter_id: 0x0ee13889
@@ -316264,6 +324193,11 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9f67ec8c
+ return_type_id: 0x3e10b518
+ parameter_id: 0x348fecbf
+}
+function {
id: 0x9f6a0f7c
return_type_id: 0x6720d32f
parameter_id: 0x0930c6d9
@@ -316297,6 +324231,15 @@ function {
parameter_id: 0x054f691a
}
function {
+ id: 0x9f71449b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0a70ce1b
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3e10b518
+ parameter_id: 0x391f15ea
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9f72f53e
return_type_id: 0x6720d32f
parameter_id: 0x0258f96e
@@ -316347,6 +324290,13 @@ function {
parameter_id: 0x0bfc9031
}
function {
+ id: 0x9f7fd20b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0a70ce1b
+ parameter_id: 0x18bd6530
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9f808c95
return_type_id: 0x6720d32f
parameter_id: 0x0c6c61ad
@@ -316399,6 +324349,16 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0x9f85a1ff
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0de4c6b1
+ parameter_id: 0x5d8155a5
+ parameter_id: 0x2669d715
+ parameter_id: 0xf435685e
+ parameter_id: 0xfa5f37bb
+ parameter_id: 0x87463428
+}
+function {
id: 0x9f87b817
return_type_id: 0x6720d32f
parameter_id: 0x0917901f
@@ -316419,6 +324379,24 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0x9f8d452b
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0xc9082b19
+ parameter_id: 0xcbcc8512
+ parameter_id: 0x07dcdbe1
+}
+function {
+ id: 0x9f8e9af9
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x4585663f
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x3247ae94
+}
+function {
id: 0x9f93bc17
return_type_id: 0x6720d32f
parameter_id: 0x04f7a60d
@@ -316510,22 +324488,10 @@ function {
parameter_id: 0x0258f96e
}
function {
- id: 0x9fa510e8
- return_type_id: 0x6720d32f
- parameter_id: 0x08dcfb76
- parameter_id: 0x0561578b
- parameter_id: 0x1b4ba19a
- parameter_id: 0x6720d32f
- parameter_id: 0x18bd6530
-}
-function {
- id: 0x9fa51880
+ id: 0x9faa0088
return_type_id: 0x6720d32f
- parameter_id: 0x08dcfb76
- parameter_id: 0x0561578b
- parameter_id: 0x1b4ba19a
- parameter_id: 0x6720d32f
- parameter_id: 0x391f15ea
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x4585663f
}
function {
id: 0x9fab680a
@@ -316535,6 +324501,13 @@ function {
parameter_id: 0xc9082b19
}
function {
+ id: 0x9fabf7be
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x4585663f
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0x9fac2fbc
return_type_id: 0x6720d32f
parameter_id: 0x04b193cc
@@ -316753,14 +324726,6 @@ function {
parameter_id: 0xeab68ea2
}
function {
- id: 0x9fcb5ff8
- return_type_id: 0x6720d32f
- parameter_id: 0x08dcfb76
- parameter_id: 0x1b4ba19a
- parameter_id: 0x4585663f
- parameter_id: 0x33756485
-}
-function {
id: 0x9fcca68f
return_type_id: 0x6720d32f
parameter_id: 0x09483d5e
@@ -316822,6 +324787,11 @@ function {
return_type_id: 0x11c404ba
}
function {
+ id: 0x9fd193aa
+ return_type_id: 0x6720d32f
+ parameter_id: 0x0945c216
+}
+function {
id: 0x9fd1a709
return_type_id: 0x6720d32f
parameter_id: 0x09451098
@@ -317004,6 +324974,13 @@ function {
parameter_id: 0x340bec45
}
function {
+ id: 0xa040d060
+ return_type_id: 0x0258f96e
+ parameter_id: 0x31e58fe0
+ parameter_id: 0x4585663f
+ parameter_id: 0x0258f96e
+}
+function {
id: 0xa075fe88
return_type_id: 0xfc0e1dbd
parameter_id: 0x1dce0fdd
@@ -317018,6 +324995,11 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0xa08db938
+ return_type_id: 0x6720d32f
+ parameter_id: 0xf435685e
+}
+function {
id: 0xa08f5503
return_type_id: 0xfc0e1dbd
parameter_id: 0x18ea6ae3
@@ -317098,6 +325080,14 @@ function {
parameter_id: 0x2b8f13b3
}
function {
+ id: 0xa22a22cc
+ return_type_id: 0x1259e377
+ parameter_id: 0x0ca27481
+ parameter_id: 0x3861403d
+ parameter_id: 0x270c2906
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xa22b5357
return_type_id: 0x1259e377
parameter_id: 0x0ca27481
@@ -317193,6 +325183,17 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0xa4f69947
+ return_type_id: 0x6720d32f
+ parameter_id: 0xe62ebf07
+ parameter_id: 0x391f15ea
+ parameter_id: 0x6720d32f
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x3e001c39
+ parameter_id: 0x1b8590a8
+ parameter_id: 0xc9082b19
+}
+function {
id: 0xa52e0ac1
return_type_id: 0x3dcee85d
parameter_id: 0x0cc78943
@@ -317421,6 +325422,11 @@ function {
parameter_id: 0x2584a3b9
}
function {
+ id: 0xa7436d37
+ return_type_id: 0x2d77f22a
+ parameter_id: 0x2f24a589
+}
+function {
id: 0xa780332f
return_type_id: 0x6720d32f
parameter_id: 0xe8034002
@@ -317455,6 +325461,12 @@ function {
parameter_id: 0x2dec91ef
}
function {
+ id: 0xa7ea77a4
+ return_type_id: 0xfc0e1dbd
+ parameter_id: 0x00c83ba6
+ parameter_id: 0x3e10b518
+}
+function {
id: 0xa7f54c85
return_type_id: 0xfc0e1dbd
parameter_id: 0x0355dc72
@@ -317514,6 +325526,16 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0xa8ae6b7a
+ return_type_id: 0xfc0e1dbd
+ parameter_id: 0x3df0a7d3
+ parameter_id: 0x33756485
+ parameter_id: 0xfc0e1dbd
+ parameter_id: 0x2b23aa9d
+ parameter_id: 0x0cbf60eb
+ parameter_id: 0x28eb23d4
+}
+function {
id: 0xa8d53dcc
return_type_id: 0x1253769c
parameter_id: 0x23f09c34
@@ -317573,6 +325595,13 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0xaa27b09c
+ return_type_id: 0x0e211675
+ parameter_id: 0x0258f96e
+ parameter_id: 0x3e10b518
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xaa55ab2e
return_type_id: 0x31b5a66f
parameter_id: 0x2668e644
@@ -317597,6 +325626,12 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0xaa9ceb0d
+ return_type_id: 0x0e211675
+ parameter_id: 0x0258f96e
+ parameter_id: 0x16b45c7f
+}
+function {
id: 0xaa9fab30
return_type_id: 0x3dcee85d
parameter_id: 0x347303b4
@@ -317609,13 +325644,6 @@ function {
parameter_id: 0x3fe8ca70
}
function {
- id: 0xaab3b130
- return_type_id: 0xfc0e1dbd
- parameter_id: 0x322509a0
- parameter_id: 0x4585663f
- parameter_id: 0x33756485
-}
-function {
id: 0xaab8b473
return_type_id: 0xfc0e1dbd
parameter_id: 0x35abdbf6
@@ -317694,6 +325722,15 @@ function {
parameter_id: 0x292ab2e2
}
function {
+ id: 0xabe6a73e
+ return_type_id: 0x21b2d2f4
+ parameter_id: 0x1285100d
+ parameter_id: 0xc9082b19
+ parameter_id: 0x5268af9d
+ parameter_id: 0x4585663f
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0xabfb6aa8
return_type_id: 0x3dcee85d
parameter_id: 0x347303b4
@@ -317932,6 +325969,12 @@ function {
parameter_id: 0xb0ddb211
}
function {
+ id: 0xb28c48b5
+ return_type_id: 0x067c4b9a
+ parameter_id: 0x358ff5b7
+ parameter_id: 0x31b5a66f
+}
+function {
id: 0xb2be15b9
return_type_id: 0x6720d32f
parameter_id: 0xbdd18903
@@ -317962,6 +326005,13 @@ function {
parameter_id: 0x358ff5b7
}
function {
+ id: 0xb3cfd554
+ return_type_id: 0x067c4b9a
+ parameter_id: 0x358ff5b7
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xb3df35fa
return_type_id: 0x06835e9c
parameter_id: 0x391f15ea
@@ -317995,6 +326045,12 @@ function {
parameter_id: 0xf017819f
}
function {
+ id: 0xb55dce02
+ return_type_id: 0x160ba102
+ parameter_id: 0x0f12d1e7
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xb649ac13
return_type_id: 0x067c4b9a
parameter_id: 0x2668e644
@@ -318020,6 +326076,14 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0xb82f817c
+ return_type_id: 0x06835e9c
+ parameter_id: 0x1582ab06
+ parameter_id: 0x33756485
+ parameter_id: 0x6720d32f
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0xb8307855
return_type_id: 0x06835e9c
parameter_id: 0x1582ab06
@@ -318028,6 +326092,12 @@ function {
parameter_id: 0x18ea6ae3
}
function {
+ id: 0xb8358fd3
+ return_type_id: 0x06835e9c
+ parameter_id: 0x1582ab06
+ parameter_id: 0x33756485
+}
+function {
id: 0xb87b745c
return_type_id: 0x06835e9c
parameter_id: 0x14b9453b
@@ -318102,6 +326172,12 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
+ id: 0xb98ee524
+ return_type_id: 0x399c459b
+ parameter_id: 0x399c459b
+ parameter_id: 0x1b8590a8
+}
+function {
id: 0xb996d78c
return_type_id: 0xc4cf348e
parameter_id: 0x03f70c68
@@ -318114,6 +326190,15 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0xb9f52377
+ return_type_id: 0x6720d32f
+ parameter_id: 0x92233392
+ parameter_id: 0x3c417e01
+ parameter_id: 0x33756485
+ parameter_id: 0x33756485
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xba11bc6a
return_type_id: 0x06835e9c
parameter_id: 0x1e2533ab
@@ -318130,6 +326215,14 @@ function {
parameter_id: 0xf1a6dfed
}
function {
+ id: 0xba97bb1d
+ return_type_id: 0x6720d32f
+ parameter_id: 0x9565759f
+ parameter_id: 0x9565759f
+ parameter_id: 0x6d7f5ff6
+ parameter_id: 0x33d50b40
+}
+function {
id: 0xbb40a305
return_type_id: 0x6720d32f
parameter_id: 0x92233392
@@ -318265,6 +326358,11 @@ function {
parameter_id: 0x315b7e01
}
function {
+ id: 0xbeab1c63
+ return_type_id: 0x3176a085
+ parameter_id: 0x35d510c3
+}
+function {
id: 0xbec298be
return_type_id: 0x3176a085
parameter_id: 0x347303b4
@@ -318494,6 +326592,11 @@ function {
parameter_id: 0x310ec01d
}
function {
+ id: 0xc272f60e
+ return_type_id: 0x4585663f
+ parameter_id: 0x32a623d7
+}
+function {
id: 0xc29f6b92
return_type_id: 0x3b399f9e
parameter_id: 0x31fe2b41
@@ -318825,6 +326928,12 @@ function {
parameter_id: 0x12e75923
}
function {
+ id: 0xcaae52cc
+ return_type_id: 0x4585663f
+ parameter_id: 0x1d44326e
+ parameter_id: 0xc9082b19
+}
+function {
id: 0xcabd891e
return_type_id: 0x4585663f
parameter_id: 0x15c389f6
@@ -318869,6 +326978,13 @@ function {
parameter_id: 0x0258f96e
}
function {
+ id: 0xcbd33190
+ return_type_id: 0x2718fd24
+ parameter_id: 0x1285100d
+ parameter_id: 0x34d79405
+ parameter_id: 0x4585663f
+}
+function {
id: 0xcbea3bfa
return_type_id: 0x65d74a06
parameter_id: 0x246dc7d4
@@ -318887,6 +327003,12 @@ function {
parameter_id: 0x3360dff4
}
function {
+ id: 0xcc25b8e9
+ return_type_id: 0x4585663f
+ parameter_id: 0x0a70ce1b
+ parameter_id: 0x18bd6530
+}
+function {
id: 0xcc787cc3
return_type_id: 0x2efe8065
parameter_id: 0x1a1051a0
@@ -318900,6 +327022,11 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0xcc8a0e7e
+ return_type_id: 0x4585663f
+ parameter_id: 0x0945c216
+}
+function {
id: 0xcc9736e7
return_type_id: 0x65d74a06
parameter_id: 0x3360dff4
@@ -318938,6 +327065,11 @@ function {
parameter_id: 0x6720d32f
}
function {
+ id: 0xcd844708
+ return_type_id: 0x4585663f
+ parameter_id: 0x0d7ce7cc
+}
+function {
id: 0xcd8cb8f5
return_type_id: 0x4585663f
parameter_id: 0x0d5f1839
@@ -319035,6 +327167,14 @@ function {
parameter_id: 0x01241c02
}
function {
+ id: 0xce9ab7ea
+ return_type_id: 0x4585663f
+ parameter_id: 0x01222f7d
+ parameter_id: 0x064d6086
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0xceb0f977
return_type_id: 0x4585663f
parameter_id: 0x01ae1e33
@@ -319108,6 +327248,15 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0xcfac76b5
+ return_type_id: 0x4585663f
+ parameter_id: 0x04810ecd
+ parameter_id: 0x1582ab06
+ parameter_id: 0x064d6086
+ parameter_id: 0x33756485
+ parameter_id: 0x7f7172c7
+}
+function {
id: 0xcfc2716e
return_type_id: 0x6d7f5ff6
parameter_id: 0xc9082b19
@@ -319127,6 +327276,14 @@ function {
parameter_id: 0x1bf16028
}
function {
+ id: 0xd001e6e1
+ return_type_id: 0x36f998d3
+ parameter_id: 0x072e5f93
+ parameter_id: 0xf435685e
+ parameter_id: 0x914dbfdc
+ parameter_id: 0x295c7202
+}
+function {
id: 0xd015e7bc
return_type_id: 0x0ae4a2c7
parameter_id: 0x3d896417
@@ -319224,6 +327381,12 @@ function {
parameter_id: 0x0a193bb7
}
function {
+ id: 0xd655ba3d
+ return_type_id: 0x3b0b4c9d
+ parameter_id: 0x1285100d
+ parameter_id: 0xf1a6dfed
+}
+function {
id: 0xd673de47
return_type_id: 0x02eb105a
parameter_id: 0x02eb105a
@@ -319250,6 +327413,12 @@ function {
return_type_id: 0x02eb105a
}
function {
+ id: 0xd6e94dc1
+ return_type_id: 0x36f998d3
+ parameter_id: 0x105c8027
+ parameter_id: 0x300fdc99
+}
+function {
id: 0xd742e545
return_type_id: 0x26ad5dc1
parameter_id: 0xf1a6dfed
@@ -319270,24 +327439,27 @@ function {
parameter_id: 0x6d7f5ff6
}
function {
- id: 0xd8625902
- return_type_id: 0x6d7f5ff6
- parameter_id: 0x92233392
- parameter_id: 0x92233392
- parameter_id: 0x1908b154
-}
-function {
id: 0xd88df0fd
return_type_id: 0x2309ad3e
parameter_id: 0x6720d32f
parameter_id: 0x6720d32f
}
function {
+ id: 0xd8e8dad0
+ return_type_id: 0x33558def
+ parameter_id: 0x4585663f
+}
+function {
id: 0xd94d3717
return_type_id: 0x02eb105a
parameter_id: 0x3e10b518
}
function {
+ id: 0xd9bb2b92
+ return_type_id: 0x4585663f
+ parameter_id: 0x5d8155a5
+}
+function {
id: 0xd9de6af9
return_type_id: 0x1e93567a
parameter_id: 0x09427c40
@@ -319503,6 +327675,12 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0xdf267053
+ return_type_id: 0x36f998d3
+ parameter_id: 0x3760766d
+ parameter_id: 0x300fdc99
+}
+function {
id: 0xdf475327
return_type_id: 0x030b9acf
}
@@ -319552,6 +327730,15 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0xe10f9802
+ return_type_id: 0x2eab5b8a
+ parameter_id: 0x0de4c6b1
+ parameter_id: 0xfa5f37bb
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+ parameter_id: 0x4585663f
+}
+function {
id: 0xe12a6d4e
return_type_id: 0x07450c2a
parameter_id: 0x3760766d
@@ -319580,6 +327767,11 @@ function {
parameter_id: 0x187ed209
}
function {
+ id: 0xe2abbe2e
+ return_type_id: 0x1b55a8f2
+ parameter_id: 0x347303b4
+}
+function {
id: 0xe2c8401b
return_type_id: 0x3ea2e6c1
parameter_id: 0x3518a6ab
@@ -319741,12 +327933,6 @@ function {
parameter_id: 0x33756485
}
function {
- id: 0xe6385497
- return_type_id: 0x6d7f5ff6
- parameter_id: 0x6ee0bcff
- parameter_id: 0xc9082b19
-}
-function {
id: 0xe63fffaa
return_type_id: 0x2e8ad82b
parameter_id: 0x3a583251
@@ -319863,6 +328049,14 @@ function {
parameter_id: 0x23e856d0
}
function {
+ id: 0xe97c10c0
+ return_type_id: 0x1b4a1f75
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x31d9e79a
+ parameter_id: 0xc9082b19
+ parameter_id: 0x92233392
+}
+function {
id: 0xea3d26bb
return_type_id: 0x2e8ed696
parameter_id: 0x0e6618c4
@@ -319988,6 +328182,15 @@ function {
parameter_id: 0x18bd6530
}
function {
+ id: 0xf0122aeb
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x3e6396e0
+ parameter_id: 0x4585663f
+ parameter_id: 0xe2ce8d42
+ parameter_id: 0x0ca27481
+ parameter_id: 0x03942c7a
+}
+function {
id: 0xf0196dc4
return_type_id: 0x32a623d7
parameter_id: 0x30da8694
@@ -320120,6 +328323,11 @@ function {
parameter_id: 0x358ff5b7
}
function {
+ id: 0xf10ce2b4
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x3ea2e6c1
+}
+function {
id: 0xf1208847
return_type_id: 0x6d7f5ff6
parameter_id: 0x3861403d
@@ -320137,6 +328345,13 @@ function {
parameter_id: 0x00c72527
}
function {
+ id: 0xf12845f8
+ return_type_id: 0x32a623d7
+ parameter_id: 0x32a623d7
+ parameter_id: 0x7584e7da
+ parameter_id: 0x914dbfdc
+}
+function {
id: 0xf1329f23
return_type_id: 0x6d7f5ff6
parameter_id: 0x3dcae1c0
@@ -320193,6 +328408,12 @@ function {
parameter_id: 0x3c2755a3
}
function {
+ id: 0xf1ae1eac
+ return_type_id: 0x3e6239e1
+ parameter_id: 0x3e6239e1
+ parameter_id: 0x27a7c613
+}
+function {
id: 0xf1b060ff
return_type_id: 0x6d7f5ff6
parameter_id: 0x3f59ee8d
@@ -320334,6 +328555,12 @@ function {
parameter_id: 0x33d0e528
}
function {
+ id: 0xf2553153
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x324e7f0f
+ parameter_id: 0x18bd6530
+}
+function {
id: 0xf25d597f
return_type_id: 0x6d7f5ff6
parameter_id: 0x3399c453
@@ -320346,6 +328573,17 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0xf2708109
+ return_type_id: 0x32a623d7
+ parameter_id: 0x380c33d1
+}
+function {
+ id: 0xf272e262
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x31b5a66f
+ parameter_id: 0x2ef43f67
+}
+function {
id: 0xf275a972
return_type_id: 0x6d7f5ff6
parameter_id: 0x3043f6b1
@@ -320370,6 +328608,14 @@ function {
parameter_id: 0x3e10b518
}
function {
+ id: 0xf2d3e848
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x324e7f0f
+ parameter_id: 0x3bcd0c02
+ parameter_id: 0x2de928d9
+ parameter_id: 0x18bd6530
+}
+function {
id: 0xf2d73ac2
return_type_id: 0x6d7f5ff6
parameter_id: 0x322c8c4b
@@ -320391,6 +328637,19 @@ function {
parameter_id: 0x31fe2b41
}
function {
+ id: 0xf2e4f0d1
+ return_type_id: 0x26e55184
+ parameter_id: 0x3e10b518
+ parameter_id: 0x0b4ebfc7
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+ parameter_id: 0x18bd6530
+ parameter_id: 0x28b7a3b7
+ parameter_id: 0x043574da
+ parameter_id: 0x6720d32f
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xf2ee299f
return_type_id: 0x6d7f5ff6
parameter_id: 0x324e7f0f
@@ -320445,6 +328704,15 @@ function {
parameter_id: 0x36194830
}
function {
+ id: 0xf3248c4f
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x35f8cea5
+ parameter_id: 0x3bcd0c02
+ parameter_id: 0x4585663f
+ parameter_id: 0x2de928d9
+ parameter_id: 0x18bd6530
+}
+function {
id: 0xf334abb2
return_type_id: 0x6d7f5ff6
parameter_id: 0x34bb6aad
@@ -320470,6 +328738,11 @@ function {
parameter_id: 0x358ff5b7
}
function {
+ id: 0xf34d29c1
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x37a5cb14
+}
+function {
id: 0xf354bbbc
return_type_id: 0x26e55184
parameter_id: 0x3e10b518
@@ -320571,6 +328844,11 @@ function {
parameter_id: 0xd0b3a203
}
function {
+ id: 0xf3f7a0bb
+ return_type_id: 0x32a623d7
+ parameter_id: 0x3e10b518
+}
+function {
id: 0xf44fff9f
return_type_id: 0x6d7f5ff6
parameter_id: 0x2936263d
@@ -320756,6 +329034,12 @@ function {
parameter_id: 0x3654c061
}
function {
+ id: 0xf6be4a6e
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x20007040
+ parameter_id: 0x06835e9c
+}
+function {
id: 0xf6c0819f
return_type_id: 0x6d7f5ff6
parameter_id: 0x21936a6e
@@ -320872,6 +329156,12 @@ function {
parameter_id: 0x1b8590a8
}
function {
+ id: 0xf846d7da
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x18bd6530
+ parameter_id: 0x33756485
+}
+function {
id: 0xf857e1a7
return_type_id: 0x6d7f5ff6
parameter_id: 0x1d12e85e
@@ -320904,6 +329194,13 @@ function {
parameter_id: 0x3ea31487
}
function {
+ id: 0xf87e0015
+ return_type_id: 0x3e6239e1
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3e6239e1
+ parameter_id: 0x0379c823
+}
+function {
id: 0xf87eb23d
return_type_id: 0x6d7f5ff6
parameter_id: 0x1d19a9d5
@@ -320932,6 +329229,12 @@ function {
parameter_id: 0x39a83127
}
function {
+ id: 0xf8e4b6f7
+ return_type_id: 0x172847a8
+ parameter_id: 0x18bd6530
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xf8fa1a38
return_type_id: 0x6d7f5ff6
parameter_id: 0x1e820193
@@ -320982,11 +329285,23 @@ function {
parameter_id: 0x1d25f132
}
function {
+ id: 0xf9f0c251
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x1b8590a8
+ parameter_id: 0x6d7f5ff6
+}
+function {
id: 0xf9f5579f
return_type_id: 0x6d7f5ff6
parameter_id: 0x1d44326e
}
function {
+ id: 0xfa01df81
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x1285100d
+ parameter_id: 0x0130219f
+}
+function {
id: 0xfa126b6a
return_type_id: 0x6d7f5ff6
parameter_id: 0x104d069a
@@ -321019,6 +329334,13 @@ function {
parameter_id: 0x33756485
}
function {
+ id: 0xfa84c0ac
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x1285100d
+ parameter_id: 0x242fbc95
+ parameter_id: 0x4585663f
+}
+function {
id: 0xfaa21496
return_type_id: 0x6d7f5ff6
parameter_id: 0x10193e4a
@@ -321035,6 +329357,11 @@ function {
parameter_id: 0x064d6086
}
function {
+ id: 0xfad7a092
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x11cfee5a
+}
+function {
id: 0xfaddfa97
return_type_id: 0x6d7f5ff6
parameter_id: 0x11e6864c
@@ -321106,6 +329433,14 @@ function {
parameter_id: 0x4585663f
}
function {
+ id: 0xfc093226
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x09427c40
+ parameter_id: 0x3e6239e1
+ parameter_id: 0x15a30023
+ parameter_id: 0x4585663f
+}
+function {
id: 0xfc2e3179
return_type_id: 0x6d7f5ff6
parameter_id: 0x030b9acf
@@ -321117,6 +329452,14 @@ function {
parameter_id: 0x368487be
}
function {
+ id: 0xfc55fd47
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x0a70ce1b
+ parameter_id: 0x18bd6530
+ parameter_id: 0x3e10b518
+ parameter_id: 0x391f15ea
+}
+function {
id: 0xfc59f36a
return_type_id: 0x26e55184
parameter_id: 0x0258f96e
@@ -321169,6 +329512,13 @@ function {
parameter_id: 0x15a30023
}
function {
+ id: 0xfc8f4f95
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x0cf3d8fe
+ parameter_id: 0x4585663f
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0xfca015af
return_type_id: 0x6d7f5ff6
parameter_id: 0x08113aaf
@@ -321288,6 +329638,19 @@ function {
parameter_id: 0xe5b69de1
}
function {
+ id: 0xfdb03c5c
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x0fabaf3b
+ parameter_id: 0x39d1288c
+ parameter_id: 0x6720d32f
+}
+function {
+ id: 0xfdb2dd0c
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x0258f96e
+ parameter_id: 0xe02e14d6
+}
+function {
id: 0xfdd651d2
return_type_id: 0x6d7f5ff6
parameter_id: 0x09a83f1c
@@ -321380,6 +329743,18 @@ function {
return_type_id: 0x6d7f5ff6
}
function {
+ id: 0xfebe0504
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x03942c7a
+ parameter_id: 0x3fd547b8
+}
+function {
+ id: 0xfec047b0
+ return_type_id: 0x6d7f5ff6
+ parameter_id: 0x0258f96e
+ parameter_id: 0x3c88bbfa
+}
+function {
id: 0xfec3d248
return_type_id: 0x6d7f5ff6
parameter_id: 0x019e2530
@@ -321410,6 +329785,12 @@ function {
parameter_id: 0x3f063da2
}
function {
+ id: 0xfee76c7c
+ return_type_id: 0x1b2ca025
+ parameter_id: 0x3b04bead
+ parameter_id: 0x6720d32f
+}
+function {
id: 0xfeedb339
return_type_id: 0x6d7f5ff6
parameter_id: 0x02ed0755
@@ -321494,6 +329875,16 @@ function {
parameter_id: 0x040d1b01
}
function {
+ id: 0xffb4ff33
+ return_type_id: 0x32a623d7
+ parameter_id: 0x0ca27481
+ parameter_id: 0x3e10b518
+ parameter_id: 0x5d8155a5
+ parameter_id: 0x337b7b81
+ parameter_id: 0x0277bf8a
+ parameter_id: 0x07dcdbe1
+}
+function {
id: 0xffbaa126
return_type_id: 0x32a623d7
parameter_id: 0x0ca27481
@@ -321567,7 +329958,7 @@ elf_symbol {
name: "___pskb_trim"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb8fdf4c6
+ crc: 0x45b20f13
type_id: 0x9dc52cf1
full_name: "___pskb_trim"
}
@@ -321581,6 +329972,24 @@ elf_symbol {
full_name: "___ratelimit"
}
elf_symbol {
+ id: 0x98179c82
+ name: "___update_load_avg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc8b1b72f
+ type_id: 0x1f45db81
+ full_name: "___update_load_avg"
+}
+elf_symbol {
+ id: 0xfa979d99
+ name: "___update_load_sum"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd667f721
+ type_id: 0xb9f52377
+ full_name: "___update_load_sum"
+}
+elf_symbol {
id: 0x6e1bc82e
name: "__alloc_pages"
is_defined: true
@@ -321612,7 +330021,7 @@ elf_symbol {
name: "__alloc_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x34355489
+ crc: 0x19dd35ba
type_id: 0x7a21af66
full_name: "__alloc_skb"
}
@@ -321672,11 +330081,29 @@ elf_symbol {
name: "__balance_callbacks"
is_defined: true
symbol_type: FUNCTION
- crc: 0x76a1a2f4
+ crc: 0x2af1f39a
type_id: 0x1b18f64e
full_name: "__balance_callbacks"
}
elf_symbol {
+ id: 0xac51df48
+ name: "__bforget"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x364b830b
+ type_id: 0x16c5a8cd
+ full_name: "__bforget"
+}
+elf_symbol {
+ id: 0x2c42b675
+ name: "__bh_read_batch"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa59bae72
+ type_id: 0x097c3ebf
+ full_name: "__bh_read_batch"
+}
+elf_symbol {
id: 0x8920b575
name: "__bitmap_and"
is_defined: true
@@ -321803,6 +330230,15 @@ elf_symbol {
full_name: "__blk_mq_alloc_disk"
}
elf_symbol {
+ id: 0xcc33f78c
+ name: "__blk_mq_debugfs_rq_show"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe3d3f445
+ type_id: 0x9c639284
+ full_name: "__blk_mq_debugfs_rq_show"
+}
+elf_symbol {
id: 0x01badff0
name: "__blk_mq_end_request"
is_defined: true
@@ -321866,6 +330302,42 @@ elf_symbol {
full_name: "__blkg_prfill_u64"
}
elf_symbol {
+ id: 0x2d1c1f2d
+ name: "__blockdev_direct_IO"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x02673f92
+ type_id: 0x16b316ef
+ full_name: "__blockdev_direct_IO"
+}
+elf_symbol {
+ id: 0x9bed4545
+ name: "__bread_gfp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe44aece3
+ type_id: 0x65d68df5
+ full_name: "__bread_gfp"
+}
+elf_symbol {
+ id: 0xefdcf4c1
+ name: "__breadahead"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6b1f432a
+ type_id: 0x10c07815
+ full_name: "__breadahead"
+}
+elf_symbol {
+ id: 0x2f449b9e
+ name: "__brelse"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x40b1280f
+ type_id: 0x16c5a8cd
+ full_name: "__brelse"
+}
+elf_symbol {
id: 0x2057d4fc
name: "__check_object_size"
is_defined: true
@@ -322131,16 +330603,25 @@ elf_symbol {
name: "__dev_change_net_namespace"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0e533ece
+ crc: 0x80432a75
type_id: 0x9115faa6
full_name: "__dev_change_net_namespace"
}
elf_symbol {
+ id: 0x8f70cdad
+ name: "__dev_direct_xmit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1f8aaf23
+ type_id: 0x9e960f96
+ full_name: "__dev_direct_xmit"
+}
+elf_symbol {
id: 0x2d91cc56
name: "__dev_get_by_index"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5da6d8a7
+ crc: 0xecfcb475
type_id: 0xfec79391
full_name: "__dev_get_by_index"
}
@@ -322149,7 +330630,7 @@ elf_symbol {
name: "__dev_get_by_name"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5af1a5cc
+ crc: 0xd26df809
type_id: 0xffa35209
full_name: "__dev_get_by_name"
}
@@ -322158,7 +330639,7 @@ elf_symbol {
name: "__dev_kfree_skb_any"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4d97fb5a
+ crc: 0x28b967c1
type_id: 0x1028d82e
full_name: "__dev_kfree_skb_any"
}
@@ -322167,7 +330648,7 @@ elf_symbol {
name: "__dev_kfree_skb_irq"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf962a3ac
+ crc: 0xad728207
type_id: 0x1028d82e
full_name: "__dev_kfree_skb_irq"
}
@@ -322176,7 +330657,7 @@ elf_symbol {
name: "__dev_queue_xmit"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1158bb66
+ crc: 0xf4b25665
type_id: 0x9c19a1e6
full_name: "__dev_queue_xmit"
}
@@ -322469,6 +330950,15 @@ elf_symbol {
full_name: "__drm_atomic_helper_crtc_reset"
}
elf_symbol {
+ id: 0xa061e45d
+ name: "__drm_atomic_helper_disable_plane"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3695d680
+ type_id: 0x9bf37946
+ full_name: "__drm_atomic_helper_disable_plane"
+}
+elf_symbol {
id: 0xec903c93
name: "__drm_atomic_helper_plane_destroy_state"
is_defined: true
@@ -322689,7 +331179,7 @@ elf_symbol {
name: "__dynamic_dev_dbg"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa75aa551
+ crc: 0xc375500c
type_id: 0x17cc14a2
full_name: "__dynamic_dev_dbg"
}
@@ -322698,7 +331188,7 @@ elf_symbol {
name: "__dynamic_netdev_dbg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e99bf04
+ crc: 0x9eb377ed
type_id: 0x17fcea78
full_name: "__dynamic_netdev_dbg"
}
@@ -322716,7 +331206,7 @@ elf_symbol {
name: "__ethtool_get_link_ksettings"
is_defined: true
symbol_type: FUNCTION
- crc: 0x26e93151
+ crc: 0xae545be3
type_id: 0x914dbe16
full_name: "__ethtool_get_link_ksettings"
}
@@ -322730,6 +331220,24 @@ elf_symbol {
full_name: "__fdget"
}
elf_symbol {
+ id: 0x6036d483
+ name: "__filemap_set_wb_err"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf59ce848
+ type_id: 0x1464781e
+ full_name: "__filemap_set_wb_err"
+}
+elf_symbol {
+ id: 0xaf8ee687
+ name: "__find_nth_bit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3eccbe2c
+ type_id: 0x3ec500b9
+ full_name: "__find_nth_bit"
+}
+elf_symbol {
id: 0x746a66fc
name: "__flush_workqueue"
is_defined: true
@@ -322739,6 +331247,24 @@ elf_symbol {
full_name: "__flush_workqueue"
}
elf_symbol {
+ id: 0x6a92cb2d
+ name: "__folio_alloc"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfcda658e
+ type_id: 0x61257a20
+ full_name: "__folio_alloc"
+}
+elf_symbol {
+ id: 0x6fc34fdb
+ name: "__folio_cancel_dirty"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6b54d941
+ type_id: 0x18c46588
+ full_name: "__folio_cancel_dirty"
+}
+elf_symbol {
id: 0x47a334c4
name: "__folio_lock"
is_defined: true
@@ -322766,11 +331292,20 @@ elf_symbol {
full_name: "__free_pages"
}
elf_symbol {
+ id: 0xe458ae39
+ name: "__fsnotify_parent"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2aa72d57
+ type_id: 0x9a96d2a1
+ full_name: "__fsnotify_parent"
+}
+elf_symbol {
id: 0x129eb7ed
name: "__genphy_config_aneg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x37458595
+ crc: 0xcdd0498d
type_id: 0x9068b671
full_name: "__genphy_config_aneg"
}
@@ -322824,7 +331359,7 @@ elf_symbol {
name: "__hci_cmd_send"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5da3c5af
+ crc: 0x33702bd1
type_id: 0x988786ac
full_name: "__hci_cmd_send"
}
@@ -322833,7 +331368,7 @@ elf_symbol {
name: "__hci_cmd_sync"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe8411b1b
+ crc: 0xb54a31a9
type_id: 0x6d996ee0
full_name: "__hci_cmd_sync"
}
@@ -322842,7 +331377,7 @@ elf_symbol {
name: "__hci_cmd_sync_ev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x445b0c53
+ crc: 0xda29db0c
type_id: 0x6d9955d1
full_name: "__hci_cmd_sync_ev"
}
@@ -322851,7 +331386,7 @@ elf_symbol {
name: "__hci_cmd_sync_sk"
is_defined: true
symbol_type: FUNCTION
- crc: 0x834b6dd6
+ crc: 0x2c2ce580
type_id: 0x6d9955d6
full_name: "__hci_cmd_sync_sk"
}
@@ -322860,7 +331395,7 @@ elf_symbol {
name: "__hci_cmd_sync_status"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9cee931c
+ crc: 0x06baed2b
type_id: 0x9887b4ee
full_name: "__hci_cmd_sync_status"
}
@@ -322869,11 +331404,20 @@ elf_symbol {
name: "__hci_cmd_sync_status_sk"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1186447f
+ crc: 0xb243b785
type_id: 0x98878fd8
full_name: "__hci_cmd_sync_status_sk"
}
elf_symbol {
+ id: 0xb3d97fa3
+ name: "__hid_register_driver"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe11057d9
+ type_id: 0x9d760cc4
+ full_name: "__hid_register_driver"
+}
+elf_symbol {
id: 0xf245d4a3
name: "__hrtimer_get_remaining"
is_defined: true
@@ -322977,7 +331521,7 @@ elf_symbol {
name: "__inet6_lookup_established"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcd20d4e4
+ crc: 0x7f82e930
type_id: 0x6f1e53de
full_name: "__inet6_lookup_established"
}
@@ -322986,7 +331530,7 @@ elf_symbol {
name: "__inet_lookup_established"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2a7ec835
+ crc: 0x63c135e0
type_id: 0x6f2829be
full_name: "__inet_lookup_established"
}
@@ -323018,6 +331562,15 @@ elf_symbol {
full_name: "__init_waitqueue_head"
}
elf_symbol {
+ id: 0xd02fc75b
+ name: "__insert_inode_hash"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x25021594
+ type_id: 0x16b4e02b
+ full_name: "__insert_inode_hash"
+}
+elf_symbol {
id: 0xe97034af
name: "__ioread32_copy"
is_defined: true
@@ -323041,7 +331594,7 @@ elf_symbol {
name: "__ip_dev_find"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5f1b4c60
+ crc: 0x9223cda1
type_id: 0xfcc995bd
full_name: "__ip_dev_find"
}
@@ -323050,7 +331603,7 @@ elf_symbol {
name: "__ip_select_ident"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5fce785b
+ crc: 0x51a34ed2
type_id: 0x13a0751a
full_name: "__ip_select_ident"
}
@@ -323100,6 +331653,15 @@ elf_symbol {
full_name: "__irq_domain_add"
}
elf_symbol {
+ id: 0xc37fd40e
+ name: "__irq_domain_alloc_fwnode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdc739bfc
+ type_id: 0x299442f2
+ full_name: "__irq_domain_alloc_fwnode"
+}
+elf_symbol {
id: 0xe064ac65
name: "__irq_resolve_mapping"
is_defined: true
@@ -323239,7 +331801,7 @@ elf_symbol {
name: "__kfree_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc4c8c8ef
+ crc: 0x7bb0184e
type_id: 0x11cb8bd5
full_name: "__kfree_skb"
}
@@ -323316,11 +331878,20 @@ elf_symbol {
full_name: "__lock_buffer"
}
elf_symbol {
+ id: 0x0b9d6bbc
+ name: "__mark_inode_dirty"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2370c1c0
+ type_id: 0x17e5b6f5
+ full_name: "__mark_inode_dirty"
+}
+elf_symbol {
id: 0x040ec563
name: "__mdiobus_read"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd579b351
+ crc: 0xa3d576c4
type_id: 0x915b6659
full_name: "__mdiobus_read"
}
@@ -323329,7 +331900,7 @@ elf_symbol {
name: "__mdiobus_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf5a90aa6
+ crc: 0xa19883f4
type_id: 0x90d9386e
full_name: "__mdiobus_register"
}
@@ -323338,7 +331909,7 @@ elf_symbol {
name: "__mdiobus_write"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb679778f
+ crc: 0x3d72b5fc
type_id: 0x9159236f
full_name: "__mdiobus_write"
}
@@ -323401,7 +331972,7 @@ elf_symbol {
name: "__migrate_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5bdb0ad4
+ crc: 0xaaa6dd7d
type_id: 0x81bed9bb
full_name: "__migrate_task"
}
@@ -323460,6 +332031,24 @@ elf_symbol {
full_name: "__mmdrop"
}
elf_symbol {
+ id: 0x68d1b187
+ name: "__mod_lruvec_state"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0ab46d8d
+ type_id: 0x1e768676
+ full_name: "__mod_lruvec_state"
+}
+elf_symbol {
+ id: 0x9de4c040
+ name: "__mod_zone_page_state"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0683f992
+ type_id: 0x11584934
+ full_name: "__mod_zone_page_state"
+}
+elf_symbol {
id: 0x89d01efd
name: "__module_get"
is_defined: true
@@ -323500,7 +332089,7 @@ elf_symbol {
name: "__napi_alloc_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1d74b18d
+ crc: 0xc5fa677d
type_id: 0x6fb420ce
full_name: "__napi_alloc_skb"
}
@@ -323509,7 +332098,7 @@ elf_symbol {
name: "__napi_schedule"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaa0337c0
+ crc: 0xf5221e2b
type_id: 0x16983453
full_name: "__napi_schedule"
}
@@ -323518,7 +332107,7 @@ elf_symbol {
name: "__napi_schedule_irqoff"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0d3a570a
+ crc: 0x7096c85f
type_id: 0x16983453
full_name: "__napi_schedule_irqoff"
}
@@ -323536,7 +332125,7 @@ elf_symbol {
name: "__ndisc_fill_addr_option"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe8a9b6b6
+ crc: 0x07cb9d0f
type_id: 0x1058ca17
full_name: "__ndisc_fill_addr_option"
}
@@ -323554,7 +332143,7 @@ elf_symbol {
name: "__netdev_alloc_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5f4db0c2
+ crc: 0x1ba22d8b
type_id: 0x651dcdfb
full_name: "__netdev_alloc_skb"
}
@@ -323563,7 +332152,7 @@ elf_symbol {
name: "__netif_napi_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0x22022f2a
+ crc: 0xf7cce469
type_id: 0x16983453
full_name: "__netif_napi_del"
}
@@ -323572,7 +332161,7 @@ elf_symbol {
name: "__netif_set_xps_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe8d93c40
+ crc: 0x74943dbf
type_id: 0x91f45efa
full_name: "__netif_set_xps_queue"
}
@@ -323581,7 +332170,7 @@ elf_symbol {
name: "__netlink_dump_start"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0378d49b
+ crc: 0x53d7f503
type_id: 0x9acae612
full_name: "__netlink_dump_start"
}
@@ -323590,7 +332179,7 @@ elf_symbol {
name: "__netlink_kernel_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd680bb92
+ crc: 0x9f3fe1fe
type_id: 0x6ef28827
full_name: "__netlink_kernel_create"
}
@@ -323599,7 +332188,7 @@ elf_symbol {
name: "__nfc_alloc_vendor_cmd_reply_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf3675f03
+ crc: 0x796b3c91
type_id: 0x6b55cd91
full_name: "__nfc_alloc_vendor_cmd_reply_skb"
}
@@ -323626,7 +332215,7 @@ elf_symbol {
name: "__nlmsg_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6fc7cc81
+ crc: 0x899805b0
type_id: 0x16d62662
full_name: "__nlmsg_put"
}
@@ -323653,7 +332242,7 @@ elf_symbol {
name: "__of_mdiobus_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3c10a66b
+ crc: 0xa014553c
type_id: 0x9026a2e6
full_name: "__of_mdiobus_register"
}
@@ -323896,7 +332485,7 @@ elf_symbol {
name: "__pskb_copy_fclone"
is_defined: true
symbol_type: FUNCTION
- crc: 0x69b0fbf3
+ crc: 0xccd67e8e
type_id: 0x686cbc61
full_name: "__pskb_copy_fclone"
}
@@ -323905,7 +332494,7 @@ elf_symbol {
name: "__pskb_pull_tail"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfe9cb4c4
+ crc: 0x263e8160
type_id: 0x5659e8fb
full_name: "__pskb_pull_tail"
}
@@ -323923,7 +332512,7 @@ elf_symbol {
name: "__put_net"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc00df7e0
+ crc: 0x64b548b6
type_id: 0x13b0ccb3
full_name: "__put_net"
}
@@ -324036,6 +332625,15 @@ elf_symbol {
full_name: "__release_region"
}
elf_symbol {
+ id: 0x9d948fe1
+ name: "__remove_inode_hash"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x152cf8f0
+ type_id: 0x167935b9
+ full_name: "__remove_inode_hash"
+}
+elf_symbol {
id: 0xf7c2da07
name: "__request_module"
is_defined: true
@@ -324085,7 +332683,7 @@ elf_symbol {
name: "__root_device_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1b375822
+ crc: 0xd89e0766
type_id: 0xa2878209
full_name: "__root_device_register"
}
@@ -324099,6 +332697,24 @@ elf_symbol {
full_name: "__rt_mutex_init"
}
elf_symbol {
+ id: 0x31b4eed9
+ name: "__rtnl_link_unregister"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x139f3c01
+ type_id: 0x1cd366b4
+ full_name: "__rtnl_link_unregister"
+}
+elf_symbol {
+ id: 0x99aa632e
+ name: "__sbitmap_queue_get"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0a991166
+ type_id: 0x99387097
+ full_name: "__sbitmap_queue_get"
+}
+elf_symbol {
id: 0xe68925b8
name: "__scsi_add_device"
is_defined: true
@@ -324189,6 +332805,24 @@ elf_symbol {
full_name: "__serio_register_port"
}
elf_symbol {
+ id: 0xa2cf1eee
+ name: "__set_page_dirty_nobuffers"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x924fff08
+ type_id: 0x9c203488
+ full_name: "__set_page_dirty_nobuffers"
+}
+elf_symbol {
+ id: 0xeaddb422
+ name: "__set_page_owner"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe501529f
+ type_id: 0x12201786
+ full_name: "__set_page_owner"
+}
+elf_symbol {
id: 0x29a11d8a
name: "__sg_page_iter_dma_next"
is_defined: true
@@ -324220,7 +332854,7 @@ elf_symbol {
name: "__sk_receive_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd5b75ac0
+ crc: 0x6048e9c0
type_id: 0x9adc176e
full_name: "__sk_receive_skb"
}
@@ -324229,7 +332863,7 @@ elf_symbol {
name: "__skb_checksum_complete"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4cf67962
+ crc: 0xc7a0d4d4
type_id: 0x1bdfb83f
full_name: "__skb_checksum_complete"
}
@@ -324247,7 +332881,7 @@ elf_symbol {
name: "__skb_flow_dissect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x124b303a
+ crc: 0x23dc8f6e
type_id: 0xf1510018
full_name: "__skb_flow_dissect"
}
@@ -324256,7 +332890,7 @@ elf_symbol {
name: "__skb_get_hash"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc6e7784a
+ crc: 0x1ddd1883
type_id: 0x11cb8bd5
full_name: "__skb_get_hash"
}
@@ -324265,7 +332899,7 @@ elf_symbol {
name: "__skb_gso_segment"
is_defined: true
symbol_type: FUNCTION
- crc: 0xac29444c
+ crc: 0x69420fe8
type_id: 0x6940ae3e
full_name: "__skb_gso_segment"
}
@@ -324274,7 +332908,7 @@ elf_symbol {
name: "__skb_pad"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa899707f
+ crc: 0x036615f2
type_id: 0x9d54e5f2
full_name: "__skb_pad"
}
@@ -324283,7 +332917,7 @@ elf_symbol {
name: "__sock_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5d1f6314
+ crc: 0x7265e465
type_id: 0x9f2cabca
full_name: "__sock_create"
}
@@ -324292,7 +332926,7 @@ elf_symbol {
name: "__sock_queue_rcv_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9597cc37
+ crc: 0x9d9799e5
type_id: 0x9ac4d210
full_name: "__sock_queue_rcv_skb"
}
@@ -324301,7 +332935,7 @@ elf_symbol {
name: "__sock_recv_cmsgs"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeb3aae86
+ crc: 0xd32b6582
type_id: 0x1bdaff5e
full_name: "__sock_recv_cmsgs"
}
@@ -324310,7 +332944,7 @@ elf_symbol {
name: "__sock_recv_timestamp"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdd808e58
+ crc: 0xcdc149a2
type_id: 0x1bdaff5e
full_name: "__sock_recv_timestamp"
}
@@ -324319,7 +332953,7 @@ elf_symbol {
name: "__sock_recv_wifi_status"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf1ef6440
+ crc: 0xd80f3e2d
type_id: 0x1bdaff5e
full_name: "__sock_recv_wifi_status"
}
@@ -324432,6 +333066,15 @@ elf_symbol {
full_name: "__sw_hweight8"
}
elf_symbol {
+ id: 0xd8a7d75e
+ name: "__sync_dirty_buffer"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc6ed2a41
+ type_id: 0x9a308be1
+ full_name: "__sync_dirty_buffer"
+}
+elf_symbol {
id: 0x04e4f57e
name: "__sysfs_match_string"
is_defined: true
@@ -324445,7 +333088,7 @@ elf_symbol {
name: "__task_pid_nr_ns"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9e5fe7f4
+ crc: 0x29757059
type_id: 0xd59c1ab2
full_name: "__task_pid_nr_ns"
}
@@ -324454,7 +333097,7 @@ elf_symbol {
name: "__task_rq_lock"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa3f2ad1c
+ crc: 0xd3cf4618
type_id: 0x8d7ecefa
full_name: "__task_rq_lock"
}
@@ -324486,6 +333129,15 @@ elf_symbol {
full_name: "__trace_bprintk"
}
elf_symbol {
+ id: 0x46adfea4
+ name: "__trace_bputs"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb1e25684
+ type_id: 0x91a5f8da
+ full_name: "__trace_bputs"
+}
+elf_symbol {
id: 0x233d8b34
name: "__trace_puts"
is_defined: true
@@ -324540,6 +333192,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_arm64_serror_panic"
}
elf_symbol {
+ id: 0x6d4cc1a2
+ name: "__traceiter_android_rvh_attach_entity_load_avg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb9a0b097
+ type_id: 0x9b96d02c
+ full_name: "__traceiter_android_rvh_attach_entity_load_avg"
+}
+elf_symbol {
id: 0x48420da9
name: "__traceiter_android_rvh_audio_usb_offload_disconnect"
is_defined: true
@@ -324549,6 +333210,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_audio_usb_offload_disconnect"
}
elf_symbol {
+ id: 0x144db0a1
+ name: "__traceiter_android_rvh_before_do_sched_yield"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xce266c8e
+ type_id: 0x9b79f498
+ full_name: "__traceiter_android_rvh_before_do_sched_yield"
+}
+elf_symbol {
id: 0x192bbbd5
name: "__traceiter_android_rvh_build_perf_domains"
is_defined: true
@@ -324567,6 +333237,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_can_migrate_task"
}
elf_symbol {
+ id: 0xbbd04d50
+ name: "__traceiter_android_rvh_cgroup_force_kthread_migration"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x94b3e68f
+ type_id: 0x9bddb3a2
+ full_name: "__traceiter_android_rvh_cgroup_force_kthread_migration"
+}
+elf_symbol {
id: 0xc93c7d6d
name: "__traceiter_android_rvh_check_preempt_tick"
is_defined: true
@@ -324684,6 +333363,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_dequeue_task_fair"
}
elf_symbol {
+ id: 0xa0a77bb8
+ name: "__traceiter_android_rvh_detach_entity_load_avg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x477c169e
+ type_id: 0x9b96d02c
+ full_name: "__traceiter_android_rvh_detach_entity_load_avg"
+}
+elf_symbol {
id: 0xa3b41867
name: "__traceiter_android_rvh_die_kernel_fault"
is_defined: true
@@ -324918,6 +333606,24 @@ elf_symbol {
full_name: "__traceiter_android_rvh_iommu_setup_dma_ops"
}
elf_symbol {
+ id: 0xfc83b254
+ name: "__traceiter_android_rvh_irqs_disable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x707d1f10
+ type_id: 0x9b6eb2a8
+ full_name: "__traceiter_android_rvh_irqs_disable"
+}
+elf_symbol {
+ id: 0x7e99bc71
+ name: "__traceiter_android_rvh_irqs_enable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7a345722
+ type_id: 0x9b6eb2a8
+ full_name: "__traceiter_android_rvh_irqs_enable"
+}
+elf_symbol {
id: 0x7c212080
name: "__traceiter_android_rvh_is_cpu_allowed"
is_defined: true
@@ -325008,6 +333714,24 @@ elf_symbol {
full_name: "__traceiter_android_rvh_post_init_entity_util_avg"
}
elf_symbol {
+ id: 0x167fc668
+ name: "__traceiter_android_rvh_preempt_disable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1585c762
+ type_id: 0x9b6eb2a8
+ full_name: "__traceiter_android_rvh_preempt_disable"
+}
+elf_symbol {
+ id: 0xd6a514f5
+ name: "__traceiter_android_rvh_preempt_enable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3235e37a
+ type_id: 0x9b6eb2a8
+ full_name: "__traceiter_android_rvh_preempt_enable"
+}
+elf_symbol {
id: 0xeccbc3c1
name: "__traceiter_android_rvh_prepare_prio_fork"
is_defined: true
@@ -325044,6 +333768,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_refrigerator"
}
elf_symbol {
+ id: 0xc191b2f6
+ name: "__traceiter_android_rvh_remove_entity_load_avg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4a7a0801
+ type_id: 0x9b96d02c
+ full_name: "__traceiter_android_rvh_remove_entity_load_avg"
+}
+elf_symbol {
id: 0xe3e24295
name: "__traceiter_android_rvh_replace_next_task_fair"
is_defined: true
@@ -325071,6 +333804,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_revert_creds"
}
elf_symbol {
+ id: 0xf0ffb4d4
+ name: "__traceiter_android_rvh_rtmutex_force_update"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe3eba434
+ type_id: 0x9bdcd7ce
+ full_name: "__traceiter_android_rvh_rtmutex_force_update"
+}
+elf_symbol {
id: 0xd90a9a58
name: "__traceiter_android_rvh_rtmutex_prepare_setprio"
is_defined: true
@@ -325192,8 +333934,8 @@ elf_symbol {
name: "__traceiter_android_rvh_schedule"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6be67582
- type_id: 0x9bdc22a4
+ crc: 0x5597e05e
+ type_id: 0x9abe9677
full_name: "__traceiter_android_rvh_schedule"
}
elf_symbol {
@@ -325314,6 +334056,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_set_gfp_zone_flags"
}
elf_symbol {
+ id: 0x9c2c2d71
+ name: "__traceiter_android_rvh_set_iowait"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd1ed6c7e
+ type_id: 0x9bd01103
+ full_name: "__traceiter_android_rvh_set_iowait"
+}
+elf_symbol {
id: 0xcac6b03d
name: "__traceiter_android_rvh_set_module_core_rw_nx"
is_defined: true
@@ -325404,6 +334155,24 @@ elf_symbol {
full_name: "__traceiter_android_rvh_show_max_freq"
}
elf_symbol {
+ id: 0x955e6fc1
+ name: "__traceiter_android_rvh_sk_alloc"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x25e47a00
+ type_id: 0x9bdaaaaa
+ full_name: "__traceiter_android_rvh_sk_alloc"
+}
+elf_symbol {
+ id: 0xfe20c6e3
+ name: "__traceiter_android_rvh_sk_free"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd0de15c8
+ type_id: 0x9bdaaaaa
+ full_name: "__traceiter_android_rvh_sk_free"
+}
+elf_symbol {
id: 0x7b07c7f1
name: "__traceiter_android_rvh_tick_entry"
is_defined: true
@@ -325458,6 +334227,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_uclamp_eff_get"
}
elf_symbol {
+ id: 0xa63eb82a
+ name: "__traceiter_android_rvh_update_blocked_fair"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0484f45c
+ type_id: 0x9b17b01e
+ full_name: "__traceiter_android_rvh_update_blocked_fair"
+}
+elf_symbol {
id: 0xcd824552
name: "__traceiter_android_rvh_update_cpu_capacity"
is_defined: true
@@ -325467,6 +334245,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_update_cpu_capacity"
}
elf_symbol {
+ id: 0xb6d1fa25
+ name: "__traceiter_android_rvh_update_load_avg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa1719b21
+ type_id: 0x99e4a009
+ full_name: "__traceiter_android_rvh_update_load_avg"
+}
+elf_symbol {
id: 0x16809a5a
name: "__traceiter_android_rvh_update_misfit_status"
is_defined: true
@@ -325476,6 +334263,15 @@ elf_symbol {
full_name: "__traceiter_android_rvh_update_misfit_status"
}
elf_symbol {
+ id: 0xfaa2e0a4
+ name: "__traceiter_android_rvh_update_rt_rq_load_avg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4748df7a
+ type_id: 0x99ecdba4
+ full_name: "__traceiter_android_rvh_update_rt_rq_load_avg"
+}
+elf_symbol {
id: 0xc1ba0eb6
name: "__traceiter_android_rvh_update_thermal_stats"
is_defined: true
@@ -325521,6 +334317,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_account_task_time"
}
elf_symbol {
+ id: 0xd0b4a794
+ name: "__traceiter_android_vh_alloc_oem_binder_struct"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x72653196
+ type_id: 0x9bec16df
+ full_name: "__traceiter_android_vh_alloc_oem_binder_struct"
+}
+elf_symbol {
id: 0x33f9278c
name: "__traceiter_android_vh_alloc_pages_failure_bypass"
is_defined: true
@@ -325539,6 +334344,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_alloc_pages_reclaim_bypass"
}
elf_symbol {
+ id: 0xa6e329cd
+ name: "__traceiter_android_vh_alloc_pages_slowpath"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd7a24d94
+ type_id: 0x98788d90
+ full_name: "__traceiter_android_vh_alloc_pages_slowpath"
+}
+elf_symbol {
id: 0x9c240ef1
name: "__traceiter_android_vh_alloc_uid"
is_defined: true
@@ -325611,6 +334425,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_binder_del_ref"
}
elf_symbol {
+ id: 0xcb807696
+ name: "__traceiter_android_vh_binder_free_buf"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x71365aee
+ type_id: 0x9bd8639c
+ full_name: "__traceiter_android_vh_binder_free_buf"
+}
+elf_symbol {
id: 0xbebf7d98
name: "__traceiter_android_vh_binder_free_proc"
is_defined: true
@@ -325737,6 +334560,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_binder_set_priority"
}
elf_symbol {
+ id: 0x6bce867e
+ name: "__traceiter_android_vh_binder_special_task"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x93949f33
+ type_id: 0x9ba26d2b
+ full_name: "__traceiter_android_vh_binder_special_task"
+}
+elf_symbol {
id: 0x4785a3dd
name: "__traceiter_android_vh_binder_thread_read"
is_defined: true
@@ -325773,6 +334605,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_binder_transaction_init"
}
elf_symbol {
+ id: 0xcc2edef9
+ name: "__traceiter_android_vh_binder_transaction_received"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xffec96fd
+ type_id: 0x9ba26d9c
+ full_name: "__traceiter_android_vh_binder_transaction_received"
+}
+elf_symbol {
id: 0x61c82fb5
name: "__traceiter_android_vh_binder_wait_for_work"
is_defined: true
@@ -325836,6 +334677,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_check_file_open"
}
elf_symbol {
+ id: 0x6aac0cf8
+ name: "__traceiter_android_vh_check_folio_look_around_ref"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa2856bd1
+ type_id: 0x9b2eaf21
+ full_name: "__traceiter_android_vh_check_folio_look_around_ref"
+}
+elf_symbol {
id: 0x96d1c9c4
name: "__traceiter_android_vh_check_hibernation_swap"
is_defined: true
@@ -325881,6 +334731,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_cleanup_old_buffers_bypass"
}
elf_symbol {
+ id: 0xa4527895
+ name: "__traceiter_android_vh_compaction_exit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5de850c2
+ type_id: 0x9a2b6d98
+ full_name: "__traceiter_android_vh_compaction_exit"
+}
+elf_symbol {
+ id: 0x3644fdcd
+ name: "__traceiter_android_vh_compaction_try_to_compact_pages_exit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcca408f4
+ type_id: 0x9b35e16b
+ full_name: "__traceiter_android_vh_compaction_try_to_compact_pages_exit"
+}
+elf_symbol {
id: 0x9247dcb1
name: "__traceiter_android_vh_cpu_idle_enter"
is_defined: true
@@ -326025,6 +334893,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_dup_task_struct"
}
elf_symbol {
+ id: 0xdcaa59a3
+ name: "__traceiter_android_vh_enable_thermal_genl_check"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc39a1e16
+ type_id: 0x9a2abc7b
+ full_name: "__traceiter_android_vh_enable_thermal_genl_check"
+}
+elf_symbol {
+ id: 0x7ebac47a
+ name: "__traceiter_android_vh_enable_thermal_power_throttle"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc7fd7b7d
+ type_id: 0x9be885da
+ full_name: "__traceiter_android_vh_enable_thermal_power_throttle"
+}
+elf_symbol {
id: 0xf586d5b6
name: "__traceiter_android_vh_encrypt_page"
is_defined: true
@@ -326034,6 +334920,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_encrypt_page"
}
elf_symbol {
+ id: 0x1921d10d
+ name: "__traceiter_android_vh_exit_check"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x73fa852b
+ type_id: 0x9bdbdcc4
+ full_name: "__traceiter_android_vh_exit_check"
+}
+elf_symbol {
id: 0x1f554c2a
name: "__traceiter_android_vh_exit_signal"
is_defined: true
@@ -326043,6 +334938,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_exit_signal"
}
elf_symbol {
+ id: 0x343adff1
+ name: "__traceiter_android_vh_exit_signal_whether_wake"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x003a6b81
+ type_id: 0x9bdfaf3f
+ full_name: "__traceiter_android_vh_exit_signal_whether_wake"
+}
+elf_symbol {
id: 0x93a4717b
name: "__traceiter_android_vh_file_is_tiny_bypass"
is_defined: true
@@ -326052,6 +334956,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_file_is_tiny_bypass"
}
elf_symbol {
+ id: 0x9e91661b
+ name: "__traceiter_android_vh_free_oem_binder_struct"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe3c92b7e
+ type_id: 0x9ba51920
+ full_name: "__traceiter_android_vh_free_oem_binder_struct"
+}
+elf_symbol {
+ id: 0xc189c2a7
+ name: "__traceiter_android_vh_free_one_page_bypass"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x790c91fa
+ type_id: 0x9bb6ab04
+ full_name: "__traceiter_android_vh_free_one_page_bypass"
+}
+elf_symbol {
id: 0x5ecff02f
name: "__traceiter_android_vh_free_task"
is_defined: true
@@ -326070,6 +334992,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_free_user"
}
elf_symbol {
+ id: 0x4d354aab
+ name: "__traceiter_android_vh_freeze_whether_wake"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xefd9d739
+ type_id: 0x9bdfaf3f
+ full_name: "__traceiter_android_vh_freeze_whether_wake"
+}
+elf_symbol {
id: 0x3272ce60
name: "__traceiter_android_vh_freq_qos_add_request"
is_defined: true
@@ -326214,6 +335145,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_get_thermal_zone_device"
}
elf_symbol {
+ id: 0xdbe4202a
+ name: "__traceiter_android_vh_gic_set_affinity"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc710bc43
+ type_id: 0x9b8fbd40
+ full_name: "__traceiter_android_vh_gic_set_affinity"
+}
+elf_symbol {
id: 0x88586647
name: "__traceiter_android_vh_gic_v3_suspend"
is_defined: true
@@ -326295,6 +335235,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_jiffies_update"
}
elf_symbol {
+ id: 0xe261e8cc
+ name: "__traceiter_android_vh_killed_process"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x593713f5
+ type_id: 0x9bdcdd91
+ full_name: "__traceiter_android_vh_killed_process"
+}
+elf_symbol {
id: 0x18fde973
name: "__traceiter_android_vh_kswapd_per_node"
is_defined: true
@@ -326304,6 +335253,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_kswapd_per_node"
}
elf_symbol {
+ id: 0xe19d2bf8
+ name: "__traceiter_android_vh_look_around"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4d18aae7
+ type_id: 0x9bf40739
+ full_name: "__traceiter_android_vh_look_around"
+}
+elf_symbol {
+ id: 0x993f42ff
+ name: "__traceiter_android_vh_look_around_migrate_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbed1988a
+ type_id: 0x9b222516
+ full_name: "__traceiter_android_vh_look_around_migrate_folio"
+}
+elf_symbol {
id: 0xfb6a92a8
name: "__traceiter_android_vh_madvise_cold_pageout_skip"
is_defined: true
@@ -326394,6 +335361,42 @@ elf_symbol {
full_name: "__traceiter_android_vh_meminfo_cache_adjust"
}
elf_symbol {
+ id: 0xea8ce2b0
+ name: "__traceiter_android_vh_meminfo_proc_show"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbe919740
+ type_id: 0x9bb62df9
+ full_name: "__traceiter_android_vh_meminfo_proc_show"
+}
+elf_symbol {
+ id: 0x295c28cd
+ name: "__traceiter_android_vh_mm_alloc_pages_direct_reclaim_enter"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe4da6100
+ type_id: 0x9ab9affb
+ full_name: "__traceiter_android_vh_mm_alloc_pages_direct_reclaim_enter"
+}
+elf_symbol {
+ id: 0x10e93e46
+ name: "__traceiter_android_vh_mm_alloc_pages_direct_reclaim_exit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x61d4882e
+ type_id: 0x9b7ba7c5
+ full_name: "__traceiter_android_vh_mm_alloc_pages_direct_reclaim_exit"
+}
+elf_symbol {
+ id: 0x49cebcae
+ name: "__traceiter_android_vh_mm_alloc_pages_may_oom_exit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x91a9d265
+ type_id: 0x9b52c397
+ full_name: "__traceiter_android_vh_mm_alloc_pages_may_oom_exit"
+}
+elf_symbol {
id: 0xe44dacb1
name: "__traceiter_android_vh_mmap_region"
is_defined: true
@@ -326520,6 +335523,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_page_add_new_anon_rmap"
}
elf_symbol {
+ id: 0xd14f3adb
+ name: "__traceiter_android_vh_percpu_rwsem_wq_add"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf0301f63
+ type_id: 0x9bf23070
+ full_name: "__traceiter_android_vh_percpu_rwsem_wq_add"
+}
+elf_symbol {
id: 0x5983841b
name: "__traceiter_android_vh_post_image_save"
is_defined: true
@@ -326592,6 +335604,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_record_pcpu_rwsem_starttime"
}
elf_symbol {
+ id: 0x1a91ec8c
+ name: "__traceiter_android_vh_record_pcpu_rwsem_time_early"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xeeef021b
+ type_id: 0x9b6602ad
+ full_name: "__traceiter_android_vh_record_pcpu_rwsem_time_early"
+}
+elf_symbol {
id: 0x92518ec5
name: "__traceiter_android_vh_record_rtmutex_lock_starttime"
is_defined: true
@@ -326610,6 +335631,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_record_rwsem_lock_starttime"
}
elf_symbol {
+ id: 0xe2d75052
+ name: "__traceiter_android_vh_regmap_update"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x70e6bb0c
+ type_id: 0x9b5a0fe0
+ full_name: "__traceiter_android_vh_regmap_update"
+}
+elf_symbol {
+ id: 0x8d62858f
+ name: "__traceiter_android_vh_rmqueue_smallest_bypass"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9969b000
+ type_id: 0x9b80645e
+ full_name: "__traceiter_android_vh_rmqueue_smallest_bypass"
+}
+elf_symbol {
id: 0xcef5d79f
name: "__traceiter_android_vh_rproc_recovery"
is_defined: true
@@ -326646,6 +335685,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_rtmutex_wait_start"
}
elf_symbol {
+ id: 0xc56d7179
+ name: "__traceiter_android_vh_rtmutex_waiter_prio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x40a0002c
+ type_id: 0x9bdf0ac7
+ full_name: "__traceiter_android_vh_rtmutex_waiter_prio"
+}
+elf_symbol {
id: 0x5858f827
name: "__traceiter_android_vh_rwsem_can_spin_on_owner"
is_defined: true
@@ -326763,6 +335811,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_save_hib_resume_bdev"
}
elf_symbol {
+ id: 0x06c7b387
+ name: "__traceiter_android_vh_scan_abort_check_wmarks"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x48b7d14f
+ type_id: 0x9be885da
+ full_name: "__traceiter_android_vh_scan_abort_check_wmarks"
+}
+elf_symbol {
id: 0x3a4e20d6
name: "__traceiter_android_vh_sched_pelt_multiplier"
is_defined: true
@@ -326952,6 +336009,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_sysrq_crash"
}
elf_symbol {
+ id: 0xdd9dd67b
+ name: "__traceiter_android_vh_task_blocks_on_rtmutex"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x698af67b
+ type_id: 0x9be67f35
+ full_name: "__traceiter_android_vh_task_blocks_on_rtmutex"
+}
+elf_symbol {
+ id: 0x48f0cf25
+ name: "__traceiter_android_vh_test_clear_look_around_ref"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6a7e50c3
+ type_id: 0x9bb5b719
+ full_name: "__traceiter_android_vh_test_clear_look_around_ref"
+}
+elf_symbol {
id: 0x6befbf23
name: "__traceiter_android_vh_thermal_power_cap"
is_defined: true
@@ -327015,6 +336090,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_try_to_unmap_one"
}
elf_symbol {
+ id: 0x39155e73
+ name: "__traceiter_android_vh_tune_scan_type"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x24602ed2
+ type_id: 0x9b85c291
+ full_name: "__traceiter_android_vh_tune_scan_type"
+}
+elf_symbol {
+ id: 0x3947ecb4
+ name: "__traceiter_android_vh_tune_swappiness"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd2ac8d57
+ type_id: 0x9be2da56
+ full_name: "__traceiter_android_vh_tune_swappiness"
+}
+elf_symbol {
id: 0x8a773cc3
name: "__traceiter_android_vh_typec_store_partner_src_caps"
is_defined: true
@@ -327051,6 +336144,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_typec_tcpm_log"
}
elf_symbol {
+ id: 0x5ab5402f
+ name: "__traceiter_android_vh_typec_tcpm_modify_src_caps"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd505a0db
+ type_id: 0x9bcdfb6a
+ full_name: "__traceiter_android_vh_typec_tcpm_modify_src_caps"
+}
+elf_symbol {
+ id: 0xaa213206
+ name: "__traceiter_android_vh_uclamp_validate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd05b7a41
+ type_id: 0x9bd44256
+ full_name: "__traceiter_android_vh_uclamp_validate"
+}
+elf_symbol {
id: 0xe31bb308
name: "__traceiter_android_vh_ufs_check_int_errors"
is_defined: true
@@ -327168,6 +336279,24 @@ elf_symbol {
full_name: "__traceiter_android_vh_update_topology_flags_workfn"
}
elf_symbol {
+ id: 0x08824ed3
+ name: "__traceiter_android_vh_use_amu_fie"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb22c3cda
+ type_id: 0x9be885da
+ full_name: "__traceiter_android_vh_use_amu_fie"
+}
+elf_symbol {
+ id: 0xcbec9d66
+ name: "__traceiter_android_vh_vmscan_kswapd_done"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x96191a01
+ type_id: 0x9a235f02
+ full_name: "__traceiter_android_vh_vmscan_kswapd_done"
+}
+elf_symbol {
id: 0xb0bf7fd6
name: "__traceiter_android_vh_watchdog_timer_softlockup"
is_defined: true
@@ -327177,6 +336306,15 @@ elf_symbol {
full_name: "__traceiter_android_vh_watchdog_timer_softlockup"
}
elf_symbol {
+ id: 0xae5e5469
+ name: "__traceiter_android_vh_wq_lockup_pool"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x62c05483
+ type_id: 0x9a3fe476
+ full_name: "__traceiter_android_vh_wq_lockup_pool"
+}
+elf_symbol {
id: 0x6911084f
name: "__traceiter_binder_transaction_received"
is_defined: true
@@ -327321,6 +336459,15 @@ elf_symbol {
full_name: "__traceiter_dma_fence_emit"
}
elf_symbol {
+ id: 0x5e5d9a70
+ name: "__traceiter_error_report_end"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd29c1f10
+ type_id: 0x9a2d8ab0
+ full_name: "__traceiter_error_report_end"
+}
+elf_symbol {
id: 0x104ffeec
name: "__traceiter_gpu_mem_total"
is_defined: true
@@ -327397,7 +336544,7 @@ elf_symbol {
name: "__traceiter_kfree_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x48ea9536
+ crc: 0x7c293d40
type_id: 0x9bbccaf3
full_name: "__traceiter_kfree_skb"
}
@@ -327429,11 +336576,74 @@ elf_symbol {
full_name: "__traceiter_mmap_lock_start_locking"
}
elf_symbol {
+ id: 0x16d7641f
+ name: "__traceiter_net_dev_queue"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x51ca976f
+ type_id: 0x9bba87c7
+ full_name: "__traceiter_net_dev_queue"
+}
+elf_symbol {
+ id: 0xc8ec671c
+ name: "__traceiter_net_dev_xmit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7a8f0110
+ type_id: 0x9ba3940a
+ full_name: "__traceiter_net_dev_xmit"
+}
+elf_symbol {
+ id: 0x60c24c4f
+ name: "__traceiter_netif_receive_skb"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6957530d
+ type_id: 0x9bba87c7
+ full_name: "__traceiter_netif_receive_skb"
+}
+elf_symbol {
+ id: 0xa7548418
+ name: "__traceiter_netif_rx"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x76d09323
+ type_id: 0x9bba87c7
+ full_name: "__traceiter_netif_rx"
+}
+elf_symbol {
+ id: 0xbbfa35c3
+ name: "__traceiter_pelt_cfs_tp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x53dcc117
+ type_id: 0x9b94dad5
+ full_name: "__traceiter_pelt_cfs_tp"
+}
+elf_symbol {
+ id: 0x328bf22b
+ name: "__traceiter_pelt_dl_tp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x977e9245
+ type_id: 0x9b17b01e
+ full_name: "__traceiter_pelt_dl_tp"
+}
+elf_symbol {
+ id: 0xbdceccc2
+ name: "__traceiter_pelt_irq_tp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb26f5140
+ type_id: 0x9b17b01e
+ full_name: "__traceiter_pelt_irq_tp"
+}
+elf_symbol {
id: 0x3e69b303
name: "__traceiter_pelt_rt_tp"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd16a1974
+ crc: 0x866c127e
type_id: 0x9b17b01e
full_name: "__traceiter_pelt_rt_tp"
}
@@ -327442,7 +336652,7 @@ elf_symbol {
name: "__traceiter_pelt_se_tp"
is_defined: true
symbol_type: FUNCTION
- crc: 0x05399b39
+ crc: 0x56fb997c
type_id: 0x9b8f15f1
full_name: "__traceiter_pelt_se_tp"
}
@@ -327474,11 +336684,20 @@ elf_symbol {
full_name: "__traceiter_rwmmio_write"
}
elf_symbol {
+ id: 0x1e8ffa55
+ name: "__traceiter_sched_cpu_capacity_tp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf30b3e42
+ type_id: 0x9b17b01e
+ full_name: "__traceiter_sched_cpu_capacity_tp"
+}
+elf_symbol {
id: 0xb614ca1f
name: "__traceiter_sched_overutilized_tp"
is_defined: true
symbol_type: FUNCTION
- crc: 0x44c77cdd
+ crc: 0x53e5ed7e
type_id: 0x9b506e5c
full_name: "__traceiter_sched_overutilized_tp"
}
@@ -327487,7 +336706,7 @@ elf_symbol {
name: "__traceiter_sched_stat_blocked"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe8d5b998
+ crc: 0xc7803553
type_id: 0x9bff5408
full_name: "__traceiter_sched_stat_blocked"
}
@@ -327496,7 +336715,7 @@ elf_symbol {
name: "__traceiter_sched_stat_iowait"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6eb33d7c
+ crc: 0x72d60583
type_id: 0x9bff5408
full_name: "__traceiter_sched_stat_iowait"
}
@@ -327514,7 +336733,7 @@ elf_symbol {
name: "__traceiter_sched_stat_sleep"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfdcf4baa
+ crc: 0x075f4e0e
type_id: 0x9bff5408
full_name: "__traceiter_sched_stat_sleep"
}
@@ -327523,7 +336742,7 @@ elf_symbol {
name: "__traceiter_sched_stat_wait"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf24747ec
+ crc: 0x8faa3c47
type_id: 0x9bff5408
full_name: "__traceiter_sched_stat_wait"
}
@@ -327532,7 +336751,7 @@ elf_symbol {
name: "__traceiter_sched_switch"
is_defined: true
symbol_type: FUNCTION
- crc: 0x43ab9848
+ crc: 0x837ccc37
type_id: 0x9a1d6471
full_name: "__traceiter_sched_switch"
}
@@ -327541,16 +336760,34 @@ elf_symbol {
name: "__traceiter_sched_update_nr_running_tp"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2c643a00
+ crc: 0xfd425f55
type_id: 0x9b0e782a
full_name: "__traceiter_sched_update_nr_running_tp"
}
elf_symbol {
+ id: 0x00296361
+ name: "__traceiter_sched_util_est_cfs_tp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa50436b4
+ type_id: 0x9b94dad5
+ full_name: "__traceiter_sched_util_est_cfs_tp"
+}
+elf_symbol {
+ id: 0xf574f9d9
+ name: "__traceiter_sched_util_est_se_tp"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbbb17097
+ type_id: 0x9b8f15f1
+ full_name: "__traceiter_sched_util_est_se_tp"
+}
+elf_symbol {
id: 0x20097074
name: "__traceiter_sched_waking"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcee9603a
+ crc: 0x52a13f40
type_id: 0x9bdbdcc4
full_name: "__traceiter_sched_waking"
}
@@ -327604,7 +336841,7 @@ elf_symbol {
name: "__traceiter_xdp_exception"
is_defined: true
symbol_type: FUNCTION
- crc: 0x14f27516
+ crc: 0x18a41e69
type_id: 0x9b6e0d6b
full_name: "__traceiter_xdp_exception"
}
@@ -327645,6 +336882,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_arm64_serror_panic"
}
elf_symbol {
+ id: 0xc9400cec
+ name: "__tracepoint_android_rvh_attach_entity_load_avg"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x9476c5e4
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_attach_entity_load_avg"
+}
+elf_symbol {
id: 0xaf461bff
name: "__tracepoint_android_rvh_audio_usb_offload_disconnect"
is_defined: true
@@ -327654,6 +336900,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_audio_usb_offload_disconnect"
}
elf_symbol {
+ id: 0xd7757253
+ name: "__tracepoint_android_rvh_before_do_sched_yield"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x94abc138
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_before_do_sched_yield"
+}
+elf_symbol {
id: 0x1e8a7e23
name: "__tracepoint_android_rvh_build_perf_domains"
is_defined: true
@@ -327672,6 +336927,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_can_migrate_task"
}
elf_symbol {
+ id: 0xb208306e
+ name: "__tracepoint_android_rvh_cgroup_force_kthread_migration"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x0c180285
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_cgroup_force_kthread_migration"
+}
+elf_symbol {
id: 0x60b5a917
name: "__tracepoint_android_rvh_check_preempt_tick"
is_defined: true
@@ -327789,6 +337053,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_dequeue_task_fair"
}
elf_symbol {
+ id: 0x5029bb46
+ name: "__tracepoint_android_rvh_detach_entity_load_avg"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xb186a022
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_detach_entity_load_avg"
+}
+elf_symbol {
id: 0x11f903b1
name: "__tracepoint_android_rvh_die_kernel_fault"
is_defined: true
@@ -328023,6 +337296,24 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_iommu_setup_dma_ops"
}
elf_symbol {
+ id: 0x4fd98142
+ name: "__tracepoint_android_rvh_irqs_disable"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x44ac9f4b
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_irqs_disable"
+}
+elf_symbol {
+ id: 0x695c4baf
+ name: "__tracepoint_android_rvh_irqs_enable"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xc9d53b36
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_irqs_enable"
+}
+elf_symbol {
id: 0x99d57c12
name: "__tracepoint_android_rvh_is_cpu_allowed"
is_defined: true
@@ -328113,6 +337404,24 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_post_init_entity_util_avg"
}
elf_symbol {
+ id: 0x817c415a
+ name: "__tracepoint_android_rvh_preempt_disable"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xb4ec0da4
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_preempt_disable"
+}
+elf_symbol {
+ id: 0x3fe8bcd7
+ name: "__tracepoint_android_rvh_preempt_enable"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x86d490a6
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_preempt_enable"
+}
+elf_symbol {
id: 0x50605d97
name: "__tracepoint_android_rvh_prepare_prio_fork"
is_defined: true
@@ -328149,6 +337458,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_refrigerator"
}
elf_symbol {
+ id: 0x5ac6bcbc
+ name: "__tracepoint_android_rvh_remove_entity_load_avg"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x6b69fe2c
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_remove_entity_load_avg"
+}
+elf_symbol {
id: 0x18bac297
name: "__tracepoint_android_rvh_replace_next_task_fair"
is_defined: true
@@ -328176,6 +337494,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_revert_creds"
}
elf_symbol {
+ id: 0xf2fd13ea
+ name: "__tracepoint_android_rvh_rtmutex_force_update"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xa86a5262
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_rtmutex_force_update"
+}
+elf_symbol {
id: 0x69e37d02
name: "__tracepoint_android_rvh_rtmutex_prepare_setprio"
is_defined: true
@@ -328419,6 +337746,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_set_gfp_zone_flags"
}
elf_symbol {
+ id: 0xbe9f9d4f
+ name: "__tracepoint_android_rvh_set_iowait"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x343470a7
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_set_iowait"
+}
+elf_symbol {
id: 0xda52fd4f
name: "__tracepoint_android_rvh_set_module_core_rw_nx"
is_defined: true
@@ -328509,6 +337845,24 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_show_max_freq"
}
elf_symbol {
+ id: 0xad588d93
+ name: "__tracepoint_android_rvh_sk_alloc"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xda71608c
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_sk_alloc"
+}
+elf_symbol {
+ id: 0x05463d55
+ name: "__tracepoint_android_rvh_sk_free"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x06bf13fe
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_sk_free"
+}
+elf_symbol {
id: 0x8db62b4f
name: "__tracepoint_android_rvh_tick_entry"
is_defined: true
@@ -328563,6 +337917,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_uclamp_eff_get"
}
elf_symbol {
+ id: 0xc3add2dc
+ name: "__tracepoint_android_rvh_update_blocked_fair"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x6d3cb3aa
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_update_blocked_fair"
+}
+elf_symbol {
id: 0xdc2af26c
name: "__tracepoint_android_rvh_update_cpu_capacity"
is_defined: true
@@ -328572,6 +337935,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_update_cpu_capacity"
}
elf_symbol {
+ id: 0xcc5017b7
+ name: "__tracepoint_android_rvh_update_load_avg"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x8ae1dc28
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_update_load_avg"
+}
+elf_symbol {
id: 0x1362c5b0
name: "__tracepoint_android_rvh_update_misfit_status"
is_defined: true
@@ -328581,6 +337953,15 @@ elf_symbol {
full_name: "__tracepoint_android_rvh_update_misfit_status"
}
elf_symbol {
+ id: 0xaa2da792
+ name: "__tracepoint_android_rvh_update_rt_rq_load_avg"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x4bcdd224
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_rvh_update_rt_rq_load_avg"
+}
+elf_symbol {
id: 0x0e614ab0
name: "__tracepoint_android_rvh_update_thermal_stats"
is_defined: true
@@ -328626,6 +338007,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_account_task_time"
}
elf_symbol {
+ id: 0xd7f9868e
+ name: "__tracepoint_android_vh_alloc_oem_binder_struct"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xf8d28f05
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_alloc_oem_binder_struct"
+}
+elf_symbol {
id: 0x37776872
name: "__tracepoint_android_vh_alloc_pages_failure_bypass"
is_defined: true
@@ -328644,6 +338034,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_alloc_pages_reclaim_bypass"
}
elf_symbol {
+ id: 0x1ebb872f
+ name: "__tracepoint_android_vh_alloc_pages_slowpath"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x08e2839b
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_alloc_pages_slowpath"
+}
+elf_symbol {
id: 0xea695d5b
name: "__tracepoint_android_vh_alloc_uid"
is_defined: true
@@ -328716,6 +338115,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_binder_del_ref"
}
elf_symbol {
+ id: 0x19dded7c
+ name: "__tracepoint_android_vh_binder_free_buf"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xf64d3ead
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_binder_free_buf"
+}
+elf_symbol {
id: 0xf32898c6
name: "__tracepoint_android_vh_binder_free_proc"
is_defined: true
@@ -328842,6 +338250,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_binder_set_priority"
}
elf_symbol {
+ id: 0xdda667b0
+ name: "__tracepoint_android_vh_binder_special_task"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x46cb2346
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_binder_special_task"
+}
+elf_symbol {
id: 0x306b5ff7
name: "__tracepoint_android_vh_binder_thread_read"
is_defined: true
@@ -328878,6 +338295,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_binder_transaction_init"
}
elf_symbol {
+ id: 0xabc729f7
+ name: "__tracepoint_android_vh_binder_transaction_received"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x73e426b8
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_binder_transaction_received"
+}
+elf_symbol {
id: 0x75b174bb
name: "__tracepoint_android_vh_binder_wait_for_work"
is_defined: true
@@ -328941,6 +338367,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_check_file_open"
}
elf_symbol {
+ id: 0xca5cbc9a
+ name: "__tracepoint_android_vh_check_folio_look_around_ref"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xdaaccf03
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_check_folio_look_around_ref"
+}
+elf_symbol {
id: 0xaa072f92
name: "__tracepoint_android_vh_check_hibernation_swap"
is_defined: true
@@ -328986,6 +338421,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_cleanup_old_buffers_bypass"
}
elf_symbol {
+ id: 0x9d49459f
+ name: "__tracepoint_android_vh_compaction_exit"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x69025433
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_compaction_exit"
+}
+elf_symbol {
+ id: 0x759240ef
+ name: "__tracepoint_android_vh_compaction_try_to_compact_pages_exit"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x85c1c35f
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_compaction_try_to_compact_pages_exit"
+}
+elf_symbol {
id: 0x26324a1f
name: "__tracepoint_android_vh_cpu_idle_enter"
is_defined: true
@@ -329130,6 +338583,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_dup_task_struct"
}
elf_symbol {
+ id: 0x54b2cd01
+ name: "__tracepoint_android_vh_enable_thermal_genl_check"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x29cc54bf
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_enable_thermal_genl_check"
+}
+elf_symbol {
+ id: 0x188eab44
+ name: "__tracepoint_android_vh_enable_thermal_power_throttle"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x13db5a5d
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_enable_thermal_power_throttle"
+}
+elf_symbol {
id: 0xe7584e1c
name: "__tracepoint_android_vh_encrypt_page"
is_defined: true
@@ -329139,6 +338610,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_encrypt_page"
}
elf_symbol {
+ id: 0x684e5f4f
+ name: "__tracepoint_android_vh_exit_check"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x49c49792
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_exit_check"
+}
+elf_symbol {
id: 0x0d418d38
name: "__tracepoint_android_vh_exit_signal"
is_defined: true
@@ -329148,6 +338628,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_exit_signal"
}
elf_symbol {
+ id: 0x2121385f
+ name: "__tracepoint_android_vh_exit_signal_whether_wake"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xfc31d092
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_exit_signal_whether_wake"
+}
+elf_symbol {
id: 0x50a83025
name: "__tracepoint_android_vh_file_is_tiny_bypass"
is_defined: true
@@ -329157,6 +338646,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_file_is_tiny_bypass"
}
elf_symbol {
+ id: 0x901d0e89
+ name: "__tracepoint_android_vh_free_oem_binder_struct"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xc924dc00
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_free_oem_binder_struct"
+}
+elf_symbol {
+ id: 0x04a824b5
+ name: "__tracepoint_android_vh_free_one_page_bypass"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xb8e1bbb2
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_free_one_page_bypass"
+}
+elf_symbol {
id: 0xe6918e09
name: "__tracepoint_android_vh_free_task"
is_defined: true
@@ -329175,6 +338682,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_free_user"
}
elf_symbol {
+ id: 0x888dea6d
+ name: "__tracepoint_android_vh_freeze_whether_wake"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x8e4434ef
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_freeze_whether_wake"
+}
+elf_symbol {
id: 0xace80c56
name: "__tracepoint_android_vh_freq_qos_add_request"
is_defined: true
@@ -329319,6 +338835,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_get_thermal_zone_device"
}
elf_symbol {
+ id: 0x60a121b4
+ name: "__tracepoint_android_vh_gic_set_affinity"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x2b46dd56
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_gic_set_affinity"
+}
+elf_symbol {
id: 0xf18e312d
name: "__tracepoint_android_vh_gic_v3_suspend"
is_defined: true
@@ -329400,6 +338925,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_jiffies_update"
}
elf_symbol {
+ id: 0xa48390ca
+ name: "__tracepoint_android_vh_killed_process"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xe41a7380
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_killed_process"
+}
+elf_symbol {
id: 0x586a06d1
name: "__tracepoint_android_vh_kswapd_per_node"
is_defined: true
@@ -329409,6 +338943,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_kswapd_per_node"
}
elf_symbol {
+ id: 0xda2d53f2
+ name: "__tracepoint_android_vh_look_around"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x738994e9
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_look_around"
+}
+elf_symbol {
+ id: 0x50a5a949
+ name: "__tracepoint_android_vh_look_around_migrate_folio"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x8b32227d
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_look_around_migrate_folio"
+}
+elf_symbol {
id: 0xcb34ca12
name: "__tracepoint_android_vh_madvise_cold_pageout_skip"
is_defined: true
@@ -329499,6 +339051,42 @@ elf_symbol {
full_name: "__tracepoint_android_vh_meminfo_cache_adjust"
}
elf_symbol {
+ id: 0xa5b4e5b2
+ name: "__tracepoint_android_vh_meminfo_proc_show"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xd7997ac2
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_meminfo_proc_show"
+}
+elf_symbol {
+ id: 0xce7e7dff
+ name: "__tracepoint_android_vh_mm_alloc_pages_direct_reclaim_enter"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xa744fbcb
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_mm_alloc_pages_direct_reclaim_enter"
+}
+elf_symbol {
+ id: 0x1a1d0854
+ name: "__tracepoint_android_vh_mm_alloc_pages_direct_reclaim_exit"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xaf85b82e
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_mm_alloc_pages_direct_reclaim_exit"
+}
+elf_symbol {
+ id: 0xf2890610
+ name: "__tracepoint_android_vh_mm_alloc_pages_may_oom_exit"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xde5036e1
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_mm_alloc_pages_may_oom_exit"
+}
+elf_symbol {
id: 0xb6da564f
name: "__tracepoint_android_vh_mmap_region"
is_defined: true
@@ -329625,6 +339213,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_page_add_new_anon_rmap"
}
elf_symbol {
+ id: 0x3d63616d
+ name: "__tracepoint_android_vh_percpu_rwsem_wq_add"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x036f4a0a
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_percpu_rwsem_wq_add"
+}
+elf_symbol {
id: 0xab37fc55
name: "__tracepoint_android_vh_post_image_save"
is_defined: true
@@ -329697,6 +339294,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_record_pcpu_rwsem_starttime"
}
elf_symbol {
+ id: 0x158c4cfa
+ name: "__tracepoint_android_vh_record_pcpu_rwsem_time_early"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xfb2f7ea7
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_record_pcpu_rwsem_time_early"
+}
+elf_symbol {
id: 0x4568ff8f
name: "__tracepoint_android_vh_record_rtmutex_lock_starttime"
is_defined: true
@@ -329715,6 +339321,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_record_rwsem_lock_starttime"
}
elf_symbol {
+ id: 0x13b2fb38
+ name: "__tracepoint_android_vh_regmap_update"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xcf37e88a
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_regmap_update"
+}
+elf_symbol {
+ id: 0x04365139
+ name: "__tracepoint_android_vh_rmqueue_smallest_bypass"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x48db8869
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_rmqueue_smallest_bypass"
+}
+elf_symbol {
id: 0xd94bc301
name: "__tracepoint_android_vh_rproc_recovery"
is_defined: true
@@ -329751,6 +339375,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_rtmutex_wait_start"
}
elf_symbol {
+ id: 0xeaebbadf
+ name: "__tracepoint_android_vh_rtmutex_waiter_prio"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x0fbb21e2
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_rtmutex_waiter_prio"
+}
+elf_symbol {
id: 0xe471b8d5
name: "__tracepoint_android_vh_rwsem_can_spin_on_owner"
is_defined: true
@@ -329868,6 +339501,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_save_hib_resume_bdev"
}
elf_symbol {
+ id: 0x8b4c2f61
+ name: "__tracepoint_android_vh_scan_abort_check_wmarks"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x814e8595
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_scan_abort_check_wmarks"
+}
+elf_symbol {
id: 0xb3b18fc4
name: "__tracepoint_android_vh_sched_pelt_multiplier"
is_defined: true
@@ -330057,6 +339699,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_sysrq_crash"
}
elf_symbol {
+ id: 0xe5bf742d
+ name: "__tracepoint_android_vh_task_blocks_on_rtmutex"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x5494b8bf
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_task_blocks_on_rtmutex"
+}
+elf_symbol {
+ id: 0x4ef2c337
+ name: "__tracepoint_android_vh_test_clear_look_around_ref"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x4ffca4ae
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_test_clear_look_around_ref"
+}
+elf_symbol {
id: 0x6f25dd05
name: "__tracepoint_android_vh_thermal_power_cap"
is_defined: true
@@ -330120,6 +339780,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_try_to_unmap_one"
}
elf_symbol {
+ id: 0x49b955bd
+ name: "__tracepoint_android_vh_tune_scan_type"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x45da6384
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_tune_scan_type"
+}
+elf_symbol {
+ id: 0xfe6b6962
+ name: "__tracepoint_android_vh_tune_swappiness"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x88fcdb6c
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_tune_swappiness"
+}
+elf_symbol {
id: 0x18e67da1
name: "__tracepoint_android_vh_typec_store_partner_src_caps"
is_defined: true
@@ -330156,6 +339834,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_typec_tcpm_log"
}
elf_symbol {
+ id: 0x1f1a25bd
+ name: "__tracepoint_android_vh_typec_tcpm_modify_src_caps"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x0c9ea609
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_typec_tcpm_modify_src_caps"
+}
+elf_symbol {
+ id: 0xf09ef4d0
+ name: "__tracepoint_android_vh_uclamp_validate"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xb9255a9f
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_uclamp_validate"
+}
+elf_symbol {
id: 0x609a86da
name: "__tracepoint_android_vh_ufs_check_int_errors"
is_defined: true
@@ -330273,6 +339969,24 @@ elf_symbol {
full_name: "__tracepoint_android_vh_update_topology_flags_workfn"
}
elf_symbol {
+ id: 0xe100c3ad
+ name: "__tracepoint_android_vh_use_amu_fie"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x8ea85bac
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_use_amu_fie"
+}
+elf_symbol {
+ id: 0x55476a7c
+ name: "__tracepoint_android_vh_vmscan_kswapd_done"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x46714dec
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_vmscan_kswapd_done"
+}
+elf_symbol {
id: 0x42dbeb24
name: "__tracepoint_android_vh_watchdog_timer_softlockup"
is_defined: true
@@ -330282,6 +339996,15 @@ elf_symbol {
full_name: "__tracepoint_android_vh_watchdog_timer_softlockup"
}
elf_symbol {
+ id: 0xa13f65ff
+ name: "__tracepoint_android_vh_wq_lockup_pool"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x4fd35a54
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_android_vh_wq_lockup_pool"
+}
+elf_symbol {
id: 0xf57e8f65
name: "__tracepoint_binder_transaction_received"
is_defined: true
@@ -330426,6 +340149,15 @@ elf_symbol {
full_name: "__tracepoint_dma_fence_emit"
}
elf_symbol {
+ id: 0x3b13741e
+ name: "__tracepoint_error_report_end"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x0a463293
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_error_report_end"
+}
+elf_symbol {
id: 0xd8f3ca82
name: "__tracepoint_gpu_mem_total"
is_defined: true
@@ -330534,6 +340266,69 @@ elf_symbol {
full_name: "__tracepoint_mmap_lock_start_locking"
}
elf_symbol {
+ id: 0xd21276a5
+ name: "__tracepoint_net_dev_queue"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x0f304d20
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_net_dev_queue"
+}
+elf_symbol {
+ id: 0x4a43bdfe
+ name: "__tracepoint_net_dev_xmit"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xb1d40474
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_net_dev_xmit"
+}
+elf_symbol {
+ id: 0xd224caa5
+ name: "__tracepoint_netif_receive_skb"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x8ee83e85
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_netif_receive_skb"
+}
+elf_symbol {
+ id: 0xcbc5fd52
+ name: "__tracepoint_netif_rx"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x8aa12be4
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_netif_rx"
+}
+elf_symbol {
+ id: 0x0ab12991
+ name: "__tracepoint_pelt_cfs_tp"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x64f74abf
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_pelt_cfs_tp"
+}
+elf_symbol {
+ id: 0x12df1a91
+ name: "__tracepoint_pelt_dl_tp"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x15c60a71
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_pelt_dl_tp"
+}
+elf_symbol {
+ id: 0x67e2af24
+ name: "__tracepoint_pelt_irq_tp"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x2200061c
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_pelt_irq_tp"
+}
+elf_symbol {
id: 0xf3cb5921
name: "__tracepoint_pelt_rt_tp"
is_defined: true
@@ -330579,6 +340374,15 @@ elf_symbol {
full_name: "__tracepoint_rwmmio_write"
}
elf_symbol {
+ id: 0x191846a3
+ name: "__tracepoint_sched_cpu_capacity_tp"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x3b610584
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_sched_cpu_capacity_tp"
+}
+elf_symbol {
id: 0x2497fb4d
name: "__tracepoint_sched_overutilized_tp"
is_defined: true
@@ -330651,6 +340455,24 @@ elf_symbol {
full_name: "__tracepoint_sched_update_nr_running_tp"
}
elf_symbol {
+ id: 0x2160e0b7
+ name: "__tracepoint_sched_util_est_cfs_tp"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x2c790d4a
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_sched_util_est_cfs_tp"
+}
+elf_symbol {
+ id: 0xf586b3bb
+ name: "__tracepoint_sched_util_est_se_tp"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x3a74e484
+ type_id: 0x18ccbd2c
+ full_name: "__tracepoint_sched_util_est_se_tp"
+}
+elf_symbol {
id: 0xa70e8cd2
name: "__tracepoint_sched_waking"
is_defined: true
@@ -330745,7 +340567,7 @@ elf_symbol {
name: "__udp4_lib_lookup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x97ac7d72
+ crc: 0x53d5595d
type_id: 0x6cfb566e
full_name: "__udp4_lib_lookup"
}
@@ -330754,7 +340576,7 @@ elf_symbol {
name: "__udp6_lib_lookup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x24cf96c3
+ crc: 0xb60b1290
type_id: 0x6f9cf068
full_name: "__udp6_lib_lookup"
}
@@ -330781,7 +340603,7 @@ elf_symbol {
name: "__usb_create_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0ab3fbd7
+ crc: 0x44b8d338
type_id: 0xab9a208d
full_name: "__usb_create_hcd"
}
@@ -330795,6 +340617,15 @@ elf_symbol {
full_name: "__usecs_to_jiffies"
}
elf_symbol {
+ id: 0x4c0a941a
+ name: "__v4l2_ctrl_handler_setup"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3ae35349
+ type_id: 0x9d1bec55
+ full_name: "__v4l2_ctrl_handler_setup"
+}
+elf_symbol {
id: 0xfc85c168
name: "__v4l2_ctrl_modify_range"
is_defined: true
@@ -330867,6 +340698,15 @@ elf_symbol {
full_name: "__video_register_device"
}
elf_symbol {
+ id: 0x6b7624f1
+ name: "__vlan_find_dev_deep_rcu"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa50a5b08
+ type_id: 0xf12845f8
+ full_name: "__vlan_find_dev_deep_rcu"
+}
+elf_symbol {
id: 0x97d65f20
name: "__vmalloc"
is_defined: true
@@ -330975,6 +340815,15 @@ elf_symbol {
full_name: "__xa_alloc_cyclic"
}
elf_symbol {
+ id: 0x4b52e164
+ name: "__xa_erase"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe02c9c92
+ type_id: 0x5cf34a0d
+ full_name: "__xa_erase"
+}
+elf_symbol {
id: 0xd6e3f912
name: "__xa_insert"
is_defined: true
@@ -330984,11 +340833,20 @@ elf_symbol {
full_name: "__xa_insert"
}
elf_symbol {
+ id: 0x52069d2d
+ name: "__xa_store"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xca9beaa4
+ type_id: 0x5cf6a3cf
+ full_name: "__xa_store"
+}
+elf_symbol {
id: 0x640280c1
name: "__xdp_rxq_info_reg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x91b7d22b
+ crc: 0x43bf6f7c
type_id: 0x954d9028
full_name: "__xdp_rxq_info_reg"
}
@@ -330997,11 +340855,29 @@ elf_symbol {
name: "__xfrm_state_destroy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x935463fd
+ crc: 0xfed7e612
type_id: 0x10605221
full_name: "__xfrm_state_destroy"
}
elf_symbol {
+ id: 0xda249832
+ name: "_bcd2bin"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb6936ffe
+ type_id: 0xd9bb2b92
+ full_name: "_bcd2bin"
+}
+elf_symbol {
+ id: 0x206fe2ef
+ name: "_bin2bcd"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x80ca5026
+ type_id: 0xdcb8e234
+ full_name: "_bin2bcd"
+}
+elf_symbol {
id: 0x5693f2df
name: "_copy_from_iter"
is_defined: true
@@ -331033,7 +340909,7 @@ elf_symbol {
name: "_dev_alert"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5b0a1524
+ crc: 0x094d64f0
type_id: 0x1fa0c57a
full_name: "_dev_alert"
}
@@ -331042,7 +340918,7 @@ elf_symbol {
name: "_dev_crit"
is_defined: true
symbol_type: FUNCTION
- crc: 0xec6ba642
+ crc: 0xd5a2398e
type_id: 0x1fa0c57a
full_name: "_dev_crit"
}
@@ -331051,7 +340927,7 @@ elf_symbol {
name: "_dev_emerg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x27b4b33a
+ crc: 0x6b04cd3e
type_id: 0x1fa0c57a
full_name: "_dev_emerg"
}
@@ -331060,7 +340936,7 @@ elf_symbol {
name: "_dev_err"
is_defined: true
symbol_type: FUNCTION
- crc: 0x719e0d04
+ crc: 0xf27ed00b
type_id: 0x1fa0c57a
full_name: "_dev_err"
}
@@ -331069,7 +340945,7 @@ elf_symbol {
name: "_dev_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0c84d1d1
+ crc: 0xef3cb484
type_id: 0x1fa0c57a
full_name: "_dev_info"
}
@@ -331078,7 +340954,7 @@ elf_symbol {
name: "_dev_notice"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf17d22cc
+ crc: 0x7436d39e
type_id: 0x1fa0c57a
full_name: "_dev_notice"
}
@@ -331087,7 +340963,7 @@ elf_symbol {
name: "_dev_printk"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2379dc74
+ crc: 0x7d4d96b8
type_id: 0x1feff59b
full_name: "_dev_printk"
}
@@ -331096,7 +340972,7 @@ elf_symbol {
name: "_dev_warn"
is_defined: true
symbol_type: FUNCTION
- crc: 0x816cb52d
+ crc: 0x0f55bd9b
type_id: 0x1fa0c57a
full_name: "_dev_warn"
}
@@ -331470,6 +341346,15 @@ elf_symbol {
full_name: "_trace_android_vh_record_pcpu_rwsem_starttime"
}
elf_symbol {
+ id: 0x874fa015
+ name: "_trace_android_vh_record_pcpu_rwsem_time_early"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2ea4d65a
+ type_id: 0x1c03dd76
+ full_name: "_trace_android_vh_record_pcpu_rwsem_time_early"
+}
+elf_symbol {
id: 0x86a88093
name: "_vb2_fop_release"
is_defined: true
@@ -331492,7 +341377,7 @@ elf_symbol {
name: "activate_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdf8745f0
+ crc: 0xe4134e16
type_id: 0x1b7558dd
full_name: "activate_task"
}
@@ -331582,7 +341467,7 @@ elf_symbol {
name: "addrconf_add_linklocal"
is_defined: true
symbol_type: FUNCTION
- crc: 0x12858eef
+ crc: 0x49969074
type_id: 0x1eaf1d5f
full_name: "addrconf_add_linklocal"
}
@@ -331591,7 +341476,7 @@ elf_symbol {
name: "addrconf_prefix_rcv_add_addr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbad4fe13
+ crc: 0x1da1aeb9
type_id: 0x9e6d2eab
full_name: "addrconf_prefix_rcv_add_addr"
}
@@ -331717,7 +341602,7 @@ elf_symbol {
name: "alloc_can_err_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfa16caa3
+ crc: 0x6b6e2d02
type_id: 0x6408a046
full_name: "alloc_can_err_skb"
}
@@ -331726,7 +341611,7 @@ elf_symbol {
name: "alloc_can_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfd55b11e
+ crc: 0x2913955d
type_id: 0x6408a046
full_name: "alloc_can_skb"
}
@@ -331735,7 +341620,7 @@ elf_symbol {
name: "alloc_candev_mqs"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc089e18d
+ crc: 0x18246485
type_id: 0xe4bddbe2
full_name: "alloc_candev_mqs"
}
@@ -331744,7 +341629,7 @@ elf_symbol {
name: "alloc_canfd_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfeb622ba
+ crc: 0x903fec4b
type_id: 0x643d13df
full_name: "alloc_canfd_skb"
}
@@ -331753,7 +341638,7 @@ elf_symbol {
name: "alloc_canxl_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa6687946
+ crc: 0xf4740e30
type_id: 0x641b717f
full_name: "alloc_canxl_skb"
}
@@ -331771,7 +341656,7 @@ elf_symbol {
name: "alloc_etherdev_mqs"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3df8102
+ crc: 0x4489db23
type_id: 0xe4bccdf7
full_name: "alloc_etherdev_mqs"
}
@@ -331785,11 +341670,20 @@ elf_symbol {
full_name: "alloc_io_pgtable_ops"
}
elf_symbol {
+ id: 0x9cff6ebf
+ name: "alloc_iova_fast"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1565176f
+ type_id: 0x3e8d4bea
+ full_name: "alloc_iova_fast"
+}
+elf_symbol {
id: 0xcf6df527
name: "alloc_netdev_mqs"
is_defined: true
symbol_type: FUNCTION
- crc: 0xedd87aed
+ crc: 0xa8cf71ff
type_id: 0xe554bdb1
full_name: "alloc_netdev_mqs"
}
@@ -331807,7 +341701,7 @@ elf_symbol {
name: "alloc_skb_with_frags"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1970c5d5
+ crc: 0xc87863cb
type_id: 0x64970caf
full_name: "alloc_skb_with_frags"
}
@@ -331884,6 +341778,26 @@ elf_symbol {
full_name: "amba_request_regions"
}
elf_symbol {
+ id: 0x5653e7da
+ name: "android_debug_per_cpu_symbol"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8ee3d8d9
+ namespace: "MINIDUMP"
+ type_id: 0x429ad182
+ full_name: "android_debug_per_cpu_symbol"
+}
+elf_symbol {
+ id: 0xffaebc56
+ name: "android_debug_symbol"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1d505a43
+ namespace: "MINIDUMP"
+ type_id: 0x4a818b9c
+ full_name: "android_debug_symbol"
+}
+elf_symbol {
id: 0xd8dbec6e
name: "android_rvh_probe_register"
is_defined: true
@@ -332010,7 +341924,7 @@ elf_symbol {
name: "arp_tbl"
is_defined: true
symbol_type: OBJECT
- crc: 0xf9e7723e
+ crc: 0x228f026d
type_id: 0x77670b3b
full_name: "arp_tbl"
}
@@ -332105,6 +342019,15 @@ elf_symbol {
full_name: "available_idle_cpu"
}
elf_symbol {
+ id: 0x3eb51b20
+ name: "avenrun"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xf1e98c74
+ type_id: 0x1e18ac15
+ full_name: "avenrun"
+}
+elf_symbol {
id: 0xb9c34cbd
name: "backlight_device_get_by_type"
is_defined: true
@@ -332208,7 +342131,7 @@ elf_symbol {
name: "balance_push_callback"
is_defined: true
symbol_type: OBJECT
- crc: 0xae979d07
+ crc: 0xa6209c0c
type_id: 0x3e2562ef
full_name: "balance_push_callback"
}
@@ -332384,6 +342307,15 @@ elf_symbol {
full_name: "bio_associate_blkg"
}
elf_symbol {
+ id: 0xaa6c907e
+ name: "bio_associate_blkg_from_css"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x73f8f3ea
+ type_id: 0x155cca9b
+ full_name: "bio_associate_blkg_from_css"
+}
+elf_symbol {
id: 0xb2553250
name: "bio_chain"
is_defined: true
@@ -332438,6 +342370,15 @@ elf_symbol {
full_name: "bio_put"
}
elf_symbol {
+ id: 0xa8878d9e
+ name: "bio_split"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8e0ebb54
+ type_id: 0x97a0d8a7
+ full_name: "bio_split"
+}
+elf_symbol {
id: 0x1cb0de6c
name: "bio_start_io_acct"
is_defined: true
@@ -332465,6 +342406,15 @@ elf_symbol {
full_name: "bit_wait_timeout"
}
elf_symbol {
+ id: 0x00f38540
+ name: "bit_waitqueue"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xad9901ae
+ type_id: 0xf8e4b6f7
+ full_name: "bit_waitqueue"
+}
+elf_symbol {
id: 0x181f78de
name: "bitmap_alloc"
is_defined: true
@@ -332582,6 +342532,24 @@ elf_symbol {
full_name: "blk_abort_request"
}
elf_symbol {
+ id: 0x1516f6b7
+ name: "blk_bio_list_merge"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x693f756e
+ type_id: 0xfc093226
+ full_name: "blk_bio_list_merge"
+}
+elf_symbol {
+ id: 0x650319ec
+ name: "blk_check_plugged"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd27b25dd
+ type_id: 0x66cc4765
+ full_name: "blk_check_plugged"
+}
+elf_symbol {
id: 0x4ffac461
name: "blk_crypto_keyslot_index"
is_defined: true
@@ -332627,6 +342595,15 @@ elf_symbol {
full_name: "blk_execute_rq_nowait"
}
elf_symbol {
+ id: 0x9eda4f26
+ name: "blk_fill_rwbs"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2bd8a8bb
+ type_id: 0x105539bd
+ full_name: "blk_fill_rwbs"
+}
+elf_symbol {
id: 0xc0d4821a
name: "blk_finish_plug"
is_defined: true
@@ -332672,6 +342649,15 @@ elf_symbol {
full_name: "blk_mq_complete_request"
}
elf_symbol {
+ id: 0x0467bac1
+ name: "blk_mq_debugfs_rq_show"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xec127399
+ type_id: 0x9c7b6f16
+ full_name: "blk_mq_debugfs_rq_show"
+}
+elf_symbol {
id: 0x6458d26a
name: "blk_mq_destroy_queue"
is_defined: true
@@ -332771,6 +342757,24 @@ elf_symbol {
full_name: "blk_mq_rq_cpu"
}
elf_symbol {
+ id: 0xff90ba37
+ name: "blk_mq_run_hw_queue"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x46c2c44f
+ type_id: 0x19af92ca
+ full_name: "blk_mq_run_hw_queue"
+}
+elf_symbol {
+ id: 0xff19eaec
+ name: "blk_mq_run_hw_queues"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7400eefe
+ type_id: 0x137d33fc
+ full_name: "blk_mq_run_hw_queues"
+}
+elf_symbol {
id: 0x49ee3f1e
name: "blk_mq_sched_mark_restart_hctx"
is_defined: true
@@ -333185,6 +343189,15 @@ elf_symbol {
full_name: "blk_start_plug"
}
elf_symbol {
+ id: 0x163b934e
+ name: "blk_stat_disable_accounting"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x24fe2120
+ type_id: 0x12c8ce83
+ full_name: "blk_stat_disable_accounting"
+}
+elf_symbol {
id: 0xb78983c5
name: "blk_stat_enable_accounting"
is_defined: true
@@ -333293,6 +343306,15 @@ elf_symbol {
full_name: "blkdev_get_by_path"
}
elf_symbol {
+ id: 0x4d722bb5
+ name: "blkdev_issue_discard"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x992b458f
+ type_id: 0x9dfe4183
+ full_name: "blkdev_issue_discard"
+}
+elf_symbol {
id: 0x2a322266
name: "blkdev_issue_flush"
is_defined: true
@@ -333365,6 +343387,33 @@ elf_symbol {
full_name: "blkg_rwstat_recursive_sum"
}
elf_symbol {
+ id: 0xd289c43d
+ name: "block_dirty_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x77ada257
+ type_id: 0xfb413284
+ full_name: "block_dirty_folio"
+}
+elf_symbol {
+ id: 0x6efa206d
+ name: "block_invalidate_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3045fd1d
+ type_id: 0x1b29bd73
+ full_name: "block_invalidate_folio"
+}
+elf_symbol {
+ id: 0x5cf37146
+ name: "block_is_partially_uptodate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5e5d36ff
+ type_id: 0xf515b7e4
+ full_name: "block_is_partially_uptodate"
+}
+elf_symbol {
id: 0x427cedc9
name: "blockdev_superblock"
is_defined: true
@@ -333410,6 +343459,24 @@ elf_symbol {
full_name: "bpf_dispatcher_xdp_func"
}
elf_symbol {
+ id: 0xd1f054c0
+ name: "bpf_map_inc"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb21c378c
+ type_id: 0x11b43560
+ full_name: "bpf_map_inc"
+}
+elf_symbol {
+ id: 0x2e575a11
+ name: "bpf_map_put"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc1113f69
+ type_id: 0x11b43560
+ full_name: "bpf_map_put"
+}
+elf_symbol {
id: 0xf737e767
name: "bpf_master_redirect_enabled_key"
is_defined: true
@@ -333423,7 +343490,7 @@ elf_symbol {
name: "bpf_prog_add"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4393cd01
+ crc: 0x6a2296c2
type_id: 0x1de47b51
full_name: "bpf_prog_add"
}
@@ -333432,7 +343499,7 @@ elf_symbol {
name: "bpf_prog_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe041145f
+ crc: 0x5ff8b2b7
type_id: 0x1c78f81d
full_name: "bpf_prog_put"
}
@@ -333441,11 +343508,20 @@ elf_symbol {
name: "bpf_prog_sub"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9b7eefdc
+ crc: 0xf8eeef85
type_id: 0x1de47b51
full_name: "bpf_prog_sub"
}
elf_symbol {
+ id: 0x56b332ad
+ name: "bpf_redirect_info"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x33823370
+ type_id: 0x212d37a1
+ full_name: "bpf_redirect_info"
+}
+elf_symbol {
id: 0x6a712ee1
name: "bpf_stats_enabled_key"
is_defined: true
@@ -333459,7 +343535,7 @@ elf_symbol {
name: "bpf_trace_run1"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe7e639e8
+ crc: 0xe6643531
type_id: 0x1e3074d3
full_name: "bpf_trace_run1"
}
@@ -333468,7 +343544,7 @@ elf_symbol {
name: "bpf_trace_run10"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd18ad3cf
+ crc: 0xb2057ce2
type_id: 0x1e169275
full_name: "bpf_trace_run10"
}
@@ -333477,7 +343553,7 @@ elf_symbol {
name: "bpf_trace_run11"
is_defined: true
symbol_type: FUNCTION
- crc: 0x80d8708a
+ crc: 0x11d6a547
type_id: 0x1e169276
full_name: "bpf_trace_run11"
}
@@ -333486,7 +343562,7 @@ elf_symbol {
name: "bpf_trace_run12"
is_defined: true
symbol_type: FUNCTION
- crc: 0x25e3f87c
+ crc: 0x7e34c48d
type_id: 0x1e169277
full_name: "bpf_trace_run12"
}
@@ -333495,7 +343571,7 @@ elf_symbol {
name: "bpf_trace_run2"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7ab61490
+ crc: 0xc4b28304
type_id: 0x1e14fc1f
full_name: "bpf_trace_run2"
}
@@ -333504,7 +343580,7 @@ elf_symbol {
name: "bpf_trace_run3"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcca88298
+ crc: 0x1f7600cb
type_id: 0x1e16b493
full_name: "bpf_trace_run3"
}
@@ -333513,7 +343589,7 @@ elf_symbol {
name: "bpf_trace_run4"
is_defined: true
symbol_type: FUNCTION
- crc: 0x978156ed
+ crc: 0xc7b92fda
type_id: 0x1e16901b
full_name: "bpf_trace_run4"
}
@@ -333522,7 +343598,7 @@ elf_symbol {
name: "bpf_trace_run5"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2794ce97
+ crc: 0x267d05bf
type_id: 0x1e169253
full_name: "bpf_trace_run5"
}
@@ -333531,7 +343607,7 @@ elf_symbol {
name: "bpf_trace_run6"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2c7a0edd
+ crc: 0xa69c2a3c
type_id: 0x1e169278
full_name: "bpf_trace_run6"
}
@@ -333540,7 +343616,7 @@ elf_symbol {
name: "bpf_trace_run7"
is_defined: true
symbol_type: FUNCTION
- crc: 0x986470ec
+ crc: 0xb5e91f0b
type_id: 0x1e169279
full_name: "bpf_trace_run7"
}
@@ -333549,7 +343625,7 @@ elf_symbol {
name: "bpf_trace_run8"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbfce4563
+ crc: 0x63b71df2
type_id: 0x1e16927a
full_name: "bpf_trace_run8"
}
@@ -333558,7 +343634,7 @@ elf_symbol {
name: "bpf_trace_run9"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7f009284
+ crc: 0x486596c9
type_id: 0x1e16927b
full_name: "bpf_trace_run9"
}
@@ -333567,7 +343643,7 @@ elf_symbol {
name: "bpf_warn_invalid_xdp_action"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3bb48053
+ crc: 0xa7f1716a
type_id: 0x1ccd91f4
full_name: "bpf_warn_invalid_xdp_action"
}
@@ -333612,7 +343688,7 @@ elf_symbol {
name: "bt_accept_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x360903f5
+ crc: 0xa0c2214c
type_id: 0x6b5469c2
full_name: "bt_accept_dequeue"
}
@@ -333621,7 +343697,7 @@ elf_symbol {
name: "bt_accept_enqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x590164df
+ crc: 0xd1448dc5
type_id: 0x17a71216
full_name: "bt_accept_enqueue"
}
@@ -333630,7 +343706,7 @@ elf_symbol {
name: "bt_accept_unlink"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6d0d42a0
+ crc: 0xec5c7e14
type_id: 0x17c95d08
full_name: "bt_accept_unlink"
}
@@ -333639,7 +343715,7 @@ elf_symbol {
name: "bt_debugfs"
is_defined: true
symbol_type: OBJECT
- crc: 0x584616a7
+ crc: 0xbb89b7e0
type_id: 0x120540d1
full_name: "bt_debugfs"
}
@@ -333675,7 +343751,7 @@ elf_symbol {
name: "bt_procfs_cleanup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2a0b389e
+ crc: 0x17602ecb
type_id: 0x13488e67
full_name: "bt_procfs_cleanup"
}
@@ -333684,7 +343760,7 @@ elf_symbol {
name: "bt_procfs_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0x079ce819
+ crc: 0xe1369968
type_id: 0x9e559491
full_name: "bt_procfs_init"
}
@@ -333693,7 +343769,7 @@ elf_symbol {
name: "bt_sock_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc03d1eb7
+ crc: 0x66286463
type_id: 0x9882219f
full_name: "bt_sock_ioctl"
}
@@ -333702,7 +343778,7 @@ elf_symbol {
name: "bt_sock_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0x44d968a0
+ crc: 0x3db15e11
type_id: 0x15f330e3
full_name: "bt_sock_link"
}
@@ -333711,7 +343787,7 @@ elf_symbol {
name: "bt_sock_poll"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe2defd2b
+ crc: 0xeb896aef
type_id: 0x2545d8c8
full_name: "bt_sock_poll"
}
@@ -333720,7 +343796,7 @@ elf_symbol {
name: "bt_sock_reclassify_lock"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaf0fda82
+ crc: 0x76a49bad
type_id: 0x1655de44
full_name: "bt_sock_reclassify_lock"
}
@@ -333729,7 +343805,7 @@ elf_symbol {
name: "bt_sock_recvmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa22c0ddd
+ crc: 0x7d81de51
type_id: 0x9917165a
full_name: "bt_sock_recvmsg"
}
@@ -333738,7 +343814,7 @@ elf_symbol {
name: "bt_sock_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x599b8a85
+ crc: 0x5ba40f91
type_id: 0x84acfa74
full_name: "bt_sock_register"
}
@@ -333747,7 +343823,7 @@ elf_symbol {
name: "bt_sock_stream_recvmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb5c6fdf6
+ crc: 0x25c780fa
type_id: 0x9917165a
full_name: "bt_sock_stream_recvmsg"
}
@@ -333756,7 +343832,7 @@ elf_symbol {
name: "bt_sock_unlink"
is_defined: true
symbol_type: FUNCTION
- crc: 0x878fccf4
+ crc: 0x90793c60
type_id: 0x15f330e3
full_name: "bt_sock_unlink"
}
@@ -333774,7 +343850,7 @@ elf_symbol {
name: "bt_sock_wait_ready"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe615bd41
+ crc: 0x09c198d9
type_id: 0x9bc7fa2c
full_name: "bt_sock_wait_ready"
}
@@ -333783,7 +343859,7 @@ elf_symbol {
name: "bt_sock_wait_state"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdf3b783d
+ crc: 0x93aa13a6
type_id: 0x9b41b1a1
full_name: "bt_sock_wait_state"
}
@@ -333828,7 +343904,7 @@ elf_symbol {
name: "btbcm_check_bdaddr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc3ccf4c7
+ crc: 0x4ad61208
type_id: 0x9af01625
full_name: "btbcm_check_bdaddr"
}
@@ -333837,7 +343913,7 @@ elf_symbol {
name: "btbcm_finalize"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3b480cd4
+ crc: 0xde741d81
type_id: 0x9aac764b
full_name: "btbcm_finalize"
}
@@ -333846,7 +343922,7 @@ elf_symbol {
name: "btbcm_initialize"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6ab5d6e3
+ crc: 0x6122bec3
type_id: 0x9aac764b
full_name: "btbcm_initialize"
}
@@ -333855,7 +343931,7 @@ elf_symbol {
name: "btbcm_patchram"
is_defined: true
symbol_type: FUNCTION
- crc: 0x51434e63
+ crc: 0x2ff19ae7
type_id: 0x9a3c1260
full_name: "btbcm_patchram"
}
@@ -333864,7 +343940,7 @@ elf_symbol {
name: "btbcm_read_pcm_int_params"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2b6afaef
+ crc: 0x9810f488
type_id: 0x9a4917d6
full_name: "btbcm_read_pcm_int_params"
}
@@ -333873,7 +343949,7 @@ elf_symbol {
name: "btbcm_set_bdaddr"
is_defined: true
symbol_type: FUNCTION
- crc: 0x456dd851
+ crc: 0xbc528922
type_id: 0x9a2fc16a
full_name: "btbcm_set_bdaddr"
}
@@ -333882,7 +343958,7 @@ elf_symbol {
name: "btbcm_setup_apple"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe278b473
+ crc: 0x961dc512
type_id: 0x9af01625
full_name: "btbcm_setup_apple"
}
@@ -333891,7 +343967,7 @@ elf_symbol {
name: "btbcm_setup_patchram"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3b4985db
+ crc: 0x75ffcb84
type_id: 0x9af01625
full_name: "btbcm_setup_patchram"
}
@@ -333900,20 +343976,38 @@ elf_symbol {
name: "btbcm_write_pcm_int_params"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbdf76b76
+ crc: 0xba4441a0
type_id: 0x9a22976b
full_name: "btbcm_write_pcm_int_params"
}
elf_symbol {
+ id: 0x6bb6d4ca
+ name: "buffer_migrate_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x697d2102
+ type_id: 0x986ccce1
+ full_name: "buffer_migrate_folio"
+}
+elf_symbol {
id: 0x8ea00f54
name: "build_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x06233f92
+ crc: 0xb7cab24f
type_id: 0x6fa775f5
full_name: "build_skb"
}
elf_symbol {
+ id: 0x521ad765
+ name: "build_skb_around"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcdb7b9ec
+ type_id: 0x69be77aa
+ full_name: "build_skb_around"
+}
+elf_symbol {
id: 0x0f9d7b5e
name: "bus_find_device"
is_defined: true
@@ -333997,7 +344091,7 @@ elf_symbol {
name: "call_netdevice_notifiers"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8543b60f
+ crc: 0x1264cbde
type_id: 0x91972281
full_name: "call_netdevice_notifiers"
}
@@ -334042,7 +344136,7 @@ elf_symbol {
name: "can_bus_off"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7e94da20
+ crc: 0x8b0135b3
type_id: 0x1c31d966
full_name: "can_bus_off"
}
@@ -334051,7 +344145,7 @@ elf_symbol {
name: "can_change_mtu"
is_defined: true
symbol_type: FUNCTION
- crc: 0xba91c544
+ crc: 0x99a240b0
type_id: 0x90b5e896
full_name: "can_change_mtu"
}
@@ -334060,7 +344154,7 @@ elf_symbol {
name: "can_change_state"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdbbda6e8
+ crc: 0xf30870d5
type_id: 0x1c6ae2fd
full_name: "can_change_state"
}
@@ -334069,7 +344163,7 @@ elf_symbol {
name: "can_dropped_invalid_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6b183601
+ crc: 0xd5058dc1
type_id: 0xf218ee55
full_name: "can_dropped_invalid_skb"
}
@@ -334078,7 +344172,7 @@ elf_symbol {
name: "can_eth_ioctl_hwts"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8acbc55a
+ crc: 0x1b85db72
type_id: 0x91e86e2c
full_name: "can_eth_ioctl_hwts"
}
@@ -334087,7 +344181,7 @@ elf_symbol {
name: "can_ethtool_op_get_ts_info_hwts"
is_defined: true
symbol_type: FUNCTION
- crc: 0x05e38aae
+ crc: 0x10d5effc
type_id: 0x916bd4e5
full_name: "can_ethtool_op_get_ts_info_hwts"
}
@@ -334114,7 +344208,7 @@ elf_symbol {
name: "can_free_echo_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf2079879
+ crc: 0x12d5f8bd
type_id: 0x1d2130a6
full_name: "can_free_echo_skb"
}
@@ -334123,7 +344217,7 @@ elf_symbol {
name: "can_get_echo_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x951af08a
+ crc: 0xbe9832d7
type_id: 0xc3621fce
full_name: "can_get_echo_skb"
}
@@ -334141,7 +344235,7 @@ elf_symbol {
name: "can_proto_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6f260f60
+ crc: 0xcf3cfa9e
type_id: 0x93fb658b
full_name: "can_proto_register"
}
@@ -334150,7 +344244,7 @@ elf_symbol {
name: "can_proto_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfd89bd81
+ crc: 0x2f0640d2
type_id: 0x1ee3d737
full_name: "can_proto_unregister"
}
@@ -334159,7 +344253,7 @@ elf_symbol {
name: "can_put_echo_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x25153947
+ crc: 0xa22906af
type_id: 0x9c09d6aa
full_name: "can_put_echo_skb"
}
@@ -334168,7 +344262,7 @@ elf_symbol {
name: "can_rx_offload_add_fifo"
is_defined: true
symbol_type: FUNCTION
- crc: 0x31f80e98
+ crc: 0xd61089d0
type_id: 0x91c43545
full_name: "can_rx_offload_add_fifo"
}
@@ -334177,7 +344271,7 @@ elf_symbol {
name: "can_rx_offload_add_manual"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2edd7e4a
+ crc: 0x9d723f0c
type_id: 0x91c43545
full_name: "can_rx_offload_add_manual"
}
@@ -334186,7 +344280,7 @@ elf_symbol {
name: "can_rx_offload_add_timestamp"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7bba8d93
+ crc: 0x9fca72e0
type_id: 0x91d5541c
full_name: "can_rx_offload_add_timestamp"
}
@@ -334195,7 +344289,7 @@ elf_symbol {
name: "can_rx_offload_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1c8de286
+ crc: 0xc311da22
type_id: 0x1f5badff
full_name: "can_rx_offload_del"
}
@@ -334204,7 +344298,7 @@ elf_symbol {
name: "can_rx_offload_enable"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeb8e13ac
+ crc: 0x5e717c7e
type_id: 0x1f5badff
full_name: "can_rx_offload_enable"
}
@@ -334213,7 +344307,7 @@ elf_symbol {
name: "can_rx_offload_get_echo_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x99ae8b0c
+ crc: 0x6a6f51f0
type_id: 0xc03cbac0
full_name: "can_rx_offload_get_echo_skb"
}
@@ -334222,7 +344316,7 @@ elf_symbol {
name: "can_rx_offload_irq_finish"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3d001f71
+ crc: 0x9c6a8710
type_id: 0x1f5badff
full_name: "can_rx_offload_irq_finish"
}
@@ -334231,7 +344325,7 @@ elf_symbol {
name: "can_rx_offload_irq_offload_fifo"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e7e53b5
+ crc: 0xe0ac9bd8
type_id: 0x92431f43
full_name: "can_rx_offload_irq_offload_fifo"
}
@@ -334240,7 +344334,7 @@ elf_symbol {
name: "can_rx_offload_irq_offload_timestamp"
is_defined: true
symbol_type: FUNCTION
- crc: 0x96384578
+ crc: 0x35637c7c
type_id: 0x900b938d
full_name: "can_rx_offload_irq_offload_timestamp"
}
@@ -334249,7 +344343,7 @@ elf_symbol {
name: "can_rx_offload_queue_tail"
is_defined: true
symbol_type: FUNCTION
- crc: 0x880deb2d
+ crc: 0x03270238
type_id: 0x925622e7
full_name: "can_rx_offload_queue_tail"
}
@@ -334258,7 +344352,7 @@ elf_symbol {
name: "can_rx_offload_queue_timestamp"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa7e3656e
+ crc: 0x86f09600
type_id: 0x926460ed
full_name: "can_rx_offload_queue_timestamp"
}
@@ -334267,7 +344361,7 @@ elf_symbol {
name: "can_rx_offload_threaded_irq_finish"
is_defined: true
symbol_type: FUNCTION
- crc: 0x541fab87
+ crc: 0x9fa015d3
type_id: 0x1f5badff
full_name: "can_rx_offload_threaded_irq_finish"
}
@@ -334276,7 +344370,7 @@ elf_symbol {
name: "can_rx_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7e9806e7
+ crc: 0x79473a3e
type_id: 0x9e789129
full_name: "can_rx_register"
}
@@ -334285,7 +344379,7 @@ elf_symbol {
name: "can_rx_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5290905b
+ crc: 0xc6d395bb
type_id: 0x13602394
full_name: "can_rx_unregister"
}
@@ -334294,7 +344388,7 @@ elf_symbol {
name: "can_send"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf0aadc7d
+ crc: 0x9b9a1272
type_id: 0x9d4fba25
full_name: "can_send"
}
@@ -334303,7 +344397,7 @@ elf_symbol {
name: "can_skb_get_frame_len"
is_defined: true
symbol_type: FUNCTION
- crc: 0xddcf2939
+ crc: 0xb9941f27
type_id: 0xc1439b43
full_name: "can_skb_get_frame_len"
}
@@ -334312,7 +344406,7 @@ elf_symbol {
name: "can_sock_destruct"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd1b9e893
+ crc: 0xad6f5038
type_id: 0x17c95d08
full_name: "can_sock_destruct"
}
@@ -334353,6 +344447,78 @@ elf_symbol {
full_name: "capable"
}
elf_symbol {
+ id: 0x61aaf300
+ name: "capable_wrt_inode_uidgid"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xaa02669a
+ type_id: 0xfdb03c5c
+ full_name: "capable_wrt_inode_uidgid"
+}
+elf_symbol {
+ id: 0x0d8df2d6
+ name: "cdc_ncm_bind_common"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa165232f
+ type_id: 0x9e7d48ad
+ full_name: "cdc_ncm_bind_common"
+}
+elf_symbol {
+ id: 0xbe895b99
+ name: "cdc_ncm_change_mtu"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe9dd0df4
+ type_id: 0x90b5e896
+ full_name: "cdc_ncm_change_mtu"
+}
+elf_symbol {
+ id: 0x438a802b
+ name: "cdc_ncm_fill_tx_frame"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3e5e696a
+ type_id: 0x6bfb947b
+ full_name: "cdc_ncm_fill_tx_frame"
+}
+elf_symbol {
+ id: 0xe05cfed6
+ name: "cdc_ncm_rx_verify_ndp16"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbeac75e1
+ type_id: 0x9d4fba25
+ full_name: "cdc_ncm_rx_verify_ndp16"
+}
+elf_symbol {
+ id: 0xb0d627f0
+ name: "cdc_ncm_rx_verify_nth16"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0c8f8ef8
+ type_id: 0x9d4713e6
+ full_name: "cdc_ncm_rx_verify_nth16"
+}
+elf_symbol {
+ id: 0x3b573ab8
+ name: "cdc_ncm_select_altsetting"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0bd5ab5f
+ type_id: 0x5b0b198d
+ full_name: "cdc_ncm_select_altsetting"
+}
+elf_symbol {
+ id: 0xb4ff03eb
+ name: "cdc_ncm_unbind"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb2a5cb89
+ type_id: 0x136e318e
+ full_name: "cdc_ncm_unbind"
+}
+elf_symbol {
id: 0xb2bfcc0c
name: "cdc_parse_cdc_header"
is_defined: true
@@ -334416,6 +344582,15 @@ elf_symbol {
full_name: "cdev_init"
}
elf_symbol {
+ id: 0x1ae20002
+ name: "ce_aes_expandkey"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x68f275ad
+ type_id: 0x982246a7
+ full_name: "ce_aes_expandkey"
+}
+elf_symbol {
id: 0xc8e5adc6
name: "cec_allocate_adapter"
is_defined: true
@@ -334497,6 +344672,15 @@ elf_symbol {
full_name: "cec_notifier_set_phys_addr_from_edid"
}
elf_symbol {
+ id: 0xa383a6c1
+ name: "cec_queue_pin_hpd_event"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xafee3a98
+ type_id: 0x1f2853af
+ full_name: "cec_queue_pin_hpd_event"
+}
+elf_symbol {
id: 0x1ff124cb
name: "cec_received_msg_ts"
is_defined: true
@@ -334569,11 +344753,20 @@ elf_symbol {
full_name: "cec_unregister_adapter"
}
elf_symbol {
+ id: 0x4d06ba53
+ name: "cgroup_add_dfl_cftypes"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x86093f58
+ type_id: 0x9f4f3809
+ full_name: "cgroup_add_dfl_cftypes"
+}
+elf_symbol {
id: 0x3c85cae0
name: "cgroup_add_legacy_cftypes"
is_defined: true
symbol_type: FUNCTION
- crc: 0x339dcf29
+ crc: 0x2677d819
type_id: 0x9f4f3809
full_name: "cgroup_add_legacy_cftypes"
}
@@ -334582,7 +344775,7 @@ elf_symbol {
name: "cgroup_path_ns"
is_defined: true
symbol_type: FUNCTION
- crc: 0xacbfb776
+ crc: 0x84c7051f
type_id: 0x9b87e6ee
full_name: "cgroup_path_ns"
}
@@ -334591,7 +344784,7 @@ elf_symbol {
name: "cgroup_taskset_first"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5aad35ea
+ crc: 0xc815fe12
type_id: 0x751b5661
full_name: "cgroup_taskset_first"
}
@@ -334600,11 +344793,20 @@ elf_symbol {
name: "cgroup_taskset_next"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc87e1caa
+ crc: 0xa23b7f66
type_id: 0x751b5661
full_name: "cgroup_taskset_next"
}
elf_symbol {
+ id: 0xb7533de5
+ name: "cgroup_threadgroup_rwsem"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x4e1c73cb
+ type_id: 0x6c952252
+ full_name: "cgroup_threadgroup_rwsem"
+}
+elf_symbol {
id: 0x7a871d1c
name: "check_move_unevictable_pages"
is_defined: true
@@ -334618,7 +344820,7 @@ elf_symbol {
name: "check_preempt_curr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe00ffd83
+ crc: 0xd9ade0b0
type_id: 0x1b7558dd
full_name: "check_preempt_curr"
}
@@ -334722,6 +344924,24 @@ elf_symbol {
full_name: "class_unregister"
}
elf_symbol {
+ id: 0xb242a940
+ name: "clean_bdev_aliases"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa36f5732
+ type_id: 0x10e535a4
+ full_name: "clean_bdev_aliases"
+}
+elf_symbol {
+ id: 0xd156aa2c
+ name: "cleancache_register_ops"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5fa588cd
+ type_id: 0x910fbd4c
+ full_name: "cleancache_register_ops"
+}
+elf_symbol {
id: 0x00d9abe7
name: "cleanup_srcu_struct"
is_defined: true
@@ -334731,6 +344951,15 @@ elf_symbol {
full_name: "cleanup_srcu_struct"
}
elf_symbol {
+ id: 0xfa95bdc1
+ name: "clear_inode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x89b4e8c0
+ type_id: 0x167935b9
+ full_name: "clear_inode"
+}
+elf_symbol {
id: 0xb63845e5
name: "clear_page"
is_defined: true
@@ -334738,6 +344967,15 @@ elf_symbol {
crc: 0x3d9ee9f0
}
elf_symbol {
+ id: 0x52eaa51b
+ name: "clear_page_dirty_for_io"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x20bc8096
+ type_id: 0xff048ca3
+ full_name: "clear_page_dirty_for_io"
+}
+elf_symbol {
id: 0x5332f89b
name: "clk_bulk_disable"
is_defined: true
@@ -334855,6 +345093,15 @@ elf_symbol {
full_name: "clk_fixed_rate_ops"
}
elf_symbol {
+ id: 0xf42e28c4
+ name: "clk_fractional_divider_general_approximation"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc8861ced
+ type_id: 0x12ed274e
+ full_name: "clk_fractional_divider_general_approximation"
+}
+elf_symbol {
id: 0x8a96e88d
name: "clk_fractional_divider_ops"
is_defined: true
@@ -334900,6 +345147,15 @@ elf_symbol {
full_name: "clk_get_parent"
}
elf_symbol {
+ id: 0x04880ada
+ name: "clk_get_phase"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1c5ff742
+ type_id: 0x92f35938
+ full_name: "clk_get_phase"
+}
+elf_symbol {
id: 0x25ef9f7a
name: "clk_get_rate"
is_defined: true
@@ -335071,6 +345327,15 @@ elf_symbol {
full_name: "clk_hw_unregister"
}
elf_symbol {
+ id: 0x91507af8
+ name: "clk_hw_unregister_composite"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa5812f72
+ type_id: 0x12217922
+ full_name: "clk_hw_unregister_composite"
+}
+elf_symbol {
id: 0xd2c17be4
name: "clk_is_match"
is_defined: true
@@ -335251,6 +345516,15 @@ elf_symbol {
full_name: "clk_set_parent"
}
elf_symbol {
+ id: 0x98850f9d
+ name: "clk_set_phase"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb7329c06
+ type_id: 0x936fda74
+ full_name: "clk_set_phase"
+}
+elf_symbol {
id: 0x495f0223
name: "clk_set_rate"
is_defined: true
@@ -335327,7 +345601,7 @@ elf_symbol {
name: "close_candev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbf17abcb
+ crc: 0x75b20ea5
type_id: 0x1c31d966
full_name: "close_candev"
}
@@ -335377,6 +345651,15 @@ elf_symbol {
full_name: "cma_release"
}
elf_symbol {
+ id: 0xfb23b117
+ name: "compat_only_sysfs_link_entry_to_kobj"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x256e3ace
+ type_id: 0x95fc7a3d
+ full_name: "compat_only_sysfs_link_entry_to_kobj"
+}
+elf_symbol {
id: 0x4f627b39
name: "compat_ptr_ioctl"
is_defined: true
@@ -335440,6 +345723,15 @@ elf_symbol {
full_name: "component_bind_all"
}
elf_symbol {
+ id: 0x9901e8ee
+ name: "component_compare_dev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0b549846
+ type_id: 0x9d7428e0
+ full_name: "component_compare_dev"
+}
+elf_symbol {
id: 0x4bc5faef
name: "component_compare_dev_name"
is_defined: true
@@ -335723,7 +346015,7 @@ elf_symbol {
name: "consume_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xabb8cf3a
+ crc: 0x925b1655
type_id: 0x11cb8bd5
full_name: "consume_skb"
}
@@ -335746,6 +346038,31 @@ elf_symbol {
full_name: "copy_from_kernel_nofault"
}
elf_symbol {
+ id: 0xd71898b4
+ name: "copy_highpage"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x54d1223a
+ type_id: 0x11228b4e
+ full_name: "copy_highpage"
+}
+elf_symbol {
+ id: 0xc1167624
+ name: "copy_page"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4d0d163d
+}
+elf_symbol {
+ id: 0x9f1f7cee
+ name: "copy_page_from_iter_atomic"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc8b6f813
+ type_id: 0x97b4bbf8
+ full_name: "copy_page_from_iter_atomic"
+}
+elf_symbol {
id: 0xd89255c2
name: "cpu_all_bits"
is_defined: true
@@ -335764,6 +346081,15 @@ elf_symbol {
full_name: "cpu_bit_bitmap"
}
elf_symbol {
+ id: 0x15e1667b
+ name: "cpu_have_feature"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x41237f71
+ type_id: 0xefc5028b
+ full_name: "cpu_have_feature"
+}
+elf_symbol {
id: 0x33bbeca6
name: "cpu_hotplug_disable"
is_defined: true
@@ -336268,6 +346594,15 @@ elf_symbol {
full_name: "cpufreq_update_limits"
}
elf_symbol {
+ id: 0x4b049d5c
+ name: "cpufreq_update_policy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc37f9c6e
+ type_id: 0x01f9081c
+ full_name: "cpufreq_update_policy"
+}
+elf_symbol {
id: 0x0c67e2fe
name: "cpufreq_update_util_data"
is_defined: true
@@ -336358,6 +346693,15 @@ elf_symbol {
full_name: "cpumask_any_and_distribute"
}
elf_symbol {
+ id: 0xd53a5822
+ name: "cpumask_local_spread"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc8a91f5b
+ type_id: 0xde26a438
+ full_name: "cpumask_local_spread"
+}
+elf_symbol {
id: 0xb1469ae6
name: "cpumask_next_wrap"
is_defined: true
@@ -336453,6 +346797,15 @@ elf_symbol {
full_name: "crc_ccitt"
}
elf_symbol {
+ id: 0xd5cc5ce2
+ name: "create_empty_buffers"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9b40f91e
+ type_id: 0x11f98eff
+ full_name: "create_empty_buffers"
+}
+elf_symbol {
id: 0xc3e46036
name: "create_function_device"
is_defined: true
@@ -336507,6 +346860,24 @@ elf_symbol {
full_name: "crypto_ahash_digest"
}
elf_symbol {
+ id: 0xf8751b15
+ name: "crypto_ahash_final"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1af67977
+ type_id: 0x911583bf
+ full_name: "crypto_ahash_final"
+}
+elf_symbol {
+ id: 0xdd9947d5
+ name: "crypto_ahash_finup"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x095c49bc
+ type_id: 0x911583bf
+ full_name: "crypto_ahash_finup"
+}
+elf_symbol {
id: 0xff08526f
name: "crypto_ahash_setkey"
is_defined: true
@@ -336534,6 +346905,15 @@ elf_symbol {
full_name: "crypto_alloc_ahash"
}
elf_symbol {
+ id: 0x5d9de9a7
+ name: "crypto_alloc_akcipher"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdc2b9dfc
+ type_id: 0x69b2a88c
+ full_name: "crypto_alloc_akcipher"
+}
+elf_symbol {
id: 0x1d1f6717
name: "crypto_alloc_base"
is_defined: true
@@ -336565,7 +346945,7 @@ elf_symbol {
name: "crypto_alloc_skcipher"
is_defined: true
symbol_type: FUNCTION
- crc: 0x13e3aa33
+ crc: 0xb786e327
type_id: 0x2d1647d4
full_name: "crypto_alloc_skcipher"
}
@@ -336574,11 +346954,21 @@ elf_symbol {
name: "crypto_alloc_sync_skcipher"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7d8687af
+ crc: 0xdea2eaf0
type_id: 0x329319f8
full_name: "crypto_alloc_sync_skcipher"
}
elf_symbol {
+ id: 0xa3db58f1
+ name: "crypto_cipher_encrypt_one"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1f362def
+ namespace: "CRYPTO_INTERNAL"
+ type_id: 0x114c448e
+ full_name: "crypto_cipher_encrypt_one"
+}
+elf_symbol {
id: 0x1257590d
name: "crypto_comp_compress"
is_defined: true
@@ -336610,7 +347000,7 @@ elf_symbol {
name: "crypto_dequeue_request"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9c81d45b
+ crc: 0x6667eee7
type_id: 0x2d2c7d0b
full_name: "crypto_dequeue_request"
}
@@ -336646,7 +347036,7 @@ elf_symbol {
name: "crypto_enqueue_request"
is_defined: true
symbol_type: FUNCTION
- crc: 0x939c1273
+ crc: 0xf7c5c1d7
type_id: 0x9a78591e
full_name: "crypto_enqueue_request"
}
@@ -336678,6 +347068,15 @@ elf_symbol {
full_name: "crypto_has_alg"
}
elf_symbol {
+ id: 0x80e1f666
+ name: "crypto_inc"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3ef051c8
+ type_id: 0x11bf8d42
+ full_name: "crypto_inc"
+}
+elf_symbol {
id: 0x62173925
name: "crypto_init_queue"
is_defined: true
@@ -336714,6 +347113,24 @@ elf_symbol {
full_name: "crypto_register_ahash"
}
elf_symbol {
+ id: 0xc60881ee
+ name: "crypto_register_akcipher"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x44f8c5fe
+ type_id: 0x99df4252
+ full_name: "crypto_register_akcipher"
+}
+elf_symbol {
+ id: 0xd9005076
+ name: "crypto_register_alg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4a1204f0
+ type_id: 0x9db75c24
+ full_name: "crypto_register_alg"
+}
+elf_symbol {
id: 0xcb0ffe5b
name: "crypto_register_notifier"
is_defined: true
@@ -336754,11 +347171,20 @@ elf_symbol {
name: "crypto_register_skcipher"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe302e076
+ crc: 0x70b27b3c
type_id: 0x928f1946
full_name: "crypto_register_skcipher"
}
elf_symbol {
+ id: 0x8e0112d7
+ name: "crypto_register_template"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf1da2be6
+ type_id: 0x9a6e7c60
+ full_name: "crypto_register_template"
+}
+elf_symbol {
id: 0x0e52d725
name: "crypto_req_done"
is_defined: true
@@ -336768,6 +347194,24 @@ elf_symbol {
full_name: "crypto_req_done"
}
elf_symbol {
+ id: 0x162a73f7
+ name: "crypto_sha1_finup"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe1737405
+ type_id: 0x9fb1dc71
+ full_name: "crypto_sha1_finup"
+}
+elf_symbol {
+ id: 0x7dcc32e4
+ name: "crypto_sha1_update"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb7dbc187
+ type_id: 0x9fb1df6d
+ full_name: "crypto_sha1_update"
+}
+elf_symbol {
id: 0x91309df9
name: "crypto_shash_digest"
is_defined: true
@@ -336826,7 +347270,7 @@ elf_symbol {
name: "crypto_skcipher_decrypt"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3dafd0f9
+ crc: 0x5528f6cb
type_id: 0x9a856ac3
full_name: "crypto_skcipher_decrypt"
}
@@ -336835,7 +347279,7 @@ elf_symbol {
name: "crypto_skcipher_encrypt"
is_defined: true
symbol_type: FUNCTION
- crc: 0x67308a55
+ crc: 0xcfad4135
type_id: 0x9a856ac3
full_name: "crypto_skcipher_encrypt"
}
@@ -336844,7 +347288,7 @@ elf_symbol {
name: "crypto_skcipher_setkey"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcace9873
+ crc: 0x26a098fc
type_id: 0x9e7f936c
full_name: "crypto_skcipher_setkey"
}
@@ -336867,6 +347311,24 @@ elf_symbol {
full_name: "crypto_unregister_ahash"
}
elf_symbol {
+ id: 0xdb6ddedf
+ name: "crypto_unregister_akcipher"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbfd52d96
+ type_id: 0x14c7f0ee
+ full_name: "crypto_unregister_akcipher"
+}
+elf_symbol {
+ id: 0x883df740
+ name: "crypto_unregister_alg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa0dbb600
+ type_id: 0x10afee98
+ full_name: "crypto_unregister_alg"
+}
+elf_symbol {
id: 0x551c18d1
name: "crypto_unregister_notifier"
is_defined: true
@@ -336907,16 +347369,25 @@ elf_symbol {
name: "crypto_unregister_skcipher"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0f6352af
+ crc: 0x72f284fd
type_id: 0x1f97abfa
full_name: "crypto_unregister_skcipher"
}
elf_symbol {
+ id: 0x801e3d5d
+ name: "crypto_unregister_template"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd6fa098b
+ type_id: 0x1776cedc
+ full_name: "crypto_unregister_template"
+}
+elf_symbol {
id: 0xd36400de
name: "css_next_child"
is_defined: true
symbol_type: FUNCTION
- crc: 0xff552960
+ crc: 0xd19a6c6f
type_id: 0xc867c639
full_name: "css_next_child"
}
@@ -336925,7 +347396,7 @@ elf_symbol {
name: "css_next_descendant_pre"
is_defined: true
symbol_type: FUNCTION
- crc: 0x24bff92f
+ crc: 0x9d887153
type_id: 0xc867c639
full_name: "css_next_descendant_pre"
}
@@ -336984,6 +347455,15 @@ elf_symbol {
full_name: "current_time"
}
elf_symbol {
+ id: 0x4c090f07
+ name: "current_umask"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5e95b1cd
+ type_id: 0x9d80e32f
+ full_name: "current_umask"
+}
+elf_symbol {
id: 0x171eca8a
name: "d_add"
is_defined: true
@@ -336993,6 +347473,15 @@ elf_symbol {
full_name: "d_add"
}
elf_symbol {
+ id: 0x82537a82
+ name: "d_add_ci"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x09ad89bb
+ type_id: 0x889f851e
+ full_name: "d_add_ci"
+}
+elf_symbol {
id: 0x79187969
name: "d_alloc_name"
is_defined: true
@@ -337002,6 +347491,15 @@ elf_symbol {
full_name: "d_alloc_name"
}
elf_symbol {
+ id: 0x04f5a6e5
+ name: "d_instantiate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xff9152a3
+ type_id: 0x147717e5
+ full_name: "d_instantiate"
+}
+elf_symbol {
id: 0x52864a7e
name: "d_make_root"
is_defined: true
@@ -337011,6 +347509,15 @@ elf_symbol {
full_name: "d_make_root"
}
elf_symbol {
+ id: 0x8d5ab7b4
+ name: "d_obtain_alias"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3e22d08f
+ type_id: 0x8a909712
+ full_name: "d_obtain_alias"
+}
+elf_symbol {
id: 0xccc25fc1
name: "d_path"
is_defined: true
@@ -337020,6 +347527,15 @@ elf_symbol {
full_name: "d_path"
}
elf_symbol {
+ id: 0xb96af991
+ name: "d_splice_alias"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2dc0ecfe
+ type_id: 0x8ad88211
+ full_name: "d_splice_alias"
+}
+elf_symbol {
id: 0xb771d13e
name: "dapm_clock_event"
is_defined: true
@@ -337060,7 +347576,7 @@ elf_symbol {
name: "datagram_poll"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa4bf0adb
+ crc: 0x4cdae0ba
type_id: 0x2545d8c8
full_name: "datagram_poll"
}
@@ -337087,7 +347603,7 @@ elf_symbol {
name: "deactivate_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0xed10361a
+ crc: 0xab0c473a
type_id: 0x1b7558dd
full_name: "deactivate_task"
}
@@ -337425,6 +347941,15 @@ elf_symbol {
full_name: "delayed_work_timer_fn"
}
elf_symbol {
+ id: 0x1ef313dc
+ name: "des_expand_key"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa8fb743d
+ type_id: 0x9133c6a6
+ full_name: "des_expand_key"
+}
+elf_symbol {
id: 0x67daf3cf
name: "desc_to_gpio"
is_defined: true
@@ -337447,7 +347972,7 @@ elf_symbol {
name: "dev_add_pack"
is_defined: true
symbol_type: FUNCTION
- crc: 0x83d6e318
+ crc: 0x609b674f
type_id: 0x15cafbab
full_name: "dev_add_pack"
}
@@ -337456,7 +347981,7 @@ elf_symbol {
name: "dev_addr_mod"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4954a8b2
+ crc: 0x08cfab32
type_id: 0x1d2a5bee
full_name: "dev_addr_mod"
}
@@ -337465,7 +347990,7 @@ elf_symbol {
name: "dev_alloc_name"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa666db99
+ crc: 0xf1291097
type_id: 0x91d1290e
full_name: "dev_alloc_name"
}
@@ -337483,7 +348008,7 @@ elf_symbol {
name: "dev_change_flags"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb559e929
+ crc: 0x585c1f37
type_id: 0x903e8974
full_name: "dev_change_flags"
}
@@ -337492,7 +348017,7 @@ elf_symbol {
name: "dev_close"
is_defined: true
symbol_type: FUNCTION
- crc: 0x79be2837
+ crc: 0x30a3c21b
type_id: 0x1c31d966
full_name: "dev_close"
}
@@ -337528,7 +348053,7 @@ elf_symbol {
name: "dev_driver_string"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4396756f
+ crc: 0x992067ae
type_id: 0x9dad8b1c
full_name: "dev_driver_string"
}
@@ -337537,7 +348062,7 @@ elf_symbol {
name: "dev_err_probe"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa7bd9f64
+ crc: 0x84311b34
type_id: 0x93f8ec59
full_name: "dev_err_probe"
}
@@ -337564,7 +348089,7 @@ elf_symbol {
name: "dev_get_by_index"
is_defined: true
symbol_type: FUNCTION
- crc: 0xee8e3d83
+ crc: 0xb5783cb2
type_id: 0xfec79391
full_name: "dev_get_by_index"
}
@@ -337573,7 +348098,7 @@ elf_symbol {
name: "dev_get_by_index_rcu"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6fbaebc4
+ crc: 0x98b0d070
type_id: 0xfec79391
full_name: "dev_get_by_index_rcu"
}
@@ -337582,7 +348107,7 @@ elf_symbol {
name: "dev_get_by_name"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcacdb54f
+ crc: 0xa9d5e9c6
type_id: 0xffa35209
full_name: "dev_get_by_name"
}
@@ -337591,7 +348116,7 @@ elf_symbol {
name: "dev_get_by_name_rcu"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc6c0df24
+ crc: 0x659759fa
type_id: 0xffa35209
full_name: "dev_get_by_name_rcu"
}
@@ -337600,7 +348125,7 @@ elf_symbol {
name: "dev_get_flags"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3914e95
+ crc: 0x80faba5e
type_id: 0xc23d0fef
full_name: "dev_get_flags"
}
@@ -337618,7 +348143,7 @@ elf_symbol {
name: "dev_get_stats"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcf15bbd9
+ crc: 0x6ee4ba67
type_id: 0x7370e0bf
full_name: "dev_get_stats"
}
@@ -337627,7 +348152,7 @@ elf_symbol {
name: "dev_get_tstats64"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2cd6133c
+ crc: 0x2aeaf871
type_id: 0x1c378d7a
full_name: "dev_get_tstats64"
}
@@ -337636,7 +348161,7 @@ elf_symbol {
name: "dev_getbyhwaddr_rcu"
is_defined: true
symbol_type: FUNCTION
- crc: 0x375a35a2
+ crc: 0xae67278c
type_id: 0xfc706cf5
full_name: "dev_getbyhwaddr_rcu"
}
@@ -337645,7 +348170,7 @@ elf_symbol {
name: "dev_getfirstbyhwtype"
is_defined: true
symbol_type: FUNCTION
- crc: 0x546f0ca0
+ crc: 0x4baeefa3
type_id: 0xfc7fe8d8
full_name: "dev_getfirstbyhwtype"
}
@@ -337654,7 +348179,7 @@ elf_symbol {
name: "dev_load"
is_defined: true
symbol_type: FUNCTION
- crc: 0x80f90e9e
+ crc: 0x1aa37d86
type_id: 0x13488e67
full_name: "dev_load"
}
@@ -337663,7 +348188,7 @@ elf_symbol {
name: "dev_mc_sync"
is_defined: true
symbol_type: FUNCTION
- crc: 0x17778d52
+ crc: 0x19c1118d
type_id: 0x91e3f355
full_name: "dev_mc_sync"
}
@@ -337672,7 +348197,7 @@ elf_symbol {
name: "dev_mc_sync_multiple"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0e6112cc
+ crc: 0x6368fe1b
type_id: 0x91e3f355
full_name: "dev_mc_sync_multiple"
}
@@ -337681,7 +348206,7 @@ elf_symbol {
name: "dev_mc_unsync"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4d6d3f97
+ crc: 0x06accf73
type_id: 0x1cfb41e9
full_name: "dev_mc_unsync"
}
@@ -337690,7 +348215,7 @@ elf_symbol {
name: "dev_nit_active"
is_defined: true
symbol_type: FUNCTION
- crc: 0xec2a2604
+ crc: 0x897fd5d9
type_id: 0xf20dd3f1
full_name: "dev_nit_active"
}
@@ -337699,7 +348224,7 @@ elf_symbol {
name: "dev_open"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2b5451d5
+ crc: 0x0b48e272
type_id: 0x913618b5
full_name: "dev_open"
}
@@ -337938,6 +348463,15 @@ elf_symbol {
full_name: "dev_pm_opp_get_sharing_cpus"
}
elf_symbol {
+ id: 0xe1beb7e3
+ name: "dev_pm_opp_get_supplies"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa27bcff7
+ type_id: 0x9b2efcfe
+ full_name: "dev_pm_opp_get_supplies"
+}
+elf_symbol {
id: 0x0d97ed87
name: "dev_pm_opp_get_suspend_opp_freq"
is_defined: true
@@ -338194,7 +348728,7 @@ elf_symbol {
name: "dev_printk_emit"
is_defined: true
symbol_type: FUNCTION
- crc: 0x02fac0bf
+ crc: 0x4aa5e88c
type_id: 0x84bb5eaa
full_name: "dev_printk_emit"
}
@@ -338203,7 +348737,7 @@ elf_symbol {
name: "dev_remove_pack"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcda14365
+ crc: 0x2bfff2a4
type_id: 0x15cafbab
full_name: "dev_remove_pack"
}
@@ -338212,7 +348746,7 @@ elf_symbol {
name: "dev_set_allmulti"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb40a9bc8
+ crc: 0x4ecd66ce
type_id: 0x90b5e896
full_name: "dev_set_allmulti"
}
@@ -338221,7 +348755,7 @@ elf_symbol {
name: "dev_set_mac_address"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb5e74cb1
+ crc: 0x0d98be8b
type_id: 0x91fbd1f6
full_name: "dev_set_mac_address"
}
@@ -338230,7 +348764,7 @@ elf_symbol {
name: "dev_set_mtu"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe9ca7b84
+ crc: 0x0793a2a4
type_id: 0x90b5e896
full_name: "dev_set_mtu"
}
@@ -338239,7 +348773,7 @@ elf_symbol {
name: "dev_set_name"
is_defined: true
symbol_type: FUNCTION
- crc: 0x84643373
+ crc: 0x0784f05c
type_id: 0x9dc7d522
full_name: "dev_set_name"
}
@@ -338248,7 +348782,7 @@ elf_symbol {
name: "dev_set_promiscuity"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0fe0d363
+ crc: 0xce576468
type_id: 0x90b5e896
full_name: "dev_set_promiscuity"
}
@@ -338257,7 +348791,7 @@ elf_symbol {
name: "dev_set_threaded"
is_defined: true
symbol_type: FUNCTION
- crc: 0x25e5c59c
+ crc: 0x91ca7518
type_id: 0x909c96a5
full_name: "dev_set_threaded"
}
@@ -338275,7 +348809,7 @@ elf_symbol {
name: "dev_uc_add"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa374269a
+ crc: 0x9ae58f51
type_id: 0x91c85a84
full_name: "dev_uc_add"
}
@@ -338284,7 +348818,7 @@ elf_symbol {
name: "dev_uc_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0x19962806
+ crc: 0xa8dd16a5
type_id: 0x91c85a84
full_name: "dev_uc_del"
}
@@ -338293,7 +348827,7 @@ elf_symbol {
name: "dev_uc_sync"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdab2afe8
+ crc: 0x0be53878
type_id: 0x91e3f355
full_name: "dev_uc_sync"
}
@@ -338302,7 +348836,7 @@ elf_symbol {
name: "dev_uc_sync_multiple"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5b2b80a2
+ crc: 0x2cdcbfac
type_id: 0x91e3f355
full_name: "dev_uc_sync_multiple"
}
@@ -338311,7 +348845,7 @@ elf_symbol {
name: "dev_uc_unsync"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8627f584
+ crc: 0x2dd550c3
type_id: 0x1cfb41e9
full_name: "dev_uc_unsync"
}
@@ -338320,7 +348854,7 @@ elf_symbol {
name: "dev_vprintk_emit"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc32c3e3b
+ crc: 0x629eb098
type_id: 0x84ba5d97
full_name: "dev_vprintk_emit"
}
@@ -338343,6 +348877,15 @@ elf_symbol {
full_name: "devfreq_add_governor"
}
elf_symbol {
+ id: 0x15eb01e7
+ name: "devfreq_cooling_em_register"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa153b759
+ type_id: 0x4132c986
+ full_name: "devfreq_cooling_em_register"
+}
+elf_symbol {
id: 0x647c0881
name: "devfreq_cooling_unregister"
is_defined: true
@@ -338352,6 +348895,51 @@ elf_symbol {
full_name: "devfreq_cooling_unregister"
}
elf_symbol {
+ id: 0x349b4e0a
+ name: "devfreq_event_disable_edev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf7add401
+ type_id: 0x9e08a6b2
+ full_name: "devfreq_event_disable_edev"
+}
+elf_symbol {
+ id: 0x11f117af
+ name: "devfreq_event_enable_edev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1a88e996
+ type_id: 0x9e08a6b2
+ full_name: "devfreq_event_enable_edev"
+}
+elf_symbol {
+ id: 0x781fabb2
+ name: "devfreq_event_get_edev_by_phandle"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x37666b78
+ type_id: 0xaa27b09c
+ full_name: "devfreq_event_get_edev_by_phandle"
+}
+elf_symbol {
+ id: 0xe2544e4d
+ name: "devfreq_event_get_edev_count"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2e31dce9
+ type_id: 0x9dee9fa0
+ full_name: "devfreq_event_get_edev_count"
+}
+elf_symbol {
+ id: 0xdd8da0cf
+ name: "devfreq_event_get_event"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9719d881
+ type_id: 0x9eb7f57a
+ full_name: "devfreq_event_get_event"
+}
+elf_symbol {
id: 0x19e74e36
name: "devfreq_get_devfreq_by_node"
is_defined: true
@@ -338482,7 +349070,7 @@ elf_symbol {
name: "device_add"
is_defined: true
symbol_type: FUNCTION
- crc: 0xddafb2b2
+ crc: 0xc47219a9
type_id: 0x9d16dd74
full_name: "device_add"
}
@@ -338500,7 +349088,7 @@ elf_symbol {
name: "device_add_groups"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5f636a09
+ crc: 0x74fd2cab
type_id: 0x9d0fd195
full_name: "device_add_groups"
}
@@ -338527,7 +349115,7 @@ elf_symbol {
name: "device_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe90fab74
+ crc: 0x6bc6324b
type_id: 0xa78fe504
full_name: "device_create"
}
@@ -338536,7 +349124,7 @@ elf_symbol {
name: "device_create_bin_file"
is_defined: true
symbol_type: FUNCTION
- crc: 0x769e552e
+ crc: 0x0b968d79
type_id: 0x9df7985b
full_name: "device_create_bin_file"
}
@@ -338545,7 +349133,7 @@ elf_symbol {
name: "device_create_file"
is_defined: true
symbol_type: FUNCTION
- crc: 0x37fac942
+ crc: 0xe25f59ab
type_id: 0x9de4ff9b
full_name: "device_create_file"
}
@@ -338563,7 +349151,7 @@ elf_symbol {
name: "device_create_with_groups"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb16dc129
+ crc: 0xa2675780
type_id: 0xa78fe955
full_name: "device_create_with_groups"
}
@@ -338572,7 +349160,7 @@ elf_symbol {
name: "device_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0xde4771c7
+ crc: 0x9a53602b
type_id: 0x100e6fc8
full_name: "device_del"
}
@@ -338581,7 +349169,7 @@ elf_symbol {
name: "device_destroy"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf6d827f6
+ crc: 0xc2569e41
type_id: 0x19a776c5
full_name: "device_destroy"
}
@@ -338590,16 +349178,25 @@ elf_symbol {
name: "device_find_child"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2d83d57e
+ crc: 0x07583eb2
type_id: 0xadd088bd
full_name: "device_find_child"
}
elf_symbol {
+ id: 0x01805ccc
+ name: "device_find_child_by_name"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfe92284a
+ type_id: 0xad414cb1
+ full_name: "device_find_child_by_name"
+}
+elf_symbol {
id: 0xd81e7ab3
name: "device_for_each_child"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaeb11fbd
+ crc: 0xe22fac99
type_id: 0x9d7f5bac
full_name: "device_for_each_child"
}
@@ -338608,7 +349205,7 @@ elf_symbol {
name: "device_for_each_child_reverse"
is_defined: true
symbol_type: FUNCTION
- crc: 0x19934c94
+ crc: 0x7d20bee7
type_id: 0x9d7f5bac
full_name: "device_for_each_child_reverse"
}
@@ -338635,7 +349232,7 @@ elf_symbol {
name: "device_get_mac_address"
is_defined: true
symbol_type: FUNCTION
- crc: 0xafc7ee00
+ crc: 0x682d72f7
type_id: 0x9d04d2ef
full_name: "device_get_mac_address"
}
@@ -338680,7 +349277,7 @@ elf_symbol {
name: "device_initialize"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbfe3934b
+ crc: 0x554e3ff5
type_id: 0x100e6fc8
full_name: "device_initialize"
}
@@ -338689,7 +349286,7 @@ elf_symbol {
name: "device_link_add"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1c1d0dfd
+ crc: 0x17336304
type_id: 0x60262630
full_name: "device_link_add"
}
@@ -338698,7 +349295,7 @@ elf_symbol {
name: "device_link_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1047dc7e
+ crc: 0xd99a7e16
type_id: 0x19ba6fc0
full_name: "device_link_del"
}
@@ -338707,7 +349304,7 @@ elf_symbol {
name: "device_link_remove"
is_defined: true
symbol_type: FUNCTION
- crc: 0x489690f8
+ crc: 0x421ad161
type_id: 0x16be6b3a
full_name: "device_link_remove"
}
@@ -338716,7 +349313,7 @@ elf_symbol {
name: "device_match_any"
is_defined: true
symbol_type: FUNCTION
- crc: 0x27b81d05
+ crc: 0x79bc2c09
type_id: 0x9df2a123
full_name: "device_match_any"
}
@@ -338725,7 +349322,7 @@ elf_symbol {
name: "device_match_fwnode"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf5d48fb3
+ crc: 0x18ab672f
type_id: 0x9df2a123
full_name: "device_match_fwnode"
}
@@ -338734,7 +349331,7 @@ elf_symbol {
name: "device_match_name"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfe556a46
+ crc: 0x4291b3e0
type_id: 0x9df2a123
full_name: "device_match_name"
}
@@ -338743,7 +349340,7 @@ elf_symbol {
name: "device_match_of_node"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb442a4e3
+ crc: 0x8afa5784
type_id: 0x9df2a123
full_name: "device_match_of_node"
}
@@ -338752,7 +349349,7 @@ elf_symbol {
name: "device_move"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8cff37e4
+ crc: 0xa20b010c
type_id: 0x9d26cfef
full_name: "device_move"
}
@@ -338793,6 +349390,15 @@ elf_symbol {
full_name: "device_property_read_string"
}
elf_symbol {
+ id: 0xe592ed14
+ name: "device_property_read_string_array"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1caa071f
+ type_id: 0x9dec0a70
+ full_name: "device_property_read_string_array"
+}
+elf_symbol {
id: 0x90a9db6c
name: "device_property_read_u16_array"
is_defined: true
@@ -338824,7 +349430,7 @@ elf_symbol {
name: "device_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x13058457
+ crc: 0x0fa063de
type_id: 0x9d16dd74
full_name: "device_register"
}
@@ -338842,7 +349448,7 @@ elf_symbol {
name: "device_remove_bin_file"
is_defined: true
symbol_type: FUNCTION
- crc: 0x83d058f5
+ crc: 0x4a5f012e
type_id: 0x10ef2ae7
full_name: "device_remove_bin_file"
}
@@ -338851,16 +349457,25 @@ elf_symbol {
name: "device_remove_file"
is_defined: true
symbol_type: FUNCTION
- crc: 0xadb04226
+ crc: 0x17678b2a
type_id: 0x10fc4d27
full_name: "device_remove_file"
}
elf_symbol {
+ id: 0x22e51db4
+ name: "device_remove_file_self"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7f6f4aa9
+ type_id: 0xfec047b0
+ full_name: "device_remove_file_self"
+}
+elf_symbol {
id: 0x5a62c5df
name: "device_remove_groups"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf700666d
+ crc: 0x702e1d06
type_id: 0x10176329
full_name: "device_remove_groups"
}
@@ -338869,16 +349484,25 @@ elf_symbol {
name: "device_rename"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0226bd30
+ crc: 0x7033f9f3
type_id: 0x9dee9fa0
full_name: "device_rename"
}
elf_symbol {
+ id: 0xa09675ab
+ name: "device_set_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3fd03b85
+ type_id: 0x101c2d25
+ full_name: "device_set_node"
+}
+elf_symbol {
id: 0xcdcce9e8
name: "device_set_of_node_from_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc04f47fe
+ crc: 0xdadf3a62
type_id: 0x10f0f603
full_name: "device_set_of_node_from_dev"
}
@@ -338905,7 +349529,7 @@ elf_symbol {
name: "device_show_bool"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcddd5adf
+ crc: 0xe3983df5
type_id: 0x145d7056
full_name: "device_show_bool"
}
@@ -338914,7 +349538,7 @@ elf_symbol {
name: "device_show_int"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf8f4b0e2
+ crc: 0x7fdafadd
type_id: 0x145d7056
full_name: "device_show_int"
}
@@ -338923,7 +349547,7 @@ elf_symbol {
name: "device_store_bool"
is_defined: true
symbol_type: FUNCTION
- crc: 0x404f9448
+ crc: 0xde719222
type_id: 0x14500457
full_name: "device_store_bool"
}
@@ -338932,7 +349556,7 @@ elf_symbol {
name: "device_store_int"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdc58b799
+ crc: 0xc054eae6
type_id: 0x14500457
full_name: "device_store_int"
}
@@ -338941,7 +349565,7 @@ elf_symbol {
name: "device_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb80da811
+ crc: 0xd6b17cf1
type_id: 0x100e6fc8
full_name: "device_unregister"
}
@@ -338964,6 +349588,150 @@ elf_symbol {
full_name: "device_wakeup_enable"
}
elf_symbol {
+ id: 0x884a3a76
+ name: "devlink_alloc_ns"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x81bd8c7b
+ type_id: 0x5bbe2188
+ full_name: "devlink_alloc_ns"
+}
+elf_symbol {
+ id: 0xb54be30e
+ name: "devlink_flash_update_status_notify"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x04c41c60
+ type_id: 0x1353a05d
+ full_name: "devlink_flash_update_status_notify"
+}
+elf_symbol {
+ id: 0xead962b7
+ name: "devlink_fmsg_binary_pair_nest_end"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5358864e
+ type_id: 0x9576eb91
+ full_name: "devlink_fmsg_binary_pair_nest_end"
+}
+elf_symbol {
+ id: 0xfb50f564
+ name: "devlink_fmsg_binary_pair_nest_start"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x11df0e75
+ type_id: 0x958ea945
+ full_name: "devlink_fmsg_binary_pair_nest_start"
+}
+elf_symbol {
+ id: 0xff600ca5
+ name: "devlink_fmsg_binary_put"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x15510a89
+ type_id: 0x95b6c4a9
+ full_name: "devlink_fmsg_binary_put"
+}
+elf_symbol {
+ id: 0x266ac51c
+ name: "devlink_free"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x660eb6bd
+ type_id: 0x13a4a7ac
+ full_name: "devlink_free"
+}
+elf_symbol {
+ id: 0xa8e06dd7
+ name: "devlink_health_report"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x93edef07
+ type_id: 0x928c1332
+ full_name: "devlink_health_report"
+}
+elf_symbol {
+ id: 0x52e65741
+ name: "devlink_health_reporter_create"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0d26f5c4
+ type_id: 0x2720cd28
+ full_name: "devlink_health_reporter_create"
+}
+elf_symbol {
+ id: 0x2069fc41
+ name: "devlink_health_reporter_destroy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x850bb6db
+ type_id: 0x1f6acc03
+ full_name: "devlink_health_reporter_destroy"
+}
+elf_symbol {
+ id: 0x0abe7457
+ name: "devlink_health_reporter_priv"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe40bb23e
+ type_id: 0x59642c61
+ full_name: "devlink_health_reporter_priv"
+}
+elf_symbol {
+ id: 0x70ca4fad
+ name: "devlink_health_reporter_state_update"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2b4509dd
+ type_id: 0x1f01387c
+ full_name: "devlink_health_reporter_state_update"
+}
+elf_symbol {
+ id: 0xa164371a
+ name: "devlink_priv"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6e3347ec
+ type_id: 0x55aa47ce
+ full_name: "devlink_priv"
+}
+elf_symbol {
+ id: 0xb4634233
+ name: "devlink_region_create"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6110ed39
+ type_id: 0xe97c10c0
+ full_name: "devlink_region_create"
+}
+elf_symbol {
+ id: 0x0a058c0b
+ name: "devlink_region_destroy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa410a295
+ type_id: 0x164ad64e
+ full_name: "devlink_region_destroy"
+}
+elf_symbol {
+ id: 0x5603c10b
+ name: "devlink_register"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc498bdc9
+ type_id: 0x13a4a7ac
+ full_name: "devlink_register"
+}
+elf_symbol {
+ id: 0x7520d018
+ name: "devlink_unregister"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x946c0028
+ type_id: 0x13a4a7ac
+ full_name: "devlink_unregister"
+}
+elf_symbol {
id: 0xde9ec7ca
name: "devm_add_action"
is_defined: true
@@ -338977,7 +349745,7 @@ elf_symbol {
name: "devm_alloc_etherdev_mqs"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd4186ec9
+ crc: 0x86360a75
type_id: 0xfd6947a6
full_name: "devm_alloc_etherdev_mqs"
}
@@ -339063,6 +349831,15 @@ elf_symbol {
full_name: "devm_clk_get_optional"
}
elf_symbol {
+ id: 0x8837a38c
+ name: "devm_clk_get_optional_enabled"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xab66b87e
+ type_id: 0xa671941e
+ full_name: "devm_clk_get_optional_enabled"
+}
+elf_symbol {
id: 0x0d9ec99a
name: "devm_clk_hw_register"
is_defined: true
@@ -339108,6 +349885,15 @@ elf_symbol {
full_name: "devm_devfreq_add_device"
}
elf_symbol {
+ id: 0xa4692a70
+ name: "devm_devfreq_event_add_edev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5d86691d
+ type_id: 0xaa9ceb0d
+ full_name: "devm_devfreq_event_add_edev"
+}
+elf_symbol {
id: 0x3afde7ec
name: "devm_devfreq_register_notifier"
is_defined: true
@@ -339117,6 +349903,15 @@ elf_symbol {
full_name: "devm_devfreq_register_notifier"
}
elf_symbol {
+ id: 0x6415475c
+ name: "devm_devfreq_register_opp_notifier"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7d3273ad
+ type_id: 0x9d8b7529
+ full_name: "devm_devfreq_register_opp_notifier"
+}
+elf_symbol {
id: 0x2bf23b7c
name: "devm_devfreq_remove_device"
is_defined: true
@@ -339139,7 +349934,7 @@ elf_symbol {
name: "devm_device_add_group"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3d592c9d
+ crc: 0xa6f886af
type_id: 0x9ddbed6b
full_name: "devm_device_add_group"
}
@@ -339148,7 +349943,7 @@ elf_symbol {
name: "devm_device_add_groups"
is_defined: true
symbol_type: FUNCTION
- crc: 0x50aa8ec9
+ crc: 0xbde0d8e2
type_id: 0x9d0fd195
full_name: "devm_device_add_groups"
}
@@ -339157,7 +349952,7 @@ elf_symbol {
name: "devm_device_remove_group"
is_defined: true
symbol_type: FUNCTION
- crc: 0x01104e78
+ crc: 0xec7eb28b
type_id: 0x10c35fd7
full_name: "devm_device_remove_group"
}
@@ -339225,6 +350020,15 @@ elf_symbol {
full_name: "devm_extcon_register_notifier"
}
elf_symbol {
+ id: 0xf4b697c0
+ name: "devm_extcon_register_notifier_all"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa0b271d0
+ type_id: 0x9d50188a
+ full_name: "devm_extcon_register_notifier_all"
+}
+elf_symbol {
id: 0x9218e37d
name: "devm_free_irq"
is_defined: true
@@ -339283,8 +350087,8 @@ elf_symbol {
name: "devm_gh_rm_register_platform_ops"
is_defined: true
symbol_type: FUNCTION
- crc: 0xec193d82
- type_id: 0x9def2541
+ crc: 0xe82ea1f9
+ type_id: 0x9dd4624b
full_name: "devm_gh_rm_register_platform_ops"
}
elf_symbol {
@@ -339342,6 +350146,15 @@ elf_symbol {
full_name: "devm_gpiod_get_index"
}
elf_symbol {
+ id: 0x241e9d4d
+ name: "devm_gpiod_get_index_optional"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf71fb74b
+ type_id: 0x5f3cfa16
+ full_name: "devm_gpiod_get_index_optional"
+}
+elf_symbol {
id: 0xf6b9516e
name: "devm_gpiod_get_optional"
is_defined: true
@@ -339513,6 +350326,15 @@ elf_symbol {
full_name: "devm_kasprintf"
}
elf_symbol {
+ id: 0x0abc683e
+ name: "devm_kasprintf_strarray"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd205a636
+ type_id: 0x0c5cd477
+ full_name: "devm_kasprintf_strarray"
+}
+elf_symbol {
id: 0x7c053015
name: "devm_kfree"
is_defined: true
@@ -339630,6 +350452,15 @@ elf_symbol {
full_name: "devm_memremap"
}
elf_symbol {
+ id: 0x86c1623f
+ name: "devm_memunmap"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd7fbf31f
+ type_id: 0x106c9a5c
+ full_name: "devm_memunmap"
+}
+elf_symbol {
id: 0x36e39cf6
name: "devm_mfd_add_devices"
is_defined: true
@@ -339747,6 +350578,15 @@ elf_symbol {
full_name: "devm_pci_alloc_host_bridge"
}
elf_symbol {
+ id: 0x92ffc2e2
+ name: "devm_pci_remap_cfg_resource"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x029de2b5
+ type_id: 0x56edbc2a
+ full_name: "devm_pci_remap_cfg_resource"
+}
+elf_symbol {
id: 0xd6e5f7c7
name: "devm_phy_create"
is_defined: true
@@ -339778,7 +350618,7 @@ elf_symbol {
name: "devm_phy_package_join"
is_defined: true
symbol_type: FUNCTION
- crc: 0x99b8f039
+ crc: 0xa13a8f37
type_id: 0x9dc91f17
full_name: "devm_phy_package_join"
}
@@ -340228,7 +351068,7 @@ elf_symbol {
name: "devm_usb_get_phy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x976fe01c
+ crc: 0x3b6c04cd
type_id: 0x8d63c458
full_name: "devm_usb_get_phy"
}
@@ -340237,7 +351077,7 @@ elf_symbol {
name: "devm_usb_get_phy_by_node"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaaf602d1
+ crc: 0x9225cdfb
type_id: 0x8f3f76d1
full_name: "devm_usb_get_phy_by_node"
}
@@ -340246,7 +351086,7 @@ elf_symbol {
name: "devm_usb_get_phy_by_phandle"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0093df2b
+ crc: 0x34248b5d
type_id: 0x8f1a42be
full_name: "devm_usb_get_phy_by_phandle"
}
@@ -340323,6 +351163,15 @@ elf_symbol {
full_name: "devres_remove_group"
}
elf_symbol {
+ id: 0x30dd6796
+ name: "disable_hardirq"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbd3fe1e3
+ type_id: 0xefc5028b
+ full_name: "disable_hardirq"
+}
+elf_symbol {
id: 0x573e2956
name: "disable_irq"
is_defined: true
@@ -340395,6 +351244,150 @@ elf_symbol {
full_name: "divider_round_rate_parent"
}
elf_symbol {
+ id: 0xf4cef372
+ name: "dm_bufio_client_create"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb08df2d2
+ type_id: 0x4b6ec637
+ full_name: "dm_bufio_client_create"
+}
+elf_symbol {
+ id: 0xa2bba96c
+ name: "dm_bufio_client_destroy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xeca7949e
+ type_id: 0x1bd82ebd
+ full_name: "dm_bufio_client_destroy"
+}
+elf_symbol {
+ id: 0x7848fa66
+ name: "dm_bufio_mark_buffer_dirty"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0ad0dc4f
+ type_id: 0x1a8f9ccc
+ full_name: "dm_bufio_mark_buffer_dirty"
+}
+elf_symbol {
+ id: 0x0db19b7a
+ name: "dm_bufio_new"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc0d7df85
+ type_id: 0x5e9421aa
+ full_name: "dm_bufio_new"
+}
+elf_symbol {
+ id: 0xed0adecd
+ name: "dm_bufio_read"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb04f56ab
+ type_id: 0x5e9421aa
+ full_name: "dm_bufio_read"
+}
+elf_symbol {
+ id: 0xd3ad47e6
+ name: "dm_bufio_release"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe6024e59
+ type_id: 0x1a8f9ccc
+ full_name: "dm_bufio_release"
+}
+elf_symbol {
+ id: 0x042d9e44
+ name: "dm_bufio_write_dirty_buffers"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa82b2066
+ type_id: 0x96c09c01
+ full_name: "dm_bufio_write_dirty_buffers"
+}
+elf_symbol {
+ id: 0x0991ae07
+ name: "dm_disk"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6c18061f
+ type_id: 0x47570b9f
+ full_name: "dm_disk"
+}
+elf_symbol {
+ id: 0x650e9b1f
+ name: "dm_get_device"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1e1791d7
+ type_id: 0x9221eee3
+ full_name: "dm_get_device"
+}
+elf_symbol {
+ id: 0xd360b11b
+ name: "dm_kobject_release"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x41e9f737
+ type_id: 0x1864769e
+ full_name: "dm_kobject_release"
+}
+elf_symbol {
+ id: 0x8c40514f
+ name: "dm_read_arg_group"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x39c74235
+ type_id: 0x926c5025
+ full_name: "dm_read_arg_group"
+}
+elf_symbol {
+ id: 0xe7718d4e
+ name: "dm_register_target"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x99f64a0c
+ type_id: 0x90085da5
+ full_name: "dm_register_target"
+}
+elf_symbol {
+ id: 0xb61b1afb
+ name: "dm_shift_arg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7d27e504
+ type_id: 0x98af9d1c
+ full_name: "dm_shift_arg"
+}
+elf_symbol {
+ id: 0xe96fb6a0
+ name: "dm_table_get_md"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xeba2f002
+ type_id: 0xa7436d37
+ full_name: "dm_table_get_md"
+}
+elf_symbol {
+ id: 0xf99054ab
+ name: "dm_table_get_mode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x925f0075
+ type_id: 0x11508453
+ full_name: "dm_table_get_mode"
+}
+elf_symbol {
+ id: 0x76f0e551
+ name: "dm_unregister_target"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x28405c27
+ type_id: 0x1d10ef19
+ full_name: "dm_unregister_target"
+}
+elf_symbol {
id: 0x6cb15207
name: "dma_alloc_attrs"
is_defined: true
@@ -340616,6 +351609,15 @@ elf_symbol {
full_name: "dma_buf_put"
}
elf_symbol {
+ id: 0x77d18a9c
+ name: "dma_buf_set_name"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x752c3098
+ type_id: 0xa7ea77a4
+ full_name: "dma_buf_set_name"
+}
+elf_symbol {
id: 0xd0deb542
name: "dma_buf_unmap_attachment"
is_defined: true
@@ -341052,6 +352054,15 @@ elf_symbol {
full_name: "dma_mmap_pages"
}
elf_symbol {
+ id: 0x843aec6c
+ name: "dma_need_sync"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcec723d1
+ type_id: 0xfdb2dd0c
+ full_name: "dma_need_sync"
+}
+elf_symbol {
id: 0xeb70c9c5
name: "dma_pool_alloc"
is_defined: true
@@ -341461,7 +352472,7 @@ elf_symbol {
name: "double_rq_lock"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb7b37d6f
+ crc: 0xdb32b18f
type_id: 0x1ba0fc33
full_name: "double_rq_lock"
}
@@ -341556,6 +352567,15 @@ elf_symbol {
full_name: "down_write_killable"
}
elf_symbol {
+ id: 0x626b81c7
+ name: "down_write_trylock"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd0e551cc
+ type_id: 0x9daf738f
+ full_name: "down_write_trylock"
+}
+elf_symbol {
id: 0x4a57b168
name: "downgrade_write"
is_defined: true
@@ -341691,6 +352711,15 @@ elf_symbol {
full_name: "drm_add_modes_noedid"
}
elf_symbol {
+ id: 0x7e8263f6
+ name: "drm_aperture_remove_conflicting_framebuffers"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa5abe6ba
+ type_id: 0xba97bb1d
+ full_name: "drm_aperture_remove_conflicting_framebuffers"
+}
+elf_symbol {
id: 0x588ab3fd
name: "drm_aperture_remove_conflicting_pci_framebuffers"
is_defined: true
@@ -342537,6 +353566,24 @@ elf_symbol {
full_name: "drm_bridge_detect"
}
elf_symbol {
+ id: 0x3ef0db06
+ name: "drm_bridge_get_edid"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdeb653ce
+ type_id: 0xc7bc0e4a
+ full_name: "drm_bridge_get_edid"
+}
+elf_symbol {
+ id: 0xc72378aa
+ name: "drm_bridge_get_modes"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8446a07e
+ type_id: 0x94dc0c27
+ full_name: "drm_bridge_get_modes"
+}
+elf_symbol {
id: 0xd82232b3
name: "drm_bridge_hpd_notify"
is_defined: true
@@ -342672,6 +353719,15 @@ elf_symbol {
full_name: "drm_connector_cleanup"
}
elf_symbol {
+ id: 0xf8bd92c8
+ name: "drm_connector_has_possible_encoder"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2e4b4a64
+ type_id: 0xf272e262
+ full_name: "drm_connector_has_possible_encoder"
+}
+elf_symbol {
id: 0x70b7d94b
name: "drm_connector_init"
is_defined: true
@@ -342816,6 +353872,15 @@ elf_symbol {
full_name: "drm_crtc_enable_color_mgmt"
}
elf_symbol {
+ id: 0x08309f5e
+ name: "drm_crtc_from_index"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x34429a5e
+ type_id: 0x45df5dd3
+ full_name: "drm_crtc_from_index"
+}
+elf_symbol {
id: 0x11e9361c
name: "drm_crtc_handle_vblank"
is_defined: true
@@ -343320,6 +354385,15 @@ elf_symbol {
full_name: "drm_format_info_block_width"
}
elf_symbol {
+ id: 0x4b9e6227
+ name: "drm_format_info_min_pitch"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6910e4cd
+ type_id: 0x5274946d
+ full_name: "drm_format_info_min_pitch"
+}
+elf_symbol {
id: 0x9c6b68f2
name: "drm_framebuffer_cleanup"
is_defined: true
@@ -343383,6 +354457,15 @@ elf_symbol {
full_name: "drm_gem_create_mmap_offset"
}
elf_symbol {
+ id: 0xd4d38d4c
+ name: "drm_gem_dmabuf_export"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9af5812d
+ type_id: 0x44b624d1
+ full_name: "drm_gem_dmabuf_export"
+}
+elf_symbol {
id: 0x81bdff8a
name: "drm_gem_dmabuf_mmap"
is_defined: true
@@ -343419,6 +354502,24 @@ elf_symbol {
full_name: "drm_gem_dmabuf_vunmap"
}
elf_symbol {
+ id: 0xac1aeaf0
+ name: "drm_gem_dumb_map_offset"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8220a182
+ type_id: 0x99e7b457
+ full_name: "drm_gem_dumb_map_offset"
+}
+elf_symbol {
+ id: 0x622cdd92
+ name: "drm_gem_fb_afbc_init"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x38ebad6a
+ type_id: 0x939f8199
+ full_name: "drm_gem_fb_afbc_init"
+}
+elf_symbol {
id: 0xc7970f23
name: "drm_gem_fb_begin_cpu_access"
is_defined: true
@@ -343464,6 +354565,15 @@ elf_symbol {
full_name: "drm_gem_fb_get_obj"
}
elf_symbol {
+ id: 0x585410d0
+ name: "drm_gem_fb_init_with_funcs"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x882550af
+ type_id: 0x938283cb
+ full_name: "drm_gem_fb_init_with_funcs"
+}
+elf_symbol {
id: 0xd4a13963
name: "drm_gem_fb_vmap"
is_defined: true
@@ -343509,6 +354619,15 @@ elf_symbol {
full_name: "drm_gem_handle_create"
}
elf_symbol {
+ id: 0xd32d7c35
+ name: "drm_gem_handle_delete"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x855a2628
+ type_id: 0x9a1d7c68
+ full_name: "drm_gem_handle_delete"
+}
+elf_symbol {
id: 0xf76bbee4
name: "drm_gem_lock_reservations"
is_defined: true
@@ -344139,6 +355258,15 @@ elf_symbol {
full_name: "drm_mm_remove_node"
}
elf_symbol {
+ id: 0xd0dd3133
+ name: "drm_mm_reserve_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2754dad8
+ type_id: 0x974e1bca
+ full_name: "drm_mm_reserve_node"
+}
+elf_symbol {
id: 0x3b867568
name: "drm_mm_scan_add_block"
is_defined: true
@@ -344283,6 +355411,15 @@ elf_symbol {
full_name: "drm_mode_create_tile_group"
}
elf_symbol {
+ id: 0x0d3b6723
+ name: "drm_mode_create_tv_properties"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x30d9d722
+ type_id: 0x9258444e
+ full_name: "drm_mode_create_tv_properties"
+}
+elf_symbol {
id: 0x58b810bd
name: "drm_mode_crtc_set_gamma_size"
is_defined: true
@@ -344346,6 +355483,15 @@ elf_symbol {
full_name: "drm_mode_find_dmt"
}
elf_symbol {
+ id: 0xc3ae75b9
+ name: "drm_mode_is_420"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8c35d2cf
+ type_id: 0xf10b3730
+ full_name: "drm_mode_is_420"
+}
+elf_symbol {
id: 0xca851619
name: "drm_mode_is_420_also"
is_defined: true
@@ -344445,6 +355591,33 @@ elf_symbol {
full_name: "drm_mode_sort"
}
elf_symbol {
+ id: 0x003f0aec
+ name: "drm_mode_validate_driver"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x952d25ca
+ type_id: 0xb13e733c
+ full_name: "drm_mode_validate_driver"
+}
+elf_symbol {
+ id: 0x43bb72ae
+ name: "drm_mode_validate_size"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd7a9cf42
+ type_id: 0xb3cfd554
+ full_name: "drm_mode_validate_size"
+}
+elf_symbol {
+ id: 0x49fd657a
+ name: "drm_mode_validate_ycbcr420"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcb2c6fb3
+ type_id: 0xb28c48b5
+ full_name: "drm_mode_validate_ycbcr420"
+}
+elf_symbol {
id: 0x4e6bfabc
name: "drm_mode_vrefresh"
is_defined: true
@@ -344589,6 +355762,15 @@ elf_symbol {
full_name: "drm_of_component_probe"
}
elf_symbol {
+ id: 0xdb6eae3a
+ name: "drm_of_crtc_port_mask"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf557a5fd
+ type_id: 0x3d0f6874
+ full_name: "drm_of_crtc_port_mask"
+}
+elf_symbol {
id: 0x122e3e9f
name: "drm_of_encoder_active_endpoint"
is_defined: true
@@ -344823,6 +356005,15 @@ elf_symbol {
full_name: "drm_plane_enable_fb_damage_clips"
}
elf_symbol {
+ id: 0xf06cd4b3
+ name: "drm_plane_from_index"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1555a37a
+ type_id: 0xfee76c7c
+ full_name: "drm_plane_from_index"
+}
+elf_symbol {
id: 0x8984b2e1
name: "drm_poll"
is_defined: true
@@ -344967,6 +356158,15 @@ elf_symbol {
full_name: "drm_property_create_enum"
}
elf_symbol {
+ id: 0x8d62d3e1
+ name: "drm_property_create_object"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6e0229f2
+ type_id: 0x9b723218
+ full_name: "drm_property_create_object"
+}
+elf_symbol {
id: 0x7a4db2f9
name: "drm_property_create_range"
is_defined: true
@@ -345012,6 +356212,15 @@ elf_symbol {
full_name: "drm_property_replace_blob"
}
elf_symbol {
+ id: 0x4cf5ba17
+ name: "drm_property_replace_global_blob"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd2ff27b8
+ type_id: 0x93625762
+ full_name: "drm_property_replace_global_blob"
+}
+elf_symbol {
id: 0x9718e72e
name: "drm_puts"
is_defined: true
@@ -345129,6 +356338,15 @@ elf_symbol {
full_name: "drm_send_event_locked"
}
elf_symbol {
+ id: 0xb701b4b1
+ name: "drm_send_event_timestamp_locked"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2e16a8ee
+ type_id: 0x1e4106e1
+ full_name: "drm_send_event_timestamp_locked"
+}
+elf_symbol {
id: 0x19652f5f
name: "drm_set_preferred_mode"
is_defined: true
@@ -345354,6 +356572,15 @@ elf_symbol {
full_name: "drmm_mode_config_init"
}
elf_symbol {
+ id: 0x4dae13e9
+ name: "drop_nlink"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4c7bc8cb
+ type_id: 0x167935b9
+ full_name: "drop_nlink"
+}
+elf_symbol {
id: 0xe2b96ffd
name: "dst_cache_destroy"
is_defined: true
@@ -345367,7 +356594,7 @@ elf_symbol {
name: "dst_cache_get"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd7e92c4a
+ crc: 0x6afc552f
type_id: 0xaba1c9dd
full_name: "dst_cache_get"
}
@@ -345385,7 +356612,7 @@ elf_symbol {
name: "dst_cache_set_ip4"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb7a6c8fe
+ crc: 0x633308af
type_id: 0x1aa3070d
full_name: "dst_cache_set_ip4"
}
@@ -345394,7 +356621,7 @@ elf_symbol {
name: "dst_cache_set_ip6"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7fb4e4c7
+ crc: 0x36de37e2
type_id: 0x1a954b21
full_name: "dst_cache_set_ip6"
}
@@ -345403,11 +356630,20 @@ elf_symbol {
name: "dst_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0x65c33bca
+ crc: 0x5fc9451b
type_id: 0x140e294e
full_name: "dst_release"
}
elf_symbol {
+ id: 0xe09fd784
+ name: "dummy_irq_chip"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x06ae18cc
+ type_id: 0xadd7ccb6
+ full_name: "dummy_irq_chip"
+}
+elf_symbol {
id: 0xded28924
name: "dump_backtrace"
is_defined: true
@@ -345480,6 +356716,15 @@ elf_symbol {
full_name: "dw_pcie_find_capability"
}
elf_symbol {
+ id: 0xdc24b796
+ name: "dw_pcie_find_ext_capability"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8adbc3f0
+ type_id: 0x0ec08f0d
+ full_name: "dw_pcie_find_ext_capability"
+}
+elf_symbol {
id: 0xb8395a3e
name: "dw_pcie_host_init"
is_defined: true
@@ -345489,6 +356734,15 @@ elf_symbol {
full_name: "dw_pcie_host_init"
}
elf_symbol {
+ id: 0xa625950b
+ name: "dw_pcie_link_up"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9b8ebc8e
+ type_id: 0x92ce345a
+ full_name: "dw_pcie_link_up"
+}
+elf_symbol {
id: 0x9d898d75
name: "dw_pcie_own_conf_map_bus"
is_defined: true
@@ -345628,7 +356882,7 @@ elf_symbol {
name: "ehci_hub_control"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf1b90003
+ crc: 0xe3d27c64
type_id: 0x96bdc834
full_name: "ehci_hub_control"
}
@@ -345637,7 +356891,7 @@ elf_symbol {
name: "ehci_init_driver"
is_defined: true
symbol_type: FUNCTION
- crc: 0xac1a1e84
+ crc: 0xa8b764d0
type_id: 0x14fbfe19
full_name: "ehci_init_driver"
}
@@ -345646,7 +356900,7 @@ elf_symbol {
name: "ehci_setup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6864e54e
+ crc: 0xd2d2139c
type_id: 0x94deebf7
full_name: "ehci_setup"
}
@@ -345804,6 +357058,24 @@ elf_symbol {
full_name: "end_buffer_read_sync"
}
elf_symbol {
+ id: 0x45c0e0ad
+ name: "end_buffer_write_sync"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7207a9fa
+ type_id: 0x17592b81
+ full_name: "end_buffer_write_sync"
+}
+elf_symbol {
+ id: 0xf7fd2915
+ name: "end_page_writeback"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd203f7c4
+ type_id: 0x11388634
+ full_name: "end_page_writeback"
+}
+elf_symbol {
id: 0x7b9ffce9
name: "errno_to_blk_status"
is_defined: true
@@ -345813,11 +357085,20 @@ elf_symbol {
full_name: "errno_to_blk_status"
}
elf_symbol {
+ id: 0xe506b877
+ name: "errseq_set"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2ec6bba0
+ type_id: 0xb55dce02
+ full_name: "errseq_set"
+}
+elf_symbol {
id: 0xda116c83
name: "eth_commit_mac_addr_change"
is_defined: true
symbol_type: FUNCTION
- crc: 0x316fa371
+ crc: 0x87ccc33e
type_id: 0x1c532cf2
full_name: "eth_commit_mac_addr_change"
}
@@ -345826,7 +357107,7 @@ elf_symbol {
name: "eth_header"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7f371071
+ crc: 0x4e4cbc45
type_id: 0x9c2b054b
full_name: "eth_header"
}
@@ -345835,7 +357116,7 @@ elf_symbol {
name: "eth_header_cache"
is_defined: true
symbol_type: FUNCTION
- crc: 0x552c2d8e
+ crc: 0x0d78f33b
type_id: 0x92d3b873
full_name: "eth_header_cache"
}
@@ -345844,7 +357125,7 @@ elf_symbol {
name: "eth_header_cache_update"
is_defined: true
symbol_type: FUNCTION
- crc: 0x68c5a39e
+ crc: 0x8fab9a49
type_id: 0x139004c0
full_name: "eth_header_cache_update"
}
@@ -345853,7 +357134,7 @@ elf_symbol {
name: "eth_header_parse"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc242e7a9
+ crc: 0xf081da3d
type_id: 0x926fc724
full_name: "eth_header_parse"
}
@@ -345862,7 +357143,7 @@ elf_symbol {
name: "eth_mac_addr"
is_defined: true
symbol_type: FUNCTION
- crc: 0x76c483a0
+ crc: 0x6f314653
type_id: 0x914b9e4e
full_name: "eth_mac_addr"
}
@@ -345871,7 +357152,7 @@ elf_symbol {
name: "eth_platform_get_mac_address"
is_defined: true
symbol_type: FUNCTION
- crc: 0x33a1bc7f
+ crc: 0x9576cab2
type_id: 0x9d15c1e0
full_name: "eth_platform_get_mac_address"
}
@@ -345880,7 +357161,7 @@ elf_symbol {
name: "eth_prepare_mac_addr_change"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8357eae7
+ crc: 0xe16ceb0a
type_id: 0x914b9e4e
full_name: "eth_prepare_mac_addr_change"
}
@@ -345889,7 +357170,7 @@ elf_symbol {
name: "eth_type_trans"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9598ecff
+ crc: 0xa3a49e39
type_id: 0xe323faf8
full_name: "eth_type_trans"
}
@@ -345898,7 +357179,7 @@ elf_symbol {
name: "eth_validate_addr"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2fc97ef0
+ crc: 0xd0c4e253
type_id: 0x91296bda
full_name: "eth_validate_addr"
}
@@ -345907,7 +357188,7 @@ elf_symbol {
name: "ether_setup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x718cef00
+ crc: 0x46c7e5b5
type_id: 0x1c31d966
full_name: "ether_setup"
}
@@ -345916,7 +357197,7 @@ elf_symbol {
name: "ethnl_cable_test_fault_length"
is_defined: true
symbol_type: FUNCTION
- crc: 0x26021597
+ crc: 0x8f057bce
type_id: 0x914a78cc
full_name: "ethnl_cable_test_fault_length"
}
@@ -345925,7 +357206,7 @@ elf_symbol {
name: "ethnl_cable_test_result"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5f7e0d4b
+ crc: 0x1c546292
type_id: 0x91726dda
full_name: "ethnl_cable_test_result"
}
@@ -345952,7 +357233,7 @@ elf_symbol {
name: "ethtool_op_get_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7246bc6c
+ crc: 0xb5a62b42
type_id: 0x4951a397
full_name: "ethtool_op_get_link"
}
@@ -345961,7 +357242,7 @@ elf_symbol {
name: "ethtool_op_get_ts_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0x256a0525
+ crc: 0x59d7903f
type_id: 0x916bd4e5
full_name: "ethtool_op_get_ts_info"
}
@@ -345979,7 +357260,7 @@ elf_symbol {
name: "ethtool_virtdev_set_link_ksettings"
is_defined: true
symbol_type: FUNCTION
- crc: 0x079139fd
+ crc: 0xc50f93aa
type_id: 0x91c2a80b
full_name: "ethtool_virtdev_set_link_ksettings"
}
@@ -346119,6 +357400,15 @@ elf_symbol {
full_name: "extcon_set_property_capability"
}
elf_symbol {
+ id: 0xb1dfbb02
+ name: "extcon_set_property_sync"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x710595c3
+ type_id: 0x98850898
+ full_name: "extcon_set_property_sync"
+}
+elf_symbol {
id: 0xacc42253
name: "extcon_set_state"
is_defined: true
@@ -346137,6 +357427,15 @@ elf_symbol {
full_name: "extcon_set_state_sync"
}
elf_symbol {
+ id: 0xad3eb214
+ name: "extcon_sync"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7893b9d4
+ type_id: 0x989473cc
+ full_name: "extcon_sync"
+}
+elf_symbol {
id: 0xb107d2cd
name: "extcon_unregister_notifier"
is_defined: true
@@ -346155,6 +357454,24 @@ elf_symbol {
full_name: "fasync_helper"
}
elf_symbol {
+ id: 0xc56006c7
+ name: "fault_in_iov_iter_readable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd085a60d
+ type_id: 0x99d43279
+ full_name: "fault_in_iov_iter_readable"
+}
+elf_symbol {
+ id: 0x639b2403
+ name: "fault_in_safe_writeable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf394f7da
+ type_id: 0x9b6b31b5
+ full_name: "fault_in_safe_writeable"
+}
+elf_symbol {
id: 0xbbfb394e
name: "fb_get_options"
is_defined: true
@@ -346177,7 +357494,7 @@ elf_symbol {
name: "fd_install"
is_defined: true
symbol_type: FUNCTION
- crc: 0x66037067
+ crc: 0xd94e18fc
type_id: 0x019aa1b7
full_name: "fd_install"
}
@@ -346186,11 +357503,38 @@ elf_symbol {
name: "fget"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8f62589f
+ crc: 0x314a6896
type_id: 0x50f3b181
full_name: "fget"
}
elf_symbol {
+ id: 0xab45f2a8
+ name: "fiemap_fill_next_extent"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x970a3f8f
+ type_id: 0x92ab0d8f
+ full_name: "fiemap_fill_next_extent"
+}
+elf_symbol {
+ id: 0x41eed79f
+ name: "fiemap_prep"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x12888fc3
+ type_id: 0x9b91dcee
+ full_name: "fiemap_prep"
+}
+elf_symbol {
+ id: 0xcdc0fffd
+ name: "file_check_and_advance_wb_err"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x247050da
+ type_id: 0x9bba7997
+ full_name: "file_check_and_advance_wb_err"
+}
+elf_symbol {
id: 0xe7aacfe5
name: "file_path"
is_defined: true
@@ -346209,6 +357553,24 @@ elf_symbol {
full_name: "file_ra_state_init"
}
elf_symbol {
+ id: 0x99b0f07b
+ name: "file_remove_privs"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7adb4755
+ type_id: 0x9bba7997
+ full_name: "file_remove_privs"
+}
+elf_symbol {
+ id: 0xffbe24f4
+ name: "file_update_time"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf206510a
+ type_id: 0x9bba7997
+ full_name: "file_update_time"
+}
+elf_symbol {
id: 0x46b6e531
name: "file_write_and_wait_range"
is_defined: true
@@ -346218,6 +357580,78 @@ elf_symbol {
full_name: "file_write_and_wait_range"
}
elf_symbol {
+ id: 0xbe28ee32
+ name: "filemap_add_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x42f25711
+ type_id: 0x986a916d
+ full_name: "filemap_add_folio"
+}
+elf_symbol {
+ id: 0x4927c9f3
+ name: "filemap_dirty_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa4ca0b75
+ type_id: 0xfb413284
+ full_name: "filemap_dirty_folio"
+}
+elf_symbol {
+ id: 0x50a5072e
+ name: "filemap_fault"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6ea71511
+ type_id: 0xcee4fe8d
+ full_name: "filemap_fault"
+}
+elf_symbol {
+ id: 0xef606c3f
+ name: "filemap_fdatawait_range"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x021f318f
+ type_id: 0x98773f07
+ full_name: "filemap_fdatawait_range"
+}
+elf_symbol {
+ id: 0x3289d59f
+ name: "filemap_fdatawrite"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd20a8cfb
+ type_id: 0x98e049ee
+ full_name: "filemap_fdatawrite"
+}
+elf_symbol {
+ id: 0x82b19820
+ name: "filemap_fdatawrite_range"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x99f56961
+ type_id: 0x98773f07
+ full_name: "filemap_fdatawrite_range"
+}
+elf_symbol {
+ id: 0x7c937fc2
+ name: "filemap_flush"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x12f67935
+ type_id: 0x98e049ee
+ full_name: "filemap_flush"
+}
+elf_symbol {
+ id: 0xc7c68a05
+ name: "filemap_write_and_wait_range"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x44a9ebe6
+ type_id: 0x98773f07
+ full_name: "filemap_write_and_wait_range"
+}
+elf_symbol {
id: 0xb9dc79d0
name: "filp_close"
is_defined: true
@@ -346249,7 +357683,7 @@ elf_symbol {
name: "find_get_pid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x69763433
+ crc: 0xa1aafdfe
type_id: 0x3a251008
full_name: "find_get_pid"
}
@@ -346258,7 +357692,7 @@ elf_symbol {
name: "find_pid_ns"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7d0cb4c1
+ crc: 0x93c5ba17
type_id: 0x31ab6254
full_name: "find_pid_ns"
}
@@ -346267,7 +357701,7 @@ elf_symbol {
name: "find_task_by_vpid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8bca0f66
+ crc: 0x5cd583b1
type_id: 0x69238486
full_name: "find_task_by_vpid"
}
@@ -346303,7 +357737,7 @@ elf_symbol {
name: "find_vpid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x546f0f9d
+ crc: 0xaf95aaf5
type_id: 0x318306ba
full_name: "find_vpid"
}
@@ -346348,7 +357782,7 @@ elf_symbol {
name: "flow_block_cb_setup_simple"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6168a7e6
+ crc: 0x3a4f824a
type_id: 0x9c25419d
full_name: "flow_block_cb_setup_simple"
}
@@ -346366,7 +357800,7 @@ elf_symbol {
name: "flow_rule_match_basic"
is_defined: true
symbol_type: FUNCTION
- crc: 0x524409f8
+ crc: 0x8668d6e5
type_id: 0x1de80b22
full_name: "flow_rule_match_basic"
}
@@ -346375,7 +357809,7 @@ elf_symbol {
name: "flow_rule_match_ipv4_addrs"
is_defined: true
symbol_type: FUNCTION
- crc: 0x19d53c1f
+ crc: 0x97a50d1a
type_id: 0x1d3f8bd2
full_name: "flow_rule_match_ipv4_addrs"
}
@@ -346384,7 +357818,7 @@ elf_symbol {
name: "flow_rule_match_ports"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7300b876
+ crc: 0x8a2974d9
type_id: 0x1d4e9dab
full_name: "flow_rule_match_ports"
}
@@ -346393,7 +357827,7 @@ elf_symbol {
name: "flow_rule_match_vlan"
is_defined: true
symbol_type: FUNCTION
- crc: 0x13572ff9
+ crc: 0x7fd7364a
type_id: 0x1d4435ec
full_name: "flow_rule_match_vlan"
}
@@ -346434,6 +357868,33 @@ elf_symbol {
full_name: "flush_work"
}
elf_symbol {
+ id: 0x06c58be7
+ name: "folio_add_lru"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x42a88286
+ type_id: 0x18c46588
+ full_name: "folio_add_lru"
+}
+elf_symbol {
+ id: 0x159a69a3
+ name: "folio_mapping"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xad0ae85f
+ type_id: 0x637004ab
+ full_name: "folio_mapping"
+}
+elf_symbol {
+ id: 0x39840ab2
+ name: "folio_referenced"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6114128f
+ type_id: 0x94471ba6
+ full_name: "folio_referenced"
+}
+elf_symbol {
id: 0x3dca9a13
name: "folio_wait_bit"
is_defined: true
@@ -346443,6 +357904,15 @@ elf_symbol {
full_name: "folio_wait_bit"
}
elf_symbol {
+ id: 0x07508208
+ name: "folio_write_one"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x198f6eb0
+ type_id: 0x95dcd734
+ full_name: "folio_write_one"
+}
+elf_symbol {
id: 0xcb14b5cc
name: "follow_pfn"
is_defined: true
@@ -346479,6 +357949,15 @@ elf_symbol {
full_name: "fortify_panic"
}
elf_symbol {
+ id: 0x5c388f41
+ name: "fpsimd_context_busy"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x535be82a
+ type_id: 0x6d7f5ff6
+ full_name: "fpsimd_context_busy"
+}
+elf_symbol {
id: 0x93b9959a
name: "fput"
is_defined: true
@@ -346492,7 +357971,7 @@ elf_symbol {
name: "fqdir_exit"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcce67b0f
+ crc: 0x09580062
type_id: 0x13c2822b
full_name: "fqdir_exit"
}
@@ -346501,7 +357980,7 @@ elf_symbol {
name: "fqdir_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0x75215dfe
+ crc: 0x2f71efdb
type_id: 0x9ffb698d
full_name: "fqdir_init"
}
@@ -346546,7 +358025,7 @@ elf_symbol {
name: "free_candev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe5ba89d4
+ crc: 0x97d0a2dd
type_id: 0x1c31d966
full_name: "free_candev"
}
@@ -346560,6 +358039,15 @@ elf_symbol {
full_name: "free_io_pgtable_ops"
}
elf_symbol {
+ id: 0x998ad938
+ name: "free_iova_fast"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdd8c10f6
+ type_id: 0x1fb862d7
+ full_name: "free_iova_fast"
+}
+elf_symbol {
id: 0x27e49ce0
name: "free_irq"
is_defined: true
@@ -346573,7 +358061,7 @@ elf_symbol {
name: "free_netdev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4a4ba2c9
+ crc: 0xb5769105
type_id: 0x1c31d966
full_name: "free_netdev"
}
@@ -346758,6 +358246,15 @@ elf_symbol {
full_name: "fsg_config_from_params"
}
elf_symbol {
+ id: 0xe7fde0db
+ name: "fsnotify"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x382d8219
+ type_id: 0xa4f69947
+ full_name: "fsnotify"
+}
+elf_symbol {
id: 0xee139066
name: "fsync_bdev"
is_defined: true
@@ -346785,6 +358282,15 @@ elf_symbol {
full_name: "full_name_hash"
}
elf_symbol {
+ id: 0xc35e482b
+ name: "fwnode_create_software_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf7a29e9c
+ type_id: 0x34270f0c
+ full_name: "fwnode_create_software_node"
+}
+elf_symbol {
id: 0x53816b02
name: "fwnode_device_is_available"
is_defined: true
@@ -346830,6 +358336,15 @@ elf_symbol {
full_name: "fwnode_get_next_child_node"
}
elf_symbol {
+ id: 0xff713254
+ name: "fwnode_get_phy_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd42ed8cf
+ type_id: 0x3842a55f
+ full_name: "fwnode_get_phy_node"
+}
+elf_symbol {
id: 0x02e45228
name: "fwnode_gpiod_get_index"
is_defined: true
@@ -347163,6 +358678,24 @@ elf_symbol {
full_name: "generic_device_group"
}
elf_symbol {
+ id: 0xe21d8d05
+ name: "generic_error_remove_page"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xae4d8a76
+ type_id: 0x98fa4494
+ full_name: "generic_error_remove_page"
+}
+elf_symbol {
+ id: 0x338cfb0f
+ name: "generic_file_direct_write"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x552bc0af
+ type_id: 0x16637235
+ full_name: "generic_file_direct_write"
+}
+elf_symbol {
id: 0x94b60724
name: "generic_file_llseek"
is_defined: true
@@ -347172,6 +358705,24 @@ elf_symbol {
full_name: "generic_file_llseek"
}
elf_symbol {
+ id: 0x6ac5d61b
+ name: "generic_file_mmap"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe3415064
+ type_id: 0x9b923492
+ full_name: "generic_file_mmap"
+}
+elf_symbol {
+ id: 0x54756210
+ name: "generic_file_open"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x62233d3d
+ type_id: 0x9b022eae
+ full_name: "generic_file_open"
+}
+elf_symbol {
id: 0x5ec3daa8
name: "generic_file_read_iter"
is_defined: true
@@ -347181,6 +358732,24 @@ elf_symbol {
full_name: "generic_file_read_iter"
}
elf_symbol {
+ id: 0x5530f759
+ name: "generic_file_splice_read"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa2e84b5f
+ type_id: 0x12c79320
+ full_name: "generic_file_splice_read"
+}
+elf_symbol {
+ id: 0x3812bb22
+ name: "generic_fillattr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb418cdc6
+ type_id: 0x13184981
+ full_name: "generic_fillattr"
+}
+elf_symbol {
id: 0x2f7205ee
name: "generic_handle_domain_irq"
is_defined: true
@@ -347203,7 +358772,7 @@ elf_symbol {
name: "generic_mii_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2b86aba5
+ crc: 0x47ee41ec
type_id: 0x99c885a2
full_name: "generic_mii_ioctl"
}
@@ -347217,6 +358786,15 @@ elf_symbol {
full_name: "generic_perform_write"
}
elf_symbol {
+ id: 0x4c4073c3
+ name: "generic_read_dir"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x91cfdae1
+ type_id: 0x12e4741f
+ full_name: "generic_read_dir"
+}
+elf_symbol {
id: 0x798f83da
name: "generic_shutdown_super"
is_defined: true
@@ -347374,7 +358952,7 @@ elf_symbol {
name: "genl_notify"
is_defined: true
symbol_type: FUNCTION
- crc: 0x64dc741f
+ crc: 0x152db970
type_id: 0x1c9aeba3
full_name: "genl_notify"
}
@@ -347383,7 +358961,7 @@ elf_symbol {
name: "genl_register_family"
is_defined: true
symbol_type: FUNCTION
- crc: 0x24a941c5
+ crc: 0x1b998c98
type_id: 0x92d3febd
full_name: "genl_register_family"
}
@@ -347392,7 +358970,7 @@ elf_symbol {
name: "genl_unregister_family"
is_defined: true
symbol_type: FUNCTION
- crc: 0x40ab01d8
+ crc: 0xfc6fbbba
type_id: 0x91983762
full_name: "genl_unregister_family"
}
@@ -347401,7 +358979,7 @@ elf_symbol {
name: "genlmsg_multicast_allns"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5c159fe7
+ crc: 0xa112607c
type_id: 0x91be62b0
full_name: "genlmsg_multicast_allns"
}
@@ -347410,7 +358988,7 @@ elf_symbol {
name: "genlmsg_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0x935611e8
+ crc: 0x21eefe5b
type_id: 0x54d3d1f1
full_name: "genlmsg_put"
}
@@ -347419,7 +358997,7 @@ elf_symbol {
name: "genphy_c37_config_aneg"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcddb894a
+ crc: 0x1ec7e28e
type_id: 0x91dd4b0e
full_name: "genphy_c37_config_aneg"
}
@@ -347428,7 +359006,7 @@ elf_symbol {
name: "genphy_c37_read_status"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbffd78de
+ crc: 0x3f51f348
type_id: 0x91dd4b0e
full_name: "genphy_c37_read_status"
}
@@ -347455,7 +359033,7 @@ elf_symbol {
name: "genphy_handle_interrupt_no_ack"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe7eddfc5
+ crc: 0x3dab897c
type_id: 0x2e992cc0
full_name: "genphy_handle_interrupt_no_ack"
}
@@ -347464,7 +359042,7 @@ elf_symbol {
name: "genphy_read_abilities"
is_defined: true
symbol_type: FUNCTION
- crc: 0x76887cc2
+ crc: 0x4675693b
type_id: 0x91dd4b0e
full_name: "genphy_read_abilities"
}
@@ -347473,7 +359051,7 @@ elf_symbol {
name: "genphy_read_lpa"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcd4462ad
+ crc: 0x812c058e
type_id: 0x91dd4b0e
full_name: "genphy_read_lpa"
}
@@ -347482,7 +359060,7 @@ elf_symbol {
name: "genphy_read_mmd_unsupported"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3c5544b7
+ crc: 0x4e73c6ff
type_id: 0x90659b2d
full_name: "genphy_read_mmd_unsupported"
}
@@ -347491,7 +359069,7 @@ elf_symbol {
name: "genphy_read_status"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb6097491
+ crc: 0x7d119744
type_id: 0x91dd4b0e
full_name: "genphy_read_status"
}
@@ -347500,7 +359078,7 @@ elf_symbol {
name: "genphy_restart_aneg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x86be4593
+ crc: 0x7fdf7cab
type_id: 0x91dd4b0e
full_name: "genphy_restart_aneg"
}
@@ -347509,7 +359087,7 @@ elf_symbol {
name: "genphy_resume"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9a21588b
+ crc: 0x8ca306fa
type_id: 0x91dd4b0e
full_name: "genphy_resume"
}
@@ -347518,7 +359096,7 @@ elf_symbol {
name: "genphy_setup_forced"
is_defined: true
symbol_type: FUNCTION
- crc: 0x91ced987
+ crc: 0xb8fd2b35
type_id: 0x91dd4b0e
full_name: "genphy_setup_forced"
}
@@ -347527,7 +359105,7 @@ elf_symbol {
name: "genphy_soft_reset"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5b000ce4
+ crc: 0xcceac2c4
type_id: 0x91dd4b0e
full_name: "genphy_soft_reset"
}
@@ -347536,7 +359114,7 @@ elf_symbol {
name: "genphy_suspend"
is_defined: true
symbol_type: FUNCTION
- crc: 0x21cc44f7
+ crc: 0x6af8794f
type_id: 0x91dd4b0e
full_name: "genphy_suspend"
}
@@ -347545,7 +359123,7 @@ elf_symbol {
name: "genphy_update_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0x68426b4a
+ crc: 0x8d9089a9
type_id: 0x91dd4b0e
full_name: "genphy_update_link"
}
@@ -347554,7 +359132,7 @@ elf_symbol {
name: "genphy_write_mmd_unsupported"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa0515689
+ crc: 0xcc12e733
type_id: 0x9067de1b
full_name: "genphy_write_mmd_unsupported"
}
@@ -347608,7 +359186,7 @@ elf_symbol {
name: "get_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x89ef29d6
+ crc: 0xf181d237
type_id: 0xadb90e65
full_name: "get_device"
}
@@ -347654,7 +359232,7 @@ elf_symbol {
name: "get_net_ns_by_fd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x100efc45
+ crc: 0x6e5208e9
type_id: 0x5102ac9f
full_name: "get_net_ns_by_fd"
}
@@ -347663,7 +359241,7 @@ elf_symbol {
name: "get_net_ns_by_pid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x69d4786d
+ crc: 0xabbbe571
type_id: 0x5aa4ba2d
full_name: "get_net_ns_by_pid"
}
@@ -347718,7 +359296,7 @@ elf_symbol {
name: "get_pid_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2bf8d331
+ crc: 0xecd5f222
type_id: 0x7f0f4bf3
full_name: "get_pid_task"
}
@@ -347809,7 +359387,7 @@ elf_symbol {
name: "get_task_cred"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd8aeec40
+ crc: 0xd90bd095
type_id: 0x0adc3a0d
full_name: "get_task_cred"
}
@@ -347827,7 +359405,7 @@ elf_symbol {
name: "get_task_pid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x11d2a631
+ crc: 0x168e2c1a
type_id: 0x2d5eecc4
full_name: "get_task_pid"
}
@@ -347940,6 +359518,150 @@ elf_symbol {
full_name: "getboottime64"
}
elf_symbol {
+ id: 0xa7339c42
+ name: "gether_cleanup"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8878cfa6
+ type_id: 0x1ae9c33f
+ full_name: "gether_cleanup"
+}
+elf_symbol {
+ id: 0x23fbc3f8
+ name: "gether_connect"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xea64e647
+ type_id: 0xf2708109
+ full_name: "gether_connect"
+}
+elf_symbol {
+ id: 0x46e18dbd
+ name: "gether_disconnect"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1bf99a25
+ type_id: 0x1e9b5d67
+ full_name: "gether_disconnect"
+}
+elf_symbol {
+ id: 0xf5970852
+ name: "gether_get_dev_addr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x557d0eb6
+ type_id: 0x9122ac75
+ full_name: "gether_get_dev_addr"
+}
+elf_symbol {
+ id: 0x0a3cdb4a
+ name: "gether_get_host_addr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb4ae8361
+ type_id: 0x9122ac75
+ full_name: "gether_get_host_addr"
+}
+elf_symbol {
+ id: 0xdb6a18dc
+ name: "gether_get_host_addr_u8"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf8b424a5
+ type_id: 0x1c32c5f2
+ full_name: "gether_get_host_addr_u8"
+}
+elf_symbol {
+ id: 0x412252a6
+ name: "gether_get_ifname"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5bd0d402
+ type_id: 0x9122ac75
+ full_name: "gether_get_ifname"
+}
+elf_symbol {
+ id: 0x9c589482
+ name: "gether_get_qmult"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb460cb61
+ type_id: 0xc272f60e
+ full_name: "gether_get_qmult"
+}
+elf_symbol {
+ id: 0x0400c852
+ name: "gether_register_netdev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1d6ccbe0
+ type_id: 0x91296bda
+ full_name: "gether_register_netdev"
+}
+elf_symbol {
+ id: 0xcdcde62d
+ name: "gether_set_dev_addr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3c2aa803
+ type_id: 0x91d1290e
+ full_name: "gether_set_dev_addr"
+}
+elf_symbol {
+ id: 0xba5f9a53
+ name: "gether_set_gadget"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x95a29c7a
+ type_id: 0x1ca44d8a
+ full_name: "gether_set_gadget"
+}
+elf_symbol {
+ id: 0x8802e047
+ name: "gether_set_host_addr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0d98da0f
+ type_id: 0x91d1290e
+ full_name: "gether_set_host_addr"
+}
+elf_symbol {
+ id: 0xf7264f57
+ name: "gether_set_ifname"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xddaa7799
+ type_id: 0x91c8e13a
+ full_name: "gether_set_ifname"
+}
+elf_symbol {
+ id: 0x370e3283
+ name: "gether_set_qmult"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xae8e571d
+ type_id: 0x1d27ccfe
+ full_name: "gether_set_qmult"
+}
+elf_symbol {
+ id: 0xe87161bc
+ name: "gether_setup_name_default"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5d7e340b
+ type_id: 0xf3f7a0bb
+ full_name: "gether_setup_name_default"
+}
+elf_symbol {
+ id: 0x112db471
+ name: "gf128mul_lle"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9e13f6f6
+ type_id: 0x1ad943f1
+ full_name: "gf128mul_lle"
+}
+elf_symbol {
id: 0xfe79963a
name: "gfn_to_pfn_memslot"
is_defined: true
@@ -347980,8 +359702,8 @@ elf_symbol {
name: "gh_rm_register_platform_ops"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc34a7803
- type_id: 0x921f607b
+ crc: 0xfd11885c
+ type_id: 0x91ab10d3
full_name: "gh_rm_register_platform_ops"
}
elf_symbol {
@@ -347989,8 +359711,8 @@ elf_symbol {
name: "gh_rm_unregister_platform_ops"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc1f09d18
- type_id: 0x1f07d2c7
+ crc: 0x057f483b
+ type_id: 0x1cb3a26f
full_name: "gh_rm_unregister_platform_ops"
}
elf_symbol {
@@ -348264,6 +359986,15 @@ elf_symbol {
full_name: "gpiochip_populate_parent_fwspec_fourcell"
}
elf_symbol {
+ id: 0x14b7a009
+ name: "gpiochip_relres_irq"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9c82d602
+ type_id: 0x17b7d7d6
+ full_name: "gpiochip_relres_irq"
+}
+elf_symbol {
id: 0x7dd9e61e
name: "gpiochip_remove"
is_defined: true
@@ -348273,6 +360004,15 @@ elf_symbol {
full_name: "gpiochip_remove"
}
elf_symbol {
+ id: 0x30903940
+ name: "gpiochip_reqres_irq"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x920467d8
+ type_id: 0x9aaf656a
+ full_name: "gpiochip_reqres_irq"
+}
+elf_symbol {
id: 0x77a0ab63
name: "gpiochip_unlock_as_irq"
is_defined: true
@@ -348489,11 +360229,20 @@ elf_symbol {
full_name: "gpiod_to_irq"
}
elf_symbol {
+ id: 0x085aa99f
+ name: "grab_cache_page_write_begin"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb2975faa
+ type_id: 0xb8358fd3
+ full_name: "grab_cache_page_write_begin"
+}
+elf_symbol {
id: 0x4dcdd24d
name: "gre_add_protocol"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb5a0942b
+ crc: 0x06b80249
type_id: 0x92801eb4
full_name: "gre_add_protocol"
}
@@ -348502,7 +360251,7 @@ elf_symbol {
name: "gre_del_protocol"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfb0887b8
+ crc: 0xdc8308a3
type_id: 0x92801eb4
full_name: "gre_del_protocol"
}
@@ -348520,7 +360269,7 @@ elf_symbol {
name: "gro_cells_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfce9f3ec
+ crc: 0xadf066b5
type_id: 0x96fd9031
full_name: "gro_cells_init"
}
@@ -348529,7 +360278,7 @@ elf_symbol {
name: "gro_cells_receive"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf76d626d
+ crc: 0x7ec2e930
type_id: 0x9622351a
full_name: "gro_cells_receive"
}
@@ -348628,7 +360377,7 @@ elf_symbol {
name: "h4_recv_buf"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2f64af89
+ crc: 0x348e0aad
type_id: 0x6ff47396
full_name: "h4_recv_buf"
}
@@ -348727,7 +360476,7 @@ elf_symbol {
name: "hci_alloc_dev_priv"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc84f9792
+ crc: 0x75e4ad4d
type_id: 0x9502ce9c
full_name: "hci_alloc_dev_priv"
}
@@ -348736,7 +360485,7 @@ elf_symbol {
name: "hci_cmd_sync"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdd03ce38
+ crc: 0x8c23a80e
type_id: 0x6d996ee0
full_name: "hci_cmd_sync"
}
@@ -348745,7 +360494,7 @@ elf_symbol {
name: "hci_cmd_sync_cancel"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdb844181
+ crc: 0x04743a79
type_id: 0x167427d5
full_name: "hci_cmd_sync_cancel"
}
@@ -348754,7 +360503,7 @@ elf_symbol {
name: "hci_cmd_sync_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe5212750
+ crc: 0x6dd2fc21
type_id: 0x9b91c1d8
full_name: "hci_cmd_sync_queue"
}
@@ -348763,7 +360512,7 @@ elf_symbol {
name: "hci_conn_check_secure"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3bf47fef
+ crc: 0xc9c8c6fe
type_id: 0x958cf238
full_name: "hci_conn_check_secure"
}
@@ -348772,7 +360521,7 @@ elf_symbol {
name: "hci_conn_security"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd7c8479f
+ crc: 0x52e1a228
type_id: 0x95a1be2b
full_name: "hci_conn_security"
}
@@ -348781,7 +360530,7 @@ elf_symbol {
name: "hci_conn_switch_role"
is_defined: true
symbol_type: FUNCTION
- crc: 0x26392ef5
+ crc: 0x78bdce3f
type_id: 0x958cf238
full_name: "hci_conn_switch_role"
}
@@ -348790,7 +360539,7 @@ elf_symbol {
name: "hci_free_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8a2bb2f8
+ crc: 0x46b3e1b5
type_id: 0x17e8a499
full_name: "hci_free_dev"
}
@@ -348799,7 +360548,7 @@ elf_symbol {
name: "hci_get_route"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb7fb5c92
+ crc: 0x8b6af8db
type_id: 0x8493c696
full_name: "hci_get_route"
}
@@ -348808,7 +360557,7 @@ elf_symbol {
name: "hci_mgmt_chan_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4d715f3d
+ crc: 0xd2e8db95
type_id: 0x9a299233
full_name: "hci_mgmt_chan_register"
}
@@ -348817,7 +360566,7 @@ elf_symbol {
name: "hci_mgmt_chan_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3e947308
+ crc: 0x1deb2107
type_id: 0x1731208f
full_name: "hci_mgmt_chan_unregister"
}
@@ -348826,7 +360575,7 @@ elf_symbol {
name: "hci_recv_diag"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0f3f86bc
+ crc: 0xac3e019a
type_id: 0x9ae52b81
full_name: "hci_recv_diag"
}
@@ -348835,7 +360584,7 @@ elf_symbol {
name: "hci_recv_frame"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5eddccf3
+ crc: 0x2f0004dc
type_id: 0x9ae52b81
full_name: "hci_recv_frame"
}
@@ -348844,7 +360593,7 @@ elf_symbol {
name: "hci_register_cb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xde12775c
+ crc: 0xc0fef9b8
type_id: 0x9684db0e
full_name: "hci_register_cb"
}
@@ -348853,7 +360602,7 @@ elf_symbol {
name: "hci_register_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x584400c2
+ crc: 0xeafcc152
type_id: 0x9af01625
full_name: "hci_register_dev"
}
@@ -348862,7 +360611,7 @@ elf_symbol {
name: "hci_release_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x19527a31
+ crc: 0x83de4b95
type_id: 0x17e8a499
full_name: "hci_release_dev"
}
@@ -348871,7 +360620,7 @@ elf_symbol {
name: "hci_reset_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x962b4381
+ crc: 0xd0999dcb
type_id: 0x9af01625
full_name: "hci_reset_dev"
}
@@ -348880,7 +360629,7 @@ elf_symbol {
name: "hci_resume_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfaa0ac4b
+ crc: 0x3d17515f
type_id: 0x9af01625
full_name: "hci_resume_dev"
}
@@ -348889,7 +360638,7 @@ elf_symbol {
name: "hci_set_fw_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfb46de1b
+ crc: 0xb45bfbb5
type_id: 0x1739accf
full_name: "hci_set_fw_info"
}
@@ -348898,7 +360647,7 @@ elf_symbol {
name: "hci_set_hw_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9e3d051e
+ crc: 0xb5477294
type_id: 0x1739accf
full_name: "hci_set_hw_info"
}
@@ -348907,7 +360656,7 @@ elf_symbol {
name: "hci_suspend_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeb351e09
+ crc: 0xcdd6b9d0
type_id: 0x9af01625
full_name: "hci_suspend_dev"
}
@@ -348916,7 +360665,7 @@ elf_symbol {
name: "hci_uart_register_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6fc1cbe3
+ crc: 0x5d81e7f6
type_id: 0x959a93b5
full_name: "hci_uart_register_device"
}
@@ -348925,7 +360674,7 @@ elf_symbol {
name: "hci_uart_tx_wakeup"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa10e20ef
+ crc: 0xec73ca35
type_id: 0x9553fb18
full_name: "hci_uart_tx_wakeup"
}
@@ -348934,7 +360683,7 @@ elf_symbol {
name: "hci_uart_unregister_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x04ca1783
+ crc: 0x7ca9fad0
type_id: 0x184b49a4
full_name: "hci_uart_unregister_device"
}
@@ -348943,7 +360692,7 @@ elf_symbol {
name: "hci_unregister_cb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x80eec84d
+ crc: 0x8b90629a
type_id: 0x9684db0e
full_name: "hci_unregister_cb"
}
@@ -348952,7 +360701,7 @@ elf_symbol {
name: "hci_unregister_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x69376833
+ crc: 0x6554264c
type_id: 0x17e8a499
full_name: "hci_unregister_dev"
}
@@ -349002,6 +360751,15 @@ elf_symbol {
full_name: "hdmi_avi_infoframe_pack"
}
elf_symbol {
+ id: 0x4e8277c6
+ name: "hdmi_avi_infoframe_pack_only"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2ee4c2b1
+ type_id: 0x1a42044c
+ full_name: "hdmi_avi_infoframe_pack_only"
+}
+elf_symbol {
id: 0x7ec10e18
name: "hdmi_drm_infoframe_init"
is_defined: true
@@ -349110,6 +360868,15 @@ elf_symbol {
full_name: "hid_allocate_device"
}
elf_symbol {
+ id: 0xa832c6f3
+ name: "hid_debug"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x05495392
+ type_id: 0x6720d32f
+ full_name: "hid_debug"
+}
+elf_symbol {
id: 0x2ffc7c7e
name: "hid_destroy_device"
is_defined: true
@@ -349119,6 +360886,87 @@ elf_symbol {
full_name: "hid_destroy_device"
}
elf_symbol {
+ id: 0x1706be22
+ name: "hid_driver_reset_resume"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x38266a07
+ type_id: 0x9ef9d283
+ full_name: "hid_driver_reset_resume"
+}
+elf_symbol {
+ id: 0x4c3911f0
+ name: "hid_driver_suspend"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x63c99127
+ type_id: 0x9d398c85
+ full_name: "hid_driver_suspend"
+}
+elf_symbol {
+ id: 0x8717f26f
+ name: "hid_hw_close"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xffa28586
+ type_id: 0x13e1603f
+ full_name: "hid_hw_close"
+}
+elf_symbol {
+ id: 0x361004c8
+ name: "hid_hw_open"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x83abbb03
+ type_id: 0x9ef9d283
+ full_name: "hid_hw_open"
+}
+elf_symbol {
+ id: 0xcf5ea9a2
+ name: "hid_hw_output_report"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8f5731d2
+ type_id: 0x9e5d7885
+ full_name: "hid_hw_output_report"
+}
+elf_symbol {
+ id: 0x6c303862
+ name: "hid_hw_raw_request"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1754ea42
+ type_id: 0x9f85a1ff
+ full_name: "hid_hw_raw_request"
+}
+elf_symbol {
+ id: 0x553bc5f3
+ name: "hid_hw_request"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe88265d4
+ type_id: 0x137a1cdc
+ full_name: "hid_hw_request"
+}
+elf_symbol {
+ id: 0xfba34655
+ name: "hid_hw_start"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x80c181b3
+ type_id: 0x9fefc71b
+ full_name: "hid_hw_start"
+}
+elf_symbol {
+ id: 0x52d444b1
+ name: "hid_hw_stop"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x109cf170
+ type_id: 0x13e1603f
+ full_name: "hid_hw_stop"
+}
+elf_symbol {
id: 0x7d0e44ca
name: "hid_ignore"
is_defined: true
@@ -349137,6 +360985,15 @@ elf_symbol {
full_name: "hid_input_report"
}
elf_symbol {
+ id: 0x0eb11e95
+ name: "hid_open_report"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x99072c9a
+ type_id: 0x9ef9d283
+ full_name: "hid_open_report"
+}
+elf_symbol {
id: 0x6ca4d0ed
name: "hid_parse_report"
is_defined: true
@@ -349146,11 +361003,38 @@ elf_symbol {
full_name: "hid_parse_report"
}
elf_symbol {
+ id: 0x741d5af7
+ name: "hid_report_raw_event"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x358ef5ff
+ type_id: 0x9d13a27c
+ full_name: "hid_report_raw_event"
+}
+elf_symbol {
+ id: 0x6e37f09d
+ name: "hid_unregister_driver"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe1767c20
+ type_id: 0x104da524
+ full_name: "hid_unregister_driver"
+}
+elf_symbol {
+ id: 0x29d6d842
+ name: "hid_validate_values"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x67c1cd41
+ type_id: 0xe10f9802
+ full_name: "hid_validate_values"
+}
+elf_symbol {
id: 0x21d35235
name: "hidp_hid_driver"
is_defined: true
symbol_type: OBJECT
- crc: 0x3c457fad
+ crc: 0xddb0b03b
type_id: 0x2def15e8
full_name: "hidp_hid_driver"
}
@@ -350046,6 +361930,15 @@ elf_symbol {
full_name: "icc_sync_state"
}
elf_symbol {
+ id: 0x309b98f1
+ name: "icmp6_send"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa41c6eed
+ type_id: 0x11673bbb
+ full_name: "icmp6_send"
+}
+elf_symbol {
id: 0x58de8ff6
name: "ida_alloc_range"
is_defined: true
@@ -350176,7 +362069,7 @@ elf_symbol {
name: "ieee802154_alloc_hw"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8143e10c
+ crc: 0xb6142068
type_id: 0x53d7cb1d
full_name: "ieee802154_alloc_hw"
}
@@ -350185,7 +362078,7 @@ elf_symbol {
name: "ieee802154_configure_durations"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2c0bd04c
+ crc: 0x94de3220
type_id: 0x1af18e52
full_name: "ieee802154_configure_durations"
}
@@ -350194,7 +362087,7 @@ elf_symbol {
name: "ieee802154_free_hw"
is_defined: true
symbol_type: FUNCTION
- crc: 0x86dab361
+ crc: 0xd51b4e71
type_id: 0x12d46025
full_name: "ieee802154_free_hw"
}
@@ -350203,7 +362096,7 @@ elf_symbol {
name: "ieee802154_hdr_peek"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbc36d5af
+ crc: 0xe130fb3d
type_id: 0x92f9a820
full_name: "ieee802154_hdr_peek"
}
@@ -350212,7 +362105,7 @@ elf_symbol {
name: "ieee802154_hdr_peek_addrs"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8a32d151
+ crc: 0xe67ef397
type_id: 0x92f9a820
full_name: "ieee802154_hdr_peek_addrs"
}
@@ -350221,7 +362114,7 @@ elf_symbol {
name: "ieee802154_hdr_pull"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbe7fcedf
+ crc: 0xc5b881fe
type_id: 0x9c3297de
full_name: "ieee802154_hdr_pull"
}
@@ -350230,7 +362123,7 @@ elf_symbol {
name: "ieee802154_hdr_push"
is_defined: true
symbol_type: FUNCTION
- crc: 0x42c85632
+ crc: 0xcba810a5
type_id: 0x9c3297de
full_name: "ieee802154_hdr_push"
}
@@ -350248,7 +362141,7 @@ elf_symbol {
name: "ieee802154_register_hw"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9379a7fb
+ crc: 0x0e635775
type_id: 0x9fccd299
full_name: "ieee802154_register_hw"
}
@@ -350257,7 +362150,7 @@ elf_symbol {
name: "ieee802154_rx_irqsafe"
is_defined: true
symbol_type: FUNCTION
- crc: 0x386008f9
+ crc: 0x46b6ad46
type_id: 0x12cb0a9d
full_name: "ieee802154_rx_irqsafe"
}
@@ -350266,7 +362159,7 @@ elf_symbol {
name: "ieee802154_stop_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2c692ac8
+ crc: 0xe8864751
type_id: 0x12d46025
full_name: "ieee802154_stop_queue"
}
@@ -350275,7 +362168,7 @@ elf_symbol {
name: "ieee802154_unregister_hw"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4ba52ece
+ crc: 0x4c1a0b7f
type_id: 0x12d46025
full_name: "ieee802154_unregister_hw"
}
@@ -350284,7 +362177,7 @@ elf_symbol {
name: "ieee802154_wake_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x635ec1b3
+ crc: 0x009f6ef2
type_id: 0x12d46025
full_name: "ieee802154_wake_queue"
}
@@ -350293,7 +362186,7 @@ elf_symbol {
name: "ieee802154_xmit_complete"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2ca73e2d
+ crc: 0xf1cb8c75
type_id: 0x12da0256
full_name: "ieee802154_xmit_complete"
}
@@ -350302,7 +362195,7 @@ elf_symbol {
name: "ieee802154_xmit_error"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb7a36c07
+ crc: 0x8e499608
type_id: 0x12d895b5
full_name: "ieee802154_xmit_error"
}
@@ -350311,11 +362204,20 @@ elf_symbol {
name: "ieee802154_xmit_hw_error"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc0b0c68b
+ crc: 0xe18257bc
type_id: 0x12c15d81
full_name: "ieee802154_xmit_hw_error"
}
elf_symbol {
+ id: 0xb9f64e9d
+ name: "iget5_locked"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcccf338c
+ type_id: 0x1210c1fa
+ full_name: "iget5_locked"
+}
+elf_symbol {
id: 0x4a5f3d41
name: "ignore_console_lock_warning"
is_defined: true
@@ -350325,6 +362227,24 @@ elf_symbol {
full_name: "ignore_console_lock_warning"
}
elf_symbol {
+ id: 0x4292b79d
+ name: "igrab"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x49b765c7
+ type_id: 0x1d8c491d
+ full_name: "igrab"
+}
+elf_symbol {
+ id: 0xb779176d
+ name: "ihold"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xaafc22eb
+ type_id: 0x167935b9
+ full_name: "ihold"
+}
+elf_symbol {
id: 0x98a39db9
name: "iio_alloc_pollfunc"
is_defined: true
@@ -350379,6 +362299,15 @@ elf_symbol {
full_name: "iio_channel_get"
}
elf_symbol {
+ id: 0x0b446726
+ name: "iio_channel_get_all"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x30387314
+ type_id: 0xa974af20
+ full_name: "iio_channel_get_all"
+}
+elf_symbol {
id: 0x8aa99af0
name: "iio_channel_release"
is_defined: true
@@ -350388,6 +362317,15 @@ elf_symbol {
full_name: "iio_channel_release"
}
elf_symbol {
+ id: 0x5ecdc560
+ name: "iio_channel_release_all"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x47935be9
+ type_id: 0x1ef16b9c
+ full_name: "iio_channel_release_all"
+}
+elf_symbol {
id: 0x7ee06725
name: "iio_dealloc_pollfunc"
is_defined: true
@@ -350631,6 +362569,15 @@ elf_symbol {
full_name: "iio_trigger_unregister"
}
elf_symbol {
+ id: 0xdf3e8655
+ name: "iio_update_buffers"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7cc9b292
+ type_id: 0x9b15020e
+ full_name: "iio_update_buffers"
+}
+elf_symbol {
id: 0x6f2f4bd1
name: "iio_write_channel_raw"
is_defined: true
@@ -350640,6 +362587,15 @@ elf_symbol {
full_name: "iio_write_channel_raw"
}
elf_symbol {
+ id: 0xf87ecda4
+ name: "ilookup5"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3c5a783a
+ type_id: 0x12101463
+ full_name: "ilookup5"
+}
+elf_symbol {
id: 0x00b4d2da
name: "import_iovec"
is_defined: true
@@ -350658,6 +362614,15 @@ elf_symbol {
full_name: "in4_pton"
}
elf_symbol {
+ id: 0xcc6510bd
+ name: "in6_dev_finish_destroy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x71b83d03
+ type_id: 0x1e704726
+ full_name: "in6_dev_finish_destroy"
+}
+elf_symbol {
id: 0xc93c3b7d
name: "in6_pton"
is_defined: true
@@ -350694,6 +362659,24 @@ elf_symbol {
full_name: "in_egroup_p"
}
elf_symbol {
+ id: 0x63d665a4
+ name: "in_group_p"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8b8059bd
+ type_id: 0xb1b78fab
+ full_name: "in_group_p"
+}
+elf_symbol {
+ id: 0x8efc83b2
+ name: "inc_nlink"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd16fc9d0
+ type_id: 0x167935b9
+ full_name: "inc_nlink"
+}
+elf_symbol {
id: 0x53baed4c
name: "inc_node_page_state"
is_defined: true
@@ -350716,7 +362699,7 @@ elf_symbol {
name: "inet6_csk_xmit"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2456f61e
+ crc: 0x133c1612
type_id: 0x9ac293c4
full_name: "inet6_csk_xmit"
}
@@ -350725,7 +362708,7 @@ elf_symbol {
name: "inet6_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6883195e
+ crc: 0x81d46c70
type_id: 0x9882219f
full_name: "inet6_ioctl"
}
@@ -350734,7 +362717,7 @@ elf_symbol {
name: "inet_csk_get_port"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5ca3114e
+ crc: 0x2a4d24d9
type_id: 0x99f517b1
full_name: "inet_csk_get_port"
}
@@ -350743,7 +362726,7 @@ elf_symbol {
name: "inet_frag_destroy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x01db2005
+ crc: 0xfe4dc306
type_id: 0x1edcf3e9
full_name: "inet_frag_destroy"
}
@@ -350752,7 +362735,7 @@ elf_symbol {
name: "inet_frag_find"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaec86066
+ crc: 0x87588b1d
type_id: 0x51a0e42b
full_name: "inet_frag_find"
}
@@ -350761,7 +362744,7 @@ elf_symbol {
name: "inet_frag_kill"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe7968505
+ crc: 0x39fd139c
type_id: 0x1edcf3e9
full_name: "inet_frag_kill"
}
@@ -350770,7 +362753,7 @@ elf_symbol {
name: "inet_frag_queue_insert"
is_defined: true
symbol_type: FUNCTION
- crc: 0xca625092
+ crc: 0x8ee8b549
type_id: 0x93c92846
full_name: "inet_frag_queue_insert"
}
@@ -350779,7 +362762,7 @@ elf_symbol {
name: "inet_frag_reasm_finish"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc238dab1
+ crc: 0xb88cfb0e
type_id: 0x1ece54e9
full_name: "inet_frag_reasm_finish"
}
@@ -350788,7 +362771,7 @@ elf_symbol {
name: "inet_frag_reasm_prepare"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb89ac7cf
+ crc: 0x478dbb9a
type_id: 0x58c67df5
full_name: "inet_frag_reasm_prepare"
}
@@ -350797,7 +362780,7 @@ elf_symbol {
name: "inet_frags_fini"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa3068d66
+ crc: 0x970d6b0a
type_id: 0x1039da16
full_name: "inet_frags_fini"
}
@@ -350806,7 +362789,7 @@ elf_symbol {
name: "inet_frags_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd2f58177
+ crc: 0xba6f3ff6
type_id: 0x9d2168aa
full_name: "inet_frags_init"
}
@@ -350815,16 +362798,34 @@ elf_symbol {
name: "inet_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5a525c29
+ crc: 0x4a5645e2
type_id: 0x9882219f
full_name: "inet_ioctl"
}
elf_symbol {
+ id: 0x601b2cac
+ name: "inet_proto_csum_replace4"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8ea3f5f8
+ type_id: 0x1f0df99a
+ full_name: "inet_proto_csum_replace4"
+}
+elf_symbol {
+ id: 0xea35f0d0
+ name: "inet_select_addr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb4915426
+ type_id: 0x03ec98c8
+ full_name: "inet_select_addr"
+}
+elf_symbol {
id: 0x7ded1ffe
name: "init_dummy_netdev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9cf4f680
+ crc: 0xc87c64e6
type_id: 0x91296bda
full_name: "init_dummy_netdev"
}
@@ -350842,7 +362843,7 @@ elf_symbol {
name: "init_net"
is_defined: true
symbol_type: OBJECT
- crc: 0x4122bee9
+ crc: 0xe139b2bb
type_id: 0x18c93498
full_name: "init_net"
}
@@ -350860,7 +362861,7 @@ elf_symbol {
name: "init_pid_ns"
is_defined: true
symbol_type: OBJECT
- crc: 0xdddd7433
+ crc: 0x02820c79
type_id: 0x02240842
full_name: "init_pid_ns"
}
@@ -350874,6 +362875,15 @@ elf_symbol {
full_name: "init_pseudo"
}
elf_symbol {
+ id: 0xa64f3c31
+ name: "init_special_inode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0b1432c5
+ type_id: 0x160abbb8
+ full_name: "init_special_inode"
+}
+elf_symbol {
id: 0x7dce8737
name: "init_srcu_struct"
is_defined: true
@@ -350887,7 +362897,7 @@ elf_symbol {
name: "init_task"
is_defined: true
symbol_type: OBJECT
- crc: 0x999445fa
+ crc: 0xd567d551
type_id: 0x5e2641cb
full_name: "init_task"
}
@@ -350937,6 +362947,60 @@ elf_symbol {
full_name: "init_wait_var_entry"
}
elf_symbol {
+ id: 0x7a805e08
+ name: "inode_dio_wait"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe5edf4d7
+ type_id: 0x167935b9
+ full_name: "inode_dio_wait"
+}
+elf_symbol {
+ id: 0x318d9226
+ name: "inode_init_once"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfcba10c7
+ type_id: 0x167935b9
+ full_name: "inode_init_once"
+}
+elf_symbol {
+ id: 0x4e9dfa3b
+ name: "inode_init_owner"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2924f2e6
+ type_id: 0x13129118
+ full_name: "inode_init_owner"
+}
+elf_symbol {
+ id: 0x7c74ccbc
+ name: "inode_maybe_inc_iversion"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb431e564
+ type_id: 0xf9f0c251
+ full_name: "inode_maybe_inc_iversion"
+}
+elf_symbol {
+ id: 0xf4ae7c22
+ name: "inode_newsize_ok"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3ee4bf76
+ type_id: 0x936a3614
+ full_name: "inode_newsize_ok"
+}
+elf_symbol {
+ id: 0x2b7e86c2
+ name: "inode_set_flags"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6d364533
+ type_id: 0x177e4178
+ full_name: "inode_set_flags"
+}
+elf_symbol {
id: 0x18eeb52f
name: "input_alloc_absinfo"
is_defined: true
@@ -351153,6 +363217,15 @@ elf_symbol {
full_name: "input_set_capability"
}
elf_symbol {
+ id: 0x31a5a9d7
+ name: "input_set_poll_interval"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xaf8d6e4f
+ type_id: 0x159ef67f
+ full_name: "input_set_poll_interval"
+}
+elf_symbol {
id: 0xfa66175a
name: "input_set_timestamp"
is_defined: true
@@ -351162,6 +363235,15 @@ elf_symbol {
full_name: "input_set_timestamp"
}
elf_symbol {
+ id: 0x3975a1c8
+ name: "input_setup_polling"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe6795292
+ type_id: 0x99ae995e
+ full_name: "input_setup_polling"
+}
+elf_symbol {
id: 0x6a48a444
name: "input_unregister_device"
is_defined: true
@@ -351198,6 +363280,15 @@ elf_symbol {
full_name: "insert_resource"
}
elf_symbol {
+ id: 0xcec28ada
+ name: "int_active_memcg"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x6f91b30c
+ type_id: 0x1d5bae2a
+ full_name: "int_active_memcg"
+}
+elf_symbol {
id: 0xbd83f7de
name: "int_pow"
is_defined: true
@@ -351261,6 +363352,24 @@ elf_symbol {
full_name: "interval_tree_remove"
}
elf_symbol {
+ id: 0x22167fe7
+ name: "invalidate_bdev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe6a5cbed
+ type_id: 0x1393d7c4
+ full_name: "invalidate_bdev"
+}
+elf_symbol {
+ id: 0x38472bf4
+ name: "invalidate_inode_pages2_range"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x91936719
+ type_id: 0x98214125
+ full_name: "invalidate_inode_pages2_range"
+}
+elf_symbol {
id: 0xc3e2d4ae
name: "invalidate_mapping_pages"
is_defined: true
@@ -351297,6 +363406,15 @@ elf_symbol {
full_name: "io_schedule_timeout"
}
elf_symbol {
+ id: 0xfe45d0d9
+ name: "ioc_find_get_icq"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x91ab2f0b
+ type_id: 0xd9de6af9
+ full_name: "ioc_find_get_icq"
+}
+elf_symbol {
id: 0xffca97cd
name: "ioc_lookup_icq"
is_defined: true
@@ -351369,6 +363487,15 @@ elf_symbol {
full_name: "iommu_detach_device_pasid"
}
elf_symbol {
+ id: 0xc578c7af
+ name: "iommu_detach_group"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x41cce3f8
+ type_id: 0x1b18b5bc
+ full_name: "iommu_detach_group"
+}
+elf_symbol {
id: 0x4c05b91e
name: "iommu_dev_disable_feature"
is_defined: true
@@ -351549,6 +363676,15 @@ elf_symbol {
full_name: "iommu_group_ref_get"
}
elf_symbol {
+ id: 0x87342c78
+ name: "iommu_group_remove_device"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x65e2cdf3
+ type_id: 0x100e6fc8
+ full_name: "iommu_group_remove_device"
+}
+elf_symbol {
id: 0x1f9ceb72
name: "iommu_group_set_iommudata"
is_defined: true
@@ -351585,6 +363721,15 @@ elf_symbol {
full_name: "iommu_map"
}
elf_symbol {
+ id: 0x3d770021
+ name: "iommu_map_atomic"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf6ea81c3
+ type_id: 0x96c4a3ba
+ full_name: "iommu_map_atomic"
+}
+elf_symbol {
id: 0x21c33dfe
name: "iommu_map_sg"
is_defined: true
@@ -351684,6 +363829,33 @@ elf_symbol {
full_name: "iounmap"
}
elf_symbol {
+ id: 0x382b3272
+ name: "iov_iter_advance"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4a850157
+ type_id: 0x189472bc
+ full_name: "iov_iter_advance"
+}
+elf_symbol {
+ id: 0x29ecb8e9
+ name: "iov_iter_alignment"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd13c0fd5
+ type_id: 0x3c97e3d9
+ full_name: "iov_iter_alignment"
+}
+elf_symbol {
+ id: 0x3d6623cb
+ name: "iov_iter_get_pages2"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x43784624
+ type_id: 0x1f3dc21f
+ full_name: "iov_iter_get_pages2"
+}
+elf_symbol {
id: 0x71726a83
name: "iov_iter_init"
is_defined: true
@@ -351711,20 +363883,47 @@ elf_symbol {
full_name: "iov_iter_revert"
}
elf_symbol {
+ id: 0x1c2c7614
+ name: "iov_iter_single_seg_count"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1c396b24
+ type_id: 0x9a04e7d8
+ full_name: "iov_iter_single_seg_count"
+}
+elf_symbol {
+ id: 0x6c6beb07
+ name: "iova_domain_init_rcaches"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0ff6a3a3
+ type_id: 0x9261d8a0
+ full_name: "iova_domain_init_rcaches"
+}
+elf_symbol {
id: 0x1be0f35f
name: "ip6_dst_hoplimit"
is_defined: true
symbol_type: FUNCTION
- crc: 0x617935ee
+ crc: 0x2574d8a8
type_id: 0x99169bf2
full_name: "ip6_dst_hoplimit"
}
elf_symbol {
+ id: 0xd9fe9b1d
+ name: "ip6_find_1stfragopt"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf459168d
+ type_id: 0x9cf9beaa
+ full_name: "ip6_find_1stfragopt"
+}
+elf_symbol {
id: 0x5a7fbd45
name: "ip6_local_out"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa29e48e5
+ crc: 0x33d05c76
type_id: 0x9edc3d1c
full_name: "ip6_local_out"
}
@@ -351733,11 +363932,20 @@ elf_symbol {
name: "ip6_route_me_harder"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4a76287a
+ crc: 0x8ddb6625
type_id: 0x9edc3d1c
full_name: "ip6_route_me_harder"
}
elf_symbol {
+ id: 0x807f9d22
+ name: "ip6_route_output_flags"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc7f6396b
+ type_id: 0xa22a22cc
+ full_name: "ip6_route_output_flags"
+}
+elf_symbol {
id: 0x6cd920cf
name: "ip_compute_csum"
is_defined: true
@@ -351747,11 +363955,20 @@ elf_symbol {
full_name: "ip_compute_csum"
}
elf_symbol {
+ id: 0x333700e4
+ name: "ip_local_deliver"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x20dcb3a1
+ type_id: 0x9cd33969
+ full_name: "ip_local_deliver"
+}
+elf_symbol {
id: 0x5234b1b5
name: "ip_local_out"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd4c65a83
+ crc: 0x81daeed1
type_id: 0x9edc3d1c
full_name: "ip_local_out"
}
@@ -351760,7 +363977,7 @@ elf_symbol {
name: "ip_mc_join_group"
is_defined: true
symbol_type: FUNCTION
- crc: 0x96205ed5
+ crc: 0xf307233c
type_id: 0x9a03c4d6
full_name: "ip_mc_join_group"
}
@@ -351769,7 +363986,7 @@ elf_symbol {
name: "ip_queue_xmit"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe1cf130e
+ crc: 0x297b2874
type_id: 0x9ac293c4
full_name: "ip_queue_xmit"
}
@@ -351778,7 +363995,7 @@ elf_symbol {
name: "ip_route_me_harder"
is_defined: true
symbol_type: FUNCTION
- crc: 0x13cf933b
+ crc: 0xd7a7733e
type_id: 0x9edd2b09
full_name: "ip_route_me_harder"
}
@@ -351787,7 +364004,7 @@ elf_symbol {
name: "ip_route_output_flow"
is_defined: true
symbol_type: FUNCTION
- crc: 0x52981a17
+ crc: 0x63d17c67
type_id: 0x7b5e948b
full_name: "ip_route_output_flow"
}
@@ -351823,11 +364040,20 @@ elf_symbol {
name: "ipv6_dev_find"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1e08a8d3
+ crc: 0xfe50985e
type_id: 0xffbaa126
full_name: "ipv6_dev_find"
}
elf_symbol {
+ id: 0x1e69bfb6
+ name: "ipv6_dev_get_saddr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x255a1a5c
+ type_id: 0x9e69dafa
+ full_name: "ipv6_dev_get_saddr"
+}
+elf_symbol {
id: 0x274071bc
name: "ipv6_ext_hdr"
is_defined: true
@@ -351841,16 +364067,25 @@ elf_symbol {
name: "ipv6_find_hdr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfeda9872
+ crc: 0x5ca4ba9e
type_id: 0x926eec8b
full_name: "ipv6_find_hdr"
}
elf_symbol {
+ id: 0xd70b3ff0
+ name: "ipv6_select_ident"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfb276934
+ type_id: 0x0f51af8b
+ full_name: "ipv6_select_ident"
+}
+elf_symbol {
id: 0x1f294d29
name: "ipv6_skip_exthdr"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1e7ff6cb
+ crc: 0x2fbf103d
type_id: 0x9384ebd6
full_name: "ipv6_skip_exthdr"
}
@@ -351859,7 +364094,7 @@ elf_symbol {
name: "ipv6_stub"
is_defined: true
symbol_type: OBJECT
- crc: 0x3fcfdb99
+ crc: 0x69417d20
type_id: 0x3d278a00
full_name: "ipv6_stub"
}
@@ -352080,6 +364315,15 @@ elf_symbol {
full_name: "irq_domain_disconnect_hierarchy"
}
elf_symbol {
+ id: 0x3fa49947
+ name: "irq_domain_free_fwnode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x36fc4cbc
+ type_id: 0x11bc7f41
+ full_name: "irq_domain_free_fwnode"
+}
+elf_symbol {
id: 0x327b1cbb
name: "irq_domain_free_irqs_common"
is_defined: true
@@ -352233,6 +364477,15 @@ elf_symbol {
full_name: "irq_gc_mask_set_bit"
}
elf_symbol {
+ id: 0x508904bc
+ name: "irq_gc_set_wake"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x12d2b40d
+ type_id: 0x9e49e56e
+ full_name: "irq_gc_set_wake"
+}
+elf_symbol {
id: 0xe8b2d7a6
name: "irq_generic_chip_ops"
is_defined: true
@@ -352386,6 +364639,15 @@ elf_symbol {
full_name: "irq_set_parent"
}
elf_symbol {
+ id: 0x3b8e2bac
+ name: "irq_stat"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xcc365d07
+ type_id: 0x0b098126
+ full_name: "irq_stat"
+}
+elf_symbol {
id: 0xc89a8e29
name: "irq_to_desc"
is_defined: true
@@ -352440,6 +364702,15 @@ elf_symbol {
full_name: "is_ashmem_file"
}
elf_symbol {
+ id: 0x65d49acf
+ name: "is_bad_inode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x11395a73
+ type_id: 0xf8453f2e
+ full_name: "is_bad_inode"
+}
+elf_symbol {
id: 0x064a6e13
name: "is_console_locked"
is_defined: true
@@ -352495,6 +364766,15 @@ elf_symbol {
full_name: "isolate_anon_lru_page"
}
elf_symbol {
+ id: 0xbb7edccb
+ name: "iter_file_splice_write"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4d5b9d7d
+ type_id: 0x165fda2d
+ full_name: "iter_file_splice_write"
+}
+elf_symbol {
id: 0xd4b34ea6
name: "iterate_dir"
is_defined: true
@@ -352508,16 +364788,25 @@ elf_symbol {
name: "iterate_fd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1886cee2
+ crc: 0x3204fe7a
type_id: 0x9659ea27
full_name: "iterate_fd"
}
elf_symbol {
+ id: 0xca27ab6b
+ name: "iunique"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x371ada39
+ type_id: 0x14827bad
+ full_name: "iunique"
+}
+elf_symbol {
id: 0x124d42c2
name: "iw_handler_get_spy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x15402b41
+ crc: 0xfde0f341
type_id: 0x91aa9fd5
full_name: "iw_handler_get_spy"
}
@@ -352526,7 +364815,7 @@ elf_symbol {
name: "iw_handler_get_thrspy"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcbe79505
+ crc: 0x23474d05
type_id: 0x91aa9fd5
full_name: "iw_handler_get_thrspy"
}
@@ -352535,7 +364824,7 @@ elf_symbol {
name: "iw_handler_set_spy"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcf7a25ef
+ crc: 0x27dafdef
type_id: 0x91aa9fd5
full_name: "iw_handler_set_spy"
}
@@ -352544,7 +364833,7 @@ elf_symbol {
name: "iw_handler_set_thrspy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x408e1189
+ crc: 0xa82ec989
type_id: 0x91aa9fd5
full_name: "iw_handler_set_thrspy"
}
@@ -352679,7 +364968,7 @@ elf_symbol {
name: "kernel_accept"
is_defined: true
symbol_type: FUNCTION
- crc: 0xadcb7c34
+ crc: 0x0e131c4a
type_id: 0x99bb01a5
full_name: "kernel_accept"
}
@@ -352688,7 +364977,7 @@ elf_symbol {
name: "kernel_bind"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd9827633
+ crc: 0xf28ec505
type_id: 0x99526c70
full_name: "kernel_bind"
}
@@ -352697,7 +364986,7 @@ elf_symbol {
name: "kernel_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2457f7c9
+ crc: 0x6f9153a5
type_id: 0x9953f0f3
full_name: "kernel_connect"
}
@@ -352715,7 +365004,7 @@ elf_symbol {
name: "kernel_getsockname"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf3abf666
+ crc: 0x4a997980
type_id: 0x994ba444
full_name: "kernel_getsockname"
}
@@ -352733,11 +365022,29 @@ elf_symbol {
name: "kernel_listen"
is_defined: true
symbol_type: FUNCTION
- crc: 0x44592339
+ crc: 0x564aa2e8
type_id: 0x98046a12
full_name: "kernel_listen"
}
elf_symbol {
+ id: 0x52f17879
+ name: "kernel_neon_begin"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8fd180e7
+ type_id: 0x10985193
+ full_name: "kernel_neon_begin"
+}
+elf_symbol {
+ id: 0xa84cb89b
+ name: "kernel_neon_end"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa8a8110c
+ type_id: 0x10985193
+ full_name: "kernel_neon_end"
+}
+elf_symbol {
id: 0xff4a14be
name: "kernel_param_lock"
is_defined: true
@@ -352769,7 +365076,7 @@ elf_symbol {
name: "kernel_recvmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x480deab9
+ crc: 0xed5d2c06
type_id: 0x992e9bfb
full_name: "kernel_recvmsg"
}
@@ -352787,7 +365094,7 @@ elf_symbol {
name: "kernel_sendmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6ec315f6
+ crc: 0xb240b296
type_id: 0x992e9a67
full_name: "kernel_sendmsg"
}
@@ -352805,7 +365112,7 @@ elf_symbol {
name: "kernel_sock_shutdown"
is_defined: true
symbol_type: FUNCTION
- crc: 0x775f65d1
+ crc: 0xbb70ed39
type_id: 0x9b768ae0
full_name: "kernel_sock_shutdown"
}
@@ -352868,7 +365175,7 @@ elf_symbol {
name: "keyring_alloc"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1029234d
+ crc: 0x6fd638fd
type_id: 0x8f04b264
full_name: "keyring_alloc"
}
@@ -352904,7 +365211,7 @@ elf_symbol {
name: "kfree_skb_list_reason"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf9726a31
+ crc: 0x441d50a3
type_id: 0x11a9e681
full_name: "kfree_skb_list_reason"
}
@@ -352913,7 +365220,7 @@ elf_symbol {
name: "kfree_skb_partial"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc1cd5980
+ crc: 0x84305e73
type_id: 0x107e76aa
full_name: "kfree_skb_partial"
}
@@ -352922,7 +365229,7 @@ elf_symbol {
name: "kfree_skb_reason"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf6affdf9
+ crc: 0x234cc6c0
type_id: 0x11a9e681
full_name: "kfree_skb_reason"
}
@@ -352936,6 +365243,15 @@ elf_symbol {
full_name: "kick_all_cpus_sync"
}
elf_symbol {
+ id: 0xe4128490
+ name: "kick_process"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf7f30b89
+ type_id: 0x17de3be6
+ full_name: "kick_process"
+}
+elf_symbol {
id: 0xb1072fb1
name: "kill_anon_super"
is_defined: true
@@ -352945,6 +365261,15 @@ elf_symbol {
full_name: "kill_anon_super"
}
elf_symbol {
+ id: 0xe657d525
+ name: "kill_block_super"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0ae50695
+ type_id: 0x1923cb99
+ full_name: "kill_block_super"
+}
+elf_symbol {
id: 0x661955d6
name: "kill_fasync"
is_defined: true
@@ -353035,6 +365360,24 @@ elf_symbol {
full_name: "kmem_cache_alloc"
}
elf_symbol {
+ id: 0x3b959429
+ name: "kmem_cache_alloc_lru"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x390004c6
+ type_id: 0x5de26741
+ full_name: "kmem_cache_alloc_lru"
+}
+elf_symbol {
+ id: 0x86921e4b
+ name: "kmem_cache_alloc_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf1e19a13
+ type_id: 0x5ef6b6b7
+ full_name: "kmem_cache_alloc_node"
+}
+elf_symbol {
id: 0x56f23732
name: "kmem_cache_create"
is_defined: true
@@ -353237,7 +365580,7 @@ elf_symbol {
name: "kobject_uevent"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd1800c97
+ crc: 0x5aac7c29
type_id: 0x950b8829
full_name: "kobject_uevent"
}
@@ -353246,7 +365589,7 @@ elf_symbol {
name: "kobject_uevent_env"
is_defined: true
symbol_type: FUNCTION
- crc: 0x610a262c
+ crc: 0x857f14bd
type_id: 0x95096419
full_name: "kobject_uevent_env"
}
@@ -353422,6 +365765,15 @@ elf_symbol {
full_name: "kstrtoll"
}
elf_symbol {
+ id: 0xf44e0659
+ name: "kstrtos16"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe0419ac4
+ type_id: 0x9312e40f
+ full_name: "kstrtos16"
+}
+elf_symbol {
id: 0x9c1bb84e
name: "kstrtos8"
is_defined: true
@@ -353647,6 +365999,15 @@ elf_symbol {
full_name: "kthread_flush_worker"
}
elf_symbol {
+ id: 0x2fbecafd
+ name: "kthread_freezable_should_stop"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xca7d8764
+ type_id: 0xfad7a092
+ full_name: "kthread_freezable_should_stop"
+}
+elf_symbol {
id: 0x49232ca9
name: "kthread_mod_delayed_work"
is_defined: true
@@ -353948,7 +366309,7 @@ elf_symbol {
name: "l2cap_add_psm"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf4929b1e
+ crc: 0x5309dac2
type_id: 0x9dff38c4
full_name: "l2cap_add_psm"
}
@@ -353957,7 +366318,7 @@ elf_symbol {
name: "l2cap_chan_close"
is_defined: true
symbol_type: FUNCTION
- crc: 0x71fa79cb
+ crc: 0xbc04cc40
type_id: 0x11d1a5c3
full_name: "l2cap_chan_close"
}
@@ -353966,7 +366327,7 @@ elf_symbol {
name: "l2cap_chan_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x76ce9e2c
+ crc: 0x7b272ac4
type_id: 0x9f1e1154
full_name: "l2cap_chan_connect"
}
@@ -353975,7 +366336,7 @@ elf_symbol {
name: "l2cap_chan_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6dbadb0d
+ crc: 0x0cf226d7
type_id: 0xedba1f63
full_name: "l2cap_chan_create"
}
@@ -353984,7 +366345,7 @@ elf_symbol {
name: "l2cap_chan_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0x08e84bfa
+ crc: 0xdacaf929
type_id: 0x11d1a5c3
full_name: "l2cap_chan_del"
}
@@ -353993,7 +366354,7 @@ elf_symbol {
name: "l2cap_chan_list"
is_defined: true
symbol_type: FUNCTION
- crc: 0x236dcc5a
+ crc: 0x0318963b
type_id: 0x1caf5700
full_name: "l2cap_chan_list"
}
@@ -354002,7 +366363,7 @@ elf_symbol {
name: "l2cap_chan_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4e1c817c
+ crc: 0xadbe7195
type_id: 0x104d268f
full_name: "l2cap_chan_put"
}
@@ -354011,7 +366372,7 @@ elf_symbol {
name: "l2cap_chan_send"
is_defined: true
symbol_type: FUNCTION
- crc: 0x185ebace
+ crc: 0x20f36f9d
type_id: 0x9ddbf7b4
full_name: "l2cap_chan_send"
}
@@ -354020,7 +366381,7 @@ elf_symbol {
name: "l2cap_chan_set_defaults"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7f7ea9cc
+ crc: 0x4640d465
type_id: 0x104d268f
full_name: "l2cap_chan_set_defaults"
}
@@ -354029,7 +366390,7 @@ elf_symbol {
name: "l2cap_conn_get"
is_defined: true
symbol_type: FUNCTION
- crc: 0x14ba992b
+ crc: 0xe4c0d4ae
type_id: 0xa6fe7077
full_name: "l2cap_conn_get"
}
@@ -354038,7 +366399,7 @@ elf_symbol {
name: "l2cap_conn_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc3a46e39
+ crc: 0x611a22ca
type_id: 0x1ef27e10
full_name: "l2cap_conn_put"
}
@@ -354047,7 +366408,7 @@ elf_symbol {
name: "l2cap_is_socket"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaf25f3c6
+ crc: 0x31b3bf78
type_id: 0xfabc5175
full_name: "l2cap_is_socket"
}
@@ -354056,7 +366417,7 @@ elf_symbol {
name: "l2cap_register_user"
is_defined: true
symbol_type: FUNCTION
- crc: 0x57823900
+ crc: 0xd817a750
type_id: 0x9390f5c5
full_name: "l2cap_register_user"
}
@@ -354065,7 +366426,7 @@ elf_symbol {
name: "l2cap_unregister_user"
is_defined: true
symbol_type: FUNCTION
- crc: 0x091d9ab0
+ crc: 0xb8a79e98
type_id: 0x1e884779
full_name: "l2cap_unregister_user"
}
@@ -354074,7 +366435,7 @@ elf_symbol {
name: "l2tp_recv_common"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe3da9d60
+ crc: 0xd7b67f90
type_id: 0x15503314
full_name: "l2tp_recv_common"
}
@@ -354083,7 +366444,7 @@ elf_symbol {
name: "l2tp_session_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5655af24
+ crc: 0xa99e8f9e
type_id: 0xf6e0960a
full_name: "l2tp_session_create"
}
@@ -354092,7 +366453,7 @@ elf_symbol {
name: "l2tp_session_dec_refcount"
is_defined: true
symbol_type: FUNCTION
- crc: 0x939f7280
+ crc: 0x044f87d8
type_id: 0x154220a5
full_name: "l2tp_session_dec_refcount"
}
@@ -354101,7 +366462,7 @@ elf_symbol {
name: "l2tp_session_delete"
is_defined: true
symbol_type: FUNCTION
- crc: 0x83970d8f
+ crc: 0x329487cb
type_id: 0x154220a5
full_name: "l2tp_session_delete"
}
@@ -354110,7 +366471,7 @@ elf_symbol {
name: "l2tp_session_get"
is_defined: true
symbol_type: FUNCTION
- crc: 0x05af0723
+ crc: 0x5591b1e7
type_id: 0xe3a506be
full_name: "l2tp_session_get"
}
@@ -354119,7 +366480,7 @@ elf_symbol {
name: "l2tp_session_get_by_ifname"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1e9f3417
+ crc: 0x439328d4
type_id: 0xe07964c6
full_name: "l2tp_session_get_by_ifname"
}
@@ -354128,7 +366489,7 @@ elf_symbol {
name: "l2tp_session_get_nth"
is_defined: true
symbol_type: FUNCTION
- crc: 0xca82e0c9
+ crc: 0xa334e0fd
type_id: 0xe7f6577b
full_name: "l2tp_session_get_nth"
}
@@ -354137,7 +366498,7 @@ elf_symbol {
name: "l2tp_session_inc_refcount"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3b05a2e8
+ crc: 0x1b7d2a94
type_id: 0x154220a5
full_name: "l2tp_session_inc_refcount"
}
@@ -354146,7 +366507,7 @@ elf_symbol {
name: "l2tp_session_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x96ef7e2e
+ crc: 0x3e42889a
type_id: 0x98c44e7d
full_name: "l2tp_session_register"
}
@@ -354155,7 +366516,7 @@ elf_symbol {
name: "l2tp_session_set_header_len"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8992ee59
+ crc: 0xd462b4a4
type_id: 0x14dea3e9
full_name: "l2tp_session_set_header_len"
}
@@ -354164,7 +366525,7 @@ elf_symbol {
name: "l2tp_sk_to_tunnel"
is_defined: true
symbol_type: FUNCTION
- crc: 0xae8de754
+ crc: 0x788257b9
type_id: 0x30b12c32
full_name: "l2tp_sk_to_tunnel"
}
@@ -354173,7 +366534,7 @@ elf_symbol {
name: "l2tp_tunnel_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0x85164717
+ crc: 0x5699f3d2
type_id: 0x85e53152
full_name: "l2tp_tunnel_create"
}
@@ -354182,7 +366543,7 @@ elf_symbol {
name: "l2tp_tunnel_dec_refcount"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4fafa7a4
+ crc: 0xd559bd1d
type_id: 0x197597d7
full_name: "l2tp_tunnel_dec_refcount"
}
@@ -354191,7 +366552,7 @@ elf_symbol {
name: "l2tp_tunnel_delete"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0c233334
+ crc: 0x0e742a21
type_id: 0x197597d7
full_name: "l2tp_tunnel_delete"
}
@@ -354200,7 +366561,7 @@ elf_symbol {
name: "l2tp_tunnel_get"
is_defined: true
symbol_type: FUNCTION
- crc: 0x96e61861
+ crc: 0xb94627a1
type_id: 0x3bc23464
full_name: "l2tp_tunnel_get"
}
@@ -354209,7 +366570,7 @@ elf_symbol {
name: "l2tp_tunnel_get_nth"
is_defined: true
symbol_type: FUNCTION
- crc: 0x76b5a30e
+ crc: 0x2a196e15
type_id: 0x397a9784
full_name: "l2tp_tunnel_get_nth"
}
@@ -354218,7 +366579,7 @@ elf_symbol {
name: "l2tp_tunnel_get_session"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb6b49b44
+ crc: 0xb7d4c0d8
type_id: 0xe54ef49b
full_name: "l2tp_tunnel_get_session"
}
@@ -354227,7 +366588,7 @@ elf_symbol {
name: "l2tp_tunnel_inc_refcount"
is_defined: true
symbol_type: FUNCTION
- crc: 0x88738bfb
+ crc: 0x3a672d09
type_id: 0x197597d7
full_name: "l2tp_tunnel_inc_refcount"
}
@@ -354236,7 +366597,7 @@ elf_symbol {
name: "l2tp_tunnel_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x210b930c
+ crc: 0x2ef77e74
type_id: 0x945c71bc
full_name: "l2tp_tunnel_register"
}
@@ -354245,7 +366606,7 @@ elf_symbol {
name: "l2tp_udp_encap_recv"
is_defined: true
symbol_type: FUNCTION
- crc: 0xedc45c7f
+ crc: 0x1167335b
type_id: 0x9ac4d210
full_name: "l2tp_udp_encap_recv"
}
@@ -354254,7 +366615,7 @@ elf_symbol {
name: "l2tp_xmit_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0db48fbe
+ crc: 0x9ddbf6c3
type_id: 0x984fafbd
full_name: "l2tp_xmit_skb"
}
@@ -354322,6 +366683,15 @@ elf_symbol {
full_name: "led_mc_calc_color_components"
}
elf_symbol {
+ id: 0xbea2c272
+ name: "led_set_brightness_nosleep"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8d7fee8c
+ type_id: 0x1d3cefc2
+ full_name: "led_set_brightness_nosleep"
+}
+elf_symbol {
id: 0x2e74d698
name: "led_set_brightness_sync"
is_defined: true
@@ -354461,7 +366831,7 @@ elf_symbol {
name: "linkwatch_fire_event"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4ae2d4a9
+ crc: 0x2d9e0ed8
type_id: 0x1c31d966
full_name: "linkwatch_fire_event"
}
@@ -354493,11 +366863,29 @@ elf_symbol {
full_name: "llist_reverse_order"
}
elf_symbol {
+ id: 0x6b29ddfb
+ name: "load_nls"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x14646232
+ type_id: 0x4e6eaff2
+ full_name: "load_nls"
+}
+elf_symbol {
+ id: 0xc05c2da4
+ name: "load_nls_default"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xbeb78729
+ type_id: 0x4f4e564c
+ full_name: "load_nls_default"
+}
+elf_symbol {
id: 0xaaab26df
name: "lock_sock_nested"
is_defined: true
symbol_type: FUNCTION
- crc: 0x98d12cb1
+ crc: 0x94a1d0ed
type_id: 0x1655de44
full_name: "lock_sock_nested"
}
@@ -354569,7 +366957,7 @@ elf_symbol {
name: "logfc"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc9a13f3b
+ crc: 0x5c5971c8
type_id: 0x11cf2aed
full_name: "logfc"
}
@@ -354596,7 +366984,7 @@ elf_symbol {
name: "lowpan_header_compress"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbe2a3685
+ crc: 0xad31bd5d
type_id: 0x9c13fdc1
full_name: "lowpan_header_compress"
}
@@ -354605,7 +366993,7 @@ elf_symbol {
name: "lowpan_header_decompress"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf002f366
+ crc: 0x8c56cba6
type_id: 0x9c13fdc1
full_name: "lowpan_header_decompress"
}
@@ -354614,7 +367002,7 @@ elf_symbol {
name: "lowpan_nhc_add"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9e0bdfd6
+ crc: 0x9fd87e04
type_id: 0x9286d894
full_name: "lowpan_nhc_add"
}
@@ -354623,7 +367011,7 @@ elf_symbol {
name: "lowpan_nhc_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc4906d43
+ crc: 0xa20a9587
type_id: 0x1f9e6a28
full_name: "lowpan_nhc_del"
}
@@ -354632,7 +367020,7 @@ elf_symbol {
name: "lowpan_register_netdev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x487ce52d
+ crc: 0xaec2b9fa
type_id: 0x92a49dbe
full_name: "lowpan_register_netdev"
}
@@ -354641,7 +367029,7 @@ elf_symbol {
name: "lowpan_register_netdevice"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd67d70ee
+ crc: 0x9e24b052
type_id: 0x92a49dbe
full_name: "lowpan_register_netdevice"
}
@@ -354650,7 +367038,7 @@ elf_symbol {
name: "lowpan_unregister_netdev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xebecaf9c
+ crc: 0xa3191ad6
type_id: 0x1c31d966
full_name: "lowpan_unregister_netdev"
}
@@ -354659,7 +367047,7 @@ elf_symbol {
name: "lowpan_unregister_netdevice"
is_defined: true
symbol_type: FUNCTION
- crc: 0x581b4d9e
+ crc: 0x71e189c1
type_id: 0x1c31d966
full_name: "lowpan_unregister_netdevice"
}
@@ -354673,6 +367061,51 @@ elf_symbol {
full_name: "mac_pton"
}
elf_symbol {
+ id: 0xf4530070
+ name: "make_bad_inode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfc3a4c5b
+ type_id: 0x167935b9
+ full_name: "make_bad_inode"
+}
+elf_symbol {
+ id: 0x7ee18475
+ name: "mark_buffer_async_write"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x747d8323
+ type_id: 0x16c5a8cd
+ full_name: "mark_buffer_async_write"
+}
+elf_symbol {
+ id: 0x18bd1341
+ name: "mark_buffer_dirty"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xeebcd79e
+ type_id: 0x16c5a8cd
+ full_name: "mark_buffer_dirty"
+}
+elf_symbol {
+ id: 0xac8ea5a3
+ name: "mark_buffer_write_io_error"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1161eeb7
+ type_id: 0x16c5a8cd
+ full_name: "mark_buffer_write_io_error"
+}
+elf_symbol {
+ id: 0x5a1c51ee
+ name: "mark_page_accessed"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1265d1cb
+ type_id: 0x11388634
+ full_name: "mark_page_accessed"
+}
+elf_symbol {
id: 0xe4eac6bd
name: "mas_empty_area_rev"
is_defined: true
@@ -354884,7 +367317,7 @@ elf_symbol {
name: "mdiobus_alloc_size"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc5e1f9a7
+ crc: 0xa8c549aa
type_id: 0x9384eeb1
full_name: "mdiobus_alloc_size"
}
@@ -354893,7 +367326,7 @@ elf_symbol {
name: "mdiobus_free"
is_defined: true
symbol_type: FUNCTION
- crc: 0xac4e1b64
+ crc: 0x3f19d564
type_id: 0x1ded15a3
full_name: "mdiobus_free"
}
@@ -354902,7 +367335,7 @@ elf_symbol {
name: "mdiobus_get_phy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x74ee4db4
+ crc: 0x88535ab3
type_id: 0xbf379f2f
full_name: "mdiobus_get_phy"
}
@@ -354911,7 +367344,7 @@ elf_symbol {
name: "mdiobus_is_registered_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x252b58c3
+ crc: 0x044681d0
type_id: 0xf24d9c78
full_name: "mdiobus_is_registered_device"
}
@@ -354920,7 +367353,7 @@ elf_symbol {
name: "mdiobus_modify_changed"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf434b095
+ crc: 0x22bae055
type_id: 0x9159073c
full_name: "mdiobus_modify_changed"
}
@@ -354929,7 +367362,7 @@ elf_symbol {
name: "mdiobus_read"
is_defined: true
symbol_type: FUNCTION
- crc: 0x76fd4046
+ crc: 0x9b2615a6
type_id: 0x915b6659
full_name: "mdiobus_read"
}
@@ -354938,7 +367371,7 @@ elf_symbol {
name: "mdiobus_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x48f64a20
+ crc: 0x89879ae8
type_id: 0x1ded15a3
full_name: "mdiobus_unregister"
}
@@ -354947,7 +367380,7 @@ elf_symbol {
name: "mdiobus_write"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9cbe1ec1
+ crc: 0x95306f07
type_id: 0x9159236f
full_name: "mdiobus_write"
}
@@ -355051,6 +367484,15 @@ elf_symbol {
full_name: "media_entity_remove_links"
}
elf_symbol {
+ id: 0xda5dc517
+ name: "media_entity_setup_link"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe5982bfb
+ type_id: 0x901c3c62
+ full_name: "media_entity_setup_link"
+}
+elf_symbol {
id: 0x84278a73
name: "media_graph_walk_cleanup"
is_defined: true
@@ -355154,11 +367596,20 @@ elf_symbol {
name: "mem_cgroup_from_id"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbbd10a79
+ crc: 0xd0c2ea0e
type_id: 0x59f18b0b
full_name: "mem_cgroup_from_id"
}
elf_symbol {
+ id: 0x6da682ae
+ name: "mem_cgroup_update_lru_size"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x351f9cbb
+ type_id: 0x1ef25648
+ full_name: "mem_cgroup_update_lru_size"
+}
+elf_symbol {
id: 0x7f797603
name: "mem_dump_obj"
is_defined: true
@@ -355277,7 +367728,7 @@ elf_symbol {
name: "memory_cgrp_subsys"
is_defined: true
symbol_type: OBJECT
- crc: 0x286773fd
+ crc: 0x06703019
type_id: 0x00571446
full_name: "memory_cgrp_subsys"
}
@@ -355501,7 +367952,7 @@ elf_symbol {
name: "migrate_swap"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe91e4658
+ crc: 0xb3b01563
type_id: 0x9aaabb4a
full_name: "migrate_swap"
}
@@ -355510,7 +367961,7 @@ elf_symbol {
name: "mii_check_media"
is_defined: true
symbol_type: FUNCTION
- crc: 0x337e871e
+ crc: 0x0b839173
type_id: 0xcb5a4db0
full_name: "mii_check_media"
}
@@ -355519,16 +367970,25 @@ elf_symbol {
name: "mii_ethtool_gset"
is_defined: true
symbol_type: FUNCTION
- crc: 0x658cc2e6
+ crc: 0xc42b22b3
type_id: 0x142e3633
full_name: "mii_ethtool_gset"
}
elf_symbol {
+ id: 0x863e9436
+ name: "mii_link_ok"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x957e09ab
+ type_id: 0x9906a4a5
+ full_name: "mii_link_ok"
+}
+elf_symbol {
id: 0x1579ecd2
name: "mii_nway_restart"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2058293b
+ crc: 0x82a00e5c
type_id: 0x9906a4a5
full_name: "mii_nway_restart"
}
@@ -355794,6 +368254,15 @@ elf_symbol {
full_name: "mipi_dsi_packet_format_is_long"
}
elf_symbol {
+ id: 0xb6dbcbcc
+ name: "mipi_dsi_packet_format_is_short"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x238b099f
+ type_id: 0xf4f34784
+ full_name: "mipi_dsi_packet_format_is_short"
+}
+elf_symbol {
id: 0xdca2a3c4
name: "mipi_dsi_picture_parameter_set"
is_defined: true
@@ -355803,6 +368272,15 @@ elf_symbol {
full_name: "mipi_dsi_picture_parameter_set"
}
elf_symbol {
+ id: 0x6d579aaf
+ name: "mipi_dsi_set_maximum_return_packet_size"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x24bb881a
+ type_id: 0x9d9d4f0f
+ full_name: "mipi_dsi_set_maximum_return_packet_size"
+}
+elf_symbol {
id: 0xe4059d72
name: "misc_deregister"
is_defined: true
@@ -356262,6 +368740,15 @@ elf_symbol {
full_name: "mmc_set_timing"
}
elf_symbol {
+ id: 0xa6d8e105
+ name: "mmc_sw_reset"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x59a1e31f
+ type_id: 0x9d19aa55
+ full_name: "mmc_sw_reset"
+}
+elf_symbol {
id: 0x44bb49dc
name: "mmc_switch"
is_defined: true
@@ -356307,6 +368794,24 @@ elf_symbol {
full_name: "mmu_notifier_synchronize"
}
elf_symbol {
+ id: 0x8ba1a556
+ name: "mnt_drop_write_file"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x85bbfbfb
+ type_id: 0x16a2cb2b
+ full_name: "mnt_drop_write_file"
+}
+elf_symbol {
+ id: 0xa5e98cbe
+ name: "mnt_want_write_file"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd1d02e22
+ type_id: 0x9bba7997
+ full_name: "mnt_want_write_file"
+}
+elf_symbol {
id: 0xdf7b9a78
name: "mod_delayed_work_on"
is_defined: true
@@ -356361,6 +368866,33 @@ elf_symbol {
full_name: "module_put"
}
elf_symbol {
+ id: 0x18e8ea11
+ name: "mount_bdev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x60df2cf1
+ type_id: 0x81599f70
+ full_name: "mount_bdev"
+}
+elf_symbol {
+ id: 0x1405e8c0
+ name: "mpage_read_folio"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xec56bcef
+ type_id: 0x956e6587
+ full_name: "mpage_read_folio"
+}
+elf_symbol {
+ id: 0x84babda3
+ name: "mpage_readahead"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6659babe
+ type_id: 0x19fc4f29
+ full_name: "mpage_readahead"
+}
+elf_symbol {
id: 0xbedab58b
name: "msi_first_desc"
is_defined: true
@@ -356509,16 +369041,25 @@ elf_symbol {
name: "napi_build_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7e2ae2e2
+ crc: 0x4b91433a
type_id: 0x6fa775f5
full_name: "napi_build_skb"
}
elf_symbol {
+ id: 0x760780be
+ name: "napi_busy_loop"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x29604158
+ type_id: 0x012cb0da
+ full_name: "napi_busy_loop"
+}
+elf_symbol {
id: 0xc258a893
name: "napi_complete_done"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5aec927a
+ crc: 0xdfaca303
type_id: 0xf938bd88
full_name: "napi_complete_done"
}
@@ -356527,7 +369068,7 @@ elf_symbol {
name: "napi_consume_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe2ddf782
+ crc: 0xb26a8708
type_id: 0x10570899
full_name: "napi_consume_skb"
}
@@ -356536,7 +369077,7 @@ elf_symbol {
name: "napi_disable"
is_defined: true
symbol_type: FUNCTION
- crc: 0x514c5830
+ crc: 0x7f9a71db
type_id: 0x16983453
full_name: "napi_disable"
}
@@ -356545,7 +369086,7 @@ elf_symbol {
name: "napi_enable"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc3c1cb79
+ crc: 0x39b1be5a
type_id: 0x16983453
full_name: "napi_enable"
}
@@ -356554,7 +369095,7 @@ elf_symbol {
name: "napi_gro_flush"
is_defined: true
symbol_type: FUNCTION
- crc: 0x21d6e727
+ crc: 0x20d9ab00
type_id: 0x172dc92c
full_name: "napi_gro_flush"
}
@@ -356563,7 +369104,7 @@ elf_symbol {
name: "napi_gro_receive"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe1addd23
+ crc: 0xa02f0ec2
type_id: 0x091a93fa
full_name: "napi_gro_receive"
}
@@ -356572,7 +369113,7 @@ elf_symbol {
name: "napi_schedule_prep"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbfad3c2a
+ crc: 0x74dc6705
type_id: 0xf8a43ec4
full_name: "napi_schedule_prep"
}
@@ -356581,7 +369122,7 @@ elf_symbol {
name: "nd_tbl"
is_defined: true
symbol_type: OBJECT
- crc: 0xd9c7afdd
+ crc: 0x137f0168
type_id: 0x77670b3b
full_name: "nd_tbl"
}
@@ -356590,7 +369131,7 @@ elf_symbol {
name: "neigh_destroy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3694808b
+ crc: 0xf9a35910
type_id: 0x1262fcf5
full_name: "neigh_destroy"
}
@@ -356599,7 +369140,7 @@ elf_symbol {
name: "neigh_lookup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9fdaaa09
+ crc: 0x58bcf44b
type_id: 0x189b5d05
full_name: "neigh_lookup"
}
@@ -356608,7 +369149,7 @@ elf_symbol {
name: "neigh_resolve_output"
is_defined: true
symbol_type: FUNCTION
- crc: 0xca234455
+ crc: 0x77f910e9
type_id: 0x9f6f73ed
full_name: "neigh_resolve_output"
}
@@ -356626,7 +369167,7 @@ elf_symbol {
name: "net_ns_type_operations"
is_defined: true
symbol_type: OBJECT
- crc: 0xc517a654
+ crc: 0x8896b0fb
type_id: 0xeabee0bd
full_name: "net_ns_type_operations"
}
@@ -356644,7 +369185,7 @@ elf_symbol {
name: "net_selftest"
is_defined: true
symbol_type: FUNCTION
- crc: 0x193a45f8
+ crc: 0xfd587d2a
type_id: 0x1c31f969
full_name: "net_selftest"
}
@@ -356671,7 +369212,7 @@ elf_symbol {
name: "netdev_alert"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8c5176d0
+ crc: 0xb316f0fe
type_id: 0x1caf28d1
full_name: "netdev_alert"
}
@@ -356680,7 +369221,7 @@ elf_symbol {
name: "netdev_change_features"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0981ec68
+ crc: 0xa5404d0d
type_id: 0x1c31d966
full_name: "netdev_change_features"
}
@@ -356689,7 +369230,7 @@ elf_symbol {
name: "netdev_core_stats_alloc"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc2a6edad
+ crc: 0x2d3f14aa
type_id: 0x9286ca40
full_name: "netdev_core_stats_alloc"
}
@@ -356698,7 +369239,7 @@ elf_symbol {
name: "netdev_err"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8bd1d004
+ crc: 0xb16a3d6d
type_id: 0x1caf28d1
full_name: "netdev_err"
}
@@ -356716,7 +369257,7 @@ elf_symbol {
name: "netdev_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0x77c7ecd4
+ crc: 0x10ea702c
type_id: 0x1caf28d1
full_name: "netdev_info"
}
@@ -356725,7 +369266,7 @@ elf_symbol {
name: "netdev_lower_state_changed"
is_defined: true
symbol_type: FUNCTION
- crc: 0x07c31ad1
+ crc: 0xa5d29cdc
type_id: 0x1c532cf2
full_name: "netdev_lower_state_changed"
}
@@ -356734,7 +369275,7 @@ elf_symbol {
name: "netdev_master_upper_dev_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaa599ee9
+ crc: 0x8fabd7e3
type_id: 0x91e5bf0e
full_name: "netdev_master_upper_dev_link"
}
@@ -356743,7 +369284,7 @@ elf_symbol {
name: "netdev_name_in_use"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8d118fe3
+ crc: 0x3b26056f
type_id: 0xfd7484f0
full_name: "netdev_name_in_use"
}
@@ -356752,7 +369293,7 @@ elf_symbol {
name: "netdev_notice"
is_defined: true
symbol_type: FUNCTION
- crc: 0x026506a2
+ crc: 0xe416664f
type_id: 0x1caf28d1
full_name: "netdev_notice"
}
@@ -356761,7 +369302,7 @@ elf_symbol {
name: "netdev_notify_peers"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd8d15e4f
+ crc: 0x84dace7d
type_id: 0x1c31d966
full_name: "netdev_notify_peers"
}
@@ -356770,7 +369311,7 @@ elf_symbol {
name: "netdev_pick_tx"
is_defined: true
symbol_type: FUNCTION
- crc: 0x56fd939c
+ crc: 0x10ab015f
type_id: 0x0d9b3569
full_name: "netdev_pick_tx"
}
@@ -356779,7 +369320,7 @@ elf_symbol {
name: "netdev_printk"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5ab187a1
+ crc: 0xd7cebfd3
type_id: 0x1fdf0b41
full_name: "netdev_printk"
}
@@ -356797,7 +369338,7 @@ elf_symbol {
name: "netdev_rx_handler_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x734c6b5b
+ crc: 0xf203f1f4
type_id: 0x913b542f
full_name: "netdev_rx_handler_register"
}
@@ -356806,7 +369347,7 @@ elf_symbol {
name: "netdev_rx_handler_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x81dcd7b1
+ crc: 0x5560536e
type_id: 0x1c31d966
full_name: "netdev_rx_handler_unregister"
}
@@ -356815,7 +369356,7 @@ elf_symbol {
name: "netdev_set_default_ethtool_ops"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8109bcbe
+ crc: 0x83fe02f2
type_id: 0x1cd08481
full_name: "netdev_set_default_ethtool_ops"
}
@@ -356824,7 +369365,7 @@ elf_symbol {
name: "netdev_state_change"
is_defined: true
symbol_type: FUNCTION
- crc: 0x40ccadde
+ crc: 0xc2ed97e1
type_id: 0x1c31d966
full_name: "netdev_state_change"
}
@@ -356833,7 +369374,7 @@ elf_symbol {
name: "netdev_update_features"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4fdc8bcb
+ crc: 0xe23f3795
type_id: 0x1c31d966
full_name: "netdev_update_features"
}
@@ -356842,7 +369383,7 @@ elf_symbol {
name: "netdev_upper_dev_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5669a1e6
+ crc: 0x201c1c74
type_id: 0x91e20463
full_name: "netdev_upper_dev_link"
}
@@ -356851,7 +369392,7 @@ elf_symbol {
name: "netdev_upper_dev_unlink"
is_defined: true
symbol_type: FUNCTION
- crc: 0x92fc3f55
+ crc: 0x52637a4b
type_id: 0x1cfb41e9
full_name: "netdev_upper_dev_unlink"
}
@@ -356860,7 +369401,7 @@ elf_symbol {
name: "netdev_warn"
is_defined: true
symbol_type: FUNCTION
- crc: 0x89baa536
+ crc: 0x727ebc1b
type_id: 0x1caf28d1
full_name: "netdev_warn"
}
@@ -356869,7 +369410,7 @@ elf_symbol {
name: "netif_carrier_off"
is_defined: true
symbol_type: FUNCTION
- crc: 0xedb66131
+ crc: 0x6508739f
type_id: 0x1c31d966
full_name: "netif_carrier_off"
}
@@ -356878,7 +369419,7 @@ elf_symbol {
name: "netif_carrier_on"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e03789f
+ crc: 0x560a9ddb
type_id: 0x1c31d966
full_name: "netif_carrier_on"
}
@@ -356887,7 +369428,7 @@ elf_symbol {
name: "netif_device_attach"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc6c81724
+ crc: 0x97bc586d
type_id: 0x1c31d966
full_name: "netif_device_attach"
}
@@ -356896,7 +369437,7 @@ elf_symbol {
name: "netif_device_detach"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7aded299
+ crc: 0x6b79f44e
type_id: 0x1c31d966
full_name: "netif_device_detach"
}
@@ -356905,7 +369446,7 @@ elf_symbol {
name: "netif_inherit_tso_max"
is_defined: true
symbol_type: FUNCTION
- crc: 0x886d2210
+ crc: 0xb61316b4
type_id: 0x1cffbe77
full_name: "netif_inherit_tso_max"
}
@@ -356914,7 +369455,7 @@ elf_symbol {
name: "netif_napi_add_weight"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc2077924
+ crc: 0x9d31b4d5
type_id: 0x1c5b4677
full_name: "netif_napi_add_weight"
}
@@ -356923,7 +369464,7 @@ elf_symbol {
name: "netif_receive_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8d6ee980
+ crc: 0x373b061c
type_id: 0x9cd33969
full_name: "netif_receive_skb"
}
@@ -356941,7 +369482,7 @@ elf_symbol {
name: "netif_rx"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9900b75f
+ crc: 0x67e9e82a
type_id: 0x9cd33969
full_name: "netif_rx"
}
@@ -356950,7 +369491,7 @@ elf_symbol {
name: "netif_schedule_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa6c4b461
+ crc: 0xeb2a2366
type_id: 0x1604193e
full_name: "netif_schedule_queue"
}
@@ -356959,7 +369500,7 @@ elf_symbol {
name: "netif_set_real_num_rx_queues"
is_defined: true
symbol_type: FUNCTION
- crc: 0x62bf8f01
+ crc: 0x388fe7b3
type_id: 0x903f7e42
full_name: "netif_set_real_num_rx_queues"
}
@@ -356968,7 +369509,7 @@ elf_symbol {
name: "netif_set_real_num_tx_queues"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2027c077
+ crc: 0x36fc53cb
type_id: 0x903f7e42
full_name: "netif_set_real_num_tx_queues"
}
@@ -356977,7 +369518,7 @@ elf_symbol {
name: "netif_set_tso_max_segs"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3f8c200
+ crc: 0xb492c97e
type_id: 0x1d27ccfe
full_name: "netif_set_tso_max_segs"
}
@@ -356986,7 +369527,7 @@ elf_symbol {
name: "netif_set_tso_max_size"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7d5257d0
+ crc: 0x09ce7baa
type_id: 0x1d27ccfe
full_name: "netif_set_tso_max_size"
}
@@ -356995,7 +369536,7 @@ elf_symbol {
name: "netif_stacked_transfer_operstate"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1b5b2099
+ crc: 0xe1c8c3b8
type_id: 0x1cb4b808
full_name: "netif_stacked_transfer_operstate"
}
@@ -357004,7 +369545,7 @@ elf_symbol {
name: "netif_tx_lock"
is_defined: true
symbol_type: FUNCTION
- crc: 0x94cb2e96
+ crc: 0xa0493d72
type_id: 0x1c31d966
full_name: "netif_tx_lock"
}
@@ -357013,7 +369554,7 @@ elf_symbol {
name: "netif_tx_stop_all_queues"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7cf27fec
+ crc: 0x926aa810
type_id: 0x1c31d966
full_name: "netif_tx_stop_all_queues"
}
@@ -357022,7 +369563,7 @@ elf_symbol {
name: "netif_tx_unlock"
is_defined: true
symbol_type: FUNCTION
- crc: 0x12521758
+ crc: 0xfc1a4b98
type_id: 0x1c31d966
full_name: "netif_tx_unlock"
}
@@ -357031,7 +369572,7 @@ elf_symbol {
name: "netif_tx_wake_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf3ccdcf6
+ crc: 0xd329fbdd
type_id: 0x1604193e
full_name: "netif_tx_wake_queue"
}
@@ -357040,7 +369581,7 @@ elf_symbol {
name: "netlink_ack"
is_defined: true
symbol_type: FUNCTION
- crc: 0x88a23004
+ crc: 0xf0e9e509
type_id: 0x119c2286
full_name: "netlink_ack"
}
@@ -357049,7 +369590,7 @@ elf_symbol {
name: "netlink_broadcast"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd8724df0
+ crc: 0x65ceed0f
type_id: 0x9af58853
full_name: "netlink_broadcast"
}
@@ -357058,7 +369599,7 @@ elf_symbol {
name: "netlink_capable"
is_defined: true
symbol_type: FUNCTION
- crc: 0x78c0a12a
+ crc: 0xbfa0b419
type_id: 0xf0a03df0
full_name: "netlink_capable"
}
@@ -357067,7 +369608,7 @@ elf_symbol {
name: "netlink_kernel_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0x52220596
+ crc: 0x34aa9854
type_id: 0x17c95d08
full_name: "netlink_kernel_release"
}
@@ -357076,7 +369617,7 @@ elf_symbol {
name: "netlink_net_capable"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe0b05fc0
+ crc: 0xa30ee563
type_id: 0xf0a03df0
full_name: "netlink_net_capable"
}
@@ -357094,7 +369635,7 @@ elf_symbol {
name: "netlink_unicast"
is_defined: true
symbol_type: FUNCTION
- crc: 0x011e2e4c
+ crc: 0xd0083f21
type_id: 0x9af70c99
full_name: "netlink_unicast"
}
@@ -357126,11 +369667,20 @@ elf_symbol {
full_name: "nf_conntrack_destroy"
}
elf_symbol {
+ id: 0x8b0d44a9
+ name: "nf_conntrack_find_get"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1c96002d
+ type_id: 0x65a73fe6
+ full_name: "nf_conntrack_find_get"
+}
+elf_symbol {
id: 0xb2e54d47
name: "nf_ct_attach"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9be607ca
+ crc: 0xb074af92
type_id: 0x1132058e
full_name: "nf_ct_attach"
}
@@ -357139,25 +369689,70 @@ elf_symbol {
name: "nf_ct_delete"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2bf8328f
+ crc: 0xe0ad83f9
type_id: 0xf33b99db
full_name: "nf_ct_delete"
}
elf_symbol {
+ id: 0xb4e99805
+ name: "nf_ct_destroy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3b08a8f0
+ type_id: 0x104c9db8
+ full_name: "nf_ct_destroy"
+}
+elf_symbol {
+ id: 0x471faa17
+ name: "nf_ct_get_tuplepr"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa5fac5ac
+ type_id: 0xf0122aeb
+ full_name: "nf_ct_get_tuplepr"
+}
+elf_symbol {
+ id: 0x82e37620
+ name: "nf_ct_invert_tuple"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfe731af8
+ type_id: 0xfebe0504
+ full_name: "nf_ct_invert_tuple"
+}
+elf_symbol {
+ id: 0x8b1dfb41
+ name: "nf_register_net_hook"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x10b94e6c
+ type_id: 0x9e67eade
+ full_name: "nf_register_net_hook"
+}
+elf_symbol {
id: 0x43078d96
name: "nf_register_net_hooks"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7ca541e2
+ crc: 0x2adc0ac4
type_id: 0x9e768b87
full_name: "nf_register_net_hooks"
}
elf_symbol {
+ id: 0x840dad92
+ name: "nf_unregister_net_hook"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd4486d5d
+ type_id: 0x137f5862
+ full_name: "nf_unregister_net_hook"
+}
+elf_symbol {
id: 0x619db28f
name: "nf_unregister_net_hooks"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb4283c80
+ crc: 0xc559e9aa
type_id: 0x136e393b
full_name: "nf_unregister_net_hooks"
}
@@ -357166,7 +369761,7 @@ elf_symbol {
name: "nfc_add_se"
is_defined: true
symbol_type: FUNCTION
- crc: 0x59b45748
+ crc: 0x14914414
type_id: 0x9fbd796f
full_name: "nfc_add_se"
}
@@ -357175,7 +369770,7 @@ elf_symbol {
name: "nfc_alloc_recv_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xea57cfa3
+ crc: 0xc0fa23ef
type_id: 0x7a39fbd1
full_name: "nfc_alloc_recv_skb"
}
@@ -357184,7 +369779,7 @@ elf_symbol {
name: "nfc_allocate_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb0d42038
+ crc: 0xc5f0e6eb
type_id: 0x5daa055b
full_name: "nfc_allocate_device"
}
@@ -357193,7 +369788,7 @@ elf_symbol {
name: "nfc_class"
is_defined: true
symbol_type: OBJECT
- crc: 0x67ac1270
+ crc: 0x7423189d
type_id: 0x83714889
full_name: "nfc_class"
}
@@ -357202,7 +369797,7 @@ elf_symbol {
name: "nfc_dep_link_is_up"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9153425b
+ crc: 0x300fe2d7
type_id: 0x9f93d86d
full_name: "nfc_dep_link_is_up"
}
@@ -357211,7 +369806,7 @@ elf_symbol {
name: "nfc_driver_failure"
is_defined: true
symbol_type: FUNCTION
- crc: 0x622a5a02
+ crc: 0x553f53fa
type_id: 0x10393b5c
full_name: "nfc_driver_failure"
}
@@ -357220,7 +369815,7 @@ elf_symbol {
name: "nfc_find_se"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd58a2fb2
+ crc: 0xdae3261e
type_id: 0xee085698
full_name: "nfc_find_se"
}
@@ -357229,7 +369824,7 @@ elf_symbol {
name: "nfc_fw_download_done"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1684d9d7
+ crc: 0xd98e9e33
type_id: 0x9c770a72
full_name: "nfc_fw_download_done"
}
@@ -357238,7 +369833,7 @@ elf_symbol {
name: "nfc_get_local_general_bytes"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc6796ba1
+ crc: 0x30d3b7b5
type_id: 0x4bbafb54
full_name: "nfc_get_local_general_bytes"
}
@@ -357247,7 +369842,7 @@ elf_symbol {
name: "nfc_proto_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9f47f821
+ crc: 0x0e81e449
type_id: 0x9095ed8c
full_name: "nfc_proto_register"
}
@@ -357256,7 +369851,7 @@ elf_symbol {
name: "nfc_proto_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xef821bb7
+ crc: 0xbda3533d
type_id: 0x1d8d5f30
full_name: "nfc_proto_unregister"
}
@@ -357265,7 +369860,7 @@ elf_symbol {
name: "nfc_register_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x51815363
+ crc: 0x95bc479d
type_id: 0x9cbd0aac
full_name: "nfc_register_device"
}
@@ -357274,7 +369869,7 @@ elf_symbol {
name: "nfc_remove_se"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc0006b80
+ crc: 0x22ef28f4
type_id: 0x9f992a00
full_name: "nfc_remove_se"
}
@@ -357283,7 +369878,7 @@ elf_symbol {
name: "nfc_se_connectivity"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1b7bae30
+ crc: 0x6c4c75fe
type_id: 0x9c187b64
full_name: "nfc_se_connectivity"
}
@@ -357292,7 +369887,7 @@ elf_symbol {
name: "nfc_se_transaction"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9fde8658
+ crc: 0x0972f982
type_id: 0x9c1fae0d
full_name: "nfc_se_transaction"
}
@@ -357301,7 +369896,7 @@ elf_symbol {
name: "nfc_send_to_raw_sock"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdebda977
+ crc: 0x3cfec4e6
type_id: 0x11ba77d9
full_name: "nfc_send_to_raw_sock"
}
@@ -357310,7 +369905,7 @@ elf_symbol {
name: "nfc_set_remote_general_bytes"
is_defined: true
symbol_type: FUNCTION
- crc: 0xecb6298a
+ crc: 0x793bfe07
type_id: 0x9c4b5ba7
full_name: "nfc_set_remote_general_bytes"
}
@@ -357319,7 +369914,7 @@ elf_symbol {
name: "nfc_target_lost"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1d89e2a8
+ crc: 0xfb95b9e9
type_id: 0x9f992a00
full_name: "nfc_target_lost"
}
@@ -357328,7 +369923,7 @@ elf_symbol {
name: "nfc_targets_found"
is_defined: true
symbol_type: FUNCTION
- crc: 0x892ee54e
+ crc: 0x0b682880
type_id: 0x9c908368
full_name: "nfc_targets_found"
}
@@ -357337,7 +369932,7 @@ elf_symbol {
name: "nfc_tm_activated"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8e5c1c85
+ crc: 0xf614a521
type_id: 0x9f93bc17
full_name: "nfc_tm_activated"
}
@@ -357346,7 +369941,7 @@ elf_symbol {
name: "nfc_tm_data_received"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7c16d6ad
+ crc: 0xa3cf6558
type_id: 0x9ca83708
full_name: "nfc_tm_data_received"
}
@@ -357355,7 +369950,7 @@ elf_symbol {
name: "nfc_tm_deactivated"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1a063cad
+ crc: 0x99db2fa9
type_id: 0x9cbd0aac
full_name: "nfc_tm_deactivated"
}
@@ -357364,7 +369959,7 @@ elf_symbol {
name: "nfc_unregister_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x49cb65a8
+ crc: 0xc23bba80
type_id: 0x11a5b810
full_name: "nfc_unregister_device"
}
@@ -357373,7 +369968,7 @@ elf_symbol {
name: "nfc_vendor_cmd_reply"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8f1c7cd1
+ crc: 0x28a74112
type_id: 0x9cd33969
full_name: "nfc_vendor_cmd_reply"
}
@@ -357450,6 +370045,15 @@ elf_symbol {
full_name: "nla_strscpy"
}
elf_symbol {
+ id: 0x39787440
+ name: "node_states"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xe7b7da04
+ type_id: 0x8483d98a
+ full_name: "node_states"
+}
+elf_symbol {
id: 0x7f258c4e
name: "nonseekable_open"
is_defined: true
@@ -357468,6 +370072,15 @@ elf_symbol {
full_name: "noop_llseek"
}
elf_symbol {
+ id: 0x16059afd
+ name: "notify_change"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1869b2a0
+ type_id: 0x9e20f17d
+ full_name: "notify_change"
+}
+elf_symbol {
id: 0x1560f116
name: "nr_cpu_ids"
is_defined: true
@@ -357495,6 +370108,15 @@ elf_symbol {
full_name: "nr_irqs"
}
elf_symbol {
+ id: 0xea37502b
+ name: "nr_running"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x909a8abf
+ type_id: 0xcedb7efb
+ full_name: "nr_running"
+}
+elf_symbol {
id: 0x0bb7f730
name: "nr_swap_pages"
is_defined: true
@@ -357733,7 +370355,7 @@ elf_symbol {
name: "of_can_transceiver"
is_defined: true
symbol_type: FUNCTION
- crc: 0xac3ba136
+ crc: 0x9b5bbda7
type_id: 0x1c31d966
full_name: "of_can_transceiver"
}
@@ -357895,7 +370517,7 @@ elf_symbol {
name: "of_css"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5cf2d909
+ crc: 0x53833923
type_id: 0xcde52a7c
full_name: "of_css"
}
@@ -358053,6 +370675,15 @@ elf_symbol {
full_name: "of_drm_get_panel_orientation"
}
elf_symbol {
+ id: 0x33b9622b
+ name: "of_find_all_nodes"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x65267db7
+ type_id: 0x7bef1e3b
+ full_name: "of_find_all_nodes"
+}
+elf_symbol {
id: 0x985c43d8
name: "of_find_backlight_by_node"
is_defined: true
@@ -358269,6 +370900,15 @@ elf_symbol {
full_name: "of_get_display_timing"
}
elf_symbol {
+ id: 0x05a46d27
+ name: "of_get_drm_display_mode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x884bdf07
+ type_id: 0x9038705c
+ full_name: "of_get_drm_display_mode"
+}
+elf_symbol {
id: 0xe3de7018
name: "of_get_i2c_adapter_by_node"
is_defined: true
@@ -358282,7 +370922,7 @@ elf_symbol {
name: "of_get_mac_address"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcacf8764
+ crc: 0x3ae64267
type_id: 0x909f3f56
full_name: "of_get_mac_address"
}
@@ -358345,7 +370985,7 @@ elf_symbol {
name: "of_get_phy_mode"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4fce9b2d
+ crc: 0xdd4a48d8
type_id: 0x90588e4c
full_name: "of_get_phy_mode"
}
@@ -358440,6 +371080,15 @@ elf_symbol {
full_name: "of_graph_get_remote_node"
}
elf_symbol {
+ id: 0x9539ac95
+ name: "of_graph_get_remote_port"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc8fcc975
+ type_id: 0x7a78fdc4
+ full_name: "of_graph_get_remote_port"
+}
+elf_symbol {
id: 0xc699a239
name: "of_graph_get_remote_port_parent"
is_defined: true
@@ -358687,7 +371336,7 @@ elf_symbol {
name: "of_phy_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2f9c3853
+ crc: 0xec6d7f86
type_id: 0xbfa66420
full_name: "of_phy_connect"
}
@@ -358696,7 +371345,7 @@ elf_symbol {
name: "of_phy_deregister_fixed_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0xce61dda2
+ crc: 0x66292e86
type_id: 0x1d84917e
full_name: "of_phy_deregister_fixed_link"
}
@@ -358705,7 +371354,7 @@ elf_symbol {
name: "of_phy_find_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaa17d52e
+ crc: 0xc0e75a06
type_id: 0xbec298be
full_name: "of_phy_find_device"
}
@@ -358723,7 +371372,7 @@ elf_symbol {
name: "of_phy_is_fixed_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1a089418
+ crc: 0xb45076e5
type_id: 0xf3b89be9
full_name: "of_phy_is_fixed_link"
}
@@ -358732,7 +371381,7 @@ elf_symbol {
name: "of_phy_register_fixed_link"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9c349953
+ crc: 0x5b8fe935
type_id: 0x909c23c2
full_name: "of_phy_register_fixed_link"
}
@@ -358746,6 +371395,15 @@ elf_symbol {
full_name: "of_phy_simple_xlate"
}
elf_symbol {
+ id: 0xb27a823c
+ name: "of_pinctrl_get"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdcb4edab
+ type_id: 0xe2abbe2e
+ full_name: "of_pinctrl_get"
+}
+elf_symbol {
id: 0x840bde05
name: "of_platform_depopulate"
is_defined: true
@@ -359016,6 +371674,15 @@ elf_symbol {
full_name: "of_translate_address"
}
elf_symbol {
+ id: 0xee187039
+ name: "of_usb_get_dr_mode_by_phy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2ea7a3cd
+ type_id: 0x66525607
+ full_name: "of_usb_get_dr_mode_by_phy"
+}
+elf_symbol {
id: 0x7d8fe18b
name: "of_usb_get_phy_mode"
is_defined: true
@@ -359074,11 +371741,20 @@ elf_symbol {
name: "open_candev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4d95ed99
+ crc: 0x0dd3afa3
type_id: 0x91296bda
full_name: "open_candev"
}
elf_symbol {
+ id: 0x67bce5b1
+ name: "orderly_poweroff"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x56256e8a
+ type_id: 0x0bc7866e
+ full_name: "orderly_poweroff"
+}
+elf_symbol {
id: 0x57ecab02
name: "out_of_line_wait_on_bit"
is_defined: true
@@ -359106,6 +371782,24 @@ elf_symbol {
full_name: "overflowuid"
}
elf_symbol {
+ id: 0xdea2b008
+ name: "page_cache_next_miss"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8865f190
+ type_id: 0x340d6f59
+ full_name: "page_cache_next_miss"
+}
+elf_symbol {
+ id: 0xdf2c83f5
+ name: "page_cache_prev_miss"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x01049f80
+ type_id: 0x340d6f59
+ full_name: "page_cache_prev_miss"
+}
+elf_symbol {
id: 0x60d84cc3
name: "page_endio"
is_defined: true
@@ -359172,6 +371866,15 @@ elf_symbol {
full_name: "page_mapping"
}
elf_symbol {
+ id: 0x8cc91d1b
+ name: "page_owner_inited"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xda1512e5
+ type_id: 0x8e47c273
+ full_name: "page_owner_inited"
+}
+elf_symbol {
id: 0x44e50ff8
name: "page_pinner_inited"
is_defined: true
@@ -359217,6 +371920,15 @@ elf_symbol {
full_name: "page_pool_put_defragged_page"
}
elf_symbol {
+ id: 0x7490fd3a
+ name: "page_pool_put_page_bulk"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x898d9639
+ type_id: 0x1462512b
+ full_name: "page_pool_put_page_bulk"
+}
+elf_symbol {
id: 0xfdf9f7ee
name: "page_pool_release_page"
is_defined: true
@@ -359253,6 +371965,33 @@ elf_symbol {
full_name: "page_reporting_unregister"
}
elf_symbol {
+ id: 0x4271852e
+ name: "page_zero_new_buffers"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x670fcbd9
+ type_id: 0x103ff2f5
+ full_name: "page_zero_new_buffers"
+}
+elf_symbol {
+ id: 0x0fe80546
+ name: "pagecache_get_page"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcba46f3c
+ type_id: 0xb82f817c
+ full_name: "pagecache_get_page"
+}
+elf_symbol {
+ id: 0x9b003f99
+ name: "pagevec_lookup_range_tag"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb9dae17e
+ type_id: 0xcfac76b5
+ full_name: "pagevec_lookup_range_tag"
+}
+elf_symbol {
id: 0x37d86bb7
name: "panic"
is_defined: true
@@ -359496,6 +372235,15 @@ elf_symbol {
full_name: "param_set_uint"
}
elf_symbol {
+ id: 0xe48076c0
+ name: "param_set_uint_minmax"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4d337ca1
+ type_id: 0x92d2af21
+ full_name: "param_set_uint_minmax"
+}
+elf_symbol {
id: 0x1eafdf64
name: "param_set_ulong"
is_defined: true
@@ -359509,7 +372257,7 @@ elf_symbol {
name: "passthru_features_check"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcec52659
+ crc: 0x66386708
type_id: 0xa739c6fb
full_name: "passthru_features_check"
}
@@ -359685,6 +372433,15 @@ elf_symbol {
full_name: "pci_disable_msix"
}
elf_symbol {
+ id: 0xc3f9d559
+ name: "pci_disable_pcie_error_reporting"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb4006e89
+ type_id: 0x99f942bc
+ full_name: "pci_disable_pcie_error_reporting"
+}
+elf_symbol {
id: 0xb9d0b3a8
name: "pci_disable_sriov"
is_defined: true
@@ -359802,6 +372559,15 @@ elf_symbol {
full_name: "pci_find_next_capability"
}
elf_symbol {
+ id: 0x08190210
+ name: "pci_free_irq"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdaf171ab
+ type_id: 0x15f1cac1
+ full_name: "pci_free_irq"
+}
+elf_symbol {
id: 0x8ffabaa9
name: "pci_free_irq_vectors"
is_defined: true
@@ -359901,6 +372667,15 @@ elf_symbol {
full_name: "pci_iomap_range"
}
elf_symbol {
+ id: 0x1c994923
+ name: "pci_ioremap_bar"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xccd07b76
+ type_id: 0x5373932e
+ full_name: "pci_ioremap_bar"
+}
+elf_symbol {
id: 0xec861eec
name: "pci_iounmap"
is_defined: true
@@ -360099,6 +372874,15 @@ elf_symbol {
full_name: "pci_remove_root_bus"
}
elf_symbol {
+ id: 0xf6896e34
+ name: "pci_request_irq"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x17161b4b
+ type_id: 0x98da7fb1
+ full_name: "pci_request_irq"
+}
+elf_symbol {
id: 0x324ff23b
name: "pci_request_region"
is_defined: true
@@ -360405,6 +373189,15 @@ elf_symbol {
full_name: "percpu_counter_add_batch"
}
elf_symbol {
+ id: 0x7efbd192
+ name: "percpu_counter_batch"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x05240ee7
+ type_id: 0x6720d32f
+ full_name: "percpu_counter_batch"
+}
+elf_symbol {
id: 0x22f7748e
name: "percpu_down_write"
is_defined: true
@@ -360463,7 +373256,7 @@ elf_symbol {
name: "perf_event_addr_filters_sync"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6872ac06
+ crc: 0x38179b01
type_id: 0x17ebd264
full_name: "perf_event_addr_filters_sync"
}
@@ -360472,7 +373265,7 @@ elf_symbol {
name: "perf_event_create_kernel_counter"
is_defined: true
symbol_type: FUNCTION
- crc: 0xab234d3c
+ crc: 0xec670350
type_id: 0x86d5804d
full_name: "perf_event_create_kernel_counter"
}
@@ -360481,7 +373274,7 @@ elf_symbol {
name: "perf_event_disable"
is_defined: true
symbol_type: FUNCTION
- crc: 0x70efd5dd
+ crc: 0x122937d6
type_id: 0x17ebd264
full_name: "perf_event_disable"
}
@@ -360490,7 +373283,7 @@ elf_symbol {
name: "perf_event_enable"
is_defined: true
symbol_type: FUNCTION
- crc: 0x13cdc4a6
+ crc: 0x365495cb
type_id: 0x17ebd264
full_name: "perf_event_enable"
}
@@ -360499,7 +373292,7 @@ elf_symbol {
name: "perf_event_pause"
is_defined: true
symbol_type: FUNCTION
- crc: 0x70c2bdee
+ crc: 0x3893a7ad
type_id: 0x511dadc3
full_name: "perf_event_pause"
}
@@ -360508,7 +373301,7 @@ elf_symbol {
name: "perf_event_read_local"
is_defined: true
symbol_type: FUNCTION
- crc: 0x428ea30b
+ crc: 0x92d2a53c
type_id: 0x9a403d53
full_name: "perf_event_read_local"
}
@@ -360517,7 +373310,7 @@ elf_symbol {
name: "perf_event_read_value"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9590abf2
+ crc: 0xf865847b
type_id: 0x501bb554
full_name: "perf_event_read_value"
}
@@ -360526,7 +373319,7 @@ elf_symbol {
name: "perf_event_release_kernel"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9311703f
+ crc: 0x8f87c75e
type_id: 0x9af360d8
full_name: "perf_event_release_kernel"
}
@@ -360535,7 +373328,7 @@ elf_symbol {
name: "perf_event_update_userpage"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb32b65ee
+ crc: 0xda17a52b
type_id: 0x17ebd264
full_name: "perf_event_update_userpage"
}
@@ -360553,7 +373346,7 @@ elf_symbol {
name: "perf_pmu_migrate_context"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1c185e02
+ crc: 0xa1cef50f
type_id: 0x1fd9a8d3
full_name: "perf_pmu_migrate_context"
}
@@ -360562,7 +373355,7 @@ elf_symbol {
name: "perf_pmu_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfe3e6e79
+ crc: 0x6c4d6bcb
type_id: 0x93a5dbf7
full_name: "perf_pmu_register"
}
@@ -360571,7 +373364,7 @@ elf_symbol {
name: "perf_pmu_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7508a4ad
+ crc: 0x0551ee8a
type_id: 0x1e5ce3ab
full_name: "perf_pmu_unregister"
}
@@ -360589,7 +373382,7 @@ elf_symbol {
name: "perf_trace_run_bpf_submit"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1df68558
+ crc: 0xd1fcd174
type_id: 0x1732fd5e
full_name: "perf_trace_run_bpf_submit"
}
@@ -360607,7 +373400,7 @@ elf_symbol {
name: "phy_attached_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd2337305
+ crc: 0x2cbec35d
type_id: 0x1cc5f9b2
full_name: "phy_attached_info"
}
@@ -360643,16 +373436,25 @@ elf_symbol {
name: "phy_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5962de34
+ crc: 0x722009c6
type_id: 0xbf8f4ed4
full_name: "phy_connect"
}
elf_symbol {
+ id: 0x866cf90c
+ name: "phy_connect_direct"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa779f726
+ type_id: 0x91ec6dfe
+ full_name: "phy_connect_direct"
+}
+elf_symbol {
id: 0x5ebc16d0
name: "phy_disconnect"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa958800f
+ crc: 0xf6666797
type_id: 0x1cc5f9b2
full_name: "phy_disconnect"
}
@@ -360661,7 +373463,7 @@ elf_symbol {
name: "phy_do_ioctl_running"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3963ca54
+ crc: 0x27a5d553
type_id: 0x91e86e2c
full_name: "phy_do_ioctl_running"
}
@@ -360670,7 +373472,7 @@ elf_symbol {
name: "phy_drivers_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0xada98dbd
+ crc: 0x3b3379dd
type_id: 0x9c907da6
full_name: "phy_drivers_register"
}
@@ -360679,7 +373481,7 @@ elf_symbol {
name: "phy_drivers_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe9564e3a
+ crc: 0x7fc6f5a5
type_id: 0x118a06ed
full_name: "phy_drivers_unregister"
}
@@ -360688,7 +373490,7 @@ elf_symbol {
name: "phy_error"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcc9696db
+ crc: 0x323b8b1b
type_id: 0x1cc5f9b2
full_name: "phy_error"
}
@@ -360697,7 +373499,7 @@ elf_symbol {
name: "phy_ethtool_get_eee"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3d11e9d
+ crc: 0xb57b5d86
type_id: 0x9143ff1f
full_name: "phy_ethtool_get_eee"
}
@@ -360706,7 +373508,7 @@ elf_symbol {
name: "phy_ethtool_get_link_ksettings"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbd8f92ca
+ crc: 0x8f5b2672
type_id: 0x914dbe16
full_name: "phy_ethtool_get_link_ksettings"
}
@@ -360715,7 +373517,7 @@ elf_symbol {
name: "phy_ethtool_get_wol"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd39d149e
+ crc: 0xafd590df
type_id: 0x1c416a95
full_name: "phy_ethtool_get_wol"
}
@@ -360724,7 +373526,7 @@ elf_symbol {
name: "phy_ethtool_nway_reset"
is_defined: true
symbol_type: FUNCTION
- crc: 0x28ff8f38
+ crc: 0x48c1184b
type_id: 0x91296bda
full_name: "phy_ethtool_nway_reset"
}
@@ -360733,7 +373535,7 @@ elf_symbol {
name: "phy_ethtool_set_eee"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7717dcfc
+ crc: 0x264f1d18
type_id: 0x9143ff1f
full_name: "phy_ethtool_set_eee"
}
@@ -360742,7 +373544,7 @@ elf_symbol {
name: "phy_ethtool_set_link_ksettings"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc22427b5
+ crc: 0x04728e16
type_id: 0x91cc9f9b
full_name: "phy_ethtool_set_link_ksettings"
}
@@ -360751,7 +373553,7 @@ elf_symbol {
name: "phy_ethtool_set_wol"
is_defined: true
symbol_type: FUNCTION
- crc: 0x94935ebb
+ crc: 0x47da9c22
type_id: 0x9159d829
full_name: "phy_ethtool_set_wol"
}
@@ -360765,6 +373567,15 @@ elf_symbol {
full_name: "phy_exit"
}
elf_symbol {
+ id: 0x6cf83bd0
+ name: "phy_find_first"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8d92c7a5
+ type_id: 0xbeab1c63
+ full_name: "phy_find_first"
+}
+elf_symbol {
id: 0x0dfe21ad
name: "phy_get"
is_defined: true
@@ -360774,6 +373585,15 @@ elf_symbol {
full_name: "phy_get"
}
elf_symbol {
+ id: 0x7de90fab
+ name: "phy_get_pause"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7d110178
+ type_id: 0x1c86b5f0
+ full_name: "phy_get_pause"
+}
+elf_symbol {
id: 0x30e87de6
name: "phy_init"
is_defined: true
@@ -360787,7 +373607,7 @@ elf_symbol {
name: "phy_init_eee"
is_defined: true
symbol_type: FUNCTION
- crc: 0x16ab32e7
+ crc: 0xdfdacaab
type_id: 0x9068b671
full_name: "phy_init_eee"
}
@@ -360796,7 +373616,7 @@ elf_symbol {
name: "phy_init_hw"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9700b256
+ crc: 0xc023e570
type_id: 0x91dd4b0e
full_name: "phy_init_hw"
}
@@ -360805,7 +373625,7 @@ elf_symbol {
name: "phy_mac_interrupt"
is_defined: true
symbol_type: FUNCTION
- crc: 0x94ac8cdc
+ crc: 0x27f43e0b
type_id: 0x1cc5f9b2
full_name: "phy_mac_interrupt"
}
@@ -360814,11 +373634,20 @@ elf_symbol {
name: "phy_mii_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0x56f710d5
+ crc: 0xd5c9bdfb
type_id: 0x911c4ef8
full_name: "phy_mii_ioctl"
}
elf_symbol {
+ id: 0xce039362
+ name: "phy_mipi_dphy_config_validate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x881bad5e
+ type_id: 0x94418fe1
+ full_name: "phy_mipi_dphy_config_validate"
+}
+elf_symbol {
id: 0x890d0269
name: "phy_mipi_dphy_get_default_config"
is_defined: true
@@ -360922,7 +373751,7 @@ elf_symbol {
name: "phy_print_status"
is_defined: true
symbol_type: FUNCTION
- crc: 0x64224132
+ crc: 0x1f2f9e6c
type_id: 0x1cc5f9b2
full_name: "phy_print_status"
}
@@ -360958,7 +373787,7 @@ elf_symbol {
name: "phy_remove_link_mode"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e51edc1
+ crc: 0xf2f81652
type_id: 0x1fe1d91e
full_name: "phy_remove_link_mode"
}
@@ -360976,7 +373805,7 @@ elf_symbol {
name: "phy_reset_after_clk_enable"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9980f451
+ crc: 0x9bedd078
type_id: 0x91dd4b0e
full_name: "phy_reset_after_clk_enable"
}
@@ -361039,7 +373868,7 @@ elf_symbol {
name: "phy_set_sym_pause"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3c9947cc
+ crc: 0xcc9f86fe
type_id: 0x1d6aeee7
full_name: "phy_set_sym_pause"
}
@@ -361066,7 +373895,7 @@ elf_symbol {
name: "phy_sfp_probe"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf0e247e0
+ crc: 0x6d414d50
type_id: 0x9109cd4f
full_name: "phy_sfp_probe"
}
@@ -361075,7 +373904,7 @@ elf_symbol {
name: "phy_start"
is_defined: true
symbol_type: FUNCTION
- crc: 0x85576d4f
+ crc: 0x6437d5ef
type_id: 0x1cc5f9b2
full_name: "phy_start"
}
@@ -361084,7 +373913,7 @@ elf_symbol {
name: "phy_start_aneg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x376df60d
+ crc: 0xd1def3dd
type_id: 0x91dd4b0e
full_name: "phy_start_aneg"
}
@@ -361093,7 +373922,7 @@ elf_symbol {
name: "phy_stop"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe239bdda
+ crc: 0x535c4112
type_id: 0x1cc5f9b2
full_name: "phy_stop"
}
@@ -361102,7 +373931,7 @@ elf_symbol {
name: "phy_support_sym_pause"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5fe92db2
+ crc: 0xfeed8142
type_id: 0x1cc5f9b2
full_name: "phy_support_sym_pause"
}
@@ -361111,7 +373940,7 @@ elf_symbol {
name: "phy_suspend"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3293c626
+ crc: 0x59e2fe57
type_id: 0x91dd4b0e
full_name: "phy_suspend"
}
@@ -361120,7 +373949,7 @@ elf_symbol {
name: "phy_trigger_machine"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc39088da
+ crc: 0x7a84fa9c
type_id: 0x1cc5f9b2
full_name: "phy_trigger_machine"
}
@@ -361156,7 +373985,7 @@ elf_symbol {
name: "phylink_connect_phy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x43a0588c
+ crc: 0x8499b592
type_id: 0x92ed801d
full_name: "phylink_connect_phy"
}
@@ -361165,7 +373994,7 @@ elf_symbol {
name: "phylink_create"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb2168894
+ crc: 0xbf6f5524
type_id: 0xe2c8401b
full_name: "phylink_create"
}
@@ -361269,11 +374098,20 @@ elf_symbol {
full_name: "phylink_ethtool_set_wol"
}
elf_symbol {
+ id: 0x03646fd6
+ name: "phylink_expects_phy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4278d56a
+ type_id: 0xf10ce2b4
+ full_name: "phylink_expects_phy"
+}
+elf_symbol {
id: 0x2c092465
name: "phylink_fwnode_phy_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcd5ea1c0
+ crc: 0xa593752f
type_id: 0x92085a78
full_name: "phylink_fwnode_phy_connect"
}
@@ -361282,7 +374120,7 @@ elf_symbol {
name: "phylink_generic_validate"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbf4ce266
+ crc: 0xfba18256
type_id: 0x1dc83ab4
full_name: "phylink_generic_validate"
}
@@ -361336,7 +374174,7 @@ elf_symbol {
name: "phylink_of_phy_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5c721acf
+ crc: 0xc5b3292e
type_id: 0x92cbd49b
full_name: "phylink_of_phy_connect"
}
@@ -361417,7 +374255,7 @@ elf_symbol {
name: "pick_migrate_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0x08f5780c
+ crc: 0x8549348b
type_id: 0x70cd0122
full_name: "pick_migrate_task"
}
@@ -361426,7 +374264,7 @@ elf_symbol {
name: "pid_nr_ns"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa391f696
+ crc: 0x6e76f179
type_id: 0xd6b27f6b
full_name: "pid_nr_ns"
}
@@ -361435,7 +374273,7 @@ elf_symbol {
name: "pid_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf5c2b04a
+ crc: 0x564f2dac
type_id: 0x7f0f4bf3
full_name: "pid_task"
}
@@ -361530,6 +374368,15 @@ elf_symbol {
full_name: "pinctrl_enable"
}
elf_symbol {
+ id: 0x35b1ed7b
+ name: "pinctrl_find_gpio_range_from_pin"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x25629e8a
+ type_id: 0x1a1c4881
+ full_name: "pinctrl_find_gpio_range_from_pin"
+}
+elf_symbol {
id: 0xf8bcc2db
name: "pinctrl_force_default"
is_defined: true
@@ -361755,6 +374602,15 @@ elf_symbol {
full_name: "pinctrl_utils_reserve_map"
}
elf_symbol {
+ id: 0x62c010b9
+ name: "pinmux_generic_add_function"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6264567f
+ type_id: 0x9ba346af
+ full_name: "pinmux_generic_add_function"
+}
+elf_symbol {
id: 0x013abbf5
name: "pinmux_generic_get_function"
is_defined: true
@@ -361813,7 +374669,7 @@ elf_symbol {
name: "pktgen_xfrm_outer_mode_output"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd2c0afff
+ crc: 0x72b73c41
type_id: 0x9cd82046
full_name: "pktgen_xfrm_outer_mode_output"
}
@@ -361980,6 +374836,15 @@ elf_symbol {
full_name: "platform_find_device_by_driver"
}
elf_symbol {
+ id: 0x072cf683
+ name: "platform_get_ethdev_address"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x89592771
+ type_id: 0x9ddc45fb
+ full_name: "platform_get_ethdev_address"
+}
+elf_symbol {
id: 0xb11c92aa
name: "platform_get_irq"
is_defined: true
@@ -362097,6 +374962,15 @@ elf_symbol {
full_name: "pm_clk_add"
}
elf_symbol {
+ id: 0x5b13a53d
+ name: "pm_clk_add_clk"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x319b67c2
+ type_id: 0x9de1e6d5
+ full_name: "pm_clk_add_clk"
+}
+elf_symbol {
id: 0xaba73bf2
name: "pm_clk_create"
is_defined: true
@@ -362349,6 +375223,15 @@ elf_symbol {
full_name: "pm_runtime_set_autosuspend_delay"
}
elf_symbol {
+ id: 0xe263dcb4
+ name: "pm_schedule_suspend"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe5c44150
+ type_id: 0x9c00c8ec
+ full_name: "pm_schedule_suspend"
+}
+elf_symbol {
id: 0x59caaeac
name: "pm_stay_awake"
is_defined: true
@@ -362457,6 +375340,15 @@ elf_symbol {
full_name: "power_supply_changed"
}
elf_symbol {
+ id: 0x50bfe1d8
+ name: "power_supply_class"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x3e11d97d
+ type_id: 0x2a4c6b85
+ full_name: "power_supply_class"
+}
+elf_symbol {
id: 0xa9ebbb66
name: "power_supply_find_ocv2cap_table"
is_defined: true
@@ -362520,6 +375412,15 @@ elf_symbol {
full_name: "power_supply_get_property"
}
elf_symbol {
+ id: 0xf20efe74
+ name: "power_supply_get_property_from_supplier"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf188af38
+ type_id: 0x9ba3144f
+ full_name: "power_supply_get_property_from_supplier"
+}
+elf_symbol {
id: 0xd28bb85a
name: "power_supply_is_system_supplied"
is_defined: true
@@ -362614,7 +375515,7 @@ elf_symbol {
name: "ppp_channel_index"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1a60aaa1
+ crc: 0x327e4f33
type_id: 0x99a901c1
full_name: "ppp_channel_index"
}
@@ -362623,7 +375524,7 @@ elf_symbol {
name: "ppp_dev_name"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe0f005ad
+ crc: 0x2a0f447d
type_id: 0x3a17e325
full_name: "ppp_dev_name"
}
@@ -362632,7 +375533,7 @@ elf_symbol {
name: "ppp_input"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfa82e0c5
+ crc: 0x5718e0ba
type_id: 0x14a48ed9
full_name: "ppp_input"
}
@@ -362641,7 +375542,7 @@ elf_symbol {
name: "ppp_input_error"
is_defined: true
symbol_type: FUNCTION
- crc: 0x276ab59d
+ crc: 0xbdaf528c
type_id: 0x152d3031
full_name: "ppp_input_error"
}
@@ -362650,7 +375551,7 @@ elf_symbol {
name: "ppp_output_wakeup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5049d24a
+ crc: 0x601b0da8
type_id: 0x14b1b37d
full_name: "ppp_output_wakeup"
}
@@ -362659,7 +375560,7 @@ elf_symbol {
name: "ppp_register_channel"
is_defined: true
symbol_type: FUNCTION
- crc: 0x524dfd11
+ crc: 0x621da830
type_id: 0x99a901c1
full_name: "ppp_register_channel"
}
@@ -362668,7 +375569,7 @@ elf_symbol {
name: "ppp_register_compressor"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7c012982
+ crc: 0x8433847c
type_id: 0x90dc3d3e
full_name: "ppp_register_compressor"
}
@@ -362677,7 +375578,7 @@ elf_symbol {
name: "ppp_register_net_channel"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfa813624
+ crc: 0x2f4ffc7e
type_id: 0x9eeae021
full_name: "ppp_register_net_channel"
}
@@ -362686,7 +375587,7 @@ elf_symbol {
name: "ppp_unit_number"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e9c1e6a
+ crc: 0x602b6e54
type_id: 0x99a901c1
full_name: "ppp_unit_number"
}
@@ -362695,7 +375596,7 @@ elf_symbol {
name: "ppp_unregister_channel"
is_defined: true
symbol_type: FUNCTION
- crc: 0xebf93d27
+ crc: 0x5964a2a8
type_id: 0x14b1b37d
full_name: "ppp_unregister_channel"
}
@@ -362704,7 +375605,7 @@ elf_symbol {
name: "ppp_unregister_compressor"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa26eaaf7
+ crc: 0x6e8c0e61
type_id: 0x1dc48f82
full_name: "ppp_unregister_compressor"
}
@@ -362713,7 +375614,7 @@ elf_symbol {
name: "pppox_compat_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0x432a1d46
+ crc: 0x96106b85
type_id: 0x9882219f
full_name: "pppox_compat_ioctl"
}
@@ -362722,7 +375623,7 @@ elf_symbol {
name: "pppox_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5abce76e
+ crc: 0xbe91e020
type_id: 0x9882219f
full_name: "pppox_ioctl"
}
@@ -362731,7 +375632,7 @@ elf_symbol {
name: "pppox_unbind_sock"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1593eb15
+ crc: 0x35a33ed7
type_id: 0x17c95d08
full_name: "pppox_unbind_sock"
}
@@ -362848,7 +375749,7 @@ elf_symbol {
name: "proc_create_net_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0x806744a0
+ crc: 0x7551a863
type_id: 0x3943cd14
full_name: "proc_create_net_data"
}
@@ -362857,7 +375758,7 @@ elf_symbol {
name: "proc_create_net_single"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9e34c6ce
+ crc: 0xb513532d
type_id: 0x39439154
full_name: "proc_create_net_single"
}
@@ -362992,7 +375893,7 @@ elf_symbol {
name: "proto_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7560535f
+ crc: 0x4feb4ee3
type_id: 0x92e29590
full_name: "proto_register"
}
@@ -363001,7 +375902,7 @@ elf_symbol {
name: "proto_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x72f2f9f9
+ crc: 0xa56e6382
type_id: 0x1e66a460
full_name: "proto_unregister"
}
@@ -363100,7 +376001,7 @@ elf_symbol {
name: "pskb_expand_head"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3c897f06
+ crc: 0x4d1a048c
type_id: 0x9d55b48a
full_name: "pskb_expand_head"
}
@@ -363109,11 +376010,20 @@ elf_symbol {
name: "pskb_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa5073e19
+ crc: 0xd6916a65
type_id: 0x57c99e27
full_name: "pskb_put"
}
elf_symbol {
+ id: 0x3758c51f
+ name: "pskb_trim_rcsum_slow"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xda1052b5
+ type_id: 0x9dc52cf1
+ full_name: "pskb_trim_rcsum_slow"
+}
+elf_symbol {
id: 0xea6abe92
name: "pstore_register"
is_defined: true
@@ -363145,7 +376055,7 @@ elf_symbol {
name: "ptp_classify_raw"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6ee5b96a
+ crc: 0x2430337c
type_id: 0xc1439b43
full_name: "ptp_classify_raw"
}
@@ -363190,7 +376100,7 @@ elf_symbol {
name: "ptp_parse_header"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa5fa15e0
+ crc: 0x6c082b04
type_id: 0x9587d027
full_name: "ptp_parse_header"
}
@@ -363204,11 +376114,20 @@ elf_symbol {
full_name: "public_key_verify_signature"
}
elf_symbol {
+ id: 0xd38a2f2a
+ name: "push_cpu_stop"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x99bd5133
+ type_id: 0x9bafba63
+ full_name: "push_cpu_stop"
+}
+elf_symbol {
id: 0x11d4227b
name: "put_cmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd78e9dd8
+ crc: 0x31108fe3
type_id: 0x9732df25
full_name: "put_cmsg"
}
@@ -363217,7 +376136,7 @@ elf_symbol {
name: "put_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0x46cf073a
+ crc: 0xc0052169
type_id: 0x100e6fc8
full_name: "put_device"
}
@@ -363231,6 +376150,15 @@ elf_symbol {
full_name: "put_disk"
}
elf_symbol {
+ id: 0x5db8ecdc
+ name: "put_io_context"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc9e0a706
+ type_id: 0x1ea499af
+ full_name: "put_io_context"
+}
+elf_symbol {
id: 0x01768311
name: "put_iova_domain"
is_defined: true
@@ -363240,11 +376168,20 @@ elf_symbol {
full_name: "put_iova_domain"
}
elf_symbol {
+ id: 0xb9bfc7b9
+ name: "put_pages_list"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf0009fee
+ type_id: 0x1f00dfeb
+ full_name: "put_pages_list"
+}
+elf_symbol {
id: 0x1744651d
name: "put_pid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x456baca6
+ crc: 0x354db4c3
type_id: 0x1689085f
full_name: "put_pid"
}
@@ -363294,6 +376231,24 @@ elf_symbol {
full_name: "putback_movable_pages"
}
elf_symbol {
+ id: 0x8dafa617
+ name: "pvclock_gtod_register_notifier"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb4b97c90
+ type_id: 0x9b6d4a33
+ full_name: "pvclock_gtod_register_notifier"
+}
+elf_symbol {
+ id: 0x5ae13553
+ name: "pwm_adjust_config"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x22bed5ce
+ type_id: 0x97889594
+ full_name: "pwm_adjust_config"
+}
+elf_symbol {
id: 0x53ee2234
name: "pwm_apply_state"
is_defined: true
@@ -363361,7 +376316,7 @@ elf_symbol {
name: "qca_read_soc_version"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd28ab2f2
+ crc: 0x123214f3
type_id: 0x9a4d0c6c
full_name: "qca_read_soc_version"
}
@@ -363370,7 +376325,7 @@ elf_symbol {
name: "qca_send_pre_shutdown_cmd"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf49b1cad
+ crc: 0xec434633
type_id: 0x9af01625
full_name: "qca_send_pre_shutdown_cmd"
}
@@ -363379,7 +376334,7 @@ elf_symbol {
name: "qca_set_bdaddr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaf846ded
+ crc: 0x2586a331
type_id: 0x9a2fc16a
full_name: "qca_set_bdaddr"
}
@@ -363388,7 +376343,7 @@ elf_symbol {
name: "qca_set_bdaddr_rome"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa2c7b7db
+ crc: 0x5284d1b3
type_id: 0x9a2fc16a
full_name: "qca_set_bdaddr_rome"
}
@@ -363397,7 +376352,7 @@ elf_symbol {
name: "qca_uart_setup"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaceb905b
+ crc: 0x1cbf5582
type_id: 0x9bc09b7f
full_name: "qca_uart_setup"
}
@@ -363631,7 +376586,7 @@ elf_symbol {
name: "raw_spin_rq_lock_nested"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5bb1b468
+ crc: 0x2ffca154
type_id: 0x1a847502
full_name: "raw_spin_rq_lock_nested"
}
@@ -363640,7 +376595,7 @@ elf_symbol {
name: "raw_spin_rq_unlock"
is_defined: true
symbol_type: FUNCTION
- crc: 0x57869b06
+ crc: 0xb93cb4ae
type_id: 0x1b18f64e
full_name: "raw_spin_rq_unlock"
}
@@ -363955,7 +376910,7 @@ elf_symbol {
name: "rcuwait_wake_up"
is_defined: true
symbol_type: FUNCTION
- crc: 0x07e89eda
+ crc: 0xe112cd72
type_id: 0x929ea9e9
full_name: "rcuwait_wake_up"
}
@@ -364005,6 +376960,15 @@ elf_symbol {
full_name: "read_cache_page"
}
elf_symbol {
+ id: 0x2886690b
+ name: "readahead_gfp_mask"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x74cada1a
+ type_id: 0x4a02979c
+ full_name: "readahead_gfp_mask"
+}
+elf_symbol {
id: 0x46082c90
name: "reboot_mode"
is_defined: true
@@ -364041,6 +377005,15 @@ elf_symbol {
full_name: "reclaim_shmem_address_space"
}
elf_symbol {
+ id: 0x8fe1956e
+ name: "redirty_page_for_writepage"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9d126bc3
+ type_id: 0xf6be4a6e
+ full_name: "redirty_page_for_writepage"
+}
+elf_symbol {
id: 0x3b03aaea
name: "refcount_dec_and_lock"
is_defined: true
@@ -364153,7 +377126,7 @@ elf_symbol {
name: "register_candev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2744db2a
+ crc: 0xbd0e584d
type_id: 0x91296bda
full_name: "register_candev"
}
@@ -364270,7 +377243,7 @@ elf_symbol {
name: "register_net_sysctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf2f28ae6
+ crc: 0x883aa38a
type_id: 0x0d4395f8
full_name: "register_net_sysctl"
}
@@ -364279,7 +377252,7 @@ elf_symbol {
name: "register_netdev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcbe773ee
+ crc: 0xa5940962
type_id: 0x91296bda
full_name: "register_netdev"
}
@@ -364288,7 +377261,7 @@ elf_symbol {
name: "register_netdevice"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5f32695e
+ crc: 0xb4bdff70
type_id: 0x91296bda
full_name: "register_netdevice"
}
@@ -364324,7 +377297,7 @@ elf_symbol {
name: "register_pernet_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd78b1b65
+ crc: 0x5b6b7163
type_id: 0x97969509
full_name: "register_pernet_device"
}
@@ -364333,7 +377306,7 @@ elf_symbol {
name: "register_pernet_subsys"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1a92bd31
+ crc: 0xcf7dd4ce
type_id: 0x97969509
full_name: "register_pernet_subsys"
}
@@ -364351,7 +377324,7 @@ elf_symbol {
name: "register_pppox_proto"
is_defined: true
symbol_type: FUNCTION
- crc: 0x97055cc4
+ crc: 0x72976f06
type_id: 0x84a4d3f7
full_name: "register_pppox_proto"
}
@@ -364360,7 +377333,7 @@ elf_symbol {
name: "register_qdisc"
is_defined: true
symbol_type: FUNCTION
- crc: 0x59d9fa9d
+ crc: 0x39fad39c
type_id: 0x927a4e4f
full_name: "register_qdisc"
}
@@ -364423,7 +377396,7 @@ elf_symbol {
name: "register_tcf_proto_ops"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe5c31bb1
+ crc: 0xb3f827e3
type_id: 0x9afc1632
full_name: "register_tcf_proto_ops"
}
@@ -364554,6 +377527,15 @@ elf_symbol {
full_name: "regmap_get_device"
}
elf_symbol {
+ id: 0x700d1b28
+ name: "regmap_get_reg_stride"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb435d7cf
+ type_id: 0x9feaece8
+ full_name: "regmap_get_reg_stride"
+}
+elf_symbol {
id: 0x248856c2
name: "regmap_get_val_bytes"
is_defined: true
@@ -364824,6 +377806,15 @@ elf_symbol {
full_name: "regulator_get"
}
elf_symbol {
+ id: 0x90e2334a
+ name: "regulator_get_current_limit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf9e34a3c
+ type_id: 0x9deb64a3
+ full_name: "regulator_get_current_limit"
+}
+elf_symbol {
id: 0xfd198070
name: "regulator_get_current_limit_regmap"
is_defined: true
@@ -365013,6 +378004,15 @@ elf_symbol {
full_name: "regulator_put"
}
elf_symbol {
+ id: 0xfd977d86
+ name: "regulator_register"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa01989d0
+ type_id: 0xf5978397
+ full_name: "regulator_register"
+}
+elf_symbol {
id: 0xddb9ed35
name: "regulator_register_notifier"
is_defined: true
@@ -365121,6 +378121,15 @@ elf_symbol {
full_name: "regulator_set_voltage_time_sel"
}
elf_symbol {
+ id: 0x12ab7c99
+ name: "regulator_suspend_enable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x668c29cc
+ type_id: 0x9cb7a3ee
+ full_name: "regulator_suspend_enable"
+}
+elf_symbol {
id: 0x21b06e02
name: "regulator_sync_voltage"
is_defined: true
@@ -365170,7 +378179,7 @@ elf_symbol {
name: "release_sock"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc114bef0
+ crc: 0xb1342d9c
type_id: 0x17c95d08
full_name: "release_sock"
}
@@ -365314,7 +378323,7 @@ elf_symbol {
name: "resched_curr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb5a6fc28
+ crc: 0x21218e67
type_id: 0x1b18f64e
full_name: "resched_curr"
}
@@ -365328,6 +378337,15 @@ elf_symbol {
full_name: "reservation_ww_class"
}
elf_symbol {
+ id: 0xb15014ad
+ name: "reserve_iova"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x207ae624
+ type_id: 0x48135354
+ full_name: "reserve_iova"
+}
+elf_symbol {
id: 0x089f5fe6
name: "reset_control_acquire"
is_defined: true
@@ -365427,6 +378445,15 @@ elf_symbol {
full_name: "return_address"
}
elf_symbol {
+ id: 0xd8c7c137
+ name: "reweight_task"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3a6ca281
+ type_id: 0x1642b8aa
+ full_name: "reweight_task"
+}
+elf_symbol {
id: 0xa3f52060
name: "rfkill_alloc"
is_defined: true
@@ -365674,16 +378701,25 @@ elf_symbol {
name: "root_device_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa090023e
+ crc: 0xfc5c2426
type_id: 0x100e6fc8
full_name: "root_device_unregister"
}
elf_symbol {
+ id: 0xbd83c333
+ name: "root_mem_cgroup"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x9ab36151
+ type_id: 0x1d5bae2a
+ full_name: "root_mem_cgroup"
+}
+elf_symbol {
id: 0x7d858174
name: "root_task_group"
is_defined: true
symbol_type: OBJECT
- crc: 0x2ccfef48
+ crc: 0xca81e0d0
type_id: 0x84d533ac
full_name: "root_task_group"
}
@@ -366093,6 +379129,33 @@ elf_symbol {
full_name: "rps_needed"
}
elf_symbol {
+ id: 0xde4d20e6
+ name: "rsa_parse_priv_key"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd75b20aa
+ type_id: 0x9377de98
+ full_name: "rsa_parse_priv_key"
+}
+elf_symbol {
+ id: 0x6a82e2a4
+ name: "rsa_parse_pub_key"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x89ae7aa0
+ type_id: 0x9377de98
+ full_name: "rsa_parse_pub_key"
+}
+elf_symbol {
+ id: 0xec5e9065
+ name: "rt6_lookup"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1ea53a03
+ type_id: 0x187ccd99
+ full_name: "rt6_lookup"
+}
+elf_symbol {
id: 0x264c5308
name: "rt_mutex_lock"
is_defined: true
@@ -366228,6 +379291,24 @@ elf_symbol {
full_name: "rtc_valid_tm"
}
elf_symbol {
+ id: 0x19b7aeab
+ name: "rtnl_configure_link"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x85c289df
+ type_id: 0x91d35e28
+ full_name: "rtnl_configure_link"
+}
+elf_symbol {
+ id: 0xfccc22f4
+ name: "rtnl_create_link"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x817f3567
+ type_id: 0xffb4ff33
+ full_name: "rtnl_create_link"
+}
+elf_symbol {
id: 0x50b92bc4
name: "rtnl_is_locked"
is_defined: true
@@ -366241,7 +379322,7 @@ elf_symbol {
name: "rtnl_link_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3679e6e6
+ crc: 0x17ff0acb
type_id: 0x91cbd408
full_name: "rtnl_link_register"
}
@@ -366250,7 +379331,7 @@ elf_symbol {
name: "rtnl_link_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd0a0f3e8
+ crc: 0x30b80c16
type_id: 0x1cd366b4
full_name: "rtnl_link_unregister"
}
@@ -366268,7 +379349,7 @@ elf_symbol {
name: "rtnl_register_module"
is_defined: true
symbol_type: FUNCTION
- crc: 0x20bfe1ad
+ crc: 0x65278a71
type_id: 0x9ece22e0
full_name: "rtnl_register_module"
}
@@ -366286,7 +379367,7 @@ elf_symbol {
name: "rtnl_unicast"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd1b65cc5
+ crc: 0x89f6462c
type_id: 0x9cd3f2b1
full_name: "rtnl_unicast"
}
@@ -366322,7 +379403,7 @@ elf_symbol {
name: "runqueues"
is_defined: true
symbol_type: OBJECT
- crc: 0x30134f71
+ crc: 0x5fc45fe1
type_id: 0x924a9b47
full_name: "runqueues"
}
@@ -366331,7 +379412,7 @@ elf_symbol {
name: "safe_candev_priv"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeb9f91a3
+ crc: 0x4054bd25
type_id: 0x8426e149
full_name: "safe_candev_priv"
}
@@ -366354,6 +379435,78 @@ elf_symbol {
full_name: "sb800_prefetch"
}
elf_symbol {
+ id: 0x75781cce
+ name: "sb_min_blocksize"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe004c464
+ type_id: 0x95a7fa69
+ full_name: "sb_min_blocksize"
+}
+elf_symbol {
+ id: 0xd3eab591
+ name: "sb_set_blocksize"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x94ed96ed
+ type_id: 0x95a7fa69
+ full_name: "sb_set_blocksize"
+}
+elf_symbol {
+ id: 0x806f167c
+ name: "sbitmap_add_wait_queue"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4981b0e2
+ type_id: 0x142e1753
+ full_name: "sbitmap_add_wait_queue"
+}
+elf_symbol {
+ id: 0xf13ba64e
+ name: "sbitmap_any_bit_set"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x499f6a97
+ type_id: 0xf34d29c1
+ full_name: "sbitmap_any_bit_set"
+}
+elf_symbol {
+ id: 0xe4f77cb7
+ name: "sbitmap_del_wait_queue"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfab6c92b
+ type_id: 0x183a04a1
+ full_name: "sbitmap_del_wait_queue"
+}
+elf_symbol {
+ id: 0x12f98f54
+ name: "sbitmap_init_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8be9a5cf
+ type_id: 0x941967cc
+ full_name: "sbitmap_init_node"
+}
+elf_symbol {
+ id: 0x85d0ffae
+ name: "sbitmap_queue_clear"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcfb42d08
+ type_id: 0x1527b6ea
+ full_name: "sbitmap_queue_clear"
+}
+elf_symbol {
+ id: 0xe160a711
+ name: "sbitmap_queue_init_node"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe4bd68f7
+ type_id: 0x98362533
+ full_name: "sbitmap_queue_init_node"
+}
+elf_symbol {
id: 0x4513114c
name: "sbitmap_queue_min_shallow_depth"
is_defined: true
@@ -366363,6 +379516,24 @@ elf_symbol {
full_name: "sbitmap_queue_min_shallow_depth"
}
elf_symbol {
+ id: 0x3af97828
+ name: "sbitmap_queue_resize"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x67a07059
+ type_id: 0x1536d7b3
+ full_name: "sbitmap_queue_resize"
+}
+elf_symbol {
+ id: 0x6375c31d
+ name: "sbitmap_queue_show"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xee37b200
+ type_id: 0x143955b1
+ full_name: "sbitmap_queue_show"
+}
+elf_symbol {
id: 0x56cb7a36
name: "sbitmap_weight"
is_defined: true
@@ -366430,7 +379601,7 @@ elf_symbol {
name: "sched_set_fifo"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4845e7d9
+ crc: 0x2df40890
type_id: 0x17de3be6
full_name: "sched_set_fifo"
}
@@ -366439,7 +379610,7 @@ elf_symbol {
name: "sched_set_fifo_low"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3cf56efa
+ crc: 0x2cafb113
type_id: 0x17de3be6
full_name: "sched_set_fifo_low"
}
@@ -366448,7 +379619,7 @@ elf_symbol {
name: "sched_set_normal"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdbde07ef
+ crc: 0xf37369e7
type_id: 0x1642b8aa
full_name: "sched_set_normal"
}
@@ -366457,7 +379628,7 @@ elf_symbol {
name: "sched_setattr"
is_defined: true
symbol_type: FUNCTION
- crc: 0x52a5b2bb
+ crc: 0x5b3e64b8
type_id: 0x9a2476b0
full_name: "sched_setattr"
}
@@ -366466,7 +379637,7 @@ elf_symbol {
name: "sched_setattr_nocheck"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5c1486f2
+ crc: 0x31821fb0
type_id: 0x9a2476b0
full_name: "sched_setattr_nocheck"
}
@@ -366475,7 +379646,7 @@ elf_symbol {
name: "sched_setscheduler"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7f9998bc
+ crc: 0xc67465ed
type_id: 0x9b56b28e
full_name: "sched_setscheduler"
}
@@ -366484,7 +379655,7 @@ elf_symbol {
name: "sched_setscheduler_nocheck"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5f3af984
+ crc: 0x0a90ee98
type_id: 0x9b56b28e
full_name: "sched_setscheduler_nocheck"
}
@@ -366493,7 +379664,7 @@ elf_symbol {
name: "sched_show_task"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2632334d
+ crc: 0x31267b07
type_id: 0x17de3be6
full_name: "sched_show_task"
}
@@ -366912,6 +380083,15 @@ elf_symbol {
full_name: "sdhci_add_host"
}
elf_symbol {
+ id: 0xf399cd48
+ name: "sdhci_adma_write_desc"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x01560eef
+ type_id: 0x1ecc6a5d
+ full_name: "sdhci_adma_write_desc"
+}
+elf_symbol {
id: 0x05840f35
name: "sdhci_cleanup_host"
is_defined: true
@@ -366993,6 +380173,15 @@ elf_symbol {
full_name: "sdhci_get_property"
}
elf_symbol {
+ id: 0x15f1b772
+ name: "sdhci_pltfm_clk_get_max_clock"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x91fe6c0a
+ type_id: 0xc0843ed1
+ full_name: "sdhci_pltfm_clk_get_max_clock"
+}
+elf_symbol {
id: 0x38940a34
name: "sdhci_pltfm_free"
is_defined: true
@@ -367011,6 +380200,15 @@ elf_symbol {
full_name: "sdhci_pltfm_init"
}
elf_symbol {
+ id: 0x9f8a16f0
+ name: "sdhci_pltfm_unregister"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xca4fab1b
+ type_id: 0x924d155a
+ full_name: "sdhci_pltfm_unregister"
+}
+elf_symbol {
id: 0xad3b5931
name: "sdhci_remove_host"
is_defined: true
@@ -367083,6 +380281,24 @@ elf_symbol {
full_name: "sdhci_set_bus_width"
}
elf_symbol {
+ id: 0x92732196
+ name: "sdhci_set_clock"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xefd8b1a4
+ type_id: 0x1fd10421
+ full_name: "sdhci_set_clock"
+}
+elf_symbol {
+ id: 0xd29660d9
+ name: "sdhci_set_power_and_bus_voltage"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3726c8e5
+ type_id: 0x1f835b6f
+ full_name: "sdhci_set_power_and_bus_voltage"
+}
+elf_symbol {
id: 0xa6c906b5
name: "sdhci_set_power_noreg"
is_defined: true
@@ -367092,6 +380308,15 @@ elf_symbol {
full_name: "sdhci_set_power_noreg"
}
elf_symbol {
+ id: 0x77dba918
+ name: "sdhci_set_uhs_signaling"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x30232005
+ type_id: 0x1fd10421
+ full_name: "sdhci_set_uhs_signaling"
+}
+elf_symbol {
id: 0x5cc4535c
name: "sdhci_setup_host"
is_defined: true
@@ -367218,6 +380443,15 @@ elf_symbol {
full_name: "sdio_readsb"
}
elf_symbol {
+ id: 0xe1092bbd
+ name: "sdio_readw"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf956e25f
+ type_id: 0x04a35d6c
+ full_name: "sdio_readw"
+}
+elf_symbol {
id: 0x3003f174
name: "sdio_register_driver"
is_defined: true
@@ -367317,6 +380551,15 @@ elf_symbol {
full_name: "sdio_writesb"
}
elf_symbol {
+ id: 0xb3b8cbe2
+ name: "sdio_writew"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc72a8a38
+ type_id: 0x1656fc12
+ full_name: "sdio_writew"
+}
+elf_symbol {
id: 0xec171799
name: "security_file_ioctl"
is_defined: true
@@ -367326,6 +380569,15 @@ elf_symbol {
full_name: "security_file_ioctl"
}
elf_symbol {
+ id: 0xb7265b03
+ name: "security_inode_init_security"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1e6fb814
+ type_id: 0x9b034295
+ full_name: "security_inode_init_security"
+}
+elf_symbol {
id: 0x24b9d7ed
name: "security_sk_classify_flow"
is_defined: true
@@ -367357,7 +380609,7 @@ elf_symbol {
name: "select_fallback_rq"
is_defined: true
symbol_type: FUNCTION
- crc: 0x21591573
+ crc: 0x37c45c03
type_id: 0x843cb143
full_name: "select_fallback_rq"
}
@@ -367416,6 +380668,24 @@ elf_symbol {
full_name: "seq_hlist_start_head"
}
elf_symbol {
+ id: 0xe5f1a4c5
+ name: "seq_list_next"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe7d4daac
+ type_id: 0xf87e0015
+ full_name: "seq_list_next"
+}
+elf_symbol {
+ id: 0x1405c2fb
+ name: "seq_list_start"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xff1e9dd8
+ type_id: 0xf1ae1eac
+ full_name: "seq_list_start"
+}
+elf_symbol {
id: 0xe0349007
name: "seq_lseek"
is_defined: true
@@ -367789,7 +381059,7 @@ elf_symbol {
name: "set_cpus_allowed_ptr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3c10b94
+ crc: 0x6c4198dc
type_id: 0x9a02b25a
full_name: "set_cpus_allowed_ptr"
}
@@ -367830,6 +381100,15 @@ elf_symbol {
full_name: "set_next_entity"
}
elf_symbol {
+ id: 0x7e3fb039
+ name: "set_nlink"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x190daaac
+ type_id: 0x176f2021
+ full_name: "set_nlink"
+}
+elf_symbol {
id: 0xaae00157
name: "set_normalized_timespec64"
is_defined: true
@@ -367857,11 +381136,20 @@ elf_symbol {
full_name: "set_page_dirty_lock"
}
elf_symbol {
+ id: 0x500f328c
+ name: "set_page_writeback"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7c2bfc58
+ type_id: 0xff048ca3
+ full_name: "set_page_writeback"
+}
+elf_symbol {
id: 0xe19d98a9
name: "set_task_cpu"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8f11940e
+ crc: 0xb4809261
type_id: 0x16c82e7e
full_name: "set_task_cpu"
}
@@ -367870,16 +381158,25 @@ elf_symbol {
name: "set_user_nice"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8bd8606c
+ crc: 0x81bb3e77
type_id: 0x142e0390
full_name: "set_user_nice"
}
elf_symbol {
+ id: 0x7d05df74
+ name: "setattr_prepare"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd880e38e
+ type_id: 0x9e20c0b8
+ full_name: "setattr_prepare"
+}
+elf_symbol {
id: 0x5d6d169f
name: "setup_udp_tunnel_sock"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3dfba0e6
+ crc: 0xcfb61ede
type_id: 0x13f4af03
full_name: "setup_udp_tunnel_sock"
}
@@ -368073,6 +381370,24 @@ elf_symbol {
full_name: "sget_fc"
}
elf_symbol {
+ id: 0x0b4df89e
+ name: "sha1_init"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x50624917
+ type_id: 0x1c5eb40a
+ full_name: "sha1_init"
+}
+elf_symbol {
+ id: 0x7996527c
+ name: "sha1_transform"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5e0ccb9f
+ type_id: 0x1caa303b
+ full_name: "sha1_transform"
+}
+elf_symbol {
id: 0x7f3b48aa
name: "shmem_file_setup"
is_defined: true
@@ -368321,16 +381636,25 @@ elf_symbol {
name: "sk_alloc"
is_defined: true
symbol_type: FUNCTION
- crc: 0x14b31517
+ crc: 0x6cad6404
type_id: 0x6ecc6402
full_name: "sk_alloc"
}
elf_symbol {
+ id: 0x1295815b
+ name: "sk_capable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9bced1ab
+ type_id: 0xf1208847
+ full_name: "sk_capable"
+}
+elf_symbol {
id: 0xd7cc5056
name: "sk_common_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0x16416617
+ crc: 0x014477ca
type_id: 0x17c95d08
full_name: "sk_common_release"
}
@@ -368339,7 +381663,7 @@ elf_symbol {
name: "sk_error_report"
is_defined: true
symbol_type: FUNCTION
- crc: 0x87456c01
+ crc: 0x0b28e75b
type_id: 0x17c95d08
full_name: "sk_error_report"
}
@@ -368348,7 +381672,7 @@ elf_symbol {
name: "sk_filter_trim_cap"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd643506a
+ crc: 0xf5845708
type_id: 0x9ad5b349
full_name: "sk_filter_trim_cap"
}
@@ -368357,7 +381681,7 @@ elf_symbol {
name: "sk_free"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd6b42cbe
+ crc: 0x052a5c8f
type_id: 0x17c95d08
full_name: "sk_free"
}
@@ -368366,7 +381690,7 @@ elf_symbol {
name: "sk_reset_timer"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa3377a1e
+ crc: 0x35dc5f2e
type_id: 0x173d585f
full_name: "sk_reset_timer"
}
@@ -368375,7 +381699,7 @@ elf_symbol {
name: "sk_setup_caps"
is_defined: true
symbol_type: FUNCTION
- crc: 0xed767c7b
+ crc: 0xea742b43
type_id: 0x17803a85
full_name: "sk_setup_caps"
}
@@ -368384,7 +381708,7 @@ elf_symbol {
name: "sk_stop_timer"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbf69ab47
+ crc: 0x37886892
type_id: 0x17318506
full_name: "sk_stop_timer"
}
@@ -368393,7 +381717,7 @@ elf_symbol {
name: "skb_add_rx_frag"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9768c0c6
+ crc: 0x79586ffa
type_id: 0x10572c13
full_name: "skb_add_rx_frag"
}
@@ -368402,7 +381726,7 @@ elf_symbol {
name: "skb_append_pagefrags"
is_defined: true
symbol_type: FUNCTION
- crc: 0xea7667ff
+ crc: 0x26105e29
type_id: 0x9cd32cf2
full_name: "skb_append_pagefrags"
}
@@ -368411,7 +381735,7 @@ elf_symbol {
name: "skb_checksum"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6936f0dd
+ crc: 0xefe8d364
type_id: 0x345f1809
full_name: "skb_checksum"
}
@@ -368420,7 +381744,7 @@ elf_symbol {
name: "skb_checksum_help"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3744d44c
+ crc: 0xbcac167c
type_id: 0x9cd33969
full_name: "skb_checksum_help"
}
@@ -368429,7 +381753,7 @@ elf_symbol {
name: "skb_clone"
is_defined: true
symbol_type: FUNCTION
- crc: 0x36210e0c
+ crc: 0xe48b1404
type_id: 0x6a0b7818
full_name: "skb_clone"
}
@@ -368438,7 +381762,7 @@ elf_symbol {
name: "skb_clone_sk"
is_defined: true
symbol_type: FUNCTION
- crc: 0x31a97ef2
+ crc: 0xed2a513b
type_id: 0x69cde367
full_name: "skb_clone_sk"
}
@@ -368447,7 +381771,7 @@ elf_symbol {
name: "skb_coalesce_rx_frag"
is_defined: true
symbol_type: FUNCTION
- crc: 0x38cc4bd4
+ crc: 0x98ad7d34
type_id: 0x104fd6b8
full_name: "skb_coalesce_rx_frag"
}
@@ -368456,7 +381780,7 @@ elf_symbol {
name: "skb_complete_tx_timestamp"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa505fe02
+ crc: 0x84152f15
type_id: 0x11d3a4b4
full_name: "skb_complete_tx_timestamp"
}
@@ -368465,7 +381789,7 @@ elf_symbol {
name: "skb_complete_wifi_ack"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1abd0377
+ crc: 0x9a7f42c9
type_id: 0x107e76aa
full_name: "skb_complete_wifi_ack"
}
@@ -368474,7 +381798,7 @@ elf_symbol {
name: "skb_copy"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf9d2e4ef
+ crc: 0x91e767fe
type_id: 0x64c047e6
full_name: "skb_copy"
}
@@ -368483,7 +381807,7 @@ elf_symbol {
name: "skb_copy_bits"
is_defined: true
symbol_type: FUNCTION
- crc: 0x60d6f91d
+ crc: 0xdaa46a17
type_id: 0x93833601
full_name: "skb_copy_bits"
}
@@ -368492,7 +381816,7 @@ elf_symbol {
name: "skb_copy_datagram_from_iter"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc702ee7e
+ crc: 0x38f86852
type_id: 0x9d45fa50
full_name: "skb_copy_datagram_from_iter"
}
@@ -368501,7 +381825,7 @@ elf_symbol {
name: "skb_copy_datagram_iter"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0e9e1c61
+ crc: 0xe274a30f
type_id: 0x938ec5ae
full_name: "skb_copy_datagram_iter"
}
@@ -368510,7 +381834,7 @@ elf_symbol {
name: "skb_copy_expand"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2547663f
+ crc: 0x2204b34d
type_id: 0x6680517a
full_name: "skb_copy_expand"
}
@@ -368519,7 +381843,7 @@ elf_symbol {
name: "skb_copy_ubufs"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1657a585
+ crc: 0x738276d2
type_id: 0x9f15a216
full_name: "skb_copy_ubufs"
}
@@ -368528,7 +381852,7 @@ elf_symbol {
name: "skb_cow_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc4175eb0
+ crc: 0x141b1684
type_id: 0x9d4d4add
full_name: "skb_cow_data"
}
@@ -368537,7 +381861,7 @@ elf_symbol {
name: "skb_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9d0f7505
+ crc: 0x3a908023
type_id: 0x6f42ce8a
full_name: "skb_dequeue"
}
@@ -368546,7 +381870,7 @@ elf_symbol {
name: "skb_dequeue_tail"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4da109bd
+ crc: 0xa591e06f
type_id: 0x6f42ce8a
full_name: "skb_dequeue_tail"
}
@@ -368555,7 +381879,7 @@ elf_symbol {
name: "skb_ensure_writable"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe6e990d7
+ crc: 0xeea1ccc8
type_id: 0x9dc52cf1
full_name: "skb_ensure_writable"
}
@@ -368564,7 +381888,7 @@ elf_symbol {
name: "skb_free_datagram"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbef03783
+ crc: 0x92888700
type_id: 0x17dc60ac
full_name: "skb_free_datagram"
}
@@ -368573,7 +381897,7 @@ elf_symbol {
name: "skb_page_frag_refill"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb2b8ea83
+ crc: 0x58fad65c
type_id: 0xef54849c
full_name: "skb_page_frag_refill"
}
@@ -368582,7 +381906,7 @@ elf_symbol {
name: "skb_partial_csum_set"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0a71f0f6
+ crc: 0x3f03a4aa
type_id: 0xfd96e4d2
full_name: "skb_partial_csum_set"
}
@@ -368591,7 +381915,7 @@ elf_symbol {
name: "skb_pull"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5bda640f
+ crc: 0xbe5e92c9
type_id: 0x56d37e2f
full_name: "skb_pull"
}
@@ -368600,7 +381924,7 @@ elf_symbol {
name: "skb_pull_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd7e724c4
+ crc: 0xc5f73848
type_id: 0x5415be16
full_name: "skb_pull_data"
}
@@ -368609,7 +381933,7 @@ elf_symbol {
name: "skb_pull_rcsum"
is_defined: true
symbol_type: FUNCTION
- crc: 0x700129d4
+ crc: 0x4ecfcf3d
type_id: 0x56d37e2f
full_name: "skb_pull_rcsum"
}
@@ -368618,7 +381942,7 @@ elf_symbol {
name: "skb_push"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3c81168a
+ crc: 0xb0cdde42
type_id: 0x56d37e2f
full_name: "skb_push"
}
@@ -368627,7 +381951,7 @@ elf_symbol {
name: "skb_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4936308f
+ crc: 0xac7a3881
type_id: 0x56d37e2f
full_name: "skb_put"
}
@@ -368636,7 +381960,7 @@ elf_symbol {
name: "skb_queue_head"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf5a38609
+ crc: 0x73234170
type_id: 0x17519b9c
full_name: "skb_queue_head"
}
@@ -368645,7 +381969,7 @@ elf_symbol {
name: "skb_queue_purge"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8b556d73
+ crc: 0xbf2d8fce
type_id: 0x1744a638
full_name: "skb_queue_purge"
}
@@ -368654,7 +381978,7 @@ elf_symbol {
name: "skb_queue_tail"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfd068d9e
+ crc: 0xfd2a2296
type_id: 0x17519b9c
full_name: "skb_queue_tail"
}
@@ -368663,7 +381987,7 @@ elf_symbol {
name: "skb_realloc_headroom"
is_defined: true
symbol_type: FUNCTION
- crc: 0x34c354d1
+ crc: 0xd1063544
type_id: 0x68dbf6ff
full_name: "skb_realloc_headroom"
}
@@ -368672,7 +381996,7 @@ elf_symbol {
name: "skb_recv_datagram"
is_defined: true
symbol_type: FUNCTION
- crc: 0x57a7a18a
+ crc: 0x61bca68c
type_id: 0x6eddf621
full_name: "skb_recv_datagram"
}
@@ -368681,7 +382005,7 @@ elf_symbol {
name: "skb_scrub_packet"
is_defined: true
symbol_type: FUNCTION
- crc: 0x89f4c550
+ crc: 0xa01713cf
type_id: 0x107e76aa
full_name: "skb_scrub_packet"
}
@@ -368690,7 +382014,7 @@ elf_symbol {
name: "skb_set_owner_w"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe857583b
+ crc: 0x344ead72
type_id: 0x11be9b1c
full_name: "skb_set_owner_w"
}
@@ -368699,7 +382023,7 @@ elf_symbol {
name: "skb_split"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e8f0a1d
+ crc: 0x9fb1a84a
type_id: 0x11ecf47b
full_name: "skb_split"
}
@@ -368708,7 +382032,7 @@ elf_symbol {
name: "skb_store_bits"
is_defined: true
symbol_type: FUNCTION
- crc: 0x891c7e96
+ crc: 0x38428244
type_id: 0x9d406163
full_name: "skb_store_bits"
}
@@ -368717,7 +382041,7 @@ elf_symbol {
name: "skb_to_sgvec"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1fd22689
+ crc: 0x9201603f
type_id: 0x9c8c5236
full_name: "skb_to_sgvec"
}
@@ -368726,7 +382050,7 @@ elf_symbol {
name: "skb_trim"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2405c9c5
+ crc: 0x584525af
type_id: 0x10dd9e4d
full_name: "skb_trim"
}
@@ -368735,7 +382059,7 @@ elf_symbol {
name: "skb_try_coalesce"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdf86b1a9
+ crc: 0xf71caf48
type_id: 0xffe6827d
full_name: "skb_try_coalesce"
}
@@ -368744,7 +382068,7 @@ elf_symbol {
name: "skb_tstamp_tx"
is_defined: true
symbol_type: FUNCTION
- crc: 0x340144cb
+ crc: 0x9028251a
type_id: 0x11d3a4b4
full_name: "skb_tstamp_tx"
}
@@ -368753,11 +382077,65 @@ elf_symbol {
name: "skb_unlink"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe204ae8f
+ crc: 0x9451ec1c
type_id: 0x11b644af
full_name: "skb_unlink"
}
elf_symbol {
+ id: 0x706a5214
+ name: "skcipher_alloc_instance_simple"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xae8e9e95
+ type_id: 0x034a2603
+ full_name: "skcipher_alloc_instance_simple"
+}
+elf_symbol {
+ id: 0x56fe28ac
+ name: "skcipher_register_instance"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd2b42989
+ type_id: 0x9aaf7e51
+ full_name: "skcipher_register_instance"
+}
+elf_symbol {
+ id: 0xfb0d7eaf
+ name: "skcipher_walk_aead_decrypt"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9356d0fe
+ type_id: 0x946d2b92
+ full_name: "skcipher_walk_aead_decrypt"
+}
+elf_symbol {
+ id: 0x910f3594
+ name: "skcipher_walk_aead_encrypt"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4e121a7c
+ type_id: 0x946d2b92
+ full_name: "skcipher_walk_aead_encrypt"
+}
+elf_symbol {
+ id: 0x6a015d4f
+ name: "skcipher_walk_done"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe799e196
+ type_id: 0x9522132a
+ full_name: "skcipher_walk_done"
+}
+elf_symbol {
+ id: 0xcb37c2fd
+ name: "skcipher_walk_virt"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa1045e95
+ type_id: 0x94d5972f
+ full_name: "skcipher_walk_virt"
+}
+elf_symbol {
id: 0x57adf54a
name: "skip_spaces"
is_defined: true
@@ -368875,6 +382253,24 @@ elf_symbol {
full_name: "smp_call_on_cpu"
}
elf_symbol {
+ id: 0xd7393cd7
+ name: "smpboot_register_percpu_thread"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xed22557a
+ type_id: 0x9002b2b0
+ full_name: "smpboot_register_percpu_thread"
+}
+elf_symbol {
+ id: 0xbf61e6bf
+ name: "smpboot_unregister_percpu_thread"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x62650cbc
+ type_id: 0x1d1a000c
+ full_name: "smpboot_unregister_percpu_thread"
+}
+elf_symbol {
id: 0x675bcd74
name: "snapshot_get_image_size"
is_defined: true
@@ -368974,6 +382370,15 @@ elf_symbol {
full_name: "snd_ctl_enum_info"
}
elf_symbol {
+ id: 0xfc7ac85d
+ name: "snd_ctl_find_id"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0f5523c6
+ type_id: 0x20151959
+ full_name: "snd_ctl_find_id"
+}
+elf_symbol {
id: 0x6aca9744
name: "snd_ctl_new1"
is_defined: true
@@ -369118,6 +382523,15 @@ elf_symbol {
full_name: "snd_info_free_entry"
}
elf_symbol {
+ id: 0x257f1e06
+ name: "snd_info_get_line"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x24a94b26
+ type_id: 0x98e6779b
+ full_name: "snd_info_get_line"
+}
+elf_symbol {
id: 0x5e6e4a8e
name: "snd_info_register"
is_defined: true
@@ -369190,6 +382604,15 @@ elf_symbol {
full_name: "snd_pcm_create_iec958_consumer_default"
}
elf_symbol {
+ id: 0xa4da49fe
+ name: "snd_pcm_create_iec958_consumer_hw_params"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x11eba48e
+ type_id: 0x96d423b4
+ full_name: "snd_pcm_create_iec958_consumer_hw_params"
+}
+elf_symbol {
id: 0xb9a87429
name: "snd_pcm_fill_iec958_consumer"
is_defined: true
@@ -369397,6 +382820,24 @@ elf_symbol {
full_name: "snd_pcm_period_elapsed"
}
elf_symbol {
+ id: 0x11b8b797
+ name: "snd_pcm_rate_bit_to_rate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xff6104d0
+ type_id: 0xdfba2774
+ full_name: "snd_pcm_rate_bit_to_rate"
+}
+elf_symbol {
+ id: 0x19ea44b2
+ name: "snd_pcm_rate_to_rate_bit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb9638db4
+ type_id: 0xdfba2774
+ full_name: "snd_pcm_rate_to_rate_bit"
+}
+elf_symbol {
id: 0xba998ee2
name: "snd_pcm_set_managed_buffer"
is_defined: true
@@ -369442,6 +382883,15 @@ elf_symbol {
full_name: "snd_pcm_stop"
}
elf_symbol {
+ id: 0xc26d0753
+ name: "snd_pcm_stop_xrun"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x789b9ad6
+ type_id: 0x98aeb261
+ full_name: "snd_pcm_stop_xrun"
+}
+elf_symbol {
id: 0x1f5649eb
name: "snd_sgbuf_get_addr"
is_defined: true
@@ -369451,6 +382901,15 @@ elf_symbol {
full_name: "snd_sgbuf_get_addr"
}
elf_symbol {
+ id: 0x31ef5894
+ name: "snd_soc_add_card_controls"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3e965e80
+ type_id: 0x9b3e4950
+ full_name: "snd_soc_add_card_controls"
+}
+elf_symbol {
id: 0x0af8ff72
name: "snd_soc_add_component_controls"
is_defined: true
@@ -370234,6 +383693,24 @@ elf_symbol {
full_name: "snd_soc_jack_add_gpios"
}
elf_symbol {
+ id: 0xc92a02ef
+ name: "snd_soc_jack_add_zones"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1e0a39c0
+ type_id: 0x9e6f0e68
+ full_name: "snd_soc_jack_add_zones"
+}
+elf_symbol {
+ id: 0x804bafc3
+ name: "snd_soc_jack_get_type"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0056842b
+ type_id: 0x9e65fffe
+ full_name: "snd_soc_jack_get_type"
+}
+elf_symbol {
id: 0xabad0839
name: "snd_soc_jack_notifier_register"
is_defined: true
@@ -370630,6 +384107,15 @@ elf_symbol {
full_name: "snd_usb_power_domain_set"
}
elf_symbol {
+ id: 0x25a85408
+ name: "snd_vendor_set_ops"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xadf3f0b9
+ type_id: 0x9d251990
+ full_name: "snd_vendor_set_ops"
+}
+elf_symbol {
id: 0x32cae5ee
name: "snprintf"
is_defined: true
@@ -370670,7 +384156,7 @@ elf_symbol {
name: "sock_alloc_send_pskb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf5630dde
+ crc: 0x6dea6a3b
type_id: 0x6f0fa4b8
full_name: "sock_alloc_send_pskb"
}
@@ -370679,7 +384165,7 @@ elf_symbol {
name: "sock_cmsg_send"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa704af1a
+ crc: 0xc2fae2af
type_id: 0x9a66b93e
full_name: "sock_cmsg_send"
}
@@ -370688,7 +384174,7 @@ elf_symbol {
name: "sock_common_getsockopt"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd4e49119
+ crc: 0x96aa0aa6
type_id: 0x981db4ff
full_name: "sock_common_getsockopt"
}
@@ -370697,7 +384183,7 @@ elf_symbol {
name: "sock_common_recvmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0d3879ac
+ crc: 0x7f6ed9f9
type_id: 0x9917165a
full_name: "sock_common_recvmsg"
}
@@ -370706,7 +384192,7 @@ elf_symbol {
name: "sock_common_setsockopt"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0f672bf6
+ crc: 0x7392419d
type_id: 0x981e2b3a
full_name: "sock_common_setsockopt"
}
@@ -370715,7 +384201,7 @@ elf_symbol {
name: "sock_create_kern"
is_defined: true
symbol_type: FUNCTION
- crc: 0xebb16500
+ crc: 0x147b171c
type_id: 0x9f2caa56
full_name: "sock_create_kern"
}
@@ -370724,7 +384210,7 @@ elf_symbol {
name: "sock_diag_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2c196030
+ crc: 0xa72c8e69
type_id: 0x9041c735
full_name: "sock_diag_register"
}
@@ -370733,7 +384219,7 @@ elf_symbol {
name: "sock_diag_save_cookie"
is_defined: true
symbol_type: FUNCTION
- crc: 0x347c9000
+ crc: 0xf481d935
type_id: 0x17053351
full_name: "sock_diag_save_cookie"
}
@@ -370742,7 +384228,7 @@ elf_symbol {
name: "sock_diag_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0xecbbb7db
+ crc: 0xa2a0e3d7
type_id: 0x1d597589
full_name: "sock_diag_unregister"
}
@@ -370751,7 +384237,7 @@ elf_symbol {
name: "sock_edemux"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd8005670
+ crc: 0x01d98814
type_id: 0x11cb8bd5
full_name: "sock_edemux"
}
@@ -370760,7 +384246,7 @@ elf_symbol {
name: "sock_efree"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbbc475b4
+ crc: 0xc58baa56
type_id: 0x11cb8bd5
full_name: "sock_efree"
}
@@ -370769,7 +384255,7 @@ elf_symbol {
name: "sock_gen_put"
is_defined: true
symbol_type: FUNCTION
- crc: 0x652da769
+ crc: 0x1c0448b8
type_id: 0x17c95d08
full_name: "sock_gen_put"
}
@@ -370778,7 +384264,7 @@ elf_symbol {
name: "sock_gettstamp"
is_defined: true
symbol_type: FUNCTION
- crc: 0x501c4c9f
+ crc: 0x8a4df5ef
type_id: 0x99e0f6e0
full_name: "sock_gettstamp"
}
@@ -370787,7 +384273,7 @@ elf_symbol {
name: "sock_i_ino"
is_defined: true
symbol_type: FUNCTION
- crc: 0x01459ed9
+ crc: 0x6748dc4a
type_id: 0x36fdc1c8
full_name: "sock_i_ino"
}
@@ -370796,7 +384282,7 @@ elf_symbol {
name: "sock_i_uid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x807d843e
+ crc: 0xaf6d7db2
type_id: 0x7be897ce
full_name: "sock_i_uid"
}
@@ -370805,7 +384291,7 @@ elf_symbol {
name: "sock_init_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0x48865200
+ crc: 0x60225859
type_id: 0x14f54b2b
full_name: "sock_init_data"
}
@@ -370814,7 +384300,7 @@ elf_symbol {
name: "sock_no_accept"
is_defined: true
symbol_type: FUNCTION
- crc: 0x80d3ddd4
+ crc: 0x42f44792
type_id: 0x99c11430
full_name: "sock_no_accept"
}
@@ -370823,7 +384309,7 @@ elf_symbol {
name: "sock_no_bind"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7facc416
+ crc: 0xd33a9cd9
type_id: 0x99526c70
full_name: "sock_no_bind"
}
@@ -370832,7 +384318,7 @@ elf_symbol {
name: "sock_no_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x55cf3774
+ crc: 0x74bf31f1
type_id: 0x9953f0f3
full_name: "sock_no_connect"
}
@@ -370841,7 +384327,7 @@ elf_symbol {
name: "sock_no_getname"
is_defined: true
symbol_type: FUNCTION
- crc: 0x79eb94ec
+ crc: 0x16879b58
type_id: 0x99526c70
full_name: "sock_no_getname"
}
@@ -370850,7 +384336,7 @@ elf_symbol {
name: "sock_no_ioctl"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb74aef99
+ crc: 0x6c24b62b
type_id: 0x9882219f
full_name: "sock_no_ioctl"
}
@@ -370859,7 +384345,7 @@ elf_symbol {
name: "sock_no_listen"
is_defined: true
symbol_type: FUNCTION
- crc: 0x601d3ae4
+ crc: 0xb92c397b
type_id: 0x98046a12
full_name: "sock_no_listen"
}
@@ -370868,7 +384354,7 @@ elf_symbol {
name: "sock_no_mmap"
is_defined: true
symbol_type: FUNCTION
- crc: 0x968dcaed
+ crc: 0xd3197c4c
type_id: 0x9bf97de0
full_name: "sock_no_mmap"
}
@@ -370877,7 +384363,7 @@ elf_symbol {
name: "sock_no_recvmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x29a24e8b
+ crc: 0x342df4d7
type_id: 0x9917165a
full_name: "sock_no_recvmsg"
}
@@ -370886,7 +384372,7 @@ elf_symbol {
name: "sock_no_sendmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeb803c42
+ crc: 0xca6cd3ce
type_id: 0x99168ad9
full_name: "sock_no_sendmsg"
}
@@ -370895,7 +384381,7 @@ elf_symbol {
name: "sock_no_sendpage"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0da10de5
+ crc: 0xe33f0566
type_id: 0x10e9e7a3
full_name: "sock_no_sendpage"
}
@@ -370904,7 +384390,7 @@ elf_symbol {
name: "sock_no_shutdown"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6f6b1a86
+ crc: 0x4a1b3404
type_id: 0x98046a12
full_name: "sock_no_shutdown"
}
@@ -370913,7 +384399,7 @@ elf_symbol {
name: "sock_no_socketpair"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd878dff8
+ crc: 0x2e9cfbff
type_id: 0x99d969f9
full_name: "sock_no_socketpair"
}
@@ -370922,7 +384408,7 @@ elf_symbol {
name: "sock_queue_rcv_skb_reason"
is_defined: true
symbol_type: FUNCTION
- crc: 0xaae6bf49
+ crc: 0xf6d98003
type_id: 0x9ac7ffab
full_name: "sock_queue_rcv_skb_reason"
}
@@ -370931,7 +384417,7 @@ elf_symbol {
name: "sock_recv_errqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x20cc21a1
+ crc: 0x9f725e3d
type_id: 0x9a7acc16
full_name: "sock_recv_errqueue"
}
@@ -370940,7 +384426,7 @@ elf_symbol {
name: "sock_recvmsg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8e3b219a
+ crc: 0x350084ff
type_id: 0x99324fb7
full_name: "sock_recvmsg"
}
@@ -370949,7 +384435,7 @@ elf_symbol {
name: "sock_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x07d718a9
+ crc: 0xcb131c31
type_id: 0x93c23a28
full_name: "sock_register"
}
@@ -370958,7 +384444,7 @@ elf_symbol {
name: "sock_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0x77b4b8ea
+ crc: 0x6369852b
type_id: 0x14805be2
full_name: "sock_release"
}
@@ -370967,7 +384453,7 @@ elf_symbol {
name: "sock_rfree"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9afdcf77
+ crc: 0xa5192714
type_id: 0x11cb8bd5
full_name: "sock_rfree"
}
@@ -370976,7 +384462,7 @@ elf_symbol {
name: "sock_setsockopt"
is_defined: true
symbol_type: FUNCTION
- crc: 0x452cb265
+ crc: 0x58182ec6
type_id: 0x981e2b3a
full_name: "sock_setsockopt"
}
@@ -370990,11 +384476,20 @@ elf_symbol {
full_name: "sock_unregister"
}
elf_symbol {
+ id: 0xeab36c96
+ name: "sock_wake_async"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc356c393
+ type_id: 0x9b4f443a
+ full_name: "sock_wake_async"
+}
+elf_symbol {
id: 0xba26b6a3
name: "sock_wfree"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb88c4003
+ crc: 0x94ad4d47
type_id: 0x11cb8bd5
full_name: "sock_wfree"
}
@@ -371003,7 +384498,7 @@ elf_symbol {
name: "sock_wmalloc"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6ec4ae1a
+ crc: 0xf4659a5d
type_id: 0x6f18ee87
full_name: "sock_wmalloc"
}
@@ -371012,7 +384507,7 @@ elf_symbol {
name: "sockfd_lookup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6d1eb263
+ crc: 0x36c8b5ac
type_id: 0x3d20d65e
full_name: "sockfd_lookup"
}
@@ -371021,7 +384516,7 @@ elf_symbol {
name: "softnet_data"
is_defined: true
symbol_type: OBJECT
- crc: 0xde84bb84
+ crc: 0x7a9ece2b
type_id: 0x06066110
full_name: "softnet_data"
}
@@ -371548,6 +385043,15 @@ elf_symbol {
full_name: "stack_trace_save"
}
elf_symbol {
+ id: 0x9ae5b413
+ name: "stack_trace_save_regs"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2731e15c
+ type_id: 0xce9ab7ea
+ full_name: "stack_trace_save_regs"
+}
+elf_symbol {
id: 0xe69a5898
name: "stack_trace_save_tsk"
is_defined: true
@@ -371593,6 +385097,15 @@ elf_symbol {
full_name: "static_key_disable"
}
elf_symbol {
+ id: 0x8ac195eb
+ name: "static_key_enable"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6b2b69f7
+ type_id: 0x1b3aea40
+ full_name: "static_key_enable"
+}
+elf_symbol {
id: 0xd09568e0
name: "static_key_slow_dec"
is_defined: true
@@ -371956,6 +385469,15 @@ elf_symbol {
full_name: "suspend_set_ops"
}
elf_symbol {
+ id: 0xd5e0987f
+ name: "swiotlb_max_segment"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5b6b0329
+ type_id: 0xcedb7efb
+ full_name: "swiotlb_max_segment"
+}
+elf_symbol {
id: 0x1fe11014
name: "sync_blockdev"
is_defined: true
@@ -371965,6 +385487,15 @@ elf_symbol {
full_name: "sync_blockdev"
}
elf_symbol {
+ id: 0x75fe69c4
+ name: "sync_dirty_buffer"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcedf4474
+ type_id: 0x9bdd1a71
+ full_name: "sync_dirty_buffer"
+}
+elf_symbol {
id: 0x2a267913
name: "sync_file_create"
is_defined: true
@@ -371983,6 +385514,24 @@ elf_symbol {
full_name: "sync_file_get_fence"
}
elf_symbol {
+ id: 0xfb2634da
+ name: "sync_filesystem"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9b53df8a
+ type_id: 0x943b7925
+ full_name: "sync_filesystem"
+}
+elf_symbol {
+ id: 0xe7caa0b7
+ name: "sync_inode_metadata"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf4644f98
+ type_id: 0x9afd0449
+ full_name: "sync_inode_metadata"
+}
+elf_symbol {
id: 0x3da4fd63
name: "synchronize_irq"
is_defined: true
@@ -372136,6 +385685,15 @@ elf_symbol {
full_name: "sysctl_sched_features"
}
elf_symbol {
+ id: 0x87812861
+ name: "sysctl_sched_latency"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0xceee0cb7
+ type_id: 0x4585663f
+ full_name: "sysctl_sched_latency"
+}
+elf_symbol {
id: 0x18d0dd21
name: "sysctl_vals"
is_defined: true
@@ -372460,11 +386018,20 @@ elf_symbol {
full_name: "system_wq"
}
elf_symbol {
+ id: 0x5a86c789
+ name: "tag_pages_for_writeback"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x31d107da
+ type_id: 0x1539f399
+ full_name: "tag_pages_for_writeback"
+}
+elf_symbol {
id: 0x2eda3aae
name: "task_active_pid_ns"
is_defined: true
symbol_type: FUNCTION
- crc: 0x0ec88ead
+ crc: 0xb113afdd
type_id: 0xac273de0
full_name: "task_active_pid_ns"
}
@@ -372482,7 +386049,7 @@ elf_symbol {
name: "task_rq_lock"
is_defined: true
symbol_type: FUNCTION
- crc: 0x537d6594
+ crc: 0x244345e0
type_id: 0x8d7ecefa
full_name: "task_rq_lock"
}
@@ -372536,7 +386103,7 @@ elf_symbol {
name: "tcf_action_exec"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2f58f2e0
+ crc: 0x54890127
type_id: 0x9cdfbc5a
full_name: "tcf_action_exec"
}
@@ -372545,7 +386112,7 @@ elf_symbol {
name: "tcf_exts_destroy"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc9f23612
+ crc: 0xf6b73e2c
type_id: 0x147c9fd8
full_name: "tcf_exts_destroy"
}
@@ -372554,7 +386121,7 @@ elf_symbol {
name: "tcf_exts_dump"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb93ef56d
+ crc: 0x1a005bd2
type_id: 0x9c9d758d
full_name: "tcf_exts_dump"
}
@@ -372563,7 +386130,7 @@ elf_symbol {
name: "tcf_exts_dump_stats"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4205043a
+ crc: 0x19a4eaf0
type_id: 0x9c9d758d
full_name: "tcf_exts_dump_stats"
}
@@ -372572,7 +386139,7 @@ elf_symbol {
name: "tcf_exts_validate"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3ede0e0f
+ crc: 0x6e754c3f
type_id: 0x9e8d7e1b
full_name: "tcf_exts_validate"
}
@@ -372595,6 +386162,60 @@ elf_symbol {
full_name: "tcp_hashinfo"
}
elf_symbol {
+ id: 0x5f96413a
+ name: "tcp_register_congestion_control"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6a326cc1
+ type_id: 0x920aa99b
+ full_name: "tcp_register_congestion_control"
+}
+elf_symbol {
+ id: 0x34a062e9
+ name: "tcp_reno_cong_avoid"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x49080385
+ type_id: 0x14df3fae
+ full_name: "tcp_reno_cong_avoid"
+}
+elf_symbol {
+ id: 0x97edc1c5
+ name: "tcp_reno_ssthresh"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfc040e49
+ type_id: 0x42a927f9
+ full_name: "tcp_reno_ssthresh"
+}
+elf_symbol {
+ id: 0xdb8e8104
+ name: "tcp_reno_undo_cwnd"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4dece522
+ type_id: 0x42a927f9
+ full_name: "tcp_reno_undo_cwnd"
+}
+elf_symbol {
+ id: 0xe6a46ba8
+ name: "tcp_slow_start"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1cf8d7ac
+ type_id: 0x4022c156
+ full_name: "tcp_slow_start"
+}
+elf_symbol {
+ id: 0xefab10bf
+ name: "tcp_unregister_congestion_control"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc80e5686
+ type_id: 0x1f121b27
+ full_name: "tcp_unregister_congestion_control"
+}
+elf_symbol {
id: 0x857e5dc9
name: "tcpci_get_tcpm_port"
is_defined: true
@@ -372685,6 +386306,15 @@ elf_symbol {
full_name: "tcpm_port_is_toggling"
}
elf_symbol {
+ id: 0xd2070626
+ name: "tcpm_register_port"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd95cde3e
+ type_id: 0x16949287
+ full_name: "tcpm_register_port"
+}
+elf_symbol {
id: 0xdebe76ba
name: "tcpm_sink_frs"
is_defined: true
@@ -372703,6 +386333,24 @@ elf_symbol {
full_name: "tcpm_sourcing_vbus"
}
elf_symbol {
+ id: 0xfccd15d1
+ name: "tcpm_tcpc_reset"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xea220941
+ type_id: 0x129c1f38
+ full_name: "tcpm_tcpc_reset"
+}
+elf_symbol {
+ id: 0x591431f1
+ name: "tcpm_unregister_port"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x76eeda4b
+ type_id: 0x129c1f38
+ full_name: "tcpm_unregister_port"
+}
+elf_symbol {
id: 0x6869c83d
name: "tcpm_vbus_change"
is_defined: true
@@ -372712,6 +386360,24 @@ elf_symbol {
full_name: "tcpm_vbus_change"
}
elf_symbol {
+ id: 0x7cfd9233
+ name: "teo_cpu_get_util_threshold"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0482d3ad
+ type_id: 0x2864f998
+ full_name: "teo_cpu_get_util_threshold"
+}
+elf_symbol {
+ id: 0xbd25c7d0
+ name: "teo_cpu_set_util_threshold"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xba6e00b6
+ type_id: 0x099db0ca
+ full_name: "teo_cpu_set_util_threshold"
+}
+elf_symbol {
id: 0x5bbd3545
name: "thermal_cdev_update"
is_defined: true
@@ -372802,6 +386468,15 @@ elf_symbol {
full_name: "thermal_zone_device_register"
}
elf_symbol {
+ id: 0xed549fd4
+ name: "thermal_zone_device_register_with_trips"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfcd9aad1
+ type_id: 0xf2e4f0d1
+ full_name: "thermal_zone_device_register_with_trips"
+}
+elf_symbol {
id: 0x73954c59
name: "thermal_zone_device_unregister"
is_defined: true
@@ -372838,6 +386513,15 @@ elf_symbol {
full_name: "thermal_zone_get_zone_by_name"
}
elf_symbol {
+ id: 0x61ab1273
+ name: "thermal_zone_unbind_cooling_device"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x13f7391c
+ type_id: 0x95a406a6
+ full_name: "thermal_zone_unbind_cooling_device"
+}
+elf_symbol {
id: 0x68e98442
name: "thread_group_cputime_adjusted"
is_defined: true
@@ -372910,6 +386594,15 @@ elf_symbol {
full_name: "timer_of_init"
}
elf_symbol {
+ id: 0x5da495c5
+ name: "timer_reduce"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x75c21753
+ type_id: 0x92c0b65c
+ full_name: "timer_reduce"
+}
+elf_symbol {
id: 0xdc3e523b
name: "timer_unstable_counter_workaround"
is_defined: true
@@ -372928,11 +386621,20 @@ elf_symbol {
full_name: "timespec64_to_jiffies"
}
elf_symbol {
+ id: 0xaed64d9d
+ name: "timestamp_truncate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe6d28852
+ type_id: 0xb98ee524
+ full_name: "timestamp_truncate"
+}
+elf_symbol {
id: 0xa603e7df
name: "tipc_dump_done"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe44d4431
+ crc: 0xdc43d984
type_id: 0x96b01a1d
full_name: "tipc_dump_done"
}
@@ -372941,7 +386643,7 @@ elf_symbol {
name: "tipc_dump_start"
is_defined: true
symbol_type: FUNCTION
- crc: 0xadb723c7
+ crc: 0x60da1d20
type_id: 0x96b01a1d
full_name: "tipc_dump_start"
}
@@ -372950,7 +386652,7 @@ elf_symbol {
name: "tipc_nl_sk_walk"
is_defined: true
symbol_type: FUNCTION
- crc: 0x10cb8456
+ crc: 0xf6b650cc
type_id: 0x9c6b5433
full_name: "tipc_nl_sk_walk"
}
@@ -372959,7 +386661,7 @@ elf_symbol {
name: "tipc_sk_fill_sock_diag"
is_defined: true
symbol_type: FUNCTION
- crc: 0x50bf6749
+ crc: 0x2a0945d7
type_id: 0x9c6f59d4
full_name: "tipc_sk_fill_sock_diag"
}
@@ -372991,6 +386693,15 @@ elf_symbol {
full_name: "topology_update_thermal_pressure"
}
elf_symbol {
+ id: 0x3217f3a4
+ name: "touch_atime"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x838565c7
+ type_id: 0x1e3bdb22
+ full_name: "touch_atime"
+}
+elf_symbol {
id: 0xf7dfdad1
name: "touch_softlockup_watchdog"
is_defined: true
@@ -373243,6 +386954,42 @@ elf_symbol {
full_name: "tracing_off"
}
elf_symbol {
+ id: 0x3f07269b
+ name: "truncate_inode_pages"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x30d50607
+ type_id: 0x1566644a
+ full_name: "truncate_inode_pages"
+}
+elf_symbol {
+ id: 0x3c7c6ce9
+ name: "truncate_inode_pages_final"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc3c0465a
+ type_id: 0x15f8fb52
+ full_name: "truncate_inode_pages_final"
+}
+elf_symbol {
+ id: 0x7a43283c
+ name: "truncate_pagecache"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x288af9d7
+ type_id: 0x16e7aaa1
+ full_name: "truncate_pagecache"
+}
+elf_symbol {
+ id: 0x44cd0751
+ name: "truncate_setsize"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3a8f6a77
+ type_id: 0x16e7aaa1
+ full_name: "truncate_setsize"
+}
+elf_symbol {
id: 0x3d986fb5
name: "try_module_get"
is_defined: true
@@ -373270,6 +387017,15 @@ elf_symbol {
full_name: "try_to_free_mem_cgroup_pages"
}
elf_symbol {
+ id: 0x8fa1e478
+ name: "try_to_writeback_inodes_sb"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xaa6bae3f
+ type_id: 0x1b90a8d8
+ full_name: "try_to_writeback_inodes_sb"
+}
+elf_symbol {
id: 0xe54aec5b
name: "try_wait_for_completion"
is_defined: true
@@ -373283,7 +387039,7 @@ elf_symbol {
name: "tso_build_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeb47c5df
+ crc: 0x04fc9d12
type_id: 0x1fdd6fd2
full_name: "tso_build_data"
}
@@ -373292,7 +387048,7 @@ elf_symbol {
name: "tso_build_hdr"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbea998bc
+ crc: 0x66be5638
type_id: 0x1f1f7d50
full_name: "tso_build_hdr"
}
@@ -373301,7 +387057,7 @@ elf_symbol {
name: "tso_count_descs"
is_defined: true
symbol_type: FUNCTION
- crc: 0x34cb5b12
+ crc: 0x4a333dc6
type_id: 0x92180697
full_name: "tso_count_descs"
}
@@ -373310,7 +387066,7 @@ elf_symbol {
name: "tso_start"
is_defined: true
symbol_type: FUNCTION
- crc: 0x22ca21c7
+ crc: 0x3d491a47
type_id: 0x9c172aa4
full_name: "tso_start"
}
@@ -373441,6 +387197,15 @@ elf_symbol {
full_name: "ttm_bo_unlock_delayed_workqueue"
}
elf_symbol {
+ id: 0xf35fc966
+ name: "ttm_bo_unmap_virtual"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb6ff6422
+ type_id: 0x19832066
+ full_name: "ttm_bo_unmap_virtual"
+}
+elf_symbol {
id: 0x05d29e21
name: "ttm_bo_unpin"
is_defined: true
@@ -373531,6 +387296,15 @@ elf_symbol {
full_name: "ttm_bo_vunmap"
}
elf_symbol {
+ id: 0x46252c06
+ name: "ttm_bo_wait"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe6de126c
+ type_id: 0x95353072
+ full_name: "ttm_bo_wait"
+}
+elf_symbol {
id: 0x7d656c6a
name: "ttm_device_fini"
is_defined: true
@@ -373558,6 +387332,15 @@ elf_symbol {
full_name: "ttm_eu_backoff_reservation"
}
elf_symbol {
+ id: 0x42083e9a
+ name: "ttm_eu_fence_buffer_objects"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x844d1fc4
+ type_id: 0x1b6dacf7
+ full_name: "ttm_eu_fence_buffer_objects"
+}
+elf_symbol {
id: 0x697b29f0
name: "ttm_eu_reserve_buffers"
is_defined: true
@@ -373702,6 +387485,15 @@ elf_symbol {
full_name: "ttm_tt_fini"
}
elf_symbol {
+ id: 0xcbabaff3
+ name: "ttm_tt_unpopulate"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa5cacfb1
+ type_id: 0x14b4088f
+ full_name: "ttm_tt_unpopulate"
+}
+elf_symbol {
id: 0x0b4dd20d
name: "tty_chars_in_buffer"
is_defined: true
@@ -373783,6 +387575,15 @@ elf_symbol {
full_name: "tty_hangup"
}
elf_symbol {
+ id: 0xfdbc073c
+ name: "tty_hung_up_p"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xeefa4457
+ type_id: 0x9bba7997
+ full_name: "tty_hung_up_p"
+}
+elf_symbol {
id: 0x59f7bc61
name: "tty_insert_flip_string_fixed_flag"
is_defined: true
@@ -373864,6 +387665,24 @@ elf_symbol {
full_name: "tty_mode_ioctl"
}
elf_symbol {
+ id: 0xe5875746
+ name: "tty_name"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x243bde31
+ type_id: 0x9f67ec8c
+ full_name: "tty_name"
+}
+elf_symbol {
+ id: 0x44728108
+ name: "tty_port_block_til_ready"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x4fd52fc4
+ type_id: 0x9bb937dc
+ full_name: "tty_port_block_til_ready"
+}
+elf_symbol {
id: 0x2a899db0
name: "tty_port_close"
is_defined: true
@@ -373873,6 +387692,24 @@ elf_symbol {
full_name: "tty_port_close"
}
elf_symbol {
+ id: 0x41fc53b5
+ name: "tty_port_close_end"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x07fcb1b2
+ type_id: 0x16a7bffa
+ full_name: "tty_port_close_end"
+}
+elf_symbol {
+ id: 0xb7985539
+ name: "tty_port_close_start"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xee77b72e
+ type_id: 0x9bb937dc
+ full_name: "tty_port_close_start"
+}
+elf_symbol {
id: 0x954d57e8
name: "tty_port_destroy"
is_defined: true
@@ -373909,6 +387746,24 @@ elf_symbol {
full_name: "tty_port_install"
}
elf_symbol {
+ id: 0x3ed74db1
+ name: "tty_port_link_device"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xebd3061e
+ type_id: 0x16cab29d
+ full_name: "tty_port_link_device"
+}
+elf_symbol {
+ id: 0x8c3087ea
+ name: "tty_port_lower_dtr_rts"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8d16eae7
+ type_id: 0x161c45fb
+ full_name: "tty_port_lower_dtr_rts"
+}
+elf_symbol {
id: 0x4e9dfcab
name: "tty_port_open"
is_defined: true
@@ -373954,6 +387809,15 @@ elf_symbol {
full_name: "tty_port_tty_hangup"
}
elf_symbol {
+ id: 0x99f6096a
+ name: "tty_port_tty_set"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1c5d6934
+ type_id: 0x16a7bffa
+ full_name: "tty_port_tty_set"
+}
+elf_symbol {
id: 0x1f87b736
name: "tty_port_tty_wakeup"
is_defined: true
@@ -373963,6 +387827,15 @@ elf_symbol {
full_name: "tty_port_tty_wakeup"
}
elf_symbol {
+ id: 0x74487c98
+ name: "tty_register_device"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa1b48c8f
+ type_id: 0xa040d060
+ full_name: "tty_register_device"
+}
+elf_symbol {
id: 0x727ea003
name: "tty_register_driver"
is_defined: true
@@ -374116,6 +387989,42 @@ elf_symbol {
full_name: "tty_write_room"
}
elf_symbol {
+ id: 0xfb5efe2e
+ name: "typec_altmode_attention"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x398e7f4f
+ type_id: 0x1e02170b
+ full_name: "typec_altmode_attention"
+}
+elf_symbol {
+ id: 0x58687602
+ name: "typec_altmode_notify"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xabc1a359
+ type_id: 0x90f57fd0
+ full_name: "typec_altmode_notify"
+}
+elf_symbol {
+ id: 0xe7fb597f
+ name: "typec_altmode_update_active"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa9986484
+ type_id: 0x1c93cad8
+ full_name: "typec_altmode_update_active"
+}
+elf_symbol {
+ id: 0xe6cbb47e
+ name: "typec_altmode_vdm"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe01054ea
+ type_id: 0x93177804
+ full_name: "typec_altmode_vdm"
+}
+elf_symbol {
id: 0x0d23e13a
name: "typec_find_port_data_role"
is_defined: true
@@ -374134,6 +388043,15 @@ elf_symbol {
full_name: "typec_find_port_power_role"
}
elf_symbol {
+ id: 0xe9d634b5
+ name: "typec_find_power_role"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2d1e301d
+ type_id: 0x9204ce69
+ full_name: "typec_find_power_role"
+}
+elf_symbol {
id: 0x84b20708
name: "typec_get_drvdata"
is_defined: true
@@ -374143,6 +388061,15 @@ elf_symbol {
full_name: "typec_get_drvdata"
}
elf_symbol {
+ id: 0xb8c4fc82
+ name: "typec_match_altmode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3fa48e72
+ type_id: 0xd001e6e1
+ full_name: "typec_match_altmode"
+}
+elf_symbol {
id: 0x8fafe0a6
name: "typec_mux_get_drvdata"
is_defined: true
@@ -374188,6 +388115,15 @@ elf_symbol {
full_name: "typec_mux_unregister"
}
elf_symbol {
+ id: 0x6dffcd52
+ name: "typec_partner_register_altmode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x853b52c9
+ type_id: 0xd6e94dc1
+ full_name: "typec_partner_register_altmode"
+}
+elf_symbol {
id: 0xe9bfa224
name: "typec_partner_set_identity"
is_defined: true
@@ -374215,6 +388151,15 @@ elf_symbol {
full_name: "typec_partner_set_svdm_version"
}
elf_symbol {
+ id: 0x4fe4e1e0
+ name: "typec_port_register_altmode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x545d0306
+ type_id: 0xdf267053
+ full_name: "typec_port_register_altmode"
+}
+elf_symbol {
id: 0x22d09ebb
name: "typec_register_partner"
is_defined: true
@@ -374242,6 +388187,15 @@ elf_symbol {
full_name: "typec_set_data_role"
}
elf_symbol {
+ id: 0x7e6ad5ea
+ name: "typec_set_mode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8519551e
+ type_id: 0x91c47df8
+ full_name: "typec_set_mode"
+}
+elf_symbol {
id: 0xfb60a10e
name: "typec_set_orientation"
is_defined: true
@@ -374305,6 +388259,15 @@ elf_symbol {
full_name: "typec_switch_unregister"
}
elf_symbol {
+ id: 0xcbaf28c3
+ name: "typec_unregister_altmode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x308ea05e
+ type_id: 0x1d2637a7
+ full_name: "typec_unregister_altmode"
+}
+elf_symbol {
id: 0x098b2c4d
name: "typec_unregister_partner"
is_defined: true
@@ -374498,7 +388461,7 @@ elf_symbol {
name: "uclamp_eff_value"
is_defined: true
symbol_type: FUNCTION
- crc: 0x57dee79e
+ crc: 0xb35eaea1
type_id: 0x37f8837e
full_name: "uclamp_eff_value"
}
@@ -374579,7 +388542,7 @@ elf_symbol {
name: "udp4_hwcsum"
is_defined: true
symbol_type: FUNCTION
- crc: 0x444ed4fa
+ crc: 0xa1b5298e
type_id: 0x127accc9
full_name: "udp4_hwcsum"
}
@@ -374588,7 +388551,7 @@ elf_symbol {
name: "udp6_set_csum"
is_defined: true
symbol_type: FUNCTION
- crc: 0x052a9ec6
+ crc: 0x2b6945b5
type_id: 0x0bdc9e9d
full_name: "udp6_set_csum"
}
@@ -374597,7 +388560,7 @@ elf_symbol {
name: "udp_set_csum"
is_defined: true
symbol_type: FUNCTION
- crc: 0x135d2347
+ crc: 0xa61148a7
type_id: 0x0be9b673
full_name: "udp_set_csum"
}
@@ -374606,7 +388569,7 @@ elf_symbol {
name: "udp_sock_create4"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdfd29b5b
+ crc: 0x37d2c34f
type_id: 0x9ea1fe03
full_name: "udp_sock_create4"
}
@@ -374615,7 +388578,7 @@ elf_symbol {
name: "udp_sock_create6"
is_defined: true
symbol_type: FUNCTION
- crc: 0x70ac4bc2
+ crc: 0xec652a9e
type_id: 0x9ea1fe03
full_name: "udp_sock_create6"
}
@@ -374633,7 +388596,7 @@ elf_symbol {
name: "udp_tunnel6_xmit_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x98110076
+ crc: 0x5106a9d0
type_id: 0x99621666
full_name: "udp_tunnel6_xmit_skb"
}
@@ -374642,7 +388605,7 @@ elf_symbol {
name: "udp_tunnel_sock_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb2544353
+ crc: 0x8d386e7d
type_id: 0x14805be2
full_name: "udp_tunnel_sock_release"
}
@@ -374651,7 +388614,7 @@ elf_symbol {
name: "udp_tunnel_xmit_skb"
is_defined: true
symbol_type: FUNCTION
- crc: 0x07857593
+ crc: 0xb583abe2
type_id: 0x14a305ea
full_name: "udp_tunnel_xmit_skb"
}
@@ -374836,6 +388799,15 @@ elf_symbol {
full_name: "ufshcd_mcq_config_esi"
}
elf_symbol {
+ id: 0x71dad1b2
+ name: "ufshcd_mcq_config_mac"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd1787215
+ type_id: 0x125cb480
+ full_name: "ufshcd_mcq_config_mac"
+}
+elf_symbol {
id: 0x051c0489
name: "ufshcd_mcq_enable_esi"
is_defined: true
@@ -374845,6 +388817,15 @@ elf_symbol {
full_name: "ufshcd_mcq_enable_esi"
}
elf_symbol {
+ id: 0x562c9a11
+ name: "ufshcd_mcq_make_queues_operational"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1d22bd73
+ type_id: 0x1178942c
+ full_name: "ufshcd_mcq_make_queues_operational"
+}
+elf_symbol {
id: 0x56d1da85
name: "ufshcd_mcq_poll_cqe_lock"
is_defined: true
@@ -374863,6 +388844,15 @@ elf_symbol {
full_name: "ufshcd_mcq_poll_cqe_nolock"
}
elf_symbol {
+ id: 0xaefd3622
+ name: "ufshcd_mcq_read_cqis"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xeafc7b98
+ type_id: 0x45846d91
+ full_name: "ufshcd_mcq_read_cqis"
+}
+elf_symbol {
id: 0x3ecd46f0
name: "ufshcd_mcq_write_cqis"
is_defined: true
@@ -375097,6 +389087,15 @@ elf_symbol {
full_name: "uio_unregister_device"
}
elf_symbol {
+ id: 0xa13a99d8
+ name: "unload_nls"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf632a6eb
+ type_id: 0x10aeeb41
+ full_name: "unload_nls"
+}
+elf_symbol {
id: 0x9f5197f0
name: "unlock_buffer"
is_defined: true
@@ -375106,6 +389105,15 @@ elf_symbol {
full_name: "unlock_buffer"
}
elf_symbol {
+ id: 0x5ad67dea
+ name: "unlock_new_inode"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8e87ba89
+ type_id: 0x167935b9
+ full_name: "unlock_new_inode"
+}
+elf_symbol {
id: 0x11fd8c82
name: "unlock_page"
is_defined: true
@@ -375164,7 +389172,7 @@ elf_symbol {
name: "unregister_candev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x02cecd3b
+ crc: 0x9ae27a5a
type_id: 0x1c31d966
full_name: "unregister_candev"
}
@@ -375281,7 +389289,7 @@ elf_symbol {
name: "unregister_netdev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x055bc919
+ crc: 0x4ab68b33
type_id: 0x1c31d966
full_name: "unregister_netdev"
}
@@ -375308,7 +389316,7 @@ elf_symbol {
name: "unregister_netdevice_queue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2aad467d
+ crc: 0xc7086c08
type_id: 0x1cc85181
full_name: "unregister_netdevice_queue"
}
@@ -375335,7 +389343,7 @@ elf_symbol {
name: "unregister_pernet_device"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe7479758
+ crc: 0x35887880
type_id: 0x1a8e27b5
full_name: "unregister_pernet_device"
}
@@ -375344,7 +389352,7 @@ elf_symbol {
name: "unregister_pernet_subsys"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2a5e310c
+ crc: 0xa19edd2d
type_id: 0x1a8e27b5
full_name: "unregister_pernet_subsys"
}
@@ -375371,7 +389379,7 @@ elf_symbol {
name: "unregister_qdisc"
is_defined: true
symbol_type: FUNCTION
- crc: 0x095e99c5
+ crc: 0x2fc8474d
type_id: 0x1f62fcf3
full_name: "unregister_qdisc"
}
@@ -375434,7 +389442,7 @@ elf_symbol {
name: "unregister_tcf_proto_ops"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6d485c23
+ crc: 0x2c8730c5
type_id: 0x17e4a48e
full_name: "unregister_tcf_proto_ops"
}
@@ -375506,7 +389514,7 @@ elf_symbol {
name: "update_rq_clock"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb89543a9
+ crc: 0x7ff431ed
type_id: 0x1b18f64e
full_name: "update_rq_clock"
}
@@ -375551,16 +389559,25 @@ elf_symbol {
name: "usb_add_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6247478f
+ crc: 0xa85ddb88
type_id: 0x95c42336
full_name: "usb_add_hcd"
}
elf_symbol {
+ id: 0xea314c1f
+ name: "usb_add_phy"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb3aac08b
+ type_id: 0x9e7bd8f3
+ full_name: "usb_add_phy"
+}
+elf_symbol {
id: 0xdc59a2d7
name: "usb_add_phy_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf141f866
+ crc: 0xce9b68c4
type_id: 0x9cf04bdd
full_name: "usb_add_phy_dev"
}
@@ -375745,6 +389762,15 @@ elf_symbol {
full_name: "usb_calc_bus_time"
}
elf_symbol {
+ id: 0x23a5ab99
+ name: "usb_choose_configuration"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf7b90cc4
+ type_id: 0x9edfdadc
+ full_name: "usb_choose_configuration"
+}
+elf_symbol {
id: 0x2a589f64
name: "usb_clear_halt"
is_defined: true
@@ -375821,7 +389847,7 @@ elf_symbol {
name: "usb_create_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8cadc222
+ crc: 0xb28c2fa9
type_id: 0xab95c382
full_name: "usb_create_hcd"
}
@@ -375830,7 +389856,7 @@ elf_symbol {
name: "usb_create_shared_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6dec386f
+ crc: 0xdd54bd2d
type_id: 0xab955662
full_name: "usb_create_shared_hcd"
}
@@ -375880,6 +389906,15 @@ elf_symbol {
full_name: "usb_deregister"
}
elf_symbol {
+ id: 0x201afca9
+ name: "usb_deregister_dev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6835cf09
+ type_id: 0x18159e1c
+ full_name: "usb_deregister_dev"
+}
+elf_symbol {
id: 0xd75ad246
name: "usb_device_match_id"
is_defined: true
@@ -376060,6 +390095,15 @@ elf_symbol {
full_name: "usb_find_common_endpoints"
}
elf_symbol {
+ id: 0x899ff164
+ name: "usb_find_interface"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x8b21a5ec
+ type_id: 0x4d306964
+ full_name: "usb_find_interface"
+}
+elf_symbol {
id: 0x4ec99a42
name: "usb_free_all_descriptors"
is_defined: true
@@ -376343,7 +390387,7 @@ elf_symbol {
name: "usb_hc_died"
is_defined: true
symbol_type: FUNCTION
- crc: 0x38aa1c3c
+ crc: 0xcf36bf41
type_id: 0x19c6594b
full_name: "usb_hc_died"
}
@@ -376352,7 +390396,7 @@ elf_symbol {
name: "usb_hcd_check_unlink_urb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa80137b0
+ crc: 0x34c34625
type_id: 0x94c3e345
full_name: "usb_hcd_check_unlink_urb"
}
@@ -376370,7 +390414,7 @@ elf_symbol {
name: "usb_hcd_giveback_urb"
is_defined: true
symbol_type: FUNCTION
- crc: 0xea56a070
+ crc: 0x0efbce6b
type_id: 0x19db51f9
full_name: "usb_hcd_giveback_urb"
}
@@ -376388,7 +390432,7 @@ elf_symbol {
name: "usb_hcd_is_primary_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbd67c348
+ crc: 0x29906c2f
type_id: 0x94deebf7
full_name: "usb_hcd_is_primary_hcd"
}
@@ -376397,7 +390441,7 @@ elf_symbol {
name: "usb_hcd_link_urb_to_ep"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdd9ebcee
+ crc: 0xdeb2c756
type_id: 0x94da2b71
full_name: "usb_hcd_link_urb_to_ep"
}
@@ -376406,7 +390450,7 @@ elf_symbol {
name: "usb_hcd_map_urb_for_dma"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcf8e99d6
+ crc: 0x9fc35a66
type_id: 0x94e642c6
full_name: "usb_hcd_map_urb_for_dma"
}
@@ -376460,7 +390504,7 @@ elf_symbol {
name: "usb_hcd_poll_rh_status"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2dd7f5fb
+ crc: 0xc9c702e0
type_id: 0x19c6594b
full_name: "usb_hcd_poll_rh_status"
}
@@ -376469,7 +390513,7 @@ elf_symbol {
name: "usb_hcd_resume_root_hub"
is_defined: true
symbol_type: FUNCTION
- crc: 0x19d1a071
+ crc: 0x18dfd09e
type_id: 0x19c6594b
full_name: "usb_hcd_resume_root_hub"
}
@@ -376487,7 +390531,7 @@ elf_symbol {
name: "usb_hcd_unlink_urb_from_ep"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2f0d23c2
+ crc: 0x2146f0f8
type_id: 0x19c299cd
full_name: "usb_hcd_unlink_urb_from_ep"
}
@@ -376496,7 +390540,7 @@ elf_symbol {
name: "usb_hcd_unmap_urb_for_dma"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3df972e
+ crc: 0x6ed65a4b
type_id: 0x19c299cd
full_name: "usb_hcd_unmap_urb_for_dma"
}
@@ -376510,6 +390554,15 @@ elf_symbol {
full_name: "usb_hcds_loaded"
}
elf_symbol {
+ id: 0x00a14c5c
+ name: "usb_hid_driver"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x06332c5c
+ type_id: 0x2def15e8
+ full_name: "usb_hid_driver"
+}
+elf_symbol {
id: 0x868c5f6e
name: "usb_hub_clear_tt_buffer"
is_defined: true
@@ -376564,6 +390617,15 @@ elf_symbol {
full_name: "usb_interface_id"
}
elf_symbol {
+ id: 0x83676405
+ name: "usb_interrupt_msg"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc5e153c9
+ type_id: 0x9fce79d4
+ full_name: "usb_interrupt_msg"
+}
+elf_symbol {
id: 0x89c78ea4
name: "usb_kill_anchored_urbs"
is_defined: true
@@ -376622,7 +390684,7 @@ elf_symbol {
name: "usb_phy_get_charger_current"
is_defined: true
symbol_type: FUNCTION
- crc: 0x04d5b762
+ crc: 0xa4c06f8d
type_id: 0x1181c0b9
full_name: "usb_phy_get_charger_current"
}
@@ -376631,7 +390693,7 @@ elf_symbol {
name: "usb_phy_set_charger_current"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc48dd5bb
+ crc: 0x7da77357
type_id: 0x10feecf9
full_name: "usb_phy_set_charger_current"
}
@@ -376640,7 +390702,7 @@ elf_symbol {
name: "usb_phy_set_charger_state"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdc6270fa
+ crc: 0xc9c6de2a
type_id: 0x10a7df71
full_name: "usb_phy_set_charger_state"
}
@@ -376649,11 +390711,20 @@ elf_symbol {
name: "usb_phy_set_event"
is_defined: true
symbol_type: FUNCTION
- crc: 0x622816bd
+ crc: 0xe538692b
type_id: 0x11252cf3
full_name: "usb_phy_set_event"
}
elf_symbol {
+ id: 0xbf06fcb7
+ name: "usb_poison_anchored_urbs"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x842f046d
+ type_id: 0x1d8d80fc
+ full_name: "usb_poison_anchored_urbs"
+}
+elf_symbol {
id: 0xcaff4b1e
name: "usb_poison_urb"
is_defined: true
@@ -376694,7 +390765,7 @@ elf_symbol {
name: "usb_put_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0xecece866
+ crc: 0x4174560b
type_id: 0x19c6594b
full_name: "usb_put_hcd"
}
@@ -376717,6 +390788,15 @@ elf_symbol {
full_name: "usb_queue_reset_device"
}
elf_symbol {
+ id: 0xa60cf3b7
+ name: "usb_register_dev"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf06b7687
+ type_id: 0x950d2ca0
+ full_name: "usb_register_dev"
+}
+elf_symbol {
id: 0x944deaea
name: "usb_register_driver"
is_defined: true
@@ -376748,7 +390828,7 @@ elf_symbol {
name: "usb_remove_hcd"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7f72ca76
+ crc: 0x39effec3
type_id: 0x19c6594b
full_name: "usb_remove_hcd"
}
@@ -376757,7 +390837,7 @@ elf_symbol {
name: "usb_remove_phy"
is_defined: true
symbol_type: FUNCTION
- crc: 0x752c7b83
+ crc: 0x6b13dee2
type_id: 0x11e8f961
full_name: "usb_remove_phy"
}
@@ -376816,6 +390896,15 @@ elf_symbol {
full_name: "usb_role_switch_get_drvdata"
}
elf_symbol {
+ id: 0x9de82d32
+ name: "usb_role_switch_get_role"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xff42c374
+ type_id: 0x9a23bd25
+ full_name: "usb_role_switch_get_role"
+}
+elf_symbol {
id: 0x09c05733
name: "usb_role_switch_put"
is_defined: true
@@ -377068,6 +391157,15 @@ elf_symbol {
full_name: "usb_serial_suspend"
}
elf_symbol {
+ id: 0xedbb00b2
+ name: "usb_set_configuration"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x58ece092
+ type_id: 0x9f435990
+ full_name: "usb_set_configuration"
+}
+elf_symbol {
id: 0x34af8a35
name: "usb_set_device_state"
is_defined: true
@@ -377185,6 +391283,15 @@ elf_symbol {
full_name: "usb_unregister_notify"
}
elf_symbol {
+ id: 0x9ea1c58f
+ name: "usb_wakeup_enabled_descendants"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa1709c0c
+ type_id: 0xcd844708
+ full_name: "usb_wakeup_enabled_descendants"
+}
+elf_symbol {
id: 0x140d9164
name: "usb_wakeup_notification"
is_defined: true
@@ -377194,24 +391301,231 @@ elf_symbol {
full_name: "usb_wakeup_notification"
}
elf_symbol {
+ id: 0xbbf007f4
+ name: "usbnet_change_mtu"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdf1db1f5
+ type_id: 0x90b5e896
+ full_name: "usbnet_change_mtu"
+}
+elf_symbol {
+ id: 0xd28057f3
+ name: "usbnet_defer_kevent"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6e3c218b
+ type_id: 0x1276a8bd
+ full_name: "usbnet_defer_kevent"
+}
+elf_symbol {
+ id: 0x580c56b8
+ name: "usbnet_disconnect"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfe1e5ee6
+ type_id: 0x18d9f669
+ full_name: "usbnet_disconnect"
+}
+elf_symbol {
+ id: 0x8f0c866d
+ name: "usbnet_get_drvinfo"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa5701874
+ type_id: 0x1cc68e0f
+ full_name: "usbnet_get_drvinfo"
+}
+elf_symbol {
id: 0x52816b1c
name: "usbnet_get_endpoints"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb81f75b2
+ crc: 0xb30fc515
type_id: 0x9e768332
full_name: "usbnet_get_endpoints"
}
elf_symbol {
+ id: 0x4f4e9353
+ name: "usbnet_get_link"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa8e792b0
+ type_id: 0x4951a397
+ full_name: "usbnet_get_link"
+}
+elf_symbol {
+ id: 0x3f51a906
+ name: "usbnet_get_link_ksettings_mii"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x2d9393b2
+ type_id: 0x914dbe16
+ full_name: "usbnet_get_link_ksettings_mii"
+}
+elf_symbol {
+ id: 0x6515c416
+ name: "usbnet_get_msglevel"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xaa53e6df
+ type_id: 0x4951a397
+ full_name: "usbnet_get_msglevel"
+}
+elf_symbol {
id: 0x19d80976
name: "usbnet_link_change"
is_defined: true
symbol_type: FUNCTION
- crc: 0x64177fcb
+ crc: 0x8a855afb
type_id: 0x12448959
full_name: "usbnet_link_change"
}
elf_symbol {
+ id: 0x6c854cb3
+ name: "usbnet_nway_reset"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x44c1d620
+ type_id: 0x91296bda
+ full_name: "usbnet_nway_reset"
+}
+elf_symbol {
+ id: 0xcd021e80
+ name: "usbnet_open"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x37e3dac8
+ type_id: 0x91296bda
+ full_name: "usbnet_open"
+}
+elf_symbol {
+ id: 0x147e4ad2
+ name: "usbnet_probe"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa6db5d48
+ type_id: 0x952154fc
+ full_name: "usbnet_probe"
+}
+elf_symbol {
+ id: 0x167360fc
+ name: "usbnet_read_cmd"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa46394ea
+ type_id: 0x9e5fdeba
+ full_name: "usbnet_read_cmd"
+}
+elf_symbol {
+ id: 0x69b1070f
+ name: "usbnet_read_cmd_nopm"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x721f340d
+ type_id: 0x9e5fdeba
+ full_name: "usbnet_read_cmd_nopm"
+}
+elf_symbol {
+ id: 0x3be16591
+ name: "usbnet_resume"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xb279d24c
+ type_id: 0x95c144d5
+ full_name: "usbnet_resume"
+}
+elf_symbol {
+ id: 0x6e3c0f91
+ name: "usbnet_set_link_ksettings_mii"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3f50bb22
+ type_id: 0x91cc9f9b
+ full_name: "usbnet_set_link_ksettings_mii"
+}
+elf_symbol {
+ id: 0x99cb2edf
+ name: "usbnet_set_msglevel"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xcbf61848
+ type_id: 0x1f15f9ca
+ full_name: "usbnet_set_msglevel"
+}
+elf_symbol {
+ id: 0x2325cd65
+ name: "usbnet_skb_return"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7602f70e
+ type_id: 0x13ff1655
+ full_name: "usbnet_skb_return"
+}
+elf_symbol {
+ id: 0x9cf79f8d
+ name: "usbnet_start_xmit"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x64b56e3d
+ type_id: 0x5515f11d
+ full_name: "usbnet_start_xmit"
+}
+elf_symbol {
+ id: 0x2f365f93
+ name: "usbnet_stop"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1328858d
+ type_id: 0x91296bda
+ full_name: "usbnet_stop"
+}
+elf_symbol {
+ id: 0x6229bd38
+ name: "usbnet_suspend"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf5d2649e
+ type_id: 0x96011ad3
+ full_name: "usbnet_suspend"
+}
+elf_symbol {
+ id: 0x90b81315
+ name: "usbnet_tx_timeout"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x93fad802
+ type_id: 0x1d27ccfe
+ full_name: "usbnet_tx_timeout"
+}
+elf_symbol {
+ id: 0xb011e423
+ name: "usbnet_write_cmd"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xf6bbc53f
+ type_id: 0x9e5fde3c
+ full_name: "usbnet_write_cmd"
+}
+elf_symbol {
+ id: 0x27363bb6
+ name: "usbnet_write_cmd_async"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x54bea6a3
+ type_id: 0x9e5fde3c
+ full_name: "usbnet_write_cmd_async"
+}
+elf_symbol {
+ id: 0x10932377
+ name: "usbnet_write_cmd_nopm"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xee57cfe4
+ type_id: 0x9e5fde3c
+ full_name: "usbnet_write_cmd_nopm"
+}
+elf_symbol {
id: 0xb5437ef4
name: "usleep_range_state"
is_defined: true
@@ -377518,6 +391832,15 @@ elf_symbol {
full_name: "v4l2_device_unregister_subdev"
}
elf_symbol {
+ id: 0x5c266e47
+ name: "v4l2_enum_dv_timings_cap"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x922ecd29
+ type_id: 0x90bd2dd7
+ full_name: "v4l2_enum_dv_timings_cap"
+}
+elf_symbol {
id: 0xd40ec4d6
name: "v4l2_event_dequeue"
is_defined: true
@@ -377644,6 +391967,15 @@ elf_symbol {
full_name: "v4l2_fh_release"
}
elf_symbol {
+ id: 0x538ad5cc
+ name: "v4l2_find_dv_timings_cap"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3aa68d7a
+ type_id: 0xf3248c4f
+ full_name: "v4l2_find_dv_timings_cap"
+}
+elf_symbol {
id: 0x2244c8f0
name: "v4l2_format_info"
is_defined: true
@@ -378103,6 +392435,42 @@ elf_symbol {
full_name: "v4l2_pipeline_link_notify"
}
elf_symbol {
+ id: 0xb2eba8d7
+ name: "v4l2_pipeline_pm_get"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x12d08c2a
+ type_id: 0x9a25325b
+ full_name: "v4l2_pipeline_pm_get"
+}
+elf_symbol {
+ id: 0xa84f74e5
+ name: "v4l2_pipeline_pm_put"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xce6853d3
+ type_id: 0x173d80e7
+ full_name: "v4l2_pipeline_pm_put"
+}
+elf_symbol {
+ id: 0x64b2fdfd
+ name: "v4l2_print_dv_timings"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x08402862
+ type_id: 0x1fe91863
+ full_name: "v4l2_print_dv_timings"
+}
+elf_symbol {
+ id: 0x34ad1913
+ name: "v4l2_querymenu"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x11003a10
+ type_id: 0x9d30566e
+ full_name: "v4l2_querymenu"
+}
+elf_symbol {
id: 0x5f3882d0
name: "v4l2_s_ctrl"
is_defined: true
@@ -378121,6 +392489,15 @@ elf_symbol {
full_name: "v4l2_s_parm_cap"
}
elf_symbol {
+ id: 0x90eb49a1
+ name: "v4l2_src_change_event_subdev_subscribe"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xe05167de
+ type_id: 0x9d3b60fc
+ full_name: "v4l2_src_change_event_subdev_subscribe"
+}
+elf_symbol {
id: 0xac8d7ab3
name: "v4l2_src_change_event_subscribe"
is_defined: true
@@ -378166,6 +392543,33 @@ elf_symbol {
full_name: "v4l2_subdev_link_validate_default"
}
elf_symbol {
+ id: 0x5da8252d
+ name: "v4l2_subdev_notify_event"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9389db87
+ type_id: 0x101d83a0
+ full_name: "v4l2_subdev_notify_event"
+}
+elf_symbol {
+ id: 0x1e8152b6
+ name: "v4l2_type_names"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x123959a1
+ type_id: 0xf95ab7ac
+ full_name: "v4l2_type_names"
+}
+elf_symbol {
+ id: 0xd07f1826
+ name: "v4l2_valid_dv_timings"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0af3d134
+ type_id: 0xf2d3e848
+ full_name: "v4l2_valid_dv_timings"
+}
+elf_symbol {
id: 0x7733b651
name: "v4l_bound_align_image"
is_defined: true
@@ -378670,6 +393074,15 @@ elf_symbol {
full_name: "vhost_dev_cleanup"
}
elf_symbol {
+ id: 0x14bde45c
+ name: "vhost_dev_flush"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdb5a9875
+ type_id: 0x1eca8a34
+ full_name: "vhost_dev_flush"
+}
+elf_symbol {
id: 0x429eeda3
name: "vhost_dev_init"
is_defined: true
@@ -378778,6 +393191,24 @@ elf_symbol {
full_name: "video_device_alloc"
}
elf_symbol {
+ id: 0x2e0c3fe5
+ name: "video_device_pipeline_start"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x7a4ef3ef
+ type_id: 0x9da46876
+ full_name: "video_device_pipeline_start"
+}
+elf_symbol {
+ id: 0xae3c44c1
+ name: "video_device_pipeline_stop"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xc359213b
+ type_id: 0x10e07da0
+ full_name: "video_device_pipeline_stop"
+}
+elf_symbol {
id: 0xb1b42a22
name: "video_device_release"
is_defined: true
@@ -378890,7 +393321,7 @@ elf_symbol {
name: "virtio_transport_connect"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb434b550
+ crc: 0x1f53add3
type_id: 0x98da7358
full_name: "virtio_transport_connect"
}
@@ -378899,7 +393330,7 @@ elf_symbol {
name: "virtio_transport_deliver_tap_pkt"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe5588a77
+ crc: 0x87a17634
type_id: 0x10367ad4
full_name: "virtio_transport_deliver_tap_pkt"
}
@@ -378908,7 +393339,7 @@ elf_symbol {
name: "virtio_transport_destruct"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcb140ce7
+ crc: 0x61154d52
type_id: 0x15c2c1e4
full_name: "virtio_transport_destruct"
}
@@ -378926,7 +393357,7 @@ elf_symbol {
name: "virtio_transport_dgram_bind"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb368d464
+ crc: 0x0638a296
type_id: 0x98e450c7
full_name: "virtio_transport_dgram_bind"
}
@@ -378935,7 +393366,7 @@ elf_symbol {
name: "virtio_transport_dgram_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8b572200
+ crc: 0x1b3ca458
type_id: 0x98558c5c
full_name: "virtio_transport_dgram_dequeue"
}
@@ -378944,7 +393375,7 @@ elf_symbol {
name: "virtio_transport_dgram_enqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4b086a1d
+ crc: 0xf5b6a4ef
type_id: 0x98ecb6ff
full_name: "virtio_transport_dgram_enqueue"
}
@@ -378953,7 +393384,7 @@ elf_symbol {
name: "virtio_transport_do_socket_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0xfbdf23c4
+ crc: 0xd94b3c5d
type_id: 0x988fda5f
full_name: "virtio_transport_do_socket_init"
}
@@ -378962,7 +393393,7 @@ elf_symbol {
name: "virtio_transport_free_pkt"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe7c3680d
+ crc: 0x833be086
type_id: 0x10367ad4
full_name: "virtio_transport_free_pkt"
}
@@ -378971,7 +393402,7 @@ elf_symbol {
name: "virtio_transport_notify_buffer_size"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd23a73c1
+ crc: 0x5db8e034
type_id: 0x157aa231
full_name: "virtio_transport_notify_buffer_size"
}
@@ -378980,7 +393411,7 @@ elf_symbol {
name: "virtio_transport_notify_poll_in"
is_defined: true
symbol_type: FUNCTION
- crc: 0x6a55c0a8
+ crc: 0xae288e1f
type_id: 0x9b0ed502
full_name: "virtio_transport_notify_poll_in"
}
@@ -378989,7 +393420,7 @@ elf_symbol {
name: "virtio_transport_notify_poll_out"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdd50bf6e
+ crc: 0xf3c18d66
type_id: 0x9b0ed502
full_name: "virtio_transport_notify_poll_out"
}
@@ -378998,7 +393429,7 @@ elf_symbol {
name: "virtio_transport_notify_recv_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5c6e9976
+ crc: 0xc069b149
type_id: 0x9b0fcd09
full_name: "virtio_transport_notify_recv_init"
}
@@ -379007,7 +393438,7 @@ elf_symbol {
name: "virtio_transport_notify_recv_post_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3a9db5b2
+ crc: 0x9161bead
type_id: 0x9b3e6548
full_name: "virtio_transport_notify_recv_post_dequeue"
}
@@ -379016,7 +393447,7 @@ elf_symbol {
name: "virtio_transport_notify_recv_pre_block"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2910ab5f
+ crc: 0x4e0b6bd0
type_id: 0x9b0fcd09
full_name: "virtio_transport_notify_recv_pre_block"
}
@@ -379025,7 +393456,7 @@ elf_symbol {
name: "virtio_transport_notify_recv_pre_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2c6974b6
+ crc: 0x250baf3d
type_id: 0x9b0fcd09
full_name: "virtio_transport_notify_recv_pre_dequeue"
}
@@ -379034,7 +393465,7 @@ elf_symbol {
name: "virtio_transport_notify_send_init"
is_defined: true
symbol_type: FUNCTION
- crc: 0x24e50d52
+ crc: 0x947c5fad
type_id: 0x98573499
full_name: "virtio_transport_notify_send_init"
}
@@ -379043,7 +393474,7 @@ elf_symbol {
name: "virtio_transport_notify_send_post_enqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3643e7e3
+ crc: 0x22b5ea8d
type_id: 0x9b859556
full_name: "virtio_transport_notify_send_post_enqueue"
}
@@ -379052,7 +393483,7 @@ elf_symbol {
name: "virtio_transport_notify_send_pre_block"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc1de1e13
+ crc: 0x7ebf2725
type_id: 0x98573499
full_name: "virtio_transport_notify_send_pre_block"
}
@@ -379061,7 +393492,7 @@ elf_symbol {
name: "virtio_transport_notify_send_pre_enqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2477ac41
+ crc: 0x7fab1ecc
type_id: 0x98573499
full_name: "virtio_transport_notify_send_pre_enqueue"
}
@@ -379070,7 +393501,7 @@ elf_symbol {
name: "virtio_transport_recv_pkt"
is_defined: true
symbol_type: FUNCTION
- crc: 0x12f6c069
+ crc: 0xe67f7bfe
type_id: 0x1966e93b
full_name: "virtio_transport_recv_pkt"
}
@@ -379079,7 +393510,7 @@ elf_symbol {
name: "virtio_transport_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0xd1b80574
+ crc: 0xc8336cc6
type_id: 0x15c2c1e4
full_name: "virtio_transport_release"
}
@@ -379088,7 +393519,7 @@ elf_symbol {
name: "virtio_transport_seqpacket_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbbbf0c17
+ crc: 0x4aefed1b
type_id: 0x1101d71f
full_name: "virtio_transport_seqpacket_dequeue"
}
@@ -379097,7 +393528,7 @@ elf_symbol {
name: "virtio_transport_seqpacket_enqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x09da9b56
+ crc: 0x4371e8ea
type_id: 0x985410df
full_name: "virtio_transport_seqpacket_enqueue"
}
@@ -379106,7 +393537,7 @@ elf_symbol {
name: "virtio_transport_seqpacket_has_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0x514d96f5
+ crc: 0x8717573e
type_id: 0x40a2bb15
full_name: "virtio_transport_seqpacket_has_data"
}
@@ -379115,7 +393546,7 @@ elf_symbol {
name: "virtio_transport_shutdown"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa7ae0ca2
+ crc: 0x73bd1b60
type_id: 0x9946f014
full_name: "virtio_transport_shutdown"
}
@@ -379133,7 +393564,7 @@ elf_symbol {
name: "virtio_transport_stream_dequeue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x936e2332
+ crc: 0x93bb0691
type_id: 0x11248ef2
full_name: "virtio_transport_stream_dequeue"
}
@@ -379142,7 +393573,7 @@ elf_symbol {
name: "virtio_transport_stream_enqueue"
is_defined: true
symbol_type: FUNCTION
- crc: 0x45f49b0f
+ crc: 0x2066248f
type_id: 0x11251271
full_name: "virtio_transport_stream_enqueue"
}
@@ -379151,7 +393582,7 @@ elf_symbol {
name: "virtio_transport_stream_has_data"
is_defined: true
symbol_type: FUNCTION
- crc: 0xabd4408c
+ crc: 0x55904d2c
type_id: 0x835e595c
full_name: "virtio_transport_stream_has_data"
}
@@ -379160,7 +393591,7 @@ elf_symbol {
name: "virtio_transport_stream_has_space"
is_defined: true
symbol_type: FUNCTION
- crc: 0x7680b9c9
+ crc: 0x1ca28b82
type_id: 0x835e595c
full_name: "virtio_transport_stream_has_space"
}
@@ -379169,7 +393600,7 @@ elf_symbol {
name: "virtio_transport_stream_is_active"
is_defined: true
symbol_type: FUNCTION
- crc: 0x28a93d08
+ crc: 0x86146819
type_id: 0xfbfecb73
full_name: "virtio_transport_stream_is_active"
}
@@ -379178,7 +393609,7 @@ elf_symbol {
name: "virtio_transport_stream_rcvhiwat"
is_defined: true
symbol_type: FUNCTION
- crc: 0xad4a785d
+ crc: 0x9821949a
type_id: 0x5281433c
full_name: "virtio_transport_stream_rcvhiwat"
}
@@ -379385,7 +393816,7 @@ elf_symbol {
name: "vlan_dev_vlan_id"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb3a9f342
+ crc: 0x00a8dcc6
type_id: 0x0dcd58a4
full_name: "vlan_dev_vlan_id"
}
@@ -379394,7 +393825,7 @@ elf_symbol {
name: "vlan_filter_drop_vids"
is_defined: true
symbol_type: FUNCTION
- crc: 0x189d23aa
+ crc: 0x79c47dfd
type_id: 0x1e4fc33a
full_name: "vlan_filter_drop_vids"
}
@@ -379403,7 +393834,7 @@ elf_symbol {
name: "vlan_filter_push_vids"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa0285c20
+ crc: 0xd9d5c58f
type_id: 0x93577186
full_name: "vlan_filter_push_vids"
}
@@ -379412,7 +393843,7 @@ elf_symbol {
name: "vlan_ioctl_set"
is_defined: true
symbol_type: FUNCTION
- crc: 0xb00ad1ef
+ crc: 0x2532dd75
type_id: 0x1bd0f743
full_name: "vlan_ioctl_set"
}
@@ -379421,7 +393852,7 @@ elf_symbol {
name: "vlan_uses_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe546e6d5
+ crc: 0xbe5060e0
type_id: 0xf2422a10
full_name: "vlan_uses_dev"
}
@@ -379430,7 +393861,7 @@ elf_symbol {
name: "vlan_vid_add"
is_defined: true
symbol_type: FUNCTION
- crc: 0x57de5833
+ crc: 0x8e8548fc
type_id: 0x90db2b2a
full_name: "vlan_vid_add"
}
@@ -379439,7 +393870,7 @@ elf_symbol {
name: "vlan_vid_del"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa4aaa292
+ crc: 0x45315ff3
type_id: 0x1dc39996
full_name: "vlan_vid_del"
}
@@ -379448,7 +393879,7 @@ elf_symbol {
name: "vlan_vids_add_by_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdaf59a82
+ crc: 0xb5f227ec
type_id: 0x91e70ccb
full_name: "vlan_vids_add_by_dev"
}
@@ -379457,7 +393888,7 @@ elf_symbol {
name: "vlan_vids_del_by_dev"
is_defined: true
symbol_type: FUNCTION
- crc: 0x51b12f44
+ crc: 0x6aef3ae5
type_id: 0x1cffbe77
full_name: "vlan_vids_del_by_dev"
}
@@ -379754,7 +394185,7 @@ elf_symbol {
name: "vsock_core_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2e1c7ded
+ crc: 0x2cd67c57
type_id: 0x931e2c91
full_name: "vsock_core_register"
}
@@ -379763,7 +394194,7 @@ elf_symbol {
name: "vsock_core_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2b56b11f
+ crc: 0x05a47ec8
type_id: 0x1f9a1d61
full_name: "vsock_core_unregister"
}
@@ -379772,7 +394203,7 @@ elf_symbol {
name: "vsock_for_each_connected_socket"
is_defined: true
symbol_type: FUNCTION
- crc: 0x68e4df04
+ crc: 0xa4eb6031
type_id: 0x139ca744
full_name: "vsock_for_each_connected_socket"
}
@@ -379903,6 +394334,15 @@ elf_symbol {
full_name: "wait_woken"
}
elf_symbol {
+ id: 0x738279bf
+ name: "wake_bit_function"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xca431c05
+ type_id: 0x9d71353d
+ full_name: "wake_bit_function"
+}
+elf_symbol {
id: 0x7540b5a8
name: "wake_up_bit"
is_defined: true
@@ -379925,11 +394365,20 @@ elf_symbol {
name: "wake_up_process"
is_defined: true
symbol_type: FUNCTION
- crc: 0x72aea0a3
+ crc: 0x73e2bcf1
type_id: 0x9ac6895a
full_name: "wake_up_process"
}
elf_symbol {
+ id: 0x63928faf
+ name: "wake_up_state"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xecf43f83
+ type_id: 0x9bd09cc2
+ full_name: "wake_up_state"
+}
+elf_symbol {
id: 0xecc7b6fc
name: "wake_up_var"
is_defined: true
@@ -380078,7 +394527,7 @@ elf_symbol {
name: "wireless_send_event"
is_defined: true
symbol_type: FUNCTION
- crc: 0x3dc228eb
+ crc: 0xae6471d1
type_id: 0x1d250ee3
full_name: "wireless_send_event"
}
@@ -380114,7 +394563,7 @@ elf_symbol {
name: "wpan_phy_find"
is_defined: true
symbol_type: FUNCTION
- crc: 0xed32cabe
+ crc: 0x9f4d1913
type_id: 0xaacf82f6
full_name: "wpan_phy_find"
}
@@ -380123,7 +394572,7 @@ elf_symbol {
name: "wpan_phy_for_each"
is_defined: true
symbol_type: FUNCTION
- crc: 0xe0a074db
+ crc: 0xfe7e7bc9
type_id: 0x963ea445
full_name: "wpan_phy_for_each"
}
@@ -380132,7 +394581,7 @@ elf_symbol {
name: "wpan_phy_free"
is_defined: true
symbol_type: FUNCTION
- crc: 0x440eda77
+ crc: 0x70eca563
type_id: 0x1af18e52
full_name: "wpan_phy_free"
}
@@ -380141,7 +394590,7 @@ elf_symbol {
name: "wpan_phy_new"
is_defined: true
symbol_type: FUNCTION
- crc: 0x61b971ca
+ crc: 0xff230c07
type_id: 0xab2f6439
full_name: "wpan_phy_new"
}
@@ -380150,7 +394599,7 @@ elf_symbol {
name: "wpan_phy_register"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc88b3795
+ crc: 0x267db43d
type_id: 0x97e93cee
full_name: "wpan_phy_register"
}
@@ -380159,7 +394608,7 @@ elf_symbol {
name: "wpan_phy_unregister"
is_defined: true
symbol_type: FUNCTION
- crc: 0x459e9479
+ crc: 0x3bd3ad22
type_id: 0x1af18e52
full_name: "wpan_phy_unregister"
}
@@ -380173,6 +394622,15 @@ elf_symbol {
full_name: "wq_worker_comm"
}
elf_symbol {
+ id: 0xa643ac3f
+ name: "write_inode_now"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x627c55da
+ type_id: 0x9afd0449
+ full_name: "write_inode_now"
+}
+elf_symbol {
id: 0x61731bd0
name: "ww_mutex_lock"
is_defined: true
@@ -380290,11 +394748,29 @@ elf_symbol {
full_name: "xa_store"
}
elf_symbol {
+ id: 0xb5ba02d4
+ name: "xas_find"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x39c9d88c
+ type_id: 0x5ebf0597
+ full_name: "xas_find"
+}
+elf_symbol {
+ id: 0x0fe35b07
+ name: "xas_pause"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x0fbc0c0e
+ type_id: 0x187c3067
+ full_name: "xas_pause"
+}
+elf_symbol {
id: 0xebb799b4
name: "xdp_convert_zc_to_xdp_frame"
is_defined: true
symbol_type: FUNCTION
- crc: 0x773b1e24
+ crc: 0xcdfd1e71
type_id: 0x0a34c3a2
full_name: "xdp_convert_zc_to_xdp_frame"
}
@@ -380312,7 +394788,7 @@ elf_symbol {
name: "xdp_do_redirect"
is_defined: true
symbol_type: FUNCTION
- crc: 0xafd6941b
+ crc: 0x16930c8a
type_id: 0x9115bc9b
full_name: "xdp_do_redirect"
}
@@ -380321,7 +394797,7 @@ elf_symbol {
name: "xdp_master_redirect"
is_defined: true
symbol_type: FUNCTION
- crc: 0x695d6e76
+ crc: 0xcd7c3b3b
type_id: 0x46fb55eb
full_name: "xdp_master_redirect"
}
@@ -380330,7 +394806,7 @@ elf_symbol {
name: "xdp_return_frame"
is_defined: true
symbol_type: FUNCTION
- crc: 0xbcb4d340
+ crc: 0x97fa5ddb
type_id: 0x1e92214d
full_name: "xdp_return_frame"
}
@@ -380339,7 +394815,7 @@ elf_symbol {
name: "xdp_return_frame_rx_napi"
is_defined: true
symbol_type: FUNCTION
- crc: 0x77ab6b33
+ crc: 0x6f7edc6f
type_id: 0x1e92214d
full_name: "xdp_return_frame_rx_napi"
}
@@ -380348,7 +394824,7 @@ elf_symbol {
name: "xdp_rxq_info_is_reg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8ff5cf19
+ crc: 0xb8b3b99a
type_id: 0xf690d6d1
full_name: "xdp_rxq_info_is_reg"
}
@@ -380357,7 +394833,7 @@ elf_symbol {
name: "xdp_rxq_info_reg_mem_model"
is_defined: true
symbol_type: FUNCTION
- crc: 0xdf97f6e5
+ crc: 0xd7fa3ff0
type_id: 0x9448ad12
full_name: "xdp_rxq_info_reg_mem_model"
}
@@ -380366,7 +394842,7 @@ elf_symbol {
name: "xdp_rxq_info_unreg"
is_defined: true
symbol_type: FUNCTION
- crc: 0x4ebdd6b8
+ crc: 0x31fd54d6
type_id: 0x18acdc46
full_name: "xdp_rxq_info_unreg"
}
@@ -380375,7 +394851,7 @@ elf_symbol {
name: "xdp_rxq_info_unreg_mem_model"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcf0bad12
+ crc: 0x4fa6e7d5
type_id: 0x18acdc46
full_name: "xdp_rxq_info_unreg_mem_model"
}
@@ -380393,16 +394869,25 @@ elf_symbol {
name: "xfrm_lookup"
is_defined: true
symbol_type: FUNCTION
- crc: 0xf1ecaaaa
+ crc: 0x404e7acd
type_id: 0xa2843be3
full_name: "xfrm_lookup"
}
elf_symbol {
+ id: 0x6b55b9d2
+ name: "xfrm_state_afinfo_get_rcu"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xa60f4d57
+ type_id: 0xd8e8dad0
+ full_name: "xfrm_state_afinfo_get_rcu"
+}
+elf_symbol {
id: 0xeb912db7
name: "xfrm_state_lookup_byspi"
is_defined: true
symbol_type: FUNCTION
- crc: 0xeda9ff25
+ crc: 0x3f28571e
type_id: 0x624b0f22
full_name: "xfrm_state_lookup_byspi"
}
@@ -380411,11 +394896,29 @@ elf_symbol {
name: "xfrm_stateonly_find"
is_defined: true
symbol_type: FUNCTION
- crc: 0x1eabfccd
+ crc: 0x28950cb8
type_id: 0x62e6e159
full_name: "xfrm_stateonly_find"
}
elf_symbol {
+ id: 0x994cfb6c
+ name: "xhci_add_endpoint"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x3a365b04
+ type_id: 0x94ebfe13
+ full_name: "xhci_add_endpoint"
+}
+elf_symbol {
+ id: 0x8c2045ca
+ name: "xhci_address_device"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x945be478
+ type_id: 0x94eb1868
+ full_name: "xhci_address_device"
+}
+elf_symbol {
id: 0xdf73207c
name: "xhci_alloc_command"
is_defined: true
@@ -380434,6 +394937,33 @@ elf_symbol {
full_name: "xhci_alloc_erst"
}
elf_symbol {
+ id: 0x209bd6b9
+ name: "xhci_bus_resume"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x1a9d5630
+ type_id: 0x94deebf7
+ full_name: "xhci_bus_resume"
+}
+elf_symbol {
+ id: 0x68d92b40
+ name: "xhci_bus_suspend"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x78c05195
+ type_id: 0x94deebf7
+ full_name: "xhci_bus_suspend"
+}
+elf_symbol {
+ id: 0x520c06c0
+ name: "xhci_check_trb_in_td_math"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x6a82fc7a
+ type_id: 0x9921a72c
+ full_name: "xhci_check_trb_in_td_math"
+}
+elf_symbol {
id: 0xa6eac918
name: "xhci_free_command"
is_defined: true
@@ -380461,15 +394991,51 @@ elf_symbol {
full_name: "xhci_get_endpoint_index"
}
elf_symbol {
+ id: 0xc9a9e8ab
+ name: "xhci_get_ep_ctx"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xfb992afc
+ type_id: 0xcbd33190
+ full_name: "xhci_get_ep_ctx"
+}
+elf_symbol {
+ id: 0xa2b73df4
+ name: "xhci_get_slot_ctx"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x5b7d19e7
+ type_id: 0x98c001f4
+ full_name: "xhci_get_slot_ctx"
+}
+elf_symbol {
id: 0x71f2808e
name: "xhci_init_driver"
is_defined: true
symbol_type: FUNCTION
- crc: 0xea444667
+ crc: 0x49b2abc6
type_id: 0x14d9dc3c
full_name: "xhci_init_driver"
}
elf_symbol {
+ id: 0x246bf5fe
+ name: "xhci_initialize_ring_info"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xdb8be866
+ type_id: 0x19e2f0b6
+ full_name: "xhci_initialize_ring_info"
+}
+elf_symbol {
+ id: 0x96be3ac9
+ name: "xhci_link_segments"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x9a727e20
+ type_id: 0x1fcbfdc9
+ full_name: "xhci_link_segments"
+}
+elf_symbol {
id: 0xfa57b81b
name: "xhci_queue_stop_endpoint"
is_defined: true
@@ -380479,6 +395045,15 @@ elf_symbol {
full_name: "xhci_queue_stop_endpoint"
}
elf_symbol {
+ id: 0x9d21209c
+ name: "xhci_remove_stream_mapping"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x462a6e6b
+ type_id: 0x18f4e52e
+ full_name: "xhci_remove_stream_mapping"
+}
+elf_symbol {
id: 0x4603c1d4
name: "xhci_resume"
is_defined: true
@@ -380524,6 +395099,15 @@ elf_symbol {
full_name: "xhci_run"
}
elf_symbol {
+ id: 0xcf411a0e
+ name: "xhci_segment_free"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0xd8efaa99
+ type_id: 0x14c2c0fe
+ full_name: "xhci_segment_free"
+}
+elf_symbol {
id: 0xb834cd77
name: "xhci_suspend"
is_defined: true
@@ -380542,11 +395126,20 @@ elf_symbol {
full_name: "xhci_trb_virt_to_dma"
}
elf_symbol {
+ id: 0xd777027b
+ name: "xhci_vendor_get_ops"
+ is_defined: true
+ symbol_type: FUNCTION
+ crc: 0x773c097f
+ type_id: 0x8039c229
+ full_name: "xhci_vendor_get_ops"
+}
+elf_symbol {
id: 0x23b2a72a
name: "xp_alloc"
is_defined: true
symbol_type: FUNCTION
- crc: 0xac76459c
+ crc: 0xaea8a44b
type_id: 0x13a974bf
full_name: "xp_alloc"
}
@@ -380555,7 +395148,7 @@ elf_symbol {
name: "xp_dma_map"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8860169e
+ crc: 0x040177c6
type_id: 0x9d04fab6
full_name: "xp_dma_map"
}
@@ -380564,7 +395157,7 @@ elf_symbol {
name: "xp_dma_sync_for_cpu_slow"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8aab272f
+ crc: 0xf1c5729f
type_id: 0x1265fe38
full_name: "xp_dma_sync_for_cpu_slow"
}
@@ -380573,7 +395166,7 @@ elf_symbol {
name: "xp_dma_sync_for_device_slow"
is_defined: true
symbol_type: FUNCTION
- crc: 0x074bd8a4
+ crc: 0x5b390982
type_id: 0x13a45d3e
full_name: "xp_dma_sync_for_device_slow"
}
@@ -380582,7 +395175,7 @@ elf_symbol {
name: "xp_dma_unmap"
is_defined: true
symbol_type: FUNCTION
- crc: 0x051dd30b
+ crc: 0x418c999a
type_id: 0x10d43da5
full_name: "xp_dma_unmap"
}
@@ -380591,7 +395184,7 @@ elf_symbol {
name: "xp_free"
is_defined: true
symbol_type: FUNCTION
- crc: 0xcfd7906c
+ crc: 0xeafdd796
type_id: 0x1265fe38
full_name: "xp_free"
}
@@ -380600,7 +395193,7 @@ elf_symbol {
name: "xp_raw_get_dma"
is_defined: true
symbol_type: FUNCTION
- crc: 0xc5f08a33
+ crc: 0x3377c899
type_id: 0xbed4cb96
full_name: "xp_raw_get_dma"
}
@@ -380609,7 +395202,7 @@ elf_symbol {
name: "xp_set_rxq_info"
is_defined: true
symbol_type: FUNCTION
- crc: 0x98330d94
+ crc: 0xbe30b3f2
type_id: 0x109aa0ea
full_name: "xp_set_rxq_info"
}
@@ -380618,7 +395211,7 @@ elf_symbol {
name: "xsk_clear_rx_need_wakeup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x5daaa6a3
+ crc: 0x9a4c1342
type_id: 0x1019e837
full_name: "xsk_clear_rx_need_wakeup"
}
@@ -380627,7 +395220,7 @@ elf_symbol {
name: "xsk_get_pool_from_qid"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8009e545
+ crc: 0xf0bfdad5
type_id: 0x9634d583
full_name: "xsk_get_pool_from_qid"
}
@@ -380636,7 +395229,7 @@ elf_symbol {
name: "xsk_set_rx_need_wakeup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x8588815b
+ crc: 0x64231838
type_id: 0x1019e837
full_name: "xsk_set_rx_need_wakeup"
}
@@ -380645,7 +395238,7 @@ elf_symbol {
name: "xsk_set_tx_need_wakeup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x9ae53285
+ crc: 0xdfcc3ff1
type_id: 0x1019e837
full_name: "xsk_set_tx_need_wakeup"
}
@@ -380654,7 +395247,7 @@ elf_symbol {
name: "xsk_tx_completed"
is_defined: true
symbol_type: FUNCTION
- crc: 0xa26ef049
+ crc: 0x3dc0abc6
type_id: 0x133dc89b
full_name: "xsk_tx_completed"
}
@@ -380663,7 +395256,7 @@ elf_symbol {
name: "xsk_tx_peek_desc"
is_defined: true
symbol_type: FUNCTION
- crc: 0x702346da
+ crc: 0xdf5bea7b
type_id: 0xfec52a83
full_name: "xsk_tx_peek_desc"
}
@@ -380672,7 +395265,7 @@ elf_symbol {
name: "xsk_tx_release"
is_defined: true
symbol_type: FUNCTION
- crc: 0x2cc88e76
+ crc: 0x054d479a
type_id: 0x1019e837
full_name: "xsk_tx_release"
}
@@ -380681,7 +395274,7 @@ elf_symbol {
name: "xsk_uses_need_wakeup"
is_defined: true
symbol_type: FUNCTION
- crc: 0x92973eb4
+ crc: 0xd22abe4f
type_id: 0xfe25e2a0
full_name: "xsk_uses_need_wakeup"
}
@@ -380695,6 +395288,15 @@ elf_symbol {
full_name: "zap_vma_ptes"
}
elf_symbol {
+ id: 0xe8e0ea6a
+ name: "zero_pfn"
+ is_defined: true
+ symbol_type: OBJECT
+ crc: 0x85efc7e0
+ type_id: 0x33756485
+ full_name: "zero_pfn"
+}
+elf_symbol {
id: 0xa5d58813
name: "zlib_deflate"
is_defined: true
@@ -380882,6 +395484,8 @@ interface {
symbol_id: 0x5b94e7ac
symbol_id: 0x41de13f7
symbol_id: 0xe284f532
+ symbol_id: 0x98179c82
+ symbol_id: 0xfa979d99
symbol_id: 0x6e1bc82e
symbol_id: 0x9fa51b33
symbol_id: 0x228f3ab6
@@ -380894,6 +395498,8 @@ interface {
symbol_id: 0xeaf0b860
symbol_id: 0x1bc9d7cd
symbol_id: 0xd97b055a
+ symbol_id: 0xac51df48
+ symbol_id: 0x2c42b675
symbol_id: 0x8920b575
symbol_id: 0x149a28b5
symbol_id: 0x1709df48
@@ -380908,6 +395514,7 @@ interface {
symbol_id: 0xbceb9c07
symbol_id: 0xe70766b6
symbol_id: 0xb339c336
+ symbol_id: 0xcc33f78c
symbol_id: 0x01badff0
symbol_id: 0x4df0b385
symbol_id: 0x35aa1afd
@@ -380915,6 +395522,10 @@ interface {
symbol_id: 0xc8eb813d
symbol_id: 0x7bf707d4
symbol_id: 0xbf1d0365
+ symbol_id: 0x2d1c1f2d
+ symbol_id: 0x9bed4545
+ symbol_id: 0xefdcf4c1
+ symbol_id: 0x2f449b9e
symbol_id: 0x2057d4fc
symbol_id: 0x4598418e
symbol_id: 0x587f0c74
@@ -380945,6 +395556,7 @@ interface {
symbol_id: 0x857a0e42
symbol_id: 0xe889d441
symbol_id: 0x087c7a06
+ symbol_id: 0x8f70cdad
symbol_id: 0x2d91cc56
symbol_id: 0xdc24797a
symbol_id: 0xf2144a48
@@ -380982,6 +395594,7 @@ interface {
symbol_id: 0x1c1ee265
symbol_id: 0x77466fa6
symbol_id: 0x0b0f732e
+ symbol_id: 0xa061e45d
symbol_id: 0xec903c93
symbol_id: 0x7149b35b
symbol_id: 0x04e4be20
@@ -381011,10 +395624,15 @@ interface {
symbol_id: 0x80f1cf36
symbol_id: 0x3e32c80e
symbol_id: 0x5298aa39
+ symbol_id: 0x6036d483
+ symbol_id: 0xaf8ee687
symbol_id: 0x746a66fc
+ symbol_id: 0x6a92cb2d
+ symbol_id: 0x6fc34fdb
symbol_id: 0x47a334c4
symbol_id: 0xebf4b11f
symbol_id: 0x5b1ea047
+ symbol_id: 0xe458ae39
symbol_id: 0x129eb7ed
symbol_id: 0x63083569
symbol_id: 0x46f82598
@@ -381027,6 +395645,7 @@ interface {
symbol_id: 0x010ff5f2
symbol_id: 0xe3bb3be3
symbol_id: 0xdf924e64
+ symbol_id: 0xb3d97fa3
symbol_id: 0xf245d4a3
symbol_id: 0x74b9825e
symbol_id: 0xd672e937
@@ -381043,6 +395662,7 @@ interface {
symbol_id: 0x88943e29
symbol_id: 0x1060f5aa
symbol_id: 0x66da9aca
+ symbol_id: 0xd02fc75b
symbol_id: 0xe97034af
symbol_id: 0xdb78f816
symbol_id: 0x6db91312
@@ -381052,6 +395672,7 @@ interface {
symbol_id: 0x1c57a05b
symbol_id: 0xdf2d2827
symbol_id: 0x70f1b87e
+ symbol_id: 0xc37fd40e
symbol_id: 0xe064ac65
symbol_id: 0xafc169af
symbol_id: 0xcaf40f72
@@ -381076,6 +395697,7 @@ interface {
symbol_id: 0xb3ed4cf9
symbol_id: 0x9f86f628
symbol_id: 0x22bd6642
+ symbol_id: 0x0b9d6bbc
symbol_id: 0x040ec563
symbol_id: 0xa5f70021
symbol_id: 0xc8acd38c
@@ -381092,6 +395714,8 @@ interface {
symbol_id: 0x0ba13d85
symbol_id: 0x479db511
symbol_id: 0x603dcc7d
+ symbol_id: 0x68d1b187
+ symbol_id: 0x9de4c040
symbol_id: 0x89d01efd
symbol_id: 0xf680e61c
symbol_id: 0x4cfc63ca
@@ -381156,6 +395780,7 @@ interface {
symbol_id: 0x3f068dc8
symbol_id: 0x2a48bf7d
symbol_id: 0xe3a7489a
+ symbol_id: 0x9d948fe1
symbol_id: 0xf7c2da07
symbol_id: 0x1141e9bb
symbol_id: 0xf263b97f
@@ -381163,6 +395788,8 @@ interface {
symbol_id: 0x2b453adc
symbol_id: 0xd5276fa4
symbol_id: 0x98379aaf
+ symbol_id: 0x31b4eed9
+ symbol_id: 0x99aa632e
symbol_id: 0xe68925b8
symbol_id: 0x6e3bb1cf
symbol_id: 0x0166be18
@@ -381173,6 +395800,8 @@ interface {
symbol_id: 0x55017671
symbol_id: 0x257c4bb9
symbol_id: 0x8aca43ec
+ symbol_id: 0xa2cf1eee
+ symbol_id: 0xeaddb422
symbol_id: 0x29a11d8a
symbol_id: 0x208b66fa
symbol_id: 0x4a440f54
@@ -381200,21 +395829,26 @@ interface {
symbol_id: 0x7d0d7b3f
symbol_id: 0xef62271a
symbol_id: 0x243936f1
+ symbol_id: 0xd8a7d75e
symbol_id: 0x04e4f57e
symbol_id: 0xb04d8b58
symbol_id: 0xd7d29ff4
symbol_id: 0xdb99fd00
symbol_id: 0xf7de9a97
symbol_id: 0x6356c7e1
+ symbol_id: 0x46adfea4
symbol_id: 0x233d8b34
symbol_id: 0xa5905957
symbol_id: 0x17dfc6db
symbol_id: 0xb42422d5
symbol_id: 0xb3d70eab
symbol_id: 0x0b48afa1
+ symbol_id: 0x6d4cc1a2
symbol_id: 0x48420da9
+ symbol_id: 0x144db0a1
symbol_id: 0x192bbbd5
symbol_id: 0xadc13d20
+ symbol_id: 0xbbd04d50
symbol_id: 0xc93c7d6d
symbol_id: 0x9d00b8f0
symbol_id: 0x5e9397c4
@@ -381228,6 +395862,7 @@ interface {
symbol_id: 0x8f1b1c1e
symbol_id: 0xd6290b85
symbol_id: 0x3e4ab4f6
+ symbol_id: 0xa0a77bb8
symbol_id: 0xa3b41867
symbol_id: 0x40034e11
symbol_id: 0x6e62463e
@@ -381254,6 +395889,8 @@ interface {
symbol_id: 0x7edcea8d
symbol_id: 0x72c43156
symbol_id: 0x61e95c07
+ symbol_id: 0xfc83b254
+ symbol_id: 0x7e99bc71
symbol_id: 0x7c212080
symbol_id: 0x1ea5d323
symbol_id: 0xc1a482d8
@@ -381264,13 +395901,17 @@ interface {
symbol_id: 0x88e9b222
symbol_id: 0x097e467e
symbol_id: 0xfad1d9f5
+ symbol_id: 0x167fc668
+ symbol_id: 0xd6a514f5
symbol_id: 0xeccbc3c1
symbol_id: 0xbd2d27dc
symbol_id: 0xe41b0c78
symbol_id: 0x13f466b7
+ symbol_id: 0xc191b2f6
symbol_id: 0xe3e24295
symbol_id: 0xaedef3a2
symbol_id: 0xde725472
+ symbol_id: 0xf0ffb4d4
symbol_id: 0xd90a9a58
symbol_id: 0xbf64b0b6
symbol_id: 0xb25ca194
@@ -381298,6 +395939,7 @@ interface {
symbol_id: 0xbe8d73f2
symbol_id: 0xaf658447
symbol_id: 0xe56edb7a
+ symbol_id: 0x9c2c2d71
symbol_id: 0xcac6b03d
symbol_id: 0x4a5f5242
symbol_id: 0x08cd7e9d
@@ -381308,21 +395950,28 @@ interface {
symbol_id: 0xa01b20ce
symbol_id: 0x73c83ef4
symbol_id: 0x46515de8
+ symbol_id: 0x955e6fc1
+ symbol_id: 0xfe20c6e3
symbol_id: 0x7b07c7f1
symbol_id: 0x968833a5
symbol_id: 0x09f2fded
symbol_id: 0x23097c08
symbol_id: 0xe3ee70ae
symbol_id: 0xcce6f612
+ symbol_id: 0xa63eb82a
symbol_id: 0xcd824552
+ symbol_id: 0xb6d1fa25
symbol_id: 0x16809a5a
+ symbol_id: 0xfaa2e0a4
symbol_id: 0xc1ba0eb6
symbol_id: 0x13c17b96
symbol_id: 0xebcd0234
symbol_id: 0xa3af7947
symbol_id: 0x86527a4e
+ symbol_id: 0xd0b4a794
symbol_id: 0x33f9278c
symbol_id: 0x2e343246
+ symbol_id: 0xa6e329cd
symbol_id: 0x9c240ef1
symbol_id: 0x505f4289
symbol_id: 0xd5431a65
@@ -381331,6 +395980,7 @@ interface {
symbol_id: 0x528da532
symbol_id: 0x530ad17d
symbol_id: 0x6e0b473c
+ symbol_id: 0xcb807696
symbol_id: 0xbebf7d98
symbol_id: 0x6935b08b
symbol_id: 0xd595bd2c
@@ -381345,10 +395995,12 @@ interface {
symbol_id: 0xc6c9353c
symbol_id: 0xd738b678
symbol_id: 0x2a9c6616
+ symbol_id: 0x6bce867e
symbol_id: 0x4785a3dd
symbol_id: 0x25f13dbe
symbol_id: 0xf6faffcb
symbol_id: 0x5cf60b10
+ symbol_id: 0xcc2edef9
symbol_id: 0x61c82fb5
symbol_id: 0x53fba77d
symbol_id: 0xe479b209
@@ -381356,11 +396008,14 @@ interface {
symbol_id: 0x33c527ab
symbol_id: 0x5012fcd8
symbol_id: 0x67bab494
+ symbol_id: 0x6aac0cf8
symbol_id: 0x96d1c9c4
symbol_id: 0x42428033
symbol_id: 0x005c7625
symbol_id: 0xf3accb84
symbol_id: 0xef7737f8
+ symbol_id: 0xa4527895
+ symbol_id: 0x3644fdcd
symbol_id: 0x9247dcb1
symbol_id: 0xfd04e27a
symbol_id: 0xa124d3e0
@@ -381377,11 +396032,18 @@ interface {
symbol_id: 0x9dbd7b92
symbol_id: 0x42312ccc
symbol_id: 0xf432d1c9
+ symbol_id: 0xdcaa59a3
+ symbol_id: 0x7ebac47a
symbol_id: 0xf586d5b6
+ symbol_id: 0x1921d10d
symbol_id: 0x1f554c2a
+ symbol_id: 0x343adff1
symbol_id: 0x93a4717b
+ symbol_id: 0x9e91661b
+ symbol_id: 0xc189c2a7
symbol_id: 0x5ecff02f
symbol_id: 0xe3ce1f52
+ symbol_id: 0x4d354aab
symbol_id: 0x3272ce60
symbol_id: 0x4d900d32
symbol_id: 0xe6eff83f
@@ -381398,6 +396060,7 @@ interface {
symbol_id: 0x9fe60f0c
symbol_id: 0x83b45f32
symbol_id: 0x1df03151
+ symbol_id: 0xdbe4202a
symbol_id: 0x88586647
symbol_id: 0xdb6662e8
symbol_id: 0x64c2fe7a
@@ -381407,7 +396070,10 @@ interface {
symbol_id: 0x0bf41403
symbol_id: 0x4dca46cc
symbol_id: 0xf83fbd26
+ symbol_id: 0xe261e8cc
symbol_id: 0x18fde973
+ symbol_id: 0xe19d2bf8
+ symbol_id: 0x993f42ff
symbol_id: 0xfb6a92a8
symbol_id: 0xa94ef105
symbol_id: 0x0e1f9e23
@@ -381418,6 +396084,10 @@ interface {
symbol_id: 0x96b60e0b
symbol_id: 0x3431d426
symbol_id: 0x8c174a7d
+ symbol_id: 0xea8ce2b0
+ symbol_id: 0x295c28cd
+ symbol_id: 0x10e93e46
+ symbol_id: 0x49cebcae
symbol_id: 0xe44dacb1
symbol_id: 0x5612c9d1
symbol_id: 0xa77effd1
@@ -381432,6 +396102,7 @@ interface {
symbol_id: 0xe17999f4
symbol_id: 0x721b87b7
symbol_id: 0xacaadcc9
+ symbol_id: 0xd14f3adb
symbol_id: 0x5983841b
symbol_id: 0x7d499dab
symbol_id: 0xa09f7a4b
@@ -381440,12 +396111,16 @@ interface {
symbol_id: 0x93303c51
symbol_id: 0x7d069e91
symbol_id: 0x0fa39b81
+ symbol_id: 0x1a91ec8c
symbol_id: 0x92518ec5
symbol_id: 0x9792c22e
+ symbol_id: 0xe2d75052
+ symbol_id: 0x8d62858f
symbol_id: 0xcef5d79f
symbol_id: 0x91384eff
symbol_id: 0x3ef508a2
symbol_id: 0xfb1b8d64
+ symbol_id: 0xc56d7179
symbol_id: 0x5858f827
symbol_id: 0xb1847a6f
symbol_id: 0x958d8cdb
@@ -381459,6 +396134,7 @@ interface {
symbol_id: 0x947bd437
symbol_id: 0xbdbb0c65
symbol_id: 0xa1325610
+ symbol_id: 0x06c7b387
symbol_id: 0x3a4e20d6
symbol_id: 0x237634b3
symbol_id: 0xb5ed74f6
@@ -381480,6 +396156,8 @@ interface {
symbol_id: 0x58e7556b
symbol_id: 0x2ecf85e9
symbol_id: 0x34a01a22
+ symbol_id: 0xdd9dd67b
+ symbol_id: 0x48f0cf25
symbol_id: 0x6befbf23
symbol_id: 0x226cc38b
symbol_id: 0xeecc1529
@@ -381487,10 +396165,14 @@ interface {
symbol_id: 0x2bc25325
symbol_id: 0x0119fc41
symbol_id: 0xd9f43028
+ symbol_id: 0x39155e73
+ symbol_id: 0x3947ecb4
symbol_id: 0x8a773cc3
symbol_id: 0x9545623c
symbol_id: 0x558490b1
symbol_id: 0x8af2b51e
+ symbol_id: 0x5ab5402f
+ symbol_id: 0xaa213206
symbol_id: 0xe31bb308
symbol_id: 0x6a6dc806
symbol_id: 0xa56348c9
@@ -381504,7 +396186,10 @@ interface {
symbol_id: 0xcc8dcd0c
symbol_id: 0xcb4d15f3
symbol_id: 0x6a8145ff
+ symbol_id: 0x08824ed3
+ symbol_id: 0xcbec9d66
symbol_id: 0xb0bf7fd6
+ symbol_id: 0xae5e5469
symbol_id: 0x6911084f
symbol_id: 0x8068eeb3
symbol_id: 0xfdf83a19
@@ -381521,6 +396206,7 @@ interface {
symbol_id: 0x7e705ab7
symbol_id: 0x7b03aae7
symbol_id: 0x92373f85
+ symbol_id: 0x5e5d9a70
symbol_id: 0x104ffeec
symbol_id: 0x6d4f31c4
symbol_id: 0xcf61fd25
@@ -381533,11 +396219,19 @@ interface {
symbol_id: 0x5c33446d
symbol_id: 0x423dad0f
symbol_id: 0xc630c439
+ symbol_id: 0x16d7641f
+ symbol_id: 0xc8ec671c
+ symbol_id: 0x60c24c4f
+ symbol_id: 0xa7548418
+ symbol_id: 0xbbfa35c3
+ symbol_id: 0x328bf22b
+ symbol_id: 0xbdceccc2
symbol_id: 0x3e69b303
symbol_id: 0x7f1a363f
symbol_id: 0x2c11fea4
symbol_id: 0x45e62871
symbol_id: 0x85a11e58
+ symbol_id: 0x1e8ffa55
symbol_id: 0xb614ca1f
symbol_id: 0x2de60b3e
symbol_id: 0x9cf075c5
@@ -381546,6 +396240,8 @@ interface {
symbol_id: 0x41fdc249
symbol_id: 0x570f3032
symbol_id: 0xc42d0053
+ symbol_id: 0x00296361
+ symbol_id: 0xf574f9d9
symbol_id: 0x20097074
symbol_id: 0x863777a0
symbol_id: 0xcac5a7d5
@@ -381557,9 +396253,12 @@ interface {
symbol_id: 0x4b7a8fd7
symbol_id: 0xcd36f539
symbol_id: 0x748c1fd7
+ symbol_id: 0xc9400cec
symbol_id: 0xaf461bff
+ symbol_id: 0xd7757253
symbol_id: 0x1e8a7e23
symbol_id: 0xfe3875f6
+ symbol_id: 0xb208306e
symbol_id: 0x60b5a917
symbol_id: 0x1dd402e6
symbol_id: 0x070d1e2a
@@ -381573,6 +396272,7 @@ interface {
symbol_id: 0x3eb0f084
symbol_id: 0x832ab9cf
symbol_id: 0xaa8affb8
+ symbol_id: 0x5029bb46
symbol_id: 0x11f903b1
symbol_id: 0x25e320a3
symbol_id: 0xcd81b300
@@ -381599,6 +396299,8 @@ interface {
symbol_id: 0x0991fcbf
symbol_id: 0x693af5b0
symbol_id: 0x59d74b45
+ symbol_id: 0x4fd98142
+ symbol_id: 0x695c4baf
symbol_id: 0x99d57c12
symbol_id: 0x3cb4db49
symbol_id: 0x3a6f3fb2
@@ -381609,13 +396311,17 @@ interface {
symbol_id: 0x18752990
symbol_id: 0x448fc4e4
symbol_id: 0x121537db
+ symbol_id: 0x817c415a
+ symbol_id: 0x3fe8bcd7
symbol_id: 0x50605d97
symbol_id: 0xa5e991f6
symbol_id: 0x261c997e
symbol_id: 0x3b6248c1
+ symbol_id: 0x5ac6bcbc
symbol_id: 0x18bac297
symbol_id: 0x1a849f34
symbol_id: 0x3f328d3c
+ symbol_id: 0xf2fd13ea
symbol_id: 0x69e37d02
symbol_id: 0xeda5c5b0
symbol_id: 0x3cd58ada
@@ -381643,6 +396349,7 @@ interface {
symbol_id: 0x4bc6b114
symbol_id: 0x93751239
symbol_id: 0x70131d40
+ symbol_id: 0xbe9f9d4f
symbol_id: 0xda52fd4f
symbol_id: 0x86f03c84
symbol_id: 0x498fea3f
@@ -381653,21 +396360,28 @@ interface {
symbol_id: 0xe48123a4
symbol_id: 0x00b7ed82
symbol_id: 0xe8cacf26
+ symbol_id: 0xad588d93
+ symbol_id: 0x05463d55
symbol_id: 0x8db62b4f
symbol_id: 0xe9c87fab
symbol_id: 0xdf07959f
symbol_id: 0xafe46ece
symbol_id: 0xe445d254
symbol_id: 0x64e2c288
+ symbol_id: 0xc3add2dc
symbol_id: 0xdc2af26c
+ symbol_id: 0xcc5017b7
symbol_id: 0x1362c5b0
+ symbol_id: 0xaa2da792
symbol_id: 0x0e614ab0
symbol_id: 0xa68c0f10
symbol_id: 0xdcf22716
symbol_id: 0x4f980315
symbol_id: 0xe1489e0c
+ symbol_id: 0xd7f9868e
symbol_id: 0x37776872
symbol_id: 0xfc735654
+ symbol_id: 0x1ebb872f
symbol_id: 0xea695d5b
symbol_id: 0xd82141b7
symbol_id: 0xe520cb67
@@ -381676,6 +396390,7 @@ interface {
symbol_id: 0xfb7cdd24
symbol_id: 0xc8703937
symbol_id: 0x61b56472
+ symbol_id: 0x19dded7c
symbol_id: 0xf32898c6
symbol_id: 0x332635cd
symbol_id: 0xf06625d6
@@ -381690,10 +396405,12 @@ interface {
symbol_id: 0x57a9a36a
symbol_id: 0x21d8d29a
symbol_id: 0x2e04cb9c
+ symbol_id: 0xdda667b0
symbol_id: 0x306b5ff7
symbol_id: 0x2fce8f78
symbol_id: 0xec7035fd
symbol_id: 0xa9d55136
+ symbol_id: 0xabc729f7
symbol_id: 0x75b174bb
symbol_id: 0x506628ab
symbol_id: 0x0d3c7607
@@ -381701,11 +396418,14 @@ interface {
symbol_id: 0x6f146fe1
symbol_id: 0x678bb5ba
symbol_id: 0xf1ec5ef2
+ symbol_id: 0xca5cbc9a
symbol_id: 0xaa072f92
symbol_id: 0x9620eac1
symbol_id: 0x5cc4ca5b
symbol_id: 0x607a7f0a
symbol_id: 0xca10f06e
+ symbol_id: 0x9d49459f
+ symbol_id: 0x759240ef
symbol_id: 0x26324a1f
symbol_id: 0x4ade2774
symbol_id: 0x704b9aae
@@ -381722,11 +396442,18 @@ interface {
symbol_id: 0xe2d7542c
symbol_id: 0x988719fa
symbol_id: 0x732a182b
+ symbol_id: 0x54b2cd01
+ symbol_id: 0x188eab44
symbol_id: 0xe7584e1c
+ symbol_id: 0x684e5f4f
symbol_id: 0x0d418d38
+ symbol_id: 0x2121385f
symbol_id: 0x50a83025
+ symbol_id: 0x901d0e89
+ symbol_id: 0x04a824b5
symbol_id: 0xe6918e09
symbol_id: 0x4d4fd1cc
+ symbol_id: 0x888dea6d
symbol_id: 0xace80c56
symbol_id: 0xa0ce156c
symbol_id: 0x46787271
@@ -381743,6 +396470,7 @@ interface {
symbol_id: 0x828646be
symbol_id: 0x4756cfec
symbol_id: 0x8b7beb3b
+ symbol_id: 0x60a121b4
symbol_id: 0xf18e312d
symbol_id: 0xf68497fa
symbol_id: 0xb6603d58
@@ -381752,7 +396480,10 @@ interface {
symbol_id: 0x31457bed
symbol_id: 0x62c13726
symbol_id: 0xafbca760
+ symbol_id: 0xa48390ca
symbol_id: 0x586a06d1
+ symbol_id: 0xda2d53f2
+ symbol_id: 0x50a5a949
symbol_id: 0xcb34ca12
symbol_id: 0x2f768c2b
symbol_id: 0xc34a5545
@@ -381763,6 +396494,10 @@ interface {
symbol_id: 0x78341cfd
symbol_id: 0xac62c748
symbol_id: 0xa2bd1edf
+ symbol_id: 0xa5b4e5b2
+ symbol_id: 0xce7e7dff
+ symbol_id: 0x1a1d0854
+ symbol_id: 0xf2890610
symbol_id: 0xb6da564f
symbol_id: 0x41c8d09b
symbol_id: 0xe2ad11db
@@ -381777,6 +396512,7 @@ interface {
symbol_id: 0x76e879b6
symbol_id: 0xae5bbde9
symbol_id: 0x20d2ceb3
+ symbol_id: 0x3d63616d
symbol_id: 0xab37fc55
symbol_id: 0x49b95a49
symbol_id: 0xb194c4c5
@@ -381785,12 +396521,16 @@ interface {
symbol_id: 0xb0c197a3
symbol_id: 0x761f292f
symbol_id: 0xef7ad117
+ symbol_id: 0x158c4cfa
symbol_id: 0x4568ff8f
symbol_id: 0xe918e2ec
+ symbol_id: 0x13b2fb38
+ symbol_id: 0x04365139
symbol_id: 0xd94bc301
symbol_id: 0x3fc5ffc9
symbol_id: 0xa3915d70
symbol_id: 0xf01f02ea
+ symbol_id: 0xeaebbadf
symbol_id: 0xe471b8d5
symbol_id: 0x84628825
symbol_id: 0x8d0ce77d
@@ -381804,6 +396544,7 @@ interface {
symbol_id: 0xbe3d9b79
symbol_id: 0x30004003
symbol_id: 0xb91d18b6
+ symbol_id: 0x8b4c2f61
symbol_id: 0xb3b18fc4
symbol_id: 0x40d6a8c5
symbol_id: 0x931fa088
@@ -381825,6 +396566,8 @@ interface {
symbol_id: 0x39e68fed
symbol_id: 0xefb9e5a3
symbol_id: 0x3fe0157c
+ symbol_id: 0xe5bf742d
+ symbol_id: 0x4ef2c337
symbol_id: 0x6f25dd05
symbol_id: 0xa5c71571
symbol_id: 0xfa3284c7
@@ -381832,10 +396575,14 @@ interface {
symbol_id: 0xd9d2bcff
symbol_id: 0x09ba106b
symbol_id: 0xf9580976
+ symbol_id: 0x49b955bd
+ symbol_id: 0xfe6b6962
symbol_id: 0x18e67da1
symbol_id: 0x75a2f39e
symbol_id: 0x7b5c377f
symbol_id: 0x6436c788
+ symbol_id: 0x1f1a25bd
+ symbol_id: 0xf09ef4d0
symbol_id: 0x609a86da
symbol_id: 0x08a49528
symbol_id: 0xa03a7d43
@@ -381849,7 +396596,10 @@ interface {
symbol_id: 0xaf7a4dba
symbol_id: 0x743ea36d
symbol_id: 0xc09d36c9
+ symbol_id: 0xe100c3ad
+ symbol_id: 0x55476a7c
symbol_id: 0x42dbeb24
+ symbol_id: 0xa13f65ff
symbol_id: 0xf57e8f65
symbol_id: 0x18343f2d
symbol_id: 0xef8c9bf3
@@ -381866,6 +396616,7 @@ interface {
symbol_id: 0xbf086359
symbol_id: 0xef6e6795
symbol_id: 0xb2d6f207
+ symbol_id: 0x3b13741e
symbol_id: 0xd8f3ca82
symbol_id: 0xff315556
symbol_id: 0x6d72699f
@@ -381878,11 +396629,19 @@ interface {
symbol_id: 0x88a08d67
symbol_id: 0xe2682879
symbol_id: 0xdffbb8bf
+ symbol_id: 0xd21276a5
+ symbol_id: 0x4a43bdfe
+ symbol_id: 0xd224caa5
+ symbol_id: 0xcbc5fd52
+ symbol_id: 0x0ab12991
+ symbol_id: 0x12df1a91
+ symbol_id: 0x67e2af24
symbol_id: 0xf3cb5921
symbol_id: 0xcb194ec9
symbol_id: 0x009c40ce
symbol_id: 0x02473ce7
symbol_id: 0x65f99dde
+ symbol_id: 0x191846a3
symbol_id: 0x2497fb4d
symbol_id: 0x37548d14
symbol_id: 0x6aa1a617
@@ -381891,6 +396650,8 @@ interface {
symbol_id: 0x7d5529d3
symbol_id: 0xe10cee18
symbol_id: 0x477e3555
+ symbol_id: 0x2160e0b7
+ symbol_id: 0xf586b3bb
symbol_id: 0xa70e8cd2
symbol_id: 0x5b327cd6
symbol_id: 0xe91cdbb3
@@ -381907,6 +396668,7 @@ interface {
symbol_id: 0x7c261545
symbol_id: 0xf497de36
symbol_id: 0xf44f6a18
+ symbol_id: 0x4c0a941a
symbol_id: 0xfc85c168
symbol_id: 0xb6af2644
symbol_id: 0x96901dfb
@@ -381915,6 +396677,7 @@ interface {
symbol_id: 0x3f61ffe2
symbol_id: 0xab99b62a
symbol_id: 0x4648ac0b
+ symbol_id: 0x6b7624f1
symbol_id: 0x97d65f20
symbol_id: 0xf84b240e
symbol_id: 0xb63e140d
@@ -381927,9 +396690,13 @@ interface {
symbol_id: 0xcf1808d5
symbol_id: 0x01b711f3
symbol_id: 0xb0e141a3
+ symbol_id: 0x4b52e164
symbol_id: 0xd6e3f912
+ symbol_id: 0x52069d2d
symbol_id: 0x640280c1
symbol_id: 0xb3b57b4d
+ symbol_id: 0xda249832
+ symbol_id: 0x206fe2ef
symbol_id: 0x5693f2df
symbol_id: 0xb029aed0
symbol_id: 0xa762593e
@@ -381982,6 +396749,7 @@ interface {
symbol_id: 0xa5eaf571
symbol_id: 0x7c570dc6
symbol_id: 0x993e379e
+ symbol_id: 0x874fa015
symbol_id: 0x86a88093
symbol_id: 0xfbb6649f
symbol_id: 0xa3514d5f
@@ -382017,6 +396785,7 @@ interface {
symbol_id: 0xc8c5af1c
symbol_id: 0xdeecf7a4
symbol_id: 0xeba70df6
+ symbol_id: 0x9cff6ebf
symbol_id: 0xcf6df527
symbol_id: 0x00374dfe
symbol_id: 0xb77c96c5
@@ -382028,6 +396797,8 @@ interface {
symbol_id: 0x8480d9c1
symbol_id: 0xb7d7d836
symbol_id: 0xacb3d1d3
+ symbol_id: 0x5653e7da
+ symbol_id: 0xffaebc56
symbol_id: 0xd8dbec6e
symbol_id: 0x95eaf556
symbol_id: 0xf2d017ff
@@ -382053,6 +396824,7 @@ interface {
symbol_id: 0x82786c66
symbol_id: 0xd772fde3
symbol_id: 0x1abdc14f
+ symbol_id: 0x3eb51b20
symbol_id: 0xb9c34cbd
symbol_id: 0x0bd7f049
symbol_id: 0xf54175ef
@@ -382084,15 +396856,18 @@ interface {
symbol_id: 0x49201db3
symbol_id: 0xacc709b0
symbol_id: 0x2b2698f0
+ symbol_id: 0xaa6c907e
symbol_id: 0xb2553250
symbol_id: 0xb389e6a5
symbol_id: 0x3a8604de
symbol_id: 0x61a552c6
symbol_id: 0x5a9da856
symbol_id: 0x1d853176
+ symbol_id: 0xa8878d9e
symbol_id: 0x1cb0de6c
symbol_id: 0xe0e9f920
symbol_id: 0xfba0da8c
+ symbol_id: 0x00f38540
symbol_id: 0x181f78de
symbol_id: 0xbe6da55e
symbol_id: 0x95792096
@@ -382106,16 +396881,20 @@ interface {
symbol_id: 0xb5b2d835
symbol_id: 0x226328f4
symbol_id: 0x0b5d5f1c
+ symbol_id: 0x1516f6b7
+ symbol_id: 0x650319ec
symbol_id: 0x4ffac461
symbol_id: 0xad8bab96
symbol_id: 0x528ef002
symbol_id: 0x90bf9007
symbol_id: 0xd76a9123
+ symbol_id: 0x9eda4f26
symbol_id: 0xc0d4821a
symbol_id: 0xaea1564a
symbol_id: 0x0d1fc920
symbol_id: 0xd34c6466
symbol_id: 0x51c471d6
+ symbol_id: 0x0467bac1
symbol_id: 0x6458d26a
symbol_id: 0x2e876bee
symbol_id: 0x1996f188
@@ -382127,6 +396906,8 @@ interface {
symbol_id: 0x1f81c0c0
symbol_id: 0xcebb0cec
symbol_id: 0x27ae2b17
+ symbol_id: 0xff90ba37
+ symbol_id: 0xff19eaec
symbol_id: 0x49ee3f1e
symbol_id: 0x646a1dc6
symbol_id: 0xc40c1fbe
@@ -382173,6 +396954,7 @@ interface {
symbol_id: 0x835f3bf3
symbol_id: 0xdc30e4d6
symbol_id: 0xcb1ad79b
+ symbol_id: 0x163b934e
symbol_id: 0xb78983c5
symbol_id: 0xe6192860
symbol_id: 0xf40ec9b3
@@ -382185,6 +396967,7 @@ interface {
symbol_id: 0x4cb4702d
symbol_id: 0x0b067d4b
symbol_id: 0xc0201123
+ symbol_id: 0x4d722bb5
symbol_id: 0x2a322266
symbol_id: 0x57e1cd01
symbol_id: 0xf0581d11
@@ -382193,15 +396976,21 @@ interface {
symbol_id: 0xabd39b51
symbol_id: 0x6dfac71b
symbol_id: 0xb0184730
+ symbol_id: 0xd289c43d
+ symbol_id: 0x6efa206d
+ symbol_id: 0x5cf37146
symbol_id: 0x427cedc9
symbol_id: 0x11fbb9ce
symbol_id: 0xd4a0f991
symbol_id: 0x864cb6b1
symbol_id: 0x55c7afec
+ symbol_id: 0xd1f054c0
+ symbol_id: 0x2e575a11
symbol_id: 0xf737e767
symbol_id: 0x6ad917a1
symbol_id: 0xdeb1861d
symbol_id: 0x7661d150
+ symbol_id: 0x56b332ad
symbol_id: 0x6a712ee1
symbol_id: 0xe594a242
symbol_id: 0x3afeb397
@@ -382253,7 +397042,9 @@ interface {
symbol_id: 0xb47c5ffe
symbol_id: 0xdded4dcd
symbol_id: 0x9dea2dda
+ symbol_id: 0x6bb6d4ca
symbol_id: 0x8ea00f54
+ symbol_id: 0x521ad765
symbol_id: 0x0f9d7b5e
symbol_id: 0x0be8da0e
symbol_id: 0x921644f5
@@ -382303,6 +397094,14 @@ interface {
symbol_id: 0x9c1662dc
symbol_id: 0x9e7fc289
symbol_id: 0x0e419b40
+ symbol_id: 0x61aaf300
+ symbol_id: 0x0d8df2d6
+ symbol_id: 0xbe895b99
+ symbol_id: 0x438a802b
+ symbol_id: 0xe05cfed6
+ symbol_id: 0xb0d627f0
+ symbol_id: 0x3b573ab8
+ symbol_id: 0xb4ff03eb
symbol_id: 0xb2bfcc0c
symbol_id: 0x06192615
symbol_id: 0x9e3deb49
@@ -382310,6 +397109,7 @@ interface {
symbol_id: 0xa84b7a9c
symbol_id: 0x1c488fd9
symbol_id: 0x4a75c450
+ symbol_id: 0x1ae20002
symbol_id: 0xc8e5adc6
symbol_id: 0xa0a33b62
symbol_id: 0xc80b76b2
@@ -382319,6 +397119,7 @@ interface {
symbol_id: 0xfe061fe6
symbol_id: 0xcda0bdad
symbol_id: 0x3c28dcec
+ symbol_id: 0xa383a6c1
symbol_id: 0x1ff124cb
symbol_id: 0x80b6d91d
symbol_id: 0x229b68f6
@@ -382327,10 +397128,12 @@ interface {
symbol_id: 0xc4e53e95
symbol_id: 0xba1a33c8
symbol_id: 0xe2dc88d9
+ symbol_id: 0x4d06ba53
symbol_id: 0x3c85cae0
symbol_id: 0x4ce62869
symbol_id: 0x6d77f512
symbol_id: 0xb3cbf3c8
+ symbol_id: 0xb7533de5
symbol_id: 0x7a871d1c
symbol_id: 0x91718d34
symbol_id: 0x65e5fa26
@@ -382344,8 +397147,12 @@ interface {
symbol_id: 0xb29100f2
symbol_id: 0xef9eb644
symbol_id: 0xf91cb171
+ symbol_id: 0xb242a940
+ symbol_id: 0xd156aa2c
symbol_id: 0x00d9abe7
+ symbol_id: 0xfa95bdc1
symbol_id: 0xb63845e5
+ symbol_id: 0x52eaa51b
symbol_id: 0x5332f89b
symbol_id: 0xdfc28761
symbol_id: 0x75df86d2
@@ -382359,11 +397166,13 @@ interface {
symbol_id: 0xdac60909
symbol_id: 0x39dbce1e
symbol_id: 0x5a11b234
+ symbol_id: 0xf42e28c4
symbol_id: 0x8a96e88d
symbol_id: 0xbd2ef94c
symbol_id: 0x580bab0e
symbol_id: 0x48318742
symbol_id: 0xa11919c2
+ symbol_id: 0x04880ada
symbol_id: 0x25ef9f7a
symbol_id: 0xd6393164
symbol_id: 0x6c7fb432
@@ -382383,6 +397192,7 @@ interface {
symbol_id: 0x76052ea8
symbol_id: 0x754e3185
symbol_id: 0x72598679
+ symbol_id: 0x91507af8
symbol_id: 0xd2c17be4
symbol_id: 0xc5d5f65e
symbol_id: 0x6ca4b892
@@ -382403,6 +397213,7 @@ interface {
symbol_id: 0xd84adb21
symbol_id: 0xed719736
symbol_id: 0x2b1e3d59
+ symbol_id: 0x98850f9d
symbol_id: 0x495f0223
symbol_id: 0x7fbd0d58
symbol_id: 0x06f2ea68
@@ -382417,6 +397228,7 @@ interface {
symbol_id: 0x5f9864aa
symbol_id: 0x966a7c42
symbol_id: 0xab62b21c
+ symbol_id: 0xfb23b117
symbol_id: 0x4f627b39
symbol_id: 0xda163e44
symbol_id: 0xb375007c
@@ -382424,6 +397236,7 @@ interface {
symbol_id: 0x0356dc1d
symbol_id: 0x53eb2602
symbol_id: 0xcce97787
+ symbol_id: 0x9901e8ee
symbol_id: 0x4bc5faef
symbol_id: 0xa06e08e9
symbol_id: 0x98bdb018
@@ -382458,8 +397271,12 @@ interface {
symbol_id: 0xca337eb1
symbol_id: 0x9e7d8d76
symbol_id: 0x610edc84
+ symbol_id: 0xd71898b4
+ symbol_id: 0xc1167624
+ symbol_id: 0x9f1f7cee
symbol_id: 0xd89255c2
symbol_id: 0x962b6a68
+ symbol_id: 0x15e1667b
symbol_id: 0x33bbeca6
symbol_id: 0x4e0ae383
symbol_id: 0x81619b01
@@ -382516,6 +397333,7 @@ interface {
symbol_id: 0x131ff67b
symbol_id: 0xbbbf4eda
symbol_id: 0xb6965ce8
+ symbol_id: 0x4b049d5c
symbol_id: 0x0c67e2fe
symbol_id: 0xc6155c06
symbol_id: 0xce563c27
@@ -382526,6 +397344,7 @@ interface {
symbol_id: 0x9b056e94
symbol_id: 0x2061f0ca
symbol_id: 0xd878ab56
+ symbol_id: 0xd53a5822
symbol_id: 0xb1469ae6
symbol_id: 0x3afbe534
symbol_id: 0x2cc0b276
@@ -382537,20 +397356,25 @@ interface {
symbol_id: 0xec1b66f9
symbol_id: 0xac913841
symbol_id: 0x42676517
+ symbol_id: 0xd5cc5ce2
symbol_id: 0xc3e46036
symbol_id: 0xcd2564d1
symbol_id: 0x2968f72a
symbol_id: 0x0a2b21ec
symbol_id: 0xbdd0f4c6
symbol_id: 0xe5e28fcd
+ symbol_id: 0xf8751b15
+ symbol_id: 0xdd9947d5
symbol_id: 0xff08526f
symbol_id: 0xc81e9eb3
symbol_id: 0x237a3562
+ symbol_id: 0x5d9de9a7
symbol_id: 0x1d1f6717
symbol_id: 0x20c19184
symbol_id: 0xef67fe16
symbol_id: 0x9eca665b
symbol_id: 0x3ea8bbd7
+ symbol_id: 0xa3db58f1
symbol_id: 0x1257590d
symbol_id: 0x833374c8
symbol_id: 0x717034d4
@@ -382562,16 +397386,22 @@ interface {
symbol_id: 0xbf39e9a5
symbol_id: 0x4d4a15b0
symbol_id: 0xfc625698
+ symbol_id: 0x80e1f666
symbol_id: 0x62173925
symbol_id: 0x053cd2eb
symbol_id: 0xd1471c13
symbol_id: 0x3359f049
+ symbol_id: 0xc60881ee
+ symbol_id: 0xd9005076
symbol_id: 0xcb0ffe5b
symbol_id: 0xa79ba8cc
symbol_id: 0x23b67585
symbol_id: 0x1e81ded9
symbol_id: 0xfca661a6
+ symbol_id: 0x8e0112d7
symbol_id: 0x0e52d725
+ symbol_id: 0x162a73f7
+ symbol_id: 0x7dcc32e4
symbol_id: 0x91309df9
symbol_id: 0xfdca589d
symbol_id: 0xb50ff8bd
@@ -382583,11 +397413,14 @@ interface {
symbol_id: 0xbb92068e
symbol_id: 0x81600265
symbol_id: 0x57a4fa38
+ symbol_id: 0xdb6ddedf
+ symbol_id: 0x883df740
symbol_id: 0x551c18d1
symbol_id: 0xeb9b8f1f
symbol_id: 0x4d669c6d
symbol_id: 0x6715c595
symbol_id: 0x9f75c77b
+ symbol_id: 0x801e3d5d
symbol_id: 0xd36400de
symbol_id: 0x2c08983d
symbol_id: 0x81bdacc5
@@ -382596,10 +397429,15 @@ interface {
symbol_id: 0x50e383fc
symbol_id: 0x823aeba5
symbol_id: 0xde96cb2f
+ symbol_id: 0x4c090f07
symbol_id: 0x171eca8a
+ symbol_id: 0x82537a82
symbol_id: 0x79187969
+ symbol_id: 0x04f5a6e5
symbol_id: 0x52864a7e
+ symbol_id: 0x8d5ab7b4
symbol_id: 0xccc25fc1
+ symbol_id: 0xb96af991
symbol_id: 0xb771d13e
symbol_id: 0x53d11a8d
symbol_id: 0x5489a975
@@ -382645,6 +397483,7 @@ interface {
symbol_id: 0xf666562b
symbol_id: 0xa5179b7b
symbol_id: 0xc1583575
+ symbol_id: 0x1ef313dc
symbol_id: 0x67daf3cf
symbol_id: 0xe5161e20
symbol_id: 0x31d27334
@@ -382702,6 +397541,7 @@ interface {
symbol_id: 0xf233a4f2
symbol_id: 0x5f8e5002
symbol_id: 0x4bb20cbc
+ symbol_id: 0xe1beb7e3
symbol_id: 0x0d97ed87
symbol_id: 0x0aa80467
symbol_id: 0x92dcd9e0
@@ -382747,7 +397587,13 @@ interface {
symbol_id: 0xfc7749bc
symbol_id: 0x55a1ee95
symbol_id: 0x04c32c7c
+ symbol_id: 0x15eb01e7
symbol_id: 0x647c0881
+ symbol_id: 0x349b4e0a
+ symbol_id: 0x11f117af
+ symbol_id: 0x781fabb2
+ symbol_id: 0xe2544e4d
+ symbol_id: 0xdd8da0cf
symbol_id: 0x19e74e36
symbol_id: 0xdb9d4783
symbol_id: 0x4c5f0ec2
@@ -382775,6 +397621,7 @@ interface {
symbol_id: 0xe85fa1f1
symbol_id: 0xe6df6df5
symbol_id: 0x0b165427
+ symbol_id: 0x01805ccc
symbol_id: 0xd81e7ab3
symbol_id: 0x3b013a69
symbol_id: 0x0576df29
@@ -382797,6 +397644,7 @@ interface {
symbol_id: 0xd0ac64f7
symbol_id: 0xa1e3330b
symbol_id: 0x85ab844f
+ symbol_id: 0xe592ed14
symbol_id: 0x90a9db6c
symbol_id: 0xde1fbc57
symbol_id: 0xa161f29a
@@ -382804,8 +397652,10 @@ interface {
symbol_id: 0x589e892d
symbol_id: 0x25bf4477
symbol_id: 0x5b8e8574
+ symbol_id: 0x22e51db4
symbol_id: 0x5a62c5df
symbol_id: 0x20c43211
+ symbol_id: 0xa09675ab
symbol_id: 0xcdcce9e8
symbol_id: 0x67a68b2f
symbol_id: 0x89e08852
@@ -382816,6 +397666,22 @@ interface {
symbol_id: 0x440b32de
symbol_id: 0x96ffcda6
symbol_id: 0x4b1a4683
+ symbol_id: 0x884a3a76
+ symbol_id: 0xb54be30e
+ symbol_id: 0xead962b7
+ symbol_id: 0xfb50f564
+ symbol_id: 0xff600ca5
+ symbol_id: 0x266ac51c
+ symbol_id: 0xa8e06dd7
+ symbol_id: 0x52e65741
+ symbol_id: 0x2069fc41
+ symbol_id: 0x0abe7457
+ symbol_id: 0x70ca4fad
+ symbol_id: 0xa164371a
+ symbol_id: 0xb4634233
+ symbol_id: 0x0a058c0b
+ symbol_id: 0x5603c10b
+ symbol_id: 0x7520d018
symbol_id: 0xde9ec7ca
symbol_id: 0xa2a47944
symbol_id: 0x97ae66e9
@@ -382827,12 +397693,15 @@ interface {
symbol_id: 0xf770e060
symbol_id: 0xfe156c9a
symbol_id: 0xf569682d
+ symbol_id: 0x8837a38c
symbol_id: 0x0d9ec99a
symbol_id: 0x61438d3a
symbol_id: 0xdeeb802d
symbol_id: 0x78407718
symbol_id: 0x88d6fe86
+ symbol_id: 0xa4692a70
symbol_id: 0x3afde7ec
+ symbol_id: 0x6415475c
symbol_id: 0x2bf23b7c
symbol_id: 0x97301de5
symbol_id: 0x8ed64fa4
@@ -382845,6 +397714,7 @@ interface {
symbol_id: 0xbcab4e4a
symbol_id: 0xa77979a2
symbol_id: 0x56724950
+ symbol_id: 0xf4b697c0
symbol_id: 0x9218e37d
symbol_id: 0xc8de14e8
symbol_id: 0xaf5de696
@@ -382858,6 +397728,7 @@ interface {
symbol_id: 0x097ab520
symbol_id: 0xccb2ecff
symbol_id: 0xd0f2d980
+ symbol_id: 0x241e9d4d
symbol_id: 0xf6b9516e
symbol_id: 0xa2b20c15
symbol_id: 0x0ea63f59
@@ -382877,6 +397748,7 @@ interface {
symbol_id: 0xb08551d1
symbol_id: 0x5b0ad2ac
symbol_id: 0xc576d59e
+ symbol_id: 0x0abc683e
symbol_id: 0x7c053015
symbol_id: 0xff9fcdce
symbol_id: 0xa34635ab
@@ -382890,6 +397762,7 @@ interface {
symbol_id: 0x92b974cd
symbol_id: 0x57498e16
symbol_id: 0x888f691d
+ symbol_id: 0x86c1623f
symbol_id: 0x36e39cf6
symbol_id: 0x6e37c2ad
symbol_id: 0x91f58d29
@@ -382903,6 +397776,7 @@ interface {
symbol_id: 0x6e7e1dc0
symbol_id: 0x1ed62a9d
symbol_id: 0x5df7b359
+ symbol_id: 0x92ffc2e2
symbol_id: 0xd6e5f7c7
symbol_id: 0x7695d1dd
symbol_id: 0xcf6046cf
@@ -382967,6 +397841,7 @@ interface {
symbol_id: 0xabe60a33
symbol_id: 0x7ae5eeb4
symbol_id: 0x317870a4
+ symbol_id: 0x30dd6796
symbol_id: 0x573e2956
symbol_id: 0xe5bfa8c8
symbol_id: 0xd48a6769
@@ -382975,6 +397850,22 @@ interface {
symbol_id: 0xedd83590
symbol_id: 0x840989b2
symbol_id: 0x57325158
+ symbol_id: 0xf4cef372
+ symbol_id: 0xa2bba96c
+ symbol_id: 0x7848fa66
+ symbol_id: 0x0db19b7a
+ symbol_id: 0xed0adecd
+ symbol_id: 0xd3ad47e6
+ symbol_id: 0x042d9e44
+ symbol_id: 0x0991ae07
+ symbol_id: 0x650e9b1f
+ symbol_id: 0xd360b11b
+ symbol_id: 0x8c40514f
+ symbol_id: 0xe7718d4e
+ symbol_id: 0xb61b1afb
+ symbol_id: 0xe96fb6a0
+ symbol_id: 0xf99054ab
+ symbol_id: 0x76f0e551
symbol_id: 0x6cb15207
symbol_id: 0x12eaf956
symbol_id: 0xac4ecea5
@@ -382998,6 +397889,7 @@ interface {
symbol_id: 0xdcb8ed3c
symbol_id: 0x4ec1de19
symbol_id: 0xe5cfd7ac
+ symbol_id: 0x77d18a9c
symbol_id: 0xd0deb542
symbol_id: 0xe8233473
symbol_id: 0x710f1fc2
@@ -383046,6 +397938,7 @@ interface {
symbol_id: 0xb989e3a2
symbol_id: 0xd140139f
symbol_id: 0x009463a5
+ symbol_id: 0x843aec6c
symbol_id: 0xeb70c9c5
symbol_id: 0xafa3c498
symbol_id: 0x083d52da
@@ -383102,6 +397995,7 @@ interface {
symbol_id: 0x3d2d0ba2
symbol_id: 0x0d57c53d
symbol_id: 0xab93a1ea
+ symbol_id: 0x626b81c7
symbol_id: 0x4a57b168
symbol_id: 0x8a417941
symbol_id: 0xb04874d2
@@ -383117,6 +398011,7 @@ interface {
symbol_id: 0xe5349379
symbol_id: 0xb7abbec5
symbol_id: 0x573a436c
+ symbol_id: 0x7e8263f6
symbol_id: 0x588ab3fd
symbol_id: 0x1389094c
symbol_id: 0x098d4189
@@ -383211,6 +398106,8 @@ interface {
symbol_id: 0x0dfe64b8
symbol_id: 0x51b726c8
symbol_id: 0x5d9f16f7
+ symbol_id: 0x3ef0db06
+ symbol_id: 0xc72378aa
symbol_id: 0xd82232b3
symbol_id: 0x69a31cde
symbol_id: 0xfbc28ac3
@@ -383226,6 +398123,7 @@ interface {
symbol_id: 0x1cc3ba5d
symbol_id: 0xf01aa08a
symbol_id: 0x7fe4fd87
+ symbol_id: 0xf8bd92c8
symbol_id: 0x70b7d94b
symbol_id: 0x3b6d3ed0
symbol_id: 0xcda9ec73
@@ -383242,6 +398140,7 @@ interface {
symbol_id: 0xc8580afc
symbol_id: 0xbe89afca
symbol_id: 0x3b7c3802
+ symbol_id: 0x08309f5e
symbol_id: 0x11e9361c
symbol_id: 0x98de519f
symbol_id: 0x49bf35a9
@@ -383298,6 +398197,7 @@ interface {
symbol_id: 0xaad93a6e
symbol_id: 0x820af79e
symbol_id: 0xf5a866d4
+ symbol_id: 0x4b9e6227
symbol_id: 0x9c6b68f2
symbol_id: 0x8ab89d74
symbol_id: 0x717f2784
@@ -383305,20 +398205,25 @@ interface {
symbol_id: 0x88d310ca
symbol_id: 0x596f41bc
symbol_id: 0xcf21a814
+ symbol_id: 0xd4d38d4c
symbol_id: 0x81bdff8a
symbol_id: 0xeba98304
symbol_id: 0x48e94357
symbol_id: 0x6cbff317
+ symbol_id: 0xac1aeaf0
+ symbol_id: 0x622cdd92
symbol_id: 0xc7970f23
symbol_id: 0x5758ca8d
symbol_id: 0x8f687080
symbol_id: 0x128b55c8
symbol_id: 0xd2191311
+ symbol_id: 0x585410d0
symbol_id: 0xd4a13963
symbol_id: 0xa09bde3a
symbol_id: 0xaef6523a
symbol_id: 0xef97e722
symbol_id: 0x026b095a
+ symbol_id: 0xd32d7c35
symbol_id: 0xf76bbee4
symbol_id: 0x91de51a1
symbol_id: 0x007e9802
@@ -383389,6 +398294,7 @@ interface {
symbol_id: 0x93c0dba2
symbol_id: 0xd7cfff98
symbol_id: 0xecb4d16d
+ symbol_id: 0xd0dd3133
symbol_id: 0x3b867568
symbol_id: 0xc5806cb6
symbol_id: 0xd48e0164
@@ -383405,6 +398311,7 @@ interface {
symbol_id: 0xbe3f1757
symbol_id: 0x64649d2c
symbol_id: 0x51b5201f
+ symbol_id: 0x0d3b6723
symbol_id: 0x58b810bd
symbol_id: 0x23e302cb
symbol_id: 0x9a3d3812
@@ -383412,6 +398319,7 @@ interface {
symbol_id: 0xa6782aae
symbol_id: 0x648de106
symbol_id: 0xe96cf682
+ symbol_id: 0xc3ae75b9
symbol_id: 0xca851619
symbol_id: 0x6a50bad9
symbol_id: 0x1183a93d
@@ -383423,6 +398331,9 @@ interface {
symbol_id: 0x76120529
symbol_id: 0x7a8a4736
symbol_id: 0x3f8952ab
+ symbol_id: 0x003f0aec
+ symbol_id: 0x43bb72ae
+ symbol_id: 0x49fd657a
symbol_id: 0x4e6bfabc
symbol_id: 0x935fb0ee
symbol_id: 0xe5fad629
@@ -383439,6 +398350,7 @@ interface {
symbol_id: 0x0cf86849
symbol_id: 0x6f8184d5
symbol_id: 0x8aa099dd
+ symbol_id: 0xdb6eae3a
symbol_id: 0x122e3e9f
symbol_id: 0xc0d6517a
symbol_id: 0xd479c471
@@ -383465,6 +398377,7 @@ interface {
symbol_id: 0xd08fdb4b
symbol_id: 0x9082bb51
symbol_id: 0x87ced39a
+ symbol_id: 0xf06cd4b3
symbol_id: 0x8984b2e1
symbol_id: 0x22bf134d
symbol_id: 0xee902d0d
@@ -383481,11 +398394,13 @@ interface {
symbol_id: 0x3bb33b54
symbol_id: 0x8da7c819
symbol_id: 0x808bdf9f
+ symbol_id: 0x8d62d3e1
symbol_id: 0x7a4db2f9
symbol_id: 0xb96f3f15
symbol_id: 0xafb178b7
symbol_id: 0xceb76dac
symbol_id: 0xb1f5cc24
+ symbol_id: 0x4cf5ba17
symbol_id: 0x9718e72e
symbol_id: 0x8da70bb5
symbol_id: 0xc84875f6
@@ -383499,6 +398414,7 @@ interface {
symbol_id: 0x879ed3f8
symbol_id: 0xd7bee2cf
symbol_id: 0x7826a8f0
+ symbol_id: 0xb701b4b1
symbol_id: 0x19652f5f
symbol_id: 0x78ae9c1c
symbol_id: 0x3e16ebdf
@@ -383524,12 +398440,14 @@ interface {
symbol_id: 0xdaf34c14
symbol_id: 0x1f1ab070
symbol_id: 0x66dcfd31
+ symbol_id: 0x4dae13e9
symbol_id: 0xe2b96ffd
symbol_id: 0x126bb89f
symbol_id: 0x2e0e7810
symbol_id: 0x383fe893
symbol_id: 0xa9bf10bc
symbol_id: 0xc70188be
+ symbol_id: 0xe09fd784
symbol_id: 0xded28924
symbol_id: 0xe3421d56
symbol_id: 0xda364c85
@@ -383538,7 +398456,9 @@ interface {
symbol_id: 0x42636e32
symbol_id: 0x9bb960df
symbol_id: 0xbf2af0d7
+ symbol_id: 0xdc24b796
symbol_id: 0xb8395a3e
+ symbol_id: 0xa625950b
symbol_id: 0x9d898d75
symbol_id: 0x9ec4a8cb
symbol_id: 0x9b31fd86
@@ -383574,7 +398494,10 @@ interface {
symbol_id: 0x8f99729e
symbol_id: 0xb6a9c6f8
symbol_id: 0x309cb0fd
+ symbol_id: 0x45c0e0ad
+ symbol_id: 0xf7fd2915
symbol_id: 0x7b9ffce9
+ symbol_id: 0xe506b877
symbol_id: 0xda116c83
symbol_id: 0xa279fd1d
symbol_id: 0x134d07e5
@@ -383609,17 +398532,34 @@ interface {
symbol_id: 0x3f648037
symbol_id: 0xc75616d8
symbol_id: 0x467358e5
+ symbol_id: 0xb1dfbb02
symbol_id: 0xacc42253
symbol_id: 0x0a446897
+ symbol_id: 0xad3eb214
symbol_id: 0xb107d2cd
symbol_id: 0x8628f24d
+ symbol_id: 0xc56006c7
+ symbol_id: 0x639b2403
symbol_id: 0xbbfb394e
symbol_id: 0x79edfc56
symbol_id: 0xc3077f07
symbol_id: 0xedcfa797
+ symbol_id: 0xab45f2a8
+ symbol_id: 0x41eed79f
+ symbol_id: 0xcdc0fffd
symbol_id: 0xe7aacfe5
symbol_id: 0x9e942fbe
+ symbol_id: 0x99b0f07b
+ symbol_id: 0xffbe24f4
symbol_id: 0x46b6e531
+ symbol_id: 0xbe28ee32
+ symbol_id: 0x4927c9f3
+ symbol_id: 0x50a5072e
+ symbol_id: 0xef606c3f
+ symbol_id: 0x3289d59f
+ symbol_id: 0x82b19820
+ symbol_id: 0x7c937fc2
+ symbol_id: 0xc7c68a05
symbol_id: 0xb9dc79d0
symbol_id: 0x8bbdb127
symbol_id: 0xeaf15c9b
@@ -383644,11 +398584,16 @@ interface {
symbol_id: 0xb290a148
symbol_id: 0x09d08108
symbol_id: 0x3c7c2553
+ symbol_id: 0x06c58be7
+ symbol_id: 0x159a69a3
+ symbol_id: 0x39840ab2
symbol_id: 0x3dca9a13
+ symbol_id: 0x07508208
symbol_id: 0xcb14b5cc
symbol_id: 0x1721c938
symbol_id: 0x1bf542c4
symbol_id: 0x5c93a483
+ symbol_id: 0x5c388f41
symbol_id: 0x93b9959a
symbol_id: 0x618f059e
symbol_id: 0x48641588
@@ -383658,6 +398603,7 @@ interface {
symbol_id: 0x0513219e
symbol_id: 0x1b00ff86
symbol_id: 0x9b815cdc
+ symbol_id: 0x998ad938
symbol_id: 0x27e49ce0
symbol_id: 0xa0e729a5
symbol_id: 0xe330aff9
@@ -383680,14 +398626,17 @@ interface {
symbol_id: 0x07715f1a
symbol_id: 0x2c0dfd47
symbol_id: 0xb3bb06f4
+ symbol_id: 0xe7fde0db
symbol_id: 0xee139066
symbol_id: 0x613adcb1
symbol_id: 0x370e6f08
+ symbol_id: 0xc35e482b
symbol_id: 0x53816b02
symbol_id: 0xc9ddb79e
symbol_id: 0x11780300
symbol_id: 0x183013c2
symbol_id: 0x55d636ec
+ symbol_id: 0xff713254
symbol_id: 0x02e45228
symbol_id: 0x90df3dac
symbol_id: 0x98cceeb9
@@ -383725,12 +398674,19 @@ interface {
symbol_id: 0xc5fee33e
symbol_id: 0x7419d447
symbol_id: 0x30828743
+ symbol_id: 0xe21d8d05
+ symbol_id: 0x338cfb0f
symbol_id: 0x94b60724
+ symbol_id: 0x6ac5d61b
+ symbol_id: 0x54756210
symbol_id: 0x5ec3daa8
+ symbol_id: 0x5530f759
+ symbol_id: 0x3812bb22
symbol_id: 0x2f7205ee
symbol_id: 0x7d577f86
symbol_id: 0x95a840b8
symbol_id: 0x7f639ef1
+ symbol_id: 0x4c4073c3
symbol_id: 0x798f83da
symbol_id: 0x542785af
symbol_id: 0x86da67c0
@@ -383811,6 +398767,22 @@ interface {
symbol_id: 0x4ba4e06f
symbol_id: 0xbac82e84
symbol_id: 0xa8319a8c
+ symbol_id: 0xa7339c42
+ symbol_id: 0x23fbc3f8
+ symbol_id: 0x46e18dbd
+ symbol_id: 0xf5970852
+ symbol_id: 0x0a3cdb4a
+ symbol_id: 0xdb6a18dc
+ symbol_id: 0x412252a6
+ symbol_id: 0x9c589482
+ symbol_id: 0x0400c852
+ symbol_id: 0xcdcde62d
+ symbol_id: 0xba5f9a53
+ symbol_id: 0x8802e047
+ symbol_id: 0xf7264f57
+ symbol_id: 0x370e3283
+ symbol_id: 0xe87161bc
+ symbol_id: 0x112db471
symbol_id: 0xfe79963a
symbol_id: 0xbc19d975
symbol_id: 0x6dc59ee7
@@ -383847,7 +398819,9 @@ interface {
symbol_id: 0x65492c23
symbol_id: 0xa106a350
symbol_id: 0x59b3b64e
+ symbol_id: 0x14b7a009
symbol_id: 0x7dd9e61e
+ symbol_id: 0x30903940
symbol_id: 0x77a0ab63
symbol_id: 0x4825b485
symbol_id: 0xa448ac51
@@ -383872,6 +398846,7 @@ interface {
symbol_id: 0x2bcde32a
symbol_id: 0x65cf864e
symbol_id: 0xc5a4a821
+ symbol_id: 0x085aa99f
symbol_id: 0x4dcdd24d
symbol_id: 0x8df87722
symbol_id: 0x0ac30c0d
@@ -383929,6 +398904,7 @@ interface {
symbol_id: 0x0e1d2fa4
symbol_id: 0x306e3b3d
symbol_id: 0x684435da
+ symbol_id: 0x4e8277c6
symbol_id: 0x7ec10e18
symbol_id: 0xe197ec6f
symbol_id: 0x58069299
@@ -383941,10 +398917,24 @@ interface {
symbol_id: 0x88f82161
symbol_id: 0xccc593d6
symbol_id: 0x97a02af0
+ symbol_id: 0xa832c6f3
symbol_id: 0x2ffc7c7e
+ symbol_id: 0x1706be22
+ symbol_id: 0x4c3911f0
+ symbol_id: 0x8717f26f
+ symbol_id: 0x361004c8
+ symbol_id: 0xcf5ea9a2
+ symbol_id: 0x6c303862
+ symbol_id: 0x553bc5f3
+ symbol_id: 0xfba34655
+ symbol_id: 0x52d444b1
symbol_id: 0x7d0e44ca
symbol_id: 0x10de460f
+ symbol_id: 0x0eb11e95
symbol_id: 0x6ca4d0ed
+ symbol_id: 0x741d5af7
+ symbol_id: 0x6e37f09d
+ symbol_id: 0x29d6d842
symbol_id: 0x21d35235
symbol_id: 0x334ff68f
symbol_id: 0xd7ecf501
@@ -384045,6 +399035,7 @@ interface {
symbol_id: 0x92a80b79
symbol_id: 0x17b1a06d
symbol_id: 0x5e075973
+ symbol_id: 0x309b98f1
symbol_id: 0x58de8ff6
symbol_id: 0xb9a0744d
symbol_id: 0x9c458796
@@ -384075,14 +399066,19 @@ interface {
symbol_id: 0x82d54cd2
symbol_id: 0xec107a09
symbol_id: 0x841218b7
+ symbol_id: 0xb9f64e9d
symbol_id: 0x4a5f3d41
+ symbol_id: 0x4292b79d
+ symbol_id: 0xb779176d
symbol_id: 0x98a39db9
symbol_id: 0xf9fd308c
symbol_id: 0x5956f21f
symbol_id: 0x76041d7e
symbol_id: 0xd941beb8
symbol_id: 0xe4653a75
+ symbol_id: 0x0b446726
symbol_id: 0x8aa99af0
+ symbol_id: 0x5ecdc560
symbol_id: 0x7ee06725
symbol_id: 0xea065265
symbol_id: 0xd50bc6e1
@@ -384110,13 +399106,18 @@ interface {
symbol_id: 0x7551a60b
symbol_id: 0x08fd4b84
symbol_id: 0xc6d8f246
+ symbol_id: 0xdf3e8655
symbol_id: 0x6f2f4bd1
+ symbol_id: 0xf87ecda4
symbol_id: 0x00b4d2da
symbol_id: 0xdf968210
+ symbol_id: 0xcc6510bd
symbol_id: 0xc93c3b7d
symbol_id: 0xcae49fd9
symbol_id: 0x83940072
symbol_id: 0x511cdd52
+ symbol_id: 0x63d665a4
+ symbol_id: 0x8efc83b2
symbol_id: 0x53baed4c
symbol_id: 0xaf4fc4b9
symbol_id: 0x2d6e1a71
@@ -384131,12 +399132,15 @@ interface {
symbol_id: 0xbf4f0b58
symbol_id: 0x6e6a2ec5
symbol_id: 0xca2771be
+ symbol_id: 0x601b2cac
+ symbol_id: 0xea35f0d0
symbol_id: 0x7ded1ffe
symbol_id: 0xe42479db
symbol_id: 0xd8b14976
symbol_id: 0x86c8a137
symbol_id: 0x64e448f4
symbol_id: 0x4e874464
+ symbol_id: 0xa64f3c31
symbol_id: 0x7dce8737
symbol_id: 0x3d6f5577
symbol_id: 0x2b35dbba
@@ -384144,6 +399148,12 @@ interface {
symbol_id: 0x5eecacc4
symbol_id: 0x215b5641
symbol_id: 0xbf6470f2
+ symbol_id: 0x7a805e08
+ symbol_id: 0x318d9226
+ symbol_id: 0x4e9dfa3b
+ symbol_id: 0x7c74ccbc
+ symbol_id: 0xf4ae7c22
+ symbol_id: 0x2b7e86c2
symbol_id: 0x18eeb52f
symbol_id: 0xbc652525
symbol_id: 0x2336c16f
@@ -384168,11 +399178,14 @@ interface {
symbol_id: 0xdd50f291
symbol_id: 0xd2b5c87d
symbol_id: 0xf58961c1
+ symbol_id: 0x31a5a9d7
symbol_id: 0xfa66175a
+ symbol_id: 0x3975a1c8
symbol_id: 0x6a48a444
symbol_id: 0xc73383c1
symbol_id: 0x0ee6aecf
symbol_id: 0x3c5daf32
+ symbol_id: 0xcec28ada
symbol_id: 0xbd83f7de
symbol_id: 0xb6637ce6
symbol_id: 0x5ce8149d
@@ -384180,10 +399193,13 @@ interface {
symbol_id: 0x0d19106d
symbol_id: 0xfe94820e
symbol_id: 0xe7fc8dce
+ symbol_id: 0x22167fe7
+ symbol_id: 0x38472bf4
symbol_id: 0xc3e2d4ae
symbol_id: 0x6b8c216a
symbol_id: 0x6f047c6e
symbol_id: 0xd67bf9ed
+ symbol_id: 0xfe45d0d9
symbol_id: 0xffca97cd
symbol_id: 0x99224733
symbol_id: 0xa4eabc87
@@ -384192,6 +399208,7 @@ interface {
symbol_id: 0xe80863b1
symbol_id: 0xd81a7d03
symbol_id: 0x0566bca1
+ symbol_id: 0xc578c7af
symbol_id: 0x4c05b91e
symbol_id: 0xa5459730
symbol_id: 0xe77a1ae2
@@ -384212,10 +399229,12 @@ interface {
symbol_id: 0xadf1bba5
symbol_id: 0x1a299344
symbol_id: 0xe52a90e5
+ symbol_id: 0x87342c78
symbol_id: 0x1f9ceb72
symbol_id: 0x119c23e5
symbol_id: 0x9aea043a
symbol_id: 0xbfb0ba46
+ symbol_id: 0x3d770021
symbol_id: 0x21c33dfe
symbol_id: 0x6c972a39
symbol_id: 0x5334a8b4
@@ -384227,13 +399246,21 @@ interface {
symbol_id: 0x42137268
symbol_id: 0xa0390871
symbol_id: 0xfb789e26
+ symbol_id: 0x382b3272
+ symbol_id: 0x29ecb8e9
+ symbol_id: 0x3d6623cb
symbol_id: 0x71726a83
symbol_id: 0xffb394c4
symbol_id: 0x48a6183b
+ symbol_id: 0x1c2c7614
+ symbol_id: 0x6c6beb07
symbol_id: 0x1be0f35f
+ symbol_id: 0xd9fe9b1d
symbol_id: 0x5a7fbd45
symbol_id: 0x7837fb7f
+ symbol_id: 0x807f9d22
symbol_id: 0x6cd920cf
+ symbol_id: 0x333700e4
symbol_id: 0x5234b1b5
symbol_id: 0xaed020d7
symbol_id: 0xc1d5ac06
@@ -384243,8 +399270,10 @@ interface {
symbol_id: 0x39f87265
symbol_id: 0xd35aa56c
symbol_id: 0xfd0a8a39
+ symbol_id: 0x1e69bfb6
symbol_id: 0x274071bc
symbol_id: 0x8b22b24d
+ symbol_id: 0xd70b3ff0
symbol_id: 0x1f294d29
symbol_id: 0xc610fcd6
symbol_id: 0x915bc321
@@ -384271,6 +399300,7 @@ interface {
symbol_id: 0x5e13f2f1
symbol_id: 0x135db1d2
symbol_id: 0xba41ecd4
+ symbol_id: 0x3fa49947
symbol_id: 0x327b1cbb
symbol_id: 0x61a826d2
symbol_id: 0x3cc69c51
@@ -384288,6 +399318,7 @@ interface {
symbol_id: 0x9ed1af8c
symbol_id: 0xf030b866
symbol_id: 0x01f6343f
+ symbol_id: 0x508904bc
symbol_id: 0xe8b2d7a6
symbol_id: 0x2ed6bfeb
symbol_id: 0xa9c80d6c
@@ -384305,20 +399336,24 @@ interface {
symbol_id: 0x5904d735
symbol_id: 0xcb7dc482
symbol_id: 0xaed00f8c
+ symbol_id: 0x3b8e2bac
symbol_id: 0xc89a8e29
symbol_id: 0x92dfef70
symbol_id: 0xd1f69ecb
symbol_id: 0xdbb90310
symbol_id: 0x3d2a104d
symbol_id: 0x9ba08730
+ symbol_id: 0x65d49acf
symbol_id: 0x064a6e13
symbol_id: 0x73ffe9a9
symbol_id: 0x03de6dc5
symbol_id: 0xe4e974b3
symbol_id: 0x2066c48d
symbol_id: 0x1cd74592
+ symbol_id: 0xbb7edccb
symbol_id: 0xd4b34ea6
symbol_id: 0x3c6496cb
+ symbol_id: 0xca27ab6b
symbol_id: 0x124d42c2
symbol_id: 0xd106aba0
symbol_id: 0x5cce6b17
@@ -384344,6 +399379,8 @@ interface {
symbol_id: 0x1b2f5f11
symbol_id: 0x6746106c
symbol_id: 0xc5f22a59
+ symbol_id: 0x52f17879
+ symbol_id: 0xa84cb89b
symbol_id: 0xff4a14be
symbol_id: 0x4e60d546
symbol_id: 0x0e6a648c
@@ -384366,7 +399403,9 @@ interface {
symbol_id: 0x6dc922be
symbol_id: 0x5cdb4ea4
symbol_id: 0x6d575dad
+ symbol_id: 0xe4128490
symbol_id: 0xb1072fb1
+ symbol_id: 0xe657d525
symbol_id: 0x661955d6
symbol_id: 0xd6a8ff16
symbol_id: 0x053e25cb
@@ -384377,6 +399416,8 @@ interface {
symbol_id: 0xa64fdec4
symbol_id: 0xcbec700e
symbol_id: 0x394ce3dd
+ symbol_id: 0x3b959429
+ symbol_id: 0x86921e4b
symbol_id: 0x56f23732
symbol_id: 0xa5a4fafa
symbol_id: 0xc37ba22c
@@ -384420,6 +399461,7 @@ interface {
symbol_id: 0x46063085
symbol_id: 0x8ab0e185
symbol_id: 0xbeb6fe53
+ symbol_id: 0xf44e0659
symbol_id: 0x9c1bb84e
symbol_id: 0xa656e08e
symbol_id: 0x4c5f49dc
@@ -384445,6 +399487,7 @@ interface {
symbol_id: 0xeae01788
symbol_id: 0x84839142
symbol_id: 0xa9c37a1d
+ symbol_id: 0x2fbecafd
symbol_id: 0x49232ca9
symbol_id: 0xec609d3e
symbol_id: 0x44f92a6d
@@ -384520,6 +399563,7 @@ interface {
symbol_id: 0x62cd5012
symbol_id: 0xda95494e
symbol_id: 0x76f00da5
+ symbol_id: 0xbea2c272
symbol_id: 0x2e74d698
symbol_id: 0x7bbb8d5f
symbol_id: 0xa18d331b
@@ -384539,6 +399583,8 @@ interface {
symbol_id: 0xf33d71ea
symbol_id: 0xc50733a4
symbol_id: 0xc162c911
+ symbol_id: 0x6b29ddfb
+ symbol_id: 0xc05c2da4
symbol_id: 0xaaab26df
symbol_id: 0x42eaca18
symbol_id: 0x408fc274
@@ -384559,6 +399605,11 @@ interface {
symbol_id: 0x01bea327
symbol_id: 0x4f31c756
symbol_id: 0x7bd17841
+ symbol_id: 0xf4530070
+ symbol_id: 0x7ee18475
+ symbol_id: 0x18bd1341
+ symbol_id: 0xac8ea5a3
+ symbol_id: 0x5a1c51ee
symbol_id: 0xe4eac6bd
symbol_id: 0x602510fe
symbol_id: 0x304a5133
@@ -384601,6 +399652,7 @@ interface {
symbol_id: 0xd0b869bf
symbol_id: 0x3e285e2f
symbol_id: 0xf5924d9f
+ symbol_id: 0xda5dc517
symbol_id: 0x84278a73
symbol_id: 0xf5327fe3
symbol_id: 0x92649662
@@ -384613,6 +399665,7 @@ interface {
symbol_id: 0xa848deda
symbol_id: 0x8eadb5fd
symbol_id: 0x140f40dd
+ symbol_id: 0x6da682ae
symbol_id: 0x7f797603
symbol_id: 0x01e78001
symbol_id: 0x746374fa
@@ -384654,6 +399707,7 @@ interface {
symbol_id: 0xbad16ab3
symbol_id: 0x68c3a63b
symbol_id: 0xbc90165b
+ symbol_id: 0x863e9436
symbol_id: 0x1579ecd2
symbol_id: 0xe4572a81
symbol_id: 0x07b15271
@@ -384684,7 +399738,9 @@ interface {
symbol_id: 0xd08cb4e7
symbol_id: 0x596b8466
symbol_id: 0xd9f124cf
+ symbol_id: 0xb6dbcbcc
symbol_id: 0xdca2a3c4
+ symbol_id: 0x6d579aaf
symbol_id: 0xe4059d72
symbol_id: 0x842903b7
symbol_id: 0x354e8904
@@ -384736,17 +399792,23 @@ interface {
symbol_id: 0x2f332836
symbol_id: 0x165e673e
symbol_id: 0xe8a26880
+ symbol_id: 0xa6d8e105
symbol_id: 0x44bb49dc
symbol_id: 0x6e71b72c
symbol_id: 0x381bc1b0
symbol_id: 0x236a1277
symbol_id: 0xa062fd64
+ symbol_id: 0x8ba1a556
+ symbol_id: 0xa5e98cbe
symbol_id: 0xdf7b9a78
symbol_id: 0xa259d75f
symbol_id: 0x93f5b442
symbol_id: 0xe4008a83
symbol_id: 0x7eaf76f6
symbol_id: 0x65106d59
+ symbol_id: 0x18e8ea11
+ symbol_id: 0x1405e8c0
+ symbol_id: 0x84babda3
symbol_id: 0xbedab58b
symbol_id: 0x603dd7ca
symbol_id: 0xc30a6d76
@@ -384764,6 +399826,7 @@ interface {
symbol_id: 0x55bed293
symbol_id: 0xc1add767
symbol_id: 0x9a02788c
+ symbol_id: 0x760780be
symbol_id: 0xc258a893
symbol_id: 0x2ce3e2c6
symbol_id: 0x04096200
@@ -384832,9 +399895,15 @@ interface {
symbol_id: 0xbbd2a0ab
symbol_id: 0x57abe80f
symbol_id: 0xc8ea3547
+ symbol_id: 0x8b0d44a9
symbol_id: 0xb2e54d47
symbol_id: 0x1b589c40
+ symbol_id: 0xb4e99805
+ symbol_id: 0x471faa17
+ symbol_id: 0x82e37620
+ symbol_id: 0x8b1dfb41
symbol_id: 0x43078d96
+ symbol_id: 0x840dad92
symbol_id: 0x619db28f
symbol_id: 0x36bc8d13
symbol_id: 0x38637341
@@ -384868,11 +399937,14 @@ interface {
symbol_id: 0x49027247
symbol_id: 0x85e07b67
symbol_id: 0x6359420c
+ symbol_id: 0x39787440
symbol_id: 0x7f258c4e
symbol_id: 0x64e6aa0b
+ symbol_id: 0x16059afd
symbol_id: 0x1560f116
symbol_id: 0x1cfcf940
symbol_id: 0x3704ac3f
+ symbol_id: 0xea37502b
symbol_id: 0x0bb7f730
symbol_id: 0xb65e3baf
symbol_id: 0xf68f8b33
@@ -384935,6 +400007,7 @@ interface {
symbol_id: 0xd37bdc53
symbol_id: 0x1d42003f
symbol_id: 0xf3b2b115
+ symbol_id: 0x33b9622b
symbol_id: 0x985c43d8
symbol_id: 0xd5545a99
symbol_id: 0x9f89ff97
@@ -384959,6 +400032,7 @@ interface {
symbol_id: 0xe2b0e5a5
symbol_id: 0xb8036e9c
symbol_id: 0xe36e392a
+ symbol_id: 0x05a46d27
symbol_id: 0xe3de7018
symbol_id: 0x26fb2401
symbol_id: 0xec79392b
@@ -384978,6 +400052,7 @@ interface {
symbol_id: 0xd3bfa538
symbol_id: 0x1544acf1
symbol_id: 0xacdbe7cb
+ symbol_id: 0x9539ac95
symbol_id: 0xc699a239
symbol_id: 0xe63f0c53
symbol_id: 0x8be0e5f9
@@ -385012,6 +400087,7 @@ interface {
symbol_id: 0x783e3f26
symbol_id: 0xeb2dab5b
symbol_id: 0x5516ad40
+ symbol_id: 0xb27a823c
symbol_id: 0x840bde05
symbol_id: 0x923f5818
symbol_id: 0x41ba71c8
@@ -385042,6 +400118,7 @@ interface {
symbol_id: 0x28517749
symbol_id: 0xdfe02c28
symbol_id: 0xdcce2e99
+ symbol_id: 0xee187039
symbol_id: 0x7d8fe18b
symbol_id: 0x02252ed7
symbol_id: 0xbfb07eec
@@ -385049,9 +400126,12 @@ interface {
symbol_id: 0xd9c8585e
symbol_id: 0xa50d59b7
symbol_id: 0x224cb6b2
+ symbol_id: 0x67bce5b1
symbol_id: 0x57ecab02
symbol_id: 0x27d0c7b6
symbol_id: 0x28b33064
+ symbol_id: 0xdea2b008
+ symbol_id: 0xdf2c83f5
symbol_id: 0x60d84cc3
symbol_id: 0xb613af5e
symbol_id: 0xff029108
@@ -385059,15 +400139,20 @@ interface {
symbol_id: 0x13dfcd3d
symbol_id: 0xc2b69854
symbol_id: 0x4f3e5356
+ symbol_id: 0x8cc91d1b
symbol_id: 0x44e50ff8
symbol_id: 0xec5c680b
symbol_id: 0xdc14ff55
symbol_id: 0x2616989d
symbol_id: 0xc922a019
+ symbol_id: 0x7490fd3a
symbol_id: 0xfdf9f7ee
symbol_id: 0x3c537500
symbol_id: 0x1b814fa6
symbol_id: 0x9ca2e070
+ symbol_id: 0x4271852e
+ symbol_id: 0x0fe80546
+ symbol_id: 0x9b003f99
symbol_id: 0x37d86bb7
symbol_id: 0x32ecd828
symbol_id: 0xe769f645
@@ -385095,6 +400180,7 @@ interface {
symbol_id: 0x34de6be7
symbol_id: 0x9cc61d04
symbol_id: 0x07e4f5ea
+ symbol_id: 0xe48076c0
symbol_id: 0x1eafdf64
symbol_id: 0x67d6372c
symbol_id: 0x0a48d5ac
@@ -385116,6 +400202,7 @@ interface {
symbol_id: 0x7cd4622d
symbol_id: 0x5dfeb70f
symbol_id: 0x01a00013
+ symbol_id: 0xc3f9d559
symbol_id: 0xb9d0b3a8
symbol_id: 0x96b46225
symbol_id: 0x35a3d772
@@ -385129,6 +400216,7 @@ interface {
symbol_id: 0x27f20808
symbol_id: 0x63876663
symbol_id: 0xdea420f5
+ symbol_id: 0x08190210
symbol_id: 0x8ffabaa9
symbol_id: 0x50bce06e
symbol_id: 0x133a7a3e
@@ -385140,6 +400228,7 @@ interface {
symbol_id: 0xbe6406c3
symbol_id: 0x9c6c58ea
symbol_id: 0x2fefe933
+ symbol_id: 0x1c994923
symbol_id: 0xec861eec
symbol_id: 0x5810bdc3
symbol_id: 0x3cbd6214
@@ -385162,6 +400251,7 @@ interface {
symbol_id: 0x5b0002a1
symbol_id: 0x2c8694e0
symbol_id: 0xa21a61f0
+ symbol_id: 0xf6896e34
symbol_id: 0x324ff23b
symbol_id: 0xde0961b5
symbol_id: 0x93ed1ac4
@@ -385196,6 +400286,7 @@ interface {
symbol_id: 0x123cd197
symbol_id: 0xe57e5e73
symbol_id: 0x8ba9d028
+ symbol_id: 0x7efbd192
symbol_id: 0x22f7748e
symbol_id: 0x12951e5c
symbol_id: 0xe4bc7703
@@ -385223,6 +400314,7 @@ interface {
symbol_id: 0x81e2991f
symbol_id: 0xc278f4fa
symbol_id: 0x9c15bd7a
+ symbol_id: 0x866cf90c
symbol_id: 0x5ebc16d0
symbol_id: 0xb39736f6
symbol_id: 0x9d35d830
@@ -385236,12 +400328,15 @@ interface {
symbol_id: 0x992e8b3c
symbol_id: 0xcd9e585e
symbol_id: 0x69eeb51b
+ symbol_id: 0x6cf83bd0
symbol_id: 0x0dfe21ad
+ symbol_id: 0x7de90fab
symbol_id: 0x30e87de6
symbol_id: 0x6fc1e83f
symbol_id: 0x0e1df21c
symbol_id: 0xac520589
symbol_id: 0x2eeef935
+ symbol_id: 0xce039362
symbol_id: 0x890d0269
symbol_id: 0xa22df476
symbol_id: 0x3b5dbc43
@@ -385292,6 +400387,7 @@ interface {
symbol_id: 0xeab149af
symbol_id: 0x0a235dd5
symbol_id: 0xa92902da
+ symbol_id: 0x03646fd6
symbol_id: 0x2c092465
symbol_id: 0x161b2b54
symbol_id: 0x707a35cb
@@ -385321,6 +400417,7 @@ interface {
symbol_id: 0x9df74c73
symbol_id: 0x740c134e
symbol_id: 0xacd66e9e
+ symbol_id: 0x35b1ed7b
symbol_id: 0xf8bcc2db
symbol_id: 0x3f5b9269
symbol_id: 0xdfa2e68a
@@ -385346,6 +400443,7 @@ interface {
symbol_id: 0xe59b51ac
symbol_id: 0x82feb89e
symbol_id: 0x417866a8
+ symbol_id: 0x62c010b9
symbol_id: 0x013abbf5
symbol_id: 0x9542ffda
symbol_id: 0xb1ded749
@@ -385371,6 +400469,7 @@ interface {
symbol_id: 0xe8ed13a6
symbol_id: 0x2c91b5be
symbol_id: 0xf8b12136
+ symbol_id: 0x072cf683
symbol_id: 0xb11c92aa
symbol_id: 0xaa322a74
symbol_id: 0x0d9f5d07
@@ -385384,6 +400483,7 @@ interface {
symbol_id: 0x55fd0d76
symbol_id: 0x25e7db1a
symbol_id: 0xb634bd54
+ symbol_id: 0x5b13a53d
symbol_id: 0xaba73bf2
symbol_id: 0xa2a45fe2
symbol_id: 0xe8ce7aa9
@@ -385412,6 +400512,7 @@ interface {
symbol_id: 0x878b97bb
symbol_id: 0x1f3f17bd
symbol_id: 0x53f4166f
+ symbol_id: 0xe263dcb4
symbol_id: 0x59caaeac
symbol_id: 0x64f92138
symbol_id: 0x2e13b831
@@ -385424,6 +400525,7 @@ interface {
symbol_id: 0x324d8228
symbol_id: 0xd612789c
symbol_id: 0x561323f1
+ symbol_id: 0x50bfe1d8
symbol_id: 0xa9ebbb66
symbol_id: 0x2f21ba25
symbol_id: 0x81c5befa
@@ -385431,6 +400533,7 @@ interface {
symbol_id: 0xd1691fe4
symbol_id: 0x4804f611
symbol_id: 0x842fc505
+ symbol_id: 0xf20efe74
symbol_id: 0xd28bb85a
symbol_id: 0x9e62b4cc
symbol_id: 0x26c5a1b9
@@ -385497,6 +400600,7 @@ interface {
symbol_id: 0x7fc27c29
symbol_id: 0x9dc0e748
symbol_id: 0x2251af59
+ symbol_id: 0x3758c51f
symbol_id: 0xea6abe92
symbol_id: 0xbbb52558
symbol_id: 0x5b447f09
@@ -385507,16 +400611,21 @@ interface {
symbol_id: 0xb36e22d3
symbol_id: 0x683db5bf
symbol_id: 0x177fa0e0
+ symbol_id: 0xd38a2f2a
symbol_id: 0x11d4227b
symbol_id: 0x71551ba9
symbol_id: 0x435b99c6
+ symbol_id: 0x5db8ecdc
symbol_id: 0x01768311
+ symbol_id: 0xb9bfc7b9
symbol_id: 0x1744651d
symbol_id: 0x9103dd70
symbol_id: 0xffdd03be
symbol_id: 0x15848de9
symbol_id: 0xde695e5a
symbol_id: 0x4e730977
+ symbol_id: 0x8dafa617
+ symbol_id: 0x5ae13553
symbol_id: 0x53ee2234
symbol_id: 0x227e051f
symbol_id: 0x9a5fd229
@@ -385596,10 +400705,12 @@ interface {
symbol_id: 0x85c7decb
symbol_id: 0x87a9e1a0
symbol_id: 0x5b227eda
+ symbol_id: 0x2886690b
symbol_id: 0x46082c90
symbol_id: 0x590d247f
symbol_id: 0x91579542
symbol_id: 0x2a59e35c
+ symbol_id: 0x8fe1956e
symbol_id: 0x3b03aaea
symbol_id: 0xeeb1ddf9
symbol_id: 0x54bb98b3
@@ -385657,6 +400768,7 @@ interface {
symbol_id: 0x6cde79b4
symbol_id: 0xd68bae0f
symbol_id: 0x2b688ec7
+ symbol_id: 0x700d1b28
symbol_id: 0x248856c2
symbol_id: 0x6ff192fd
symbol_id: 0x3deea824
@@ -385687,6 +400799,7 @@ interface {
symbol_id: 0xc91eefc6
symbol_id: 0x7511baca
symbol_id: 0x29553efc
+ symbol_id: 0x90e2334a
symbol_id: 0xfd198070
symbol_id: 0x4a781b7f
symbol_id: 0xc92def38
@@ -385708,6 +400821,7 @@ interface {
symbol_id: 0x2804801a
symbol_id: 0x4893b166
symbol_id: 0xbf6a903f
+ symbol_id: 0xfd977d86
symbol_id: 0xddb9ed35
symbol_id: 0x21d8367b
symbol_id: 0xce959ab5
@@ -385720,6 +400834,7 @@ interface {
symbol_id: 0x0b03a904
symbol_id: 0x2bce772d
symbol_id: 0x705777ef
+ symbol_id: 0x12ab7c99
symbol_id: 0x21b06e02
symbol_id: 0x70f8b485
symbol_id: 0x3a44a497
@@ -385743,6 +400858,7 @@ interface {
symbol_id: 0x0d3c3e14
symbol_id: 0xe5340075
symbol_id: 0x6aab6dda
+ symbol_id: 0xb15014ad
symbol_id: 0x089f5fe6
symbol_id: 0x0c73acc8
symbol_id: 0xace4bcdf
@@ -385754,6 +400870,7 @@ interface {
symbol_id: 0xd41c441b
symbol_id: 0x8607d899
symbol_id: 0x1d945826
+ symbol_id: 0xd8c7c137
symbol_id: 0xa3f52060
symbol_id: 0x001f1a24
symbol_id: 0x46d54e34
@@ -385782,6 +400899,7 @@ interface {
symbol_id: 0x6af2dc93
symbol_id: 0x56f4af9c
symbol_id: 0x93ee7a0f
+ symbol_id: 0xbd83c333
symbol_id: 0x7d858174
symbol_id: 0x0e66eaf7
symbol_id: 0x81bce56b
@@ -385828,6 +400946,9 @@ interface {
symbol_id: 0x74c27ecd
symbol_id: 0x80913de9
symbol_id: 0xbffd1c46
+ symbol_id: 0xde4d20e6
+ symbol_id: 0x6a82e2a4
+ symbol_id: 0xec5e9065
symbol_id: 0x264c5308
symbol_id: 0x205145e9
symbol_id: 0x0eff96d9
@@ -385843,6 +400964,8 @@ interface {
symbol_id: 0xa4ad8391
symbol_id: 0x5c1197ba
symbol_id: 0x22e1072c
+ symbol_id: 0x19b7aeab
+ symbol_id: 0xfccc22f4
symbol_id: 0x50b92bc4
symbol_id: 0x8c0dd14a
symbol_id: 0x3480e8df
@@ -385857,7 +400980,17 @@ interface {
symbol_id: 0x8fb082a6
symbol_id: 0x570df167
symbol_id: 0x84f045c2
+ symbol_id: 0x75781cce
+ symbol_id: 0xd3eab591
+ symbol_id: 0x806f167c
+ symbol_id: 0xf13ba64e
+ symbol_id: 0xe4f77cb7
+ symbol_id: 0x12f98f54
+ symbol_id: 0x85d0ffae
+ symbol_id: 0xe160a711
symbol_id: 0x4513114c
+ symbol_id: 0x3af97828
+ symbol_id: 0x6375c31d
symbol_id: 0x56cb7a36
symbol_id: 0xe8c754b0
symbol_id: 0x12fb2fd6
@@ -385919,6 +401052,7 @@ interface {
symbol_id: 0x9c54c873
symbol_id: 0x771aea1d
symbol_id: 0x8d3c4841
+ symbol_id: 0xf399cd48
symbol_id: 0x05840f35
symbol_id: 0xa6141872
symbol_id: 0x56b779c5
@@ -385928,8 +401062,10 @@ interface {
symbol_id: 0x5ab300fb
symbol_id: 0x33d40ef0
symbol_id: 0xeb6692c0
+ symbol_id: 0x15f1b772
symbol_id: 0x38940a34
symbol_id: 0x322ca1cc
+ symbol_id: 0x9f8a16f0
symbol_id: 0xad3b5931
symbol_id: 0xdc85b8be
symbol_id: 0xd1dc3f24
@@ -385938,7 +401074,10 @@ interface {
symbol_id: 0x4e595f64
symbol_id: 0xd94e8fae
symbol_id: 0xd2399e18
+ symbol_id: 0x92732196
+ symbol_id: 0xd29660d9
symbol_id: 0xa6c906b5
+ symbol_id: 0x77dba918
symbol_id: 0x5cc4535c
symbol_id: 0x7d2c4acc
symbol_id: 0x1f593233
@@ -385953,6 +401092,7 @@ interface {
symbol_id: 0xbd7218cd
symbol_id: 0x8ef4fedc
symbol_id: 0x4f956c89
+ symbol_id: 0xe1092bbd
symbol_id: 0x3003f174
symbol_id: 0xf85ae22f
symbol_id: 0xcca4d1a0
@@ -385964,7 +401104,9 @@ interface {
symbol_id: 0xbf0b0a4c
symbol_id: 0x4a4e8bee
symbol_id: 0x5b060b7d
+ symbol_id: 0xb3b8cbe2
symbol_id: 0xec171799
+ symbol_id: 0xb7265b03
symbol_id: 0x24b9d7ed
symbol_id: 0x25471057
symbol_id: 0xb77dc501
@@ -385975,6 +401117,8 @@ interface {
symbol_id: 0xb2b0c8fa
symbol_id: 0xfb710d3e
symbol_id: 0x0af60b8b
+ symbol_id: 0xe5f1a4c5
+ symbol_id: 0x1405c2fb
symbol_id: 0xe0349007
symbol_id: 0xfae0b182
symbol_id: 0x9ef87854
@@ -386021,11 +401165,14 @@ interface {
symbol_id: 0x1f625c64
symbol_id: 0x180ceb0c
symbol_id: 0x19ed5e1a
+ symbol_id: 0x7e3fb039
symbol_id: 0xaae00157
symbol_id: 0x455375fa
symbol_id: 0xc1ea8aaa
+ symbol_id: 0x500f328c
symbol_id: 0xe19d98a9
symbol_id: 0xdebcf3e9
+ symbol_id: 0x7d05df74
symbol_id: 0x5d6d169f
symbol_id: 0x023858a0
symbol_id: 0x7b2c2128
@@ -386048,6 +401195,8 @@ interface {
symbol_id: 0x7c74f0ec
symbol_id: 0x8525915d
symbol_id: 0x12402fa7
+ symbol_id: 0x0b4df89e
+ symbol_id: 0x7996527c
symbol_id: 0x7f3b48aa
symbol_id: 0xf47010e0
symbol_id: 0x436ee92c
@@ -386076,6 +401225,7 @@ interface {
symbol_id: 0x4f6b19f1
symbol_id: 0xd4ea779d
symbol_id: 0x67a38bc7
+ symbol_id: 0x1295815b
symbol_id: 0xd7cc5056
symbol_id: 0x40df740b
symbol_id: 0x89a97545
@@ -386124,6 +401274,12 @@ interface {
symbol_id: 0x745d77d7
symbol_id: 0xee44d535
symbol_id: 0xeedc57e1
+ symbol_id: 0x706a5214
+ symbol_id: 0x56fe28ac
+ symbol_id: 0xfb0d7eaf
+ symbol_id: 0x910f3594
+ symbol_id: 0x6a015d4f
+ symbol_id: 0xcb37c2fd
symbol_id: 0x57adf54a
symbol_id: 0xcfc71fe1
symbol_id: 0xadfa8107
@@ -386137,6 +401293,8 @@ interface {
symbol_id: 0x4c674d1e
symbol_id: 0x1f9b728b
symbol_id: 0x99a17453
+ symbol_id: 0xd7393cd7
+ symbol_id: 0xbf61e6bf
symbol_id: 0x675bcd74
symbol_id: 0x35280a80
symbol_id: 0x03fd01bd
@@ -386148,6 +401306,7 @@ interface {
symbol_id: 0x83c5422c
symbol_id: 0xff4bd5dc
symbol_id: 0x1adae35c
+ symbol_id: 0xfc7ac85d
symbol_id: 0x6aca9744
symbol_id: 0x6b08a95c
symbol_id: 0x238c5442
@@ -386164,6 +401323,7 @@ interface {
symbol_id: 0x8a143ba0
symbol_id: 0x47548cf4
symbol_id: 0xfa53e7be
+ symbol_id: 0x257f1e06
symbol_id: 0x5e6e4a8e
symbol_id: 0x32ffb327
symbol_id: 0x3491ba62
@@ -386172,6 +401332,7 @@ interface {
symbol_id: 0x5f29be60
symbol_id: 0xfd1fa5d2
symbol_id: 0x964dcd4d
+ symbol_id: 0xa4da49fe
symbol_id: 0xb9a87429
symbol_id: 0xbfd5ebac
symbol_id: 0x68c67cd0
@@ -386195,12 +401356,16 @@ interface {
symbol_id: 0x2c61b358
symbol_id: 0x352feb2c
symbol_id: 0xf21d6619
+ symbol_id: 0x11b8b797
+ symbol_id: 0x19ea44b2
symbol_id: 0xba998ee2
symbol_id: 0x74420600
symbol_id: 0x92edca7e
symbol_id: 0xb2f7eb17
symbol_id: 0x8eb5b50d
+ symbol_id: 0xc26d0753
symbol_id: 0x1f5649eb
+ symbol_id: 0x31ef5894
symbol_id: 0x0af8ff72
symbol_id: 0xe3ec4d34
symbol_id: 0xf23ecd34
@@ -386288,6 +401453,8 @@ interface {
symbol_id: 0xcd537f33
symbol_id: 0xef58928a
symbol_id: 0x48726233
+ symbol_id: 0xc92a02ef
+ symbol_id: 0x804bafc3
symbol_id: 0xabad0839
symbol_id: 0x6d4398fa
symbol_id: 0xce618820
@@ -386332,6 +401499,7 @@ interface {
symbol_id: 0xd2e3da2e
symbol_id: 0x14184fbf
symbol_id: 0x3b425caf
+ symbol_id: 0x25a85408
symbol_id: 0x32cae5ee
symbol_id: 0x0651ce31
symbol_id: 0x194db723
@@ -386372,6 +401540,7 @@ interface {
symbol_id: 0xeffe0f16
symbol_id: 0x7b771682
symbol_id: 0x39362be4
+ symbol_id: 0xeab36c96
symbol_id: 0xba26b6a3
symbol_id: 0xfdaa1c0d
symbol_id: 0xe86ce747
@@ -386434,11 +401603,13 @@ interface {
symbol_id: 0xf4594c32
symbol_id: 0xa33694f6
symbol_id: 0x7e8e12de
+ symbol_id: 0x9ae5b413
symbol_id: 0xe69a5898
symbol_id: 0xbd07e567
symbol_id: 0xf304733e
symbol_id: 0x153d2098
symbol_id: 0xc24d49e4
+ symbol_id: 0x8ac195eb
symbol_id: 0xd09568e0
symbol_id: 0xe4a0e986
symbol_id: 0x6dc2f0b4
@@ -386480,9 +401651,13 @@ interface {
symbol_id: 0x0e1b0b82
symbol_id: 0xfb52ace2
symbol_id: 0x44e002a2
+ symbol_id: 0xd5e0987f
symbol_id: 0x1fe11014
+ symbol_id: 0x75fe69c4
symbol_id: 0x2a267913
symbol_id: 0xf3c91dcd
+ symbol_id: 0xfb2634da
+ symbol_id: 0xe7caa0b7
symbol_id: 0x3da4fd63
symbol_id: 0xc49e9f39
symbol_id: 0x89663420
@@ -386500,6 +401675,7 @@ interface {
symbol_id: 0x2f857527
symbol_id: 0x3e5f4f82
symbol_id: 0xbf1515af
+ symbol_id: 0x87812861
symbol_id: 0x18d0dd21
symbol_id: 0x92705587
symbol_id: 0xdbe66171
@@ -386536,6 +401712,7 @@ interface {
symbol_id: 0xa64e4b1e
symbol_id: 0xd143c302
symbol_id: 0xbf6d0a0f
+ symbol_id: 0x5a86c789
symbol_id: 0x2eda3aae
symbol_id: 0x9891b743
symbol_id: 0x51f65372
@@ -386551,6 +401728,12 @@ interface {
symbol_id: 0xd6adc7e6
symbol_id: 0xcc386657
symbol_id: 0xeb0e3e9b
+ symbol_id: 0x5f96413a
+ symbol_id: 0x34a062e9
+ symbol_id: 0x97edc1c5
+ symbol_id: 0xdb8e8104
+ symbol_id: 0xe6a46ba8
+ symbol_id: 0xefab10bf
symbol_id: 0x857e5dc9
symbol_id: 0x85459353
symbol_id: 0x1ecfd7d9
@@ -386561,9 +401744,14 @@ interface {
symbol_id: 0xbabc4102
symbol_id: 0x4c16a6b4
symbol_id: 0xc8ad19b6
+ symbol_id: 0xd2070626
symbol_id: 0xdebe76ba
symbol_id: 0xae3ea97c
+ symbol_id: 0xfccd15d1
+ symbol_id: 0x591431f1
symbol_id: 0x6869c83d
+ symbol_id: 0x7cfd9233
+ symbol_id: 0xbd25c7d0
symbol_id: 0x5bbd3545
symbol_id: 0xf4017fdd
symbol_id: 0x2d1f2cdd
@@ -386574,10 +401762,12 @@ interface {
symbol_id: 0x96242237
symbol_id: 0x571b278c
symbol_id: 0x3272fe14
+ symbol_id: 0xed549fd4
symbol_id: 0x73954c59
symbol_id: 0x0f9699eb
symbol_id: 0x66782435
symbol_id: 0x793a755b
+ symbol_id: 0x61ab1273
symbol_id: 0x68e98442
symbol_id: 0x1cf36c3c
symbol_id: 0x9fc8421c
@@ -386586,8 +401776,10 @@ interface {
symbol_id: 0x6642e9e1
symbol_id: 0x4063e8a2
symbol_id: 0x78e97bdd
+ symbol_id: 0x5da495c5
symbol_id: 0xdc3e523b
symbol_id: 0x3934d205
+ symbol_id: 0xaed64d9d
symbol_id: 0xa603e7df
symbol_id: 0xfbbf21e2
symbol_id: 0xb08b0149
@@ -386595,6 +401787,7 @@ interface {
symbol_id: 0x18c0f285
symbol_id: 0xd3e5c9bd
symbol_id: 0x96be8568
+ symbol_id: 0x3217f3a4
symbol_id: 0xf7dfdad1
symbol_id: 0x47d78ddb
symbol_id: 0x961122f4
@@ -386623,9 +401816,14 @@ interface {
symbol_id: 0x3df2f359
symbol_id: 0x33172d21
symbol_id: 0x54bbaa46
+ symbol_id: 0x3f07269b
+ symbol_id: 0x3c7c6ce9
+ symbol_id: 0x7a43283c
+ symbol_id: 0x44cd0751
symbol_id: 0x3d986fb5
symbol_id: 0x2f855953
symbol_id: 0x8814f5b8
+ symbol_id: 0x8fa1e478
symbol_id: 0xe54aec5b
symbol_id: 0xce4acc7b
symbol_id: 0xe244df50
@@ -386645,6 +401843,7 @@ interface {
symbol_id: 0xf57e37fe
symbol_id: 0xb0b2d21a
symbol_id: 0xd755dcd0
+ symbol_id: 0xf35fc966
symbol_id: 0x05d29e21
symbol_id: 0x370666f8
symbol_id: 0xaf95f073
@@ -386655,9 +401854,11 @@ interface {
symbol_id: 0x17314b18
symbol_id: 0xfa2cb6b6
symbol_id: 0xc4fae65d
+ symbol_id: 0x46252c06
symbol_id: 0x7d656c6a
symbol_id: 0x19abe185
symbol_id: 0x07c1d025
+ symbol_id: 0x42083e9a
symbol_id: 0x697b29f0
symbol_id: 0x88860085
symbol_id: 0x27015d04
@@ -386674,6 +401875,7 @@ interface {
symbol_id: 0x677985f3
symbol_id: 0x6c2259cd
symbol_id: 0xacf009d6
+ symbol_id: 0xcbabaff3
symbol_id: 0x0b4dd20d
symbol_id: 0xae3ac3f6
symbol_id: 0xa7c71d5a
@@ -386683,6 +401885,7 @@ interface {
symbol_id: 0x000b201f
symbol_id: 0x0b032f8d
symbol_id: 0xeafeba4a
+ symbol_id: 0xfdbc073c
symbol_id: 0x59f7bc61
symbol_id: 0xdeb902aa
symbol_id: 0x43145b7f
@@ -386692,17 +401895,25 @@ interface {
symbol_id: 0x0b050f75
symbol_id: 0xf0c9c0bf
symbol_id: 0x8a712bc6
+ symbol_id: 0xe5875746
+ symbol_id: 0x44728108
symbol_id: 0x2a899db0
+ symbol_id: 0x41fc53b5
+ symbol_id: 0xb7985539
symbol_id: 0x954d57e8
symbol_id: 0x604f0f0b
symbol_id: 0x5b997ef3
symbol_id: 0x6a405f9b
+ symbol_id: 0x3ed74db1
+ symbol_id: 0x8c3087ea
symbol_id: 0x4e9dfcab
symbol_id: 0x4a92dfd1
symbol_id: 0xb958a87a
symbol_id: 0xdcd44915
symbol_id: 0xca491b5d
+ symbol_id: 0x99f6096a
symbol_id: 0x1f87b736
+ symbol_id: 0x74487c98
symbol_id: 0x727ea003
symbol_id: 0x2aefba25
symbol_id: 0xc2ec2319
@@ -386720,20 +401931,29 @@ interface {
symbol_id: 0x6590f3a5
symbol_id: 0x8e95f895
symbol_id: 0x30438a62
+ symbol_id: 0xfb5efe2e
+ symbol_id: 0x58687602
+ symbol_id: 0xe7fb597f
+ symbol_id: 0xe6cbb47e
symbol_id: 0x0d23e13a
symbol_id: 0xd02d0c21
+ symbol_id: 0xe9d634b5
symbol_id: 0x84b20708
+ symbol_id: 0xb8c4fc82
symbol_id: 0x8fafe0a6
symbol_id: 0x6d4f7368
symbol_id: 0x29215b38
symbol_id: 0x1ee037b1
symbol_id: 0x13f409fa
+ symbol_id: 0x6dffcd52
symbol_id: 0xe9bfa224
symbol_id: 0x0df14bce
symbol_id: 0xd6fc8732
+ symbol_id: 0x4fe4e1e0
symbol_id: 0x22d09ebb
symbol_id: 0xad69345e
symbol_id: 0x381c401c
+ symbol_id: 0x7e6ad5ea
symbol_id: 0xfb60a10e
symbol_id: 0xc632b16e
symbol_id: 0xe95b649e
@@ -386741,6 +401961,7 @@ interface {
symbol_id: 0xaab0b041
symbol_id: 0x5800606d
symbol_id: 0xae69b1ad
+ symbol_id: 0xcbaf28c3
symbol_id: 0x098b2c4d
symbol_id: 0x008276ec
symbol_id: 0xe9c62c61
@@ -386800,9 +402021,12 @@ interface {
symbol_id: 0xcd6f9634
symbol_id: 0xba7435fd
symbol_id: 0xb59c5eaf
+ symbol_id: 0x71dad1b2
symbol_id: 0x051c0489
+ symbol_id: 0x562c9a11
symbol_id: 0x56d1da85
symbol_id: 0xe74af45a
+ symbol_id: 0xaefd3622
symbol_id: 0x3ecd46f0
symbol_id: 0xde541a7b
symbol_id: 0xe6e08555
@@ -386829,7 +402053,9 @@ interface {
symbol_id: 0xc9fa7338
symbol_id: 0xb163f167
symbol_id: 0x439eff60
+ symbol_id: 0xa13a99d8
symbol_id: 0x9f5197f0
+ symbol_id: 0x5ad67dea
symbol_id: 0x11fd8c82
symbol_id: 0xe41b8f90
symbol_id: 0x60ffe144
@@ -386880,6 +402106,7 @@ interface {
symbol_id: 0x8f72141f
symbol_id: 0x8dc26f05
symbol_id: 0xcb2698e3
+ symbol_id: 0xea314c1f
symbol_id: 0xdc59a2d7
symbol_id: 0xc8d57f30
symbol_id: 0xa1439ad9
@@ -386901,6 +402128,7 @@ interface {
symbol_id: 0xb9dd1d1a
symbol_id: 0x3d66dcb8
symbol_id: 0x1f68a496
+ symbol_id: 0x23a5ab99
symbol_id: 0x2a589f64
symbol_id: 0x7da41bc7
symbol_id: 0x795a4305
@@ -386916,6 +402144,7 @@ interface {
symbol_id: 0x27e59f46
symbol_id: 0x109adee2
symbol_id: 0x784d1cb4
+ symbol_id: 0x201afca9
symbol_id: 0xd75ad246
symbol_id: 0xdefa9d60
symbol_id: 0x905187d4
@@ -386936,6 +402165,7 @@ interface {
symbol_id: 0x792a6c04
symbol_id: 0xdc1a1266
symbol_id: 0x4a8ce807
+ symbol_id: 0x899ff164
symbol_id: 0x4ec99a42
symbol_id: 0xf83f300d
symbol_id: 0x57c3f1e7
@@ -386986,12 +402216,14 @@ interface {
symbol_id: 0x700d3d6b
symbol_id: 0xbdfbbc33
symbol_id: 0x1b3f668e
+ symbol_id: 0x00a14c5c
symbol_id: 0x868c5f6e
symbol_id: 0xb89dad0b
symbol_id: 0x110008ad
symbol_id: 0x5df193f7
symbol_id: 0x9b635032
symbol_id: 0x4048e514
+ symbol_id: 0x83676405
symbol_id: 0x89c78ea4
symbol_id: 0x37cf2035
symbol_id: 0x2db08c33
@@ -387002,6 +402234,7 @@ interface {
symbol_id: 0xe9d87e68
symbol_id: 0xf55bd7e0
symbol_id: 0xf3c1fd90
+ symbol_id: 0xbf06fcb7
symbol_id: 0xcaff4b1e
symbol_id: 0x92510f88
symbol_id: 0x1294ca70
@@ -387009,6 +402242,7 @@ interface {
symbol_id: 0x214d76fa
symbol_id: 0xa834737e
symbol_id: 0x869e15d7
+ symbol_id: 0xa60cf3b7
symbol_id: 0x944deaea
symbol_id: 0x413dc89c
symbol_id: 0xbc035d91
@@ -387020,6 +402254,7 @@ interface {
symbol_id: 0xd5bd73b9
symbol_id: 0x951bfee9
symbol_id: 0x55fbd705
+ symbol_id: 0x9de82d32
symbol_id: 0x09c05733
symbol_id: 0xf104e451
symbol_id: 0x282288bb
@@ -387048,6 +402283,7 @@ interface {
symbol_id: 0xbc49d007
symbol_id: 0xa20893c4
symbol_id: 0xf13a39cb
+ symbol_id: 0xedbb00b2
symbol_id: 0x34af8a35
symbol_id: 0x3cc50b4b
symbol_id: 0x85997d50
@@ -387061,9 +402297,33 @@ interface {
symbol_id: 0x0741c87d
symbol_id: 0x3bf4fac5
symbol_id: 0xcac8f190
+ symbol_id: 0x9ea1c58f
symbol_id: 0x140d9164
+ symbol_id: 0xbbf007f4
+ symbol_id: 0xd28057f3
+ symbol_id: 0x580c56b8
+ symbol_id: 0x8f0c866d
symbol_id: 0x52816b1c
+ symbol_id: 0x4f4e9353
+ symbol_id: 0x3f51a906
+ symbol_id: 0x6515c416
symbol_id: 0x19d80976
+ symbol_id: 0x6c854cb3
+ symbol_id: 0xcd021e80
+ symbol_id: 0x147e4ad2
+ symbol_id: 0x167360fc
+ symbol_id: 0x69b1070f
+ symbol_id: 0x3be16591
+ symbol_id: 0x6e3c0f91
+ symbol_id: 0x99cb2edf
+ symbol_id: 0x2325cd65
+ symbol_id: 0x9cf79f8d
+ symbol_id: 0x2f365f93
+ symbol_id: 0x6229bd38
+ symbol_id: 0x90b81315
+ symbol_id: 0xb011e423
+ symbol_id: 0x27363bb6
+ symbol_id: 0x10932377
symbol_id: 0xb5437ef4
symbol_id: 0x1473720a
symbol_id: 0xa459c02b
@@ -387098,6 +402358,7 @@ interface {
symbol_id: 0xdc3fca57
symbol_id: 0x23051526
symbol_id: 0xad9b8781
+ symbol_id: 0x5c266e47
symbol_id: 0xd40ec4d6
symbol_id: 0xcd00be9c
symbol_id: 0xef302a24
@@ -387112,6 +402373,7 @@ interface {
symbol_id: 0x592a4678
symbol_id: 0xff77e1ca
symbol_id: 0xe66642fe
+ symbol_id: 0x538ad5cc
symbol_id: 0x2244c8f0
symbol_id: 0x58330374
symbol_id: 0xdb18c924
@@ -387163,13 +402425,21 @@ interface {
symbol_id: 0x906c5f61
symbol_id: 0xf40e82dd
symbol_id: 0x9b29f9ed
+ symbol_id: 0xb2eba8d7
+ symbol_id: 0xa84f74e5
+ symbol_id: 0x64b2fdfd
+ symbol_id: 0x34ad1913
symbol_id: 0x5f3882d0
symbol_id: 0xe203e72f
+ symbol_id: 0x90eb49a1
symbol_id: 0xac8d7ab3
symbol_id: 0x2f159216
symbol_id: 0xb1da32d2
symbol_id: 0x354ec447
symbol_id: 0x28f5deaf
+ symbol_id: 0x5da8252d
+ symbol_id: 0x1e8152b6
+ symbol_id: 0xd07f1826
symbol_id: 0x7733b651
symbol_id: 0x8e6a3c4a
symbol_id: 0x3635e264
@@ -387226,6 +402496,7 @@ interface {
symbol_id: 0xf33dadbd
symbol_id: 0x743ba358
symbol_id: 0x9f33c2c6
+ symbol_id: 0x14bde45c
symbol_id: 0x429eeda3
symbol_id: 0x67d81c4b
symbol_id: 0x5b1b7953
@@ -387238,6 +402509,8 @@ interface {
symbol_id: 0x2f1da35c
symbol_id: 0x47f90fd0
symbol_id: 0x969a2ec0
+ symbol_id: 0x2e0c3fe5
+ symbol_id: 0xae3c44c1
symbol_id: 0xb1b42a22
symbol_id: 0x689b6a95
symbol_id: 0xbd9fe5b6
@@ -387363,9 +402636,11 @@ interface {
symbol_id: 0x60488ecf
symbol_id: 0x9d727719
symbol_id: 0xa4027847
+ symbol_id: 0x738279bf
symbol_id: 0x7540b5a8
symbol_id: 0xb1036d49
symbol_id: 0x9a87f32b
+ symbol_id: 0x63928faf
symbol_id: 0xecc7b6fc
symbol_id: 0x5d14316b
symbol_id: 0x0094f87c
@@ -387393,6 +402668,7 @@ interface {
symbol_id: 0x4e8c6206
symbol_id: 0x887e1dde
symbol_id: 0x180eeaeb
+ symbol_id: 0xa643ac3f
symbol_id: 0x61731bd0
symbol_id: 0x6f9f10f2
symbol_id: 0x99941051
@@ -387406,6 +402682,8 @@ interface {
symbol_id: 0xb91fc02e
symbol_id: 0xaa425530
symbol_id: 0x9b05d33a
+ symbol_id: 0xb5ba02d4
+ symbol_id: 0x0fe35b07
symbol_id: 0xebb799b4
symbol_id: 0xcaf4c4fe
symbol_id: 0x11080b78
@@ -387418,22 +402696,35 @@ interface {
symbol_id: 0x248b3536
symbol_id: 0x950a62ac
symbol_id: 0x8f8f2df9
+ symbol_id: 0x6b55b9d2
symbol_id: 0xeb912db7
symbol_id: 0x64876ecd
+ symbol_id: 0x994cfb6c
+ symbol_id: 0x8c2045ca
symbol_id: 0xdf73207c
symbol_id: 0xd232cbb1
+ symbol_id: 0x209bd6b9
+ symbol_id: 0x68d92b40
+ symbol_id: 0x520c06c0
symbol_id: 0xa6eac918
symbol_id: 0xc46f1f1f
symbol_id: 0xf30af7b3
+ symbol_id: 0xc9a9e8ab
+ symbol_id: 0xa2b73df4
symbol_id: 0x71f2808e
+ symbol_id: 0x246bf5fe
+ symbol_id: 0x96be3ac9
symbol_id: 0xfa57b81b
+ symbol_id: 0x9d21209c
symbol_id: 0x4603c1d4
symbol_id: 0x54c09325
symbol_id: 0xf1838f43
symbol_id: 0x9324879f
symbol_id: 0xcde37345
+ symbol_id: 0xcf411a0e
symbol_id: 0xb834cd77
symbol_id: 0x5827485d
+ symbol_id: 0xd777027b
symbol_id: 0x23b2a72a
symbol_id: 0xf407269f
symbol_id: 0xe0308dad
@@ -387451,6 +402742,7 @@ interface {
symbol_id: 0xb73c4905
symbol_id: 0xbb650596
symbol_id: 0x0fc8c78d
+ symbol_id: 0xe8e0ea6a
symbol_id: 0xa5d58813
symbol_id: 0xde6620d5
symbol_id: 0xdf18b1a9
diff --git a/android/abi_gki_aarch64_asus b/android/abi_gki_aarch64_asus
new file mode 100644
index 000000000000..98ab875a5b2a
--- /dev/null
+++ b/android/abi_gki_aarch64_asus
@@ -0,0 +1,11 @@
+[abi_symbol_list]
+# aura sync
+ hid_unregister_driver
+ hid_hw_raw_request
+ hid_open_report
+ hid_hw_start
+ hid_hw_stop
+ __hid_register_driver
+ hid_hw_output_report
+ hid_hw_open
+ hid_hw_close
diff --git a/android/abi_gki_aarch64_exynos b/android/abi_gki_aarch64_exynos
index 19441f4ee7d8..d8c9ffac57b6 100644
--- a/android/abi_gki_aarch64_exynos
+++ b/android/abi_gki_aarch64_exynos
@@ -42,6 +42,7 @@
blocking_notifier_chain_register
blocking_notifier_chain_unregister
bpf_trace_run1
+ bpf_trace_run10
bpf_trace_run2
bpf_trace_run3
bpf_trace_run4
@@ -220,6 +221,7 @@
dma_fence_release
dma_fence_remove_callback
dma_fence_signal
+ dma_fence_signal_locked
dma_fence_wait_timeout
dma_free_attrs
dma_heap_buffer_alloc
@@ -322,7 +324,9 @@
enable_irq
eth_type_trans
fd_install
+ fget
_find_first_bit
+ _find_first_zero_bit
_find_last_bit
_find_next_and_bit
_find_next_bit
@@ -467,10 +471,12 @@
kmemdup
kobject_add
kobject_create_and_add
+ kobject_get
kobject_init
kobject_init_and_add
kobject_put
kobject_uevent_env
+ kobj_sysfs_ops
krealloc
kstrdup
kstrndup
@@ -605,6 +611,7 @@
of_reserved_mem_lookup
of_root
of_thermal_get_ntrips
+ on_each_cpu_cond_mask
panic
panic_notifier_list
param_array_ops
@@ -633,6 +640,7 @@
perf_trace_run_bpf_submit
phy_power_off
phy_power_on
+ phy_set_mode_ext
pinconf_generic_dt_node_to_map
pinctrl_dev_get_drvdata
pinctrl_lookup_state
@@ -646,6 +654,7 @@
platform_driver_unregister
platform_get_irq
platform_get_irq_byname
+ platform_get_irq_byname_optional
platform_get_resource
platform_get_resource_byname
__platform_register_drivers
@@ -655,6 +664,8 @@
__pm_runtime_disable
pm_runtime_enable
pm_runtime_forbid
+ pm_runtime_force_resume
+ pm_runtime_force_suspend
__pm_runtime_idle
pm_runtime_no_callbacks
__pm_runtime_resume
@@ -692,6 +703,7 @@
___ratelimit
raw_notifier_call_chain
raw_notifier_chain_register
+ raw_notifier_chain_unregister
_raw_read_lock
_raw_read_unlock
_raw_spin_lock
@@ -934,9 +946,11 @@
up_write
usb_add_function
usb_copy_descriptors
+ usb_enable_autosuspend
usb_ep_autoconfig
usb_function_register
usb_function_unregister
+ usb_hcd_is_primary_hcd
usb_hub_find_child
usb_interface_id
usb_put_function_instance
@@ -1014,7 +1028,6 @@
ww_mutex_unlock
# required by cfg80211.ko
- bpf_trace_run10
csum_partial
debugfs_rename
__dev_change_net_namespace
@@ -1149,8 +1162,32 @@
__tracepoint_workqueue_execute_end
__tracepoint_workqueue_execute_start
+# required by dw_mmc-exynos.ko
+ mmc_wait_for_req
+
+# required by dw_mmc.ko
+ debugfs_create_x64
+ device_property_read_string_array
+ dma_map_sg_attrs
+ mmc_add_host
+ mmc_alloc_host
+ mmc_can_gpio_cd
+ mmc_detect_change
+ mmc_free_host
+ mmc_gpio_get_cd
+ mmc_gpio_get_ro
+ mmc_of_parse
+ mmc_regulator_get_supply
+ mmc_regulator_set_ocr
+ mmc_regulator_set_vqmmc
+ mmc_remove_host
+ mmc_request_done
+ sdio_signal_irq
+
# required by dwc3-exynos-usb.ko
+ device_create_managed_software_node
platform_device_add
+ platform_device_add_resources
platform_device_alloc
platform_device_del
platform_device_put
@@ -1192,8 +1229,10 @@
match_string
memory_read_from_buffer
migrate_swap
+ perf_event_create_kernel_counter
+ perf_event_enable
+ perf_event_read_local
pick_highest_pushable_task
- raw_notifier_chain_unregister
raw_spin_rq_lock_nested
raw_spin_rq_unlock
_raw_write_trylock
@@ -1237,6 +1276,7 @@
__traceiter_android_vh_binder_restore_priority
__traceiter_android_vh_binder_set_priority
__traceiter_android_vh_binder_wakeup_ilocked
+ __traceiter_android_vh_jiffies_update
__traceiter_android_vh_scheduler_tick
__traceiter_android_vh_syscall_prctl_finished
__traceiter_binder_transaction_received
@@ -1267,6 +1307,7 @@
__tracepoint_android_vh_binder_restore_priority
__tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_wakeup_ilocked
+ __tracepoint_android_vh_jiffies_update
__tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_syscall_prctl_finished
__tracepoint_binder_transaction_received
@@ -1377,7 +1418,6 @@
drm_crtc_enable_color_mgmt
drm_crtc_handle_vblank
drm_crtc_vblank_get
- drm_dev_has_vblank
drm_display_mode_to_videomode
drm_edid_to_sad
drm_format_info
@@ -1452,6 +1492,7 @@
# required by exynos-hypervisor.ko
__arm_smccc_hvc
+ kimage_vaddr
__pkvm_load_el2_module
__pkvm_register_el2_call
@@ -1472,6 +1513,17 @@
# required by exynos-ssld.ko
driver_register
+# required by exynos-usb-audio-offloading.ko
+ snd_ctl_add
+ snd_ctl_new1
+ snd_vendor_set_ops
+ __traceiter_android_rvh_audio_usb_offload_disconnect
+ __traceiter_android_vh_audio_usb_offload_connect
+ __tracepoint_android_rvh_audio_usb_offload_disconnect
+ __tracepoint_android_vh_audio_usb_offload_connect
+ usb_choose_configuration
+ usb_ifnum_to_if
+
# required by exynos9945_sound.ko
clk_bulk_disable
clk_bulk_enable
@@ -1514,6 +1566,9 @@
__tracepoint_clock_set_rate
update_devfreq
+# required by exynos_esca.ko
+ debugfs_lookup
+
# required by exynos_mct_v3.ko
clockevents_config_and_register
__clocksource_register_scale
@@ -1704,6 +1759,10 @@
__traceiter_android_rvh_gic_v3_set_affinity
__tracepoint_android_rvh_gic_v3_set_affinity
+# required by irq-gic-vh.ko
+ __traceiter_android_vh_gic_set_affinity
+ __tracepoint_android_vh_gic_set_affinity
+
# required by is-actuator-ak737x.ko
v4l2_i2c_subdev_init
@@ -1742,9 +1801,7 @@
# required by mpam_arch.ko
bitmap_alloc
- kobj_sysfs_ops
kstrtou16
- on_each_cpu_cond_mask
# required by nanohub.ko
arch_timer_read_counter
@@ -1767,8 +1824,6 @@
cpuidle_resume_and_unlock
dev_pm_opp_find_freq_floor
dma_fence_free
- dma_fence_signal_locked
- fget
vsprintf
# required by pablo-icpu.ko
@@ -1829,7 +1884,6 @@
pci_generic_config_write
pci_get_device
pci_rescan_bus
- platform_get_irq_byname_optional
# required by pinctrl-samsung-core.ko
fwnode_handle_put
@@ -1981,7 +2035,6 @@
vprintk_emit
# required by scsc_mx.ko
- kobject_get
kobject_uevent
# required by scsc_platform_mif.ko
@@ -2001,6 +2054,9 @@
# required by scsc_wlan.ko
arp_tbl
+ __cpuhp_remove_state
+ __cpuhp_state_add_instance
+ __cpuhp_state_remove_instance
dev_addr_mod
dev_alloc_name
__dev_queue_xmit
@@ -2009,6 +2065,7 @@
dql_reset
dst_release
ether_setup
+ __find_nth_bit
for_each_kernel_tracepoint
in4_pton
in6_pton
@@ -2065,6 +2122,7 @@
backlight_device_unregister
__bitmap_xor
capable
+ copy_highpage
devfreq_monitor_resume
devfreq_monitor_start
devfreq_monitor_stop
@@ -2152,7 +2210,6 @@
drm_syncobj_get_handle
drm_syncobj_replace_fence
__fdget
- _find_first_zero_bit
__folio_put
get_random_u32
__get_task_comm
@@ -2165,12 +2222,15 @@
idr_get_next
idr_replace
jiffies64_to_msecs
+ mark_page_accessed
memremap
memunmap
mmu_notifier_synchronize
page_pinner_inited
__page_pinner_put_page
+ param_get_charp
param_ops_hexint
+ param_set_charp
pci_assign_unassigned_bus_resources
pci_bus_resource_n
pcie_bandwidth_available
@@ -2196,15 +2256,20 @@
rb_first_postorder
__rb_insert_augmented
rb_next_postorder
+ reclaim_shmem_address_space
request_firmware_into_buf
seq_putc
seq_write
+ set_page_dirty
sg_alloc_table_from_pages_segment
+ shmem_file_setup
+ shmem_read_mapping_page_gfp
si_meminfo
sysfs_remove_files
+ __traceiter_android_vh_meminfo_proc_show
__traceiter_gpu_mem_total
+ __tracepoint_android_vh_meminfo_proc_show
__tracepoint_gpu_mem_total
- ttm_bo_eviction_valuable
ttm_bo_init_reserved
ttm_bo_kmap
ttm_bo_kunmap
@@ -2217,6 +2282,7 @@
ttm_bo_put
ttm_bo_set_bulk_move
ttm_bo_unlock_delayed_workqueue
+ ttm_bo_unmap_virtual
ttm_bo_unpin
ttm_bo_validate
ttm_bo_vm_access
@@ -2225,9 +2291,11 @@
ttm_bo_vm_fault_reserved
ttm_bo_vm_open
ttm_bo_vm_reserve
+ ttm_bo_wait
ttm_device_fini
ttm_device_init
ttm_eu_backoff_reservation
+ ttm_eu_fence_buffer_objects
ttm_eu_reserve_buffers
ttm_glob
ttm_lru_bulk_move_tail
@@ -2244,6 +2312,7 @@
ttm_resource_manager_usage
ttm_sg_tt_init
ttm_tt_fini
+ ttm_tt_unpopulate
vm_get_page_prot
__wake_up_locked
ww_mutex_lock_interruptible
@@ -2392,7 +2461,7 @@
ufshcd_dme_get_attr
ufshcd_dme_set_attr
ufshcd_hold
- ufshcd_mcq_poll_cqe_nolock
+ ufshcd_mcq_poll_cqe_lock
ufshcd_mcq_write_cqis
ufshcd_pltfrm_init
ufshcd_release
@@ -2416,6 +2485,25 @@
kthread_complete_and_exit
usb_speed_string
+# required by xhci-exynos-audio.ko
+ dma_pool_alloc
+ dma_pool_free
+ __kmalloc_node
+ kmalloc_node_trace
+ xhci_add_endpoint
+ xhci_address_device
+ xhci_check_trb_in_td_math
+ xhci_get_endpoint_index
+ xhci_get_ep_ctx
+ xhci_get_slot_ctx
+ xhci_initialize_ring_info
+ xhci_link_segments
+ xhci_remove_stream_mapping
+ xhci_ring_alloc
+ xhci_segment_free
+ xhci_trb_virt_to_dma
+ xhci_vendor_get_ops
+
# required by xhci-exynos.ko
device_property_read_u32_array
device_set_wakeup_enable
@@ -2426,10 +2514,10 @@
usb_add_hcd
__usb_create_hcd
usb_disabled
- usb_enable_autosuspend
- usb_hcd_is_primary_hcd
usb_put_hcd
usb_remove_hcd
+ xhci_bus_resume
+ xhci_bus_suspend
xhci_gen_setup
xhci_init_driver
xhci_resume
@@ -2440,3 +2528,62 @@
cpufreq_quick_get_max
kthread_bind_mask
stpcpy
+
+# preserved by --additions-only
+ __alloc_percpu_gfp
+ arc4_crypt
+ arc4_setkey
+ __cpu_present_mask
+ crc32_be
+ crypto_aead_decrypt
+ crypto_aead_encrypt
+ crypto_aead_setauthsize
+ crypto_aead_setkey
+ crypto_alloc_aead
+ crypto_alloc_skcipher
+ __crypto_memneq
+ crypto_shash_finup
+ crypto_shash_setkey
+ crypto_skcipher_decrypt
+ crypto_skcipher_encrypt
+ crypto_skcipher_setkey
+ __crypto_xor
+ dev_fetch_sw_netstats
+ drm_dev_has_vblank
+ eth_mac_addr
+ ethtool_op_get_link
+ get_random_u16
+ __hw_addr_init
+ __hw_addr_sync
+ __hw_addr_unsync
+ kernel_param_lock
+ kernel_param_unlock
+ kfree_skb_list_reason
+ ktime_get_seconds
+ memmove
+ netdev_info
+ netdev_set_default_ethtool_ops
+ netif_receive_skb_list
+ net_ratelimit
+ pskb_expand_head
+ ___pskb_trim
+ rhashtable_free_and_destroy
+ rhashtable_insert_slow
+ rhltable_init
+ __rht_bucket_nested
+ rht_bucket_nested
+ rht_bucket_nested_insert
+ round_jiffies
+ round_jiffies_relative
+ round_jiffies_up
+ sg_init_one
+ skb_checksum_help
+ skb_clone_sk
+ skb_complete_wifi_ack
+ skb_ensure_writable
+ __skb_get_hash
+ __skb_gso_segment
+ tasklet_unlock_wait
+ ttm_bo_eviction_valuable
+ ufshcd_mcq_poll_cqe_nolock
+ unregister_netdevice_many
diff --git a/android/abi_gki_aarch64_exynosauto b/android/abi_gki_aarch64_exynosauto
new file mode 100644
index 000000000000..a26228697242
--- /dev/null
+++ b/android/abi_gki_aarch64_exynosauto
@@ -0,0 +1,556 @@
+[abi_symbol_list]
+# commonly used symbols
+ alloc_workqueue
+ alt_cb_patch_nops
+ __arch_copy_from_user
+ __arch_copy_to_user
+ arm64_use_ng_mappings
+ blocking_notifier_call_chain
+ blocking_notifier_chain_register
+ cancel_delayed_work_sync
+ __check_object_size
+ __class_create
+ class_destroy
+ clk_disable
+ clk_enable
+ __clk_get_hw
+ clk_get_rate
+ clk_hw_get_parent
+ clk_prepare
+ clk_register
+ clk_register_clkdev
+ clk_register_fixed_factor
+ clk_register_fixed_rate
+ clk_set_rate
+ clk_unprepare
+ complete
+ __const_udelay
+ cpu_hwcaps
+ cpu_number
+ debugfs_create_dir
+ debugfs_create_file
+ debugfs_create_u32
+ debugfs_remove
+ default_llseek
+ delayed_work_timer_fn
+ dev_driver_string
+ _dev_err
+ device_create
+ device_create_file
+ device_destroy
+ device_for_each_child
+ device_get_match_data
+ device_remove_file
+ device_set_wakeup_capable
+ device_wakeup_disable
+ device_wakeup_enable
+ _dev_info
+ devm_clk_get
+ devm_free_irq
+ devm_i2c_new_dummy_device
+ devm_ioremap
+ devm_ioremap_resource
+ devm_kfree
+ devm_kmalloc
+ devm_mfd_add_devices
+ devm_pinctrl_get
+ devm_regulator_register
+ devm_request_threaded_irq
+ _dev_warn
+ disable_irq
+ disable_irq_nosync
+ dma_alloc_attrs
+ dma_free_attrs
+ dma_map_page_attrs
+ dma_release_channel
+ dma_request_chan
+ dma_set_coherent_mask
+ dma_set_mask
+ dma_unmap_page_attrs
+ enable_irq
+ fortify_panic
+ free_irq
+ get_device
+ gic_nonsecure_priorities
+ gpiod_direction_input
+ gpiod_direction_output_raw
+ gpiod_get_raw_value
+ gpiod_set_raw_value
+ gpio_to_desc
+ handle_level_irq
+ i2c_add_numbered_adapter
+ i2c_del_driver
+ i2c_register_driver
+ i2c_unregister_device
+ __init_swait_queue_head
+ init_timer_key
+ ioremap_prot
+ iounmap
+ irq_get_irq_data
+ irq_modify_status
+ irq_of_parse_and_map
+ irq_set_chip_and_handler_name
+ irq_set_chip_data
+ irq_set_irq_wake
+ is_vmalloc_addr
+ jiffies
+ kfree
+ __kmalloc
+ kmalloc_caches
+ kmalloc_trace
+ kstrtoint
+ ktime_get
+ ktime_get_mono_fast_ns
+ __list_add_valid
+ __list_del_entry_valid
+ log_post_read_mmio
+ log_post_write_mmio
+ log_read_mmio
+ log_write_mmio
+ loops_per_jiffy
+ memcpy
+ memdup_user
+ memset
+ module_layout
+ __msecs_to_jiffies
+ msleep
+ __mutex_init
+ mutex_lock
+ mutex_unlock
+ of_address_to_resource
+ of_alias_get_id
+ of_clk_add_provider
+ of_clk_src_onecell_get
+ of_device_is_available
+ of_find_compatible_node
+ of_find_device_by_node
+ of_find_matching_node_and_match
+ of_find_node_by_name
+ of_find_property
+ of_get_child_by_name
+ of_get_named_gpio_flags
+ of_get_next_child
+ of_get_property
+ of_get_regulator_init_data
+ of_iomap
+ of_match_node
+ __of_parse_phandle_with_args
+ of_property_read_string
+ of_property_read_string_helper
+ of_property_read_variable_u32_array
+ of_root
+ panic
+ param_ops_int
+ param_ops_uint
+ pinctrl_lookup_state
+ pinctrl_select_state
+ __platform_driver_register
+ platform_driver_unregister
+ platform_get_irq
+ platform_get_irq_optional
+ platform_get_resource
+ platform_get_resource_byname
+ __pm_runtime_disable
+ pm_runtime_enable
+ __pm_runtime_idle
+ __pm_runtime_resume
+ pm_runtime_set_autosuspend_delay
+ __pm_runtime_suspend
+ __pm_runtime_use_autosuspend
+ _printk
+ put_device
+ __put_task_struct
+ queue_delayed_work_on
+ queue_work_on
+ _raw_spin_lock
+ _raw_spin_lock_irqsave
+ _raw_spin_unlock
+ _raw_spin_unlock_irqrestore
+ rdev_get_drvdata
+ rdev_get_id
+ register_pm_notifier
+ register_syscore_ops
+ regmap_read
+ regmap_update_bits_base
+ regmap_write
+ regulator_disable
+ regulator_enable
+ regulator_list_voltage_linear
+ regulator_map_voltage_linear
+ sched_clock
+ seq_lseek
+ seq_printf
+ seq_puts
+ seq_read
+ sg_init_table
+ simple_open
+ simple_read_from_buffer
+ simple_write_to_buffer
+ single_open
+ single_release
+ snprintf
+ sprintf
+ sscanf
+ __stack_chk_fail
+ strcasecmp
+ strcmp
+ strlcat
+ strlen
+ strncmp
+ strnlen
+ strscpy
+ strstr
+ syscon_regmap_lookup_by_phandle
+ sysfs_create_group
+ sysfs_emit
+ system_wq
+ __udelay
+ usleep_range_state
+ wait_for_completion_timeout
+ __warn_printk
+
+# required by cmupmucal.ko
+ debugfs_create_x32
+ kernel_kobj
+ kobject_create_and_add
+ kstrtouint
+ of_find_node_by_type
+
+# required by dmatest.ko
+ __dma_request_channel
+ finish_wait
+ get_random_bytes
+ init_wait_entry
+ __init_waitqueue_head
+ kmem_cache_create
+ kmem_cache_destroy
+ kthread_create_on_node
+ kthread_should_stop
+ kthread_stop
+ mempool_alloc
+ mempool_alloc_slab
+ mempool_create
+ mempool_destroy
+ mempool_free
+ mempool_free_slab
+ param_get_bool
+ param_get_string
+ param_ops_bool
+ param_ops_string
+ param_set_bool
+ param_set_copystring
+ prepare_to_wait_event
+ refcount_warn_saturate
+ schedule
+ schedule_timeout
+ set_freezable
+ set_user_nice
+ strim
+ __wake_up
+ wake_up_process
+
+# required by dwc3-exynosauto-usb.ko
+ cancel_work_sync
+ device_create_managed_software_node
+ device_property_present
+ devm_phy_get
+ devm_regulator_get
+ of_match_device
+ of_platform_populate
+ phy_exit
+ phy_init
+ phy_power_off
+ phy_power_on
+ platform_device_add
+ platform_device_add_resources
+ platform_device_alloc
+ platform_device_del
+ platform_device_put
+ platform_device_unregister
+ platform_get_irq_byname_optional
+ __pm_relax
+ pm_runtime_allow
+ pm_runtime_forbid
+ __pm_runtime_set_status
+ __pm_stay_awake
+ sysfs_remove_group
+ typec_register_partner
+ typec_register_port
+ typec_set_data_role
+ typec_set_pwr_opmode
+ typec_set_pwr_role
+ typec_unregister_partner
+ typec_unregister_port
+ unregister_pm_notifier
+ usb_gadget_set_state
+ usb_otg_state_string
+ wakeup_source_register
+ wakeup_source_unregister
+
+# required by ect_parser.ko
+ memstart_addr
+ of_reserved_mem_lookup
+ strcpy
+ vmap
+
+# required by exynos-acme.ko
+ __bitmap_and
+ bitmap_parselist
+ __bitmap_weight
+ __cpu_active_mask
+ cpufreq_cpu_get
+ cpufreq_cpu_get_raw
+ cpufreq_cpu_put
+ __cpufreq_driver_target
+ cpufreq_freq_transition_begin
+ cpufreq_freq_transition_end
+ cpufreq_frequency_table_verify
+ cpufreq_generic_attr
+ cpufreq_register_driver
+ cpufreq_table_index_unsorted
+ cpuhp_tasks_frozen
+ __cpu_online_mask
+ dev_pm_opp_add
+ _find_first_bit
+ freq_qos_add_request
+ freq_qos_update_request
+ get_cpu_device
+ nr_cpu_ids
+ scnprintf
+ sysfs_create_file_ns
+ system_state
+
+# required by exynos-bts.ko
+ devm_kstrdup
+ _dev_notice
+
+# required by exynos-chipid_v2.ko
+ kasprintf
+ of_find_node_opts_by_path
+ soc_device_register
+ subsys_system_register
+
+# required by exynos-pd.ko
+ atomic_notifier_call_chain
+ kstrdup
+ of_genpd_add_provider_simple
+ pm_genpd_add_subdomain
+ pm_genpd_init
+
+# required by exynos-pd_el3.ko
+ __arm_smccc_smc
+
+# required by exynos-pm-time.ko
+ jiffies_to_msecs
+
+# required by exynos-pm.ko
+ of_property_count_elems_of_size
+
+# required by exynos_acpm.ko
+ generic_file_llseek
+ simple_attr_open
+ simple_attr_read
+ simple_attr_release
+ simple_attr_write
+ wait_for_completion_interruptible_timeout
+
+# required by exynos_pm_qos.ko
+ blocking_notifier_chain_unregister
+ kstrtoint_from_user
+ misc_register
+ noop_llseek
+ _raw_read_lock_irqsave
+ _raw_read_unlock_irqrestore
+ _raw_write_lock_irqsave
+ _raw_write_unlock_irqrestore
+ __usecs_to_jiffies
+
+# required by exynos_tty.ko
+ atomic_notifier_chain_register
+ dma_get_slave_caps
+ dma_sync_single_for_cpu
+ dma_sync_single_for_device
+ do_SAK
+ handle_sysrq
+ iomem_resource
+ kmalloc_large
+ oops_in_progress
+ panic_notifier_list
+ _raw_spin_trylock
+ register_console
+ __release_region
+ __request_region
+ request_threaded_irq
+ sysrq_mask
+ tty_flip_buffer_push
+ tty_insert_flip_string_fixed_flag
+ tty_kref_put
+ tty_port_tty_get
+ uart_add_one_port
+ uart_console_write
+ uart_get_baud_rate
+ uart_parse_options
+ uart_register_driver
+ uart_remove_one_port
+ uart_resume_port
+ uart_set_options
+ uart_suspend_port
+ uart_try_toggle_sysrq
+ uart_unregister_driver
+ uart_update_timeout
+ uart_write_wakeup
+
+# required by exynosauto_v920_thermal.ko
+ devm_thermal_of_zone_register
+ devm_thermal_of_zone_unregister
+ of_device_is_compatible
+ of_thermal_get_ntrips
+ strncpy
+ thermal_zone_device_update
+
+# required by i2c-dev.ko
+ bus_register_notifier
+ bus_unregister_notifier
+ cdev_device_add
+ cdev_device_del
+ cdev_init
+ device_initialize
+ dev_set_name
+ i2c_adapter_type
+ i2c_bus_type
+ i2c_for_each_dev
+ i2c_get_adapter
+ i2c_put_adapter
+ i2c_smbus_xfer
+ i2c_transfer
+ i2c_transfer_buffer_flags
+ i2c_verify_client
+ register_chrdev_region
+ unregister_chrdev_region
+
+# required by i2c-exynosauto.ko
+ cpu_bit_bitmap
+ i2c_del_adapter
+ __irq_apply_affinity_hint
+
+# required by phy-exynosauto-usbdrd-super.ko
+ __clk_is_enabled
+ __devm_of_phy_provider_register
+ devm_phy_create
+ gpio_request
+
+# required by pinctrl-samsung-core.ko
+ device_get_next_child_node
+ devm_gpiochip_add_data_with_key
+ devm_kmemdup
+ devm_pinctrl_register
+ fwnode_handle_put
+ fwnode_property_present
+ generic_handle_domain_irq
+ gpiochip_generic_free
+ gpiochip_generic_request
+ gpiochip_get_data
+ gpiochip_lock_as_irq
+ gpiochip_unlock_as_irq
+ handle_edge_irq
+ irq_create_mapping_affinity
+ __irq_domain_add
+ irq_domain_remove
+ irq_domain_xlate_twocell
+ irq_set_chained_handler_and_data
+ kmemdup
+ krealloc
+ of_device_get_match_data
+ of_fwnode_ops
+ of_node_name_eq
+ of_prop_next_string
+ pinctrl_add_gpio_range
+ pinctrl_dev_get_drvdata
+ pinctrl_remove_gpio_range
+
+# required by pl330.ko
+ amba_driver_register
+ amba_driver_unregister
+ dev_err_probe
+ __devm_reset_control_get
+ dma_async_device_register
+ dma_async_device_unregister
+ dma_async_tx_descriptor_init
+ dmaengine_unmap_put
+ dma_get_slave_channel
+ dma_map_resource
+ dma_unmap_resource
+ of_dma_controller_free
+ of_dma_controller_register
+ pm_runtime_force_resume
+ pm_runtime_force_suspend
+ pm_runtime_irq_safe
+ reset_control_assert
+ reset_control_deassert
+ sg_next
+ tasklet_kill
+ __tasklet_schedule
+ tasklet_setup
+
+# required by pwm-samsung.ko
+ devm_platform_ioremap_resource
+ of_prop_next_u32
+ pwmchip_add
+ pwmchip_remove
+ pwm_get_chip_data
+ pwm_set_chip_data
+
+# required by rtc-s2vps02.ko
+ devm_rtc_device_register
+ pm_wakeup_ws_event
+ rtc_update_irq
+ rtc_valid_tm
+
+# required by s2vps02-master-mfd.ko
+ destroy_workqueue
+ __devm_irq_alloc_descs
+ handle_nested_irq
+
+# required by spi-exynosauto.ko
+ gpio_free
+ gpio_request_one
+ __spi_alloc_controller
+ spi_controller_resume
+ spi_controller_suspend
+ spi_delay_exec
+ spi_finalize_current_message
+ spi_register_controller
+ spi_unregister_controller
+
+# required by spidev.ko
+ device_property_match_string
+ driver_unregister
+ _raw_spin_lock_irq
+ _raw_spin_unlock_irq
+ __register_chrdev
+ __spi_register_driver
+ spi_setup
+ spi_sync
+ stream_open
+ __unregister_chrdev
+
+# required by ufs-exynosauto-core.ko
+ _find_next_bit
+ flush_work
+ kstrtoull
+ of_property_read_variable_u16_array
+ of_property_read_variable_u8_array
+ scsi_dma_unmap
+ scsi_done
+ ufshcd_auto_hibern8_update
+ ufshcd_config_pwr_mode
+ ufshcd_dme_get_attr
+ ufshcd_dme_set_attr
+ ufshcd_dump_regs
+ ufshcd_link_recovery
+ ufshcd_pltfrm_init
+ ufshcd_release
+ ufshcd_remove
+ ufshcd_shutdown
+ ufshcd_system_resume
+ ufshcd_system_suspend
diff --git a/android/abi_gki_aarch64_galaxy b/android/abi_gki_aarch64_galaxy
index 76989b7b20b3..01f6927b0592 100644
--- a/android/abi_gki_aarch64_galaxy
+++ b/android/abi_gki_aarch64_galaxy
@@ -35,6 +35,7 @@
class_create_file_ns
class_find_device
class_remove_file_ns
+ cleancache_register_ops
__const_udelay
copy_from_kernel_nofault
cpu_hwcaps
@@ -62,6 +63,7 @@
_dev_info
__devm_alloc_percpu
devm_bitmap_zalloc
+ devm_clk_get_optional_enabled
devm_gen_pool_create
devm_gpiod_get_index
devm_ioremap
@@ -77,6 +79,7 @@
dma_alloc_attrs
dma_free_attrs
down_write
+ dummy_irq_chip
elevator_alloc
elv_bio_merge_ok
elv_rb_add
@@ -97,6 +100,8 @@
__free_pages
free_pages
free_pages_exact
+ fsnotify
+ __fsnotify_parent
generic_file_read_iter
generic_mii_ioctl
generic_perform_write
@@ -129,6 +134,7 @@
I_BDEV
iio_channel_get
iio_channel_release
+ iio_read_channel_raw
init_task
init_timer_key
input_close_device
@@ -140,10 +146,14 @@
ioremap_prot
iounmap
iov_iter_kvec
+ __irq_domain_alloc_fwnode
+ irq_domain_free_fwnode
jiffies
kasan_flag_enabled
kasprintf
kernel_cpustat
+ kernel_neon_begin
+ kernel_neon_end
kernfs_find_and_get_ns
kfree
__kfree_skb
@@ -159,6 +169,7 @@
kobject_put
kstrdup
kstrtoint
+ kstrtos16
kstrtouint
kstrtoull
kthread_create_on_node
@@ -218,12 +229,16 @@
param_ops_ullong
param_set_uint
__per_cpu_offset
+ phy_connect_direct
+ phy_find_first
+ phy_get_pause
phy_resolve_aneg_linkmode
phy_start_aneg
pinctrl_get
pinctrl_put
__platform_driver_register
platform_driver_unregister
+ platform_get_ethdev_address
preempt_schedule
print_hex_dump
_printk
@@ -248,6 +263,7 @@
register_reboot_notifier
register_restart_handler
register_syscore_ops
+ regulator_get_current_limit
remove_cpu
rtc_class_open
rtc_read_time
@@ -268,6 +284,9 @@
single_open
single_release
skb_copy_ubufs
+ smpboot_register_percpu_thread
+ smpboot_unregister_percpu_thread
+ snd_soc_add_card_controls
snd_soc_find_dai
snd_soc_info_volsw_sx
snd_soc_put_volsw_sx
@@ -276,6 +295,7 @@
sprintf
sscanf
__stack_chk_fail
+ stack_trace_save_regs
stpcpy
strcmp
strim
@@ -297,6 +317,12 @@
system_long_wq
system_unbound_wq
sys_tz
+ tcp_register_congestion_control
+ tcp_reno_cong_avoid
+ tcp_reno_ssthresh
+ tcp_reno_undo_cwnd
+ tcp_slow_start
+ tcp_unregister_congestion_control
time64_to_tm
__traceiter_android_rvh_arm64_serror_panic
__traceiter_android_rvh_die_kernel_fault
@@ -311,8 +337,10 @@
__traceiter_android_vh_is_fpsimd_save
__traceiter_android_vh_madvise_pageout_swap_entry
__traceiter_android_vh_madvise_swapin_walk_pmd_entry
+ __traceiter_android_vh_meminfo_cache_adjust
__traceiter_android_vh_mutex_wait_finish
__traceiter_android_vh_mutex_wait_start
+ __traceiter_android_vh_process_madvise_end
__traceiter_android_vh_ptype_head
__traceiter_android_vh_rtmutex_wait_finish
__traceiter_android_vh_rtmutex_wait_start
@@ -320,18 +348,18 @@
__traceiter_android_vh_rwsem_read_wait_start
__traceiter_android_vh_rwsem_write_wait_finish
__traceiter_android_vh_rwsem_write_wait_start
- __traceiter_android_vh_process_madvise_end
__traceiter_android_vh_sched_show_task
__traceiter_android_vh_show_smap
+ __traceiter_android_vh_si_mem_available_adjust
+ __traceiter_android_vh_si_meminfo_adjust
__traceiter_android_vh_smaps_pte_entry
__traceiter_android_vh_try_to_freeze_todo
__traceiter_android_vh_try_to_freeze_todo_unfrozen
__traceiter_android_vh_watchdog_timer_softlockup
- __traceiter_android_vh_meminfo_cache_adjust
- __traceiter_android_vh_si_mem_available_adjust
- __traceiter_android_vh_si_meminfo_adjust
+ __traceiter_android_vh_wq_lockup_pool
__traceiter_block_rq_insert
__traceiter_console
+ __traceiter_error_report_end
__traceiter_hrtimer_expire_entry
__traceiter_hrtimer_expire_exit
__traceiter_irq_handler_entry
@@ -352,8 +380,10 @@
__tracepoint_android_vh_is_fpsimd_save
__tracepoint_android_vh_madvise_pageout_swap_entry
__tracepoint_android_vh_madvise_swapin_walk_pmd_entry
+ __tracepoint_android_vh_meminfo_cache_adjust
__tracepoint_android_vh_mutex_wait_finish
__tracepoint_android_vh_mutex_wait_start
+ __tracepoint_android_vh_process_madvise_end
__tracepoint_android_vh_ptype_head
__tracepoint_android_vh_rtmutex_wait_finish
__tracepoint_android_vh_rtmutex_wait_start
@@ -361,17 +391,17 @@
__tracepoint_android_vh_rwsem_read_wait_start
__tracepoint_android_vh_rwsem_write_wait_finish
__tracepoint_android_vh_rwsem_write_wait_start
- __tracepoint_android_vh_process_madvise_end
__tracepoint_android_vh_sched_show_task
__tracepoint_android_vh_show_smap
+ __tracepoint_android_vh_si_mem_available_adjust
+ __tracepoint_android_vh_si_meminfo_adjust
__tracepoint_android_vh_smaps_pte_entry
__tracepoint_android_vh_try_to_freeze_todo
__tracepoint_android_vh_try_to_freeze_todo_unfrozen
__tracepoint_android_vh_watchdog_timer_softlockup
- __tracepoint_android_vh_meminfo_cache_adjust
- __tracepoint_android_vh_si_mem_available_adjust
- __tracepoint_android_vh_si_meminfo_adjust
+ __tracepoint_android_vh_wq_lockup_pool
__tracepoint_block_rq_insert
+ __tracepoint_error_report_end
__tracepoint_console
__tracepoint_hrtimer_expire_entry
__tracepoint_hrtimer_expire_exit
@@ -390,6 +420,7 @@
up_write
usb_alloc_dev
usb_gstrings_attach
+ usb_set_configuration
usbnet_get_endpoints
usbnet_link_change
usb_set_device_state
diff --git a/android/abi_gki_aarch64_imx b/android/abi_gki_aarch64_imx
index ac16191a3545..478cb5cab475 100644
--- a/android/abi_gki_aarch64_imx
+++ b/android/abi_gki_aarch64_imx
@@ -822,6 +822,7 @@
flush_delayed_work
flush_work
__flush_workqueue
+ __folio_put
fortify_panic
fput
free_candev
@@ -969,7 +970,9 @@
i2c_smbus_read_i2c_block_data
i2c_smbus_write_byte
i2c_smbus_write_byte_data
+ __i2c_smbus_xfer
i2c_smbus_xfer
+ __i2c_transfer
i2c_transfer
i2c_transfer_buffer_flags
i2c_unregister_device
@@ -1143,6 +1146,7 @@
kstrtoull
kthread_bind
kthread_create_on_node
+ kthread_freezable_should_stop
kthread_park
kthread_parkme
kthread_should_park
@@ -1324,6 +1328,9 @@
nsecs_to_jiffies
ns_to_timespec64
__num_online_cpus
+ nvmem_cell_get
+ nvmem_cell_put
+ nvmem_cell_read
nvmem_cell_read_u32
nvmem_cell_read_u64
nvmem_device_read
@@ -1377,6 +1384,7 @@
of_gen_pool_get
of_get_child_by_name
of_get_compatible_child
+ of_get_cpu_node
of_get_display_timing
of_get_i2c_adapter_by_node
of_get_mac_address
@@ -1442,6 +1450,8 @@
of_usb_update_otg_caps
oops_in_progress
open_candev
+ page_pinner_inited
+ __page_pinner_put_page
page_pool_alloc_pages
page_pool_create
page_pool_destroy
@@ -1586,6 +1596,7 @@
platform_irqchip_probe
platform_irq_count
platform_msi_create_irq_domain
+ pm_genpd_add_subdomain
pm_genpd_init
pm_genpd_remove
pm_genpd_remove_device
@@ -1597,6 +1608,7 @@
pm_runtime_forbid
pm_runtime_force_resume
pm_runtime_force_suspend
+ pm_runtime_get_if_active
__pm_runtime_idle
pm_runtime_no_callbacks
__pm_runtime_resume
@@ -1796,10 +1808,14 @@
rtc_time64_to_tm
rtc_tm_to_time64
rtc_update_irq
+ rt_mutex_lock
+ rt_mutex_trylock
+ rt_mutex_unlock
rtnl_is_locked
rtnl_lock
rtnl_unlock
sched_clock
+ sched_setattr_nocheck
sched_set_fifo_low
schedule
schedule_hrtimeout
@@ -2248,6 +2264,7 @@
__v4l2_device_register_subdev_nodes
v4l2_device_unregister
v4l2_device_unregister_subdev
+ v4l2_enum_dv_timings_cap
v4l2_event_dequeue
v4l2_event_pending
v4l2_event_queue
@@ -2298,6 +2315,7 @@
v4l2_m2m_unregister_media_controller
v4l2_m2m_update_start_streaming_state
v4l2_m2m_update_stop_streaming_state
+ v4l2_match_dv_timings
v4l2_s_parm_cap
v4l2_src_change_event_subscribe
v4l2_subdev_call_wrappers
@@ -2414,6 +2432,7 @@
xdp_do_redirect
xdp_master_redirect
xdp_return_frame
+ xdp_return_frame_rx_napi
xdp_rxq_info_is_reg
__xdp_rxq_info_reg
xdp_rxq_info_reg_mem_model
diff --git a/android/abi_gki_aarch64_meizu b/android/abi_gki_aarch64_meizu
new file mode 100644
index 000000000000..32c666766bd9
--- /dev/null
+++ b/android/abi_gki_aarch64_meizu
@@ -0,0 +1,14 @@
+[abi_symbol_list]
+ __traceiter_android_vh_tune_scan_type
+ __traceiter_android_vh_tune_swappiness
+ __tracepoint_android_vh_tune_swappiness
+ __tracepoint_android_vh_tune_scan_type
+ __traceiter_android_rvh_sk_alloc
+ __traceiter_android_rvh_sk_free
+ __tracepoint_android_rvh_sk_alloc
+ __tracepoint_android_rvh_sk_free
+ __traceiter_android_vh_alloc_pages_slowpath
+ __tracepoint_android_vh_tune_swappiness
+ __tracepoint_android_vh_tune_scan_type
+ __tracepoint_android_vh_alloc_pages_slowpath
+
diff --git a/android/abi_gki_aarch64_mtk b/android/abi_gki_aarch64_mtk
index f3af0c1114ba..2dcdd2f1f94c 100644
--- a/android/abi_gki_aarch64_mtk
+++ b/android/abi_gki_aarch64_mtk
@@ -98,10 +98,10 @@
blocking_notifier_call_chain
blocking_notifier_chain_register
blocking_notifier_chain_unregister
+ bpf_trace_run1
bpf_trace_run10
bpf_trace_run11
bpf_trace_run12
- bpf_trace_run1
bpf_trace_run2
bpf_trace_run3
bpf_trace_run4
@@ -395,6 +395,7 @@
device_del
device_destroy
device_find_child
+ device_find_child_by_name
device_for_each_child
device_get_child_node_count
device_get_match_data
@@ -415,6 +416,7 @@
device_release_driver
device_remove_bin_file
device_remove_file
+ device_remove_file_self
device_rename
__device_reset
device_set_of_node_from_dev
@@ -428,6 +430,22 @@
_dev_info
__dev_kfree_skb_any
__dev_kfree_skb_irq
+ devlink_alloc_ns
+ devlink_flash_update_status_notify
+ devlink_fmsg_binary_pair_nest_end
+ devlink_fmsg_binary_pair_nest_start
+ devlink_fmsg_binary_put
+ devlink_free
+ devlink_health_report
+ devlink_health_reporter_create
+ devlink_health_reporter_destroy
+ devlink_health_reporter_priv
+ devlink_health_reporter_state_update
+ devlink_priv
+ devlink_region_create
+ devlink_region_destroy
+ devlink_register
+ devlink_unregister
dev_load
devm_add_action
__devm_alloc_percpu
@@ -690,8 +708,11 @@
drm_atomic_helper_commit_modeset_disables
drm_atomic_helper_commit_modeset_enables
drm_atomic_helper_commit_planes
+ __drm_atomic_helper_connector_destroy_state
drm_atomic_helper_connector_destroy_state
+ __drm_atomic_helper_connector_duplicate_state
drm_atomic_helper_connector_duplicate_state
+ __drm_atomic_helper_connector_reset
drm_atomic_helper_connector_reset
__drm_atomic_helper_crtc_destroy_state
__drm_atomic_helper_crtc_duplicate_state
@@ -1089,6 +1110,7 @@
ida_destroy
ida_free
idr_alloc
+ idr_alloc_cyclic
idr_alloc_u32
idr_destroy
idr_find
@@ -1180,6 +1202,7 @@
iommu_report_device_fault
iommu_unmap
ioremap_prot
+ io_schedule_timeout
iounmap
iov_iter_init
iov_iter_kvec
@@ -1195,6 +1218,7 @@
ip_send_check
__ipv6_addr_type
ipv6_dev_find
+ ipv6_ext_hdr
ipv6_skip_exthdr
ipv6_stub
__irq_apply_affinity_hint
@@ -1235,9 +1259,9 @@
is_vmalloc_addr
iterate_dir
iterate_fd
+ jiffies
jiffies_64_to_clock_t
jiffies64_to_nsecs
- jiffies
jiffies_to_msecs
jiffies_to_usecs
kasan_flag_enabled
@@ -1332,10 +1356,14 @@
kthread_flush_work
kthread_flush_worker
__kthread_init_worker
+ kthread_park
+ kthread_parkme
kthread_queue_delayed_work
kthread_queue_work
+ kthread_should_park
kthread_should_stop
kthread_stop
+ kthread_unpark
kthread_worker_fn
ktime_get
ktime_get_coarse_with_offset
@@ -1430,8 +1458,8 @@
memremap
memscan
mem_section
- memset64
memset
+ memset64
__memset_io
memstart_addr
memunmap
@@ -1563,8 +1591,8 @@
nla_find
nla_memcpy
__nla_parse
- nla_put_64bit
nla_put
+ nla_put_64bit
nla_put_nohdr
nla_reserve
nla_strscpy
@@ -1687,6 +1715,9 @@
out_of_line_wait_on_bit_timeout
overflowuid
page_endio
+ page_frag_free
+ page_pinner_inited
+ __page_pinner_put_page
page_pool_alloc_pages
page_pool_create
page_pool_destroy
@@ -1708,6 +1739,7 @@
param_ops_uint
param_ops_ullong
param_ops_ulong
+ param_ops_ushort
param_set_bool
param_set_charp
param_set_uint
@@ -1715,18 +1747,25 @@
pci_alloc_irq_vectors_affinity
pci_ats_supported
pci_bus_type
+ pci_clear_master
pci_device_group
+ pci_device_is_present
pci_dev_put
pci_disable_ats
pci_disable_device
+ pcie_capability_clear_and_set_word
+ pcie_capability_read_word
pci_enable_ats
pci_find_ext_capability
+ pci_free_irq
pci_free_irq_vectors
pci_generic_config_read32
pci_generic_config_write32
pci_get_slot
pci_host_probe
pci_irq_vector
+ pci_load_and_free_saved_state
+ pci_load_saved_state
pci_lock_rescan_remove
pcim_enable_device
pcim_iomap_regions
@@ -1740,10 +1779,12 @@
pci_read_config_word
__pci_register_driver
pci_remove_root_bus
+ pci_request_irq
pci_restore_state
pci_save_state
pci_set_master
pci_stop_root_bus
+ pci_store_saved_state
pci_unlock_rescan_remove
pci_unregister_driver
pci_write_config_dword
@@ -1856,11 +1897,13 @@
pm_runtime_force_suspend
pm_runtime_get_if_active
__pm_runtime_idle
+ pm_runtime_irq_safe
__pm_runtime_resume
pm_runtime_set_autosuspend_delay
__pm_runtime_set_status
__pm_runtime_suspend
__pm_runtime_use_autosuspend
+ pm_schedule_suspend
__pm_stay_awake
pm_stay_awake
pm_suspend_default_s2idle
@@ -1925,9 +1968,11 @@
queue_delayed_work_on
queue_work_on
radix_tree_delete
+ radix_tree_gang_lookup
radix_tree_insert
radix_tree_lookup
radix_tree_maybe_preload
+ radix_tree_next_chunk
radix_tree_tagged
___ratelimit
raw_notifier_call_chain
@@ -2061,6 +2106,7 @@
remove_proc_subtree
remove_wait_queue
request_firmware
+ request_firmware_direct
request_firmware_nowait
__request_module
__request_percpu_irq
@@ -2114,6 +2160,8 @@
rtc_tm_to_time64
rtc_update_irq
rtc_valid_tm
+ rtnl_configure_link
+ rtnl_create_link
rtnl_is_locked
rtnl_link_register
rtnl_link_unregister
@@ -2123,6 +2171,7 @@
rtnl_unregister
rtnl_unregister_all
runqueues
+ sbitmap_weight
sched_clock
sched_clock_register
sched_feat_keys
@@ -2145,11 +2194,13 @@
scnprintf
scsi_autopm_get_device
scsi_autopm_put_device
+ scsi_block_requests
scsi_device_get
scsi_device_put
scsi_execute_cmd
__scsi_iterate_devices
scsi_print_sense_hdr
+ scsi_unblock_requests
sdio_claim_host
sdio_claim_irq
sdio_disable_func
@@ -2283,6 +2334,7 @@
skb_try_coalesce
skb_tstamp_tx
skb_unlink
+ sk_capable
sk_common_release
sk_error_report
sk_filter_trim_cap
@@ -2501,6 +2553,7 @@
tasklist_lock
__task_pid_nr_ns
__task_rq_lock
+ task_rq_lock
thermal_cooling_device_unregister
thermal_of_cooling_device_register
thermal_pressure
@@ -2512,6 +2565,7 @@
timecounter_init
timecounter_read
timer_of_init
+ timer_reduce
timer_unstable_counter_workaround
topology_clear_scale_freq_source
topology_update_thermal_pressure
@@ -2576,6 +2630,7 @@
__traceiter_android_rvh_tick_entry
__traceiter_android_rvh_try_to_wake_up
__traceiter_android_rvh_try_to_wake_up_success
+ __traceiter_android_rvh_uclamp_eff_get
__traceiter_android_rvh_update_cpu_capacity
__traceiter_android_rvh_wake_up_new_task
__traceiter_android_vh_alter_futex_plist_add
@@ -2590,12 +2645,17 @@
__traceiter_android_vh_check_bpf_syscall
__traceiter_android_vh_check_file_open
__traceiter_android_vh_check_mmap_file
+ __traceiter_android_vh_compaction_exit
+ __traceiter_android_vh_compaction_try_to_compact_pages_exit
__traceiter_android_vh_cpufreq_fast_switch
__traceiter_android_vh_cpu_idle_enter
__traceiter_android_vh_cpu_idle_exit
__traceiter_android_vh_iommu_iovad_alloc_iova
__traceiter_android_vh_iommu_iovad_free_iova
__traceiter_android_vh_is_fpsimd_save
+ __traceiter_android_vh_mm_alloc_pages_direct_reclaim_enter
+ __traceiter_android_vh_mm_alloc_pages_direct_reclaim_exit
+ __traceiter_android_vh_mm_alloc_pages_may_oom_exit
__traceiter_android_vh_rwsem_init
__traceiter_android_vh_rwsem_wake
__traceiter_android_vh_rwsem_write_finished
@@ -2606,6 +2666,7 @@
__traceiter_android_vh_show_suspend_epoch_val
__traceiter_android_vh_syscall_prctl_finished
__traceiter_android_vh_ufs_clock_scaling
+ __traceiter_android_vh_vmscan_kswapd_done
__traceiter_cpu_frequency
__traceiter_gpu_mem_total
__traceiter_ipi_entry
@@ -2670,6 +2731,7 @@
__tracepoint_android_rvh_tick_entry
__tracepoint_android_rvh_try_to_wake_up
__tracepoint_android_rvh_try_to_wake_up_success
+ __tracepoint_android_rvh_uclamp_eff_get
__tracepoint_android_rvh_update_cpu_capacity
__tracepoint_android_rvh_wake_up_new_task
__tracepoint_android_vh_alter_futex_plist_add
@@ -2684,12 +2746,17 @@
__tracepoint_android_vh_check_bpf_syscall
__tracepoint_android_vh_check_file_open
__tracepoint_android_vh_check_mmap_file
+ __tracepoint_android_vh_compaction_exit
+ __tracepoint_android_vh_compaction_try_to_compact_pages_exit
__tracepoint_android_vh_cpufreq_fast_switch
__tracepoint_android_vh_cpu_idle_enter
__tracepoint_android_vh_cpu_idle_exit
__tracepoint_android_vh_iommu_iovad_alloc_iova
__tracepoint_android_vh_iommu_iovad_free_iova
__tracepoint_android_vh_is_fpsimd_save
+ __tracepoint_android_vh_mm_alloc_pages_direct_reclaim_enter
+ __tracepoint_android_vh_mm_alloc_pages_direct_reclaim_exit
+ __tracepoint_android_vh_mm_alloc_pages_may_oom_exit
__tracepoint_android_vh_rwsem_init
__tracepoint_android_vh_rwsem_wake
__tracepoint_android_vh_rwsem_write_finished
@@ -2700,6 +2767,7 @@
__tracepoint_android_vh_show_suspend_epoch_val
__tracepoint_android_vh_syscall_prctl_finished
__tracepoint_android_vh_ufs_clock_scaling
+ __tracepoint_android_vh_vmscan_kswapd_done
__tracepoint_cpu_frequency
__tracepoint_gpu_mem_total
__tracepoint_ipi_entry
@@ -2717,6 +2785,7 @@
__tracepoint_task_newtask
trace_print_array_seq
trace_print_flags_seq
+ trace_print_hex_seq
trace_print_symbols_seq
__trace_puts
trace_raw_output_prep
@@ -2801,6 +2870,7 @@
udp_tunnel6_xmit_skb
udp_tunnel_sock_release
udp_tunnel_xmit_skb
+ ufshcd_config_pwr_mode
ufshcd_delay_us
ufshcd_dme_configure_adapt
ufshcd_dme_get_attr
@@ -2810,14 +2880,19 @@
ufshcd_get_pwr_dev_param
ufshcd_hba_enable
ufshcd_hba_stop
+ ufshcd_hold
ufshcd_init_pwr_dev_param
ufshcd_link_recovery
ufshcd_make_hba_operational
+ ufshcd_mcq_config_mac
+ ufshcd_mcq_make_queues_operational
+ ufshcd_mcq_read_cqis
ufshcd_pltfrm_init
ufshcd_query_attr
ufshcd_query_descriptor_retry
ufshcd_query_flag
ufshcd_read_desc_param
+ ufshcd_release
ufshcd_remove
ufshcd_resume_complete
ufshcd_runtime_resume
diff --git a/android/abi_gki_aarch64_oplus b/android/abi_gki_aarch64_oplus
index a5812def9b5b..8976672a1927 100644
--- a/android/abi_gki_aarch64_oplus
+++ b/android/abi_gki_aarch64_oplus
@@ -8,6 +8,7 @@
blk_rq_map_user
blk_rq_map_user_iov
blk_start_plug
+ cgroup_add_dfl_cftypes
cgroup_add_legacy_cftypes
console_printk
cpufreq_frequency_table_get_index
@@ -19,6 +20,9 @@
down_read_trylock
drm_crtc_vblank_waitqueue
filp_close
+ folio_add_lru
+ folio_mapping
+ folio_referenced
for_each_kernel_tracepoint
freq_qos_add_notifier
freq_qos_remove_notifier
@@ -31,22 +35,31 @@
iio_channel_get
iio_channel_release
iio_get_channel_type
+ ip_local_deliver
ip6_local_out
ip6_route_me_harder
ip_route_me_harder
ipv6_find_hdr
+ iov_iter_advance
is_ashmem_file
jiffies_64_to_clock_t
+ kick_process
ktime_get_coarse_real_ts64
+ mem_cgroup_update_lru_size
memory_cgrp_subsys
memory_cgrp_subsys_enabled_key
mem_cgroup_from_id
mipi_dsi_generic_write
mmc_wait_for_cmd
+ __mod_lruvec_state
+ __mod_zone_page_state
nf_ct_attach
nf_ct_delete
+ nf_register_net_hook
nf_register_net_hooks
+ nf_unregister_net_hook
nf_unregister_net_hooks
+ nr_running
of_css
__page_file_index
__page_mapcount
@@ -55,6 +68,7 @@
prepare_to_wait_exclusive
proc_symlink
public_key_verify_signature
+ put_pages_list
radix_tree_lookup_slot
radix_tree_replace_slot
_raw_write_trylock
@@ -62,8 +76,10 @@
register_tcf_proto_ops
regulator_map_voltage_linear_range
remove_proc_subtree
+ root_mem_cgroup
rtc_read_alarm
rtc_set_alarm
+ __rtnl_link_unregister
sdio_memcpy_fromio
sdio_memcpy_toio
sdio_set_block_size
@@ -85,9 +101,13 @@
tcf_exts_validate
tcf_queue_work
__traceiter_android_rvh_post_init_entity_util_avg
+ __traceiter_android_rvh_rtmutex_force_update
__traceiter_android_vh_account_process_tick_gran
__traceiter_android_vh_account_task_time
__traceiter_android_vh_do_futex
+ __traceiter_android_vh_exit_check
+ __traceiter_android_vh_exit_signal_whether_wake
+ __traceiter_android_vh_freeze_whether_wake
__traceiter_android_vh_futex_sleep_start
__traceiter_android_vh_futex_wait_end
__traceiter_android_vh_futex_wait_start
@@ -96,13 +116,9 @@
__traceiter_android_vh_futex_wake_up_q_finish
__traceiter_android_vh_record_mutex_lock_starttime
__traceiter_android_vh_record_pcpu_rwsem_starttime
+ __traceiter_android_vh_percpu_rwsem_wq_add
__traceiter_android_vh_record_rtmutex_lock_starttime
__traceiter_android_vh_record_rwsem_lock_starttime
- __tracepoint_android_vh_record_mutex_lock_starttime
- __tracepoint_android_vh_record_pcpu_rwsem_starttime
- __tracepoint_android_vh_record_rtmutex_lock_starttime
- __tracepoint_android_vh_record_rwsem_lock_starttime
- __trace_puts
__traceiter_android_vh_alter_mutex_list_add
__traceiter_android_vh_binder_free_proc
__traceiter_android_vh_binder_has_work_ilocked
@@ -120,8 +136,12 @@
__traceiter_android_vh_binder_thread_release
__traceiter_android_vh_binder_wait_for_work
__traceiter_android_vh_cgroup_set_task
+ __traceiter_android_vh_check_folio_look_around_ref
__traceiter_android_vh_dup_task_struct
__traceiter_android_vh_exit_signal
+ __traceiter_android_vh_killed_process
+ __traceiter_android_vh_look_around
+ __traceiter_android_vh_look_around_migrate_folio
__traceiter_android_vh_mem_cgroup_id_remove
__traceiter_android_vh_mem_cgroup_css_offline
__traceiter_android_vh_mem_cgroup_css_online
@@ -135,6 +155,7 @@
__traceiter_android_vh_cleanup_old_buffers_bypass
__traceiter_android_vh_dm_bufio_shrink_scan_bypass
__traceiter_android_vh_mutex_unlock_slowpath
+ __traceiter_android_vh_rtmutex_waiter_prio
__traceiter_android_vh_rwsem_can_spin_on_owner
__traceiter_android_vh_rwsem_opt_spin_finish
__traceiter_android_vh_rwsem_opt_spin_start
@@ -142,12 +163,17 @@
__traceiter_android_vh_sched_stat_runtime_rt
__traceiter_android_vh_shrink_node_memcgs
__traceiter_android_vh_sync_txn_recvd
+ __traceiter_android_vh_task_blocks_on_rtmutex
__traceiter_block_bio_queue
__traceiter_block_getrq
__traceiter_block_rq_complete
__traceiter_block_rq_issue
__traceiter_block_rq_merge
__traceiter_block_rq_requeue
+ __traceiter_net_dev_queue
+ __traceiter_net_dev_xmit
+ __traceiter_netif_receive_skb
+ __traceiter_netif_rx
__traceiter_sched_stat_blocked
__traceiter_sched_stat_iowait
__traceiter_sched_stat_runtime
@@ -155,7 +181,15 @@
__traceiter_sched_stat_wait
__traceiter_sched_waking
__traceiter_task_rename
+ __traceiter_android_vh_test_clear_look_around_ref
+ __traceiter_android_vh_tune_swappiness
+ __traceiter_android_vh_alloc_oem_binder_struct
+ __traceiter_android_vh_binder_transaction_received
+ __traceiter_android_vh_free_oem_binder_struct
+ __traceiter_android_vh_binder_special_task
+ __traceiter_android_vh_binder_free_buf
__tracepoint_android_rvh_post_init_entity_util_avg
+ __tracepoint_android_rvh_rtmutex_force_update
__tracepoint_android_vh_account_process_tick_gran
__tracepoint_android_vh_account_task_time
__tracepoint_android_vh_alter_mutex_list_add
@@ -175,14 +209,19 @@
__tracepoint_android_vh_binder_thread_release
__tracepoint_android_vh_binder_wait_for_work
__tracepoint_android_vh_cgroup_set_task
+ __tracepoint_android_vh_check_folio_look_around_ref
__tracepoint_android_vh_do_futex
__tracepoint_android_vh_dup_task_struct
+ __tracepoint_android_vh_exit_check
__tracepoint_android_vh_exit_signal
+ __tracepoint_android_vh_killed_process
+ __tracepoint_android_vh_exit_signal_whether_wake
__tracepoint_android_vh_mem_cgroup_id_remove
__tracepoint_android_vh_mem_cgroup_css_offline
__tracepoint_android_vh_mem_cgroup_css_online
__tracepoint_android_vh_mem_cgroup_free
__tracepoint_android_vh_mem_cgroup_alloc
+ __tracepoint_android_vh_freeze_whether_wake
__tracepoint_android_vh_futex_sleep_start
__tracepoint_android_vh_futex_wait_end
__tracepoint_android_vh_futex_wait_start
@@ -190,6 +229,8 @@
__tracepoint_android_vh_futex_wake_traverse_plist
__tracepoint_android_vh_futex_wake_up_q_finish
__tracepoint_android_vh_irqtime_account_process_tick
+ __tracepoint_android_vh_look_around
+ __tracepoint_android_vh_look_around_migrate_folio
__tracepoint_android_vh_mutex_can_spin_on_owner
__tracepoint_android_vh_mutex_opt_spin_finish
__tracepoint_android_vh_mutex_opt_spin_start
@@ -197,6 +238,12 @@
__tracepoint_android_vh_cleanup_old_buffers_bypass
__tracepoint_android_vh_dm_bufio_shrink_scan_bypass
__tracepoint_android_vh_mutex_unlock_slowpath
+ __tracepoint_android_vh_record_mutex_lock_starttime
+ __tracepoint_android_vh_record_pcpu_rwsem_starttime
+ __tracepoint_android_vh_percpu_rwsem_wq_add
+ __tracepoint_android_vh_record_rtmutex_lock_starttime
+ __tracepoint_android_vh_record_rwsem_lock_starttime
+ __tracepoint_android_vh_rtmutex_waiter_prio
__tracepoint_android_vh_rwsem_can_spin_on_owner
__tracepoint_android_vh_rwsem_opt_spin_finish
__tracepoint_android_vh_rwsem_opt_spin_start
@@ -204,12 +251,19 @@
__tracepoint_android_vh_sched_stat_runtime_rt
__tracepoint_android_vh_shrink_node_memcgs
__tracepoint_android_vh_sync_txn_recvd
+ __tracepoint_android_vh_task_blocks_on_rtmutex
+ __tracepoint_android_vh_test_clear_look_around_ref
+ __tracepoint_android_vh_tune_swappiness
__tracepoint_block_bio_queue
__tracepoint_block_getrq
__tracepoint_block_rq_complete
__tracepoint_block_rq_issue
__tracepoint_block_rq_merge
__tracepoint_block_rq_requeue
+ __tracepoint_net_dev_queue
+ __tracepoint_net_dev_xmit
+ __tracepoint_netif_receive_skb
+ __tracepoint_netif_rx
__tracepoint_sched_stat_blocked
__tracepoint_sched_stat_iowait
__tracepoint_sched_stat_runtime
@@ -217,6 +271,12 @@
__tracepoint_sched_stat_wait
__tracepoint_sched_waking
__tracepoint_task_rename
+ __tracepoint_android_vh_alloc_oem_binder_struct
+ __tracepoint_android_vh_binder_transaction_received
+ __tracepoint_android_vh_free_oem_binder_struct
+ __tracepoint_android_vh_binder_special_task
+ __tracepoint_android_vh_binder_free_buf
+ __trace_puts
try_to_free_mem_cgroup_pages
typec_mux_get_drvdata
unregister_memory_notifier
@@ -225,4 +285,6 @@
wait_for_completion_io_timeout
wait_for_completion_killable_timeout
wakeup_source_remove
+ wake_up_state
wq_worker_comm
+ zero_pfn
diff --git a/android/abi_gki_aarch64_pixel b/android/abi_gki_aarch64_pixel
index 06d7a6c7e801..d1af571b8452 100644
--- a/android/abi_gki_aarch64_pixel
+++ b/android/abi_gki_aarch64_pixel
@@ -1,4 +1,5 @@
[abi_symbol_list]
+ activate_task
add_cpu
add_timer
add_timer_on
@@ -11,6 +12,7 @@
alarm_try_to_cancel
alloc_chrdev_region
alloc_etherdev_mqs
+ alloc_iova_fast
alloc_netdev_mqs
__alloc_pages
alloc_pages_exact
@@ -29,6 +31,7 @@
__arch_clear_user
__arch_copy_from_user
__arch_copy_to_user
+ arch_freq_scale
arch_timer_read_counter
argv_free
argv_split
@@ -41,6 +44,7 @@
atomic_notifier_chain_register
atomic_notifier_chain_unregister
autoremove_wake_function
+ available_idle_cpu
backlight_device_set_brightness
badblocks_check
badblocks_clear
@@ -48,13 +52,19 @@
badblocks_init
badblocks_set
badblocks_show
+ balance_push_callback
bcmp
bdev_end_io_acct
bdev_nr_zones
bdev_start_io_acct
bin2hex
+ bio_add_page
+ bio_alloc_bioset
+ bio_chain
bio_endio
bio_end_io_acct_remapped
+ bio_init
+ bio_put
bio_start_io_acct
__bitmap_and
__bitmap_andnot
@@ -75,6 +85,9 @@
bitmap_zalloc
blk_abort_request
__blk_alloc_disk
+ blk_check_plugged
+ blkdev_get_by_dev
+ blkdev_put
blk_execute_rq_nowait
__blk_mq_alloc_disk
blk_mq_alloc_tag_set
@@ -113,6 +126,8 @@
blocking_notifier_chain_unregister
bpf_trace_run1
bpf_trace_run10
+ bpf_trace_run11
+ bpf_trace_run12
bpf_trace_run2
bpf_trace_run3
bpf_trace_run4
@@ -142,11 +157,13 @@
cdev_device_del
cdev_init
__check_object_size
+ check_preempt_curr
__class_create
class_destroy
class_interface_unregister
__class_register
class_unregister
+ cleancache_register_ops
clear_page
__ClearPageMovable
clk_disable
@@ -203,22 +220,36 @@
_copy_from_iter
__copy_overflow
_copy_to_iter
+ __cpu_active_mask
cpu_all_bits
cpu_bit_bitmap
+ cpufreq_add_update_util_hook
cpufreq_cpu_get
cpufreq_cpu_get_raw
cpufreq_cpu_put
+ cpufreq_disable_fast_switch
+ cpufreq_driver_fast_switch
+ cpufreq_driver_resolve_freq
+ __cpufreq_driver_target
cpufreq_driver_target
+ cpufreq_enable_fast_switch
cpufreq_freq_transition_begin
cpufreq_freq_transition_end
cpufreq_frequency_table_verify
cpufreq_generic_attr
cpufreq_get
cpufreq_get_policy
+ cpufreq_policy_transition_delay_us
cpufreq_quick_get
cpufreq_register_driver
+ cpufreq_register_governor
cpufreq_register_notifier
+ cpufreq_remove_update_util_hook
cpufreq_table_index_unsorted
+ cpufreq_this_cpu_can_update
+ cpufreq_update_util_data
+ cpu_hotplug_disable
+ cpu_hotplug_enable
__cpuhp_remove_state
__cpuhp_setup_state
__cpuhp_setup_state_cpuslocked
@@ -226,15 +257,19 @@
__cpuhp_state_remove_instance
cpuhp_tasks_frozen
cpu_hwcaps
+ cpuidle_driver_state_disabled
+ cpuidle_get_driver
cpu_latency_qos_add_request
cpu_latency_qos_remove_request
cpu_latency_qos_update_request
+ cpumask_local_spread
cpu_number
__cpu_online_mask
cpu_pm_register_notifier
cpu_pm_unregister_notifier
__cpu_possible_mask
__cpu_present_mask
+ cpupri_find_fitness
cpu_scale
cpus_read_lock
cpus_read_unlock
@@ -274,6 +309,7 @@
csum_partial
csum_tcpudp_nofold
_ctype
+ deactivate_task
debugfs_attr_read
debugfs_attr_write
debugfs_create_atomic_t
@@ -281,6 +317,7 @@
debugfs_create_devm_seqfile
debugfs_create_dir
debugfs_create_file
+ debugfs_create_file_unsafe
debugfs_create_size_t
debugfs_create_symlink
debugfs_create_u16
@@ -325,6 +362,7 @@
__dev_get_by_index
dev_get_by_index
dev_get_by_name
+ dev_get_stats
device_add
device_add_disk
device_add_groups
@@ -339,6 +377,7 @@
device_get_child_node_count
device_get_dma_attr
device_get_match_data
+ device_get_named_child_node
device_get_next_child_node
device_initialize
device_link_add
@@ -368,15 +407,19 @@
devm_clk_put
devm_device_add_group
devm_device_add_groups
+ devm_device_remove_group
__devm_drm_dev_alloc
devm_drm_panel_bridge_add_typed
devm_extcon_dev_allocate
devm_extcon_dev_register
devm_free_irq
+ devm_fwnode_gpiod_get_index
+ devm_fwnode_pwm_get
devm_gen_pool_create
devm_gpiochip_add_data_with_key
devm_gpiod_get
devm_gpiod_get_array
+ devm_gpiod_get_index_optional
devm_gpiod_get_optional
devm_gpiod_put_array
devm_gpio_request
@@ -389,12 +432,17 @@
devm_ioremap_resource
devm_ioremap_wc
devm_iounmap
+ __devm_irq_alloc_descs
devm_kasprintf
devm_kfree
devm_kmalloc
devm_kmemdup
+ devm_krealloc
devm_kstrdup
devm_kstrdup_const
+ devm_led_classdev_register_ext
+ devm_memremap
+ devm_memunmap
devm_mfd_add_devices
devm_nvmem_register
__devm_of_phy_provider_register
@@ -409,22 +457,26 @@
devm_platform_ioremap_resource
devm_platform_ioremap_resource_byname
devm_power_supply_register
+ devm_pwm_get
devm_regmap_add_irq_chip
__devm_regmap_init
__devm_regmap_init_i2c
__devm_regmap_init_spi
+ __devm_regmap_init_spmi_ext
devm_regulator_bulk_get
devm_regulator_get
devm_regulator_get_exclusive
devm_regulator_get_optional
devm_regulator_put
devm_regulator_register
+ devm_request_any_context_irq
__devm_request_region
devm_request_threaded_irq
devm_rtc_device_register
devm_snd_soc_register_component
devm_thermal_of_cooling_device_register
devm_thermal_of_zone_register
+ devm_thermal_of_zone_unregister
devm_usb_get_phy_by_phandle
_dev_notice
dev_pm_domain_attach_by_name
@@ -452,6 +504,7 @@
__devres_alloc_node
devres_free
dev_set_name
+ dev_vprintk_emit
_dev_warn
disable_irq
disable_irq_nosync
@@ -479,6 +532,7 @@
dmabuf_page_pool_free
dmabuf_page_pool_get_size
dma_buf_put
+ dma_buf_set_name
dma_buf_unmap_attachment
dma_buf_vmap
dma_buf_vunmap
@@ -535,19 +589,25 @@
drain_workqueue
driver_register
driver_unregister
+ drm_add_edid_modes
drm_add_modes_noedid
drm_atomic_add_affected_connectors
drm_atomic_add_affected_planes
+ drm_atomic_bridge_chain_disable
+ drm_atomic_bridge_chain_post_disable
drm_atomic_commit
drm_atomic_get_connector_state
drm_atomic_get_crtc_state
drm_atomic_get_new_connector_for_encoder
+ drm_atomic_get_new_private_obj_state
drm_atomic_get_old_connector_for_encoder
+ drm_atomic_get_old_private_obj_state
drm_atomic_get_plane_state
drm_atomic_get_private_obj_state
drm_atomic_helper_bridge_destroy_state
drm_atomic_helper_bridge_duplicate_state
drm_atomic_helper_bridge_reset
+ drm_atomic_helper_calc_timestamping_constants
drm_atomic_helper_check_modeset
drm_atomic_helper_check_planes
drm_atomic_helper_check_plane_state
@@ -560,7 +620,10 @@
drm_atomic_helper_commit_planes
drm_atomic_helper_commit_tail
__drm_atomic_helper_connector_destroy_state
+ drm_atomic_helper_connector_destroy_state
__drm_atomic_helper_connector_duplicate_state
+ drm_atomic_helper_connector_duplicate_state
+ drm_atomic_helper_connector_reset
__drm_atomic_helper_crtc_destroy_state
__drm_atomic_helper_crtc_duplicate_state
__drm_atomic_helper_crtc_reset
@@ -576,6 +639,7 @@
drm_atomic_helper_setup_commit
drm_atomic_helper_shutdown
drm_atomic_helper_swap_state
+ drm_atomic_helper_update_legacy_modeset_state
drm_atomic_helper_update_plane
drm_atomic_helper_wait_for_dependencies
drm_atomic_helper_wait_for_flip_done
@@ -603,12 +667,17 @@
drm_connector_list_iter_next
drm_connector_register
drm_connector_unregister
+ drm_connector_update_edid_property
+ drm_crtc_add_crc_entry
drm_crtc_arm_vblank_event
drm_crtc_cleanup
+ __drm_crtc_commit_free
+ drm_crtc_commit_wait
drm_crtc_enable_color_mgmt
drm_crtc_handle_vblank
drm_crtc_init_with_planes
drm_crtc_send_vblank_event
+ drm_crtc_vblank_count
drm_crtc_vblank_count_and_time
drm_crtc_vblank_get
drm_crtc_vblank_off
@@ -616,10 +685,20 @@
drm_crtc_vblank_put
drm_crtc_wait_one_vblank
___drm_dbg
+ __drm_debug
+ drm_detect_monitor_audio
+ __drm_dev_dbg
+ drm_dev_printk
drm_dev_put
drm_dev_register
drm_dev_unregister
+ drm_display_mode_from_cea_vic
drm_display_mode_to_videomode
+ drm_do_get_edid
+ drm_edid_duplicate
+ drm_edid_get_monitor_name
+ drm_edid_is_valid
+ drm_edid_to_sad
drm_encoder_cleanup
drm_encoder_init
__drm_err
@@ -641,6 +720,7 @@
drm_gem_private_object_init
drm_gem_vm_close
drm_gem_vm_open
+ drm_get_edid
drm_get_format_info
drm_helper_mode_fill_fb_struct
drm_helper_probe_single_connector_modes
@@ -648,10 +728,13 @@
drm_kms_helper_hotplug_event
drm_kms_helper_poll_fini
drm_kms_helper_poll_init
+ drm_match_cea_mode
drmm_kmalloc
drmm_mode_config_init
drm_mode_config_reset
drm_mode_convert_to_umode
+ drm_mode_copy
+ drm_mode_destroy
drm_mode_duplicate
drm_mode_equal
drm_mode_equal_no_clocks
@@ -665,9 +748,11 @@
drm_modeset_drop_locks
drm_modeset_lock
drm_modeset_lock_all_ctx
+ drm_modeset_lock_single_interruptible
drm_modeset_unlock
drm_mode_vrefresh
drm_object_attach_property
+ drm_object_property_set_value
drm_open
drm_panel_add
drm_panel_disable
@@ -717,10 +802,13 @@
dump_backtrace
dump_stack
dw_handle_msi_irq
+ dw_pcie_find_capability
dw_pcie_host_init
dw_pcie_read
+ dw_pcie_read_dbi
dw_pcie_setup_rc
dw_pcie_write
+ dw_pcie_write_dbi
__dynamic_dev_dbg
__dynamic_pr_debug
em_cpu_get
@@ -741,12 +829,16 @@
extcon_register_notifier
extcon_set_property
extcon_set_property_capability
+ extcon_set_property_sync
extcon_set_state_sync
extcon_unregister_notifier
fasync_helper
__fdget
fd_install
fget
+ file_path
+ filp_close
+ filp_open_block
find_extend_vma
_find_first_and_bit
_find_first_bit
@@ -757,12 +849,14 @@
_find_next_bit
_find_next_zero_bit
find_pid_ns
+ find_task_by_vpid
find_vma_intersection
finish_wait
flush_dcache_page
flush_delayed_work
flush_work
__flush_workqueue
+ __folio_lock
__folio_put
folio_wait_bit
fortify_panic
@@ -770,6 +864,7 @@
frame_vector_create
frame_vector_destroy
frame_vector_to_pages
+ free_iova_fast
free_irq
free_netdev
__free_pages
@@ -782,6 +877,9 @@
freq_qos_add_request
freq_qos_remove_request
freq_qos_update_request
+ fs_bio_set
+ fsnotify
+ __fsnotify_parent
full_name_hash
fwnode_get_name
fwnode_gpiod_get_index
@@ -800,11 +898,13 @@
gen_pool_add_owner
gen_pool_alloc_algo_owner
gen_pool_avail
+ gen_pool_best_fit
gen_pool_create
gen_pool_destroy
gen_pool_first_fit_align
gen_pool_free_owner
gen_pool_has_addr
+ gen_pool_set_algo
gen_pool_size
get_cpu_device
get_cpu_idle_time
@@ -812,6 +912,22 @@
get_cpu_iowait_time_us
get_device
__get_free_pages
+ get_governor_parent_kobj
+ gether_cleanup
+ gether_connect
+ gether_disconnect
+ gether_get_dev_addr
+ gether_get_host_addr
+ gether_get_host_addr_u8
+ gether_get_ifname
+ gether_get_qmult
+ gether_register_netdev
+ gether_set_dev_addr
+ gether_set_gadget
+ gether_set_host_addr
+ gether_set_ifname
+ gether_set_qmult
+ gether_setup_name_default
get_net_ns_by_fd
get_net_ns_by_pid
get_pid_task
@@ -821,6 +937,8 @@
__get_random_u32_below
get_random_u8
get_sg_io_hdr
+ __get_task_comm
+ get_task_cred
get_thermal_instance
get_unused_fd_flags
get_user_pages
@@ -828,6 +946,10 @@
get_vaddr_frames
gic_nonsecure_priorities
glob_match
+ gov_attr_set_get
+ gov_attr_set_init
+ gov_attr_set_put
+ governor_sysfs_ops
gpiochip_generic_config
gpiochip_generic_free
gpiochip_generic_request
@@ -860,6 +982,7 @@
handle_simple_irq
handle_sysrq
hashlen_string
+ have_governor_per_policy
hex2bin
hex_dump_to_buffer
hex_to_bin
@@ -877,6 +1000,7 @@
hwrng_register
hwrng_unregister
i2c_adapter_type
+ i2c_add_adapter
i2c_add_numbered_adapter
i2c_bus_type
i2c_del_adapter
@@ -921,6 +1045,7 @@
inc_zone_page_state
inet_csk_get_port
init_dummy_netdev
+ init_iova_domain
init_net
init_pid_ns
__init_rwsem
@@ -953,12 +1078,15 @@
interval_tree_iter_first
interval_tree_iter_next
interval_tree_remove
+ int_pow
int_sqrt
int_to_scsilun
iomem_resource
iommu_alloc_resv_region
+ iommu_attach_device
iommu_attach_device_pasid
iommu_attach_group
+ iommu_detach_device
iommu_detach_device_pasid
iommu_device_register
iommu_device_sysfs_add
@@ -990,6 +1118,7 @@
io_schedule
io_schedule_timeout
iounmap
+ iova_domain_init_rcaches
ip_compute_csum
ip_send_check
__irq_alloc_descs
@@ -1000,7 +1129,9 @@
irq_domain_get_irq_data
irq_domain_remove
irq_domain_set_info
+ irq_domain_simple_ops
irq_domain_xlate_twocell
+ irq_force_affinity
irq_get_irq_data
irq_modify_status
irq_of_parse_and_map
@@ -1012,6 +1143,8 @@
irq_set_irq_type
irq_set_irq_wake
irq_to_desc
+ irq_work_queue
+ irq_work_sync
is_vmalloc_addr
jiffies
jiffies64_to_msecs
@@ -1024,6 +1157,7 @@
kernel_param_lock
kernel_param_unlock
kernel_restart
+ kernfs_path_from_node
key_create_or_update
key_put
keyring_alloc
@@ -1049,6 +1183,7 @@
kmem_cache_destroy
kmem_cache_free
kmemdup
+ kmemdup_nul
kobject_add
kobject_create_and_add
kobject_del
@@ -1118,6 +1253,7 @@
kvmalloc_node
led_classdev_register_ext
led_classdev_unregister
+ led_init_default_state_get
__list_add_valid
__list_del_entry_valid
list_sort
@@ -1138,6 +1274,7 @@
mbox_request_channel
mbox_send_message
memchr
+ memchr_inv
memcmp
memcpy
__memcpy_fromio
@@ -1186,6 +1323,7 @@
__msecs_to_jiffies
msleep
msleep_interruptible
+ mtree_load
__mutex_init
mutex_is_locked
mutex_lock
@@ -1222,6 +1360,8 @@
netlink_unregister_notifier
net_ns_type_operations
net_ratelimit
+ nf_register_net_hooks
+ nf_unregister_net_hooks
nla_find
nla_memcpy
__nla_parse
@@ -1236,6 +1376,7 @@
noop_llseek
nr_cpu_ids
nr_irqs
+ ns_capable
nsec_to_clock_t
ns_to_timespec64
__num_online_cpus
@@ -1268,6 +1409,7 @@
of_find_node_by_phandle
of_find_node_by_type
of_find_node_opts_by_path
+ of_find_node_with_property
of_find_property
of_fwnode_ops
of_genpd_add_provider_simple
@@ -1479,25 +1621,33 @@
prepare_to_wait_event
print_hex_dump
_printk
+ _printk_deferred
proc_create
proc_create_data
proc_create_single_data
proc_dointvec
proc_dostring
+ proc_douintvec_minmax
proc_mkdir
proc_mkdir_data
proc_remove
+ proc_set_size
+ proc_symlink
pskb_expand_head
__pskb_pull_tail
___pskb_trim
+ push_cpu_stop
+ __put_cred
put_device
put_disk
+ put_iova_domain
__put_net
put_pid
put_sg_io_hdr
__put_task_struct
put_unused_fd
put_vaddr_frames
+ pwm_apply_state
queue_delayed_work_on
queue_work_on
radix_tree_delete_item
@@ -1519,6 +1669,8 @@
_raw_spin_lock_bh
_raw_spin_lock_irq
_raw_spin_lock_irqsave
+ raw_spin_rq_lock_nested
+ raw_spin_rq_unlock
_raw_spin_trylock
_raw_spin_unlock
_raw_spin_unlock_bh
@@ -1600,6 +1752,7 @@
regulator_map_voltage_linear
regulator_notifier_call_chain
regulator_put
+ regulator_set_active_discharge_regmap
regulator_set_voltage
regulator_set_voltage_sel_regmap
regulator_unregister
@@ -1615,7 +1768,10 @@
__request_percpu_irq
__request_region
request_threaded_irq
+ resched_curr
+ reserve_iova
return_address
+ reweight_task
rfkill_alloc
rfkill_blocked
rfkill_destroy
@@ -1632,6 +1788,7 @@
rht_bucket_nested_insert
__root_device_register
root_device_unregister
+ root_task_group
round_jiffies
round_jiffies_relative
round_jiffies_up
@@ -1649,12 +1806,18 @@
rt_mutex_unlock
rtnl_is_locked
rtnl_lock
+ rtnl_trylock
rtnl_unlock
+ runqueues
sched_clock
+ sched_feat_keys
sched_setattr_nocheck
+ sched_set_fifo
+ sched_set_normal
sched_setscheduler
sched_setscheduler_nocheck
sched_show_task
+ sched_uclamp_used
schedule
schedule_timeout
schedule_timeout_interruptible
@@ -1703,6 +1866,7 @@
set_page_dirty
set_page_dirty_lock
__SetPageMovable
+ set_task_cpu
set_user_nice
sg_alloc_table
sg_alloc_table_from_pages_segment
@@ -1770,6 +1934,7 @@
snd_jack_set_key
snd_pcm_format_physical_width
snd_pcm_format_width
+ snd_pcm_hw_constraint_integer
snd_pcm_hw_constraint_list
snd_pcm_lib_free_pages
snd_pcm_lib_ioctl
@@ -1826,6 +1991,7 @@
snd_soc_register_card
snd_soc_register_component
snd_soc_runtime_set_dai_fmt
+ snd_soc_set_runtime_hwparams
snd_soc_unregister_card
snd_soc_unregister_component
snprintf
@@ -1848,6 +2014,10 @@
spi_sync
spi_sync_locked
spi_unregister_controller
+ spmi_controller_add
+ spmi_controller_alloc
+ spmi_controller_remove
+ __spmi_driver_register
sprintf
sprint_symbol
srcu_init_notifier_head
@@ -1857,9 +2027,11 @@
sscanf
__stack_chk_fail
static_key_disable
+ static_key_enable
static_key_slow_dec
static_key_slow_inc
stop_machine
+ stop_one_cpu_nowait
strcasecmp
strcat
strchr
@@ -1873,6 +2045,7 @@
strlen
strncasecmp
strncat
+ strnchr
strncmp
strncpy
strncpy_from_user
@@ -1885,6 +2058,8 @@
strsep
strspn
strstr
+ submit_bio
+ submit_bio_wait
subsys_system_register
suspend_set_ops
__sw_hweight16
@@ -1898,6 +2073,8 @@
synchronize_net
synchronize_rcu
syscon_regmap_lookup_by_phandle
+ sysctl_sched_features
+ sysctl_sched_latency
sysfs_add_file_to_group
sysfs_add_link_to_group
sysfs_create_file_ns
@@ -1927,12 +2104,14 @@
system_wq
sys_tz
task_active_pid_ns
+ __tasklet_hi_schedule
tasklet_init
tasklet_kill
__tasklet_schedule
tasklet_setup
tasklet_unlock_wait
__task_pid_nr_ns
+ task_rq_lock
tcpci_get_tcpm_port
tcpci_irq
tcpci_register_port
@@ -1943,38 +2122,90 @@
tcpm_pd_transmit_complete
tcpm_port_clean
tcpm_port_is_toggling
+ tcpm_register_port
tcpm_sink_frs
tcpm_sourcing_vbus
+ tcpm_tcpc_reset
+ tcpm_unregister_port
tcpm_vbus_change
+ teo_cpu_get_util_threshold
+ teo_cpu_set_util_threshold
thermal_cdev_update
thermal_cooling_device_unregister
thermal_of_cooling_device_register
+ thermal_pressure
thermal_zone_device_disable
thermal_zone_device_enable
thermal_zone_device_register
thermal_zone_device_unregister
thermal_zone_device_update
+ thermal_zone_get_temp
+ thermal_zone_get_zone_by_name
thread_group_cputime_adjusted
time64_to_tm
topology_update_thermal_pressure
_totalram_pages
touch_softlockup_watchdog
+ __trace_bprintk
+ __trace_bputs
trace_event_buffer_commit
trace_event_buffer_reserve
trace_event_printf
trace_event_raw_init
trace_event_reg
trace_handle_return
+ __traceiter_android_rvh_attach_entity_load_avg
+ __traceiter_android_rvh_audio_usb_offload_disconnect
+ __traceiter_android_rvh_can_migrate_task
+ __traceiter_android_rvh_cgroup_force_kthread_migration
+ __traceiter_android_rvh_check_preempt_wakeup
+ __traceiter_android_rvh_cpu_overutilized
+ __traceiter_android_rvh_dequeue_task
+ __traceiter_android_rvh_dequeue_task_fair
+ __traceiter_android_rvh_detach_entity_load_avg
+ __traceiter_android_rvh_enqueue_task
+ __traceiter_android_rvh_enqueue_task_fair
+ __traceiter_android_rvh_find_lowest_rq
+ __traceiter_android_rvh_irqs_disable
+ __traceiter_android_rvh_irqs_enable
+ __traceiter_android_rvh_post_init_entity_util_avg
+ __traceiter_android_rvh_preempt_disable
+ __traceiter_android_rvh_preempt_enable
+ __traceiter_android_rvh_prepare_prio_fork
+ __traceiter_android_rvh_remove_entity_load_avg
+ __traceiter_android_rvh_rtmutex_prepare_setprio
+ __traceiter_android_rvh_sched_newidle_balance
+ __traceiter_android_rvh_select_task_rq_fair
+ __traceiter_android_rvh_select_task_rq_rt
+ __traceiter_android_rvh_set_cpus_allowed_by_task
+ __traceiter_android_rvh_set_iowait
+ __traceiter_android_rvh_setscheduler
+ __traceiter_android_rvh_set_task_cpu
+ __traceiter_android_rvh_set_user_nice
__traceiter_android_rvh_typec_tcpci_get_vbus
+ __traceiter_android_rvh_uclamp_eff_get
+ __traceiter_android_rvh_update_blocked_fair
+ __traceiter_android_rvh_update_load_avg
+ __traceiter_android_rvh_update_rt_rq_load_avg
+ __traceiter_android_vh_arch_set_freq_scale
+ __traceiter_android_vh_audio_usb_offload_connect
+ __traceiter_android_vh_binder_restore_priority
+ __traceiter_android_vh_binder_set_priority
__traceiter_android_vh_cpu_idle_enter
__traceiter_android_vh_cpu_idle_exit
+ __traceiter_android_vh_dump_throttled_rt_tasks
+ __traceiter_android_vh_dup_task_struct
+ __traceiter_android_vh_enable_thermal_genl_check
__traceiter_android_vh_ipi_stop
__traceiter_android_vh_scheduler_tick
+ __traceiter_android_vh_setscheduler_uclamp
__traceiter_android_vh_sysrq_crash
__traceiter_android_vh_typec_store_partner_src_caps
__traceiter_android_vh_typec_tcpci_override_toggling
__traceiter_android_vh_typec_tcpm_get_timer
__traceiter_android_vh_typec_tcpm_log
+ __traceiter_android_vh_typec_tcpm_modify_src_caps
+ __traceiter_android_vh_uclamp_validate
__traceiter_android_vh_ufs_check_int_errors
__traceiter_android_vh_ufs_compl_command
__traceiter_android_vh_ufs_fill_prdt
@@ -1984,25 +2215,85 @@
__traceiter_android_vh_ufs_send_uic_command
__traceiter_android_vh_ufs_update_sdev
__traceiter_android_vh_ufs_update_sysfs
+ __traceiter_android_vh_use_amu_fie
__traceiter_clock_set_rate
+ __traceiter_cpu_frequency
__traceiter_device_pm_callback_end
__traceiter_device_pm_callback_start
__traceiter_gpu_mem_total
+ __traceiter_hrtimer_expire_entry
+ __traceiter_hrtimer_expire_exit
+ __traceiter_irq_handler_entry
+ __traceiter_irq_handler_exit
__traceiter_mmap_lock_acquire_returned
__traceiter_mmap_lock_released
__traceiter_mmap_lock_start_locking
+ __traceiter_pelt_cfs_tp
+ __traceiter_pelt_dl_tp
+ __traceiter_pelt_irq_tp
+ __traceiter_pelt_rt_tp
+ __traceiter_pelt_se_tp
+ __traceiter_sched_cpu_capacity_tp
+ __traceiter_sched_overutilized_tp
+ __traceiter_sched_switch
+ __traceiter_sched_util_est_cfs_tp
+ __traceiter_sched_util_est_se_tp
__traceiter_suspend_resume
+ __traceiter_workqueue_execute_end
+ __traceiter_workqueue_execute_start
trace_output_call
+ __tracepoint_android_rvh_attach_entity_load_avg
+ __tracepoint_android_rvh_audio_usb_offload_disconnect
+ __tracepoint_android_rvh_can_migrate_task
+ __tracepoint_android_rvh_cgroup_force_kthread_migration
+ __tracepoint_android_rvh_check_preempt_wakeup
+ __tracepoint_android_rvh_cpu_overutilized
+ __tracepoint_android_rvh_dequeue_task
+ __tracepoint_android_rvh_dequeue_task_fair
+ __tracepoint_android_rvh_detach_entity_load_avg
+ __tracepoint_android_rvh_enqueue_task
+ __tracepoint_android_rvh_enqueue_task_fair
+ __tracepoint_android_rvh_find_lowest_rq
+ __tracepoint_android_rvh_irqs_disable
+ __tracepoint_android_rvh_irqs_enable
+ __tracepoint_android_rvh_post_init_entity_util_avg
+ __tracepoint_android_rvh_preempt_disable
+ __tracepoint_android_rvh_preempt_enable
+ __tracepoint_android_rvh_prepare_prio_fork
+ __tracepoint_android_rvh_remove_entity_load_avg
+ __tracepoint_android_rvh_rtmutex_prepare_setprio
+ __tracepoint_android_rvh_sched_newidle_balance
+ __tracepoint_android_rvh_select_task_rq_fair
+ __tracepoint_android_rvh_select_task_rq_rt
+ __tracepoint_android_rvh_set_cpus_allowed_by_task
+ __tracepoint_android_rvh_set_iowait
+ __tracepoint_android_rvh_setscheduler
+ __tracepoint_android_rvh_set_task_cpu
+ __tracepoint_android_rvh_set_user_nice
__tracepoint_android_rvh_typec_tcpci_get_vbus
+ __tracepoint_android_rvh_uclamp_eff_get
+ __tracepoint_android_rvh_update_blocked_fair
+ __tracepoint_android_rvh_update_load_avg
+ __tracepoint_android_rvh_update_rt_rq_load_avg
+ __tracepoint_android_vh_arch_set_freq_scale
+ __tracepoint_android_vh_audio_usb_offload_connect
+ __tracepoint_android_vh_binder_restore_priority
+ __tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_cpu_idle_enter
__tracepoint_android_vh_cpu_idle_exit
+ __tracepoint_android_vh_dump_throttled_rt_tasks
+ __tracepoint_android_vh_dup_task_struct
+ __tracepoint_android_vh_enable_thermal_genl_check
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_scheduler_tick
+ __tracepoint_android_vh_setscheduler_uclamp
__tracepoint_android_vh_sysrq_crash
__tracepoint_android_vh_typec_store_partner_src_caps
__tracepoint_android_vh_typec_tcpci_override_toggling
__tracepoint_android_vh_typec_tcpm_get_timer
__tracepoint_android_vh_typec_tcpm_log
+ __tracepoint_android_vh_typec_tcpm_modify_src_caps
+ __tracepoint_android_vh_uclamp_validate
__tracepoint_android_vh_ufs_check_int_errors
__tracepoint_android_vh_ufs_compl_command
__tracepoint_android_vh_ufs_fill_prdt
@@ -2012,16 +2303,34 @@
__tracepoint_android_vh_ufs_send_uic_command
__tracepoint_android_vh_ufs_update_sdev
__tracepoint_android_vh_ufs_update_sysfs
+ __tracepoint_android_vh_use_amu_fie
__tracepoint_clock_set_rate
+ __tracepoint_cpu_frequency
__tracepoint_device_pm_callback_end
__tracepoint_device_pm_callback_start
__tracepoint_gpu_mem_total
+ __tracepoint_hrtimer_expire_entry
+ __tracepoint_hrtimer_expire_exit
+ __tracepoint_irq_handler_entry
+ __tracepoint_irq_handler_exit
__tracepoint_mmap_lock_acquire_returned
__tracepoint_mmap_lock_released
__tracepoint_mmap_lock_start_locking
+ __tracepoint_pelt_cfs_tp
+ __tracepoint_pelt_dl_tp
+ __tracepoint_pelt_irq_tp
+ __tracepoint_pelt_rt_tp
+ __tracepoint_pelt_se_tp
tracepoint_probe_register
tracepoint_probe_unregister
+ __tracepoint_sched_cpu_capacity_tp
+ __tracepoint_sched_overutilized_tp
+ __tracepoint_sched_switch
+ __tracepoint_sched_util_est_cfs_tp
+ __tracepoint_sched_util_est_se_tp
__tracepoint_suspend_resume
+ __tracepoint_workqueue_execute_end
+ __tracepoint_workqueue_execute_start
trace_print_array_seq
trace_print_bitmask_seq
trace_print_flags_seq
@@ -2056,8 +2365,10 @@
uart_unregister_driver
uart_update_timeout
uart_write_wakeup
+ uclamp_eff_value
__udelay
udp4_hwcsum
+ ufshcd_auto_hibern8_update
ufshcd_bkops_ctrl
ufshcd_hold
ufshcd_pltfrm_init
@@ -2093,29 +2404,42 @@
unregister_virtio_driver
up
update_devfreq
+ ___update_load_avg
+ ___update_load_sum
+ update_rq_clock
up_read
up_write
usb_add_function
usb_add_hcd
+ usb_assign_descriptors
usb_copy_descriptors
__usb_create_hcd
usb_disabled
usb_enable_autosuspend
+ usb_ep_alloc_request
usb_ep_autoconfig
+ usb_ep_disable
+ usb_ep_enable
+ usb_ep_free_request
+ usb_ep_queue
+ usb_free_all_descriptors
usb_function_register
usb_function_unregister
usb_gadget_activate
usb_gadget_deactivate
usb_gadget_set_state
+ usb_gstrings_attach
usb_hcd_is_primary_hcd
usb_hcd_platform_shutdown
usb_hub_find_child
usb_interface_id
+ usb_os_desc_prepare_interf_dir
usb_otg_state_string
usb_put_function_instance
usb_put_hcd
usb_register_notify
usb_remove_hcd
+ usb_role_string
usb_role_switch_get_drvdata
usb_role_switch_register
usb_role_switch_unregister
@@ -2210,6 +2534,7 @@
vmalloc_user
vmap
vmf_insert_pfn_prot
+ vm_iomap_memory
vprintk
vprintk_emit
vring_del_virtqueue
@@ -2244,17 +2569,35 @@
__xa_alloc
xa_clear_mark
xa_destroy
+ __xa_erase
xa_erase
xa_find
xa_find_after
xa_get_mark
xa_load
xa_set_mark
+ xas_find
+ xas_pause
+ __xa_store
__xfrm_state_destroy
xfrm_state_lookup_byspi
xfrm_stateonly_find
+ xhci_address_device
+ xhci_bus_resume
+ xhci_bus_suspend
xhci_gen_setup
+ xhci_get_endpoint_index
xhci_init_driver
xhci_resume
xhci_run
xhci_suspend
+ zs_compact
+ zs_create_pool
+ zs_destroy_pool
+ zs_free
+ zs_get_total_pages
+ zs_huge_class_size
+ zs_malloc
+ zs_map_object
+ zs_pool_stats
+ zs_unmap_object
diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom
index 6a43499fb225..73632e9e1b31 100644
--- a/android/abi_gki_aarch64_qcom
+++ b/android/abi_gki_aarch64_qcom
@@ -73,6 +73,7 @@
bin2hex
bio_endio
bio_end_io_acct_remapped
+ bio_split
bio_start_io_acct
bitmap_allocate_region
__bitmap_and
@@ -94,6 +95,8 @@
bit_wait_timeout
__blk_alloc_disk
blkdev_get_by_dev
+ blk_crypto_keyslot_index
+ blk_crypto_register
blk_execute_rq
blk_execute_rq_nowait
__blk_mq_alloc_disk
@@ -340,7 +343,9 @@
contig_page_data
_copy_from_iter
copy_from_kernel_nofault
+ copy_page
__copy_overflow
+ copy_page
_copy_to_iter
__cpu_active_mask
cpu_bit_bitmap
@@ -429,6 +434,7 @@
crypto_get_default_rng
crypto_has_ahash
crypto_has_alg
+ crypto_inc
crypto_init_queue
__crypto_memneq
crypto_put_default_rng
@@ -665,6 +671,7 @@
devm_rtc_allocate_device
__devm_rtc_register_device
devm_snd_soc_register_card
+ devm_snd_soc_register_component
devm_thermal_of_cooling_device_register
devm_thermal_of_zone_register
devm_usb_get_phy_by_node
@@ -733,6 +740,22 @@
divider_recalc_rate
divider_ro_round_rate_parent
divider_round_rate_parent
+ dm_bufio_client_create
+ dm_bufio_client_destroy
+ dm_bufio_mark_buffer_dirty
+ dm_bufio_new
+ dm_bufio_read
+ dm_bufio_release
+ dm_bufio_write_dirty_buffers
+ dm_disk
+ dm_get_device
+ dm_kobject_release
+ dm_read_arg_group
+ dm_register_target
+ dm_shift_arg
+ dm_table_get_md
+ dm_table_get_mode
+ dm_unregister_target
dma_alloc_attrs
dma_alloc_noncontiguous
dma_alloc_pages
@@ -852,8 +875,11 @@
drm_atomic_helper_commit_modeset_enables
drm_atomic_helper_commit_planes
__drm_atomic_helper_connector_destroy_state
+ drm_atomic_helper_connector_destroy_state
__drm_atomic_helper_connector_duplicate_state
+ drm_atomic_helper_connector_duplicate_state
__drm_atomic_helper_connector_reset
+ drm_atomic_helper_connector_reset
__drm_atomic_helper_crtc_destroy_state
__drm_atomic_helper_crtc_duplicate_state
drm_atomic_helper_dirtyfb
@@ -927,6 +953,7 @@
drm_dev_register
drm_dev_unregister
drm_display_mode_from_cea_vic
+ drm_do_get_edid
drm_edid_duplicate
drm_edid_get_monitor_name
drm_edid_is_valid
@@ -951,6 +978,7 @@
drm_gem_object_init
drm_gem_object_lookup
drm_gem_object_release
+ drm_gem_prime_export
drm_gem_prime_fd_to_handle
drm_gem_prime_handle_to_fd
drm_gem_private_object_init
@@ -1018,6 +1046,7 @@
drm_panel_remove
drm_plane_cleanup
drm_plane_create_rotation_property
+ drm_plane_from_index
drm_poll
drm_prime_gem_destroy
drm_prime_pages_to_sg
@@ -1147,6 +1176,7 @@
fwnode_get_name
fwnode_get_named_child_node
fwnode_get_next_child_node
+ fwnode_get_phy_node
fwnode_handle_get
fwnode_handle_put
fwnode_property_present
@@ -1229,15 +1259,16 @@
get_user_ifreq
get_user_pages
get_zeroed_page
+ gf128mul_lle
gh_rm_call
gh_rm_notifier_register
gh_rm_notifier_unregister
gh_rm_register_platform_ops
gh_rm_unregister_platform_ops
+ gic_nonsecure_priorities
gic_v3_cpu_init
gic_v3_dist_init
gic_v3_dist_wait_for_rwp
- gic_nonsecure_priorities
gov_attr_set_init
gov_attr_set_put
governor_sysfs_ops
@@ -1325,6 +1356,7 @@
hci_uart_unregister_device
hci_unregister_cb
hci_unregister_dev
+ hdmi_audio_infoframe_init
hex2bin
hex_asc_upper
hex_dump_to_buffer
@@ -1538,9 +1570,11 @@
iommu_group_get_iommudata
iommu_group_put
iommu_group_ref_get
+ iommu_group_remove_device
iommu_group_set_iommudata
iommu_iova_to_phys
iommu_map
+ iommu_map_atomic
iommu_map_sg
iommu_present
iommu_put_resv_regions
@@ -1892,9 +1926,13 @@
migrate_pages
migrate_swap
__migrate_task
+ mipi_dsi_attach
mipi_dsi_create_packet
mipi_dsi_dcs_set_display_brightness
mipi_dsi_dcs_set_tear_off
+ mipi_dsi_detach
+ mipi_dsi_device_register_full
+ mipi_dsi_device_unregister
mipi_dsi_host_register
mipi_dsi_host_unregister
misc_deregister
@@ -2194,6 +2232,7 @@
page_ext_put
page_is_ram
page_mapping
+ page_owner_inited
page_pinner_inited
__page_pinner_put_page
page_pool_alloc_pages
@@ -2311,6 +2350,7 @@
phylink_ethtool_set_eee
phylink_ethtool_set_pauseparam
phylink_ethtool_set_wol
+ phylink_expects_phy
phylink_fwnode_phy_connect
phylink_generic_validate
phylink_get_eee_err
@@ -2868,6 +2908,7 @@
set_normalized_timespec64
set_page_dirty_lock
__SetPageMovable
+ __set_page_owner
set_task_cpu
setup_udp_tunnel_sock
set_user_nice
@@ -2971,6 +3012,8 @@
smp_call_function_single
smp_call_function_single_async
snapshot_get_image_size
+ snd_ctl_add
+ snd_ctl_new1
snd_ctl_remove
snd_hwdep_new
snd_info_create_card_entry
@@ -2979,7 +3022,12 @@
snd_info_register
snd_interval_refine
snd_jack_set_key
+ snd_pcm_add_chmap_ctls
+ snd_pcm_create_iec958_consumer_default
+ snd_pcm_fill_iec958_consumer
+ snd_pcm_fill_iec958_consumer_hw_params
snd_pcm_format_width
+ snd_pcm_hw_constraint_eld
_snd_pcm_hw_params_any
snd_pcm_set_managed_buffer
snd_pcm_std_chmaps
@@ -3257,8 +3305,10 @@
__traceiter_android_rvh_after_dequeue_task
__traceiter_android_rvh_after_enqueue_task
__traceiter_android_rvh_audio_usb_offload_disconnect
+ __traceiter_android_rvh_before_do_sched_yield
__traceiter_android_rvh_build_perf_domains
__traceiter_android_rvh_can_migrate_task
+ __traceiter_android_rvh_cgroup_force_kthread_migration
__traceiter_android_rvh_check_preempt_tick
__traceiter_android_rvh_check_preempt_wakeup
__traceiter_android_rvh_check_preempt_wakeup_ignore
@@ -3335,12 +3385,12 @@
__traceiter_android_vh_binder_set_priority
__traceiter_android_vh_binder_wakeup_ilocked
__traceiter_android_vh_build_sched_domains
+ __traceiter_android_vh_check_hibernation_swap
__traceiter_android_vh_check_uninterrupt_tasks
__traceiter_android_vh_check_uninterrupt_tasks_done
__traceiter_android_vh_cpufreq_fast_switch
__traceiter_android_vh_cpufreq_resolve_freq
__traceiter_android_vh_cpufreq_target
- __traceiter_android_vh_check_hibernation_swap
__traceiter_android_vh_cpu_idle_enter
__traceiter_android_vh_cpu_idle_exit
__traceiter_android_vh_cpuidle_psci_enter
@@ -3348,26 +3398,27 @@
__traceiter_android_vh_disable_thermal_cooling_stats
__traceiter_android_vh_do_wake_up_sync
__traceiter_android_vh_dump_throttled_rt_tasks
- __traceiter_android_vh_free_task
__traceiter_android_vh_encrypt_page
+ __traceiter_android_vh_free_task
__traceiter_android_vh_ftrace_dump_buffer
__traceiter_android_vh_ftrace_format_check
__traceiter_android_vh_ftrace_oops_enter
__traceiter_android_vh_ftrace_oops_exit
__traceiter_android_vh_ftrace_size_check
- __traceiter_android_vh_ignore_dmabuf_vmap_bounds
__traceiter_android_vh_gic_v3_suspend
+ __traceiter_android_vh_ignore_dmabuf_vmap_bounds
+ __traceiter_android_vh_init_aes_encrypt
__traceiter_android_vh_ipi_stop
__traceiter_android_vh_jiffies_update
__traceiter_android_vh_kswapd_per_node
__traceiter_android_vh_mpam_set
- __traceiter_android_vh_init_aes_encrypt
__traceiter_android_vh_post_image_save
__traceiter_android_vh_printk_hotplug
__traceiter_android_vh_rproc_recovery
__traceiter_android_vh_rproc_recovery_set
__traceiter_android_vh_save_cpu_resume
__traceiter_android_vh_save_hib_resume_bdev
+ __traceiter_android_vh_scan_abort_check_wmarks
__traceiter_android_vh_scheduler_tick
__traceiter_android_vh_setscheduler_uclamp
__traceiter_android_vh_show_resume_epoch_val
@@ -3400,8 +3451,10 @@
__tracepoint_android_rvh_after_dequeue_task
__tracepoint_android_rvh_after_enqueue_task
__tracepoint_android_rvh_audio_usb_offload_disconnect
+ __tracepoint_android_rvh_before_do_sched_yield
__tracepoint_android_rvh_build_perf_domains
__tracepoint_android_rvh_can_migrate_task
+ __tracepoint_android_rvh_cgroup_force_kthread_migration
__tracepoint_android_rvh_check_preempt_tick
__tracepoint_android_rvh_check_preempt_wakeup
__tracepoint_android_rvh_check_preempt_wakeup_ignore
@@ -3478,12 +3531,12 @@
__tracepoint_android_vh_binder_set_priority
__tracepoint_android_vh_binder_wakeup_ilocked
__tracepoint_android_vh_build_sched_domains
+ __tracepoint_android_vh_check_hibernation_swap
__tracepoint_android_vh_check_uninterrupt_tasks
__tracepoint_android_vh_check_uninterrupt_tasks_done
__tracepoint_android_vh_cpufreq_fast_switch
__tracepoint_android_vh_cpufreq_resolve_freq
__tracepoint_android_vh_cpufreq_target
- __tracepoint_android_vh_check_hibernation_swap
__tracepoint_android_vh_cpu_idle_enter
__tracepoint_android_vh_cpu_idle_exit
__tracepoint_android_vh_cpuidle_psci_enter
@@ -3491,26 +3544,27 @@
__tracepoint_android_vh_disable_thermal_cooling_stats
__tracepoint_android_vh_do_wake_up_sync
__tracepoint_android_vh_dump_throttled_rt_tasks
- __tracepoint_android_vh_free_task
__tracepoint_android_vh_encrypt_page
+ __tracepoint_android_vh_free_task
__tracepoint_android_vh_ftrace_dump_buffer
__tracepoint_android_vh_ftrace_format_check
__tracepoint_android_vh_ftrace_oops_enter
__tracepoint_android_vh_ftrace_oops_exit
__tracepoint_android_vh_ftrace_size_check
- __tracepoint_android_vh_ignore_dmabuf_vmap_bounds
__tracepoint_android_vh_gic_v3_suspend
+ __tracepoint_android_vh_ignore_dmabuf_vmap_bounds
+ __tracepoint_android_vh_init_aes_encrypt
__tracepoint_android_vh_ipi_stop
__tracepoint_android_vh_jiffies_update
__tracepoint_android_vh_kswapd_per_node
__tracepoint_android_vh_mpam_set
- __tracepoint_android_vh_init_aes_encrypt
__tracepoint_android_vh_post_image_save
__tracepoint_android_vh_printk_hotplug
__tracepoint_android_vh_rproc_recovery
__tracepoint_android_vh_rproc_recovery_set
__tracepoint_android_vh_save_cpu_resume
__tracepoint_android_vh_save_hib_resume_bdev
+ __tracepoint_android_vh_scan_abort_check_wmarks
__tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_setscheduler_uclamp
__tracepoint_android_vh_show_resume_epoch_val
@@ -3637,6 +3691,7 @@
ufshcd_hold
ufshcd_mcq_config_esi
ufshcd_mcq_enable_esi
+ ufshcd_mcq_poll_cqe_lock
ufshcd_mcq_poll_cqe_nolock
ufshcd_mcq_write_cqis
ufshcd_pltfrm_init
@@ -3871,6 +3926,7 @@
vhost_dev_init
vhost_dev_ioctl
vhost_dev_stop
+ vhost_dev_flush
vhost_disable_notify
vhost_enable_notify
vhost_get_vq_desc
diff --git a/android/abi_gki_aarch64_rockchip b/android/abi_gki_aarch64_rockchip
new file mode 100644
index 000000000000..8fdda5ad35fb
--- /dev/null
+++ b/android/abi_gki_aarch64_rockchip
@@ -0,0 +1,2805 @@
+[abi_symbol_list]
+# commonly used symbols
+ add_timer
+ alloc_chrdev_region
+ alloc_iova_fast
+ __alloc_pages
+ __alloc_skb
+ alloc_workqueue
+ alt_cb_patch_nops
+ anon_inode_getfd
+ __arch_copy_from_user
+ __arch_copy_to_user
+ arm64_use_ng_mappings
+ __arm_smccc_smc
+ atomic_notifier_call_chain
+ atomic_notifier_chain_register
+ atomic_notifier_chain_unregister
+ _bcd2bin
+ bcmp
+ _bin2bcd
+ __bitmap_andnot
+ __bitmap_equal
+ bitmap_free
+ __bitmap_or
+ __bitmap_set
+ __bitmap_xor
+ bitmap_zalloc
+ blocking_notifier_call_chain
+ blocking_notifier_chain_register
+ blocking_notifier_chain_unregister
+ bpf_trace_run1
+ bpf_trace_run2
+ bpf_trace_run3
+ bpf_trace_run4
+ bpf_trace_run5
+ bpf_trace_run6
+ bpf_trace_run7
+ cancel_delayed_work
+ cancel_delayed_work_sync
+ cancel_work_sync
+ capable
+ cdev_add
+ cdev_del
+ cdev_device_add
+ cdev_device_del
+ cdev_init
+ cec_allocate_adapter
+ cec_delete_adapter
+ cec_fill_conn_info_from_drm
+ cec_notifier_cec_adap_register
+ cec_notifier_cec_adap_unregister
+ cec_notifier_conn_register
+ cec_notifier_conn_unregister
+ cec_notifier_set_phys_addr
+ cec_notifier_set_phys_addr_from_edid
+ cec_queue_pin_hpd_event
+ cec_received_msg_ts
+ cec_register_adapter
+ cec_transmit_attempt_done_ts
+ cec_unregister_adapter
+ __check_object_size
+ __class_create
+ class_create_file_ns
+ class_destroy
+ class_for_each_device
+ __class_register
+ class_remove_file_ns
+ class_unregister
+ clk_bulk_disable
+ clk_bulk_enable
+ clk_bulk_prepare
+ clk_bulk_unprepare
+ clk_disable
+ clk_enable
+ clk_gate_ops
+ clk_get
+ __clk_get_name
+ clk_get_parent
+ clk_get_rate
+ clk_hw_get_flags
+ clk_hw_get_name
+ clk_hw_get_parent
+ clk_hw_get_rate
+ clk_is_match
+ __clk_mux_determine_rate
+ clk_notifier_register
+ clk_notifier_unregister
+ clk_prepare
+ clk_put
+ clk_register
+ clk_round_rate
+ clk_set_parent
+ clk_set_phase
+ clk_set_rate
+ clk_unprepare
+ clk_unregister
+ cma_alloc
+ cma_release
+ compat_ptr_ioctl
+ complete
+ completion_done
+ __const_udelay
+ consume_skb
+ __copy_overflow
+ cpufreq_cpu_get
+ __cpufreq_driver_target
+ cpufreq_generic_suspend
+ cpufreq_register_governor
+ cpufreq_register_notifier
+ cpufreq_unregister_governor
+ cpu_have_feature
+ cpu_hwcaps
+ cpu_latency_qos_add_request
+ cpu_latency_qos_update_request
+ cpu_number
+ __cpu_online_mask
+ __cpu_possible_mask
+ cpus_read_lock
+ cpus_read_unlock
+ crc16
+ crc32_le
+ crypto_aead_decrypt
+ crypto_aead_encrypt
+ crypto_aead_setauthsize
+ crypto_aead_setkey
+ crypto_ahash_final
+ crypto_ahash_setkey
+ crypto_alloc_aead
+ crypto_alloc_ahash
+ crypto_alloc_shash
+ crypto_alloc_skcipher
+ crypto_cipher_encrypt_one
+ crypto_destroy_tfm
+ __crypto_memneq
+ crypto_register_aead
+ crypto_register_template
+ crypto_shash_update
+ crypto_skcipher_decrypt
+ crypto_skcipher_encrypt
+ crypto_skcipher_setkey
+ crypto_unregister_aead
+ crypto_unregister_template
+ __crypto_xor
+ csum_partial
+ _ctype
+ default_llseek
+ delayed_work_timer_fn
+ del_timer
+ del_timer_sync
+ destroy_workqueue
+ dev_addr_mod
+ dev_close
+ dev_driver_string
+ _dev_err
+ dev_err_probe
+ devfreq_add_governor
+ devfreq_recommended_opp
+ devfreq_register_opp_notifier
+ devfreq_remove_governor
+ devfreq_resume_device
+ devfreq_suspend_device
+ devfreq_unregister_opp_notifier
+ dev_fwnode
+ dev_get_regmap
+ dev_get_tstats64
+ device_create
+ device_create_file
+ device_destroy
+ device_get_child_node_count
+ device_get_match_data
+ device_get_named_child_node
+ device_get_next_child_node
+ device_initialize
+ device_link_add
+ device_link_del
+ device_property_match_string
+ device_property_present
+ device_property_read_string
+ device_property_read_u32_array
+ device_property_read_u8_array
+ device_remove_file
+ device_set_wakeup_capable
+ device_set_wakeup_enable
+ device_unregister
+ device_wakeup_disable
+ device_wakeup_enable
+ _dev_info
+ __dev_kfree_skb_any
+ devm_add_action
+ devm_backlight_device_register
+ devm_clk_bulk_get
+ devm_clk_bulk_get_all
+ devm_clk_get
+ devm_clk_get_optional
+ devm_clk_hw_register
+ devm_clk_register
+ devm_devfreq_add_device
+ devm_devfreq_event_add_edev
+ devm_device_add_group
+ devm_extcon_dev_allocate
+ devm_extcon_dev_register
+ devm_free_irq
+ devm_fwnode_gpiod_get_index
+ devm_get_clk_from_child
+ devm_gpiochip_add_data_with_key
+ devm_gpiod_get
+ devm_gpiod_get_index
+ devm_gpiod_get_index_optional
+ devm_gpiod_get_optional
+ devm_gpio_request
+ devm_gpio_request_one
+ devm_hwrng_register
+ devm_iio_channel_get
+ devm_iio_device_alloc
+ __devm_iio_device_register
+ devm_input_allocate_device
+ devm_ioremap
+ devm_ioremap_resource
+ devm_kasprintf
+ devm_kfree
+ devm_kmalloc
+ devm_kmemdup
+ devm_kstrdup
+ devm_led_classdev_register_ext
+ devm_mfd_add_devices
+ devm_nvmem_register
+ devm_of_clk_add_hw_provider
+ devm_of_phy_get
+ __devm_of_phy_provider_register
+ devm_phy_create
+ devm_phy_get
+ devm_phy_optional_get
+ devm_pinctrl_get
+ devm_pinctrl_register
+ devm_pinctrl_register_and_init
+ devm_platform_get_and_ioremap_resource
+ devm_platform_ioremap_resource
+ devm_platform_ioremap_resource_byname
+ devm_power_supply_register
+ devm_pwm_get
+ devm_regmap_field_alloc
+ __devm_regmap_init
+ __devm_regmap_init_i2c
+ __devm_regmap_init_mmio_clk
+ devm_regulator_bulk_get
+ devm_regulator_get
+ devm_regulator_get_optional
+ devm_regulator_register
+ devm_remove_action
+ devm_request_threaded_irq
+ devm_reset_control_array_get
+ __devm_reset_control_get
+ devm_rtc_allocate_device
+ __devm_rtc_register_device
+ devm_snd_dmaengine_pcm_register
+ devm_snd_soc_register_card
+ devm_snd_soc_register_component
+ devm_usb_get_phy
+ _dev_notice
+ dev_open
+ dev_pm_opp_clear_config
+ dev_pm_opp_disable
+ dev_pm_opp_find_freq_ceil
+ dev_pm_opp_find_freq_floor
+ dev_pm_opp_get_freq
+ dev_pm_opp_get_opp_count
+ dev_pm_opp_get_opp_table
+ dev_pm_opp_get_supplies
+ dev_pm_opp_get_voltage
+ dev_pm_opp_of_get_sharing_cpus
+ dev_pm_opp_of_remove_table
+ dev_pm_opp_put
+ dev_pm_opp_put_opp_table
+ dev_pm_opp_set_config
+ dev_pm_opp_set_rate
+ _dev_printk
+ devres_add
+ __devres_alloc_node
+ devres_free
+ dev_set_name
+ _dev_warn
+ disable_irq
+ disable_irq_nosync
+ dma_alloc_attrs
+ dma_buf_attach
+ dma_buf_begin_cpu_access
+ dma_buf_detach
+ dma_buf_end_cpu_access
+ dma_buf_export
+ dma_buf_fd
+ dma_buf_get
+ dma_buf_map_attachment
+ dma_buf_mmap
+ dma_buf_put
+ dma_buf_unmap_attachment
+ dma_buf_vmap
+ dma_buf_vunmap
+ dma_contiguous_default_area
+ dma_fence_add_callback
+ dma_fence_context_alloc
+ dma_fence_get_status
+ dma_fence_init
+ dma_fence_release
+ dma_fence_signal
+ dma_free_attrs
+ dma_get_sgtable_attrs
+ dma_heap_add
+ dma_heap_get_name
+ dmam_alloc_attrs
+ dma_map_page_attrs
+ dma_map_resource
+ dma_map_sg_attrs
+ dma_map_sgtable
+ dmam_free_coherent
+ dma_mmap_attrs
+ dma_release_channel
+ dma_request_chan
+ dma_set_coherent_mask
+ dma_set_mask
+ dma_sync_sg_for_cpu
+ dma_sync_sg_for_device
+ dma_sync_single_for_cpu
+ dma_sync_single_for_device
+ dma_unmap_page_attrs
+ dma_unmap_resource
+ dma_unmap_sg_attrs
+ do_trace_netlink_extack
+ down
+ down_read
+ down_write
+ driver_unregister
+ drm_add_edid_modes
+ drm_add_modes_noedid
+ drm_atomic_get_connector_state
+ drm_atomic_get_crtc_state
+ drm_atomic_get_new_connector_for_encoder
+ drm_atomic_helper_bridge_destroy_state
+ drm_atomic_helper_bridge_duplicate_state
+ drm_atomic_helper_bridge_propagate_bus_fmt
+ drm_atomic_helper_bridge_reset
+ drm_atomic_helper_connector_destroy_state
+ drm_atomic_helper_connector_duplicate_state
+ drm_atomic_helper_connector_reset
+ drm_bridge_add
+ drm_bridge_attach
+ drm_bridge_detect
+ drm_bridge_get_modes
+ drm_bridge_hpd_notify
+ drm_bridge_remove
+ drm_compat_ioctl
+ drm_connector_attach_encoder
+ drm_connector_cleanup
+ drm_connector_has_possible_encoder
+ drm_connector_init
+ drm_connector_init_with_ddc
+ drm_connector_list_iter_begin
+ drm_connector_list_iter_end
+ drm_connector_list_iter_next
+ drm_connector_unregister
+ drm_connector_update_edid_property
+ ___drm_dbg
+ drm_detect_hdmi_monitor
+ drm_detect_monitor_audio
+ drm_dev_alloc
+ __drm_dev_dbg
+ drm_dev_printk
+ drm_dev_put
+ drm_dev_register
+ drm_dev_unregister
+ drm_display_info_set_bus_formats
+ drm_display_mode_from_videomode
+ drm_display_mode_to_videomode
+ __drm_err
+ drm_gem_dumb_map_offset
+ drm_gem_get_pages
+ drm_gem_handle_create
+ drm_gem_mmap
+ drm_gem_object_free
+ drm_gem_object_init
+ drm_gem_object_lookup
+ drm_gem_object_release
+ drm_gem_prime_fd_to_handle
+ drm_gem_prime_handle_to_fd
+ drm_gem_prime_mmap
+ drm_gem_put_pages
+ drm_gem_vm_close
+ drm_gem_vm_open
+ drm_get_edid
+ drm_hdmi_avi_infoframe_from_display_mode
+ drm_hdmi_avi_infoframe_quant_range
+ drm_hdmi_vendor_infoframe_from_display_mode
+ drm_helper_hpd_irq_event
+ drm_helper_probe_single_connector_modes
+ drm_ioctl
+ drm_kms_helper_hotplug_event
+ drm_kms_helper_is_poll_worker
+ drm_match_cea_mode
+ drm_mode_copy
+ drm_mode_create
+ drm_mode_duplicate
+ drm_mode_is_420_also
+ drm_mode_is_420_only
+ drm_mode_object_put
+ drm_mode_probed_add
+ drm_modeset_acquire_fini
+ drm_modeset_acquire_init
+ drm_modeset_backoff
+ drm_modeset_drop_locks
+ drm_modeset_lock
+ drm_mode_set_name
+ drm_modeset_unlock
+ drm_mode_validate_driver
+ drm_mode_vrefresh
+ drm_object_attach_property
+ drm_of_find_panel_or_bridge
+ drm_open
+ drm_panel_add
+ drm_panel_disable
+ drm_panel_enable
+ drm_panel_get_modes
+ drm_panel_init
+ drm_panel_prepare
+ drm_panel_unprepare
+ drm_poll
+ drm_prime_gem_destroy
+ drm_prime_get_contiguous_size
+ drm_prime_pages_to_sg
+ drm_prime_sg_to_page_array
+ drm_printf
+ drm_property_create_enum
+ drm_property_replace_global_blob
+ drm_read
+ drm_release
+ dummy_irq_chip
+ enable_irq
+ eth_mac_addr
+ ethtool_op_get_link
+ ethtool_op_get_ts_info
+ eth_type_trans
+ eth_validate_addr
+ extcon_get_edev_by_phandle
+ extcon_get_state
+ extcon_register_notifier
+ extcon_set_property_capability
+ extcon_set_state
+ extcon_set_state_sync
+ extcon_unregister_notifier
+ fd_install
+ _find_first_bit
+ _find_first_zero_bit
+ _find_next_bit
+ _find_next_zero_bit
+ finish_wait
+ flush_delayed_work
+ flush_work
+ __flush_workqueue
+ __folio_put
+ fortify_panic
+ fput
+ free_iova_fast
+ free_irq
+ free_netdev
+ __free_pages
+ free_pages
+ freq_qos_add_request
+ freq_qos_remove_request
+ freq_qos_update_request
+ fwnode_device_is_available
+ fwnode_get_name
+ fwnode_graph_get_next_endpoint
+ fwnode_graph_get_port_parent
+ fwnode_graph_get_remote_endpoint
+ fwnode_graph_get_remote_port_parent
+ fwnode_handle_put
+ fwnode_property_present
+ fwnode_property_read_u32_array
+ gcd
+ generic_handle_domain_irq
+ generic_mii_ioctl
+ __genphy_config_aneg
+ genphy_read_status
+ genphy_resume
+ genphy_soft_reset
+ genphy_suspend
+ gen_pool_add_owner
+ gen_pool_alloc_algo_owner
+ gen_pool_create
+ gen_pool_destroy
+ gen_pool_free_owner
+ get_cpu_device
+ get_device
+ __get_free_pages
+ get_random_bytes
+ get_unused_fd_flags
+ get_user_pages_remote
+ get_zeroed_page
+ gic_nonsecure_priorities
+ gpiochip_add_pin_range
+ gpiochip_generic_free
+ gpiochip_generic_request
+ gpiochip_get_data
+ gpiod_cansleep
+ gpiod_direction_input
+ gpiod_direction_output
+ gpiod_direction_output_raw
+ gpiod_get_optional
+ gpiod_get_raw_value
+ gpiod_get_value
+ gpiod_get_value_cansleep
+ gpiod_set_consumer_name
+ gpiod_set_raw_value
+ gpiod_set_raw_value_cansleep
+ gpiod_set_value
+ gpiod_set_value_cansleep
+ gpiod_to_irq
+ gpio_free
+ gpio_request
+ gpio_to_desc
+ handle_nested_irq
+ handle_simple_irq
+ hdmi_audio_infoframe_init
+ hdmi_audio_infoframe_pack
+ hdmi_drm_infoframe_pack
+ hdmi_infoframe_pack
+ hdmi_vendor_infoframe_pack
+ hid_debug
+ hid_hw_close
+ hid_hw_open
+ hid_hw_output_report
+ hid_hw_raw_request
+ hid_hw_request
+ hid_hw_start
+ hid_hw_stop
+ hid_open_report
+ __hid_register_driver
+ hid_unregister_driver
+ hid_validate_values
+ hrtimer_cancel
+ hrtimer_forward
+ hrtimer_init
+ hrtimer_start_range_ns
+ i2c_adapter_type
+ i2c_add_adapter
+ i2c_add_numbered_adapter
+ i2c_del_adapter
+ i2c_del_driver
+ i2c_get_adapter
+ i2c_put_adapter
+ i2c_register_driver
+ i2c_smbus_read_byte
+ i2c_smbus_read_byte_data
+ i2c_smbus_read_i2c_block_data
+ i2c_smbus_read_word_data
+ i2c_smbus_write_byte_data
+ i2c_smbus_write_i2c_block_data
+ __i2c_smbus_xfer
+ i2c_smbus_xfer
+ i2c_transfer
+ i2c_transfer_buffer_flags
+ i2c_verify_client
+ idr_alloc
+ idr_destroy
+ idr_find
+ idr_for_each
+ idr_get_next
+ idr_preload
+ idr_remove
+ iio_buffer_init
+ iio_buffer_put
+ iio_device_attach_buffer
+ iio_push_to_buffers
+ iio_read_channel_processed
+ init_net
+ __init_rwsem
+ __init_swait_queue_head
+ init_timer_key
+ init_wait_entry
+ __init_waitqueue_head
+ input_allocate_device
+ input_event
+ input_ff_create_memless
+ input_free_device
+ input_mt_init_slots
+ input_mt_report_slot_state
+ input_register_device
+ input_set_abs_params
+ input_set_capability
+ input_unregister_device
+ iommu_attach_device
+ iommu_attach_group
+ iommu_detach_device
+ iommu_detach_group
+ iommu_get_domain_for_dev
+ iommu_group_get
+ iommu_group_put
+ iommu_map
+ iommu_map_sg
+ iommu_set_fault_handler
+ iommu_unmap
+ ioremap_prot
+ iounmap
+ __irq_apply_affinity_hint
+ irq_create_mapping_affinity
+ irq_dispose_mapping
+ __irq_domain_add
+ irq_domain_remove
+ irq_get_irq_data
+ irq_modify_status
+ irq_of_parse_and_map
+ __irq_resolve_mapping
+ irq_set_chained_handler_and_data
+ irq_set_chip
+ irq_set_chip_and_handler_name
+ irq_set_chip_data
+ irq_set_irq_type
+ irq_set_irq_wake
+ irq_to_desc
+ is_vmalloc_addr
+ jiffies
+ jiffies_to_msecs
+ kasan_flag_enabled
+ kasprintf
+ kernel_neon_begin
+ kernel_neon_end
+ __kfifo_alloc
+ __kfifo_free
+ __kfifo_in
+ __kfifo_out
+ kfree
+ kfree_sensitive
+ kfree_skb_reason
+ kimage_voffset
+ __kmalloc
+ kmalloc_caches
+ kmalloc_large
+ kmalloc_trace
+ kmem_cache_alloc
+ kmem_cache_create
+ kmem_cache_destroy
+ kmemdup
+ kobject_create_and_add
+ kobject_init_and_add
+ kobject_put
+ kstrdup
+ kstrdup_const
+ kstrtoint
+ kstrtoll
+ kstrtouint
+ kstrtouint_from_user
+ kstrtoull
+ kthread_create_on_node
+ kthread_flush_worker
+ kthread_queue_work
+ kthread_should_stop
+ kthread_stop
+ ktime_get
+ ktime_get_mono_fast_ns
+ ktime_get_real_ts64
+ ktime_get_with_offset
+ kvfree
+ kvfree_call_rcu
+ kvmalloc_node
+ led_classdev_register_ext
+ led_classdev_unregister
+ led_set_brightness_nosleep
+ led_trigger_register
+ led_trigger_unregister
+ __list_add_valid
+ __list_del_entry_valid
+ __local_bh_enable_ip
+ log_post_read_mmio
+ log_post_write_mmio
+ log_read_mmio
+ log_write_mmio
+ mdiobus_alloc_size
+ mdiobus_free
+ mdiobus_read
+ mdiobus_unregister
+ mdiobus_write
+ media_create_pad_link
+ media_device_cleanup
+ media_device_init
+ __media_device_register
+ media_device_unregister
+ media_entity_pads_init
+ media_graph_walk_cleanup
+ media_graph_walk_init
+ media_graph_walk_next
+ media_graph_walk_start
+ media_pad_remote_pad_first
+ memcpy
+ __memcpy_fromio
+ __memcpy_toio
+ memdup_user
+ memmove
+ mem_section
+ memset
+ __memset_io
+ memstart_addr
+ mfd_add_devices
+ mfd_remove_devices
+ mii_check_media
+ mii_ethtool_gset
+ mii_nway_restart
+ mipi_dsi_attach
+ mipi_dsi_create_packet
+ mipi_dsi_detach
+ mipi_dsi_device_register_full
+ mipi_dsi_device_unregister
+ mipi_dsi_host_register
+ mipi_dsi_host_unregister
+ misc_deregister
+ misc_register
+ __mmap_lock_do_trace_acquire_returned
+ __mmap_lock_do_trace_released
+ __mmap_lock_do_trace_start_locking
+ mmc_cqe_request_done
+ mmc_of_parse
+ mmc_request_done
+ __mmdrop
+ mod_delayed_work_on
+ mod_timer
+ module_layout
+ module_put
+ __msecs_to_jiffies
+ msleep
+ msleep_interruptible
+ __mutex_init
+ mutex_is_locked
+ mutex_lock
+ mutex_lock_interruptible
+ mutex_trylock
+ mutex_unlock
+ napi_gro_receive
+ __netdev_alloc_skb
+ netdev_err
+ netdev_info
+ netdev_update_features
+ netdev_warn
+ netif_carrier_off
+ netif_carrier_on
+ netif_rx
+ netif_tx_wake_queue
+ netlink_unicast
+ net_ratelimit
+ nla_memcpy
+ __nla_parse
+ nla_put
+ nla_reserve
+ nonseekable_open
+ noop_llseek
+ nr_cpu_ids
+ ns_to_kernel_old_timeval
+ ns_to_timespec64
+ nvmem_cell_get
+ nvmem_cell_put
+ nvmem_cell_read
+ of_address_to_resource
+ of_alias_get_id
+ of_clk_add_hw_provider
+ of_clk_add_provider
+ of_clk_del_provider
+ of_clk_get
+ of_clk_get_by_name
+ of_clk_get_parent_count
+ of_clk_hw_simple_get
+ of_clk_src_onecell_get
+ of_clk_src_simple_get
+ of_count_phandle_with_args
+ of_device_get_match_data
+ of_device_is_available
+ of_device_is_compatible
+ of_drm_find_bridge
+ of_drm_find_panel
+ of_find_compatible_node
+ of_find_device_by_node
+ of_find_i2c_device_by_node
+ of_find_matching_node_and_match
+ of_find_mipi_dsi_host_by_node
+ of_find_node_by_name
+ of_find_node_opts_by_path
+ of_find_property
+ of_get_child_by_name
+ of_get_drm_display_mode
+ of_get_i2c_adapter_by_node
+ of_get_named_gpio_flags
+ of_get_next_available_child
+ of_get_next_child
+ of_get_parent
+ of_get_property
+ of_get_regulator_init_data
+ of_graph_get_endpoint_by_regs
+ of_graph_get_next_endpoint
+ of_graph_get_remote_node
+ of_graph_get_remote_port_parent
+ of_graph_parse_endpoint
+ of_iomap
+ of_irq_get_byname
+ of_machine_is_compatible
+ of_match_device
+ of_match_node
+ of_node_name_eq
+ of_nvmem_cell_get
+ __of_parse_phandle_with_args
+ of_phy_simple_xlate
+ of_property_count_elems_of_size
+ of_property_match_string
+ of_property_read_string
+ of_property_read_string_helper
+ of_property_read_u32_index
+ of_property_read_u64
+ of_property_read_u64_index
+ of_property_read_variable_u32_array
+ of_property_read_variable_u8_array
+ of_prop_next_string
+ of_regulator_match
+ of_reserved_mem_device_init_by_idx
+ __of_reset_control_get
+ of_usb_get_dr_mode_by_phy
+ of_usb_host_tpl_support
+ page_pinner_inited
+ __page_pinner_put_page
+ panic_notifier_list
+ param_get_int
+ param_ops_bool
+ param_ops_charp
+ param_ops_int
+ param_ops_string
+ param_ops_uint
+ pcie_capability_clear_and_set_word
+ pci_read_config_dword
+ pci_write_config_dword
+ __per_cpu_offset
+ perf_trace_buf_alloc
+ perf_trace_run_bpf_submit
+ phy_attached_info
+ phy_configure
+ phy_drivers_register
+ phy_drivers_unregister
+ phy_exit
+ phy_init
+ phy_mipi_dphy_config_validate
+ phy_power_off
+ phy_power_on
+ phy_set_mode_ext
+ pinconf_generic_dt_free_map
+ pinconf_generic_dt_node_to_map
+ pinctrl_dev_get_drvdata
+ pinctrl_enable
+ pinctrl_generic_add_group
+ pinctrl_generic_get_group
+ pinctrl_generic_get_group_count
+ pinctrl_generic_get_group_name
+ pinctrl_generic_get_group_pins
+ pinctrl_gpio_direction_input
+ pinctrl_gpio_direction_output
+ pinctrl_lookup_state
+ pinctrl_pm_select_default_state
+ pinctrl_pm_select_idle_state
+ pinctrl_pm_select_sleep_state
+ pinctrl_select_state
+ pinctrl_utils_free_map
+ pinmux_generic_add_function
+ pinmux_generic_get_function
+ pinmux_generic_get_function_count
+ pinmux_generic_get_function_groups
+ pinmux_generic_get_function_name
+ platform_device_put
+ platform_device_register_full
+ platform_device_unregister
+ __platform_driver_probe
+ __platform_driver_register
+ platform_driver_unregister
+ platform_get_ethdev_address
+ platform_get_irq
+ platform_get_irq_byname
+ platform_get_irq_optional
+ platform_get_resource
+ platform_get_resource_byname
+ pm_clk_create
+ pm_clk_destroy
+ pm_power_off
+ __pm_relax
+ pm_relax
+ __pm_runtime_disable
+ pm_runtime_enable
+ pm_runtime_forbid
+ pm_runtime_force_resume
+ pm_runtime_force_suspend
+ pm_runtime_get_if_active
+ __pm_runtime_idle
+ __pm_runtime_resume
+ pm_runtime_set_autosuspend_delay
+ __pm_runtime_set_status
+ __pm_runtime_suspend
+ __pm_runtime_use_autosuspend
+ __pm_stay_awake
+ pm_stay_awake
+ pm_wakeup_dev_event
+ pm_wakeup_ws_event
+ power_supply_am_i_supplied
+ power_supply_changed
+ power_supply_class
+ power_supply_get_battery_info
+ power_supply_get_by_name
+ power_supply_get_by_phandle
+ power_supply_get_drvdata
+ power_supply_get_property
+ power_supply_register
+ power_supply_reg_notifier
+ power_supply_unregister
+ preempt_schedule
+ preempt_schedule_notrace
+ prepare_to_wait_event
+ print_hex_dump
+ _printk
+ proc_create
+ proc_create_data
+ proc_dointvec
+ proc_mkdir
+ pskb_expand_head
+ __pskb_pull_tail
+ put_device
+ __put_task_struct
+ put_unused_fd
+ pwm_adjust_config
+ pwm_apply_state
+ queue_delayed_work_on
+ queue_work_on
+ ___ratelimit
+ rational_best_approximation
+ _raw_read_lock_irqsave
+ _raw_read_unlock_irqrestore
+ _raw_spin_lock
+ _raw_spin_lock_bh
+ _raw_spin_lock_irq
+ _raw_spin_lock_irqsave
+ _raw_spin_trylock
+ _raw_spin_unlock
+ _raw_spin_unlock_bh
+ _raw_spin_unlock_irq
+ _raw_spin_unlock_irqrestore
+ _raw_write_lock_irqsave
+ _raw_write_unlock_irqrestore
+ rb_erase
+ rb_insert_color
+ rb_next
+ __rcu_read_lock
+ __rcu_read_unlock
+ rdev_get_drvdata
+ rdev_get_id
+ refcount_warn_saturate
+ regcache_cache_only
+ regcache_mark_dirty
+ regcache_sync
+ register_chrdev_region
+ register_inetaddr_notifier
+ register_netdev
+ register_netdevice
+ register_netdevice_notifier
+ register_pm_notifier
+ register_reboot_notifier
+ register_restart_handler
+ regmap_bulk_read
+ regmap_bulk_write
+ regmap_field_read
+ regmap_field_update_bits_base
+ regmap_irq_get_domain
+ regmap_irq_get_virq
+ regmap_multi_reg_write
+ regmap_raw_read
+ regmap_raw_write
+ regmap_read
+ regmap_update_bits_base
+ regmap_write
+ regulator_bulk_disable
+ regulator_bulk_enable
+ regulator_disable
+ regulator_disable_regmap
+ regulator_enable
+ regulator_enable_regmap
+ regulator_get
+ regulator_get_optional
+ regulator_get_voltage
+ regulator_get_voltage_sel_regmap
+ regulator_is_enabled
+ regulator_is_enabled_regmap
+ regulator_list_voltage_linear
+ regulator_list_voltage_linear_range
+ regulator_map_voltage_linear
+ regulator_map_voltage_linear_range
+ regulator_put
+ regulator_register_notifier
+ regulator_set_ramp_delay_regmap
+ regulator_set_voltage
+ regulator_set_voltage_sel_regmap
+ regulator_set_voltage_time_sel
+ regulator_unregister
+ regulator_unregister_notifier
+ release_firmware
+ remap_pfn_range
+ remove_proc_entry
+ request_firmware
+ request_threaded_irq
+ reset_control_assert
+ reset_control_deassert
+ rfkill_alloc
+ rfkill_destroy
+ rfkill_register
+ rfkill_set_hw_state_reason
+ rfkill_unregister
+ round_jiffies_relative
+ rtc_class_open
+ rtc_read_time
+ rtc_time64_to_tm
+ rtc_tm_to_time64
+ rtc_valid_tm
+ rtnl_is_locked
+ rtnl_lock
+ rtnl_unlock
+ scatterwalk_map_and_copy
+ sched_clock
+ sched_set_fifo
+ schedule
+ schedule_timeout
+ scnprintf
+ __sdhci_add_host
+ sdhci_cleanup_host
+ sdhci_enable_clk
+ sdhci_get_property
+ sdhci_pltfm_clk_get_max_clock
+ sdhci_pltfm_free
+ sdhci_pltfm_init
+ sdhci_reset
+ sdhci_resume_host
+ sdhci_set_bus_width
+ sdhci_set_clock
+ sdhci_setup_host
+ sdhci_suspend_host
+ seq_lseek
+ seq_printf
+ seq_putc
+ seq_puts
+ seq_read
+ set_page_dirty_lock
+ sg_alloc_table
+ sg_alloc_table_from_pages_segment
+ sg_free_table
+ sg_init_one
+ sg_init_table
+ sg_nents
+ sg_next
+ simple_attr_open
+ simple_attr_release
+ simple_read_from_buffer
+ simple_strtol
+ simple_strtoul
+ single_open
+ single_release
+ skb_add_rx_frag
+ skb_clone
+ skb_copy
+ skb_copy_bits
+ skb_copy_expand
+ skb_pull
+ skb_push
+ skb_put
+ skb_trim
+ skcipher_alloc_instance_simple
+ skcipher_register_instance
+ skcipher_walk_done
+ skcipher_walk_virt
+ snd_ctl_boolean_mono_info
+ snd_pcm_format_width
+ snd_pcm_stop_xrun
+ snd_soc_add_component_controls
+ snd_soc_add_dai_controls
+ snd_soc_card_jack_new_pins
+ snd_soc_component_read
+ snd_soc_component_set_jack
+ snd_soc_component_update_bits
+ snd_soc_component_write
+ snd_soc_daifmt_clock_provider_from_bitmap
+ snd_soc_daifmt_parse_clock_provider_raw
+ snd_soc_daifmt_parse_format
+ snd_soc_dai_set_sysclk
+ snd_soc_dapm_add_routes
+ snd_soc_dapm_disable_pin_unlocked
+ snd_soc_dapm_force_enable_pin_unlocked
+ snd_soc_dapm_get_enum_double
+ snd_soc_dapm_get_volsw
+ snd_soc_dapm_new_controls
+ snd_soc_dapm_put_enum_double
+ snd_soc_dapm_put_volsw
+ snd_soc_dapm_sync_unlocked
+ snd_soc_get_dai_name
+ snd_soc_get_enum_double
+ snd_soc_get_volsw
+ snd_soc_info_enum_double
+ snd_soc_info_volsw
+ snd_soc_jack_add_gpios
+ snd_soc_jack_report
+ snd_soc_of_parse_audio_routing
+ snd_soc_of_parse_card_name
+ snd_soc_params_to_frame_size
+ snd_soc_pm_ops
+ snd_soc_put_enum_double
+ snd_soc_put_volsw
+ snd_soc_unregister_component
+ snprintf
+ sort
+ __spi_register_driver
+ spi_setup
+ spi_sync
+ sprintf
+ sscanf
+ __stack_chk_fail
+ strcasecmp
+ strchr
+ strcmp
+ strcpy
+ strlcat
+ strlcpy
+ strlen
+ strncasecmp
+ strncmp
+ strncpy
+ strnlen
+ strrchr
+ strscpy
+ strsep
+ strstr
+ __sw_hweight16
+ __sw_hweight32
+ __sw_hweight64
+ __sw_hweight8
+ swiotlb_max_segment
+ sync_file_create
+ sync_file_get_fence
+ synchronize_irq
+ synchronize_net
+ synchronize_rcu
+ syscon_node_to_regmap
+ syscon_regmap_lookup_by_phandle
+ sysfs_create_file_ns
+ sysfs_create_group
+ sysfs_create_link
+ sysfs_remove_file_ns
+ sysfs_remove_group
+ sysfs_remove_link
+ sysfs_streq
+ system_freezable_wq
+ system_highpri_wq
+ system_long_wq
+ system_power_efficient_wq
+ system_state
+ system_wq
+ tasklet_init
+ tasklet_kill
+ __tasklet_schedule
+ tasklet_setup
+ tasklet_unlock_wait
+ __task_pid_nr_ns
+ tcpm_tcpc_reset
+ thermal_zone_get_zone_by_name
+ trace_event_buffer_commit
+ trace_event_buffer_reserve
+ trace_event_printf
+ trace_event_raw_init
+ trace_event_reg
+ trace_handle_return
+ __traceiter_mmap_lock_acquire_returned
+ __traceiter_mmap_lock_released
+ __traceiter_mmap_lock_start_locking
+ __tracepoint_mmap_lock_acquire_returned
+ __tracepoint_mmap_lock_released
+ __tracepoint_mmap_lock_start_locking
+ trace_print_array_seq
+ trace_raw_output_prep
+ __trace_trigger_soft_disabled
+ typec_mux_get_drvdata
+ typec_mux_register
+ typec_mux_unregister
+ typec_switch_get_drvdata
+ typec_switch_register
+ typec_switch_unregister
+ __udelay
+ unregister_chrdev_region
+ unregister_inetaddr_notifier
+ unregister_netdev
+ unregister_netdevice_notifier
+ unregister_netdevice_queue
+ unregister_reboot_notifier
+ unregister_sysctl_table
+ up
+ update_devfreq
+ up_read
+ up_write
+ usb_add_hcd
+ usb_alloc_urb
+ usb_autopm_get_interface
+ usb_autopm_put_interface
+ usb_calc_bus_time
+ usb_control_msg
+ usb_create_hcd
+ usb_debug_root
+ usb_deregister
+ usb_deregister_dev
+ usb_disabled
+ usb_free_urb
+ usb_hcd_check_unlink_urb
+ usb_hcd_giveback_urb
+ usb_hcd_link_urb_to_ep
+ usb_hcd_resume_root_hub
+ usb_hcd_unlink_urb_from_ep
+ usb_hid_driver
+ usbnet_change_mtu
+ usbnet_defer_kevent
+ usbnet_disconnect
+ usbnet_get_drvinfo
+ usbnet_get_endpoints
+ usbnet_get_link
+ usbnet_get_link_ksettings_mii
+ usbnet_get_msglevel
+ usbnet_link_change
+ usbnet_nway_reset
+ usbnet_open
+ usbnet_probe
+ usbnet_read_cmd
+ usbnet_read_cmd_nopm
+ usbnet_resume
+ usbnet_set_link_ksettings_mii
+ usbnet_set_msglevel
+ usbnet_skb_return
+ usbnet_start_xmit
+ usbnet_stop
+ usbnet_suspend
+ usbnet_tx_timeout
+ usbnet_write_cmd
+ usbnet_write_cmd_async
+ usbnet_write_cmd_nopm
+ usb_put_hcd
+ usb_register_dev
+ usb_register_driver
+ usb_remove_hcd
+ usb_set_interface
+ usb_submit_urb
+ __usecs_to_jiffies
+ usleep_range_state
+ v4l2_ctrl_find
+ v4l2_ctrl_g_ctrl
+ v4l2_ctrl_g_ctrl_int64
+ v4l2_ctrl_handler_free
+ v4l2_ctrl_handler_init_class
+ __v4l2_ctrl_handler_setup
+ v4l2_ctrl_handler_setup
+ __v4l2_ctrl_modify_range
+ v4l2_ctrl_new_custom
+ v4l2_ctrl_new_int_menu
+ v4l2_ctrl_new_std
+ v4l2_ctrl_new_std_menu
+ v4l2_ctrl_new_std_menu_items
+ __v4l2_ctrl_s_ctrl
+ __v4l2_ctrl_s_ctrl_int64
+ v4l2_ctrl_subdev_subscribe_event
+ v4l2_device_register
+ v4l2_device_register_subdev
+ __v4l2_device_register_subdev_nodes
+ v4l2_device_unregister
+ v4l2_device_unregister_subdev
+ v4l2_enum_dv_timings_cap
+ v4l2_event_queue
+ v4l2_event_subdev_unsubscribe
+ v4l2_event_subscribe
+ v4l2_event_unsubscribe
+ v4l2_fh_open
+ v4l2_i2c_subdev_init
+ v4l2_match_dv_timings
+ v4l2_pipeline_link_notify
+ v4l2_pipeline_pm_get
+ v4l2_pipeline_pm_put
+ v4l2_print_dv_timings
+ v4l2_querymenu
+ v4l2_src_change_event_subdev_subscribe
+ v4l2_subdev_call_wrappers
+ v4l2_subdev_init
+ v4l2_subdev_link_validate
+ v4l2_subdev_notify_event
+ v4l2_type_names
+ v4l2_valid_dv_timings
+ vb2_buffer_done
+ vb2_dma_contig_memops
+ vb2_fop_mmap
+ vb2_fop_poll
+ vb2_fop_release
+ vb2_ioctl_create_bufs
+ vb2_ioctl_dqbuf
+ vb2_ioctl_expbuf
+ vb2_ioctl_prepare_buf
+ vb2_ioctl_qbuf
+ vb2_ioctl_querybuf
+ vb2_ioctl_reqbufs
+ vb2_ioctl_streamoff
+ vb2_ioctl_streamon
+ vb2_ops_wait_finish
+ vb2_ops_wait_prepare
+ vb2_plane_cookie
+ vb2_plane_vaddr
+ vb2_queue_init
+ vb2_queue_release
+ vb2_vmalloc_memops
+ vfree
+ video_devdata
+ video_device_pipeline_start
+ video_device_pipeline_stop
+ video_device_release_empty
+ video_ioctl2
+ __video_register_device
+ video_unregister_device
+ vmalloc
+ vmap
+ vm_get_page_prot
+ vm_map_pages
+ vsnprintf
+ vunmap
+ vzalloc
+ wait_for_completion
+ wait_for_completion_timeout
+ __wake_up
+ wake_up_process
+ wakeup_source_add
+ wakeup_source_remove
+ __warn_printk
+ work_busy
+
+# required by act8865-regulator.ko
+ regulator_set_pull_down_regmap
+
+# required by adc-keys.ko
+ iio_get_channel_type
+ input_set_poll_interval
+ input_setup_polling
+
+# required by aes-ce-ccm.ko
+ ce_aes_expandkey
+ skcipher_walk_aead_decrypt
+ skcipher_walk_aead_encrypt
+
+# required by analogix_dp.ko
+ drm_atomic_get_old_connector_for_encoder
+
+# required by aspm_ext.ko
+ pci_find_capability
+ pci_find_ext_capability
+
+# required by bcmdhd.ko
+ alloc_etherdev_mqs
+ cpu_bit_bitmap
+ down_interruptible
+ down_timeout
+ get_random_u32
+ iwe_stream_add_event
+ iwe_stream_add_point
+ iwe_stream_add_value
+ __kfifo_init
+ kobject_uevent
+ kthread_complete_and_exit
+ mmc_set_data_timeout
+ mmc_sw_reset
+ mmc_wait_for_req
+ netdev_state_change
+ __netlink_kernel_create
+ netlink_kernel_release
+ nla_put_nohdr
+ __nlmsg_put
+ _raw_read_lock_bh
+ _raw_read_unlock_bh
+ sched_set_fifo_low
+ sched_set_normal
+ sdio_claim_host
+ sdio_disable_func
+ sdio_enable_func
+ sdio_f0_readb
+ sdio_f0_writeb
+ sdio_get_host_pm_caps
+ sdio_memcpy_fromio
+ sdio_memcpy_toio
+ sdio_readb
+ sdio_readl
+ sdio_readsb
+ sdio_readw
+ sdio_register_driver
+ sdio_release_host
+ sdio_set_block_size
+ sdio_set_host_pm_flags
+ sdio_unregister_driver
+ sdio_writeb
+ sdio_writel
+ sdio_writew
+ set_cpus_allowed_ptr
+ __skb_pad
+ sock_wfree
+ sprint_symbol
+ strcat
+ strspn
+ sys_tz
+ unregister_pm_notifier
+ vprintk
+ wireless_send_event
+
+# required by bifrost_kbase.ko
+ __arch_clear_user
+ __bitmap_weight
+ cache_line_size
+ clear_page
+ __ClearPageMovable
+ complete_all
+ devfreq_add_device
+ devfreq_cooling_em_register
+ devfreq_cooling_unregister
+ devfreq_remove_device
+ dev_pm_opp_find_freq_exact
+ dma_fence_default_wait
+ dma_fence_remove_callback
+ downgrade_write
+ down_read_trylock
+ dump_stack
+ find_get_pid
+ find_vma_intersection
+ __folio_lock
+ freezer_active
+ freezing_slow_path
+ generic_file_llseek
+ get_user_pages
+ get_user_pages_fast
+ hrtimer_active
+ iomem_resource
+ kobject_del
+ kstrndup
+ kstrtobool_from_user
+ ktime_get_raw
+ ktime_get_raw_ts64
+ mas_empty_area_rev
+ memchr
+ of_dma_is_coherent
+ of_property_read_variable_u64_array
+ param_array_ops
+ param_ops_byte
+ pid_task
+ pin_user_pages
+ pin_user_pages_remote
+ put_pid
+ rb_first
+ rb_prev
+ rb_replace_node
+ __refrigerator
+ register_oom_notifier
+ register_shrinker
+ __release_region
+ remap_vmalloc_range
+ __request_region
+ seq_open
+ __seq_open_private
+ seq_release
+ seq_release_private
+ seq_write
+ set_freezable
+ __SetPageMovable
+ shmem_file_setup
+ simple_open
+ strcspn
+ _totalram_pages
+ __traceiter_gpu_mem_total
+ trace_output_call
+ __tracepoint_gpu_mem_total
+ trace_print_flags_seq
+ trace_print_symbols_seq
+ try_module_get
+ unlock_page
+ unmap_mapping_range
+ unpin_user_page
+ unregister_oom_notifier
+ unregister_shrinker
+ vmalloc_user
+ vmf_insert_pfn_prot
+
+# required by bq25890_charger.ko
+ devm_regmap_field_bulk_alloc
+ power_supply_get_property_from_supplier
+
+# required by cdc-wdm.ko
+ cdc_parse_cdc_header
+ usb_poison_urb
+ usb_unpoison_urb
+
+# required by cdc_mbim.ko
+ cdc_ncm_bind_common
+ cdc_ncm_change_mtu
+ cdc_ncm_fill_tx_frame
+ cdc_ncm_rx_verify_ndp16
+ cdc_ncm_rx_verify_nth16
+ cdc_ncm_select_altsetting
+ cdc_ncm_unbind
+ in6_dev_finish_destroy
+ __ipv6_addr_type
+ ipv6_stub
+ usb_match_id
+ __vlan_find_dev_deep_rcu
+
+# required by cfg80211.ko
+ bpf_trace_run10
+ bpf_trace_run8
+ __dev_change_net_namespace
+ __dev_get_by_index
+ dev_get_by_index
+ device_add
+ device_del
+ device_rename
+ genlmsg_multicast_allns
+ genlmsg_put
+ genl_register_family
+ genl_unregister_family
+ get_net_ns_by_fd
+ get_net_ns_by_pid
+ inet_csk_get_port
+ init_uts_ns
+ key_create_or_update
+ key_put
+ keyring_alloc
+ kobject_uevent_env
+ ktime_get_coarse_with_offset
+ memcmp
+ netlink_broadcast
+ netlink_register_notifier
+ netlink_unregister_notifier
+ net_ns_type_operations
+ nla_find
+ nla_put_64bit
+ __nla_validate
+ of_prop_next_u32
+ __put_net
+ register_pernet_device
+ request_firmware_nowait
+ rfkill_blocked
+ rfkill_resume_polling
+ __sock_create
+ sock_release
+ unregister_pernet_device
+ verify_pkcs7_signature
+ wireless_nlevent_flush
+
+# required by clk-link.ko
+ pm_clk_add
+ pm_clk_resume
+ pm_clk_suspend
+
+# required by clk-out.ko
+ __clk_hw_register_gate
+ of_clk_parent_fill
+
+# required by clk-rk628.ko
+ devm_reset_controller_register
+
+# required by clk-rockchip-regmap.ko
+ clk_hw_get_num_parents
+ clk_hw_get_parent_by_index
+ divider_recalc_rate
+ divider_round_rate_parent
+
+# required by clk-rockchip.ko
+ clk_divider_ops
+ clk_divider_ro_ops
+ clk_fixed_factor_ops
+ clk_fractional_divider_general_approximation
+ clk_fractional_divider_ops
+ __clk_get_hw
+ clk_hw_register_composite
+ clk_hw_round_rate
+ clk_hw_unregister_composite
+ clk_mux_ops
+ clk_mux_ro_ops
+ clk_register_divider_table
+ clk_register_fixed_factor
+ clk_register_gate
+ clk_register_mux_table
+ match_string
+ reset_controller_register
+
+# required by clk-scmi.ko
+ clk_hw_set_rate_range
+ of_clk_hw_onecell_get
+ scmi_driver_register
+ scmi_driver_unregister
+
+# required by cm3218.ko
+ i2c_smbus_write_word_data
+
+# required by cma_heap.ko
+ cma_get_name
+ dma_heap_get_drvdata
+
+# required by cpufreq-dt.ko
+ cpufreq_enable_boost_support
+ cpufreq_freq_attr_scaling_available_freqs
+ cpufreq_freq_attr_scaling_boost_freqs
+ cpufreq_generic_frequency_table_verify
+ cpufreq_generic_get
+ cpufreq_register_driver
+ cpufreq_unregister_driver
+ dev_pm_opp_free_cpufreq_table
+ dev_pm_opp_get_max_transition_latency
+ dev_pm_opp_get_sharing_cpus
+ dev_pm_opp_get_suspend_opp_freq
+ dev_pm_opp_init_cpufreq_table
+ dev_pm_opp_of_cpumask_add_table
+ dev_pm_opp_of_cpumask_remove_table
+ dev_pm_opp_of_register_em
+ dev_pm_opp_set_sharing_cpus
+ policy_has_boost_freq
+
+# required by cpufreq_ondemand.ko
+ cpufreq_cpu_get_raw
+ cpufreq_dbs_governor_exit
+ cpufreq_dbs_governor_init
+ cpufreq_dbs_governor_limits
+ cpufreq_dbs_governor_start
+ cpufreq_dbs_governor_stop
+ cpufreq_table_index_unsorted
+ dbs_update
+ get_cpu_idle_time_us
+ gov_update_cpu_data
+ sampling_rate_store
+
+# required by cqhci.ko
+ devm_blk_crypto_profile_init
+
+# required by cryptodev.ko
+ crypto_alloc_akcipher
+ flush_dcache_page
+ krealloc
+ register_sysctl_table
+ sg_last
+
+# required by cw221x_battery.ko
+ power_supply_is_system_supplied
+
+# required by display-connector.ko
+ drm_atomic_get_new_bridge_state
+ drm_probe_ddc
+
+# required by dm9601.ko
+ mii_link_ok
+
+# required by drm_display_helper.ko
+ drm_atomic_get_new_private_obj_state
+ drm_atomic_get_old_private_obj_state
+ drm_atomic_get_private_obj_state
+ __drm_atomic_helper_private_obj_duplicate_state
+ drm_atomic_private_obj_fini
+ drm_atomic_private_obj_init
+ drm_connector_register
+ drm_crtc_add_crc_entry
+ __drm_crtc_commit_free
+ drm_crtc_commit_wait
+ drm_crtc_wait_one_vblank
+ __drm_debug
+ drm_display_mode_from_cea_vic
+ drm_edid_duplicate
+ drm_edid_get_monitor_name
+ drm_modeset_lock_single_interruptible
+ drm_object_property_set_value
+ __drm_printfn_debug
+ drm_sysfs_connector_status_event
+ hdmi_drm_infoframe_init
+ memchr_inv
+ request_firmware_direct
+
+# required by drm_dma_helper.ko
+ dma_alloc_pages
+ dma_free_pages
+ dma_mmap_pages
+ drm_atomic_helper_damage_iter_init
+ drm_atomic_helper_damage_iter_next
+ drm_format_info_block_height
+ drm_format_info_block_width
+ drm_gem_create_mmap_offset
+ drm_gem_fb_get_obj
+ drm_gem_private_object_init
+
+# required by dw-hdmi-hdcp.ko
+ kstrtobool
+ sha1_init
+ sha1_transform
+
+# required by dw-hdmi-qp.ko
+ drm_mode_equal
+ hdmi_avi_infoframe_pack_only
+
+# required by dw-hdmi.ko
+ drm_connector_attach_hdr_output_metadata_property
+ drm_connector_attach_max_bpc_property
+ drm_default_rgb_quant_range
+
+# required by dw-mipi-dsi.ko
+ drm_panel_bridge_remove
+
+# required by dw_mmc-rockchip.ko
+ clk_get_phase
+ mmc_send_tuning
+
+# required by dw_mmc.ko
+ device_property_read_string_array
+ mmc_add_host
+ mmc_alloc_host
+ mmc_can_gpio_cd
+ mmc_detect_change
+ mmc_free_host
+ mmc_gpio_get_cd
+ mmc_gpio_get_ro
+ mmc_regulator_get_supply
+ mmc_regulator_set_ocr
+ mmc_regulator_set_vqmmc
+ mmc_remove_host
+ sdio_signal_irq
+ sg_miter_next
+ sg_miter_start
+ sg_miter_stop
+
+# required by dw_wdt.ko
+ watchdog_init_timeout
+ watchdog_register_device
+ watchdog_set_restart_priority
+ watchdog_unregister_device
+
+# required by dwc2.ko
+ __bitmap_clear
+ bitmap_find_next_zero_area_off
+ kmem_cache_free
+ of_usb_update_otg_caps
+ phy_reset
+ usb_add_gadget_udc
+ usb_del_gadget_udc
+ usb_ep_set_maxpacket_limit
+ usb_gadget_giveback_request
+ usb_gadget_map_request
+ usb_gadget_set_state
+ usb_gadget_unmap_request
+ usb_get_dr_mode
+ usb_get_role_switch_default_mode
+ usb_hcd_map_urb_for_dma
+ usb_hcd_unmap_urb_for_dma
+ usb_hub_clear_tt_buffer
+ usb_phy_set_charger_current
+ usb_role_switch_get_drvdata
+ usb_role_switch_get_role
+ usb_role_switch_register
+ usb_role_switch_unregister
+ usb_speed_string
+ usb_wakeup_enabled_descendants
+
+# required by dwmac-rockchip.ko
+ csum_tcpudp_nofold
+ ip_send_check
+ of_get_phy_mode
+
+# required by fusb302.ko
+ extcon_get_extcon_dev
+ fwnode_create_software_node
+ kthread_create_worker
+ kthread_destroy_worker
+ tcpm_cc_change
+ tcpm_pd_hard_reset
+ tcpm_pd_receive
+ tcpm_pd_transmit_complete
+ tcpm_register_port
+ tcpm_unregister_port
+ tcpm_vbus_change
+
+# required by gc2145.ko
+ v4l2_ctrl_subdev_log_status
+
+# required by gpio-regulator.ko
+ gpiod_count
+
+# required by gpio-rockchip.ko
+ gpiochip_add_data_with_key
+ gpiochip_relres_irq
+ gpiochip_remove
+ gpiochip_reqres_irq
+ handle_edge_irq
+ handle_level_irq
+ __irq_alloc_domain_generic_chips
+ irq_gc_ack_set_bit
+ irq_gc_mask_clr_bit
+ irq_gc_mask_set_bit
+ irq_gc_set_wake
+ irq_generic_chip_ops
+ irq_get_domain_generic_chip
+ of_pinctrl_get
+
+# required by hid-alps.ko
+ input_alloc_absinfo
+ input_mt_sync_frame
+
+# required by hid-holtek-kbd.ko
+ usb_ifnum_to_if
+
+# required by hid-primax.ko
+ hid_report_raw_event
+
+# required by hid-thrustmaster.ko
+ usb_interrupt_msg
+ usb_kill_urb
+
+# required by i2c-dev.ko
+ bus_register_notifier
+ bus_unregister_notifier
+ device_for_each_child
+ i2c_bus_type
+ i2c_for_each_dev
+ sysfs_emit
+
+# required by i2c-gpio.ko
+ desc_to_gpio
+ i2c_bit_add_numbered_bus
+
+# required by i2c-hid.ko
+ hid_add_device
+ hid_allocate_device
+ hid_destroy_device
+ hid_driver_reset_resume
+ hid_driver_suspend
+ hid_input_report
+ hid_parse_report
+
+# required by i2c-mux.ko
+ __i2c_transfer
+ rt_mutex_lock
+ rt_mutex_trylock
+ rt_mutex_unlock
+
+# required by i2c-rk3x.ko
+ i2c_parse_fw_timings
+ unregister_restart_handler
+
+# required by industrialio-buffer-cb.ko
+ iio_channel_get_all
+ iio_channel_release_all
+ iio_update_buffers
+
+# required by industrialio-triggered-buffer.ko
+ iio_alloc_pollfunc
+ iio_dealloc_pollfunc
+ iio_device_id
+
+# required by io-domain.ko
+ _dev_crit
+
+# required by kalmia.ko
+ usb_bulk_msg
+
+# required by kfifo_buf.ko
+ __kfifo_from_user
+ __kfifo_to_user
+
+# required by leds-gpio.ko
+ led_init_default_state_get
+
+# required by leds-rgb13h.ko
+ led_classdev_flash_register_ext
+ led_classdev_flash_unregister
+
+# required by ledtrig-heartbeat.ko
+ avenrun
+
+# required by mac80211.ko
+ alloc_netdev_mqs
+ __alloc_percpu_gfp
+ arc4_crypt
+ arc4_setkey
+ call_rcu
+ crc32_be
+ crypto_shash_digest
+ crypto_shash_finup
+ crypto_shash_setkey
+ dev_alloc_name
+ dev_fetch_sw_netstats
+ __dev_queue_xmit
+ ether_setup
+ free_percpu
+ get_random_u16
+ __hw_addr_init
+ __hw_addr_sync
+ __hw_addr_unsync
+ kernel_param_lock
+ kernel_param_unlock
+ kfree_skb_list_reason
+ ktime_get_seconds
+ netdev_set_default_ethtool_ops
+ netif_receive_skb
+ netif_receive_skb_list
+ netif_tx_stop_all_queues
+ ___pskb_trim
+ rcu_barrier
+ register_inet6addr_notifier
+ rhashtable_free_and_destroy
+ rhashtable_insert_slow
+ rhltable_init
+ __rht_bucket_nested
+ rht_bucket_nested
+ rht_bucket_nested_insert
+ round_jiffies
+ round_jiffies_up
+ skb_checksum_help
+ skb_clone_sk
+ skb_complete_wifi_ack
+ skb_dequeue
+ skb_ensure_writable
+ __skb_get_hash
+ __skb_gso_segment
+ skb_queue_head
+ skb_queue_purge
+ skb_queue_tail
+ unregister_inet6addr_notifier
+ unregister_netdevice_many
+
+# required by max96755f.ko
+ kstrtou8
+
+# required by ohci-hcd.ko
+ dma_pool_alloc
+ dma_pool_create
+ dma_pool_destroy
+ dma_pool_free
+ gen_pool_dma_alloc_align
+ gen_pool_dma_zalloc_align
+ sb800_prefetch
+ schedule_timeout_uninterruptible
+ usb_amd_dev_put
+ usb_amd_quirk_pll_disable
+ usb_amd_quirk_pll_enable
+ usb_hc_died
+ usb_hcd_poll_rh_status
+ usb_hcds_loaded
+ usb_root_hub_lost_power
+
+# required by ohci-platform.ko
+ usb_hcd_platform_shutdown
+
+# required by optee-rng.ko
+ driver_register
+
+# required by optee.ko
+ alloc_pages_exact
+ __arm_smccc_hvc
+ bus_for_each_dev
+ device_register
+ free_pages_exact
+ mas_find
+ memremap
+ memunmap
+ pfn_is_map_memory
+ wait_for_completion_interruptible
+
+# required by panel-simple.ko
+ drm_bus_flags_from_videomode
+ drm_connector_set_panel_orientation
+ drm_panel_of_backlight
+ drm_panel_remove
+ mipi_dsi_compression_mode
+ mipi_dsi_dcs_get_display_brightness
+ mipi_dsi_dcs_set_display_brightness
+ mipi_dsi_dcs_write_buffer
+ mipi_dsi_driver_register_full
+ mipi_dsi_driver_unregister
+ mipi_dsi_generic_write
+ mipi_dsi_picture_parameter_set
+ of_drm_get_panel_orientation
+ of_find_i2c_adapter_by_node
+ of_get_display_timing
+ videomode_from_timing
+
+# required by pcie-dw-rockchip.ko
+ device_release_driver
+ dw_pcie_find_ext_capability
+ dw_pcie_host_init
+ dw_pcie_link_up
+ dw_pcie_read
+ dw_pcie_read_dbi
+ dw_pcie_setup_rc
+ dw_pcie_write
+ dw_pcie_write_dbi
+ generic_handle_irq
+ pci_disable_link_state
+ pci_set_power_state
+
+# required by pcierockchiphost.ko
+ devm_pci_alloc_host_bridge
+ devm_pci_remap_cfg_resource
+ jiffies_to_usecs
+ of_pci_get_max_link_speed
+ pci_host_probe
+ pci_remove_root_bus
+ pci_stop_root_bus
+ regulator_get_current_limit
+
+# required by pcs_xpcs.ko
+ __bitmap_and
+ mdiobus_modify_changed
+ phylink_mii_c22_pcs_decode_state
+ phylink_mii_c22_pcs_encode_advertisement
+
+# required by phy-rockchip-inno-usb2.ko
+ devm_extcon_register_notifier
+ extcon_sync
+
+# required by phy-rockchip-inno-usb3.ko
+ usb_add_phy
+
+# required by phy-rockchip-samsung-hdptx-hdmi.ko
+ of_platform_device_create
+
+# required by phy-rockchip-usbdp.ko
+ usb_get_maximum_speed
+
+# required by pinctrl-rk628.ko
+ irq_domain_xlate_twocell
+ pinctrl_add_gpio_range
+ pinctrl_find_gpio_range_from_pin
+
+# required by pinctrl-rk805.ko
+ device_set_node
+
+# required by pinctrl-rockchip.ko
+ devm_kasprintf_strarray
+ of_find_node_by_phandle
+ of_platform_depopulate
+ of_platform_populate
+ pinconf_generic_parse_dt_config
+ pinctrl_force_default
+ pinctrl_force_sleep
+ pin_get_name
+
+# required by pl330.ko
+ amba_driver_register
+ amba_driver_unregister
+ dma_async_device_register
+ dma_async_device_unregister
+ dma_async_tx_descriptor_init
+ dmaengine_unmap_put
+ dma_get_slave_channel
+ loops_per_jiffy
+ of_dma_controller_free
+ of_dma_controller_register
+ pm_runtime_irq_safe
+
+# required by pm_domains.ko
+ clk_bulk_put
+ of_genpd_add_provider_onecell
+ panic
+ param_get_bool
+ param_set_bool
+ pm_clk_add_clk
+ pm_genpd_add_subdomain
+ pm_genpd_init
+ pm_genpd_remove
+ pm_wq
+
+# required by pwm-regulator.ko
+ regulator_map_voltage_iterate
+
+# required by pwm-rockchip.ko
+ __ndelay
+ pwmchip_add
+ pwmchip_remove
+
+# required by pwm_bl.ko
+ backlight_device_register
+ backlight_device_unregister
+ pwm_free
+ pwm_request
+
+# required by pwrseq_simple.ko
+ bitmap_alloc
+ devm_gpiod_get_array
+ gpiod_set_array_value_cansleep
+ mmc_pwrseq_register
+ mmc_pwrseq_unregister
+
+# required by reboot-mode.ko
+ devres_release
+ kernel_kobj
+ kfree_const
+
+# required by rfkill-rk.ko
+ rfkill_init_sw_state
+ rfkill_set_sw_state
+
+# required by rga3.ko
+ dma_fence_wait_timeout
+ find_vma
+ idr_alloc_cyclic
+ kstrdup_quotable_cmdline
+ mmput
+
+# required by rk628.ko
+ irq_domain_xlate_onetwocell
+ irq_set_parent
+
+# required by rk628_dsi.ko
+ bus_find_device
+ device_match_name
+ platform_bus_type
+
+# required by rk805-pwrkey.ko
+ devm_request_any_context_irq
+
+# required by rk806-core.ko
+ devm_regmap_add_irq_chip
+
+# required by rk806-spi.ko
+ spi_write_then_read
+
+# required by rk808-regulator.ko
+ gpiod_is_active_low
+
+# required by rk808.ko
+ devm_register_sys_off_handler
+ platform_device_add
+ platform_device_alloc
+ register_syscore_ops
+ regmap_add_irq_chip
+ regmap_del_irq_chip
+ unregister_syscore_ops
+
+# required by rk860x-regulator.ko
+ regulator_suspend_enable
+
+# required by rk_crypto.ko
+ crypto_ahash_digest
+ crypto_ahash_finup
+ crypto_dequeue_request
+ crypto_enqueue_request
+ crypto_init_queue
+ crypto_register_ahash
+ crypto_register_akcipher
+ crypto_register_skcipher
+ crypto_req_done
+ crypto_unregister_ahash
+ crypto_unregister_akcipher
+ crypto_unregister_skcipher
+ des_expand_key
+ rsa_parse_priv_key
+ rsa_parse_pub_key
+ scatterwalk_ffwd
+ sg_copy_from_buffer
+ sg_copy_to_buffer
+ sg_nents_for_len
+ sg_pcopy_from_buffer
+ sg_pcopy_to_buffer
+
+# required by rk_fiq_debugger.ko
+ console_lock
+ console_unlock
+ __cpuhp_setup_state
+ cpu_pm_register_notifier
+ of_irq_parse_one
+ oops_in_progress
+ platform_device_register
+
+# required by rk_headset_irq_hook_adc.ko
+ iio_read_channel_raw
+
+# required by rk_ircut.ko
+ drain_workqueue
+
+# required by rk_vcodec.ko
+ devm_iounmap
+ disable_hardirq
+ __fdget
+ __kthread_init_worker
+ kthread_worker_fn
+ proc_create_single_data
+ proc_remove
+ reserve_iova
+
+# required by rknpu.ko
+ dev_pm_domain_attach_by_name
+ dev_pm_domain_detach
+ drm_gem_handle_delete
+ drm_gem_mmap_obj
+ drm_gem_prime_export
+ drm_gem_prime_import_dev
+ of_dma_configure_id
+ set_user_nice
+ vmf_insert_mixed
+ vm_insert_page
+
+# required by rockchip-cpufreq.ko
+ cpufreq_unregister_notifier
+
+# required by rockchip-hdmirx.ko
+ cec_s_phys_addr
+ cpu_latency_qos_remove_request
+ device_create_with_groups
+ of_reserved_mem_device_release
+ v4l2_ctrl_log_status
+ v4l2_ctrl_subscribe_event
+ v4l2_find_dv_timings_cap
+ v4l2_src_change_event_subscribe
+ vb2_fop_read
+
+# required by rockchip-rng.ko
+ devm_of_iomap
+
+# required by rockchip_bus.ko
+ cpu_topology
+
+# required by rockchip_dmc.ko
+ cpufreq_cpu_put
+ cpufreq_quick_get
+ devfreq_event_disable_edev
+ devfreq_event_enable_edev
+ devfreq_event_get_edev_by_phandle
+ devfreq_event_get_edev_count
+ devfreq_event_get_event
+ devfreq_monitor_resume
+ devfreq_monitor_start
+ devfreq_monitor_stop
+ devfreq_monitor_suspend
+ devfreq_update_interval
+ devm_devfreq_register_opp_notifier
+ dev_pm_opp_add
+ input_close_device
+ input_open_device
+ input_register_handle
+ input_register_handler
+ input_unregister_handle
+
+# required by rockchip_dmc_common.ko
+ down_write_trylock
+
+# required by rockchip_headset_core.ko
+ iio_channel_get
+
+# required by rockchip_iommu.ko
+ iommu_device_register
+ iommu_device_sysfs_add
+ iommu_device_sysfs_remove
+ iommu_group_alloc
+ iommu_group_ref_get
+ platform_irq_count
+ report_iommu_fault
+
+# required by rockchip_ipa.ko
+ of_get_compatible_child
+
+# required by rockchip_opp_select.ko
+ dev_pm_opp_of_add_table
+ regulator_get_linear_step
+
+# required by rockchip_pwm_remotectl.ko
+ __tasklet_hi_schedule
+
+# required by rockchip_saradc.ko
+ iio_get_time_ns
+ iio_trigger_notify_done
+
+# required by rockchip_system_monitor.ko
+ add_cpu
+ bitmap_parselist
+ compat_only_sysfs_link_entry_to_kobj
+ dev_pm_qos_add_request
+ dev_pm_qos_remove_request
+ dev_pm_qos_update_request
+ remove_cpu
+ thermal_zone_get_temp
+
+# required by rockchip_thermal.ko
+ devm_clk_put
+ devm_thermal_of_zone_register
+ thermal_zone_device_disable
+ thermal_zone_device_enable
+ thermal_zone_device_update
+
+# required by rockchipdrm.ko
+ adjust_managed_page_count
+ component_add
+ component_bind_all
+ component_compare_dev
+ component_del
+ component_master_add_with_match
+ component_master_del
+ component_match_add_release
+ component_unbind_all
+ devm_of_phy_get_by_index
+ driver_find_device
+ drm_aperture_remove_conflicting_framebuffers
+ drm_atomic_commit
+ drm_atomic_get_plane_state
+ drm_atomic_helper_check
+ drm_atomic_helper_check_plane_state
+ drm_atomic_helper_cleanup_planes
+ drm_atomic_helper_commit
+ drm_atomic_helper_commit_hw_done
+ drm_atomic_helper_commit_modeset_disables
+ drm_atomic_helper_commit_modeset_enables
+ drm_atomic_helper_commit_planes
+ __drm_atomic_helper_connector_destroy_state
+ __drm_atomic_helper_connector_duplicate_state
+ __drm_atomic_helper_connector_reset
+ __drm_atomic_helper_crtc_destroy_state
+ __drm_atomic_helper_crtc_duplicate_state
+ __drm_atomic_helper_disable_plane
+ drm_atomic_helper_duplicate_state
+ drm_atomic_helper_fake_vblank
+ drm_atomic_helper_page_flip
+ __drm_atomic_helper_plane_destroy_state
+ __drm_atomic_helper_plane_duplicate_state
+ __drm_atomic_helper_plane_reset
+ drm_atomic_helper_set_config
+ drm_atomic_helper_shutdown
+ drm_atomic_helper_swap_state
+ drm_atomic_helper_wait_for_vblanks
+ drm_atomic_set_crtc_for_connector
+ drm_atomic_set_crtc_for_plane
+ drm_atomic_set_fb_for_plane
+ drm_atomic_set_mode_for_crtc
+ drm_atomic_state_alloc
+ __drm_atomic_state_free
+ drm_bridge_chain_mode_set
+ drm_bridge_get_edid
+ drm_connector_list_update
+ drm_crtc_cleanup
+ drm_crtc_enable_color_mgmt
+ drm_crtc_from_index
+ drm_crtc_handle_vblank
+ drm_crtc_init_with_planes
+ drm_crtc_send_vblank_event
+ drm_crtc_vblank_get
+ drm_crtc_vblank_off
+ drm_crtc_vblank_on
+ drm_crtc_vblank_put
+ drm_do_get_edid
+ drm_encoder_cleanup
+ drm_encoder_init
+ drm_event_reserve_init_locked
+ drm_firmware_drivers_only
+ drm_flip_work_cleanup
+ drm_flip_work_commit
+ drm_flip_work_init
+ drm_flip_work_queue
+ drm_format_info
+ drm_format_info_min_pitch
+ drm_framebuffer_cleanup
+ drm_framebuffer_init
+ drm_gem_dmabuf_export
+ drm_gem_dmabuf_mmap
+ drm_gem_dmabuf_release
+ drm_gem_dmabuf_vmap
+ drm_gem_dmabuf_vunmap
+ drm_gem_fb_afbc_init
+ drm_gem_fb_create_handle
+ drm_gem_fb_init_with_funcs
+ drm_gem_map_attach
+ drm_gem_map_detach
+ drm_gem_map_dma_buf
+ drm_gem_unmap_dma_buf
+ drm_get_format_info
+ drm_helper_mode_fill_fb_struct
+ drm_kms_helper_poll_enable
+ drm_kms_helper_poll_fini
+ drm_kms_helper_poll_init
+ drm_mm_init
+ drm_mm_insert_node_in_range
+ drmm_mode_config_init
+ drm_mm_print
+ drm_mm_remove_node
+ drm_mm_reserve_node
+ drm_mm_takedown
+ drm_mode_config_cleanup
+ drm_mode_config_helper_resume
+ drm_mode_config_helper_suspend
+ drm_mode_config_reset
+ drm_mode_create_hdmi_colorspace_property
+ drm_mode_create_tv_properties
+ drm_mode_crtc_set_gamma_size
+ drm_mode_debug_printmodeline
+ drm_mode_is_420
+ drm_mode_object_get
+ drm_mode_prune_invalid
+ drm_mode_set_crtcinfo
+ drm_modeset_lock_all
+ drm_modeset_unlock_all
+ drm_mode_sort
+ drm_mode_validate_size
+ drm_mode_validate_ycbcr420
+ drm_of_crtc_port_mask
+ drm_of_encoder_active_endpoint
+ drm_plane_cleanup
+ drm_plane_create_alpha_property
+ drm_plane_create_blend_mode_property
+ drm_plane_create_rotation_property
+ drm_plane_create_zpos_property
+ __drm_printfn_seq_file
+ drm_property_blob_get
+ drm_property_blob_put
+ drm_property_create
+ drm_property_create_bitmask
+ drm_property_create_bool
+ drm_property_create_object
+ drm_property_create_range
+ drm_property_destroy
+ drm_property_lookup_blob
+ drm_property_replace_blob
+ __drm_puts_seq_file
+ drm_rect_calc_hscale
+ drm_self_refresh_helper_cleanup
+ drm_self_refresh_helper_init
+ drm_send_event_locked
+ drm_simple_encoder_init
+ drm_universal_plane_init
+ drm_vblank_init
+ drm_writeback_connector_init
+ drm_writeback_queue_job
+ drm_writeback_signal_completion
+ hdmi_drm_infoframe_pack_only
+ iommu_domain_alloc
+ iommu_domain_free
+ memblock_free
+ mipi_dsi_packet_format_is_short
+ of_clk_set_defaults
+ of_find_backlight_by_node
+ of_fwnode_ops
+ of_get_next_parent
+ of_graph_get_port_by_id
+ of_graph_get_remote_endpoint
+ of_graph_get_remote_port
+ phy_mipi_dphy_get_default_config
+ platform_find_device_by_driver
+ __platform_register_drivers
+ platform_unregister_drivers
+ system_unbound_wq
+ __vmalloc
+
+# required by rtc-rk808.ko
+ rtc_update_irq
+
+# required by sdhci-of-arasan.ko
+ sdhci_add_host
+ sdhci_cqe_disable
+ sdhci_cqe_enable
+ sdhci_cqe_irq
+ sdhci_dumpregs
+ sdhci_execute_tuning
+ sdhci_pltfm_unregister
+ sdhci_set_power_and_bus_voltage
+ sdhci_set_uhs_signaling
+
+# required by sdhci-of-dwcmshc.ko
+ devm_clk_bulk_get_optional
+ dma_get_required_mask
+ sdhci_adma_write_desc
+ sdhci_remove_host
+ sdhci_request
+
+# required by sg.ko
+ blk_execute_rq_nowait
+ blk_mq_free_request
+ blk_rq_map_user_io
+ blk_rq_unmap_user
+ cdev_alloc
+ class_interface_unregister
+ fasync_helper
+ get_sg_io_hdr
+ kill_fasync
+ __module_get
+ put_sg_io_hdr
+ _raw_write_lock_irq
+ _raw_write_unlock_irq
+ register_sysctl
+ scsi_alloc_request
+ scsi_autopm_get_device
+ scsi_autopm_put_device
+ scsi_block_when_processing_errors
+ scsi_cmd_allowed
+ scsi_command_size_tbl
+ scsi_device_get
+ scsi_device_put
+ scsi_ioctl
+ scsi_ioctl_block_when_processing_errors
+ scsi_normalize_sense
+ __scsi_print_sense
+ scsi_register_interface
+ sdev_prefix_printk
+
+# required by sha1-ce.ko
+ crypto_register_shash
+ crypto_sha1_finup
+ crypto_sha1_update
+ crypto_unregister_shash
+ fpsimd_context_busy
+ irq_stat
+
+# required by sii902x.ko
+ hdmi_avi_infoframe_pack
+
+# required by smsc.ko
+ devm_clk_get_optional_enabled
+ phy_error
+ phy_trigger_machine
+
+# required by smsc95xx.ko
+ __irq_domain_alloc_fwnode
+ irq_domain_free_fwnode
+ irq_domain_simple_ops
+ __mdiobus_register
+ net_selftest
+ net_selftest_get_count
+ net_selftest_get_strings
+ phy_connect_direct
+ phy_disconnect
+ phy_ethtool_get_link_ksettings
+ phy_ethtool_nway_reset
+ phy_ethtool_set_link_ksettings
+ phy_find_first
+ phy_get_pause
+ phy_init_hw
+ phy_mii_ioctl
+ phy_print_status
+ phy_start
+ phy_stop
+ usb_autopm_get_interface_no_resume
+
+# required by snd-soc-aw883xx.ko
+ snd_soc_register_component
+
+# required by snd-soc-es8316.ko
+ snd_pcm_hw_constraint_list
+
+# required by snd-soc-hdmi-codec.ko
+ snd_ctl_add
+ snd_ctl_new1
+ snd_pcm_add_chmap_ctls
+ snd_pcm_create_iec958_consumer_default
+ snd_pcm_fill_iec958_consumer
+ snd_pcm_fill_iec958_consumer_hw_params
+ snd_pcm_hw_constraint_eld
+ snd_pcm_stop
+
+# required by snd-soc-rk817.ko
+ snd_soc_component_exit_regmap
+ snd_soc_component_init_regmap
+
+# required by snd-soc-rockchip-hdmi.ko
+ snd_soc_dapm_new_widgets
+
+# required by snd-soc-rockchip-multicodecs.ko
+ snd_soc_dapm_get_pin_switch
+ snd_soc_dapm_info_pin_switch
+ snd_soc_dapm_put_pin_switch
+ snd_soc_jack_add_zones
+ snd_soc_jack_get_type
+
+# required by snd-soc-rockchip-spdif.ko
+ snd_pcm_create_iec958_consumer_hw_params
+
+# required by snd-soc-rt5640.ko
+ regmap_register_patch
+ snd_soc_dapm_force_bias_level
+
+# required by snd-soc-simple-card-utils.ko
+ devm_kvasprintf
+ snd_pcm_hw_constraint_minmax
+ snd_soc_component_set_sysclk
+ snd_soc_dai_active
+ snd_soc_dai_set_tdm_slot
+ snd_soc_of_parse_audio_simple_widgets
+ snd_soc_of_parse_pin_switches
+ snd_soc_runtime_calc_hw
+
+# required by snd-soc-simple-card.ko
+ snd_soc_dai_link_set_capabilities
+ snd_soc_of_get_dai_name
+ snd_soc_of_parse_aux_devs
+ snd_soc_of_parse_node_prefix
+ snd_soc_of_parse_tdm_slot
+
+# required by spi-rockchip.ko
+ devm_spi_register_controller
+ __spi_alloc_controller
+ spi_controller_resume
+ spi_controller_suspend
+
+# required by spidev.ko
+ __register_chrdev
+ stream_open
+ __unregister_chrdev
+
+# required by stmmac-platform.ko
+ device_get_phy_mode
+ of_get_mac_address
+ of_phy_is_fixed_link
+ platform_get_irq_byname_optional
+
+# required by stmmac.ko
+ bpf_dispatcher_xdp_func
+ bpf_master_redirect_enabled_key
+ bpf_prog_put
+ bpf_stats_enabled_key
+ bpf_warn_invalid_xdp_action
+ devm_alloc_etherdev_mqs
+ dql_completed
+ dql_reset
+ ethtool_convert_legacy_u32_to_link_mode
+ ethtool_convert_link_mode_to_legacy_u32
+ flow_block_cb_setup_simple
+ flow_rule_match_basic
+ flow_rule_match_ipv4_addrs
+ flow_rule_match_ports
+ flow_rule_match_vlan
+ fwnode_get_named_child_node
+ fwnode_get_phy_node
+ get_device_system_crosststamp
+ mdiobus_get_phy
+ mdio_device_create
+ mdio_device_free
+ __napi_alloc_skb
+ napi_complete_done
+ napi_disable
+ napi_enable
+ __napi_schedule
+ napi_schedule_prep
+ netdev_alert
+ netdev_pick_tx
+ netdev_rss_key_fill
+ netif_device_attach
+ netif_device_detach
+ netif_napi_add_weight
+ __netif_napi_del
+ netif_schedule_queue
+ netif_set_real_num_rx_queues
+ netif_set_real_num_tx_queues
+ __num_online_cpus
+ __of_mdiobus_register
+ page_pool_alloc_pages
+ page_pool_create
+ page_pool_destroy
+ page_pool_put_defragged_page
+ page_pool_release_page
+ phy_init_eee
+ phylink_connect_phy
+ phylink_create
+ phylink_destroy
+ phylink_disconnect_phy
+ phylink_ethtool_get_eee
+ phylink_ethtool_get_pauseparam
+ phylink_ethtool_get_wol
+ phylink_ethtool_ksettings_get
+ phylink_ethtool_ksettings_set
+ phylink_ethtool_nway_reset
+ phylink_ethtool_set_eee
+ phylink_ethtool_set_pauseparam
+ phylink_ethtool_set_wol
+ phylink_expects_phy
+ phylink_fwnode_phy_connect
+ phylink_generic_validate
+ phylink_get_eee_err
+ phylink_mii_ioctl
+ phylink_resume
+ phylink_speed_down
+ phylink_speed_up
+ phylink_start
+ phylink_stop
+ phylink_suspend
+ ptp_clock_event
+ ptp_clock_index
+ ptp_clock_register
+ ptp_clock_unregister
+ reset_control_reset
+ skb_tstamp_tx
+ __traceiter_xdp_exception
+ __tracepoint_xdp_exception
+ xdp_convert_zc_to_xdp_frame
+ xdp_do_flush
+ xdp_do_redirect
+ xdp_master_redirect
+ xdp_return_frame
+ xdp_return_frame_rx_napi
+ xdp_rxq_info_is_reg
+ __xdp_rxq_info_reg
+ xdp_rxq_info_reg_mem_model
+ xdp_rxq_info_unreg
+ xdp_rxq_info_unreg_mem_model
+ xdp_warn
+ xp_alloc
+ xp_dma_map
+ xp_dma_sync_for_cpu_slow
+ xp_dma_sync_for_device_slow
+ xp_dma_unmap
+ xp_free
+ xp_raw_get_dma
+ xp_set_rxq_info
+ xsk_clear_rx_need_wakeup
+ xsk_get_pool_from_qid
+ xsk_set_rx_need_wakeup
+ xsk_set_tx_need_wakeup
+ xsk_tx_completed
+ xsk_tx_peek_desc
+ xsk_tx_release
+ xsk_uses_need_wakeup
+
+# required by sw_sync.ko
+ dma_fence_free
+ dma_fence_signal_locked
+ __get_task_comm
+
+# required by system_heap.ko
+ dmabuf_page_pool_alloc
+ dmabuf_page_pool_create
+ dmabuf_page_pool_destroy
+ dmabuf_page_pool_free
+ dmabuf_page_pool_get_size
+ dma_heap_get_dev
+ __sg_page_iter_next
+ __sg_page_iter_start
+
+# required by tcpci_husb311.ko
+ tcpci_get_tcpm_port
+ tcpci_irq
+ tcpci_register_port
+ tcpci_unregister_port
+
+# required by tee.ko
+ add_uevent_var
+ bus_register
+ bus_unregister
+ class_find_device
+ crypto_shash_final
+ gen_pool_first_fit_align
+ gen_pool_virt_to_phys
+ get_kernel_pages
+ idr_replace
+ in_egroup_p
+ pin_user_pages_fast
+ unpin_user_pages
+ uuid_null
+ vmalloc_to_page
+
+# required by timer-rockchip.ko
+ clockevents_config_and_register
+
+# required by tps65132-regulator.ko
+ regulator_set_active_discharge_regmap
+
+# required by trancevibrator.ko
+ usb_get_dev
+ usb_put_dev
+
+# required by twofish_generic.ko
+ crypto_register_alg
+ crypto_unregister_alg
+
+# required by usblp.ko
+ add_wait_queue
+ default_wake_function
+ remove_wait_queue
+ stpcpy
+ usb_anchor_urb
+ usb_find_common_endpoints
+ usb_find_interface
+ usb_get_intf
+ usb_kill_anchored_urbs
+ usb_poison_anchored_urbs
+ usb_put_intf
+ usb_unanchor_urb
+
+# required by v4l2-async.ko
+ fwnode_handle_get
+ media_create_ancillary_link
+
+# required by v4l2-fwnode.ko
+ fwnode_graph_parse_endpoint
+ fwnode_property_get_reference_args
+ fwnode_property_read_string
+ fwnode_property_read_u64_array
+
+# required by video_rkcif.ko
+ media_entity_setup_link
+
+# required by video_rkisp.ko
+ param_ops_ullong
+ v4l2_ctrl_poll
+
+# required by videobuf2-cma-sg.ko
+ frame_vector_to_pages
+ split_page
+ vb2_common_vm_ops
+ vb2_create_framevec
+ vb2_destroy_framevec
+ vm_map_ram
+ vm_unmap_ram
+
+# required by vl6180.ko
+ iio_read_const_attr
diff --git a/android/abi_gki_aarch64_tuxera b/android/abi_gki_aarch64_tuxera
new file mode 100644
index 000000000000..cbffd3f1685f
--- /dev/null
+++ b/android/abi_gki_aarch64_tuxera
@@ -0,0 +1,280 @@
+[abi_symbol_list]
+ alt_cb_patch_nops
+ __arch_copy_from_user
+ __arch_copy_to_user
+ autoremove_wake_function
+ balance_dirty_pages_ratelimited
+ bcmp
+ __bforget
+ __bh_read_batch
+ bio_add_page
+ bio_alloc_bioset
+ bio_put
+ __bitmap_weight
+ bit_waitqueue
+ blkdev_issue_discard
+ blkdev_issue_flush
+ blk_finish_plug
+ blk_start_plug
+ __blockdev_direct_IO
+ block_dirty_folio
+ block_invalidate_folio
+ block_is_partially_uptodate
+ __breadahead
+ __bread_gfp
+ __brelse
+ buffer_migrate_folio
+ call_rcu
+ capable
+ capable_wrt_inode_uidgid
+ __check_object_size
+ clean_bdev_aliases
+ clear_inode
+ clear_page
+ clear_page_dirty_for_io
+ copy_page_from_iter_atomic
+ cpu_hwcaps
+ create_empty_buffers
+ current_umask
+ d_add
+ d_add_ci
+ d_instantiate
+ d_make_root
+ d_obtain_alias
+ down_read
+ down_write
+ down_write_trylock
+ dput
+ drop_nlink
+ d_splice_alias
+ dump_stack
+ end_buffer_read_sync
+ end_buffer_write_sync
+ end_page_writeback
+ errseq_set
+ fault_in_iov_iter_readable
+ fault_in_safe_writeable
+ fget
+ fiemap_fill_next_extent
+ fiemap_prep
+ file_check_and_advance_wb_err
+ filemap_add_folio
+ filemap_dirty_folio
+ filemap_fault
+ filemap_fdatawait_range
+ filemap_fdatawrite
+ filemap_fdatawrite_range
+ filemap_flush
+ __filemap_set_wb_err
+ filemap_write_and_wait_range
+ file_remove_privs
+ file_update_time
+ file_write_and_wait_range
+ finish_wait
+ flush_dcache_page
+ __folio_alloc
+ __folio_cancel_dirty
+ __folio_lock
+ __folio_put
+ folio_wait_bit
+ folio_write_one
+ fortify_panic
+ fput
+ freezer_active
+ freezing_slow_path
+ fs_bio_set
+ generic_error_remove_page
+ generic_file_direct_write
+ generic_file_llseek
+ generic_file_mmap
+ generic_file_open
+ generic_file_read_iter
+ generic_file_splice_read
+ generic_fillattr
+ generic_perform_write
+ generic_read_dir
+ generic_write_checks
+ __getblk_gfp
+ gic_nonsecure_priorities
+ grab_cache_page_write_begin
+ iget5_locked
+ igrab
+ ihold
+ ilookup5
+ inc_nlink
+ in_group_p
+ __init_rwsem
+ init_special_inode
+ init_wait_entry
+ __init_waitqueue_head
+ inode_dio_wait
+ inode_init_once
+ inode_init_owner
+ inode_maybe_inc_iversion
+ inode_newsize_ok
+ inode_set_flags
+ __insert_inode_hash
+ invalidate_bdev
+ invalidate_inode_pages2_range
+ invalidate_mapping_pages
+ io_schedule
+ iov_iter_advance
+ iov_iter_alignment
+ iov_iter_get_pages2
+ iov_iter_single_seg_count
+ iput
+ is_bad_inode
+ iter_file_splice_write
+ iunique
+ jiffies
+ jiffies_to_msecs
+ kasan_flag_enabled
+ kfree
+ kill_block_super
+ __kmalloc
+ kmalloc_caches
+ kmalloc_trace
+ kmem_cache_alloc
+ kmem_cache_alloc_lru
+ kmem_cache_create
+ kmem_cache_create_usercopy
+ kmem_cache_destroy
+ kmem_cache_free
+ krealloc
+ kthread_complete_and_exit
+ kthread_create_on_node
+ kthread_should_stop
+ kthread_stop
+ ktime_get_coarse_real_ts64
+ kvfree
+ __list_add_valid
+ __list_del_entry_valid
+ load_nls
+ load_nls_default
+ __lock_buffer
+ make_bad_inode
+ mark_buffer_async_write
+ mark_buffer_dirty
+ mark_buffer_write_io_error
+ __mark_inode_dirty
+ mark_page_accessed
+ memcmp
+ memcpy
+ memmove
+ memset
+ mktime64
+ mnt_drop_write_file
+ mnt_want_write_file
+ mount_bdev
+ mpage_readahead
+ mpage_read_folio
+ __msecs_to_jiffies
+ __mutex_init
+ mutex_lock
+ mutex_trylock
+ mutex_unlock
+ new_inode
+ notify_change
+ pagecache_get_page
+ page_cache_next_miss
+ page_cache_prev_miss
+ page_pinner_inited
+ __page_pinner_put_page
+ pagevec_lookup_range_tag
+ __pagevec_release
+ page_zero_new_buffers
+ __percpu_down_read
+ preempt_schedule
+ preempt_schedule_notrace
+ prepare_to_wait
+ prepare_to_wait_event
+ _printk
+ __printk_ratelimit
+ ___ratelimit
+ _raw_read_lock
+ _raw_read_lock_irqsave
+ _raw_read_unlock
+ _raw_read_unlock_irqrestore
+ _raw_spin_lock
+ _raw_spin_lock_irqsave
+ _raw_spin_unlock
+ _raw_spin_unlock_irqrestore
+ _raw_write_lock
+ _raw_write_lock_irqsave
+ _raw_write_unlock
+ _raw_write_unlock_irqrestore
+ rcu_barrier
+ rcuwait_wake_up
+ readahead_gfp_mask
+ read_cache_page
+ redirty_page_for_writepage
+ __refrigerator
+ register_filesystem
+ __remove_inode_hash
+ sb_min_blocksize
+ sb_set_blocksize
+ schedule
+ schedule_timeout
+ schedule_timeout_interruptible
+ security_inode_init_security
+ seq_printf
+ setattr_prepare
+ set_freezable
+ set_nlink
+ set_page_dirty
+ __set_page_dirty_nobuffers
+ set_page_writeback
+ set_user_nice
+ simple_strtol
+ simple_strtoul
+ simple_strtoull
+ snprintf
+ sprintf
+ sscanf
+ __stack_chk_fail
+ strchr
+ strcmp
+ strlen
+ strncasecmp
+ strncmp
+ strsep
+ strstr
+ submit_bh
+ submit_bio
+ sync_blockdev
+ __sync_dirty_buffer
+ sync_dirty_buffer
+ sync_filesystem
+ sync_inode_metadata
+ sys_tz
+ tag_pages_for_writeback
+ time64_to_tm
+ timestamp_truncate
+ touch_atime
+ _trace_android_vh_record_pcpu_rwsem_starttime
+ _trace_android_vh_record_pcpu_rwsem_time_early
+ truncate_inode_pages
+ truncate_inode_pages_final
+ truncate_pagecache
+ truncate_setsize
+ try_to_writeback_inodes_sb
+ unload_nls
+ unlock_buffer
+ unlock_new_inode
+ unlock_page
+ unregister_filesystem
+ up_read
+ up_write
+ vfree
+ vfs_fsync_range
+ __vmalloc
+ vmalloc
+ vsnprintf
+ vzalloc
+ __wait_on_buffer
+ wake_bit_function
+ __wake_up
+ wake_up_process
+ __warn_printk
+ write_inode_now
+ xa_load
diff --git a/android/abi_gki_aarch64_unisoc b/android/abi_gki_aarch64_unisoc
index f2724b1aa984..af9b8e60d708 100644
--- a/android/abi_gki_aarch64_unisoc
+++ b/android/abi_gki_aarch64_unisoc
@@ -1,5 +1,6 @@
[abi_symbol_list]
# commonly used symbols
+ access_process_vm
add_cpu
add_wait_queue
add_wait_queue_exclusive
@@ -14,6 +15,8 @@
__alloc_skb
alloc_workqueue
alt_cb_patch_nops
+ android_debug_per_cpu_symbol
+ android_debug_symbol
arch_freq_scale
__arch_copy_from_user
__arch_copy_to_user
@@ -171,6 +174,7 @@
dma_unmap_page_attrs
do_trace_netlink_extack
double_rq_lock
+ down
down_read
down_write
driver_unregister
@@ -181,6 +185,7 @@
__dynamic_dev_dbg
__dynamic_netdev_dbg
__dynamic_pr_debug
+ inet_proto_csum_replace4
init_task
enable_irq
eth_mac_addr
@@ -191,7 +196,10 @@
eth_type_trans
eth_validate_addr
extcon_get_state
+ filp_open_block
+ find_get_pid
_find_next_bit
+ find_task_by_vpid
finish_wait
flush_delayed_work
flush_work
@@ -217,6 +225,7 @@
get_device
__get_free_pages
get_random_bytes
+ get_zeroed_page
gic_nonsecure_priorities
gpiochip_disable_irq
gpiochip_enable_irq
@@ -286,6 +295,10 @@
kmem_cache_destroy
kmem_cache_free
kmemdup
+ kmsg_dump_get_buffer
+ kmsg_dump_register
+ kmsg_dump_rewind
+ kmsg_dump_unregister
kobject_uevent
kobject_uevent_env
ksoftirqd
@@ -310,11 +323,13 @@
log_post_write_mmio
log_read_mmio
log_write_mmio
+ mas_find
mbox_chan_received_data
mbox_chan_txdone
memcpy
memmove
memset
+ mem_section
memstart_addr
migrate_swap
misc_deregister
@@ -354,12 +369,15 @@
netlink_unicast
net_ratelimit
nf_conntrack_destroy
+ nf_conntrack_find_get
+ nf_ct_destroy
nla_memcpy
__nla_parse
nla_put
nla_put_64bit
nla_strscpy
__nlmsg_put
+ node_states
noop_llseek
nr_cpu_ids
ns_capable
@@ -394,6 +412,7 @@
param_ops_int
param_ops_uint
pcpu_nr_pages
+ percpu_counter_batch
__per_cpu_offset
perf_trace_buf_alloc
perf_trace_run_bpf_submit
@@ -437,9 +456,11 @@
__pskb_copy_fclone
pskb_expand_head
__pskb_pull_tail
+ pskb_trim_rcsum_slow
put_cmsg
put_device
__put_net
+ put_pid
__put_task_struct
queue_delayed_work_on
queue_work_on
@@ -498,6 +519,7 @@
request_threaded_irq
return_address
root_task_group
+ rt6_lookup
rtc_time64_to_tm
rtnl_is_locked
rtnl_link_register
@@ -513,6 +535,7 @@
scnprintf
security_sk_clone
security_sock_graft
+ send_sig_info
seq_buf_printf
seq_lseek
seq_printf
@@ -552,6 +575,8 @@
skb_unlink
sk_error_report
sk_free
+ snd_ctl_find_id
+ snd_info_get_line
snprintf
sock_alloc_send_pskb
sock_create_kern
@@ -688,9 +713,11 @@
__traceiter_android_vh_cpufreq_target
__traceiter_android_vh_cpu_idle_enter
__traceiter_android_vh_cpu_idle_exit
+ __traceiter_android_vh_enable_thermal_power_throttle
__traceiter_android_vh_get_thermal_zone_device
__traceiter_android_vh_modify_thermal_request_freq
__traceiter_android_vh_modify_thermal_target_freq
+ __traceiter_android_vh_regmap_update
__traceiter_android_vh_scheduler_tick
__traceiter_android_vh_thermal_power_cap
__traceiter_android_vh_thermal_register
@@ -765,9 +792,11 @@
__tracepoint_android_vh_cpufreq_target
__tracepoint_android_vh_cpu_idle_enter
__tracepoint_android_vh_cpu_idle_exit
+ __tracepoint_android_vh_enable_thermal_power_throttle
__tracepoint_android_vh_get_thermal_zone_device
__tracepoint_android_vh_modify_thermal_request_freq
__tracepoint_android_vh_modify_thermal_target_freq
+ __tracepoint_android_vh_regmap_update
__tracepoint_android_vh_scheduler_tick
__tracepoint_android_vh_thermal_power_cap
__tracepoint_android_vh_thermal_register
@@ -819,6 +848,7 @@
unregister_pernet_device
unregister_pernet_subsys
unregister_pm_notifier
+ up
up_read
up_write
update_rq_clock
@@ -1204,6 +1234,17 @@
sock_common_recvmsg
sock_common_setsockopt
+# required by ims_bridge.ko
+ icmp6_send
+ inet_select_addr
+ ip6_find_1stfragopt
+ ip6_route_output_flags
+ ipv6_dev_get_saddr
+ ipv6_select_ident
+ nf_ct_get_tuplepr
+ nf_ct_invert_tuple
+ xfrm_state_afinfo_get_rcu
+
# required by kfifo_buf.ko
devres_add
__devres_alloc_node
@@ -1444,6 +1485,9 @@
power_supply_put
power_supply_temp2resist_simple
+# required by sc27xx_pd.ko
+ devm_extcon_register_notifier_all
+
# required by sc27xx_typec.ko
devm_extcon_dev_allocate
devm_extcon_dev_register
@@ -1537,12 +1581,20 @@
spi_controller_suspend
spi_finalize_current_transfer
+# required by sprd-audio-codec.ko
+ regulator_register
+ snd_pcm_rate_bit_to_rate
+ snd_pcm_rate_to_rate_bit
+
# required by sprd-bc1p2.ko
kthread_flush_worker
__kthread_init_worker
kthread_queue_work
kthread_worker_fn
+# required by sprd-charger-manager.ko
+ orderly_poweroff
+
# required by sprd-dma.ko
dma_async_device_register
dma_async_device_unregister
@@ -1618,14 +1670,18 @@
drm_poll
drm_read
drm_release
+ drm_send_event_timestamp_locked
drm_vblank_init
mipi_dsi_host_register
mipi_dsi_host_unregister
+ mipi_dsi_set_maximum_return_packet_size
of_drm_find_bridge
+ of_get_drm_display_mode
of_graph_get_port_by_id
of_graph_get_remote_node
__platform_register_drivers
platform_unregister_drivers
+ regmap_get_reg_stride
# required by sprd-iommu.ko
iommu_device_register
@@ -1651,6 +1707,30 @@
dev_pm_opp_add
update_devfreq
+# required by sprd_tcpm.ko
+ typec_altmode_attention
+ typec_altmode_notify
+ typec_altmode_update_active
+ typec_altmode_vdm
+ typec_find_power_role
+ typec_match_altmode
+ typec_partner_register_altmode
+ typec_port_register_altmode
+ typec_set_mode
+ typec_unregister_altmode
+
+# required by sprd_thermal_ctl.ko
+ cpufreq_quick_get_max
+ devfreq_cooling_em_register
+ devfreq_cooling_unregister
+
+# required by sprd_soc_thm.ko
+ thermal_of_zone_unregister
+ thermal_zone_bind_cooling_device
+ thermal_zone_device_register_with_trips
+ thermal_zone_device_update
+ thermal_zone_unbind_cooling_device
+
# required by sprd_hwspinlock.ko
devm_hwspin_lock_register
@@ -1693,6 +1773,9 @@
devm_watchdog_register_device
watchdog_init_timeout
+# required by sprdbt_tty.ko
+ tty_port_link_device
+
# required by sysdump.ko
android_rvh_probe_register
input_close_device
@@ -1796,6 +1879,7 @@
sk_stop_timer
sock_recvmsg
sock_rfree
+ strcasecmp
strchr
strrchr
sysctl_vals
@@ -1829,6 +1913,8 @@
# required by trusty-log.ko
vm_map_ram
vm_unmap_ram
+# required by sprd_time_sync_cp.ko
+ pvclock_gtod_register_notifier
# required by trusty-pm.ko
unregister_syscore_ops
diff --git a/android/abi_gki_aarch64_vivo b/android/abi_gki_aarch64_vivo
index 934892f00111..679c37e8b995 100644
--- a/android/abi_gki_aarch64_vivo
+++ b/android/abi_gki_aarch64_vivo
@@ -164,6 +164,7 @@
__kfifo_to_user
__kfifo_to_user_r
__kmalloc
+ __kmalloc_node
__kmalloc_node_track_caller
__kthread_init_worker
__list_add_valid
@@ -240,6 +241,7 @@
__reset_control_get
__rht_bucket_nested
__rt_mutex_init
+ __sbitmap_queue_get
__scsi_add_device
__scsi_iterate_devices
__scsi_print_sense
@@ -417,6 +419,7 @@
__traceiter_android_vh_try_to_freeze_todo
__traceiter_android_vh_try_to_freeze_todo_unfrozen
__traceiter_android_vh_try_to_unmap_one
+ __traceiter_android_vh_tune_scan_type
__traceiter_android_vh_ufs_check_int_errors
__traceiter_android_vh_ufs_clock_scaling
__traceiter_android_vh_ufs_compl_command
@@ -430,6 +433,7 @@
__traceiter_android_vh_update_topology_flags_workfn
__traceiter_android_vh_watchdog_timer_softlockup
__traceiter_binder_transaction_received
+ __traceiter_block_rq_insert
__traceiter_clock_set_rate
__traceiter_console
__traceiter_cpu_frequency_limits
@@ -585,6 +589,7 @@
__tracepoint_android_vh_try_to_unmap_one
__tracepoint_android_vh_try_to_freeze_todo
__tracepoint_android_vh_try_to_freeze_todo_unfrozen
+ __tracepoint_android_vh_tune_scan_type
__tracepoint_android_vh_ufs_check_int_errors
__tracepoint_android_vh_ufs_clock_scaling
__tracepoint_android_vh_ufs_compl_command
@@ -598,6 +603,7 @@
__tracepoint_android_vh_update_topology_flags_workfn
__tracepoint_android_vh_watchdog_timer_softlockup
__tracepoint_binder_transaction_received
+ __tracepoint_block_rq_insert
__tracepoint_clock_set_rate
__tracepoint_console
__tracepoint_cpu_frequency_limits
@@ -798,12 +804,15 @@
bitmap_release_region
bitmap_to_arr32
bitmap_zalloc
+ blk_bio_list_merge
blk_execute_rq
blk_execute_rq_nowait
+ blk_fill_rwbs
blk_mq_alloc_request
blk_mq_alloc_sq_tag_set
blk_mq_alloc_tag_set
blk_mq_complete_request
+ blk_mq_debugfs_rq_show
blk_mq_end_request
blk_mq_end_request_batch
blk_mq_free_request
@@ -814,6 +823,7 @@
blk_mq_quiesce_queue
blk_mq_requeue_request
blk_mq_rq_cpu
+ blk_mq_run_hw_queue
blk_mq_start_request
blk_mq_start_stopped_hw_queues
blk_mq_stop_hw_queue
@@ -843,6 +853,8 @@
blk_rq_map_user_io
blk_rq_map_user_iov
blk_rq_unmap_user
+ blk_stat_disable_accounting
+ blk_stat_enable_accounting
blk_status_to_errno
blk_update_request
blkdev_get_by_dev
@@ -1986,6 +1998,9 @@
edac_device_free_ctl_info
edac_device_handle_ce_count
edac_device_handle_ue_count
+ elv_register
+ elv_unregister
+ elevator_alloc
em_cpu_get
emergency_restart
enable_irq
@@ -3832,6 +3847,15 @@
safe_candev_priv
sampling_rate_store
sb800_prefetch
+ sbitmap_add_wait_queue
+ sbitmap_any_bit_set
+ sbitmap_del_wait_queue
+ sbitmap_init_node
+ sbitmap_queue_clear
+ sbitmap_queue_init_node
+ sbitmap_queue_min_shallow_depth
+ sbitmap_queue_resize
+ sbitmap_queue_show
scatterwalk_ffwd
scatterwalk_map_and_copy
sched_clock
@@ -3924,6 +3948,8 @@
seq_hex_dump
seq_hlist_next
seq_hlist_start_head
+ seq_list_next
+ seq_list_start
seq_lseek
seq_open
seq_printf
@@ -4419,6 +4445,7 @@
timecounter_cyc2time
timecounter_init
timecounter_read
+ timer_reduce
timer_unstable_counter_workaround
timespec64_to_jiffies
tipc_dump_done
diff --git a/android/abi_gki_aarch64_xiaomi b/android/abi_gki_aarch64_xiaomi
index 759d39f44517..5c5426861df6 100644
--- a/android/abi_gki_aarch64_xiaomi
+++ b/android/abi_gki_aarch64_xiaomi
@@ -144,6 +144,9 @@
sbitmap_weight
scsi_done
scsi_remove_device
+ param_get_bool
+ blk_mq_unique_tag
+ param_set_uint_minmax
#required by mi_sched.ko
__traceiter_android_vh_scheduler_tick
@@ -186,6 +189,40 @@
io_cgrp_subsys_on_dfl_key
ioc_lookup_icq
bdi_dev_name
+ blk_mq_run_hw_queues
+ blkcg_policy_register
+ elv_register
+ blkcg_policy_unregister
+ elv_rb_former_request
+ elv_rb_latter_request
+ elevator_alloc
+ blk_stat_enable_accounting
+ blkcg_deactivate_policy
+ blk_stat_disable_accounting
+ sbitmap_queue_min_shallow_depth
+ blk_mq_sched_try_merge
+ elv_bio_merge_ok
+ elv_rb_find
+ elv_rb_del
+ elv_rb_add
+ elv_rqhash_del
+ ioc_find_get_icq
+ put_io_context
+ blk_mq_sched_try_insert_merge
+ elv_unregister
+ __tracepoint_block_rq_insert
+ elv_rqhash_add
+ __traceiter_block_rq_insert
+ kmem_cache_alloc_node
+ bio_associate_blkg_from_css
+ kernfs_path_from_node
+ blkcg_activate_policy
+
+#required by mq-deadline module
+ blk_mq_debugfs_rq_show
+ seq_list_start
+ seq_list_next
+ __blk_mq_debugfs_rq_show
#required by metis.ko module
__traceiter_android_vh_rwsem_read_wait_start
@@ -205,6 +242,7 @@
__tracepoint_android_rvh_set_cpus_allowed_comm
__tracepoint_android_rvh_dequeue_task
cpuset_cpus_allowed
+ cpufreq_update_policy
#required by millet.ko
__traceiter_android_vh_binder_wait_for_work
@@ -231,6 +269,9 @@
#required by touch module
power_supply_is_system_supplied
+#required by mi-power.ko
+ class_create_file_ns
+
#required by mi_mempool.ko
__traceiter_android_vh_alloc_pages_reclaim_bypass
__traceiter_android_vh_alloc_pages_failure_bypass
@@ -244,3 +285,55 @@
#required by mi_mempool.ko
__traceiter_android_vh_madvise_cold_pageout_skip
__tracepoint_android_vh_madvise_cold_pageout_skip
+
+#required by n_gsm.ko
+ tty_write_room
+ tty_port_tty_set
+ tty_register_device
+ tty_hung_up_p
+ tty_name
+ tty_port_block_til_ready
+ tty_port_close_start
+ tty_port_lower_dtr_rts
+ tty_port_close_end
+
+#required by mtdoops.ko
+ of_node_name_prefix
+ bdi_unregister
+
+#required by dispaly.ko
+ mipi_dsi_dcs_set_display_off
+
+#required by debug_ext.ko
+ of_find_all_nodes
+
+# required by mi_mem_center.ko
+ __traceiter_android_vh_rmqueue_smallest_bypass
+ __tracepoint_android_vh_rmqueue_smallest_bypass
+ __traceiter_android_vh_free_one_page_bypass
+ __tracepoint_android_vh_free_one_page_bypass
+
+# required by SAGT module
+ __traceiter_android_rvh_before_do_sched_yield
+ __tracepoint_android_rvh_before_do_sched_yield
+
+#required by minetwork.ko
+ sock_wake_async
+ bpf_map_put
+ bpf_map_inc
+ __dev_direct_xmit
+ napi_busy_loop
+ int_active_memcg
+ bpf_redirect_info
+ dma_need_sync
+ page_pool_put_page_bulk
+ build_skb_around
+
+#required by xm_ispv4_pcie.ko
+ pci_ioremap_bar
+ pci_disable_pcie_error_reporting
+
+#required by lock_optimization module
+ __traceiter_android_vh_record_pcpu_rwsem_time_early
+ __tracepoint_android_vh_record_pcpu_rwsem_time_early
+ cgroup_threadgroup_rwsem
diff --git a/android/abi_gki_protected_exports_aarch64 b/android/abi_gki_protected_exports_aarch64
index 6b40237c253a..7d97572e6175 100644
--- a/android/abi_gki_protected_exports_aarch64
+++ b/android/abi_gki_protected_exports_aarch64
@@ -334,4 +334,12 @@ wpan_phy_for_each
wpan_phy_free
wpan_phy_new
wpan_phy_register
-wpan_phy_unregister \ No newline at end of file
+wpan_phy_unregister
+wwan_create_port
+wwan_port_get_drvdata
+wwan_port_rx
+wwan_port_txoff
+wwan_port_txon
+wwan_register_ops
+wwan_remove_port
+wwan_unregister_ops \ No newline at end of file
diff --git a/android/abi_gki_protected_exports_x86_64 b/android/abi_gki_protected_exports_x86_64
index 6b40237c253a..7d97572e6175 100644
--- a/android/abi_gki_protected_exports_x86_64
+++ b/android/abi_gki_protected_exports_x86_64
@@ -334,4 +334,12 @@ wpan_phy_for_each
wpan_phy_free
wpan_phy_new
wpan_phy_register
-wpan_phy_unregister \ No newline at end of file
+wpan_phy_unregister
+wwan_create_port
+wwan_port_get_drvdata
+wwan_port_rx
+wwan_port_txoff
+wwan_port_txon
+wwan_register_ops
+wwan_remove_port
+wwan_unregister_ops \ No newline at end of file
diff --git a/android/gki_aarch64_protected_modules b/android/gki_aarch64_protected_modules
index 2a232a69f4a5..3f1af7946695 100644
--- a/android/gki_aarch64_protected_modules
+++ b/android/gki_aarch64_protected_modules
@@ -1,3 +1,4 @@
+arch/arm64/geniezone/gzvm.ko
drivers/bluetooth/btbcm.ko
drivers/bluetooth/btqca.ko
drivers/bluetooth/btsdio.ko
@@ -23,6 +24,7 @@ drivers/net/usb/r8152.ko
drivers/net/usb/r8153_ecm.ko
drivers/net/usb/rtl8150.ko
drivers/net/usb/usbnet.ko
+drivers/net/wwan/wwan.ko
drivers/usb/class/cdc-acm.ko
drivers/usb/serial/ftdi_sio.ko
drivers/usb/serial/usbserial.ko
diff --git a/android/gki_system_dlkm_modules b/android/gki_system_dlkm_modules
deleted file mode 100644
index 03979bbb88d1..000000000000
--- a/android/gki_system_dlkm_modules
+++ /dev/null
@@ -1,58 +0,0 @@
-drivers/block/zram/zram.ko
-drivers/bluetooth/btbcm.ko
-drivers/bluetooth/btqca.ko
-drivers/bluetooth/btsdio.ko
-drivers/bluetooth/hci_uart.ko
-drivers/net/can/dev/can-dev.ko
-drivers/net/can/slcan/slcan.ko
-drivers/net/can/vcan.ko
-drivers/net/mii.ko
-drivers/net/ppp/bsd_comp.ko
-drivers/net/ppp/ppp_deflate.ko
-drivers/net/ppp/ppp_generic.ko
-drivers/net/ppp/ppp_mppe.ko
-drivers/net/ppp/pppox.ko
-drivers/net/ppp/pptp.ko
-drivers/net/slip/slhc.ko
-drivers/net/usb/aqc111.ko
-drivers/net/usb/asix.ko
-drivers/net/usb/ax88179_178a.ko
-drivers/net/usb/cdc_eem.ko
-drivers/net/usb/cdc_ether.ko
-drivers/net/usb/cdc_ncm.ko
-drivers/net/usb/r8152.ko
-drivers/net/usb/r8153_ecm.ko
-drivers/net/usb/rtl8150.ko
-drivers/net/usb/usbnet.ko
-drivers/usb/class/cdc-acm.ko
-drivers/usb/serial/ftdi_sio.ko
-drivers/usb/serial/usbserial.ko
-lib/crypto/libarc4.ko
-mm/zsmalloc.ko
-net/6lowpan/6lowpan.ko
-net/6lowpan/nhc_dest.ko
-net/6lowpan/nhc_fragment.ko
-net/6lowpan/nhc_hop.ko
-net/6lowpan/nhc_ipv6.ko
-net/6lowpan/nhc_mobility.ko
-net/6lowpan/nhc_routing.ko
-net/6lowpan/nhc_udp.ko
-net/8021q/8021q.ko
-net/bluetooth/bluetooth.ko
-net/bluetooth/hidp/hidp.ko
-net/bluetooth/rfcomm/rfcomm.ko
-net/can/can.ko
-net/can/can-bcm.ko
-net/can/can-gw.ko
-net/can/can-raw.ko
-net/ieee802154/6lowpan/ieee802154_6lowpan.ko
-net/ieee802154/ieee802154.ko
-net/ieee802154/ieee802154_socket.ko
-net/l2tp/l2tp_core.ko
-net/l2tp/l2tp_ppp.ko
-net/mac802154/mac802154.ko
-net/nfc/nfc.ko
-net/rfkill/rfkill.ko
-net/tipc/diag.ko
-net/tipc/tipc.ko
-
diff --git a/android/gki_x86_64_protected_modules b/android/gki_x86_64_protected_modules
index 2a232a69f4a5..d6b0777dd474 100644
--- a/android/gki_x86_64_protected_modules
+++ b/android/gki_x86_64_protected_modules
@@ -23,6 +23,7 @@ drivers/net/usb/r8152.ko
drivers/net/usb/r8153_ecm.ko
drivers/net/usb/rtl8150.ko
drivers/net/usb/usbnet.ko
+drivers/net/wwan/wwan.ko
drivers/usb/class/cdc-acm.ko
drivers/usb/serial/ftdi_sio.ko
drivers/usb/serial/usbserial.ko
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 97fce7386b00..d95d82abdf29 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -28,6 +28,7 @@ config ALPHA
select GENERIC_SMP_IDLE_THREAD
select HAVE_ARCH_AUDITSYSCALL
select HAVE_MOD_ARCH_SPECIFIC
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select ODD_RT_SIGACTION
select OLD_SIGSUSPEND
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c
index ef427a6bdd1a..2b49aa94e4de 100644
--- a/arch/alpha/mm/fault.c
+++ b/arch/alpha/mm/fault.c
@@ -119,20 +119,12 @@ do_page_fault(unsigned long address, unsigned long mmcsr,
flags |= FAULT_FLAG_USER;
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
+ goto bad_area_nosemaphore;
/* Ok, we have a good vm_area for this memory access, so
we can handle it. */
- good_area:
si_code = SEGV_ACCERR;
if (cause < 0) {
if (!(vma->vm_flags & VM_EXEC))
@@ -189,6 +181,7 @@ retry:
bad_area:
mmap_read_unlock(mm);
+ bad_area_nosemaphore:
if (user_mode(regs))
goto do_sigsegv;
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index d9a13ccf89a3..cb1074f74c3f 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -41,6 +41,7 @@ config ARC
select HAVE_PERF_EVENTS
select HAVE_SYSCALL_TRACEPOINTS
select IRQ_DOMAIN
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select OF
select OF_EARLY_FLATTREE
diff --git a/arch/arc/mm/fault.c b/arch/arc/mm/fault.c
index 5ca59a482632..f59e722d147f 100644
--- a/arch/arc/mm/fault.c
+++ b/arch/arc/mm/fault.c
@@ -113,15 +113,9 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
-
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (unlikely(address < vma->vm_start)) {
- if (!(vma->vm_flags & VM_GROWSDOWN) || expand_stack(vma, address))
- goto bad_area;
- }
+ goto bad_area_nosemaphore;
/*
* vm_area is good, now check permissions for this memory access
@@ -161,6 +155,7 @@ retry:
bad_area:
mmap_read_unlock(mm);
+bad_area_nosemaphore:
/*
* Major/minor page fault accounting
* (in case of retry we only land here once)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a08c9d092a33..0202e48e7a20 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -122,6 +122,7 @@ config ARM
select HAVE_UID16
select HAVE_VIRT_CPU_ACCOUNTING_GEN
select IRQ_FORCED_THREADING
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_REL
select NEED_DMA_MAP_STATE
select OF_EARLY_FLATTREE if OF
diff --git a/arch/arm/OWNERS b/arch/arm/OWNERS
deleted file mode 100644
index 54f66d6eb2ee..000000000000
--- a/arch/arm/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-include ../arm64/OWNERS
diff --git a/arch/arm/include/asm/syscall.h b/arch/arm/include/asm/syscall.h
index dfeed440254a..fe4326d938c1 100644
--- a/arch/arm/include/asm/syscall.h
+++ b/arch/arm/include/asm/syscall.h
@@ -25,6 +25,9 @@ static inline int syscall_get_nr(struct task_struct *task,
if (IS_ENABLED(CONFIG_AEABI) && !IS_ENABLED(CONFIG_OABI_COMPAT))
return task_thread_info(task)->abi_syscall;
+ if (task_thread_info(task)->abi_syscall == -1)
+ return -1;
+
return task_thread_info(task)->abi_syscall & __NR_SYSCALL_MASK;
}
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 405a607b754f..b413b541c3c7 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -103,6 +103,7 @@ slow_work_pending:
cmp r0, #0
beq no_work_pending
movlt scno, #(__NR_restart_syscall - __NR_SYSCALL_BASE)
+ str scno, [tsk, #TI_ABI_SYSCALL] @ make sure tracers see update
ldmia sp, {r0 - r6} @ have to reload r0 - r6
b local_restart @ ... and off we go
ENDPROC(ret_fast_syscall)
diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
index bfe88c6e60d5..cef106913ab7 100644
--- a/arch/arm/kernel/ptrace.c
+++ b/arch/arm/kernel/ptrace.c
@@ -785,8 +785,9 @@ long arch_ptrace(struct task_struct *child, long request,
break;
case PTRACE_SET_SYSCALL:
- task_thread_info(child)->abi_syscall = data &
- __NR_SYSCALL_MASK;
+ if (data != -1)
+ data &= __NR_SYSCALL_MASK;
+ task_thread_info(child)->abi_syscall = data;
ret = 0;
break;
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index de988cba9a4b..b0db85310331 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -231,37 +231,11 @@ static inline bool is_permission_fault(unsigned int fsr)
return false;
}
-static vm_fault_t __kprobes
-__do_page_fault(struct mm_struct *mm, unsigned long addr, unsigned int flags,
- unsigned long vma_flags, struct pt_regs *regs)
-{
- struct vm_area_struct *vma = find_vma(mm, addr);
- if (unlikely(!vma))
- return VM_FAULT_BADMAP;
-
- if (unlikely(vma->vm_start > addr)) {
- if (!(vma->vm_flags & VM_GROWSDOWN))
- return VM_FAULT_BADMAP;
- if (addr < FIRST_USER_ADDRESS)
- return VM_FAULT_BADMAP;
- if (expand_stack(vma, addr))
- return VM_FAULT_BADMAP;
- }
-
- /*
- * ok, we have a good vm_area for this memory access, check the
- * permissions on the VMA allow for the fault which occurred.
- */
- if (!(vma->vm_flags & vma_flags))
- return VM_FAULT_BADACCESS;
-
- return handle_mm_fault(vma, addr & PAGE_MASK, flags, regs);
-}
-
static int __kprobes
do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
{
struct mm_struct *mm = current->mm;
+ struct vm_area_struct *vma;
int sig, code;
vm_fault_t fault;
unsigned int flags = FAULT_FLAG_DEFAULT;
@@ -300,31 +274,21 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr);
- /*
- * As per x86, we may deadlock here. However, since the kernel only
- * validly references user space from well defined areas of the code,
- * we can bug out early if this is from code which shouldn't.
- */
- if (!mmap_read_trylock(mm)) {
- if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc))
- goto no_context;
retry:
- mmap_read_lock(mm);
- } else {
- /*
- * The above down_read_trylock() might have succeeded in
- * which case, we'll have missed the might_sleep() from
- * down_read()
- */
- might_sleep();
-#ifdef CONFIG_DEBUG_VM
- if (!user_mode(regs) &&
- !search_exception_tables(regs->ARM_pc))
- goto no_context;
-#endif
+ vma = lock_mm_and_find_vma(mm, addr, regs);
+ if (unlikely(!vma)) {
+ fault = VM_FAULT_BADMAP;
+ goto bad_area;
}
- fault = __do_page_fault(mm, addr, flags, vm_flags, regs);
+ /*
+ * ok, we have a good vm_area for this memory access, check the
+ * permissions on the VMA allow for the fault which occurred.
+ */
+ if (!(vma->vm_flags & vm_flags))
+ fault = VM_FAULT_BADACCESS;
+ else
+ fault = handle_mm_fault(vma, addr & PAGE_MASK, flags, regs);
/* If we need to retry but a fatal signal is pending, handle the
* signal first. We do not need to release the mmap_lock because
@@ -355,6 +319,7 @@ retry:
if (likely(!(fault & (VM_FAULT_ERROR | VM_FAULT_BADMAP | VM_FAULT_BADACCESS))))
return 0;
+bad_area:
/*
* If we are in kernel mode at this point, we
* have no context to handle this fault with.
diff --git a/arch/arm64/Kbuild b/arch/arm64/Kbuild
index e4847ba0e3c9..ddcb496ce66c 100644
--- a/arch/arm64/Kbuild
+++ b/arch/arm64/Kbuild
@@ -5,6 +5,7 @@ obj-$(CONFIG_XEN) += xen/
obj-$(subst m,y,$(CONFIG_HYPERV)) += hyperv/
obj-$(CONFIG_GUNYAH) += gunyah/
obj-$(CONFIG_CRYPTO) += crypto/
+obj-$(CONFIG_MTK_GZVM) += geniezone/
# for cleaning
subdir- += boot
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index bf11f89de29a..7dafeacab872 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -216,6 +216,7 @@ config ARM64
select IRQ_DOMAIN
select IRQ_FORCED_THREADING
select KASAN_VMALLOC if KASAN
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select NEED_DMA_MAP_STATE
select NEED_SG_DMA_LENGTH
diff --git a/arch/arm64/OWNERS b/arch/arm64/OWNERS
deleted file mode 100644
index f362e24fd9cf..000000000000
--- a/arch/arm64/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-per-file crypto/**=file:/crypto/OWNERS
-per-file {include,kernel,kvm,lib}/**=mzyngier@google.com,willdeacon@google.com
-per-file mm/**=file:/mm/OWNERS
-per-file net/**=file:/net/OWNERS
diff --git a/arch/arm64/configs/crashdump_defconfig b/arch/arm64/configs/crashdump_defconfig
new file mode 100644
index 000000000000..75866b00b403
--- /dev/null
+++ b/arch/arm64/configs/crashdump_defconfig
@@ -0,0 +1,81 @@
+# CONFIG_WERROR is not set
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_PREEMPT=y
+# CONFIG_CPU_ISOLATION is not set
+CONFIG_LOG_BUF_SHIFT=15
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=10
+# CONFIG_UTS_NS is not set
+# CONFIG_TIME_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_RD_ZSTD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB_MERGE_DEFAULT is not set
+# CONFIG_SLUB_CPU_PARTIAL is not set
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_NR_CPUS=2
+CONFIG_CRASH_DUMP=y
+# CONFIG_RODATA_FULL_DEFAULT_ENABLED is not set
+# CONFIG_ARM64_TAGGED_ADDR_ABI is not set
+# CONFIG_ARM64_SVE is not set
+# CONFIG_EFI is not set
+# CONFIG_SUSPEND is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_SECCOMP is not set
+# CONFIG_STACKPROTECTOR is not set
+# CONFIG_VMAP_STACK is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_BINFMT_SCRIPT is not set
+# CONFIG_SPECULATIVE_PAGE_FAULT is not set
+CONFIG_PCI=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_DEVTMPFS=y
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_ARM_SCMI_PROTOCOL=y
+# CONFIG_ARM_SMCCC_SOC_ID is not set
+# CONFIG_BLK_DEV is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=1
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_HWMON is not set
+# CONFIG_HID is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_VIRTIO_PCI=y
+# CONFIG_VIRTIO_PCI_LEGACY is not set
+# CONFIG_VHOST_MENU is not set
+# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set
+# CONFIG_FSL_ERRATUM_A008585 is not set
+# CONFIG_HISILICON_ERRATUM_161010101 is not set
+# CONFIG_ARM64_ERRATUM_858921 is not set
+# CONFIG_IOMMU_SUPPORT is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+CONFIG_TMPFS=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_MISC_FILESYSTEMS is not set
+CONFIG_XZ_DEC=y
+# CONFIG_SYMBOLIC_ERRNAME is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
index 4fc03860f868..abf7b41cdc85 100644
--- a/arch/arm64/configs/gki_defconfig
+++ b/arch/arm64/configs/gki_defconfig
@@ -95,6 +95,7 @@ CONFIG_MODPROBE_PATH="/system/bin/modprobe"
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_CGROUP_IOCOST=y
+CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
CONFIG_IOSCHED_BFQ=y
@@ -115,7 +116,7 @@ CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
CONFIG_CLEANCACHE=y
CONFIG_CMA=y
CONFIG_CMA_DEBUGFS=y
-CONFIG_CMA_AREAS=16
+CONFIG_CMA_AREAS=32
# CONFIG_ZONE_DMA is not set
CONFIG_ZONE_DEVICE=y
CONFIG_ANON_VMA_NAME=y
@@ -183,6 +184,7 @@ CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
@@ -364,6 +366,8 @@ CONFIG_USB_NET_AQC111=m
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+CONFIG_WWAN=m
+# CONFIG_WWAN_DEBUGFS is not set
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_GPIO=y
# CONFIG_MOUSE_PS2 is not set
@@ -548,6 +552,7 @@ CONFIG_GUNYAH=y
CONFIG_GUNYAH_VCPU=y
CONFIG_GUNYAH_IRQFD=y
CONFIG_GUNYAH_IOEVENTFD=y
+CONFIG_MTK_GZVM=m
CONFIG_VHOST_VSOCK=y
CONFIG_STAGING=y
CONFIG_ASHMEM=y
@@ -574,6 +579,7 @@ CONFIG_GENERIC_PHY=y
CONFIG_POWERCAP=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
+CONFIG_ANDROID_DEBUG_SYMBOLS=y
CONFIG_ANDROID_VENDOR_HOOKS=y
CONFIG_ANDROID_DEBUG_KINFO=y
CONFIG_LIBNVDIMM=y
diff --git a/arch/arm64/configs/microdroid_defconfig b/arch/arm64/configs/microdroid_defconfig
new file mode 100644
index 000000000000..3f8fb833040c
--- /dev/null
+++ b/arch/arm64/configs/microdroid_defconfig
@@ -0,0 +1,216 @@
+CONFIG_AUDIT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_PSI=y
+CONFIG_RCU_EXPERT=y
+CONFIG_RCU_BOOST=y
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_UTS_NS is not set
+# CONFIG_TIME_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_ZSTD is not set
+CONFIG_BOOT_CONFIG=y
+CONFIG_PROFILING=y
+CONFIG_SCHED_MC=y
+CONFIG_NR_CPUS=32
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_KEXEC_FILE=y
+CONFIG_ARM64_SW_TTBR0_PAN=y
+CONFIG_RANDOMIZE_BASE=y
+# CONFIG_RANDOMIZE_MODULE_REGION_FULL is not set
+CONFIG_CMDLINE="stack_depot_disable=on kasan.stacktrace=off cgroup_disable=pressure ioremap_guard panic=-1 bootconfig"
+CONFIG_CMDLINE_EXTEND=y
+# CONFIG_EFI is not set
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=0
+# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_VIRTUALIZATION=y
+CONFIG_JUMP_LABEL=y
+CONFIG_SHADOW_CALL_STACK=y
+CONFIG_CFI_CLANG=y
+CONFIG_MODULES=y
+CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_INLINE_ENCRYPTION=y
+CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_MSDOS_PARTITION is not set
+CONFIG_IOSCHED_BFQ=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_MISC=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
+CONFIG_SLAB_FREELIST_RANDOM=y
+CONFIG_SLAB_FREELIST_HARDENED=y
+CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_ANON_VMA_NAME=y
+CONFIG_USERFAULTFD=y
+CONFIG_LRU_GEN=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_INTERFACE=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NET_KEY=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_NET_IPIP=y
+CONFIG_NET_IPGRE_DEMUX=y
+CONFIG_NET_IPGRE=y
+CONFIG_NET_IPVTI=y
+CONFIG_INET_ESP=y
+CONFIG_INET_UDP_DIAG=y
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPCOMP=y
+CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_VTI=y
+CONFIG_IPV6_GRE=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_VSOCKETS=y
+CONFIG_VIRTIO_VSOCKETS=y
+# CONFIG_WIRELESS is not set
+CONFIG_PCI=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_DW_PLAT_EP=y
+CONFIG_PCIE_KIRIN=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_FW_LOADER_USER_HELPER=y
+# CONFIG_FW_CACHE is not set
+CONFIG_ARM_SCMI_PROTOCOL=y
+# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
+CONFIG_ZRAM=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_VIRTIO_BLK=y
+CONFIG_OPEN_DICE=y
+CONFIG_VCPU_STALL_DETECTOR=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_INIT=y
+CONFIG_DM_UEVENT=y
+CONFIG_DM_VERITY=y
+CONFIG_DM_VERITY_FEC=y
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_RUNTIME_UARTS=0
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_NULL_TTY=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_CCTRNG=y
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVPORT is not set
+CONFIG_POWER_RESET_SYSCON=y
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_HID is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_EDAC=y
+CONFIG_RTC_CLASS=y
+# CONFIG_RTC_NVMEM is not set
+CONFIG_RTC_DRV_PL030=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_SYSFS_STATS=y
+CONFIG_UIO=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_STAGING=y
+CONFIG_HWSPINLOCK=y
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_USE_FOR_EXT2 is not set
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_FUSE_FS=y
+CONFIG_TMPFS=y
+CONFIG_EROFS_FS=y
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_UNICODE=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_STATIC_USERMODEHELPER=y
+CONFIG_STATIC_USERMODEHELPER_PATH=""
+CONFIG_SECURITY_SELINUX=y
+CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_ADIANTUM=y
+CONFIG_CRYPTO_HCTR2=y
+CONFIG_CRYPTO_CHACHA20POLY1305=y
+CONFIG_CRYPTO_BLAKE2B=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_LZ4=y
+CONFIG_CRYPTO_ZSTD=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_TRACE_MMIO_ACCESS=y
+CONFIG_XZ_DEC=y
+CONFIG_DMA_RESTRICTED_POOL=y
+CONFIG_PRINTK_TIME=y
+CONFIG_PRINTK_CALLER=y
+CONFIG_DYNAMIC_DEBUG_CORE=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_INFO_DWARF5=y
+CONFIG_DEBUG_INFO_REDUCED=y
+CONFIG_DEBUG_INFO_COMPRESSED=y
+CONFIG_HEADERS_INSTALL=y
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_UBSAN=y
+CONFIG_UBSAN_TRAP=y
+CONFIG_UBSAN_LOCAL_BOUNDS=y
+# CONFIG_UBSAN_SHIFT is not set
+# CONFIG_UBSAN_BOOL is not set
+# CONFIG_UBSAN_ENUM is not set
+CONFIG_PAGE_OWNER=y
+CONFIG_DEBUG_STACK_USAGE=y
+CONFIG_KASAN=y
+CONFIG_KASAN_HW_TAGS=y
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_TIMEOUT=-1
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_WQ_WATCHDOG=y
+CONFIG_SCHEDSTATS=y
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_BUG_ON_DATA_CORRUPTION=y
+CONFIG_HIST_TRIGGERS=y
+CONFIG_PID_IN_CONTEXTIDR=y
+# CONFIG_RUNTIME_TESTING_MENU is not set
diff --git a/arch/arm64/configs/rockchip_gki.fragment b/arch/arm64/configs/rockchip_gki.fragment
new file mode 100644
index 000000000000..c31a4e8280f5
--- /dev/null
+++ b/arch/arm64/configs/rockchip_gki.fragment
@@ -0,0 +1,358 @@
+# CONFIG_MODULE_SIG_ALL is not set
+CONFIG_PWRSEQ_SIMPLE=m
+CONFIG_AP6XXX=m
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_ARM_ROCKCHIP_BUS_DEVFREQ=m
+CONFIG_ARM_ROCKCHIP_CPUFREQ=m
+CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ=m
+CONFIG_BACKLIGHT_PWM=m
+CONFIG_BATTERY_CW2015=m
+CONFIG_BATTERY_CW2017=m
+CONFIG_BATTERY_CW221X=m
+CONFIG_BATTERY_RK817=m
+CONFIG_BATTERY_RK818=m
+CONFIG_BMA2XX_ACC=m
+CONFIG_CHARGER_BQ25700=m
+CONFIG_CHARGER_BQ25890=m
+CONFIG_CHARGER_RK817=m
+CONFIG_CHARGER_RK818=m
+CONFIG_CHARGER_SC89890=m
+CONFIG_CHARGER_SGM41542=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_COMMON_CLK_PWM=m
+CONFIG_COMMON_CLK_RK808=m
+CONFIG_COMMON_CLK_ROCKCHIP=m
+CONFIG_COMMON_CLK_SCMI=m
+CONFIG_COMPASS_AK8963=m
+CONFIG_COMPASS_AK8975=m
+CONFIG_COMPASS_DEVICE=m
+CONFIG_CPUFREQ_DT=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_PX30=y
+CONFIG_CPU_RK3399=y
+CONFIG_CPU_RK3562=y
+CONFIG_CPU_RK3568=y
+CONFIG_CPU_RK3588=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+CONFIG_CRYPTO_DEV_ROCKCHIP=m
+CONFIG_CRYPTO_DEV_ROCKCHIP_DEV=m
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_DEVFREQ_EVENT_ROCKCHIP_NOCP=m
+CONFIG_DMABUF_HEAPS_CMA=m
+CONFIG_DMABUF_HEAPS_SYSTEM=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_DRM_DISPLAY_CONNECTOR=m
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
+CONFIG_DRM_MAXIM_MAX96745=m
+CONFIG_DRM_MAXIM_MAX96755F=m
+CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_RK1000_TVE=m
+CONFIG_DRM_RK630_TVE=m
+CONFIG_DRM_ROCKCHIP=m
+CONFIG_DRM_ROCKCHIP_RK618=m
+CONFIG_DRM_ROCKCHIP_RK628=m
+CONFIG_DRM_ROHM_BU18XL82=m
+CONFIG_DRM_SII902X=m
+CONFIG_DTC_SYMBOLS=y
+# CONFIG_DWMAC_GENERIC is not set
+# CONFIG_DWMAC_IPQ806X is not set
+# CONFIG_DWMAC_QCOM_ETHQOS is not set
+# CONFIG_DWMAC_SUN8I is not set
+# CONFIG_DWMAC_SUNXI is not set
+CONFIG_DW_WATCHDOG=m
+CONFIG_FIQ_DEBUGGER=m
+CONFIG_FIQ_DEBUGGER_CONSOLE=y
+CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y
+CONFIG_FIQ_DEBUGGER_NO_SLEEP=y
+CONFIG_FIQ_DEBUGGER_TRUST_ZONE=y
+CONFIG_GPIO_ROCKCHIP=m
+CONFIG_GREENASIA_FF=y
+CONFIG_GSENSOR_DEVICE=m
+CONFIG_GS_DA223=m
+CONFIG_GS_KXTJ9=m
+CONFIG_GS_LIS3DH=m
+CONFIG_GS_LSM303D=m
+CONFIG_GS_MC3230=m
+CONFIG_GS_MMA7660=m
+CONFIG_GS_MMA8452=m
+CONFIG_GS_MXC6655XA=m
+CONFIG_GS_SC7660=m
+CONFIG_GS_SC7A20=m
+CONFIG_GS_SC7A30=m
+CONFIG_GYROSCOPE_DEVICE=m
+CONFIG_GYRO_EWTSA=m
+CONFIG_GYRO_L3G20D=m
+CONFIG_GYRO_L3G4200D=m
+CONFIG_GYRO_LSM330=m
+CONFIG_GYRO_MPU6500=m
+CONFIG_GYRO_MPU6880=m
+CONFIG_HALL_DEVICE=m
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_ALPS=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_GREENASIA=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_HID_ZYDACRON=m
+CONFIG_HS_MH248=m
+CONFIG_HW_RANDOM_ROCKCHIP=m
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_GPIO=m
+CONFIG_I2C_HID_OF=m
+CONFIG_I2C_RK3X=m
+CONFIG_IEP=m
+CONFIG_IIO_BUFFER_CB=m
+CONFIG_INPUT_RK805_PWRKEY=m
+CONFIG_KEYBOARD_ADC=m
+CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_RGB13H=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LIGHT_DEVICE=m
+CONFIG_LSM330_ACC=m
+CONFIG_LS_CM3217=m
+CONFIG_LS_CM3218=m
+CONFIG_LS_STK3410=m
+CONFIG_LS_UCS14620=m
+CONFIG_MALI_BIFROST=m
+CONFIG_MALI_BIFROST_DEBUG=y
+CONFIG_MALI_BIFROST_EXPERT=y
+CONFIG_MALI_CSF_SUPPORT=y
+CONFIG_MALI_PLATFORM_NAME="rk"
+CONFIG_MALI_PWRSOFT_765=y
+CONFIG_MFD_RK618=m
+CONFIG_MFD_RK628=m
+CONFIG_MFD_RK630_I2C=m
+CONFIG_MFD_RK806_SPI=m
+CONFIG_MFD_RK808=m
+CONFIG_MMC_DW=m
+CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_SDHCI_OF_ARASAN=m
+CONFIG_MMC_SDHCI_OF_DWCMSHC=m
+CONFIG_MPU6500_ACC=m
+CONFIG_MPU6880_ACC=m
+CONFIG_NVMEM_ROCKCHIP_EFUSE=m
+CONFIG_NVMEM_ROCKCHIP_OTP=m
+CONFIG_OPTEE=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_PCIEASPM_EXT=m
+CONFIG_PCIE_DW_ROCKCHIP=m
+CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PHY_ROCKCHIP_CSI2_DPHY=m
+CONFIG_PHY_ROCKCHIP_DP=m
+CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
+CONFIG_PHY_ROCKCHIP_INNO_USB2=m
+CONFIG_PHY_ROCKCHIP_INNO_USB3=m
+CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=m
+CONFIG_PHY_ROCKCHIP_NANENG_EDP=m
+CONFIG_PHY_ROCKCHIP_PCIE=m
+CONFIG_PHY_ROCKCHIP_SAMSUNG_DCPHY=m
+CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX=m
+CONFIG_PHY_ROCKCHIP_SAMSUNG_HDPTX_HDMI=m
+CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m
+CONFIG_PHY_ROCKCHIP_TYPEC=m
+CONFIG_PHY_ROCKCHIP_USB=m
+CONFIG_PHY_ROCKCHIP_USBDP=m
+CONFIG_PINCTRL_RK805=m
+CONFIG_PINCTRL_RK806=m
+CONFIG_PINCTRL_ROCKCHIP=m
+CONFIG_PL330_DMA=m
+CONFIG_PROXIMITY_DEVICE=m
+CONFIG_PS_STK3410=m
+CONFIG_PS_UCS14620=m
+CONFIG_PWM_ROCKCHIP=m
+CONFIG_REGULATOR_ACT8865=m
+CONFIG_REGULATOR_FAN53555=m
+CONFIG_REGULATOR_GPIO=m
+CONFIG_REGULATOR_LP8752=m
+CONFIG_REGULATOR_MP8865=m
+CONFIG_REGULATOR_PWM=m
+CONFIG_REGULATOR_RK806=m
+CONFIG_REGULATOR_RK808=m
+CONFIG_REGULATOR_RK860X=m
+CONFIG_REGULATOR_TPS65132=m
+CONFIG_REGULATOR_WL2868C=m
+CONFIG_REGULATOR_XZ3216=m
+CONFIG_RFKILL_RK=m
+CONFIG_RK_CONSOLE_THREAD=y
+CONFIG_RK_HEADSET=m
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_CPUINFO=m
+CONFIG_ROCKCHIP_DEBUG=m
+CONFIG_ROCKCHIP_DW_DP=y
+CONFIG_ROCKCHIP_DW_HDCP2=m
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+CONFIG_ROCKCHIP_GRF=m
+CONFIG_ROCKCHIP_INNO_HDMI=y
+CONFIG_ROCKCHIP_IODOMAIN=m
+CONFIG_ROCKCHIP_IOMMU=m
+CONFIG_ROCKCHIP_IPA=m
+CONFIG_ROCKCHIP_LVDS=y
+CONFIG_ROCKCHIP_MPP_AV1DEC=y
+CONFIG_ROCKCHIP_MPP_IEP2=y
+CONFIG_ROCKCHIP_MPP_JPGDEC=y
+CONFIG_ROCKCHIP_MPP_RKVDEC=y
+CONFIG_ROCKCHIP_MPP_RKVDEC2=y
+CONFIG_ROCKCHIP_MPP_RKVENC=y
+CONFIG_ROCKCHIP_MPP_RKVENC2=y
+CONFIG_ROCKCHIP_MPP_SERVICE=m
+CONFIG_ROCKCHIP_MPP_VDPU1=y
+CONFIG_ROCKCHIP_MPP_VDPU2=y
+CONFIG_ROCKCHIP_MPP_VEPU1=y
+CONFIG_ROCKCHIP_MPP_VEPU2=y
+CONFIG_ROCKCHIP_MULTI_RGA=m
+CONFIG_ROCKCHIP_OPP=m
+CONFIG_ROCKCHIP_PHY=m
+CONFIG_ROCKCHIP_PM_DOMAINS=m
+CONFIG_ROCKCHIP_PVTM=m
+CONFIG_ROCKCHIP_RAM_VENDOR_STORAGE=m
+CONFIG_ROCKCHIP_REMOTECTL=m
+CONFIG_ROCKCHIP_REMOTECTL_PWM=m
+CONFIG_ROCKCHIP_RGB=y
+CONFIG_ROCKCHIP_RKNPU=m
+CONFIG_ROCKCHIP_SARADC=m
+CONFIG_ROCKCHIP_SIP=m
+CONFIG_ROCKCHIP_SUSPEND_MODE=m
+CONFIG_ROCKCHIP_SYSTEM_MONITOR=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_ROCKCHIP_TIMER=m
+CONFIG_ROCKCHIP_VENDOR_STORAGE=m
+CONFIG_ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER=y
+CONFIG_RTC_DRV_HYM8563=m
+CONFIG_RTC_DRV_RK808=m
+CONFIG_SENSOR_DEVICE=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_SOC_AW883XX=m
+CONFIG_SND_SOC_BT_SCO=m
+CONFIG_SND_SOC_CX2072X=m
+CONFIG_SND_SOC_DUMMY_CODEC=m
+CONFIG_SND_SOC_ES7202=m
+CONFIG_SND_SOC_ES7210=m
+CONFIG_SND_SOC_ES7243E=m
+CONFIG_SND_SOC_ES8311=m
+CONFIG_SND_SOC_ES8316=m
+CONFIG_SND_SOC_ES8323=m
+CONFIG_SND_SOC_ES8326=m
+CONFIG_SND_SOC_ES8396=m
+CONFIG_SND_SOC_RK3328=m
+CONFIG_SND_SOC_RK817=m
+CONFIG_SND_SOC_RK_CODEC_DIGITAL=m
+CONFIG_SND_SOC_RK_DSM=m
+CONFIG_SND_SOC_ROCKCHIP=m
+CONFIG_SND_SOC_ROCKCHIP_HDMI=m
+CONFIG_SND_SOC_ROCKCHIP_I2S=m
+CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m
+CONFIG_SND_SOC_ROCKCHIP_MULTICODECS=m
+CONFIG_SND_SOC_ROCKCHIP_PDM=m
+CONFIG_SND_SOC_ROCKCHIP_SAI=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIFRX=m
+CONFIG_SND_SOC_RT5640=m
+CONFIG_SND_SOC_SPDIF=m
+CONFIG_SPI_ROCKCHIP=m
+CONFIG_SPI_SPIDEV=m
+CONFIG_STMMAC_ETH=m
+CONFIG_SW_SYNC=m
+CONFIG_SYSCON_REBOOT_MODE=m
+CONFIG_TEE=m
+CONFIG_TEST_POWER=m
+CONFIG_TOUCHSCREEN_ELAN5515=m
+CONFIG_TOUCHSCREEN_GSL3673=m
+CONFIG_TOUCHSCREEN_GSLX680_PAD=m
+CONFIG_TOUCHSCREEN_GT1X=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HUSB311=m
+CONFIG_UCS12CM0=m
+CONFIG_USB_DWC2=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_PCI is not set
+CONFIG_USB_OHCI_HCD_PLATFORM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_VIDEO_AW36518=m
+CONFIG_VIDEO_AW8601=m
+CONFIG_VIDEO_CN3927V=m
+CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_FP5510=m
+CONFIG_VIDEO_GC2145=m
+CONFIG_VIDEO_GC2385=m
+CONFIG_VIDEO_GC4C33=m
+CONFIG_VIDEO_GC8034=m
+CONFIG_VIDEO_IMX415=m
+CONFIG_VIDEO_LT6911UXC=m
+CONFIG_VIDEO_LT7911D=m
+CONFIG_VIDEO_NVP6188=m
+CONFIG_VIDEO_OV02B10=m
+CONFIG_VIDEO_OV13850=m
+CONFIG_VIDEO_OV13855=m
+CONFIG_VIDEO_OV50C40=m
+CONFIG_VIDEO_OV5695=m
+CONFIG_VIDEO_OV8858=m
+CONFIG_VIDEO_RK628_BT1120=m
+CONFIG_VIDEO_RK628_CSI=m
+CONFIG_VIDEO_RK_IRCUT=m
+CONFIG_VIDEO_ROCKCHIP_CIF=m
+CONFIG_VIDEO_ROCKCHIP_HDMIRX=m
+CONFIG_VIDEO_ROCKCHIP_ISP=m
+CONFIG_VIDEO_ROCKCHIP_ISPP=m
+CONFIG_VIDEO_ROCKCHIP_RKISP1=m
+CONFIG_VIDEO_S5K3L6XX=m
+CONFIG_VIDEO_S5KJN1=m
+CONFIG_VIDEO_SGM3784=m
+CONFIG_VIDEO_THCV244=m
+CONFIG_VL6180=m
+CONFIG_WIFI_BUILD_MODULE=y
+CONFIG_WL_ROCKCHIP=m
+# CONFIG_USB_DUMMY_HCD is not set
diff --git a/arch/arm64/geniezone/Makefile b/arch/arm64/geniezone/Makefile
new file mode 100644
index 000000000000..0e4f1087f9de
--- /dev/null
+++ b/arch/arm64/geniezone/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Main Makefile for gzvm, this one includes drivers/virt/geniezone/Makefile
+#
+include $(srctree)/drivers/virt/geniezone/Makefile
+
+gzvm-y += vm.o vcpu.o vgic.o
+
+obj-$(CONFIG_MTK_GZVM) += gzvm.o
diff --git a/arch/arm64/geniezone/gzvm_arch_common.h b/arch/arm64/geniezone/gzvm_arch_common.h
new file mode 100644
index 000000000000..82d2c44e819b
--- /dev/null
+++ b/arch/arm64/geniezone/gzvm_arch_common.h
@@ -0,0 +1,110 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#ifndef __GZVM_ARCH_COMMON_H__
+#define __GZVM_ARCH_COMMON_H__
+
+#include <linux/arm-smccc.h>
+
+enum {
+ GZVM_FUNC_CREATE_VM = 0,
+ GZVM_FUNC_DESTROY_VM = 1,
+ GZVM_FUNC_CREATE_VCPU = 2,
+ GZVM_FUNC_DESTROY_VCPU = 3,
+ GZVM_FUNC_SET_MEMREGION = 4,
+ GZVM_FUNC_RUN = 5,
+ GZVM_FUNC_GET_ONE_REG = 8,
+ GZVM_FUNC_SET_ONE_REG = 9,
+ GZVM_FUNC_IRQ_LINE = 10,
+ GZVM_FUNC_CREATE_DEVICE = 11,
+ GZVM_FUNC_PROBE = 12,
+ GZVM_FUNC_ENABLE_CAP = 13,
+ GZVM_FUNC_INFORM_EXIT = 14,
+ GZVM_FUNC_MEMREGION_PURPOSE = 15,
+ GZVM_FUNC_SET_DTB_CONFIG = 16,
+ NR_GZVM_FUNC,
+};
+
+#define SMC_ENTITY_MTK 59
+#define GZVM_FUNCID_START (0x1000)
+#define GZVM_HCALL_ID(func) \
+ ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, ARM_SMCCC_SMC_32, \
+ SMC_ENTITY_MTK, (GZVM_FUNCID_START + (func)))
+
+#define MT_HVC_GZVM_CREATE_VM GZVM_HCALL_ID(GZVM_FUNC_CREATE_VM)
+#define MT_HVC_GZVM_DESTROY_VM GZVM_HCALL_ID(GZVM_FUNC_DESTROY_VM)
+#define MT_HVC_GZVM_CREATE_VCPU GZVM_HCALL_ID(GZVM_FUNC_CREATE_VCPU)
+#define MT_HVC_GZVM_DESTROY_VCPU GZVM_HCALL_ID(GZVM_FUNC_DESTROY_VCPU)
+#define MT_HVC_GZVM_SET_MEMREGION GZVM_HCALL_ID(GZVM_FUNC_SET_MEMREGION)
+#define MT_HVC_GZVM_RUN GZVM_HCALL_ID(GZVM_FUNC_RUN)
+#define MT_HVC_GZVM_GET_ONE_REG GZVM_HCALL_ID(GZVM_FUNC_GET_ONE_REG)
+#define MT_HVC_GZVM_SET_ONE_REG GZVM_HCALL_ID(GZVM_FUNC_SET_ONE_REG)
+#define MT_HVC_GZVM_IRQ_LINE GZVM_HCALL_ID(GZVM_FUNC_IRQ_LINE)
+#define MT_HVC_GZVM_CREATE_DEVICE GZVM_HCALL_ID(GZVM_FUNC_CREATE_DEVICE)
+#define MT_HVC_GZVM_PROBE GZVM_HCALL_ID(GZVM_FUNC_PROBE)
+#define MT_HVC_GZVM_ENABLE_CAP GZVM_HCALL_ID(GZVM_FUNC_ENABLE_CAP)
+#define MT_HVC_GZVM_INFORM_EXIT GZVM_HCALL_ID(GZVM_FUNC_INFORM_EXIT)
+#define MT_HVC_GZVM_MEMREGION_PURPOSE GZVM_HCALL_ID(GZVM_FUNC_MEMREGION_PURPOSE)
+#define MT_HVC_GZVM_SET_DTB_CONFIG GZVM_HCALL_ID(GZVM_FUNC_SET_DTB_CONFIG)
+
+#define GIC_V3_NR_LRS 16
+
+/**
+ * gzvm_hypcall_wrapper() - the wrapper for hvc calls
+ * @a0-a7: arguments passed in registers 0 to 7
+ * @res: result values from registers 0 to 3
+ *
+ * Return: The wrapper helps caller to convert geniezone errno to Linux errno.
+ */
+static inline int gzvm_hypcall_wrapper(unsigned long a0, unsigned long a1,
+ unsigned long a2, unsigned long a3,
+ unsigned long a4, unsigned long a5,
+ unsigned long a6, unsigned long a7,
+ struct arm_smccc_res *res)
+{
+ arm_smccc_hvc(a0, a1, a2, a3, a4, a5, a6, a7, res);
+ return gzvm_err_to_errno(res->a0);
+}
+
+static inline u16 get_vmid_from_tuple(unsigned int tuple)
+{
+ return (u16)(tuple >> 16);
+}
+
+static inline u16 get_vcpuid_from_tuple(unsigned int tuple)
+{
+ return (u16)(tuple & 0xffff);
+}
+
+/**
+ * struct gzvm_vcpu_hwstate: Sync architecture state back to host for handling
+ * @nr_lrs: The available LRs(list registers) in Soc.
+ * @__pad: add an explicit '__u32 __pad;' in the middle to make it clear
+ * what the actual layout is.
+ * @lr: The array of LRs(list registers).
+ *
+ * - Keep the same layout of hypervisor data struct.
+ * - Sync list registers back for acking virtual device interrupt status.
+ */
+struct gzvm_vcpu_hwstate {
+ __le32 nr_lrs;
+ __le32 __pad;
+ __le64 lr[GIC_V3_NR_LRS];
+};
+
+static inline unsigned int
+assemble_vm_vcpu_tuple(u16 vmid, u16 vcpuid)
+{
+ return ((unsigned int)vmid << 16 | vcpuid);
+}
+
+static inline void
+disassemble_vm_vcpu_tuple(unsigned int tuple, u16 *vmid, u16 *vcpuid)
+{
+ *vmid = get_vmid_from_tuple(tuple);
+ *vcpuid = get_vcpuid_from_tuple(tuple);
+}
+
+#endif /* __GZVM_ARCH_COMMON_H__ */
diff --git a/arch/arm64/geniezone/vcpu.c b/arch/arm64/geniezone/vcpu.c
new file mode 100644
index 000000000000..95681fd66656
--- /dev/null
+++ b/arch/arm64/geniezone/vcpu.c
@@ -0,0 +1,88 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <linux/arm-smccc.h>
+#include <linux/err.h>
+#include <linux/uaccess.h>
+
+#include <linux/gzvm.h>
+#include <linux/gzvm_drv.h>
+#include "gzvm_arch_common.h"
+
+int gzvm_arch_vcpu_update_one_reg(struct gzvm_vcpu *vcpu, __u64 reg_id,
+ bool is_write, __u64 *data)
+{
+ struct arm_smccc_res res;
+ unsigned long a1;
+ int ret;
+
+ /* reg id follows KVM's encoding */
+ switch (reg_id & GZVM_REG_ARM_COPROC_MASK) {
+ case GZVM_REG_ARM_CORE:
+ break;
+ default:
+ return -EOPNOTSUPP;
+ }
+
+ a1 = assemble_vm_vcpu_tuple(vcpu->gzvm->vm_id, vcpu->vcpuid);
+ if (!is_write) {
+ ret = gzvm_hypcall_wrapper(MT_HVC_GZVM_GET_ONE_REG,
+ a1, reg_id, 0, 0, 0, 0, 0, &res);
+ if (ret == 0)
+ *data = res.a1;
+ } else {
+ ret = gzvm_hypcall_wrapper(MT_HVC_GZVM_SET_ONE_REG,
+ a1, reg_id, *data, 0, 0, 0, 0, &res);
+ }
+
+ return ret;
+}
+
+int gzvm_arch_vcpu_run(struct gzvm_vcpu *vcpu, __u64 *exit_reason)
+{
+ struct arm_smccc_res res;
+ unsigned long a1;
+ int ret;
+
+ a1 = assemble_vm_vcpu_tuple(vcpu->gzvm->vm_id, vcpu->vcpuid);
+ ret = gzvm_hypcall_wrapper(MT_HVC_GZVM_RUN, a1, 0, 0, 0, 0, 0,
+ 0, &res);
+ *exit_reason = res.a1;
+ return ret;
+}
+
+int gzvm_arch_destroy_vcpu(u16 vm_id, int vcpuid)
+{
+ struct arm_smccc_res res;
+ unsigned long a1;
+
+ a1 = assemble_vm_vcpu_tuple(vm_id, vcpuid);
+ gzvm_hypcall_wrapper(MT_HVC_GZVM_DESTROY_VCPU, a1, 0, 0, 0, 0, 0, 0,
+ &res);
+
+ return 0;
+}
+
+/**
+ * gzvm_arch_create_vcpu() - Call smc to gz hypervisor to create vcpu
+ * @vm_id: vm id
+ * @vcpuid: vcpu id
+ * @run: Virtual address of vcpu->run
+ *
+ * Return: The wrapper helps caller to convert geniezone errno to Linux errno.
+ */
+int gzvm_arch_create_vcpu(u16 vm_id, int vcpuid, void *run)
+{
+ struct arm_smccc_res res;
+ unsigned long a1, a2;
+ int ret;
+
+ a1 = assemble_vm_vcpu_tuple(vm_id, vcpuid);
+ a2 = (__u64)virt_to_phys(run);
+ ret = gzvm_hypcall_wrapper(MT_HVC_GZVM_CREATE_VCPU, a1, a2, 0, 0, 0, 0,
+ 0, &res);
+
+ return ret;
+}
diff --git a/arch/arm64/geniezone/vgic.c b/arch/arm64/geniezone/vgic.c
new file mode 100644
index 000000000000..3746e0c9e247
--- /dev/null
+++ b/arch/arm64/geniezone/vgic.c
@@ -0,0 +1,108 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <linux/irqchip/arm-gic-v3.h>
+#include <linux/gzvm.h>
+#include <linux/gzvm_drv.h>
+#include "gzvm_arch_common.h"
+
+/**
+ * is_irq_valid() - Check the irq number and irq_type are matched
+ * @irq: interrupt number
+ * @irq_type: interrupt type
+ *
+ * Return:
+ * true if irq is valid else false.
+ */
+static bool is_irq_valid(u32 irq, u32 irq_type)
+{
+ switch (irq_type) {
+ case GZVM_IRQ_TYPE_CPU:
+ /* 0 ~ 15: SGI */
+ if (likely(irq <= GZVM_IRQ_CPU_FIQ))
+ return true;
+ break;
+ case GZVM_IRQ_TYPE_PPI:
+ /* 16 ~ 31: PPI */
+ if (likely(irq >= GZVM_VGIC_NR_SGIS &&
+ irq < GZVM_VGIC_NR_PRIVATE_IRQS))
+ return true;
+ break;
+ case GZVM_IRQ_TYPE_SPI:
+ /* 32 ~ : SPT */
+ if (likely(irq >= GZVM_VGIC_NR_PRIVATE_IRQS))
+ return true;
+ break;
+ default:
+ return false;
+ }
+ return false;
+}
+
+/**
+ * gzvm_vgic_inject_irq() - Inject virtual interrupt to a VM
+ * @gzvm: Pointer to struct gzvm
+ * @vcpu_idx: vcpu index, only valid if PPI
+ * @irq_type: Interrupt type
+ * @irq: irq number
+ * @level: 1 if true else 0
+ *
+ * Return:
+ * * 0 - Success.
+ * * Negative - Failure.
+ */
+static int gzvm_vgic_inject_irq(struct gzvm *gzvm, unsigned int vcpu_idx,
+ u32 irq_type, u32 irq, bool level)
+{
+ unsigned long a1 = assemble_vm_vcpu_tuple(gzvm->vm_id, vcpu_idx);
+ struct arm_smccc_res res;
+
+ if (!unlikely(is_irq_valid(irq, irq_type)))
+ return -EINVAL;
+
+ gzvm_hypcall_wrapper(MT_HVC_GZVM_IRQ_LINE, a1, irq, level,
+ 0, 0, 0, 0, &res);
+ if (res.a0) {
+ pr_err("Failed to set IRQ level (%d) to irq#%u on vcpu %d with ret=%d\n",
+ level, irq, vcpu_idx, (int)res.a0);
+ return -EFAULT;
+ }
+
+ return 0;
+}
+
+/**
+ * gzvm_vgic_inject_spi() - Inject virtual spi interrupt
+ * @gzvm: Pointer to struct gzvm
+ * @vcpu_idx: vcpu index
+ * @spi_irq: This is spi interrupt number (starts from 0 instead of 32)
+ * @level: 1 if true else 0
+ *
+ * Return:
+ * * 0 if succeed else other negative values indicating each errors
+ */
+static int gzvm_vgic_inject_spi(struct gzvm *gzvm, unsigned int vcpu_idx,
+ u32 spi_irq, bool level)
+{
+ return gzvm_vgic_inject_irq(gzvm, 0, GZVM_IRQ_TYPE_SPI,
+ spi_irq + GZVM_VGIC_NR_PRIVATE_IRQS,
+ level);
+}
+
+int gzvm_arch_create_device(u16 vm_id, struct gzvm_create_device *gzvm_dev)
+{
+ struct arm_smccc_res res;
+
+ return gzvm_hypcall_wrapper(MT_HVC_GZVM_CREATE_DEVICE, vm_id,
+ virt_to_phys(gzvm_dev), 0, 0, 0, 0, 0,
+ &res);
+}
+
+int gzvm_arch_inject_irq(struct gzvm *gzvm, unsigned int vcpu_idx,
+ u32 irq_type, u32 irq, bool level)
+{
+ /* default use spi */
+ return gzvm_vgic_inject_spi(gzvm, vcpu_idx, irq, level);
+}
diff --git a/arch/arm64/geniezone/vm.c b/arch/arm64/geniezone/vm.c
new file mode 100644
index 000000000000..a47e1d60dc1f
--- /dev/null
+++ b/arch/arm64/geniezone/vm.c
@@ -0,0 +1,242 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <asm/sysreg.h>
+#include <linux/arm-smccc.h>
+#include <linux/err.h>
+#include <linux/uaccess.h>
+
+#include <linux/gzvm.h>
+#include <linux/gzvm_drv.h>
+#include "gzvm_arch_common.h"
+
+#define PAR_PA47_MASK ((((1UL << 48) - 1) >> 12) << 12)
+
+int gzvm_arch_inform_exit(u16 vm_id)
+{
+ struct arm_smccc_res res;
+
+ arm_smccc_hvc(MT_HVC_GZVM_INFORM_EXIT, vm_id, 0, 0, 0, 0, 0, 0, &res);
+ if (res.a0 == 0)
+ return 0;
+
+ return -ENXIO;
+}
+
+int gzvm_arch_probe(void)
+{
+ struct arm_smccc_res res;
+
+ arm_smccc_hvc(MT_HVC_GZVM_PROBE, 0, 0, 0, 0, 0, 0, 0, &res);
+ if (res.a0 == 0)
+ return 0;
+
+ return -ENXIO;
+}
+
+int gzvm_arch_set_memregion(u16 vm_id, size_t buf_size,
+ phys_addr_t region)
+{
+ struct arm_smccc_res res;
+
+ return gzvm_hypcall_wrapper(MT_HVC_GZVM_SET_MEMREGION, vm_id,
+ buf_size, region, 0, 0, 0, 0, &res);
+}
+
+static int gzvm_cap_arm_vm_ipa_size(void __user *argp)
+{
+ __u64 value = CONFIG_ARM64_PA_BITS;
+
+ if (copy_to_user(argp, &value, sizeof(__u64)))
+ return -EFAULT;
+
+ return 0;
+}
+
+int gzvm_arch_check_extension(struct gzvm *gzvm, __u64 cap, void __user *argp)
+{
+ int ret = -EOPNOTSUPP;
+
+ switch (cap) {
+ case GZVM_CAP_ARM_PROTECTED_VM: {
+ __u64 success = 1;
+
+ if (copy_to_user(argp, &success, sizeof(__u64)))
+ return -EFAULT;
+ ret = 0;
+ break;
+ }
+ case GZVM_CAP_ARM_VM_IPA_SIZE: {
+ ret = gzvm_cap_arm_vm_ipa_size(argp);
+ break;
+ }
+ default:
+ ret = -EOPNOTSUPP;
+ }
+
+ return ret;
+}
+
+/**
+ * gzvm_arch_create_vm() - create vm
+ * @vm_type: VM type. Only supports Linux VM now.
+ *
+ * Return:
+ * * positive value - VM ID
+ * * -ENOMEM - Memory not enough for storing VM data
+ */
+int gzvm_arch_create_vm(unsigned long vm_type)
+{
+ struct arm_smccc_res res;
+ int ret;
+
+ ret = gzvm_hypcall_wrapper(MT_HVC_GZVM_CREATE_VM, vm_type, 0, 0, 0, 0,
+ 0, 0, &res);
+
+ if (ret == 0)
+ return res.a1;
+ else
+ return ret;
+}
+
+int gzvm_arch_destroy_vm(u16 vm_id)
+{
+ struct arm_smccc_res res;
+
+ return gzvm_hypcall_wrapper(MT_HVC_GZVM_DESTROY_VM, vm_id, 0, 0, 0, 0,
+ 0, 0, &res);
+}
+
+int gzvm_arch_memregion_purpose(struct gzvm *gzvm,
+ struct gzvm_userspace_memory_region *mem)
+{
+ struct arm_smccc_res res;
+
+ return gzvm_hypcall_wrapper(MT_HVC_GZVM_MEMREGION_PURPOSE, gzvm->vm_id,
+ mem->guest_phys_addr, mem->memory_size,
+ mem->flags, 0, 0, 0, &res);
+}
+
+int gzvm_arch_set_dtb_config(struct gzvm *gzvm, struct gzvm_dtb_config *cfg)
+{
+ struct arm_smccc_res res;
+
+ return gzvm_hypcall_wrapper(MT_HVC_GZVM_SET_DTB_CONFIG, gzvm->vm_id,
+ cfg->dtb_addr, cfg->dtb_size, 0, 0, 0, 0,
+ &res);
+}
+
+static int gzvm_vm_arch_enable_cap(struct gzvm *gzvm,
+ struct gzvm_enable_cap *cap,
+ struct arm_smccc_res *res)
+{
+ return gzvm_hypcall_wrapper(MT_HVC_GZVM_ENABLE_CAP, gzvm->vm_id,
+ cap->cap, cap->args[0], cap->args[1],
+ cap->args[2], cap->args[3], cap->args[4],
+ res);
+}
+
+/**
+ * gzvm_vm_ioctl_get_pvmfw_size() - Get pvmfw size from hypervisor, return
+ * in x1, and return to userspace in args
+ * @gzvm: Pointer to struct gzvm.
+ * @cap: Pointer to struct gzvm_enable_cap.
+ * @argp: Pointer to struct gzvm_enable_cap in user space.
+ *
+ * Return:
+ * * 0 - Succeed
+ * * -EINVAL - Hypervisor return invalid results
+ * * -EFAULT - Fail to copy back to userspace buffer
+ */
+static int gzvm_vm_ioctl_get_pvmfw_size(struct gzvm *gzvm,
+ struct gzvm_enable_cap *cap,
+ void __user *argp)
+{
+ struct arm_smccc_res res = {0};
+
+ if (gzvm_vm_arch_enable_cap(gzvm, cap, &res) != 0)
+ return -EINVAL;
+
+ cap->args[1] = res.a1;
+ if (copy_to_user(argp, cap, sizeof(*cap)))
+ return -EFAULT;
+
+ return 0;
+}
+
+/**
+ * gzvm_vm_ioctl_cap_pvm() - Proceed GZVM_CAP_ARM_PROTECTED_VM's subcommands
+ * @gzvm: Pointer to struct gzvm.
+ * @cap: Pointer to struct gzvm_enable_cap.
+ * @argp: Pointer to struct gzvm_enable_cap in user space.
+ *
+ * Return:
+ * * 0 - Succeed
+ * * -EINVAL - Invalid subcommand or arguments
+ */
+static int gzvm_vm_ioctl_cap_pvm(struct gzvm *gzvm,
+ struct gzvm_enable_cap *cap,
+ void __user *argp)
+{
+ int ret = -EINVAL;
+ struct arm_smccc_res res = {0};
+
+ switch (cap->args[0]) {
+ case GZVM_CAP_ARM_PVM_SET_PVMFW_IPA:
+ fallthrough;
+ case GZVM_CAP_ARM_PVM_SET_PROTECTED_VM:
+ ret = gzvm_vm_arch_enable_cap(gzvm, cap, &res);
+ break;
+ case GZVM_CAP_ARM_PVM_GET_PVMFW_SIZE:
+ ret = gzvm_vm_ioctl_get_pvmfw_size(gzvm, cap, argp);
+ break;
+ default:
+ ret = -EINVAL;
+ break;
+ }
+
+ return ret;
+}
+
+int gzvm_vm_ioctl_arch_enable_cap(struct gzvm *gzvm,
+ struct gzvm_enable_cap *cap,
+ void __user *argp)
+{
+ int ret = -EINVAL;
+
+ switch (cap->cap) {
+ case GZVM_CAP_ARM_PROTECTED_VM:
+ ret = gzvm_vm_ioctl_cap_pvm(gzvm, cap, argp);
+ break;
+ default:
+ ret = -EINVAL;
+ break;
+ }
+
+ return ret;
+}
+
+/**
+ * gzvm_hva_to_pa_arch() - converts hva to pa with arch-specific way
+ * @hva: Host virtual address.
+ *
+ * Return: 0 if translation error
+ */
+u64 gzvm_hva_to_pa_arch(u64 hva)
+{
+ u64 par;
+ unsigned long flags;
+
+ local_irq_save(flags);
+ asm volatile("at s1e1r, %0" :: "r" (hva));
+ isb();
+ par = read_sysreg_par();
+ local_irq_restore(flags);
+
+ if (par & SYS_PAR_EL1_F)
+ return 0;
+
+ return par & PAR_PA47_MASK;
+}
diff --git a/arch/arm64/gunyah/gunyah_hypercall.c b/arch/arm64/gunyah/gunyah_hypercall.c
index 3d48c8650851..e178b5a0f691 100644
--- a/arch/arm64/gunyah/gunyah_hypercall.c
+++ b/arch/arm64/gunyah/gunyah_hypercall.c
@@ -16,13 +16,15 @@ bool arch_is_gh_guest(void)
{
struct arm_smccc_res res;
uuid_t uuid;
+ u32 *up;
arm_smccc_1_1_hvc(ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID, &res);
- ((u32 *)&uuid.b[0])[0] = lower_32_bits(res.a0);
- ((u32 *)&uuid.b[0])[1] = lower_32_bits(res.a1);
- ((u32 *)&uuid.b[0])[2] = lower_32_bits(res.a2);
- ((u32 *)&uuid.b[0])[3] = lower_32_bits(res.a3);
+ up = (u32 *)&uuid.b[0];
+ up[0] = lower_32_bits(res.a0);
+ up[1] = lower_32_bits(res.a1);
+ up[2] = lower_32_bits(res.a2);
+ up[3] = lower_32_bits(res.a3);
return uuid_equal(&uuid, &GUNYAH_UUID);
}
diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h
index 19713d0f013b..18dbb35a337f 100644
--- a/arch/arm64/include/asm/exception.h
+++ b/arch/arm64/include/asm/exception.h
@@ -8,16 +8,11 @@
#define __ASM_EXCEPTION_H
#include <asm/esr.h>
-#include <asm/kprobes.h>
#include <asm/ptrace.h>
#include <linux/interrupt.h>
-#ifdef CONFIG_FUNCTION_GRAPH_TRACER
#define __exception_irq_entry __irq_entry
-#else
-#define __exception_irq_entry __kprobes
-#endif
static inline unsigned long disr_to_esr(u64 disr)
{
diff --git a/arch/arm64/include/asm/kvm_asm.h b/arch/arm64/include/asm/kvm_asm.h
index 6755a0d9f3f0..60e834c85ea7 100644
--- a/arch/arm64/include/asm/kvm_asm.h
+++ b/arch/arm64/include/asm/kvm_asm.h
@@ -259,6 +259,8 @@ extern unsigned long kvm_nvhe_sym(kvm_arm_hyp_percpu_base)[];
DECLARE_KVM_NVHE_SYM(__per_cpu_start);
DECLARE_KVM_NVHE_SYM(__per_cpu_end);
+extern unsigned long kvm_nvhe_sym(kvm_arm_hyp_host_fp_state)[];
+
DECLARE_KVM_HYP_SYM(__bp_harden_hyp_vecs);
#define __bp_harden_hyp_vecs CHOOSE_HYP_SYM(__bp_harden_hyp_vecs)
diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 740a62f88a10..af442f82699d 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -203,6 +203,11 @@ struct kvm_arch {
/* Mandated version of PSCI */
u32 psci_version;
+#ifndef __GENKSYMS__
+ /* Protects VM-scoped configuration data */
+ struct mutex config_lock;
+#endif
+
/*
* If we encounter a data abort without valid instruction syndrome
* information, report this to user space. User space can (and
@@ -350,7 +355,11 @@ struct kvm_cpu_context {
u64 sys_regs[NR_SYS_REGS];
+#ifdef __GENKSYMS__
struct kvm_vcpu *__hyp_running_vcpu;
+#else
+ void *__hyp_running_vcpu;
+#endif
};
struct kvm_host_data {
@@ -509,6 +518,9 @@ struct kvm_vcpu_arch {
/* vcpu power state */
struct kvm_mp_state mp_state;
+#ifndef __GENKSYMS__
+ spinlock_t mp_state_lock;
+#endif
union {
/* Cache some mmu pages needed inside spinlock regions */
diff --git a/arch/arm64/include/asm/kvm_pkvm.h b/arch/arm64/include/asm/kvm_pkvm.h
index a1459fbe2d46..3077c2514a6d 100644
--- a/arch/arm64/include/asm/kvm_pkvm.h
+++ b/arch/arm64/include/asm/kvm_pkvm.h
@@ -414,10 +414,4 @@ static inline size_t pkvm_host_fp_state_size(void)
return sizeof(struct user_fpsimd_state);
}
-static inline unsigned long hyp_host_fp_pages(unsigned long nr_cpus)
-{
- return PAGE_ALIGN(size_mul(nr_cpus, pkvm_host_fp_state_size())) >>
- PAGE_SHIFT;
-}
-
#endif /* __ARM64_KVM_PKVM_H__ */
diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index 57fc7f17d9c8..ffaa502a4d42 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -253,9 +253,11 @@ static inline const void *__tag_set(const void *addr, u8 tag)
}
#ifdef CONFIG_KASAN_HW_TAGS
-#define arch_enable_tagging_sync() mte_enable_kernel_sync()
-#define arch_enable_tagging_async() mte_enable_kernel_async()
-#define arch_enable_tagging_asymm() mte_enable_kernel_asymm()
+#define arch_enable_tag_checks_sync() mte_enable_kernel_sync()
+#define arch_enable_tag_checks_async() mte_enable_kernel_async()
+#define arch_enable_tag_checks_asymm() mte_enable_kernel_asymm()
+#define arch_suppress_tag_checks_start() mte_enable_tco()
+#define arch_suppress_tag_checks_stop() mte_disable_tco()
#define arch_force_async_tag_fault() mte_check_tfsr_exit()
#define arch_get_random_tag() mte_get_random_tag()
#define arch_get_mem_tag(addr) mte_get_mem_tag(addr)
diff --git a/arch/arm64/include/asm/mte-kasan.h b/arch/arm64/include/asm/mte-kasan.h
index 9f79425fc65a..2e98028c1965 100644
--- a/arch/arm64/include/asm/mte-kasan.h
+++ b/arch/arm64/include/asm/mte-kasan.h
@@ -13,9 +13,74 @@
#include <linux/types.h>
+#ifdef CONFIG_KASAN_HW_TAGS
+
+/* Whether the MTE asynchronous mode is enabled. */
+DECLARE_STATIC_KEY_FALSE(mte_async_or_asymm_mode);
+
+static inline bool system_uses_mte_async_or_asymm_mode(void)
+{
+ return static_branch_unlikely(&mte_async_or_asymm_mode);
+}
+
+#else /* CONFIG_KASAN_HW_TAGS */
+
+static inline bool system_uses_mte_async_or_asymm_mode(void)
+{
+ return false;
+}
+
+#endif /* CONFIG_KASAN_HW_TAGS */
+
#ifdef CONFIG_ARM64_MTE
/*
+ * The Tag Check Flag (TCF) mode for MTE is per EL, hence TCF0
+ * affects EL0 and TCF affects EL1 irrespective of which TTBR is
+ * used.
+ * The kernel accesses TTBR0 usually with LDTR/STTR instructions
+ * when UAO is available, so these would act as EL0 accesses using
+ * TCF0.
+ * However futex.h code uses exclusives which would be executed as
+ * EL1, this can potentially cause a tag check fault even if the
+ * user disables TCF0.
+ *
+ * To address the problem we set the PSTATE.TCO bit in uaccess_enable()
+ * and reset it in uaccess_disable().
+ *
+ * The Tag check override (TCO) bit disables temporarily the tag checking
+ * preventing the issue.
+ */
+static inline void mte_disable_tco(void)
+{
+ asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(0),
+ ARM64_MTE, CONFIG_KASAN_HW_TAGS));
+}
+
+static inline void mte_enable_tco(void)
+{
+ asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(1),
+ ARM64_MTE, CONFIG_KASAN_HW_TAGS));
+}
+
+/*
+ * These functions disable tag checking only if in MTE async mode
+ * since the sync mode generates exceptions synchronously and the
+ * nofault or load_unaligned_zeropad can handle them.
+ */
+static inline void __mte_disable_tco_async(void)
+{
+ if (system_uses_mte_async_or_asymm_mode())
+ mte_disable_tco();
+}
+
+static inline void __mte_enable_tco_async(void)
+{
+ if (system_uses_mte_async_or_asymm_mode())
+ mte_enable_tco();
+}
+
+/*
* These functions are meant to be only used from KASAN runtime through
* the arch_*() interface defined in asm/memory.h.
* These functions don't include system_supports_mte() checks,
@@ -138,6 +203,22 @@ void mte_enable_kernel_asymm(void);
#else /* CONFIG_ARM64_MTE */
+static inline void mte_disable_tco(void)
+{
+}
+
+static inline void mte_enable_tco(void)
+{
+}
+
+static inline void __mte_disable_tco_async(void)
+{
+}
+
+static inline void __mte_enable_tco_async(void)
+{
+}
+
static inline u8 mte_get_ptr_tag(void *ptr)
{
return 0xFF;
diff --git a/arch/arm64/include/asm/mte.h b/arch/arm64/include/asm/mte.h
index 684fb1f85498..9341cc2452a3 100644
--- a/arch/arm64/include/asm/mte.h
+++ b/arch/arm64/include/asm/mte.h
@@ -145,14 +145,6 @@ static inline void mte_disable_tco_entry(struct task_struct *task)
}
#ifdef CONFIG_KASAN_HW_TAGS
-/* Whether the MTE asynchronous mode is enabled. */
-DECLARE_STATIC_KEY_FALSE(mte_async_or_asymm_mode);
-
-static inline bool system_uses_mte_async_or_asymm_mode(void)
-{
- return static_branch_unlikely(&mte_async_or_asymm_mode);
-}
-
void mte_check_tfsr_el1(void);
static inline void mte_check_tfsr_entry(void)
@@ -179,10 +171,6 @@ static inline void mte_check_tfsr_exit(void)
mte_check_tfsr_el1();
}
#else
-static inline bool system_uses_mte_async_or_asymm_mode(void)
-{
- return false;
-}
static inline void mte_check_tfsr_el1(void)
{
}
diff --git a/arch/arm64/include/asm/uaccess.h b/arch/arm64/include/asm/uaccess.h
index 5c7b2f9d5913..30ea7b5c3ccb 100644
--- a/arch/arm64/include/asm/uaccess.h
+++ b/arch/arm64/include/asm/uaccess.h
@@ -136,55 +136,9 @@ static inline void __uaccess_enable_hw_pan(void)
CONFIG_ARM64_PAN));
}
-/*
- * The Tag Check Flag (TCF) mode for MTE is per EL, hence TCF0
- * affects EL0 and TCF affects EL1 irrespective of which TTBR is
- * used.
- * The kernel accesses TTBR0 usually with LDTR/STTR instructions
- * when UAO is available, so these would act as EL0 accesses using
- * TCF0.
- * However futex.h code uses exclusives which would be executed as
- * EL1, this can potentially cause a tag check fault even if the
- * user disables TCF0.
- *
- * To address the problem we set the PSTATE.TCO bit in uaccess_enable()
- * and reset it in uaccess_disable().
- *
- * The Tag check override (TCO) bit disables temporarily the tag checking
- * preventing the issue.
- */
-static inline void __uaccess_disable_tco(void)
-{
- asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(0),
- ARM64_MTE, CONFIG_KASAN_HW_TAGS));
-}
-
-static inline void __uaccess_enable_tco(void)
-{
- asm volatile(ALTERNATIVE("nop", SET_PSTATE_TCO(1),
- ARM64_MTE, CONFIG_KASAN_HW_TAGS));
-}
-
-/*
- * These functions disable tag checking only if in MTE async mode
- * since the sync mode generates exceptions synchronously and the
- * nofault or load_unaligned_zeropad can handle them.
- */
-static inline void __uaccess_disable_tco_async(void)
-{
- if (system_uses_mte_async_or_asymm_mode())
- __uaccess_disable_tco();
-}
-
-static inline void __uaccess_enable_tco_async(void)
-{
- if (system_uses_mte_async_or_asymm_mode())
- __uaccess_enable_tco();
-}
-
static inline void uaccess_disable_privileged(void)
{
- __uaccess_disable_tco();
+ mte_disable_tco();
if (uaccess_ttbr0_disable())
return;
@@ -194,7 +148,7 @@ static inline void uaccess_disable_privileged(void)
static inline void uaccess_enable_privileged(void)
{
- __uaccess_enable_tco();
+ mte_enable_tco();
if (uaccess_ttbr0_enable())
return;
@@ -302,8 +256,8 @@ do { \
#define get_user __get_user
/*
- * We must not call into the scheduler between __uaccess_enable_tco_async() and
- * __uaccess_disable_tco_async(). As `dst` and `src` may contain blocking
+ * We must not call into the scheduler between __mte_enable_tco_async() and
+ * __mte_disable_tco_async(). As `dst` and `src` may contain blocking
* functions, we must evaluate these outside of the critical section.
*/
#define __get_kernel_nofault(dst, src, type, err_label) \
@@ -312,10 +266,10 @@ do { \
__typeof__(src) __gkn_src = (src); \
int __gkn_err = 0; \
\
- __uaccess_enable_tco_async(); \
+ __mte_enable_tco_async(); \
__raw_get_mem("ldr", *((type *)(__gkn_dst)), \
(__force type *)(__gkn_src), __gkn_err, K); \
- __uaccess_disable_tco_async(); \
+ __mte_disable_tco_async(); \
\
if (unlikely(__gkn_err)) \
goto err_label; \
@@ -388,8 +342,8 @@ do { \
#define put_user __put_user
/*
- * We must not call into the scheduler between __uaccess_enable_tco_async() and
- * __uaccess_disable_tco_async(). As `dst` and `src` may contain blocking
+ * We must not call into the scheduler between __mte_enable_tco_async() and
+ * __mte_disable_tco_async(). As `dst` and `src` may contain blocking
* functions, we must evaluate these outside of the critical section.
*/
#define __put_kernel_nofault(dst, src, type, err_label) \
@@ -398,10 +352,10 @@ do { \
__typeof__(src) __pkn_src = (src); \
int __pkn_err = 0; \
\
- __uaccess_enable_tco_async(); \
+ __mte_enable_tco_async(); \
__raw_put_mem("str", *((type *)(__pkn_src)), \
(__force type *)(__pkn_dst), __pkn_err, K); \
- __uaccess_disable_tco_async(); \
+ __mte_disable_tco_async(); \
\
if (unlikely(__pkn_err)) \
goto err_label; \
diff --git a/arch/arm64/include/asm/word-at-a-time.h b/arch/arm64/include/asm/word-at-a-time.h
index 1c8e4f2490bf..f3b151ed0d7a 100644
--- a/arch/arm64/include/asm/word-at-a-time.h
+++ b/arch/arm64/include/asm/word-at-a-time.h
@@ -55,7 +55,7 @@ static inline unsigned long load_unaligned_zeropad(const void *addr)
{
unsigned long ret;
- __uaccess_enable_tco_async();
+ __mte_enable_tco_async();
/* Load word from unaligned pointer addr */
asm(
@@ -65,7 +65,7 @@ static inline unsigned long load_unaligned_zeropad(const void *addr)
: "=&r" (ret)
: "r" (addr), "Q" (*(unsigned long *)addr));
- __uaccess_disable_tco_async();
+ __mte_disable_tco_async();
return ret;
}
diff --git a/arch/arm64/include/uapi/asm/gzvm_arch.h b/arch/arm64/include/uapi/asm/gzvm_arch.h
new file mode 100644
index 000000000000..acfe9be0f849
--- /dev/null
+++ b/arch/arm64/include/uapi/asm/gzvm_arch.h
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#ifndef __GZVM_ARCH_H__
+#define __GZVM_ARCH_H__
+
+#include <linux/types.h>
+
+#define GZVM_CAP_ARM_VM_IPA_SIZE 165
+#define GZVM_CAP_ARM_PROTECTED_VM 0xffbadab1
+
+/* sub-commands put in args[0] for GZVM_CAP_ARM_PROTECTED_VM */
+#define GZVM_CAP_ARM_PVM_SET_PVMFW_IPA 0
+#define GZVM_CAP_ARM_PVM_GET_PVMFW_SIZE 1
+/* GZVM_CAP_ARM_PVM_SET_PROTECTED_VM only sets protected but not load pvmfw */
+#define GZVM_CAP_ARM_PVM_SET_PROTECTED_VM 2
+
+/*
+ * Architecture specific registers are to be defined in arch headers and
+ * ORed with the arch identifier.
+ */
+#define GZVM_REG_ARM 0x4000000000000000ULL
+#define GZVM_REG_ARM64 0x6000000000000000ULL
+
+#define GZVM_REG_SIZE_SHIFT 52
+#define GZVM_REG_SIZE_MASK 0x00f0000000000000ULL
+#define GZVM_REG_SIZE_U8 0x0000000000000000ULL
+#define GZVM_REG_SIZE_U16 0x0010000000000000ULL
+#define GZVM_REG_SIZE_U32 0x0020000000000000ULL
+#define GZVM_REG_SIZE_U64 0x0030000000000000ULL
+#define GZVM_REG_SIZE_U128 0x0040000000000000ULL
+#define GZVM_REG_SIZE_U256 0x0050000000000000ULL
+#define GZVM_REG_SIZE_U512 0x0060000000000000ULL
+#define GZVM_REG_SIZE_U1024 0x0070000000000000ULL
+#define GZVM_REG_SIZE_U2048 0x0080000000000000ULL
+
+#define GZVM_REG_ARCH_MASK 0xff00000000000000ULL
+
+/* If you need to interpret the index values, here is the key: */
+#define GZVM_REG_ARM_COPROC_MASK 0x000000000FFF0000
+#define GZVM_REG_ARM_COPROC_SHIFT 16
+
+/* Normal registers are mapped as coprocessor 16. */
+#define GZVM_REG_ARM_CORE (0x0010 << GZVM_REG_ARM_COPROC_SHIFT)
+#define GZVM_REG_ARM_CORE_REG(name) \
+ (offsetof(struct gzvm_regs, name) / sizeof(__u32))
+
+#define GZVM_VGIC_NR_SGIS 16
+#define GZVM_VGIC_NR_PPIS 16
+#define GZVM_VGIC_NR_PRIVATE_IRQS (GZVM_VGIC_NR_SGIS + GZVM_VGIC_NR_PPIS)
+
+#endif /* __GZVM_ARCH_H__ */
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 817d788cd866..7c93307bd960 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -22,6 +22,8 @@
#include <asm/cputype.h>
#include <asm/topology.h>
+#include <trace/hooks/topology.h>
+
#ifdef CONFIG_ACPI
static bool __init acpi_cpu_is_threaded(int cpu)
{
@@ -151,6 +153,11 @@ static void amu_scale_freq_tick(void)
{
u64 prev_core_cnt, prev_const_cnt;
u64 core_cnt, const_cnt, scale;
+ bool use_amu_fie = true;
+
+ trace_android_vh_use_amu_fie(&use_amu_fie);
+ if(!use_amu_fie)
+ return;
prev_const_cnt = this_cpu_read(arch_const_cycles_prev);
prev_core_cnt = this_cpu_read(arch_core_cycles_prev);
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index a219e6ddf4f5..c9428ce23d80 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -155,6 +155,16 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
if (type & ~KVM_VM_TYPE_MASK)
return -EINVAL;
+ mutex_init(&kvm->arch.config_lock);
+
+#ifdef CONFIG_LOCKDEP
+ /* Clue in lockdep that the config_lock must be taken inside kvm->lock */
+ mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
+ mutex_unlock(&kvm->arch.config_lock);
+ mutex_unlock(&kvm->lock);
+#endif
+
ret = kvm_share_hyp(kvm, kvm + 1);
if (ret)
return ret;
@@ -423,6 +433,16 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)
{
int err;
+ spin_lock_init(&vcpu->arch.mp_state_lock);
+
+#ifdef CONFIG_LOCKDEP
+ /* Inform lockdep that the config_lock is acquired after vcpu->mutex */
+ mutex_lock(&vcpu->mutex);
+ mutex_lock(&vcpu->kvm->arch.config_lock);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
+ mutex_unlock(&vcpu->mutex);
+#endif
+
/* Force users to call KVM_ARM_VCPU_INIT */
vcpu->arch.target = -1;
bitmap_zero(vcpu->arch.features, KVM_VCPU_MAX_FEATURES);
@@ -566,34 +586,41 @@ void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
vcpu->cpu = -1;
}
-void kvm_arm_vcpu_power_off(struct kvm_vcpu *vcpu)
+static void __kvm_arm_vcpu_power_off(struct kvm_vcpu *vcpu)
{
- vcpu->arch.mp_state.mp_state = KVM_MP_STATE_STOPPED;
+ WRITE_ONCE(vcpu->arch.mp_state.mp_state, KVM_MP_STATE_STOPPED);
kvm_make_request(KVM_REQ_SLEEP, vcpu);
kvm_vcpu_kick(vcpu);
}
+void kvm_arm_vcpu_power_off(struct kvm_vcpu *vcpu)
+{
+ spin_lock(&vcpu->arch.mp_state_lock);
+ __kvm_arm_vcpu_power_off(vcpu);
+ spin_unlock(&vcpu->arch.mp_state_lock);
+}
+
bool kvm_arm_vcpu_stopped(struct kvm_vcpu *vcpu)
{
- return vcpu->arch.mp_state.mp_state == KVM_MP_STATE_STOPPED;
+ return READ_ONCE(vcpu->arch.mp_state.mp_state) == KVM_MP_STATE_STOPPED;
}
static void kvm_arm_vcpu_suspend(struct kvm_vcpu *vcpu)
{
- vcpu->arch.mp_state.mp_state = KVM_MP_STATE_SUSPENDED;
+ WRITE_ONCE(vcpu->arch.mp_state.mp_state, KVM_MP_STATE_SUSPENDED);
kvm_make_request(KVM_REQ_SUSPEND, vcpu);
kvm_vcpu_kick(vcpu);
}
static bool kvm_arm_vcpu_suspended(struct kvm_vcpu *vcpu)
{
- return vcpu->arch.mp_state.mp_state == KVM_MP_STATE_SUSPENDED;
+ return READ_ONCE(vcpu->arch.mp_state.mp_state) == KVM_MP_STATE_SUSPENDED;
}
int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
struct kvm_mp_state *mp_state)
{
- *mp_state = vcpu->arch.mp_state;
+ *mp_state = READ_ONCE(vcpu->arch.mp_state);
return 0;
}
@@ -603,12 +630,14 @@ int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
{
int ret = 0;
+ spin_lock(&vcpu->arch.mp_state_lock);
+
switch (mp_state->mp_state) {
case KVM_MP_STATE_RUNNABLE:
- vcpu->arch.mp_state = *mp_state;
+ WRITE_ONCE(vcpu->arch.mp_state, *mp_state);
break;
case KVM_MP_STATE_STOPPED:
- kvm_arm_vcpu_power_off(vcpu);
+ __kvm_arm_vcpu_power_off(vcpu);
break;
case KVM_MP_STATE_SUSPENDED:
kvm_arm_vcpu_suspend(vcpu);
@@ -617,6 +646,8 @@ int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
ret = -EINVAL;
}
+ spin_unlock(&vcpu->arch.mp_state_lock);
+
return ret;
}
@@ -711,9 +742,9 @@ int kvm_arch_vcpu_run_pid_change(struct kvm_vcpu *vcpu)
static_branch_inc(&userspace_irqchip_in_use);
}
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
set_bit(KVM_ARCH_FLAG_HAS_RAN_ONCE, &kvm->arch.flags);
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
return ret;
}
@@ -1327,7 +1358,7 @@ static int kvm_arch_vcpu_ioctl_vcpu_init(struct kvm_vcpu *vcpu,
if (test_bit(KVM_ARM_VCPU_POWER_OFF, vcpu->arch.features))
kvm_arm_vcpu_power_off(vcpu);
else
- vcpu->arch.mp_state.mp_state = KVM_MP_STATE_RUNNABLE;
+ WRITE_ONCE(vcpu->arch.mp_state.mp_state, KVM_MP_STATE_RUNNABLE);
return 0;
}
@@ -1611,6 +1642,11 @@ static unsigned long nvhe_percpu_order(void)
return size ? get_order(size) : 0;
}
+static inline size_t pkvm_host_fp_state_order(void)
+{
+ return get_order(pkvm_host_fp_state_size());
+}
+
/* A lookup table holding the hypervisor VA for each vector slot */
static void *hyp_spectre_vector_selector[BP_HARDEN_EL2_SLOTS];
@@ -1975,6 +2011,8 @@ static void teardown_hyp_mode(void)
for_each_possible_cpu(cpu) {
free_page(per_cpu(kvm_arm_hyp_stack_page, cpu));
free_pages(kvm_nvhe_sym(kvm_arm_hyp_percpu_base)[cpu], nvhe_percpu_order());
+ free_pages(kvm_nvhe_sym(kvm_arm_hyp_host_fp_state)[cpu],
+ pkvm_host_fp_state_order());
}
}
@@ -2061,6 +2099,48 @@ static int kvm_hyp_init_protection(u32 hyp_va_bits)
return 0;
}
+static int init_pkvm_host_fp_state(void)
+{
+ int cpu;
+
+ if (!is_protected_kvm_enabled())
+ return 0;
+
+ /* Allocate pages for protected-mode host-fp state. */
+ for_each_possible_cpu(cpu) {
+ struct page *page;
+ unsigned long addr;
+
+ page = alloc_pages(GFP_KERNEL, pkvm_host_fp_state_order());
+ if (!page)
+ return -ENOMEM;
+
+ addr = (unsigned long)page_address(page);
+ kvm_nvhe_sym(kvm_arm_hyp_host_fp_state)[cpu] = addr;
+ }
+
+ /*
+ * Don't map the pages in hyp since these are only used in protected
+ * mode, which will (re)create its own mapping when initialized.
+ */
+
+ return 0;
+}
+
+/*
+ * Finalizes the initialization of hyp mode, once everything else is initialized
+ * and the initialziation process cannot fail.
+ */
+static void finalize_init_hyp_mode(void)
+{
+ int cpu;
+
+ for_each_possible_cpu(cpu) {
+ kvm_nvhe_sym(kvm_arm_hyp_host_fp_state)[cpu] =
+ kern_hyp_va(kvm_nvhe_sym(kvm_arm_hyp_host_fp_state)[cpu]);
+ }
+}
+
/**
* Inits Hyp-mode on all online CPUs
*/
@@ -2228,6 +2308,10 @@ static int init_hyp_mode(void)
cpu_prepare_hyp_mode(cpu);
}
+ err = init_pkvm_host_fp_state();
+ if (err)
+ goto out_err;
+
kvm_hyp_init_symbols();
/* TODO: Real .h interface */
@@ -2386,6 +2470,13 @@ int kvm_arch_init(void *opaque)
kvm_info("Hyp mode initialized successfully\n");
}
+ /*
+ * This should be called after initialization is done and failure isn't
+ * possible anymore.
+ */
+ if (!in_hyp_mode)
+ finalize_init_hyp_mode();
+
return 0;
out_hyp:
diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
index a3b31f2c7a6a..8ae9aafdd8d3 100644
--- a/arch/arm64/kvm/guest.c
+++ b/arch/arm64/kvm/guest.c
@@ -953,7 +953,9 @@ int kvm_arm_vcpu_arch_set_attr(struct kvm_vcpu *vcpu,
switch (attr->group) {
case KVM_ARM_VCPU_PMU_V3_CTRL:
+ mutex_lock(&vcpu->kvm->arch.config_lock);
ret = kvm_arm_pmu_v3_set_attr(vcpu, attr);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
break;
case KVM_ARM_VCPU_TIMER_CTRL:
ret = kvm_arm_timer_set_attr(vcpu, attr);
diff --git a/arch/arm64/kvm/hyp/include/nvhe/pkvm.h b/arch/arm64/kvm/hyp/include/nvhe/pkvm.h
index b11fd818fff9..943cf7fc7124 100644
--- a/arch/arm64/kvm/hyp/include/nvhe/pkvm.h
+++ b/arch/arm64/kvm/hyp/include/nvhe/pkvm.h
@@ -82,8 +82,6 @@ struct pkvm_hyp_vm {
struct pkvm_hyp_vcpu *vcpus[];
};
-extern void *host_fp_state;
-
static inline struct pkvm_hyp_vm *
pkvm_hyp_vcpu_to_hyp_vm(struct pkvm_hyp_vcpu *hyp_vcpu)
{
@@ -107,7 +105,6 @@ extern phys_addr_t pvmfw_base;
extern phys_addr_t pvmfw_size;
void pkvm_hyp_vm_table_init(void *tbl);
-void pkvm_hyp_host_fp_init(void *host_fp);
int __pkvm_init_vm(struct kvm *host_kvm, unsigned long vm_hva,
unsigned long pgd_hva, unsigned long last_ran_hva);
diff --git a/arch/arm64/kvm/hyp/nvhe/hyp-main.c b/arch/arm64/kvm/hyp/nvhe/hyp-main.c
index 16abb1e0de08..995c3a840010 100644
--- a/arch/arm64/kvm/hyp/nvhe/hyp-main.c
+++ b/arch/arm64/kvm/hyp/nvhe/hyp-main.c
@@ -39,7 +39,12 @@ static bool (*default_trap_handler)(struct kvm_cpu_context *host_ctxt);
int __pkvm_register_host_smc_handler(bool (*cb)(struct kvm_cpu_context *))
{
- return cmpxchg(&default_host_smc_handler, NULL, cb) ? -EBUSY : 0;
+ /*
+ * Paired with smp_load_acquire(&default_host_smc_handler) in
+ * handle_host_smc(). Ensure memory stores happening during a pKVM module
+ * init are observed before executing the callback.
+ */
+ return cmpxchg_release(&default_host_smc_handler, NULL, cb) ? -EBUSY : 0;
}
int __pkvm_register_default_trap_handler(bool (*cb)(struct kvm_cpu_context *))
@@ -1376,13 +1381,17 @@ static void handle_host_smc(struct kvm_cpu_context *host_ctxt)
handled = kvm_host_psci_handler(host_ctxt);
if (!handled)
handled = kvm_host_ffa_handler(host_ctxt);
- if (!handled && READ_ONCE(default_host_smc_handler))
+ if (!handled && smp_load_acquire(&default_host_smc_handler))
handled = default_host_smc_handler(host_ctxt);
- if (!handled)
- __kvm_hyp_host_forward_smc(host_ctxt);
trace_host_smc(func_id, !handled);
+ if (!handled) {
+ trace_hyp_exit();
+ __kvm_hyp_host_forward_smc(host_ctxt);
+ trace_hyp_enter();
+ }
+
/* SMC was trapped, move ELR past the current PC. */
kvm_skip_host_instr();
}
diff --git a/arch/arm64/kvm/hyp/nvhe/mem_protect.c b/arch/arm64/kvm/hyp/nvhe/mem_protect.c
index 2aeb5a8a7baa..34d737112e72 100644
--- a/arch/arm64/kvm/hyp/nvhe/mem_protect.c
+++ b/arch/arm64/kvm/hyp/nvhe/mem_protect.c
@@ -1048,9 +1048,20 @@ static int __host_check_page_state_range(u64 addr, u64 size,
static int __host_set_page_state_range(u64 addr, u64 size,
enum pkvm_page_state state)
{
+ bool update_iommu = true;
enum kvm_pgtable_prot prot = pkvm_mkstate(PKVM_HOST_MEM_PROT, state);
- return host_stage2_idmap_locked(addr, size, prot, true);
+ /*
+ * Sharing and unsharing host pages shouldn't change the IOMMU page tables,
+ * so avoid extra page tables walks for the IOMMU.
+ * HOWEVER THIS WILL NOT WORK WHEN DEVICE ASSIGNMENT IS SUPPORTED AS THE GUEST
+ * MIGHT HAVE ACCESS TO DMA.
+ * but as Android-14 doesn't support device assignment this should be fine.
+ */
+ if ((state == PKVM_PAGE_OWNED) || (state == PKVM_PAGE_SHARED_OWNED))
+ update_iommu = false;
+
+ return host_stage2_idmap_locked(addr, size, prot, update_iommu);
}
static int host_request_owned_transition(u64 *completer_addr,
diff --git a/arch/arm64/kvm/hyp/nvhe/pkvm.c b/arch/arm64/kvm/hyp/nvhe/pkvm.c
index bb25de654934..b3acb60a2d6c 100644
--- a/arch/arm64/kvm/hyp/nvhe/pkvm.c
+++ b/arch/arm64/kvm/hyp/nvhe/pkvm.c
@@ -41,17 +41,15 @@ static DEFINE_PER_CPU(struct pkvm_hyp_vcpu *, loaded_hyp_vcpu);
*
* Only valid when (fp_state == FP_STATE_GUEST_OWNED) in the hyp vCPU structure.
*/
-void *host_fp_state;
+unsigned long __ro_after_init kvm_arm_hyp_host_fp_state[NR_CPUS];
static void *__get_host_fpsimd_bytes(void)
{
- void *state = host_fp_state +
- size_mul(pkvm_host_fp_state_size(), hyp_smp_processor_id());
-
- if (state < host_fp_state)
- return NULL;
-
- return state;
+ /*
+ * The addresses in this array have been converted to hyp addresses
+ * in finalize_init_hyp_mode().
+ */
+ return (void *)kvm_arm_hyp_host_fp_state[hyp_smp_processor_id()];
}
struct user_fpsimd_state *get_host_fpsimd_state(struct kvm_vcpu *vcpu)
@@ -295,12 +293,6 @@ void pkvm_hyp_vm_table_init(void *tbl)
vm_table = tbl;
}
-void pkvm_hyp_host_fp_init(void *host_fp)
-{
- WARN_ON(host_fp_state);
- host_fp_state = host_fp;
-}
-
/*
* Return the hyp vm structure corresponding to the handle.
*/
diff --git a/arch/arm64/kvm/hyp/nvhe/psci-relay.c b/arch/arm64/kvm/hyp/nvhe/psci-relay.c
index d4825b6140ba..f8db5445b530 100644
--- a/arch/arm64/kvm/hyp/nvhe/psci-relay.c
+++ b/arch/arm64/kvm/hyp/nvhe/psci-relay.c
@@ -28,14 +28,19 @@ struct kvm_host_psci_config __ro_after_init kvm_host_psci_config;
static void (*pkvm_psci_notifier)(enum pkvm_psci_notification, struct kvm_cpu_context *);
static void pkvm_psci_notify(enum pkvm_psci_notification notif, struct kvm_cpu_context *host_ctxt)
{
- if (READ_ONCE(pkvm_psci_notifier))
+ if (smp_load_acquire(&pkvm_psci_notifier))
pkvm_psci_notifier(notif, host_ctxt);
}
#ifdef CONFIG_MODULES
int __pkvm_register_psci_notifier(void (*cb)(enum pkvm_psci_notification, struct kvm_cpu_context *))
{
- return cmpxchg(&pkvm_psci_notifier, NULL, cb) ? -EBUSY : 0;
+ /*
+ * Paired with smp_load_acquire(&pkvm_psci_notifier) in
+ * pkvm_psci_notify(). Ensure memory stores hapenning during a pKVM module
+ * init are observed before executing the callback.
+ */
+ return cmpxchg_release(&pkvm_psci_notifier, NULL, cb) ? -EBUSY : 0;
}
#endif
diff --git a/arch/arm64/kvm/hyp/nvhe/serial.c b/arch/arm64/kvm/hyp/nvhe/serial.c
index 0b2cf3b6d6a5..475ebf4ba7de 100644
--- a/arch/arm64/kvm/hyp/nvhe/serial.c
+++ b/arch/arm64/kvm/hyp/nvhe/serial.c
@@ -35,7 +35,8 @@ static inline void __hyp_putx4n(unsigned long x, int n)
static inline bool hyp_serial_enabled(void)
{
- return !!READ_ONCE(__hyp_putc);
+ /* Paired with __pkvm_register_serial_driver()'s cmpxchg */
+ return !!smp_load_acquire(&__hyp_putc);
}
void hyp_puts(const char *s)
@@ -64,5 +65,10 @@ void hyp_putc(char c)
int __pkvm_register_serial_driver(void (*cb)(char))
{
- return cmpxchg(&__hyp_putc, NULL, cb) ? -EBUSY : 0;
+ /*
+ * Paired with smp_load_acquire(&__hyp_putc) in
+ * hyp_serial_enabled(). Ensure memory stores hapenning during a pKVM
+ * module init are observed before executing the callback.
+ */
+ return cmpxchg_release(&__hyp_putc, NULL, cb) ? -EBUSY : 0;
}
diff --git a/arch/arm64/kvm/hyp/nvhe/setup.c b/arch/arm64/kvm/hyp/nvhe/setup.c
index c0f502c5edb2..ac3a0dc79083 100644
--- a/arch/arm64/kvm/hyp/nvhe/setup.c
+++ b/arch/arm64/kvm/hyp/nvhe/setup.c
@@ -34,7 +34,6 @@ static void *vm_table_base;
static void *hyp_pgt_base;
static void *host_s2_pgt_base;
static void *ffa_proxy_pages;
-static void *hyp_host_fp_base;
static struct kvm_pgtable_mm_ops pkvm_pgtable_mm_ops;
static struct hyp_pool hpool;
@@ -69,10 +68,21 @@ static int divide_memory_pool(void *virt, unsigned long size)
if (!ffa_proxy_pages)
return -ENOMEM;
- nr_pages = hyp_host_fp_pages(hyp_nr_cpus);
- hyp_host_fp_base = hyp_early_alloc_contig(nr_pages);
- if (!hyp_host_fp_base)
- return -ENOMEM;
+ return 0;
+}
+
+static int create_hyp_host_fp_mappings(void)
+{
+ void *start, *end;
+ int ret, i;
+
+ for (i = 0; i < hyp_nr_cpus; i++) {
+ start = (void *)kern_hyp_va(kvm_arm_hyp_host_fp_state[i]);
+ end = start + PAGE_ALIGN(pkvm_host_fp_state_size());
+ ret = pkvm_create_mappings(start, end, PAGE_HYP);
+ if (ret)
+ return ret;
+ }
return 0;
}
@@ -164,6 +174,8 @@ static int recreate_hyp_mappings(phys_addr_t phys, unsigned long size,
params->stack_hyp_va = hyp_addr + (2 * PAGE_SIZE);
}
+ create_hyp_host_fp_mappings();
+
/*
* Map the host sections RO in the hypervisor, but transfer the
* ownership from the host to the hypervisor itself to make sure they
@@ -405,7 +417,6 @@ void __noreturn __pkvm_init_finalise(void)
goto out;
pkvm_hyp_vm_table_init(vm_table_base);
- pkvm_hyp_host_fp_init(hyp_host_fp_base);
out:
/*
* We tail-called to here from handle___pkvm_init() and will not return,
diff --git a/arch/arm64/kvm/hyp/nvhe/tlb.c b/arch/arm64/kvm/hyp/nvhe/tlb.c
index 35092e154614..692bd7f881f1 100644
--- a/arch/arm64/kvm/hyp/nvhe/tlb.c
+++ b/arch/arm64/kvm/hyp/nvhe/tlb.c
@@ -32,13 +32,19 @@ static void enter_vmid_context(struct kvm_s2_mmu *mmu,
* to do.
*/
if (vcpu) {
+ /* We're in guest context */
if (mmu == vcpu->arch.hw_mmu || WARN_ON(mmu != host_s2_mmu))
return;
- } else if (mmu == host_s2_mmu) {
- return;
+
+ cxt->mmu = vcpu->arch.hw_mmu;
+ } else {
+ /* We're in host context */
+ if (mmu == host_s2_mmu)
+ return;
+
+ cxt->mmu = host_s2_mmu;
}
- cxt->mmu = mmu;
if (cpus_have_final_cap(ARM64_WORKAROUND_SPECULATIVE_AT)) {
u64 val;
diff --git a/arch/arm64/kvm/hypercalls.c b/arch/arm64/kvm/hypercalls.c
index 6c052411123c..3e069361ecfc 100644
--- a/arch/arm64/kvm/hypercalls.c
+++ b/arch/arm64/kvm/hypercalls.c
@@ -409,7 +409,7 @@ static int kvm_arm_set_fw_reg_bmap(struct kvm_vcpu *vcpu, u64 reg_id, u64 val)
if (val & ~fw_reg_features)
return -EINVAL;
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
if (test_bit(KVM_ARCH_FLAG_HAS_RAN_ONCE, &kvm->arch.flags) &&
val != *fw_reg_bmap) {
@@ -419,7 +419,7 @@ static int kvm_arm_set_fw_reg_bmap(struct kvm_vcpu *vcpu, u64 reg_id, u64 val)
WRITE_ONCE(*fw_reg_bmap, val);
out:
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
return ret;
}
diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
index 6259a72812e9..8d4d1374012a 100644
--- a/arch/arm64/kvm/mmu.c
+++ b/arch/arm64/kvm/mmu.c
@@ -701,7 +701,7 @@ static int get_user_mapping_size(struct kvm *kvm, u64 addr)
static bool stage2_force_pte_cb(u64 addr, u64 end, enum kvm_pgtable_prot prot)
{
- return true;
+ return false;
}
static bool stage2_pte_is_counted(kvm_pte_t pte, u32 level)
diff --git a/arch/arm64/kvm/pkvm.c b/arch/arm64/kvm/pkvm.c
index b601ff98e9f2..1cff760b8f23 100644
--- a/arch/arm64/kvm/pkvm.c
+++ b/arch/arm64/kvm/pkvm.c
@@ -173,7 +173,6 @@ void __init kvm_hyp_reserve(void)
hyp_mem_pages += hyp_vm_table_pages();
hyp_mem_pages += hyp_vmemmap_pages(STRUCT_HYP_PAGE_SIZE);
hyp_mem_pages += hyp_ffa_proxy_pages();
- hyp_mem_pages += hyp_host_fp_pages(num_possible_cpus());
/*
* Try to allocate a PMD-aligned region to reduce TLB pressure once
@@ -504,10 +503,6 @@ static int __init finalize_pkvm(void)
if (pkvm_load_early_modules())
pkvm_firmware_rmem_clear();
- /* If no DMA protection. */
- if (!pkvm_iommu_finalized())
- pkvm_firmware_rmem_clear();
-
/*
* Exclude HYP sections from kmemleak so that they don't get peeked
* at, which would end badly once inaccessible.
@@ -516,6 +511,12 @@ static int __init finalize_pkvm(void)
kmemleak_free_part(__hyp_data_start, __hyp_data_end - __hyp_data_start);
kmemleak_free_part_phys(hyp_mem_base, hyp_mem_size);
+ flush_deferred_probe_now();
+
+ /* If no DMA protection. */
+ if (!pkvm_iommu_finalized())
+ pkvm_firmware_rmem_clear();
+
ret = pkvm_drop_host_privileges();
if (ret) {
pr_err("Failed to de-privilege the host kernel: %d\n", ret);
diff --git a/arch/arm64/kvm/pmu-emul.c b/arch/arm64/kvm/pmu-emul.c
index ed12c5355afb..c7e5f6a28c28 100644
--- a/arch/arm64/kvm/pmu-emul.c
+++ b/arch/arm64/kvm/pmu-emul.c
@@ -850,7 +850,7 @@ static int kvm_arm_pmu_v3_set_pmu(struct kvm_vcpu *vcpu, int pmu_id)
struct arm_pmu *arm_pmu;
int ret = -ENXIO;
- mutex_lock(&kvm->lock);
+ lockdep_assert_held(&kvm->arch.config_lock);
mutex_lock(&arm_pmus_lock);
list_for_each_entry(entry, &arm_pmus, entry) {
@@ -870,7 +870,6 @@ static int kvm_arm_pmu_v3_set_pmu(struct kvm_vcpu *vcpu, int pmu_id)
}
mutex_unlock(&arm_pmus_lock);
- mutex_unlock(&kvm->lock);
return ret;
}
@@ -878,22 +877,20 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
{
struct kvm *kvm = vcpu->kvm;
+ lockdep_assert_held(&kvm->arch.config_lock);
+
if (!kvm_vcpu_has_pmu(vcpu))
return -ENODEV;
if (vcpu->arch.pmu.created)
return -EBUSY;
- mutex_lock(&kvm->lock);
if (!kvm->arch.arm_pmu) {
/* No PMU set, get the default one */
kvm->arch.arm_pmu = kvm_pmu_probe_armpmu();
- if (!kvm->arch.arm_pmu) {
- mutex_unlock(&kvm->lock);
+ if (!kvm->arch.arm_pmu)
return -ENODEV;
- }
}
- mutex_unlock(&kvm->lock);
switch (attr->attr) {
case KVM_ARM_VCPU_PMU_V3_IRQ: {
@@ -937,19 +934,13 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
filter.action != KVM_PMU_EVENT_DENY))
return -EINVAL;
- mutex_lock(&kvm->lock);
-
- if (test_bit(KVM_ARCH_FLAG_HAS_RAN_ONCE, &kvm->arch.flags)) {
- mutex_unlock(&kvm->lock);
+ if (test_bit(KVM_ARCH_FLAG_HAS_RAN_ONCE, &kvm->arch.flags))
return -EBUSY;
- }
if (!kvm->arch.pmu_filter) {
kvm->arch.pmu_filter = bitmap_alloc(nr_events, GFP_KERNEL_ACCOUNT);
- if (!kvm->arch.pmu_filter) {
- mutex_unlock(&kvm->lock);
+ if (!kvm->arch.pmu_filter)
return -ENOMEM;
- }
/*
* The default depends on the first applied filter.
@@ -968,8 +959,6 @@ int kvm_arm_pmu_v3_set_attr(struct kvm_vcpu *vcpu, struct kvm_device_attr *attr)
else
bitmap_clear(kvm->arch.pmu_filter, filter.base_event, filter.nevents);
- mutex_unlock(&kvm->lock);
-
return 0;
}
case KVM_ARM_VCPU_PMU_V3_SET_PMU: {
diff --git a/arch/arm64/kvm/psci.c b/arch/arm64/kvm/psci.c
index 0f7001d726a2..70cabcea8a4f 100644
--- a/arch/arm64/kvm/psci.c
+++ b/arch/arm64/kvm/psci.c
@@ -46,6 +46,7 @@ static unsigned long kvm_psci_vcpu_on(struct kvm_vcpu *source_vcpu)
struct vcpu_reset_state *reset_state;
struct kvm *kvm = source_vcpu->kvm;
struct kvm_vcpu *vcpu = NULL;
+ int ret = PSCI_RET_SUCCESS;
unsigned long cpu_id;
cpu_id = smccc_get_arg1(source_vcpu);
@@ -60,11 +61,15 @@ static unsigned long kvm_psci_vcpu_on(struct kvm_vcpu *source_vcpu)
*/
if (!vcpu)
return PSCI_RET_INVALID_PARAMS;
+
+ spin_lock(&vcpu->arch.mp_state_lock);
if (!kvm_arm_vcpu_stopped(vcpu)) {
if (kvm_psci_version(source_vcpu) != KVM_ARM_PSCI_0_1)
- return PSCI_RET_ALREADY_ON;
+ ret = PSCI_RET_ALREADY_ON;
else
- return PSCI_RET_INVALID_PARAMS;
+ ret = PSCI_RET_INVALID_PARAMS;
+
+ goto out_unlock;
}
reset_state = &vcpu->arch.reset_state;
@@ -80,7 +85,7 @@ static unsigned long kvm_psci_vcpu_on(struct kvm_vcpu *source_vcpu)
*/
reset_state->r0 = smccc_get_arg3(source_vcpu);
- WRITE_ONCE(reset_state->reset, true);
+ reset_state->reset = true;
kvm_make_request(KVM_REQ_VCPU_RESET, vcpu);
/*
@@ -92,7 +97,9 @@ static unsigned long kvm_psci_vcpu_on(struct kvm_vcpu *source_vcpu)
vcpu->arch.mp_state.mp_state = KVM_MP_STATE_RUNNABLE;
kvm_vcpu_wake_up(vcpu);
- return PSCI_RET_SUCCESS;
+out_unlock:
+ spin_unlock(&vcpu->arch.mp_state_lock);
+ return ret;
}
static unsigned long kvm_psci_vcpu_affinity_info(struct kvm_vcpu *vcpu)
@@ -152,8 +159,11 @@ static void kvm_prepare_system_event(struct kvm_vcpu *vcpu, u32 type, u64 flags)
* after this call is handled and before the VCPUs have been
* re-initialized.
*/
- kvm_for_each_vcpu(i, tmp, vcpu->kvm)
- tmp->arch.mp_state.mp_state = KVM_MP_STATE_STOPPED;
+ kvm_for_each_vcpu(i, tmp, vcpu->kvm) {
+ spin_lock(&tmp->arch.mp_state_lock);
+ WRITE_ONCE(tmp->arch.mp_state.mp_state, KVM_MP_STATE_STOPPED);
+ spin_unlock(&tmp->arch.mp_state_lock);
+ }
kvm_make_all_cpus_request(vcpu->kvm, KVM_REQ_SLEEP);
memset(&vcpu->run->system_event, 0, sizeof(vcpu->run->system_event));
@@ -201,7 +211,6 @@ static unsigned long kvm_psci_check_allowed_function(struct kvm_vcpu *vcpu, u32
static int kvm_psci_0_2_call(struct kvm_vcpu *vcpu)
{
- struct kvm *kvm = vcpu->kvm;
u32 psci_fn = smccc_get_function(vcpu);
unsigned long val;
int ret = 1;
@@ -226,9 +235,7 @@ static int kvm_psci_0_2_call(struct kvm_vcpu *vcpu)
kvm_psci_narrow_to_32bit(vcpu);
fallthrough;
case PSCI_0_2_FN64_CPU_ON:
- mutex_lock(&kvm->lock);
val = kvm_psci_vcpu_on(vcpu);
- mutex_unlock(&kvm->lock);
break;
case PSCI_0_2_FN_AFFINITY_INFO:
kvm_psci_narrow_to_32bit(vcpu);
@@ -367,7 +374,6 @@ static int kvm_psci_1_x_call(struct kvm_vcpu *vcpu, u32 minor)
static int kvm_psci_0_1_call(struct kvm_vcpu *vcpu)
{
- struct kvm *kvm = vcpu->kvm;
u32 psci_fn = smccc_get_function(vcpu);
unsigned long val;
@@ -377,9 +383,7 @@ static int kvm_psci_0_1_call(struct kvm_vcpu *vcpu)
val = PSCI_RET_SUCCESS;
break;
case KVM_PSCI_FN_CPU_ON:
- mutex_lock(&kvm->lock);
val = kvm_psci_vcpu_on(vcpu);
- mutex_unlock(&kvm->lock);
break;
default:
val = PSCI_RET_NOT_SUPPORTED;
diff --git a/arch/arm64/kvm/reset.c b/arch/arm64/kvm/reset.c
index 2ede29175bf0..4b80f4e2b438 100644
--- a/arch/arm64/kvm/reset.c
+++ b/arch/arm64/kvm/reset.c
@@ -176,7 +176,7 @@ static int kvm_set_vm_width(struct kvm_vcpu *vcpu)
is32bit = vcpu_has_feature(vcpu, KVM_ARM_VCPU_EL1_32BIT);
- lockdep_assert_held(&kvm->lock);
+ lockdep_assert_held(&kvm->arch.config_lock);
if (test_bit(KVM_ARCH_FLAG_REG_WIDTH_CONFIGURED, &kvm->arch.flags)) {
/*
@@ -228,17 +228,18 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
int ret;
bool loaded;
- mutex_lock(&vcpu->kvm->lock);
+ mutex_lock(&vcpu->kvm->arch.config_lock);
ret = kvm_set_vm_width(vcpu);
- if (!ret) {
- reset_state = vcpu->arch.reset_state;
- WRITE_ONCE(vcpu->arch.reset_state.reset, false);
- }
- mutex_unlock(&vcpu->kvm->lock);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
if (ret)
return ret;
+ spin_lock(&vcpu->arch.mp_state_lock);
+ reset_state = vcpu->arch.reset_state;
+ vcpu->arch.reset_state.reset = false;
+ spin_unlock(&vcpu->arch.mp_state_lock);
+
/* Reset PMU outside of the non-preemptible section */
kvm_pmu_vcpu_reset(vcpu);
diff --git a/arch/arm64/kvm/vgic/vgic-debug.c b/arch/arm64/kvm/vgic/vgic-debug.c
index 78cde687383c..07aa0437125a 100644
--- a/arch/arm64/kvm/vgic/vgic-debug.c
+++ b/arch/arm64/kvm/vgic/vgic-debug.c
@@ -85,7 +85,7 @@ static void *vgic_debug_start(struct seq_file *s, loff_t *pos)
struct kvm *kvm = s->private;
struct vgic_state_iter *iter;
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
iter = kvm->arch.vgic.iter;
if (iter) {
iter = ERR_PTR(-EBUSY);
@@ -104,7 +104,7 @@ static void *vgic_debug_start(struct seq_file *s, loff_t *pos)
if (end_of_vgic(iter))
iter = NULL;
out:
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
return iter;
}
@@ -132,12 +132,12 @@ static void vgic_debug_stop(struct seq_file *s, void *v)
if (IS_ERR(v))
return;
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
iter = kvm->arch.vgic.iter;
kfree(iter->lpi_array);
kfree(iter);
kvm->arch.vgic.iter = NULL;
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
}
static void print_dist_state(struct seq_file *s, struct vgic_dist *dist)
diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c
index f6d4f4052555..f2f3bf4a04b0 100644
--- a/arch/arm64/kvm/vgic/vgic-init.c
+++ b/arch/arm64/kvm/vgic/vgic-init.c
@@ -74,9 +74,6 @@ int kvm_vgic_create(struct kvm *kvm, u32 type)
unsigned long i;
int ret;
- if (irqchip_in_kernel(kvm))
- return -EEXIST;
-
/*
* This function is also called by the KVM_CREATE_IRQCHIP handler,
* which had no chance yet to check the availability of the GICv2
@@ -87,10 +84,20 @@ int kvm_vgic_create(struct kvm *kvm, u32 type)
!kvm_vgic_global_state.can_emulate_gicv2)
return -ENODEV;
+ /* Must be held to avoid race with vCPU creation */
+ lockdep_assert_held(&kvm->lock);
+
ret = -EBUSY;
if (!lock_all_vcpus(kvm))
return ret;
+ mutex_lock(&kvm->arch.config_lock);
+
+ if (irqchip_in_kernel(kvm)) {
+ ret = -EEXIST;
+ goto out_unlock;
+ }
+
kvm_for_each_vcpu(i, vcpu, kvm) {
if (vcpu_has_run_once(vcpu))
goto out_unlock;
@@ -118,6 +125,7 @@ int kvm_vgic_create(struct kvm *kvm, u32 type)
INIT_LIST_HEAD(&kvm->arch.vgic.rd_regions);
out_unlock:
+ mutex_unlock(&kvm->arch.config_lock);
unlock_all_vcpus(kvm);
return ret;
}
@@ -227,9 +235,9 @@ int kvm_vgic_vcpu_init(struct kvm_vcpu *vcpu)
* KVM io device for the redistributor that belongs to this VCPU.
*/
if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
- mutex_lock(&vcpu->kvm->lock);
+ mutex_lock(&vcpu->kvm->slots_lock);
ret = vgic_register_redist_iodev(vcpu);
- mutex_unlock(&vcpu->kvm->lock);
+ mutex_unlock(&vcpu->kvm->slots_lock);
}
return ret;
}
@@ -250,7 +258,6 @@ static void kvm_vgic_vcpu_enable(struct kvm_vcpu *vcpu)
* The function is generally called when nr_spis has been explicitly set
* by the guest through the KVM DEVICE API. If not nr_spis is set to 256.
* vgic_initialized() returns true when this function has succeeded.
- * Must be called with kvm->lock held!
*/
int vgic_init(struct kvm *kvm)
{
@@ -259,6 +266,8 @@ int vgic_init(struct kvm *kvm)
int ret = 0, i;
unsigned long idx;
+ lockdep_assert_held(&kvm->arch.config_lock);
+
if (vgic_initialized(kvm))
return 0;
@@ -373,12 +382,13 @@ void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
vgic_cpu->rd_iodev.base_addr = VGIC_ADDR_UNDEF;
}
-/* To be called with kvm->lock held */
static void __kvm_vgic_destroy(struct kvm *kvm)
{
struct kvm_vcpu *vcpu;
unsigned long i;
+ lockdep_assert_held(&kvm->arch.config_lock);
+
vgic_debug_destroy(kvm);
kvm_for_each_vcpu(i, vcpu, kvm)
@@ -389,9 +399,9 @@ static void __kvm_vgic_destroy(struct kvm *kvm)
void kvm_vgic_destroy(struct kvm *kvm)
{
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
__kvm_vgic_destroy(kvm);
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
}
/**
@@ -414,9 +424,9 @@ int vgic_lazy_init(struct kvm *kvm)
if (kvm->arch.vgic.vgic_model != KVM_DEV_TYPE_ARM_VGIC_V2)
return -EBUSY;
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
ret = vgic_init(kvm);
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
}
return ret;
@@ -436,30 +446,48 @@ int vgic_lazy_init(struct kvm *kvm)
int kvm_vgic_map_resources(struct kvm *kvm)
{
struct vgic_dist *dist = &kvm->arch.vgic;
+ enum vgic_type type;
+ gpa_t dist_base;
int ret = 0;
if (likely(vgic_ready(kvm)))
return 0;
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->slots_lock);
+ mutex_lock(&kvm->arch.config_lock);
if (vgic_ready(kvm))
goto out;
if (!irqchip_in_kernel(kvm))
goto out;
- if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V2)
+ if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V2) {
ret = vgic_v2_map_resources(kvm);
- else
+ type = VGIC_V2;
+ } else {
ret = vgic_v3_map_resources(kvm);
+ type = VGIC_V3;
+ }
- if (ret)
+ if (ret) {
__kvm_vgic_destroy(kvm);
- else
- dist->ready = true;
+ goto out;
+ }
+ dist->ready = true;
+ dist_base = dist->vgic_dist_base;
+ mutex_unlock(&kvm->arch.config_lock);
+
+ ret = vgic_register_dist_iodev(kvm, dist_base, type);
+ if (ret) {
+ kvm_err("Unable to register VGIC dist MMIO regions\n");
+ kvm_vgic_destroy(kvm);
+ }
+ mutex_unlock(&kvm->slots_lock);
+ return ret;
out:
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
+ mutex_unlock(&kvm->slots_lock);
return ret;
}
diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c
index 733b53055f97..46ac071f71e1 100644
--- a/arch/arm64/kvm/vgic/vgic-its.c
+++ b/arch/arm64/kvm/vgic/vgic-its.c
@@ -1936,6 +1936,7 @@ void vgic_lpi_translation_cache_destroy(struct kvm *kvm)
static int vgic_its_create(struct kvm_device *dev, u32 type)
{
+ int ret;
struct vgic_its *its;
if (type != KVM_DEV_TYPE_ARM_VGIC_ITS)
@@ -1945,9 +1946,12 @@ static int vgic_its_create(struct kvm_device *dev, u32 type)
if (!its)
return -ENOMEM;
+ mutex_lock(&dev->kvm->arch.config_lock);
+
if (vgic_initialized(dev->kvm)) {
- int ret = vgic_v4_init(dev->kvm);
+ ret = vgic_v4_init(dev->kvm);
if (ret < 0) {
+ mutex_unlock(&dev->kvm->arch.config_lock);
kfree(its);
return ret;
}
@@ -1958,6 +1962,14 @@ static int vgic_its_create(struct kvm_device *dev, u32 type)
mutex_init(&its->its_lock);
mutex_init(&its->cmd_lock);
+ /* Yep, even more trickery for lock ordering... */
+#ifdef CONFIG_LOCKDEP
+ mutex_lock(&its->cmd_lock);
+ mutex_lock(&its->its_lock);
+ mutex_unlock(&its->its_lock);
+ mutex_unlock(&its->cmd_lock);
+#endif
+
its->vgic_its_base = VGIC_ADDR_UNDEF;
INIT_LIST_HEAD(&its->device_list);
@@ -1976,7 +1988,11 @@ static int vgic_its_create(struct kvm_device *dev, u32 type)
dev->private = its;
- return vgic_its_set_abi(its, NR_ITS_ABIS - 1);
+ ret = vgic_its_set_abi(its, NR_ITS_ABIS - 1);
+
+ mutex_unlock(&dev->kvm->arch.config_lock);
+
+ return ret;
}
static void vgic_its_destroy(struct kvm_device *kvm_dev)
@@ -2045,6 +2061,13 @@ static int vgic_its_attr_regs_access(struct kvm_device *dev,
mutex_lock(&dev->kvm->lock);
+ if (!lock_all_vcpus(dev->kvm)) {
+ mutex_unlock(&dev->kvm->lock);
+ return -EBUSY;
+ }
+
+ mutex_lock(&dev->kvm->arch.config_lock);
+
if (IS_VGIC_ADDR_UNDEF(its->vgic_its_base)) {
ret = -ENXIO;
goto out;
@@ -2058,11 +2081,6 @@ static int vgic_its_attr_regs_access(struct kvm_device *dev,
goto out;
}
- if (!lock_all_vcpus(dev->kvm)) {
- ret = -EBUSY;
- goto out;
- }
-
addr = its->vgic_its_base + offset;
len = region->access_flags & VGIC_ACCESS_64bit ? 8 : 4;
@@ -2076,8 +2094,9 @@ static int vgic_its_attr_regs_access(struct kvm_device *dev,
} else {
*reg = region->its_read(dev->kvm, its, addr, len);
}
- unlock_all_vcpus(dev->kvm);
out:
+ mutex_unlock(&dev->kvm->arch.config_lock);
+ unlock_all_vcpus(dev->kvm);
mutex_unlock(&dev->kvm->lock);
return ret;
}
@@ -2187,7 +2206,7 @@ static int vgic_its_save_ite(struct vgic_its *its, struct its_device *dev,
((u64)ite->irq->intid << KVM_ITS_ITE_PINTID_SHIFT) |
ite->collection->collection_id;
val = cpu_to_le64(val);
- return kvm_write_guest_lock(kvm, gpa, &val, ite_esz);
+ return vgic_write_guest_lock(kvm, gpa, &val, ite_esz);
}
/**
@@ -2339,7 +2358,7 @@ static int vgic_its_save_dte(struct vgic_its *its, struct its_device *dev,
(itt_addr_field << KVM_ITS_DTE_ITTADDR_SHIFT) |
(dev->num_eventid_bits - 1));
val = cpu_to_le64(val);
- return kvm_write_guest_lock(kvm, ptr, &val, dte_esz);
+ return vgic_write_guest_lock(kvm, ptr, &val, dte_esz);
}
/**
@@ -2526,7 +2545,7 @@ static int vgic_its_save_cte(struct vgic_its *its,
((u64)collection->target_addr << KVM_ITS_CTE_RDBASE_SHIFT) |
collection->collection_id);
val = cpu_to_le64(val);
- return kvm_write_guest_lock(its->dev->kvm, gpa, &val, esz);
+ return vgic_write_guest_lock(its->dev->kvm, gpa, &val, esz);
}
/*
@@ -2607,7 +2626,7 @@ static int vgic_its_save_collection_table(struct vgic_its *its)
*/
val = 0;
BUG_ON(cte_esz > sizeof(val));
- ret = kvm_write_guest_lock(its->dev->kvm, gpa, &val, cte_esz);
+ ret = vgic_write_guest_lock(its->dev->kvm, gpa, &val, cte_esz);
return ret;
}
@@ -2749,14 +2768,15 @@ static int vgic_its_ctrl(struct kvm *kvm, struct vgic_its *its, u64 attr)
return 0;
mutex_lock(&kvm->lock);
- mutex_lock(&its->its_lock);
if (!lock_all_vcpus(kvm)) {
- mutex_unlock(&its->its_lock);
mutex_unlock(&kvm->lock);
return -EBUSY;
}
+ mutex_lock(&kvm->arch.config_lock);
+ mutex_lock(&its->its_lock);
+
switch (attr) {
case KVM_DEV_ARM_ITS_CTRL_RESET:
vgic_its_reset(kvm, its);
@@ -2769,8 +2789,9 @@ static int vgic_its_ctrl(struct kvm *kvm, struct vgic_its *its, u64 attr)
break;
}
- unlock_all_vcpus(kvm);
mutex_unlock(&its->its_lock);
+ mutex_unlock(&kvm->arch.config_lock);
+ unlock_all_vcpus(kvm);
mutex_unlock(&kvm->lock);
return ret;
}
diff --git a/arch/arm64/kvm/vgic/vgic-kvm-device.c b/arch/arm64/kvm/vgic/vgic-kvm-device.c
index edeac2380591..bf4b3d9631ce 100644
--- a/arch/arm64/kvm/vgic/vgic-kvm-device.c
+++ b/arch/arm64/kvm/vgic/vgic-kvm-device.c
@@ -46,7 +46,7 @@ int kvm_set_legacy_vgic_v2_addr(struct kvm *kvm, struct kvm_arm_device_addr *dev
struct vgic_dist *vgic = &kvm->arch.vgic;
int r;
- mutex_lock(&kvm->lock);
+ mutex_lock(&kvm->arch.config_lock);
switch (FIELD_GET(KVM_ARM_DEVICE_TYPE_MASK, dev_addr->id)) {
case KVM_VGIC_V2_ADDR_TYPE_DIST:
r = vgic_check_type(kvm, KVM_DEV_TYPE_ARM_VGIC_V2);
@@ -68,7 +68,7 @@ int kvm_set_legacy_vgic_v2_addr(struct kvm *kvm, struct kvm_arm_device_addr *dev
r = -ENODEV;
}
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->arch.config_lock);
return r;
}
@@ -102,7 +102,11 @@ static int kvm_vgic_addr(struct kvm *kvm, struct kvm_device_attr *attr, bool wri
if (get_user(addr, uaddr))
return -EFAULT;
- mutex_lock(&kvm->lock);
+ /*
+ * Since we can't hold config_lock while registering the redistributor
+ * iodevs, take the slots_lock immediately.
+ */
+ mutex_lock(&kvm->slots_lock);
switch (attr->attr) {
case KVM_VGIC_V2_ADDR_TYPE_DIST:
r = vgic_check_type(kvm, KVM_DEV_TYPE_ARM_VGIC_V2);
@@ -182,6 +186,7 @@ static int kvm_vgic_addr(struct kvm *kvm, struct kvm_device_attr *attr, bool wri
if (r)
goto out;
+ mutex_lock(&kvm->arch.config_lock);
if (write) {
r = vgic_check_iorange(kvm, *addr_ptr, addr, alignment, size);
if (!r)
@@ -189,9 +194,10 @@ static int kvm_vgic_addr(struct kvm *kvm, struct kvm_device_attr *attr, bool wri
} else {
addr = *addr_ptr;
}
+ mutex_unlock(&kvm->arch.config_lock);
out:
- mutex_unlock(&kvm->lock);
+ mutex_unlock(&kvm->slots_lock);
if (!r && !write)
r = put_user(addr, uaddr);
@@ -227,7 +233,7 @@ static int vgic_set_common_attr(struct kvm_device *dev,
(val & 31))
return -EINVAL;
- mutex_lock(&dev->kvm->lock);
+ mutex_lock(&dev->kvm->arch.config_lock);
if (vgic_ready(dev->kvm) || dev->kvm->arch.vgic.nr_spis)
ret = -EBUSY;
@@ -235,16 +241,16 @@ static int vgic_set_common_attr(struct kvm_device *dev,
dev->kvm->arch.vgic.nr_spis =
val - VGIC_NR_PRIVATE_IRQS;
- mutex_unlock(&dev->kvm->lock);
+ mutex_unlock(&dev->kvm->arch.config_lock);
return ret;
}
case KVM_DEV_ARM_VGIC_GRP_CTRL: {
switch (attr->attr) {
case KVM_DEV_ARM_VGIC_CTRL_INIT:
- mutex_lock(&dev->kvm->lock);
+ mutex_lock(&dev->kvm->arch.config_lock);
r = vgic_init(dev->kvm);
- mutex_unlock(&dev->kvm->lock);
+ mutex_unlock(&dev->kvm->arch.config_lock);
return r;
case KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES:
/*
@@ -260,7 +266,10 @@ static int vgic_set_common_attr(struct kvm_device *dev,
mutex_unlock(&dev->kvm->lock);
return -EBUSY;
}
+
+ mutex_lock(&dev->kvm->arch.config_lock);
r = vgic_v3_save_pending_tables(dev->kvm);
+ mutex_unlock(&dev->kvm->arch.config_lock);
unlock_all_vcpus(dev->kvm);
mutex_unlock(&dev->kvm->lock);
return r;
@@ -411,15 +420,17 @@ static int vgic_v2_attr_regs_access(struct kvm_device *dev,
mutex_lock(&dev->kvm->lock);
+ if (!lock_all_vcpus(dev->kvm)) {
+ mutex_unlock(&dev->kvm->lock);
+ return -EBUSY;
+ }
+
+ mutex_lock(&dev->kvm->arch.config_lock);
+
ret = vgic_init(dev->kvm);
if (ret)
goto out;
- if (!lock_all_vcpus(dev->kvm)) {
- ret = -EBUSY;
- goto out;
- }
-
switch (attr->group) {
case KVM_DEV_ARM_VGIC_GRP_CPU_REGS:
ret = vgic_v2_cpuif_uaccess(vcpu, is_write, addr, &val);
@@ -432,8 +443,9 @@ static int vgic_v2_attr_regs_access(struct kvm_device *dev,
break;
}
- unlock_all_vcpus(dev->kvm);
out:
+ mutex_unlock(&dev->kvm->arch.config_lock);
+ unlock_all_vcpus(dev->kvm);
mutex_unlock(&dev->kvm->lock);
if (!ret && !is_write)
@@ -569,12 +581,14 @@ static int vgic_v3_attr_regs_access(struct kvm_device *dev,
mutex_lock(&dev->kvm->lock);
- if (unlikely(!vgic_initialized(dev->kvm))) {
- ret = -EBUSY;
- goto out;
+ if (!lock_all_vcpus(dev->kvm)) {
+ mutex_unlock(&dev->kvm->lock);
+ return -EBUSY;
}
- if (!lock_all_vcpus(dev->kvm)) {
+ mutex_lock(&dev->kvm->arch.config_lock);
+
+ if (unlikely(!vgic_initialized(dev->kvm))) {
ret = -EBUSY;
goto out;
}
@@ -609,8 +623,9 @@ static int vgic_v3_attr_regs_access(struct kvm_device *dev,
break;
}
- unlock_all_vcpus(dev->kvm);
out:
+ mutex_unlock(&dev->kvm->arch.config_lock);
+ unlock_all_vcpus(dev->kvm);
mutex_unlock(&dev->kvm->lock);
if (!ret && uaccess && !is_write) {
diff --git a/arch/arm64/kvm/vgic/vgic-mmio-v3.c b/arch/arm64/kvm/vgic/vgic-mmio-v3.c
index 91201f743033..188d2187eede 100644
--- a/arch/arm64/kvm/vgic/vgic-mmio-v3.c
+++ b/arch/arm64/kvm/vgic/vgic-mmio-v3.c
@@ -111,7 +111,7 @@ static void vgic_mmio_write_v3_misc(struct kvm_vcpu *vcpu,
case GICD_CTLR: {
bool was_enabled, is_hwsgi;
- mutex_lock(&vcpu->kvm->lock);
+ mutex_lock(&vcpu->kvm->arch.config_lock);
was_enabled = dist->enabled;
is_hwsgi = dist->nassgireq;
@@ -139,7 +139,7 @@ static void vgic_mmio_write_v3_misc(struct kvm_vcpu *vcpu,
else if (!was_enabled && dist->enabled)
vgic_kick_vcpus(vcpu->kvm);
- mutex_unlock(&vcpu->kvm->lock);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
break;
}
case GICD_TYPER:
@@ -769,10 +769,13 @@ int vgic_register_redist_iodev(struct kvm_vcpu *vcpu)
struct vgic_io_device *rd_dev = &vcpu->arch.vgic_cpu.rd_iodev;
struct vgic_redist_region *rdreg;
gpa_t rd_base;
- int ret;
+ int ret = 0;
+
+ lockdep_assert_held(&kvm->slots_lock);
+ mutex_lock(&kvm->arch.config_lock);
if (!IS_VGIC_ADDR_UNDEF(vgic_cpu->rd_iodev.base_addr))
- return 0;
+ goto out_unlock;
/*
* We may be creating VCPUs before having set the base address for the
@@ -782,10 +785,12 @@ int vgic_register_redist_iodev(struct kvm_vcpu *vcpu)
*/
rdreg = vgic_v3_rdist_free_slot(&vgic->rd_regions);
if (!rdreg)
- return 0;
+ goto out_unlock;
- if (!vgic_v3_check_base(kvm))
- return -EINVAL;
+ if (!vgic_v3_check_base(kvm)) {
+ ret = -EINVAL;
+ goto out_unlock;
+ }
vgic_cpu->rdreg = rdreg;
vgic_cpu->rdreg_index = rdreg->free_index;
@@ -799,16 +804,20 @@ int vgic_register_redist_iodev(struct kvm_vcpu *vcpu)
rd_dev->nr_regions = ARRAY_SIZE(vgic_v3_rd_registers);
rd_dev->redist_vcpu = vcpu;
- mutex_lock(&kvm->slots_lock);
+ mutex_unlock(&kvm->arch.config_lock);
+
ret = kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, rd_base,
2 * SZ_64K, &rd_dev->dev);
- mutex_unlock(&kvm->slots_lock);
-
if (ret)
return ret;
+ /* Protected by slots_lock */
rdreg->free_index++;
return 0;
+
+out_unlock:
+ mutex_unlock(&kvm->arch.config_lock);
+ return ret;
}
static void vgic_unregister_redist_iodev(struct kvm_vcpu *vcpu)
@@ -834,12 +843,10 @@ static int vgic_register_all_redist_iodevs(struct kvm *kvm)
/* The current c failed, so iterate over the previous ones. */
int i;
- mutex_lock(&kvm->slots_lock);
for (i = 0; i < c; i++) {
vcpu = kvm_get_vcpu(kvm, i);
vgic_unregister_redist_iodev(vcpu);
}
- mutex_unlock(&kvm->slots_lock);
}
return ret;
@@ -938,7 +945,9 @@ int vgic_v3_set_redist_base(struct kvm *kvm, u32 index, u64 addr, u32 count)
{
int ret;
+ mutex_lock(&kvm->arch.config_lock);
ret = vgic_v3_alloc_redist_region(kvm, index, addr, count);
+ mutex_unlock(&kvm->arch.config_lock);
if (ret)
return ret;
@@ -950,8 +959,10 @@ int vgic_v3_set_redist_base(struct kvm *kvm, u32 index, u64 addr, u32 count)
if (ret) {
struct vgic_redist_region *rdreg;
+ mutex_lock(&kvm->arch.config_lock);
rdreg = vgic_v3_rdist_region_from_index(kvm, index);
vgic_v3_free_redist_region(rdreg);
+ mutex_unlock(&kvm->arch.config_lock);
return ret;
}
diff --git a/arch/arm64/kvm/vgic/vgic-mmio.c b/arch/arm64/kvm/vgic/vgic-mmio.c
index b32d434c1d4a..eb5c58d785b9 100644
--- a/arch/arm64/kvm/vgic/vgic-mmio.c
+++ b/arch/arm64/kvm/vgic/vgic-mmio.c
@@ -527,13 +527,13 @@ unsigned long vgic_mmio_read_active(struct kvm_vcpu *vcpu,
u32 intid = VGIC_ADDR_TO_INTID(addr, 1);
u32 val;
- mutex_lock(&vcpu->kvm->lock);
+ mutex_lock(&vcpu->kvm->arch.config_lock);
vgic_access_active_prepare(vcpu, intid);
val = __vgic_mmio_read_active(vcpu, addr, len);
vgic_access_active_finish(vcpu, intid);
- mutex_unlock(&vcpu->kvm->lock);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
return val;
}
@@ -622,13 +622,13 @@ void vgic_mmio_write_cactive(struct kvm_vcpu *vcpu,
{
u32 intid = VGIC_ADDR_TO_INTID(addr, 1);
- mutex_lock(&vcpu->kvm->lock);
+ mutex_lock(&vcpu->kvm->arch.config_lock);
vgic_access_active_prepare(vcpu, intid);
__vgic_mmio_write_cactive(vcpu, addr, len, val);
vgic_access_active_finish(vcpu, intid);
- mutex_unlock(&vcpu->kvm->lock);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
}
int vgic_mmio_uaccess_write_cactive(struct kvm_vcpu *vcpu,
@@ -659,13 +659,13 @@ void vgic_mmio_write_sactive(struct kvm_vcpu *vcpu,
{
u32 intid = VGIC_ADDR_TO_INTID(addr, 1);
- mutex_lock(&vcpu->kvm->lock);
+ mutex_lock(&vcpu->kvm->arch.config_lock);
vgic_access_active_prepare(vcpu, intid);
__vgic_mmio_write_sactive(vcpu, addr, len, val);
vgic_access_active_finish(vcpu, intid);
- mutex_unlock(&vcpu->kvm->lock);
+ mutex_unlock(&vcpu->kvm->arch.config_lock);
}
int vgic_mmio_uaccess_write_sactive(struct kvm_vcpu *vcpu,
@@ -1093,7 +1093,6 @@ int vgic_register_dist_iodev(struct kvm *kvm, gpa_t dist_base_address,
enum vgic_type type)
{
struct vgic_io_device *io_device = &kvm->arch.vgic.dist_iodev;
- int ret = 0;
unsigned int len;
switch (type) {
@@ -1111,10 +1110,6 @@ int vgic_register_dist_iodev(struct kvm *kvm, gpa_t dist_base_address,
io_device->iodev_type = IODEV_DIST;
io_device->redist_vcpu = NULL;
- mutex_lock(&kvm->slots_lock);
- ret = kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, dist_base_address,
- len, &io_device->dev);
- mutex_unlock(&kvm->slots_lock);
-
- return ret;
+ return kvm_io_bus_register_dev(kvm, KVM_MMIO_BUS, dist_base_address,
+ len, &io_device->dev);
}
diff --git a/arch/arm64/kvm/vgic/vgic-v2.c b/arch/arm64/kvm/vgic/vgic-v2.c
index 4e8bb90bd96f..846d6679c510 100644
--- a/arch/arm64/kvm/vgic/vgic-v2.c
+++ b/arch/arm64/kvm/vgic/vgic-v2.c
@@ -312,12 +312,6 @@ int vgic_v2_map_resources(struct kvm *kvm)
return ret;
}
- ret = vgic_register_dist_iodev(kvm, dist->vgic_dist_base, VGIC_V2);
- if (ret) {
- kvm_err("Unable to register VGIC MMIO regions\n");
- return ret;
- }
-
if (!static_branch_unlikely(&vgic_v2_cpuif_trap)) {
ret = kvm_phys_addr_ioremap(kvm, dist->vgic_cpu_base,
kvm_vgic_global_state.vcpu_base,
diff --git a/arch/arm64/kvm/vgic/vgic-v3.c b/arch/arm64/kvm/vgic/vgic-v3.c
index 8469155e08ff..5576c22c7e50 100644
--- a/arch/arm64/kvm/vgic/vgic-v3.c
+++ b/arch/arm64/kvm/vgic/vgic-v3.c
@@ -538,7 +538,6 @@ int vgic_v3_map_resources(struct kvm *kvm)
{
struct vgic_dist *dist = &kvm->arch.vgic;
struct kvm_vcpu *vcpu;
- int ret = 0;
unsigned long c;
kvm_for_each_vcpu(c, vcpu, kvm) {
@@ -568,12 +567,6 @@ int vgic_v3_map_resources(struct kvm *kvm)
return -EBUSY;
}
- ret = vgic_register_dist_iodev(kvm, dist->vgic_dist_base, VGIC_V3);
- if (ret) {
- kvm_err("Unable to register VGICv3 dist MMIO regions\n");
- return ret;
- }
-
if (kvm_vgic_global_state.has_gicv4_1)
vgic_v4_configure_vsgis(kvm);
diff --git a/arch/arm64/kvm/vgic/vgic-v4.c b/arch/arm64/kvm/vgic/vgic-v4.c
index a413718be92b..3bb003478060 100644
--- a/arch/arm64/kvm/vgic/vgic-v4.c
+++ b/arch/arm64/kvm/vgic/vgic-v4.c
@@ -232,9 +232,8 @@ int vgic_v4_request_vpe_irq(struct kvm_vcpu *vcpu, int irq)
* @kvm: Pointer to the VM being initialized
*
* We may be called each time a vITS is created, or when the
- * vgic is initialized. This relies on kvm->lock to be
- * held. In both cases, the number of vcpus should now be
- * fixed.
+ * vgic is initialized. In both cases, the number of vcpus
+ * should now be fixed.
*/
int vgic_v4_init(struct kvm *kvm)
{
@@ -243,6 +242,8 @@ int vgic_v4_init(struct kvm *kvm)
int nr_vcpus, ret;
unsigned long i;
+ lockdep_assert_held(&kvm->arch.config_lock);
+
if (!kvm_vgic_global_state.has_gicv4)
return 0; /* Nothing to see here... move along. */
@@ -309,14 +310,14 @@ int vgic_v4_init(struct kvm *kvm)
/**
* vgic_v4_teardown - Free the GICv4 data structures
* @kvm: Pointer to the VM being destroyed
- *
- * Relies on kvm->lock to be held.
*/
void vgic_v4_teardown(struct kvm *kvm)
{
struct its_vm *its_vm = &kvm->arch.vgic.its_vm;
int i;
+ lockdep_assert_held(&kvm->arch.config_lock);
+
if (!its_vm->vpes)
return;
diff --git a/arch/arm64/kvm/vgic/vgic.c b/arch/arm64/kvm/vgic/vgic.c
index 6189ad969675..c613b6aecccb 100644
--- a/arch/arm64/kvm/vgic/vgic.c
+++ b/arch/arm64/kvm/vgic/vgic.c
@@ -24,11 +24,13 @@ struct vgic_global kvm_vgic_global_state __ro_after_init = {
/*
* Locking order is always:
* kvm->lock (mutex)
- * its->cmd_lock (mutex)
- * its->its_lock (mutex)
- * vgic_cpu->ap_list_lock must be taken with IRQs disabled
- * kvm->lpi_list_lock must be taken with IRQs disabled
- * vgic_irq->irq_lock must be taken with IRQs disabled
+ * vcpu->mutex (mutex)
+ * kvm->arch.config_lock (mutex)
+ * its->cmd_lock (mutex)
+ * its->its_lock (mutex)
+ * vgic_cpu->ap_list_lock must be taken with IRQs disabled
+ * kvm->lpi_list_lock must be taken with IRQs disabled
+ * vgic_irq->irq_lock must be taken with IRQs disabled
*
* As the ap_list_lock might be taken from the timer interrupt handler,
* we have to disable IRQs before taking this lock and everything lower
diff --git a/arch/arm64/kvm/vgic/vgic.h b/arch/arm64/kvm/vgic/vgic.h
index d9f54ac08042..4973c8803cab 100644
--- a/arch/arm64/kvm/vgic/vgic.h
+++ b/arch/arm64/kvm/vgic/vgic.h
@@ -6,6 +6,7 @@
#define __KVM_ARM_VGIC_NEW_H__
#include <linux/irqchip/arm-gic-common.h>
+#include <asm/kvm_mmu.h>
#define PRODUCT_ID_KVM 0x4b /* ASCII code K */
#define IMPLEMENTER_ARM 0x43b
@@ -131,6 +132,16 @@ static inline bool vgic_irq_is_multi_sgi(struct vgic_irq *irq)
return vgic_irq_get_lr_count(irq) > 1;
}
+static inline int vgic_write_guest_lock(struct kvm *kvm, gpa_t gpa,
+ const void *data, unsigned long len)
+{
+ int ret;
+
+ ret = kvm_write_guest_lock(kvm, gpa, data, len);
+
+ return ret;
+}
+
/*
* This struct provides an intermediate representation of the fields contained
* in the GICH_VMCR and ICH_VMCR registers, such that code exporting the GIC
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index f4ab44e058b2..e5e07212126d 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -502,27 +502,14 @@ static void do_bad_area(unsigned long far, unsigned long esr,
#define VM_FAULT_BADMAP 0x010000
#define VM_FAULT_BADACCESS 0x020000
-static vm_fault_t __do_page_fault(struct mm_struct *mm, unsigned long addr,
+static vm_fault_t __do_page_fault(struct mm_struct *mm,
+ struct vm_area_struct *vma, unsigned long addr,
unsigned int mm_flags, unsigned long vm_flags,
struct pt_regs *regs)
{
- struct vm_area_struct *vma = find_vma(mm, addr);
-
- if (unlikely(!vma))
- return VM_FAULT_BADMAP;
-
/*
* Ok, we have a good vm_area for this memory access, so we can handle
* it.
- */
- if (unlikely(vma->vm_start > addr)) {
- if (!(vma->vm_flags & VM_GROWSDOWN))
- return VM_FAULT_BADMAP;
- if (expand_stack(vma, addr))
- return VM_FAULT_BADMAP;
- }
-
- /*
* Check that the permissions on the VMA allow for the fault which
* occurred.
*/
@@ -554,9 +541,7 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
unsigned long vm_flags;
unsigned int mm_flags = FAULT_FLAG_DEFAULT;
unsigned long addr = untagged_addr(far);
-#ifdef CONFIG_PER_VMA_LOCK
struct vm_area_struct *vma;
-#endif
if (kprobe_page_fault(regs, esr))
return 0;
@@ -614,7 +599,6 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr);
-#ifdef CONFIG_PER_VMA_LOCK
if (!(mm_flags & FAULT_FLAG_USER))
goto lock_mmap;
@@ -626,9 +610,9 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
vma_end_read(vma);
goto lock_mmap;
}
- fault = handle_mm_fault(vma, addr & PAGE_MASK,
- mm_flags | FAULT_FLAG_VMA_LOCK, regs);
- vma_end_read(vma);
+ fault = handle_mm_fault(vma, addr, mm_flags | FAULT_FLAG_VMA_LOCK, regs);
+ if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED)))
+ vma_end_read(vma);
if (!(fault & VM_FAULT_RETRY)) {
count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
@@ -643,32 +627,15 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr,
return 0;
}
lock_mmap:
-#endif /* CONFIG_PER_VMA_LOCK */
- /*
- * As per x86, we may deadlock here. However, since the kernel only
- * validly references user space from well defined areas of the code,
- * we can bug out early if this is from code which shouldn't.
- */
- if (!mmap_read_trylock(mm)) {
- if (!user_mode(regs) && !search_exception_tables(regs->pc))
- goto no_context;
+
retry:
- mmap_read_lock(mm);
- } else {
- /*
- * The above mmap_read_trylock() might have succeeded in which
- * case, we'll have missed the might_sleep() from down_read().
- */
- might_sleep();
-#ifdef CONFIG_DEBUG_VM
- if (!user_mode(regs) && !search_exception_tables(regs->pc)) {
- mmap_read_unlock(mm);
- goto no_context;
- }
-#endif
+ vma = lock_mm_and_find_vma(mm, addr, regs);
+ if (unlikely(!vma)) {
+ fault = VM_FAULT_BADMAP;
+ goto done;
}
- fault = __do_page_fault(mm, addr, mm_flags, vm_flags, regs);
+ fault = __do_page_fault(mm, vma, addr, mm_flags, vm_flags, regs);
/* Quick path to respond to signals */
if (fault_signal_pending(fault, regs)) {
@@ -687,9 +654,7 @@ retry:
}
mmap_read_unlock(mm);
-#ifdef CONFIG_PER_VMA_LOCK
done:
-#endif
/*
* Handle the "normal" (no error) case first.
*/
diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
index adee6ab36862..742009123fd5 100644
--- a/arch/csky/Kconfig
+++ b/arch/csky/Kconfig
@@ -96,6 +96,7 @@ config CSKY
select HAVE_RSEQ
select HAVE_STACKPROTECTOR
select HAVE_SYSCALL_TRACEPOINTS
+ select LOCK_MM_AND_FIND_VMA
select MAY_HAVE_SPARSE_IRQ
select MODULES_USE_ELF_RELA if MODULES
select OF
diff --git a/arch/csky/mm/fault.c b/arch/csky/mm/fault.c
index e15f736cca4b..ae9781b7d92e 100644
--- a/arch/csky/mm/fault.c
+++ b/arch/csky/mm/fault.c
@@ -97,13 +97,12 @@ static inline void mm_fault_error(struct pt_regs *regs, unsigned long addr, vm_f
BUG();
}
-static inline void bad_area(struct pt_regs *regs, struct mm_struct *mm, int code, unsigned long addr)
+static inline void bad_area_nosemaphore(struct pt_regs *regs, struct mm_struct *mm, int code, unsigned long addr)
{
/*
* Something tried to access memory that isn't in our memory map.
* Fix it, but check if it's kernel or user first.
*/
- mmap_read_unlock(mm);
/* User mode accesses just cause a SIGSEGV */
if (user_mode(regs)) {
do_trap(regs, SIGSEGV, code, addr);
@@ -238,20 +237,9 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
if (is_write(regs))
flags |= FAULT_FLAG_WRITE;
retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, addr);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (unlikely(!vma)) {
- bad_area(regs, mm, code, addr);
- return;
- }
- if (likely(vma->vm_start <= addr))
- goto good_area;
- if (unlikely(!(vma->vm_flags & VM_GROWSDOWN))) {
- bad_area(regs, mm, code, addr);
- return;
- }
- if (unlikely(expand_stack(vma, addr))) {
- bad_area(regs, mm, code, addr);
+ bad_area_nosemaphore(regs, mm, code, addr);
return;
}
@@ -259,11 +247,11 @@ retry:
* Ok, we have a good vm_area for this memory access, so
* we can handle it.
*/
-good_area:
code = SEGV_ACCERR;
if (unlikely(access_error(regs, vma))) {
- bad_area(regs, mm, code, addr);
+ mmap_read_unlock(mm);
+ bad_area_nosemaphore(regs, mm, code, addr);
return;
}
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
index 54eadf265178..6726f4941015 100644
--- a/arch/hexagon/Kconfig
+++ b/arch/hexagon/Kconfig
@@ -28,6 +28,7 @@ config HEXAGON
select GENERIC_SMP_IDLE_THREAD
select STACKTRACE_SUPPORT
select GENERIC_CLOCKEVENTS_BROADCAST
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select GENERIC_CPU_DEVICES
select ARCH_WANT_LD_ORPHAN_WARN
diff --git a/arch/hexagon/mm/vm_fault.c b/arch/hexagon/mm/vm_fault.c
index f73c7cbfe326..583b08727166 100644
--- a/arch/hexagon/mm/vm_fault.c
+++ b/arch/hexagon/mm/vm_fault.c
@@ -57,21 +57,10 @@ void do_page_fault(unsigned long address, long cause, struct pt_regs *regs)
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, address);
- if (!vma)
- goto bad_area;
+ vma = lock_mm_and_find_vma(mm, address, regs);
+ if (unlikely(!vma))
+ goto bad_area_nosemaphore;
- if (vma->vm_start <= address)
- goto good_area;
-
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
-
- if (expand_stack(vma, address))
- goto bad_area;
-
-good_area:
/* Address space is OK. Now check access rights. */
si_code = SEGV_ACCERR;
@@ -140,6 +129,7 @@ good_area:
bad_area:
mmap_read_unlock(mm);
+bad_area_nosemaphore:
if (user_mode(regs)) {
force_sig_fault(SIGSEGV, si_code, (void __user *)address);
return;
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c
index ef78c2d66cdd..99a09abe1d2c 100644
--- a/arch/ia64/mm/fault.c
+++ b/arch/ia64/mm/fault.c
@@ -110,10 +110,12 @@ retry:
* register backing store that needs to expand upwards, in
* this case vma will be null, but prev_vma will ne non-null
*/
- if (( !vma && prev_vma ) || (address < vma->vm_start) )
- goto check_expansion;
+ if (( !vma && prev_vma ) || (address < vma->vm_start) ) {
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto bad_area_nosemaphore;
+ }
- good_area:
code = SEGV_ACCERR;
/* OK, we've got a good vm_area for this memory area. Check the access permissions: */
@@ -174,35 +176,9 @@ retry:
mmap_read_unlock(mm);
return;
- check_expansion:
- if (!(prev_vma && (prev_vma->vm_flags & VM_GROWSUP) && (address == prev_vma->vm_end))) {
- if (!vma)
- goto bad_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (REGION_NUMBER(address) != REGION_NUMBER(vma->vm_start)
- || REGION_OFFSET(address) >= RGN_MAP_LIMIT)
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
- } else {
- vma = prev_vma;
- if (REGION_NUMBER(address) != REGION_NUMBER(vma->vm_start)
- || REGION_OFFSET(address) >= RGN_MAP_LIMIT)
- goto bad_area;
- /*
- * Since the register backing store is accessed sequentially,
- * we disallow growing it by more than a page at a time.
- */
- if (address > vma->vm_end + PAGE_SIZE - sizeof(long))
- goto bad_area;
- if (expand_upwards(vma, address))
- goto bad_area;
- }
- goto good_area;
-
bad_area:
mmap_read_unlock(mm);
+ bad_area_nosemaphore:
if ((isr & IA64_ISR_SP)
|| ((isr & IA64_ISR_NA) && (isr & IA64_ISR_CODE_MASK) == IA64_ISR_CODE_LFETCH))
{
diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index 903096bd87f8..51d738ac12e5 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -107,6 +107,7 @@ config LOONGARCH
select HAVE_VIRT_CPU_ACCOUNTING_GEN if !SMP
select IRQ_FORCED_THREADING
select IRQ_LOONGARCH_CPU
+ select LOCK_MM_AND_FIND_VMA
select MMU_GATHER_MERGE_VMAS if MMU
select MODULES_USE_ELF_RELA if MODULES
select NEED_PER_CPU_EMBED_FIRST_CHUNK
diff --git a/arch/loongarch/mm/fault.c b/arch/loongarch/mm/fault.c
index 1ccd53655cab..b829ab911a17 100644
--- a/arch/loongarch/mm/fault.c
+++ b/arch/loongarch/mm/fault.c
@@ -166,22 +166,18 @@ static void __kprobes __do_page_fault(struct pt_regs *regs,
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, address);
- if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (!expand_stack(vma, address))
- goto good_area;
+ vma = lock_mm_and_find_vma(mm, address, regs);
+ if (unlikely(!vma))
+ goto bad_area_nosemaphore;
+ goto good_area;
+
/*
* Something tried to access memory that isn't in our memory map..
* Fix it, but check if it's kernel or user first..
*/
bad_area:
mmap_read_unlock(mm);
+bad_area_nosemaphore:
do_sigsegv(regs, write, address, si_code);
return;
diff --git a/arch/m68k/mm/fault.c b/arch/m68k/mm/fault.c
index 4d2837eb3e2a..6f62af8e293a 100644
--- a/arch/m68k/mm/fault.c
+++ b/arch/m68k/mm/fault.c
@@ -105,8 +105,9 @@ retry:
if (address + 256 < rdusp())
goto map_err;
}
- if (expand_stack(vma, address))
- goto map_err;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto map_err_nosemaphore;
/*
* Ok, we have a good vm_area for this memory access, so
@@ -193,10 +194,12 @@ bus_err:
goto send_sig;
map_err:
+ mmap_read_unlock(mm);
+map_err_nosemaphore:
current->thread.signo = SIGSEGV;
current->thread.code = SEGV_MAPERR;
current->thread.faddr = address;
- goto send_sig;
+ return send_fault_sig(regs);
acc_err:
current->thread.signo = SIGSEGV;
diff --git a/arch/microblaze/mm/fault.c b/arch/microblaze/mm/fault.c
index 5c40c3ebe52f..a409bb3f09f7 100644
--- a/arch/microblaze/mm/fault.c
+++ b/arch/microblaze/mm/fault.c
@@ -192,8 +192,9 @@ retry:
&& (kernel_mode(regs) || !store_updates_sp(regs)))
goto bad_area;
}
- if (expand_stack(vma, address))
- goto bad_area;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto bad_area_nosemaphore;
good_area:
code = SEGV_ACCERR;
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index b26b77673c2c..fecb681ff264 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -93,6 +93,7 @@ config MIPS
select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP
select IRQ_FORCED_THREADING
select ISA if EISA
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_REL if MODULES
select MODULES_USE_ELF_RELA if MODULES && 64BIT
select PERF_USE_VMALLOC
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c
index a27045f5a556..d7878208bd3f 100644
--- a/arch/mips/mm/fault.c
+++ b/arch/mips/mm/fault.c
@@ -99,21 +99,13 @@ static void __do_page_fault(struct pt_regs *regs, unsigned long write,
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
+ goto bad_area_nosemaphore;
/*
* Ok, we have a good vm_area for this memory access, so
* we can handle it..
*/
-good_area:
si_code = SEGV_ACCERR;
if (write) {
diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
index a582f72104f3..1fb78865a459 100644
--- a/arch/nios2/Kconfig
+++ b/arch/nios2/Kconfig
@@ -16,6 +16,7 @@ config NIOS2
select HAVE_ARCH_TRACEHOOK
select HAVE_ARCH_KGDB
select IRQ_DOMAIN
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select OF
select OF_EARLY_FLATTREE
diff --git a/arch/nios2/mm/fault.c b/arch/nios2/mm/fault.c
index edaca0a6c1c1..71939fb28c2e 100644
--- a/arch/nios2/mm/fault.c
+++ b/arch/nios2/mm/fault.c
@@ -86,27 +86,14 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long cause,
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
- if (!mmap_read_trylock(mm)) {
- if (!user_mode(regs) && !search_exception_tables(regs->ea))
- goto bad_area_nosemaphore;
retry:
- mmap_read_lock(mm);
- }
-
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
+ goto bad_area_nosemaphore;
/*
* Ok, we have a good vm_area for this memory access, so
* we can handle it..
*/
-good_area:
code = SEGV_ACCERR;
switch (cause) {
diff --git a/arch/openrisc/mm/fault.c b/arch/openrisc/mm/fault.c
index b4762d66e9ef..e3ad46d02fbd 100644
--- a/arch/openrisc/mm/fault.c
+++ b/arch/openrisc/mm/fault.c
@@ -127,8 +127,9 @@ retry:
if (address + PAGE_SIZE < regs->sp)
goto bad_area;
}
- if (expand_stack(vma, address))
- goto bad_area;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto bad_area_nosemaphore;
/*
* Ok, we have a good vm_area for this memory access, so
diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c
index 869204e97ec9..1843b493910c 100644
--- a/arch/parisc/mm/fault.c
+++ b/arch/parisc/mm/fault.c
@@ -288,15 +288,19 @@ void do_page_fault(struct pt_regs *regs, unsigned long code,
retry:
mmap_read_lock(mm);
vma = find_vma_prev(mm, address, &prev_vma);
- if (!vma || address < vma->vm_start)
- goto check_expansion;
+ if (!vma || address < vma->vm_start) {
+ if (!prev || !(prev->vm_flags & VM_GROWSUP))
+ goto bad_area;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto bad_area_nosemaphore;
+ }
+
/*
* Ok, we have a good vm_area for this memory access. We still need to
* check the access permissions.
*/
-good_area:
-
if ((vma->vm_flags & acc_type) != acc_type)
goto bad_area;
@@ -342,17 +346,13 @@ good_area:
mmap_read_unlock(mm);
return;
-check_expansion:
- vma = prev_vma;
- if (vma && (expand_stack(vma, address) == 0))
- goto good_area;
-
/*
* Something tried to access memory that isn't in our memory map..
*/
bad_area:
mmap_read_unlock(mm);
+bad_area_nosemaphore:
if (user_mode(regs)) {
int signo, si_code;
@@ -444,7 +444,7 @@ handle_nadtlb_fault(struct pt_regs *regs)
{
unsigned long insn = regs->iir;
int breg, treg, xreg, val = 0;
- struct vm_area_struct *vma, *prev_vma;
+ struct vm_area_struct *vma;
struct task_struct *tsk;
struct mm_struct *mm;
unsigned long address;
@@ -480,7 +480,7 @@ handle_nadtlb_fault(struct pt_regs *regs)
/* Search for VMA */
address = regs->ior;
mmap_read_lock(mm);
- vma = find_vma_prev(mm, address, &prev_vma);
+ vma = vma_lookup(mm, address);
mmap_read_unlock(mm);
/*
@@ -489,7 +489,6 @@ handle_nadtlb_fault(struct pt_regs *regs)
*/
acc_type = (insn & 0x40) ? VM_WRITE : VM_READ;
if (vma
- && address >= vma->vm_start
&& (vma->vm_flags & acc_type) == acc_type)
val = 1;
}
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 2b1141645d9e..6050e6e10d32 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -257,6 +257,7 @@ config PPC
select IRQ_DOMAIN
select IRQ_FORCED_THREADING
select KASAN_VMALLOC if KASAN && MODULES
+ select LOCK_MM_AND_FIND_VMA
select MMU_GATHER_PAGE_SIZE
select MMU_GATHER_RCU_TABLE_FREE
select MMU_GATHER_MERGE_VMAS
diff --git a/arch/powerpc/kvm/book3s_hv_uvmem.c b/arch/powerpc/kvm/book3s_hv_uvmem.c
index 303869f4855f..6f121a034cef 100644
--- a/arch/powerpc/kvm/book3s_hv_uvmem.c
+++ b/arch/powerpc/kvm/book3s_hv_uvmem.c
@@ -410,6 +410,7 @@ static int kvmppc_memslot_page_merge(struct kvm *kvm,
ret = H_STATE;
break;
}
+ vma_start_write(vma);
/* Copy vm_flags to avoid partial modifications in ksm_madvise */
vm_flags = vma->vm_flags;
ret = ksm_madvise(vma, vma->vm_start, vma->vm_end,
diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c
index b75a9fb99599..b0eea434ef08 100644
--- a/arch/powerpc/mm/book3s64/subpage_prot.c
+++ b/arch/powerpc/mm/book3s64/subpage_prot.c
@@ -143,6 +143,7 @@ static int subpage_walk_pmd_entry(pmd_t *pmd, unsigned long addr,
static const struct mm_walk_ops subpage_walk_ops = {
.pmd_entry = subpage_walk_pmd_entry,
+ .walk_lock = PGWALK_WRLOCK_VERIFY,
};
static void subpage_mark_vma_nohuge(struct mm_struct *mm, unsigned long addr,
diff --git a/arch/powerpc/mm/copro_fault.c b/arch/powerpc/mm/copro_fault.c
index 7c507fb48182..f49fd873df8d 100644
--- a/arch/powerpc/mm/copro_fault.c
+++ b/arch/powerpc/mm/copro_fault.c
@@ -33,19 +33,11 @@ int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea,
if (mm->pgd == NULL)
return -EFAULT;
- mmap_read_lock(mm);
- ret = -EFAULT;
- vma = find_vma(mm, ea);
+ vma = lock_mm_and_find_vma(mm, ea, NULL);
if (!vma)
- goto out_unlock;
-
- if (ea < vma->vm_start) {
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto out_unlock;
- if (expand_stack(vma, ea))
- goto out_unlock;
- }
+ return -EFAULT;
+ ret = -EFAULT;
is_write = dsisr & DSISR_ISSTORE;
if (is_write) {
if (!(vma->vm_flags & VM_WRITE))
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index 531177a4ee08..b1723094d464 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -84,11 +84,6 @@ static int __bad_area(struct pt_regs *regs, unsigned long address, int si_code)
return __bad_area_nosemaphore(regs, address, si_code);
}
-static noinline int bad_area(struct pt_regs *regs, unsigned long address)
-{
- return __bad_area(regs, address, SEGV_MAPERR);
-}
-
static noinline int bad_access_pkey(struct pt_regs *regs, unsigned long address,
struct vm_area_struct *vma)
{
@@ -474,7 +469,6 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address,
if (is_exec)
flags |= FAULT_FLAG_INSTRUCTION;
-#ifdef CONFIG_PER_VMA_LOCK
if (!(flags & FAULT_FLAG_USER))
goto lock_mmap;
@@ -494,7 +488,8 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address,
}
fault = handle_mm_fault(vma, address, flags | FAULT_FLAG_VMA_LOCK, regs);
- vma_end_read(vma);
+ if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED)))
+ vma_end_read(vma);
if (!(fault & VM_FAULT_RETRY)) {
count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
@@ -506,7 +501,6 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address,
return user_mode(regs) ? 0 : SIGBUS;
lock_mmap:
-#endif /* CONFIG_PER_VMA_LOCK */
/* When running in the kernel we expect faults to occur only to
* addresses in user space. All other faults represent errors in the
@@ -515,40 +509,12 @@ lock_mmap:
* we will deadlock attempting to validate the fault against the
* address space. Luckily the kernel only validly references user
* space from well defined areas of code, which are listed in the
- * exceptions table.
- *
- * As the vast majority of faults will be valid we will only perform
- * the source reference check when there is a possibility of a deadlock.
- * Attempt to lock the address space, if we cannot we then validate the
- * source. If this is invalid we can skip the address space check,
- * thus avoiding the deadlock.
+ * exceptions table. lock_mm_and_find_vma() handles that logic.
*/
- if (unlikely(!mmap_read_trylock(mm))) {
- if (!is_user && !search_exception_tables(regs->nip))
- return bad_area_nosemaphore(regs, address);
-
retry:
- mmap_read_lock(mm);
- } else {
- /*
- * The above down_read_trylock() might have succeeded in
- * which case we'll have missed the might_sleep() from
- * down_read():
- */
- might_sleep();
- }
-
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (unlikely(!vma))
- return bad_area(regs, address);
-
- if (unlikely(vma->vm_start > address)) {
- if (unlikely(!(vma->vm_flags & VM_GROWSDOWN)))
- return bad_area(regs, address);
-
- if (unlikely(expand_stack(vma, address)))
- return bad_area(regs, address);
- }
+ return bad_area_nosemaphore(regs, address);
if (unlikely(access_pkey_error(is_write, is_exec,
(error_code & DSISR_KEYFAULT), vma)))
@@ -584,9 +550,7 @@ retry:
mmap_read_unlock(current->mm);
-#ifdef CONFIG_PER_VMA_LOCK
done:
-#endif
if (unlikely(fault & VM_FAULT_ERROR))
return mm_fault_error(regs, address, fault);
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 06b9b2f60b9f..ac586089767d 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -39,6 +39,7 @@ config RISCV
select ARCH_SUPPORTS_DEBUG_PAGEALLOC if MMU
select ARCH_SUPPORTS_HUGETLBFS if MMU
select ARCH_SUPPORTS_PAGE_TABLE_CHECK if MMU
+ select ARCH_SUPPORTS_PER_VMA_LOCK if MMU
select ARCH_USE_MEMTEST
select ARCH_USE_QUEUED_RWLOCKS
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
@@ -113,6 +114,7 @@ config RISCV
select HAVE_RSEQ
select IRQ_DOMAIN
select IRQ_FORCED_THREADING
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA if MODULES
select MODULE_SECTIONS if MODULES
select OF
diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
index eb0774d9c03b..34a44febae86 100644
--- a/arch/riscv/mm/fault.c
+++ b/arch/riscv/mm/fault.c
@@ -83,13 +83,13 @@ static inline void mm_fault_error(struct pt_regs *regs, unsigned long addr, vm_f
BUG();
}
-static inline void bad_area(struct pt_regs *regs, struct mm_struct *mm, int code, unsigned long addr)
+static inline void
+bad_area_nosemaphore(struct pt_regs *regs, int code, unsigned long addr)
{
/*
* Something tried to access memory that isn't in our memory map.
* Fix it, but check if it's kernel or user first.
*/
- mmap_read_unlock(mm);
/* User mode accesses just cause a SIGSEGV */
if (user_mode(regs)) {
do_trap(regs, SIGSEGV, code, addr);
@@ -99,6 +99,15 @@ static inline void bad_area(struct pt_regs *regs, struct mm_struct *mm, int code
no_context(regs, addr);
}
+static inline void
+bad_area(struct pt_regs *regs, struct mm_struct *mm, int code,
+ unsigned long addr)
+{
+ mmap_read_unlock(mm);
+
+ bad_area_nosemaphore(regs, code, addr);
+}
+
static inline void vmalloc_fault(struct pt_regs *regs, int code, unsigned long addr)
{
pgd_t *pgd, *pgd_k;
@@ -280,24 +289,40 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
flags |= FAULT_FLAG_WRITE;
else if (cause == EXC_INST_PAGE_FAULT)
flags |= FAULT_FLAG_INSTRUCTION;
-retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, addr);
- if (unlikely(!vma)) {
- tsk->thread.bad_cause = cause;
- bad_area(regs, mm, code, addr);
- return;
+ if (!(flags & FAULT_FLAG_USER))
+ goto lock_mmap;
+
+ vma = lock_vma_under_rcu(mm, addr);
+ if (!vma)
+ goto lock_mmap;
+
+ if (unlikely(access_error(cause, vma))) {
+ vma_end_read(vma);
+ goto lock_mmap;
}
- if (likely(vma->vm_start <= addr))
- goto good_area;
- if (unlikely(!(vma->vm_flags & VM_GROWSDOWN))) {
- tsk->thread.bad_cause = cause;
- bad_area(regs, mm, code, addr);
+
+ fault = handle_mm_fault(vma, addr, flags | FAULT_FLAG_VMA_LOCK, regs);
+ if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED)))
+ vma_end_read(vma);
+
+ if (!(fault & VM_FAULT_RETRY)) {
+ count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
+ goto done;
+ }
+ count_vm_vma_lock_event(VMA_LOCK_RETRY);
+
+ if (fault_signal_pending(fault, regs)) {
+ if (!user_mode(regs))
+ no_context(regs, addr);
return;
}
- if (unlikely(expand_stack(vma, addr))) {
+lock_mmap:
+
+retry:
+ vma = lock_mm_and_find_vma(mm, addr, regs);
+ if (unlikely(!vma)) {
tsk->thread.bad_cause = cause;
- bad_area(regs, mm, code, addr);
+ bad_area_nosemaphore(regs, code, addr);
return;
}
@@ -305,7 +330,6 @@ retry:
* Ok, we have a good vm_area for this memory access, so
* we can handle it.
*/
-good_area:
code = SEGV_ACCERR;
if (unlikely(access_error(cause, vma))) {
@@ -346,6 +370,7 @@ good_area:
mmap_read_unlock(mm);
+done:
if (unlikely(fault & VM_FAULT_ERROR)) {
tsk->thread.bad_cause = cause;
mm_fault_error(regs, addr, fault);
diff --git a/arch/riscv/mm/pageattr.c b/arch/riscv/mm/pageattr.c
index 86c56616e5de..0f33fc40c911 100644
--- a/arch/riscv/mm/pageattr.c
+++ b/arch/riscv/mm/pageattr.c
@@ -102,6 +102,7 @@ static const struct mm_walk_ops pageattr_ops = {
.pmd_entry = pageattr_pmd_entry,
.pte_entry = pageattr_pte_entry,
.pte_hole = pageattr_pte_hole,
+ .walk_lock = PGWALK_RDLOCK,
};
static int __set_memory(unsigned long addr, int numpages, pgprot_t set_mask,
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index 16223095045e..0843adb266d1 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -403,7 +403,6 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access)
access = VM_WRITE;
if (access == VM_WRITE)
flags |= FAULT_FLAG_WRITE;
-#ifdef CONFIG_PER_VMA_LOCK
if (!(flags & FAULT_FLAG_USER))
goto lock_mmap;
vma = lock_vma_under_rcu(mm, address);
@@ -414,7 +413,8 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access)
goto lock_mmap;
}
fault = handle_mm_fault(vma, address, flags | FAULT_FLAG_VMA_LOCK, regs);
- vma_end_read(vma);
+ if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED)))
+ vma_end_read(vma);
if (!(fault & VM_FAULT_RETRY)) {
count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
goto out;
@@ -426,7 +426,6 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access)
goto out;
}
lock_mmap:
-#endif /* CONFIG_PER_VMA_LOCK */
mmap_read_lock(mm);
gmap = NULL;
@@ -453,8 +452,9 @@ retry:
if (unlikely(vma->vm_start > address)) {
if (!(vma->vm_flags & VM_GROWSDOWN))
goto out_up;
- if (expand_stack(vma, address))
- goto out_up;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto out;
}
/*
diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index e4567b5fcdda..d3f4b2c0dd9a 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -2510,6 +2510,7 @@ static int thp_split_walk_pmd_entry(pmd_t *pmd, unsigned long addr,
static const struct mm_walk_ops thp_split_walk_ops = {
.pmd_entry = thp_split_walk_pmd_entry,
+ .walk_lock = PGWALK_WRLOCK_VERIFY,
};
static inline void thp_split_mm(struct mm_struct *mm)
@@ -2554,6 +2555,7 @@ static int __zap_zero_pages(pmd_t *pmd, unsigned long start,
static const struct mm_walk_ops zap_zero_walk_ops = {
.pmd_entry = __zap_zero_pages,
+ .walk_lock = PGWALK_WRLOCK,
};
/*
@@ -2655,6 +2657,7 @@ static const struct mm_walk_ops enable_skey_walk_ops = {
.hugetlb_entry = __s390_enable_skey_hugetlb,
.pte_entry = __s390_enable_skey_pte,
.pmd_entry = __s390_enable_skey_pmd,
+ .walk_lock = PGWALK_WRLOCK,
};
int s390_enable_skey(void)
@@ -2692,6 +2695,7 @@ static int __s390_reset_cmma(pte_t *pte, unsigned long addr,
static const struct mm_walk_ops reset_cmma_walk_ops = {
.pte_entry = __s390_reset_cmma,
+ .walk_lock = PGWALK_WRLOCK,
};
void s390_reset_cmma(struct mm_struct *mm)
@@ -2728,6 +2732,7 @@ static int s390_gather_pages(pte_t *ptep, unsigned long addr,
static const struct mm_walk_ops gather_pages_ops = {
.pte_entry = s390_gather_pages,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 5f220e903e5a..8e4d1f757bcc 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -56,6 +56,7 @@ config SUPERH
select HAVE_STACKPROTECTOR
select HAVE_SYSCALL_TRACEPOINTS
select IRQ_FORCED_THREADING
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select NEED_SG_DMA_LENGTH
select NO_DMA if !MMU && !DMA_COHERENT
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index acd2f5e50bfc..06e6b4952924 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -439,21 +439,9 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
}
retry:
- mmap_read_lock(mm);
-
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (unlikely(!vma)) {
- bad_area(regs, error_code, address);
- return;
- }
- if (likely(vma->vm_start <= address))
- goto good_area;
- if (unlikely(!(vma->vm_flags & VM_GROWSDOWN))) {
- bad_area(regs, error_code, address);
- return;
- }
- if (unlikely(expand_stack(vma, address))) {
- bad_area(regs, error_code, address);
+ bad_area_nosemaphore(regs, error_code, address);
return;
}
@@ -461,7 +449,6 @@ retry:
* Ok, we have a good vm_area for this memory access, so
* we can handle it..
*/
-good_area:
if (unlikely(access_error(error_code, vma))) {
bad_area_access_error(regs, error_code, address);
return;
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 84437a4c6545..dbb1760cbe8c 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -56,6 +56,7 @@ config SPARC32
select DMA_DIRECT_REMAP
select GENERIC_ATOMIC64
select HAVE_UID16
+ select LOCK_MM_AND_FIND_VMA
select OLD_SIGACTION
select ZONE_DMA
diff --git a/arch/sparc/mm/fault_32.c b/arch/sparc/mm/fault_32.c
index 91259f291c54..aef2aebe2379 100644
--- a/arch/sparc/mm/fault_32.c
+++ b/arch/sparc/mm/fault_32.c
@@ -143,28 +143,19 @@ asmlinkage void do_sparc_fault(struct pt_regs *regs, int text_fault, int write,
if (pagefault_disabled() || !mm)
goto no_context;
+ if (!from_user && address >= PAGE_OFFSET)
+ goto no_context;
+
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
-
- if (!from_user && address >= PAGE_OFFSET)
- goto bad_area;
-
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
+ goto bad_area_nosemaphore;
/*
* Ok, we have a good vm_area for this memory access, so
* we can handle it..
*/
-good_area:
code = SEGV_ACCERR;
if (write) {
if (!(vma->vm_flags & VM_WRITE))
@@ -318,17 +309,9 @@ static void force_user_fault(unsigned long address, int write)
code = SEGV_MAPERR;
- mmap_read_lock(mm);
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
-good_area:
+ goto bad_area_nosemaphore;
code = SEGV_ACCERR;
if (write) {
if (!(vma->vm_flags & VM_WRITE))
@@ -347,6 +330,7 @@ good_area:
return;
bad_area:
mmap_read_unlock(mm);
+bad_area_nosemaphore:
__do_fault_siginfo(code, SIGSEGV, tsk->thread.kregs, address);
return;
diff --git a/arch/sparc/mm/fault_64.c b/arch/sparc/mm/fault_64.c
index 4acc12eafbf5..df685a241855 100644
--- a/arch/sparc/mm/fault_64.c
+++ b/arch/sparc/mm/fault_64.c
@@ -383,8 +383,9 @@ continue_fault:
goto bad_area;
}
}
- if (expand_stack(vma, address))
- goto bad_area;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto bad_area_nosemaphore;
/*
* Ok, we have a good vm_area for this memory access, so
* we can handle it..
@@ -482,8 +483,9 @@ exit_exception:
* Fix it, but check if it's kernel or user first..
*/
bad_area:
- insn = get_fault_insn(regs, insn);
mmap_read_unlock(mm);
+bad_area_nosemaphore:
+ insn = get_fault_insn(regs, insn);
handle_kernel_fault:
do_kernel_fault(regs, si_code, fault_code, insn, address);
diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c
index d3ce21c4ca32..6d8ae86ae978 100644
--- a/arch/um/kernel/trap.c
+++ b/arch/um/kernel/trap.c
@@ -47,14 +47,15 @@ retry:
vma = find_vma(mm, address);
if (!vma)
goto out;
- else if (vma->vm_start <= address)
+ if (vma->vm_start <= address)
goto good_area;
- else if (!(vma->vm_flags & VM_GROWSDOWN))
+ if (!(vma->vm_flags & VM_GROWSDOWN))
goto out;
- else if (is_user && !ARCH_IS_STACKGROW(address))
- goto out;
- else if (expand_stack(vma, address))
+ if (is_user && !ARCH_IS_STACKGROW(address))
goto out;
+ vma = expand_stack(mm, address);
+ if (!vma)
+ goto out_nosemaphore;
good_area:
*code_out = SEGV_ACCERR;
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ab3ce4ea05d0..22cdc45031d4 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -272,6 +272,7 @@ config X86
select HAVE_GENERIC_VDSO
select HOTPLUG_SMT if SMP
select IRQ_FORCED_THREADING
+ select LOCK_MM_AND_FIND_VMA
select NEED_PER_CPU_EMBED_FIRST_CHUNK
select NEED_PER_CPU_PAGE_FIRST_CHUNK
select NEED_SG_DMA_LENGTH
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index d2e95d1d4db7..1aa64846e539 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -3,9 +3,14 @@ core-y += arch/x86/crypto/
#
# Disable SSE and other FP/SIMD instructions to match normal x86
+# This is required to work around issues in older LLVM versions, but breaks
+# GCC versions < 11. See:
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99652
#
+ifeq ($(CONFIG_CC_IS_CLANG),y)
KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx
KBUILD_RUSTFLAGS += -Ctarget-feature=-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-avx,-avx2
+endif
ifeq ($(CONFIG_X86_32),y)
START := 0x8048000
diff --git a/arch/x86/OWNERS b/arch/x86/OWNERS
deleted file mode 100644
index f59fa995b361..000000000000
--- a/arch/x86/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-per-file crypto/**=file:/crypto/OWNERS
-per-file mm/**=file:/mm/OWNERS
-per-file net/**=file:/net/OWNERS
diff --git a/arch/x86/configs/crashdump_defconfig b/arch/x86/configs/crashdump_defconfig
new file mode 100644
index 000000000000..5177d6e4619b
--- /dev/null
+++ b/arch/x86/configs/crashdump_defconfig
@@ -0,0 +1,87 @@
+# CONFIG_WERROR is not set
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_KERNEL_LZ4=y
+# CONFIG_SWAP is not set
+# CONFIG_CROSS_MEMORY_ATTACH is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_PREEMPT=y
+CONFIG_LOG_BUF_SHIFT=12
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=12
+# CONFIG_UTS_NS is not set
+# CONFIG_TIME_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_GZIP is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+# CONFIG_RD_ZSTD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB_MERGE_DEFAULT is not set
+# CONFIG_RETPOLINE is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
+# CONFIG_X86_MCE is not set
+# CONFIG_PERF_EVENTS_AMD_UNCORE is not set
+# CONFIG_X86_IOPL_IOPERM is not set
+# CONFIG_MICROCODE is not set
+# CONFIG_X86_5LEVEL is not set
+# CONFIG_MTRR_SANITIZER is not set
+# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
+CONFIG_CRASH_DUMP=y
+CONFIG_PHYSICAL_START=0x100000
+# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_LEGACY_VSYSCALL_NONE=y
+# CONFIG_SUSPEND is not set
+# CONFIG_ACPI is not set
+# CONFIG_VIRTUALIZATION is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_SECCOMP is not set
+# CONFIG_STACKPROTECTOR is not set
+# CONFIG_VMAP_STACK is not set
+# CONFIG_MQ_IOSCHED_DEADLINE is not set
+# CONFIG_MQ_IOSCHED_KYBER is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_BINFMT_SCRIPT is not set
+# CONFIG_SPARSEMEM_VMEMMAP is not set
+# CONFIG_COMPACTION is not set
+CONFIG_PCI=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_DEVTMPFS=y
+# CONFIG_STANDALONE is not set
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_DMIID is not set
+# CONFIG_BLK_DEV is not set
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_SERIO_I8042 is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=1
+CONFIG_SERIAL_8250_RUNTIME_UARTS=1
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_DEV_BUS=y
+# CONFIG_SERIAL_DEV_CTRL_TTYPORT is not set
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_HW_RANDOM is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_HWMON is not set
+# CONFIG_HID is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_VIRTIO_PCI=y
+# CONFIG_VIRTIO_PCI_LEGACY is not set
+# CONFIG_VHOST_MENU is not set
+# CONFIG_X86_PLATFORM_DEVICES is not set
+# CONFIG_IOMMU_SUPPORT is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_INOTIFY_USER is not set
+CONFIG_TMPFS=y
+# CONFIG_MISC_FILESYSTEMS is not set
+# CONFIG_PAGE_TABLE_ISOLATION is not set
+# CONFIG_SYMBOLIC_ERRNAME is not set
+# CONFIG_X86_VERBOSE_BOOTUP is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
diff --git a/arch/x86/configs/gki_defconfig b/arch/x86/configs/gki_defconfig
index fa893e2792b4..34a85587c4f4 100644
--- a/arch/x86/configs/gki_defconfig
+++ b/arch/x86/configs/gki_defconfig
@@ -90,6 +90,7 @@ CONFIG_MODULE_SIG_PROTECT=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_CGROUP_IOCOST=y
+CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
CONFIG_IOSCHED_BFQ=y
@@ -178,6 +179,7 @@ CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
@@ -350,6 +352,8 @@ CONFIG_USB_NET_AQC111=m
# CONFIG_WLAN_VENDOR_TI is not set
# CONFIG_WLAN_VENDOR_ZYDAS is not set
# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+CONFIG_WWAN=m
+# CONFIG_WWAN_DEBUGFS is not set
CONFIG_INPUT_EVDEV=y
CONFIG_KEYBOARD_GPIO=y
# CONFIG_MOUSE_PS2 is not set
@@ -518,6 +522,7 @@ CONFIG_IIO_TRIGGER=y
CONFIG_POWERCAP=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
+CONFIG_ANDROID_DEBUG_SYMBOLS=y
CONFIG_ANDROID_VENDOR_HOOKS=y
CONFIG_ANDROID_DEBUG_KINFO=y
CONFIG_LIBNVDIMM=y
diff --git a/arch/x86/configs/microdroid_defconfig b/arch/x86/configs/microdroid_defconfig
new file mode 100644
index 000000000000..d2539f0adce9
--- /dev/null
+++ b/arch/x86/configs/microdroid_defconfig
@@ -0,0 +1,290 @@
+CONFIG_KERNEL_LZ4=y
+CONFIG_AUDIT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_PSI=y
+CONFIG_RCU_EXPERT=y
+CONFIG_RCU_BOOST=y
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_UCLAMP_TASK=y
+CONFIG_UCLAMP_BUCKETS_COUNT=20
+CONFIG_CGROUPS=y
+CONFIG_MEMCG=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_UCLAMP_TASK_GROUP=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_UTS_NS is not set
+# CONFIG_TIME_NS is not set
+# CONFIG_PID_NS is not set
+# CONFIG_NET_NS is not set
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+CONFIG_BOOT_CONFIG=y
+CONFIG_PROFILING=y
+CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_NR_CPUS=32
+# CONFIG_X86_MCE is not set
+CONFIG_EFI=y
+CONFIG_KEXEC_FILE=y
+CONFIG_CMDLINE_BOOL=y
+CONFIG_CMDLINE="stack_depot_disable=on cgroup_disable=pressure ioremap_guard panic=-1 bootconfig acpi=noirq"
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=0
+# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_TIMES=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_BLK_DEV_ZONED=y
+CONFIG_BLK_CGROUP_IOCOST=y
+CONFIG_BLK_INLINE_ENCRYPTION=y
+CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_MSDOS_PARTITION is not set
+CONFIG_IOSCHED_BFQ=y
+CONFIG_BFQ_GROUP_IOSCHED=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_MISC=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
+CONFIG_SLAB_FREELIST_RANDOM=y
+CONFIG_SLAB_FREELIST_HARDENED=y
+CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_ANON_VMA_NAME=y
+CONFIG_USERFAULTFD=y
+CONFIG_LRU_GEN=y
+CONFIG_DAMON=y
+CONFIG_DAMON_PADDR=y
+CONFIG_DAMON_RECLAIM=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_INTERFACE=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NET_KEY=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_NET_IPIP=y
+CONFIG_NET_IPGRE_DEMUX=y
+CONFIG_NET_IPGRE=y
+CONFIG_NET_IPVTI=y
+CONFIG_INET_ESP=y
+CONFIG_INET_UDP_DIAG=y
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPCOMP=y
+CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_VTI=y
+CONFIG_IPV6_GRE=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_VSOCKETS=y
+CONFIG_VIRTIO_VSOCKETS=y
+CONFIG_CGROUP_NET_PRIO=y
+# CONFIG_WIRELESS is not set
+CONFIG_PCI=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_IOV=y
+CONFIG_PCIE_DW_PLAT_EP=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_FW_LOADER_USER_HELPER=y
+# CONFIG_FW_CACHE is not set
+CONFIG_OF=y
+CONFIG_ZRAM=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=16
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_VIRTIO_BLK=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_INIT=y
+CONFIG_DM_UEVENT=y
+CONFIG_DM_VERITY=y
+CONFIG_DM_VERITY_FEC=y
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_RUNTIME_UARTS=0
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_NULL_TTY=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_VIRTIO=y
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVPORT is not set
+CONFIG_HPET=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
+# CONFIG_HWMON is not set
+CONFIG_THERMAL_NETLINK=y
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=100
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+# CONFIG_X86_PKG_TEMP_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_MFD_SYSCON=y
+# CONFIG_HID is not set
+# CONFIG_USB_SUPPORT is not set
+CONFIG_EDAC=y
+CONFIG_RTC_CLASS=y
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_SYSFS_STATS=y
+CONFIG_UIO=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_STAGING=y
+CONFIG_LIBNVDIMM=y
+CONFIG_EXT4_FS=y
+# CONFIG_EXT4_USE_FOR_EXT2 is not set
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_FUSE_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_EFIVAR_FS is not set
+CONFIG_EROFS_FS=y
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=y
+CONFIG_NLS_CODEPAGE_775=y
+CONFIG_NLS_CODEPAGE_850=y
+CONFIG_NLS_CODEPAGE_852=y
+CONFIG_NLS_CODEPAGE_855=y
+CONFIG_NLS_CODEPAGE_857=y
+CONFIG_NLS_CODEPAGE_860=y
+CONFIG_NLS_CODEPAGE_861=y
+CONFIG_NLS_CODEPAGE_862=y
+CONFIG_NLS_CODEPAGE_863=y
+CONFIG_NLS_CODEPAGE_864=y
+CONFIG_NLS_CODEPAGE_865=y
+CONFIG_NLS_CODEPAGE_866=y
+CONFIG_NLS_CODEPAGE_869=y
+CONFIG_NLS_CODEPAGE_936=y
+CONFIG_NLS_CODEPAGE_950=y
+CONFIG_NLS_CODEPAGE_932=y
+CONFIG_NLS_CODEPAGE_949=y
+CONFIG_NLS_CODEPAGE_874=y
+CONFIG_NLS_ISO8859_8=y
+CONFIG_NLS_CODEPAGE_1250=y
+CONFIG_NLS_CODEPAGE_1251=y
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=y
+CONFIG_NLS_ISO8859_3=y
+CONFIG_NLS_ISO8859_4=y
+CONFIG_NLS_ISO8859_5=y
+CONFIG_NLS_ISO8859_6=y
+CONFIG_NLS_ISO8859_7=y
+CONFIG_NLS_ISO8859_9=y
+CONFIG_NLS_ISO8859_13=y
+CONFIG_NLS_ISO8859_14=y
+CONFIG_NLS_ISO8859_15=y
+CONFIG_NLS_KOI8_R=y
+CONFIG_NLS_KOI8_U=y
+CONFIG_NLS_MAC_ROMAN=y
+CONFIG_NLS_MAC_CELTIC=y
+CONFIG_NLS_MAC_CENTEURO=y
+CONFIG_NLS_MAC_CROATIAN=y
+CONFIG_NLS_MAC_CYRILLIC=y
+CONFIG_NLS_MAC_GAELIC=y
+CONFIG_NLS_MAC_GREEK=y
+CONFIG_NLS_MAC_ICELAND=y
+CONFIG_NLS_MAC_INUIT=y
+CONFIG_NLS_MAC_ROMANIAN=y
+CONFIG_NLS_MAC_TURKISH=y
+CONFIG_NLS_UTF8=y
+CONFIG_UNICODE=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_STATIC_USERMODEHELPER=y
+CONFIG_STATIC_USERMODEHELPER_PATH=""
+CONFIG_SECURITY_SELINUX=y
+CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_ADIANTUM=y
+CONFIG_CRYPTO_HCTR2=y
+CONFIG_CRYPTO_CHACHA20POLY1305=y
+CONFIG_CRYPTO_BLAKE2B=y
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_LZ4=y
+CONFIG_CRYPTO_ZSTD=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
+CONFIG_CRYPTO_SHA256_SSSE3=y
+CONFIG_CRYPTO_SHA512_SSSE3=y
+CONFIG_CRC8=y
+CONFIG_XZ_DEC=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DYNAMIC_DEBUG_CORE=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_INFO_DWARF5=y
+CONFIG_DEBUG_INFO_REDUCED=y
+CONFIG_DEBUG_INFO_COMPRESSED=y
+CONFIG_HEADERS_INSTALL=y
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_UBSAN=y
+CONFIG_UBSAN_TRAP=y
+CONFIG_UBSAN_LOCAL_BOUNDS=y
+# CONFIG_UBSAN_SHIFT is not set
+# CONFIG_UBSAN_BOOL is not set
+# CONFIG_UBSAN_ENUM is not set
+CONFIG_PAGE_OWNER=y
+CONFIG_DEBUG_STACK_USAGE=y
+CONFIG_KFENCE=y
+CONFIG_KFENCE_SAMPLE_INTERVAL=500
+CONFIG_KFENCE_NUM_OBJECTS=63
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_TIMEOUT=-1
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_WQ_WATCHDOG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_BUG_ON_DATA_CORRUPTION=y
+CONFIG_HIST_TRIGGERS=y
+CONFIG_UNWINDER_FRAME_POINTER=y
diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h
index b472ef76826a..37639a2d9c34 100644
--- a/arch/x86/include/asm/cpu.h
+++ b/arch/x86/include/asm/cpu.h
@@ -96,4 +96,6 @@ static inline bool intel_cpu_signatures_match(unsigned int s1, unsigned int p1,
extern u64 x86_read_arch_cap_msr(void);
+extern struct cpumask cpus_stop_mask;
+
#endif /* _ASM_X86_CPU_H */
diff --git a/arch/x86/include/asm/smp.h b/arch/x86/include/asm/smp.h
index a73bced40e24..b3b34032ef23 100644
--- a/arch/x86/include/asm/smp.h
+++ b/arch/x86/include/asm/smp.h
@@ -132,6 +132,8 @@ void wbinvd_on_cpu(int cpu);
int wbinvd_on_all_cpus(void);
void cond_wakeup_cpu0(void);
+void smp_kick_mwait_play_dead(void);
+
void native_smp_send_reschedule(int cpu);
void native_send_call_func_ipi(const struct cpumask *mask);
void native_send_call_func_single_ipi(int cpu);
diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index 461e45d85add..9a3092ec9b27 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -705,7 +705,7 @@ static enum ucode_state apply_microcode_amd(int cpu)
rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy);
/* need to apply patch? */
- if (rev >= mc_amd->hdr.patch_id) {
+ if (rev > mc_amd->hdr.patch_id) {
ret = UCODE_OK;
goto out;
}
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
index e436c9c1ef3b..279b5e9be80f 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -744,15 +744,26 @@ bool xen_set_default_idle(void)
}
#endif
+struct cpumask cpus_stop_mask;
+
void __noreturn stop_this_cpu(void *dummy)
{
+ struct cpuinfo_x86 *c = this_cpu_ptr(&cpu_info);
+ unsigned int cpu = smp_processor_id();
+
local_irq_disable();
+
/*
- * Remove this CPU:
+ * Remove this CPU from the online mask and disable it
+ * unconditionally. This might be redundant in case that the reboot
+ * vector was handled late and stop_other_cpus() sent an NMI.
+ *
+ * According to SDM and APM NMIs can be accepted even after soft
+ * disabling the local APIC.
*/
- set_cpu_online(smp_processor_id(), false);
+ set_cpu_online(cpu, false);
disable_local_APIC();
- mcheck_cpu_clear(this_cpu_ptr(&cpu_info));
+ mcheck_cpu_clear(c);
/*
* Use wbinvd on processors that support SME. This provides support
@@ -766,8 +777,17 @@ void __noreturn stop_this_cpu(void *dummy)
* Test the CPUID bit directly because the machine might've cleared
* X86_FEATURE_SME due to cmdline options.
*/
- if (cpuid_eax(0x8000001f) & BIT(0))
+ if (c->extended_cpuid_level >= 0x8000001f && (cpuid_eax(0x8000001f) & BIT(0)))
native_wbinvd();
+
+ /*
+ * This brings a cache line back and dirties it, but
+ * native_stop_other_cpus() will overwrite cpus_stop_mask after it
+ * observed that all CPUs reported stop. This write will invalidate
+ * the related cache line on this CPU.
+ */
+ cpumask_clear_cpu(cpu, &cpus_stop_mask);
+
for (;;) {
/*
* Use native_halt() so that memory contents don't change
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index 375b33ecafa2..174d6232b87f 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -21,12 +21,14 @@
#include <linux/interrupt.h>
#include <linux/cpu.h>
#include <linux/gfp.h>
+#include <linux/kexec.h>
#include <asm/mtrr.h>
#include <asm/tlbflush.h>
#include <asm/mmu_context.h>
#include <asm/proto.h>
#include <asm/apic.h>
+#include <asm/cpu.h>
#include <asm/idtentry.h>
#include <asm/nmi.h>
#include <asm/mce.h>
@@ -146,34 +148,47 @@ static int register_stop_handler(void)
static void native_stop_other_cpus(int wait)
{
- unsigned long flags;
- unsigned long timeout;
+ unsigned int cpu = smp_processor_id();
+ unsigned long flags, timeout;
if (reboot_force)
return;
- /*
- * Use an own vector here because smp_call_function
- * does lots of things not suitable in a panic situation.
- */
+ /* Only proceed if this is the first CPU to reach this code */
+ if (atomic_cmpxchg(&stopping_cpu, -1, cpu) != -1)
+ return;
+
+ /* For kexec, ensure that offline CPUs are out of MWAIT and in HLT */
+ if (kexec_in_progress)
+ smp_kick_mwait_play_dead();
/*
- * We start by using the REBOOT_VECTOR irq.
- * The irq is treated as a sync point to allow critical
- * regions of code on other cpus to release their spin locks
- * and re-enable irqs. Jumping straight to an NMI might
- * accidentally cause deadlocks with further shutdown/panic
- * code. By syncing, we give the cpus up to one second to
- * finish their work before we force them off with the NMI.
+ * 1) Send an IPI on the reboot vector to all other CPUs.
+ *
+ * The other CPUs should react on it after leaving critical
+ * sections and re-enabling interrupts. They might still hold
+ * locks, but there is nothing which can be done about that.
+ *
+ * 2) Wait for all other CPUs to report that they reached the
+ * HLT loop in stop_this_cpu()
+ *
+ * 3) If #2 timed out send an NMI to the CPUs which did not
+ * yet report
+ *
+ * 4) Wait for all other CPUs to report that they reached the
+ * HLT loop in stop_this_cpu()
+ *
+ * #3 can obviously race against a CPU reaching the HLT loop late.
+ * That CPU will have reported already and the "have all CPUs
+ * reached HLT" condition will be true despite the fact that the
+ * other CPU is still handling the NMI. Again, there is no
+ * protection against that as "disabled" APICs still respond to
+ * NMIs.
*/
- if (num_online_cpus() > 1) {
- /* did someone beat us here? */
- if (atomic_cmpxchg(&stopping_cpu, -1, safe_smp_processor_id()) != -1)
- return;
-
- /* sync above data before sending IRQ */
- wmb();
+ cpumask_copy(&cpus_stop_mask, cpu_online_mask);
+ cpumask_clear_cpu(cpu, &cpus_stop_mask);
+ if (!cpumask_empty(&cpus_stop_mask)) {
apic_send_IPI_allbutself(REBOOT_VECTOR);
/*
@@ -183,24 +198,22 @@ static void native_stop_other_cpus(int wait)
* CPUs reach shutdown state.
*/
timeout = USEC_PER_SEC;
- while (num_online_cpus() > 1 && timeout--)
+ while (!cpumask_empty(&cpus_stop_mask) && timeout--)
udelay(1);
}
/* if the REBOOT_VECTOR didn't work, try with the NMI */
- if (num_online_cpus() > 1) {
+ if (!cpumask_empty(&cpus_stop_mask)) {
/*
* If NMI IPI is enabled, try to register the stop handler
* and send the IPI. In any case try to wait for the other
* CPUs to stop.
*/
if (!smp_no_nmi_ipi && !register_stop_handler()) {
- /* Sync above data before sending IRQ */
- wmb();
-
pr_emerg("Shutting down cpus with NMI\n");
- apic_send_IPI_allbutself(NMI_VECTOR);
+ for_each_cpu(cpu, &cpus_stop_mask)
+ apic->send_IPI(cpu, NMI_VECTOR);
}
/*
* Don't wait longer than 10 ms if the caller didn't
@@ -208,7 +221,7 @@ static void native_stop_other_cpus(int wait)
* one or more CPUs do not reach shutdown state.
*/
timeout = USEC_PER_MSEC * 10;
- while (num_online_cpus() > 1 && (wait || timeout--))
+ while (!cpumask_empty(&cpus_stop_mask) && (wait || timeout--))
udelay(1);
}
@@ -216,6 +229,12 @@ static void native_stop_other_cpus(int wait)
disable_local_APIC();
mcheck_cpu_clear(this_cpu_ptr(&cpu_info));
local_irq_restore(flags);
+
+ /*
+ * Ensure that the cpus_stop_mask cache lines are invalidated on
+ * the other CPUs. See comment vs. SME in stop_this_cpu().
+ */
+ cpumask_clear(&cpus_stop_mask);
}
/*
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 3f3ea0287f69..f32ee967414e 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -53,6 +53,7 @@
#include <linux/tboot.h>
#include <linux/gfp.h>
#include <linux/cpuidle.h>
+#include <linux/kexec.h>
#include <linux/numa.h>
#include <linux/pgtable.h>
#include <linux/overflow.h>
@@ -99,6 +100,20 @@ EXPORT_PER_CPU_SYMBOL(cpu_die_map);
DEFINE_PER_CPU_READ_MOSTLY(struct cpuinfo_x86, cpu_info);
EXPORT_PER_CPU_SYMBOL(cpu_info);
+struct mwait_cpu_dead {
+ unsigned int control;
+ unsigned int status;
+};
+
+#define CPUDEAD_MWAIT_WAIT 0xDEADBEEF
+#define CPUDEAD_MWAIT_KEXEC_HLT 0x4A17DEAD
+
+/*
+ * Cache line aligned data for mwait_play_dead(). Separate on purpose so
+ * that it's unlikely to be touched by other CPUs.
+ */
+static DEFINE_PER_CPU_ALIGNED(struct mwait_cpu_dead, mwait_cpu_dead);
+
/* Logical package management. We might want to allocate that dynamically */
unsigned int __max_logical_packages __read_mostly;
EXPORT_SYMBOL(__max_logical_packages);
@@ -155,6 +170,10 @@ static void smp_callin(void)
{
int cpuid;
+ /* Mop up eventual mwait_play_dead() wreckage */
+ this_cpu_write(mwait_cpu_dead.status, 0);
+ this_cpu_write(mwait_cpu_dead.control, 0);
+
/*
* If waken up by an INIT in an 82489DX configuration
* cpu_callout_mask guarantees we don't get here before
@@ -1746,10 +1765,10 @@ EXPORT_SYMBOL_GPL(cond_wakeup_cpu0);
*/
static inline void mwait_play_dead(void)
{
+ struct mwait_cpu_dead *md = this_cpu_ptr(&mwait_cpu_dead);
unsigned int eax, ebx, ecx, edx;
unsigned int highest_cstate = 0;
unsigned int highest_subcstate = 0;
- void *mwait_ptr;
int i;
if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
@@ -1784,12 +1803,9 @@ static inline void mwait_play_dead(void)
(highest_subcstate - 1);
}
- /*
- * This should be a memory location in a cache line which is
- * unlikely to be touched by other processors. The actual
- * content is immaterial as it is not actually modified in any way.
- */
- mwait_ptr = &current_thread_info()->flags;
+ /* Set up state for the kexec() hack below */
+ md->status = CPUDEAD_MWAIT_WAIT;
+ md->control = CPUDEAD_MWAIT_WAIT;
wbinvd();
@@ -1802,16 +1818,63 @@ static inline void mwait_play_dead(void)
* case where we return around the loop.
*/
mb();
- clflush(mwait_ptr);
+ clflush(md);
mb();
- __monitor(mwait_ptr, 0, 0);
+ __monitor(md, 0, 0);
mb();
__mwait(eax, 0);
+ if (READ_ONCE(md->control) == CPUDEAD_MWAIT_KEXEC_HLT) {
+ /*
+ * Kexec is about to happen. Don't go back into mwait() as
+ * the kexec kernel might overwrite text and data including
+ * page tables and stack. So mwait() would resume when the
+ * monitor cache line is written to and then the CPU goes
+ * south due to overwritten text, page tables and stack.
+ *
+ * Note: This does _NOT_ protect against a stray MCE, NMI,
+ * SMI. They will resume execution at the instruction
+ * following the HLT instruction and run into the problem
+ * which this is trying to prevent.
+ */
+ WRITE_ONCE(md->status, CPUDEAD_MWAIT_KEXEC_HLT);
+ while(1)
+ native_halt();
+ }
+
cond_wakeup_cpu0();
}
}
+/*
+ * Kick all "offline" CPUs out of mwait on kexec(). See comment in
+ * mwait_play_dead().
+ */
+void smp_kick_mwait_play_dead(void)
+{
+ u32 newstate = CPUDEAD_MWAIT_KEXEC_HLT;
+ struct mwait_cpu_dead *md;
+ unsigned int cpu, i;
+
+ for_each_cpu_andnot(cpu, cpu_present_mask, cpu_online_mask) {
+ md = per_cpu_ptr(&mwait_cpu_dead, cpu);
+
+ /* Does it sit in mwait_play_dead() ? */
+ if (READ_ONCE(md->status) != CPUDEAD_MWAIT_WAIT)
+ continue;
+
+ /* Wait up to 5ms */
+ for (i = 0; READ_ONCE(md->status) != newstate && i < 1000; i++) {
+ /* Bring it out of mwait */
+ WRITE_ONCE(md->control, newstate);
+ udelay(5);
+ }
+
+ if (READ_ONCE(md->status) != newstate)
+ pr_err_once("CPU%u is stuck in mwait_play_dead()\n", cpu);
+ }
+}
+
void hlt_play_dead(void)
{
if (__this_cpu_read(cpu_info.x86) >= 4)
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 6551d6249f8a..97599581ec6b 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -901,12 +901,6 @@ __bad_area(struct pt_regs *regs, unsigned long error_code,
__bad_area_nosemaphore(regs, error_code, address, pkey, si_code);
}
-static noinline void
-bad_area(struct pt_regs *regs, unsigned long error_code, unsigned long address)
-{
- __bad_area(regs, error_code, address, 0, SEGV_MAPERR);
-}
-
static inline bool bad_area_access_from_pkeys(unsigned long error_code,
struct vm_area_struct *vma)
{
@@ -1355,7 +1349,6 @@ void do_user_addr_fault(struct pt_regs *regs,
}
#endif
-#ifdef CONFIG_PER_VMA_LOCK
if (!(flags & FAULT_FLAG_USER))
goto lock_mmap;
@@ -1368,7 +1361,8 @@ void do_user_addr_fault(struct pt_regs *regs,
goto lock_mmap;
}
fault = handle_mm_fault(vma, address, flags | FAULT_FLAG_VMA_LOCK, regs);
- vma_end_read(vma);
+ if (!(fault & (VM_FAULT_RETRY | VM_FAULT_COMPLETED)))
+ vma_end_read(vma);
if (!(fault & VM_FAULT_RETRY)) {
count_vm_vma_lock_event(VMA_LOCK_SUCCESS);
@@ -1385,53 +1379,11 @@ void do_user_addr_fault(struct pt_regs *regs,
return;
}
lock_mmap:
-#endif /* CONFIG_PER_VMA_LOCK */
- /*
- * Kernel-mode access to the user address space should only occur
- * on well-defined single instructions listed in the exception
- * tables. But, an erroneous kernel fault occurring outside one of
- * those areas which also holds mmap_lock might deadlock attempting
- * to validate the fault against the address space.
- *
- * Only do the expensive exception table search when we might be at
- * risk of a deadlock. This happens if we
- * 1. Failed to acquire mmap_lock, and
- * 2. The access did not originate in userspace.
- */
- if (unlikely(!mmap_read_trylock(mm))) {
- if (!user_mode(regs) && !search_exception_tables(regs->ip)) {
- /*
- * Fault from code in kernel from
- * which we do not expect faults.
- */
- bad_area_nosemaphore(regs, error_code, address);
- return;
- }
retry:
- mmap_read_lock(mm);
- } else {
- /*
- * The above down_read_trylock() might have succeeded in
- * which case we'll have missed the might_sleep() from
- * down_read():
- */
- might_sleep();
- }
-
- vma = find_vma(mm, address);
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (unlikely(!vma)) {
- bad_area(regs, error_code, address);
- return;
- }
- if (likely(vma->vm_start <= address))
- goto good_area;
- if (unlikely(!(vma->vm_flags & VM_GROWSDOWN))) {
- bad_area(regs, error_code, address);
- return;
- }
- if (unlikely(expand_stack(vma, address))) {
- bad_area(regs, error_code, address);
+ bad_area_nosemaphore(regs, error_code, address);
return;
}
@@ -1439,7 +1391,6 @@ retry:
* Ok, we have a good vm_area for this memory access, so
* we can handle it..
*/
-good_area:
if (unlikely(access_error(error_code, vma))) {
bad_area_access_error(regs, error_code, address, vma);
return;
@@ -1487,9 +1438,7 @@ good_area:
}
mmap_read_unlock(mm);
-#ifdef CONFIG_PER_VMA_LOCK
done:
-#endif
if (likely(!(fault & VM_FAULT_ERROR)))
return;
diff --git a/arch/x86/mm/kaslr.c b/arch/x86/mm/kaslr.c
index 557f0fe25dff..37db264866b6 100644
--- a/arch/x86/mm/kaslr.c
+++ b/arch/x86/mm/kaslr.c
@@ -172,10 +172,10 @@ void __meminit init_trampoline_kaslr(void)
set_p4d(p4d_tramp,
__p4d(_KERNPG_TABLE | __pa(pud_page_tramp)));
- set_pgd(&trampoline_pgd_entry,
- __pgd(_KERNPG_TABLE | __pa(p4d_page_tramp)));
+ trampoline_pgd_entry =
+ __pgd(_KERNPG_TABLE | __pa(p4d_page_tramp));
} else {
- set_pgd(&trampoline_pgd_entry,
- __pgd(_KERNPG_TABLE | __pa(pud_page_tramp)));
+ trampoline_pgd_entry =
+ __pgd(_KERNPG_TABLE | __pa(pud_page_tramp));
}
}
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index bcb0c5d2abc2..6d3c9257aa13 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -49,6 +49,7 @@ config XTENSA
select HAVE_SYSCALL_TRACEPOINTS
select HAVE_VIRT_CPU_ACCOUNTING_GEN
select IRQ_DOMAIN
+ select LOCK_MM_AND_FIND_VMA
select MODULES_USE_ELF_RELA
select PERF_USE_VMALLOC
select TRACE_IRQFLAGS_SUPPORT
diff --git a/arch/xtensa/mm/fault.c b/arch/xtensa/mm/fault.c
index 8c781b05c0bd..d89b193c779f 100644
--- a/arch/xtensa/mm/fault.c
+++ b/arch/xtensa/mm/fault.c
@@ -130,23 +130,14 @@ void do_page_fault(struct pt_regs *regs)
perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
retry:
- mmap_read_lock(mm);
- vma = find_vma(mm, address);
-
+ vma = lock_mm_and_find_vma(mm, address, regs);
if (!vma)
- goto bad_area;
- if (vma->vm_start <= address)
- goto good_area;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- goto bad_area;
- if (expand_stack(vma, address))
- goto bad_area;
+ goto bad_area_nosemaphore;
/* Ok, we have a good vm_area for this memory access, so
* we can handle it..
*/
-good_area:
code = SEGV_ACCERR;
if (is_write) {
@@ -205,6 +196,7 @@ good_area:
*/
bad_area:
mmap_read_unlock(mm);
+bad_area_nosemaphore:
if (user_mode(regs)) {
current->thread.bad_vaddr = address;
current->thread.error_code = is_write;
diff --git a/block/OWNERS b/block/OWNERS
deleted file mode 100644
index 2641e066350b..000000000000
--- a/block/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-bvanassche@google.com
-jaegeuk@google.com
diff --git a/block/blk-crypto-fallback.c b/block/blk-crypto-fallback.c
index 243953d9705d..f96ce6318658 100644
--- a/block/blk-crypto-fallback.c
+++ b/block/blk-crypto-fallback.c
@@ -78,7 +78,7 @@ static struct blk_crypto_fallback_keyslot {
struct crypto_skcipher *tfms[BLK_ENCRYPTION_MODE_MAX];
} *blk_crypto_keyslots;
-static struct blk_crypto_profile blk_crypto_fallback_profile;
+static struct blk_crypto_profile *blk_crypto_fallback_profile;
static struct workqueue_struct *blk_crypto_wq;
static mempool_t *blk_crypto_bounce_page_pool;
static struct bio_set crypto_bio_split;
@@ -294,7 +294,7 @@ static bool blk_crypto_fallback_encrypt_bio(struct bio **bio_ptr)
* Get a blk-crypto-fallback keyslot that contains a crypto_skcipher for
* this bio's algorithm and key.
*/
- blk_st = blk_crypto_get_keyslot(&blk_crypto_fallback_profile,
+ blk_st = blk_crypto_get_keyslot(blk_crypto_fallback_profile,
bc->bc_key, &slot);
if (blk_st != BLK_STS_OK) {
src_bio->bi_status = blk_st;
@@ -397,7 +397,7 @@ static void blk_crypto_fallback_decrypt_bio(struct work_struct *work)
* Get a blk-crypto-fallback keyslot that contains a crypto_skcipher for
* this bio's algorithm and key.
*/
- blk_st = blk_crypto_get_keyslot(&blk_crypto_fallback_profile,
+ blk_st = blk_crypto_get_keyslot(blk_crypto_fallback_profile,
bc->bc_key, &slot);
if (blk_st != BLK_STS_OK) {
bio->bi_status = blk_st;
@@ -501,7 +501,7 @@ bool blk_crypto_fallback_bio_prep(struct bio **bio_ptr)
return false;
}
- if (!__blk_crypto_cfg_supported(&blk_crypto_fallback_profile,
+ if (!__blk_crypto_cfg_supported(blk_crypto_fallback_profile,
&bc->bc_key->crypto_cfg)) {
bio->bi_status = BLK_STS_NOTSUPP;
return false;
@@ -528,7 +528,7 @@ bool blk_crypto_fallback_bio_prep(struct bio **bio_ptr)
int blk_crypto_fallback_evict_key(const struct blk_crypto_key *key)
{
- return __blk_crypto_evict_key(&blk_crypto_fallback_profile, key);
+ return __blk_crypto_evict_key(blk_crypto_fallback_profile, key);
}
static bool blk_crypto_fallback_inited;
@@ -536,7 +536,6 @@ static int blk_crypto_fallback_init(void)
{
int i;
int err;
- struct blk_crypto_profile *profile = &blk_crypto_fallback_profile;
if (blk_crypto_fallback_inited)
return 0;
@@ -547,19 +546,28 @@ static int blk_crypto_fallback_init(void)
if (err)
goto out;
- err = blk_crypto_profile_init(profile, blk_crypto_num_keyslots);
- if (err)
+ /* Dynamic allocation is needed because of lockdep_register_key(). */
+ blk_crypto_fallback_profile =
+ kzalloc(sizeof(*blk_crypto_fallback_profile), GFP_KERNEL);
+ if (!blk_crypto_fallback_profile) {
+ err = -ENOMEM;
goto fail_free_bioset;
+ }
+
+ err = blk_crypto_profile_init(blk_crypto_fallback_profile,
+ blk_crypto_num_keyslots);
+ if (err)
+ goto fail_free_profile;
err = -ENOMEM;
- profile->ll_ops = blk_crypto_fallback_ll_ops;
- profile->max_dun_bytes_supported = BLK_CRYPTO_MAX_IV_SIZE;
- profile->key_types_supported = BLK_CRYPTO_KEY_TYPE_STANDARD;
+ blk_crypto_fallback_profile->ll_ops = blk_crypto_fallback_ll_ops;
+ blk_crypto_fallback_profile->max_dun_bytes_supported = BLK_CRYPTO_MAX_IV_SIZE;
+ blk_crypto_fallback_profile->key_types_supported = BLK_CRYPTO_KEY_TYPE_STANDARD;
/* All blk-crypto modes have a crypto API fallback. */
for (i = 0; i < BLK_ENCRYPTION_MODE_MAX; i++)
- profile->modes_supported[i] = 0xFFFFFFFF;
- profile->modes_supported[BLK_ENCRYPTION_MODE_INVALID] = 0;
+ blk_crypto_fallback_profile->modes_supported[i] = 0xFFFFFFFF;
+ blk_crypto_fallback_profile->modes_supported[BLK_ENCRYPTION_MODE_INVALID] = 0;
blk_crypto_wq = alloc_workqueue("blk_crypto_wq",
WQ_UNBOUND | WQ_HIGHPRI |
@@ -600,7 +608,9 @@ fail_free_keyslots:
fail_free_wq:
destroy_workqueue(blk_crypto_wq);
fail_destroy_profile:
- blk_crypto_profile_destroy(profile);
+ blk_crypto_profile_destroy(blk_crypto_fallback_profile);
+fail_free_profile:
+ kfree(blk_crypto_fallback_profile);
fail_free_bioset:
bioset_exit(&crypto_bio_split);
out:
diff --git a/block/blk-crypto-profile.c b/block/blk-crypto-profile.c
index fe550725c777..7cdef1bee6f7 100644
--- a/block/blk-crypto-profile.c
+++ b/block/blk-crypto-profile.c
@@ -79,7 +79,18 @@ int blk_crypto_profile_init(struct blk_crypto_profile *profile,
unsigned int slot_hashtable_size;
memset(profile, 0, sizeof(*profile));
+
+ /*
+ * profile->lock of an underlying device can nest inside profile->lock
+ * of a device-mapper device, so use a dynamic lock class to avoid
+ * false-positive lockdep reports.
+ */
+#ifdef CONFIG_LOCKDEP
+ lockdep_register_key(&profile->lockdep_key);
+ __init_rwsem(&profile->lock, "&profile->lock", &profile->lockdep_key);
+#else
init_rwsem(&profile->lock);
+#endif
if (num_slots == 0)
return 0;
@@ -89,7 +100,7 @@ int blk_crypto_profile_init(struct blk_crypto_profile *profile,
profile->slots = kvcalloc(num_slots, sizeof(profile->slots[0]),
GFP_KERNEL);
if (!profile->slots)
- return -ENOMEM;
+ goto err_destroy;
profile->num_slots = num_slots;
@@ -443,6 +454,9 @@ void blk_crypto_profile_destroy(struct blk_crypto_profile *profile)
{
if (!profile)
return;
+#ifdef CONFIG_LOCKDEP
+ lockdep_unregister_key(&profile->lockdep_key);
+#endif
kvfree(profile->slot_hashtable);
kvfree_sensitive(profile->slots,
sizeof(profile->slots[0]) * profile->num_slots);
diff --git a/block/blk-ioc.c b/block/blk-ioc.c
index 63fc02042408..25dd4db11121 100644
--- a/block/blk-ioc.c
+++ b/block/blk-ioc.c
@@ -77,6 +77,10 @@ static void ioc_destroy_icq(struct io_cq *icq)
struct elevator_type *et = q->elevator->type;
lockdep_assert_held(&ioc->lock);
+ lockdep_assert_held(&q->queue_lock);
+
+ if (icq->flags & ICQ_DESTROYED)
+ return;
radix_tree_delete(&ioc->icq_tree, icq->q->id);
hlist_del_init(&icq->ioc_node);
@@ -128,12 +132,7 @@ static void ioc_release_fn(struct work_struct *work)
spin_lock(&q->queue_lock);
spin_lock(&ioc->lock);
- /*
- * The icq may have been destroyed when the ioc lock
- * was released.
- */
- if (!(icq->flags & ICQ_DESTROYED))
- ioc_destroy_icq(icq);
+ ioc_destroy_icq(icq);
spin_unlock(&q->queue_lock);
rcu_read_unlock();
@@ -171,23 +170,20 @@ static bool ioc_delay_free(struct io_context *ioc)
*/
void ioc_clear_queue(struct request_queue *q)
{
- LIST_HEAD(icq_list);
-
spin_lock_irq(&q->queue_lock);
- list_splice_init(&q->icq_list, &icq_list);
- spin_unlock_irq(&q->queue_lock);
-
- rcu_read_lock();
- while (!list_empty(&icq_list)) {
+ while (!list_empty(&q->icq_list)) {
struct io_cq *icq =
- list_entry(icq_list.next, struct io_cq, q_node);
-
- spin_lock_irq(&icq->ioc->lock);
- if (!(icq->flags & ICQ_DESTROYED))
- ioc_destroy_icq(icq);
- spin_unlock_irq(&icq->ioc->lock);
+ list_first_entry(&q->icq_list, struct io_cq, q_node);
+
+ /*
+ * Other context won't hold ioc lock to wait for queue_lock, see
+ * details in ioc_release_fn().
+ */
+ spin_lock(&icq->ioc->lock);
+ ioc_destroy_icq(icq);
+ spin_unlock(&icq->ioc->lock);
}
- rcu_read_unlock();
+ spin_unlock_irq(&q->queue_lock);
}
#else /* CONFIG_BLK_ICQ */
static inline void ioc_exit_icqs(struct io_context *ioc)
diff --git a/block/blk-ioprio.c b/block/blk-ioprio.c
index 8bb6b8eba4ce..4eba569d4823 100644
--- a/block/blk-ioprio.c
+++ b/block/blk-ioprio.c
@@ -23,25 +23,28 @@
/**
* enum prio_policy - I/O priority class policy.
* @POLICY_NO_CHANGE: (default) do not modify the I/O priority class.
- * @POLICY_NONE_TO_RT: modify IOPRIO_CLASS_NONE into IOPRIO_CLASS_RT.
+ * @POLICY_PROMOTE_TO_RT: modify no-IOPRIO_CLASS_RT to IOPRIO_CLASS_RT.
* @POLICY_RESTRICT_TO_BE: modify IOPRIO_CLASS_NONE and IOPRIO_CLASS_RT into
* IOPRIO_CLASS_BE.
* @POLICY_ALL_TO_IDLE: change the I/O priority class into IOPRIO_CLASS_IDLE.
+ * @POLICY_NONE_TO_RT: an alias for POLICY_PROMOTE_TO_RT.
*
* See also <linux/ioprio.h>.
*/
enum prio_policy {
POLICY_NO_CHANGE = 0,
- POLICY_NONE_TO_RT = 1,
+ POLICY_PROMOTE_TO_RT = 1,
POLICY_RESTRICT_TO_BE = 2,
POLICY_ALL_TO_IDLE = 3,
+ POLICY_NONE_TO_RT = 4,
};
static const char *policy_name[] = {
[POLICY_NO_CHANGE] = "no-change",
- [POLICY_NONE_TO_RT] = "none-to-rt",
+ [POLICY_PROMOTE_TO_RT] = "promote-to-rt",
[POLICY_RESTRICT_TO_BE] = "restrict-to-be",
[POLICY_ALL_TO_IDLE] = "idle",
+ [POLICY_NONE_TO_RT] = "none-to-rt",
};
static struct blkcg_policy ioprio_policy;
@@ -189,6 +192,20 @@ void blkcg_set_ioprio(struct bio *bio)
if (!blkcg || blkcg->prio_policy == POLICY_NO_CHANGE)
return;
+ if (blkcg->prio_policy == POLICY_PROMOTE_TO_RT ||
+ blkcg->prio_policy == POLICY_NONE_TO_RT) {
+ /*
+ * For RT threads, the default priority level is 4 because
+ * task_nice is 0. By promoting non-RT io-priority to RT-class
+ * and default level 4, those requests that are already
+ * RT-class but need a higher io-priority can use ioprio_set()
+ * to achieve this.
+ */
+ if (IOPRIO_PRIO_CLASS(bio->bi_ioprio) != IOPRIO_CLASS_RT)
+ bio->bi_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_RT, 4);
+ return;
+ }
+
/*
* Except for IOPRIO_CLASS_NONE, higher I/O priority numbers
* correspond to a lower priority. Hence, the max_t() below selects
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 1ad3e4f494df..3a6abebda851 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1188,8 +1188,9 @@ bool blk_mq_complete_request_remote(struct request *rq)
* or a polled request, always complete locally,
* it's pointless to redirect the completion.
*/
- if (rq->mq_hctx->nr_ctx == 1 ||
- rq->cmd_flags & REQ_POLLED)
+ if ((rq->mq_hctx->nr_ctx == 1 &&
+ rq->mq_ctx->cpu == raw_smp_processor_id()) ||
+ rq->cmd_flags & REQ_POLLED)
return false;
if (blk_mq_complete_need_ipi(rq)) {
diff --git a/build.config.allmodconfig b/build.config.allmodconfig
index 3d443b98714c..65d84dbb710d 100644
--- a/build.config.allmodconfig
+++ b/build.config.allmodconfig
@@ -4,7 +4,6 @@ POST_DEFCONFIG_CMDS="update_config"
function update_config() {
${KERNEL_DIR}/scripts/config --file ${OUT_DIR}/.config \
-e UNWINDER_FRAME_POINTER \
- -d WERROR \
-d SAMPLES \
-d BPFILTER \
-e RANDSTRUCT_NONE \
diff --git a/build.config.common b/build.config.common
index 38b7b26b0fcf..f9becf2d72d8 100644
--- a/build.config.common
+++ b/build.config.common
@@ -1,6 +1,6 @@
. ${ROOT_DIR}/${KERNEL_DIR}/build.config.constants
-KMI_GENERATION=9
+KMI_GENERATION=11
LLVM=1
DEPMOD=depmod
diff --git a/build.config.crashdump b/build.config.crashdump
new file mode 100644
index 000000000000..8a4214358308
--- /dev/null
+++ b/build.config.crashdump
@@ -0,0 +1 @@
+DEFCONFIG=crashdump_defconfig
diff --git a/build.config.crashdump.aarch64 b/build.config.crashdump.aarch64
new file mode 100644
index 000000000000..20a8acc98912
--- /dev/null
+++ b/build.config.crashdump.aarch64
@@ -0,0 +1,7 @@
+KERNEL_DIR=common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.crashdump
+
+# No modules
+IN_KERNEL_MODULES=
diff --git a/build.config.crashdump.x86_64 b/build.config.crashdump.x86_64
new file mode 100644
index 000000000000..18eed729a8c1
--- /dev/null
+++ b/build.config.crashdump.x86_64
@@ -0,0 +1,7 @@
+KERNEL_DIR=common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.x86_64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.crashdump
+
+# No modules
+IN_KERNEL_MODULES=
diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64
index 45c5199d471a..d3980621c116 100644
--- a/build.config.gki.aarch64
+++ b/build.config.gki.aarch64
@@ -8,7 +8,6 @@ arch/arm64/boot/Image.gz
"
BUILD_SYSTEM_DLKM=1
-MODULES_LIST=${ROOT_DIR}/${KERNEL_DIR}/android/gki_system_dlkm_modules
BUILD_GKI_CERTIFICATION_TOOLS=1
diff --git a/build.config.gki.aarch64.16k b/build.config.gki.aarch64.16k
deleted file mode 100644
index 20be95d54647..000000000000
--- a/build.config.gki.aarch64.16k
+++ /dev/null
@@ -1,5 +0,0 @@
-. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki.aarch64
-
-DEFCONFIG=16k_gki_defconfig
-PRE_DEFCONFIG_CMDS="mkdir -p \${OUT_DIR}/arch/arm64/configs/ && cat ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/16k_gki.fragment > \${OUT_DIR}/arch/arm64/configs/${DEFCONFIG};"
-POST_DEFCONFIG_CMDS=""
diff --git a/build.config.gki.riscv64 b/build.config.gki.riscv64
index c216a0472794..91070684eb7a 100644
--- a/build.config.gki.riscv64
+++ b/build.config.gki.riscv64
@@ -8,7 +8,6 @@ arch/riscv/boot/Image.gz
"
BUILD_SYSTEM_DLKM=1
-MODULES_LIST=${ROOT_DIR}/${KERNEL_DIR}/android/gki_system_dlkm_modules
BUILD_GKI_CERTIFICATION_TOOLS=1
diff --git a/build.config.gki.x86_64 b/build.config.gki.x86_64
index 93f492cabec8..20092cc5e122 100644
--- a/build.config.gki.x86_64
+++ b/build.config.gki.x86_64
@@ -3,7 +3,6 @@
. ${ROOT_DIR}/${KERNEL_DIR}/build.config.gki
BUILD_SYSTEM_DLKM=1
-MODULES_LIST=${ROOT_DIR}/${KERNEL_DIR}/android/gki_system_dlkm_modules
BUILD_GKI_CERTIFICATION_TOOLS=1
diff --git a/build.config.microdroid b/build.config.microdroid
new file mode 100644
index 000000000000..d31e0d5587f3
--- /dev/null
+++ b/build.config.microdroid
@@ -0,0 +1 @@
+DEFCONFIG=microdroid_defconfig
diff --git a/build.config.microdroid.aarch64 b/build.config.microdroid.aarch64
new file mode 100644
index 000000000000..a8ffa55bc2ad
--- /dev/null
+++ b/build.config.microdroid.aarch64
@@ -0,0 +1,7 @@
+KERNEL_DIR=common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.microdroid
+
+# No modules
+IN_KERNEL_MODULES=
diff --git a/build.config.microdroid.x86_64 b/build.config.microdroid.x86_64
new file mode 100644
index 000000000000..10cd8b23a748
--- /dev/null
+++ b/build.config.microdroid.x86_64
@@ -0,0 +1,7 @@
+KERNEL_DIR=common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.x86_64
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.microdroid
+
+# No modules
+IN_KERNEL_MODULES=
diff --git a/build.config.rockchip b/build.config.rockchip
new file mode 100644
index 000000000000..c3d089708674
--- /dev/null
+++ b/build.config.rockchip
@@ -0,0 +1,15 @@
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.common
+. ${ROOT_DIR}/${KERNEL_DIR}/build.config.aarch64
+
+BUILD_INITRAMFS=1
+LZ4_RAMDISK=1
+DEFCONFIG=rockchip_gki_defconfig
+FRAGMENT_CONFIG=${KERNEL_DIR}/arch/arm64/configs/rockchip_gki.fragment
+PRE_DEFCONFIG_CMDS="KCONFIG_CONFIG=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${FRAGMENT_CONFIG}"
+POST_DEFCONFIG_CMDS="rm ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/${DEFCONFIG}"
+
+DTC_INCLUDE=${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/boot/dts/rockchip
+
+FILES="${FILES}
+arch/arm64/boot/dts/rockchip/rk3588*.dtb
+"
diff --git a/crypto/OWNERS b/crypto/OWNERS
deleted file mode 100644
index 4ed35a0f4668..000000000000
--- a/crypto/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-ardb@google.com
diff --git a/crypto/fips140-defs.h b/crypto/fips140-defs.h
index 9005f9513308..d3f62e3c3f37 100644
--- a/crypto/fips140-defs.h
+++ b/crypto/fips140-defs.h
@@ -17,9 +17,9 @@
* related macros to be expanded as they would be for built-in code; e.g.,
* module_init() adds the function to the .initcalls section of the binary.
*
- * The .c file that contains the real module_init() for fips140.ko is then
- * responsible for redefining MODULE, and the real module_init() is responsible
- * for executing all the initcalls that were collected into .initcalls.
+ * The .c files that contain the real module_init, module license, and module
+ * parameters for fips140.ko are then responsible for redefining MODULE. The
+ * real module_init executes all initcalls that were collected into .initcalls.
*/
#undef MODULE
diff --git a/crypto/fips140-eval-testing.c b/crypto/fips140-eval-testing.c
index ea3cd653983a..fdc786884d11 100644
--- a/crypto/fips140-eval-testing.c
+++ b/crypto/fips140-eval-testing.c
@@ -20,6 +20,14 @@
__inline_maybe_unused notrace
#undef BUILD_FIPS140_KO
+/*
+ * Since this .c file contains real module parameters for fips140.ko, it needs
+ * to be compiled normally, so undo the hacks that were done in fips140-defs.h.
+ */
+#define MODULE
+#undef KBUILD_MODFILE
+#undef __DISABLE_EXPORTS
+
#include <linux/cdev.h>
#include <linux/fs.h>
#include <linux/module.h>
diff --git a/drivers/OWNERS b/drivers/OWNERS
deleted file mode 100644
index c13fa056367d..000000000000
--- a/drivers/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-per-file base/**=gregkh@google.com,saravanak@google.com
-per-file block/**=akailash@google.com
-per-file md/**=akailash@google.com,paullawrence@google.com
-per-file net/**=file:/net/OWNERS
-per-file scsi/**=bvanassche@google.com,jaegeuk@google.com
-per-file {tty,usb}/**=gregkh@google.com
diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig
index c5e063b723dd..c3a49e538988 100644
--- a/drivers/android/Kconfig
+++ b/drivers/android/Kconfig
@@ -47,6 +47,17 @@ config ANDROID_BINDER_IPC_SELFTEST
exhaustively with combinations of various buffer sizes and
alignments.
+config ANDROID_DEBUG_SYMBOLS
+ bool "Android Debug Symbols"
+ help
+ Enables export of debug symbols that are useful for offline debugging
+ of a kernel. These symbols would be used in vendor modules to find
+ addresses of the core kernel symbols for vendor extensions.
+
+ This driver is statically compiled into kernel and maintains all the
+ required symbol addresses for vendor modules and provides necessary
+ interface vendor modules.
+
config ANDROID_VENDOR_HOOKS
bool "Android Vendor Hooks"
depends on TRACEPOINTS
diff --git a/drivers/android/Makefile b/drivers/android/Makefile
index 9b89e4ba00a1..97cddb531ee0 100644
--- a/drivers/android/Makefile
+++ b/drivers/android/Makefile
@@ -4,5 +4,6 @@ ccflags-y += -I$(src) # needed for trace events
obj-$(CONFIG_ANDROID_BINDERFS) += binderfs.o
obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o binder_alloc.o
obj-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o
+obj-$(CONFIG_ANDROID_DEBUG_SYMBOLS) += android_debug_symbols.o
obj-$(CONFIG_ANDROID_VENDOR_HOOKS) += vendor_hooks.o
obj-$(CONFIG_ANDROID_DEBUG_KINFO) += debug_kinfo.o
diff --git a/drivers/android/android_debug_symbols.c b/drivers/android/android_debug_symbols.c
new file mode 100644
index 000000000000..4c0388575d57
--- /dev/null
+++ b/drivers/android/android_debug_symbols.c
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: GPL-2.0-only
+
+/*
+ * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023, Unisoc (Shanghai) Technologies Co., Ltd
+ */
+
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/android_debug_symbols.h>
+#include <asm/sections.h>
+#include <asm/stacktrace.h>
+
+#include <linux/cma.h>
+#include <linux/mm.h>
+#include "../../mm/slab.h"
+#include <linux/security.h>
+
+struct ads_entry {
+ char *name;
+ void *addr;
+};
+
+#define _ADS_ENTRY(index, symbol) \
+ [index] = { .name = #symbol, .addr = (void *)symbol }
+#define ADS_ENTRY(index, symbol) _ADS_ENTRY(index, symbol)
+
+#define _ADS_PER_CPU_ENTRY(index, symbol) \
+ [index] = { .name = #symbol, .addr = (void *)&symbol }
+#define ADS_PER_CPU_ENTRY(index, symbol) _ADS_PER_CPU_ENTRY(index, symbol)
+
+/*
+ * This module maintains static array of symbol and address information.
+ * Add all required core kernel symbols and their addresses into ads_entries[] array,
+ * so that vendor modules can query and to find address of non-exported symbol.
+ */
+static const struct ads_entry ads_entries[ADS_END] = {
+ ADS_ENTRY(ADS_SDATA, _sdata),
+ ADS_ENTRY(ADS_BSS_END, __bss_stop),
+ ADS_ENTRY(ADS_PER_CPU_START, __per_cpu_start),
+ ADS_ENTRY(ADS_PER_CPU_END, __per_cpu_end),
+ ADS_ENTRY(ADS_TEXT, _text),
+ ADS_ENTRY(ADS_SEND, _end),
+ ADS_ENTRY(ADS_LINUX_BANNER, linux_banner),
+ ADS_ENTRY(ADS_TOTAL_CMA, &totalcma_pages),
+ ADS_ENTRY(ADS_SLAB_CACHES, &slab_caches),
+ ADS_ENTRY(ADS_SLAB_MUTEX, &slab_mutex),
+};
+
+/*
+ * ads_per_cpu_entries array contains all the per_cpu variable address information.
+ */
+static const struct ads_entry ads_per_cpu_entries[ADS_DEBUG_PER_CPU_END] = {
+#ifdef CONFIG_ARM64
+ ADS_PER_CPU_ENTRY(ADS_IRQ_STACK_PTR, irq_stack_ptr),
+#endif
+#ifdef CONFIG_X86
+ ADS_PER_CPU_ENTRY(ADS_IRQ_STACK_PTR, hardirq_stack_ptr),
+#endif
+};
+
+/*
+ * android_debug_symbol - Provide address inforamtion of debug symbol.
+ * @symbol: Index of debug symbol array.
+ *
+ * Return address of core kernel symbol on success and a negative errno will be
+ * returned in error cases.
+ *
+ */
+void *android_debug_symbol(enum android_debug_symbol symbol)
+{
+ if (symbol >= ADS_END)
+ return ERR_PTR(-EINVAL);
+
+ return ads_entries[symbol].addr;
+}
+EXPORT_SYMBOL_NS_GPL(android_debug_symbol, MINIDUMP);
+
+/*
+ * android_debug_per_cpu_symbol - Provide address inforamtion of per cpu debug symbol.
+ * @symbol: Index of per cpu debug symbol array.
+ *
+ * Return address of core kernel symbol on success and a negative errno will be
+ * returned in error cases.
+ *
+ */
+void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol)
+{
+ if (symbol >= ADS_DEBUG_PER_CPU_END)
+ return ERR_PTR(-EINVAL);
+
+ return ads_per_cpu_entries[symbol].addr;
+}
+EXPORT_SYMBOL_NS_GPL(android_debug_per_cpu_symbol, MINIDUMP);
+
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 4f89346dd283..8b7448753183 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -1761,6 +1761,7 @@ static void binder_free_transaction(struct binder_transaction *t)
{
struct binder_proc *target_proc = t->to_proc;
+ trace_android_vh_free_oem_binder_struct(t);
if (target_proc) {
binder_inner_proc_lock(target_proc);
target_proc->outstanding_txns--;
@@ -2945,6 +2946,7 @@ static int binder_proc_transaction(struct binder_transaction *t,
bool pending_async = false;
struct binder_transaction *t_outdated = NULL;
bool skip = false;
+ bool enqueue_task = true;
BUG_ON(!node);
binder_node_lock(node);
@@ -2984,7 +2986,10 @@ static int binder_proc_transaction(struct binder_transaction *t,
binder_transaction_priority(thread, t, node);
binder_enqueue_thread_work_ilocked(thread, &t->work);
} else if (!pending_async) {
- binder_enqueue_work_ilocked(&t->work, &proc->todo);
+ trace_android_vh_binder_special_task(t, proc, thread,
+ &t->work, &proc->todo, !oneway, &enqueue_task);
+ if (enqueue_task)
+ binder_enqueue_work_ilocked(&t->work, &proc->todo);
} else {
if ((t->flags & TF_UPDATE_TXN) && proc->is_frozen) {
t_outdated = binder_find_outdated_transaction_ilocked(t,
@@ -2997,7 +3002,10 @@ static int binder_proc_transaction(struct binder_transaction *t,
proc->outstanding_txns--;
}
}
- binder_enqueue_work_ilocked(&t->work, &node->async_todo);
+ trace_android_vh_binder_special_task(t, proc, thread,
+ &t->work, &node->async_todo, !oneway, &enqueue_task);
+ if (enqueue_task)
+ binder_enqueue_work_ilocked(&t->work, &node->async_todo);
}
trace_android_vh_binder_proc_transaction_finish(proc, t,
@@ -3474,6 +3482,7 @@ static void binder_transaction(struct binder_proc *proc,
t->buffer->target_node = target_node;
t->buffer->clear_on_free = !!(t->flags & TF_CLEAR_BUF);
trace_binder_transaction_alloc_buf(t->buffer);
+ trace_android_vh_alloc_oem_binder_struct(tr, t, target_proc);
if (binder_alloc_copy_user_to_buffer(
&target_proc->alloc,
@@ -3978,6 +3987,9 @@ binder_free_buf(struct binder_proc *proc,
struct binder_thread *thread,
struct binder_buffer *buffer, bool is_failure)
{
+ bool enqueue_task = true;
+
+ trace_android_vh_binder_free_buf(proc, thread, buffer);
binder_inner_proc_lock(proc);
if (buffer->transaction) {
buffer->transaction->buffer = NULL;
@@ -3997,8 +4009,10 @@ binder_free_buf(struct binder_proc *proc,
if (!w) {
buf_node->has_async_transaction = false;
} else {
- binder_enqueue_work_ilocked(
- w, &proc->todo);
+ trace_android_vh_binder_special_task(NULL, proc, thread, w,
+ &proc->todo, false, &enqueue_task);
+ if (enqueue_task)
+ binder_enqueue_work_ilocked(w, &proc->todo);
binder_wakeup_proc_ilocked(proc);
}
binder_node_inner_unlock(buf_node);
@@ -4940,6 +4954,7 @@ skip:
ptr += trsize;
trace_binder_transaction_received(t);
+ trace_android_vh_binder_transaction_received(t, proc, thread, cmd);
binder_stat_br(proc, thread, cmd);
binder_debug(BINDER_DEBUG_TRANSACTION,
"%d:%d %s %d %d:%d, cmd %u size %zd-%zd ptr %016llx-%016llx\n",
diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c
index c2af4cefe2f6..a705333dc1b3 100644
--- a/drivers/android/vendor_hooks.c
+++ b/drivers/android/vendor_hooks.c
@@ -66,7 +66,8 @@
#include <trace/hooks/psci.h>
#include <trace/hooks/psi.h>
#include <trace/hooks/bl_hib.h>
-
+#include <trace/hooks/regmap.h>
+#include <trace/hooks/compaction.h>
/*
* Export tracepoints that act as a bare tracehook (ie: have no trace event
* associated with them) to allow external modules to probe them.
@@ -84,9 +85,12 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_set_priority);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_restore_priority);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_wakeup_ilocked);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_send_sig_info);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_killed_process);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_start);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_wait_finish);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_init);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_task_blocks_on_rtmutex);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_waiter_prio);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_start);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rtmutex_wait_finish);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mutex_opt_spin_start);
@@ -133,6 +137,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_update_sysfs);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_command);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_compl_command);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cgroup_set_task);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cgroup_force_kthread_migration);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_syscall_prctl_finished);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_uic_command);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_tm_command);
@@ -177,12 +182,14 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_mutex_lock_starttime);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_rtmutex_lock_starttime);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_rwsem_lock_starttime);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_pcpu_rwsem_starttime);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_percpu_rwsem_wq_add);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_module_core_rw_nx);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_module_init_rw_nx);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_module_permit_before_init);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_module_permit_after_init);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_selinux_is_initialized);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_shmem_get_folio);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_record_pcpu_rwsem_time_early);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_mmap_file);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_file_open);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_bpf_syscall);
@@ -291,6 +298,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_thermal_register);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_thermal_unregister);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_get_thermal_zone_device);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_thermal_power_cap);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_enable_thermal_power_throttle);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_reclaim_bypass);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_failure_bypass);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_madvise_pageout_swap_entry);
@@ -307,3 +315,29 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_init_aes_encrypt);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_skip_swap_map_write);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_post_image_save);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_madvise_cold_pageout_skip);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rmqueue_smallest_bypass);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_one_page_bypass);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_regmap_update);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_enable_thermal_genl_check);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_folio_look_around_ref);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_look_around);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_look_around_migrate_folio);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_test_clear_look_around_ref);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_scan_type);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_swappiness);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_signal_whether_wake);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_check);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freeze_whether_wake);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_use_amu_fie);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_scan_abort_check_wmarks);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_oem_binder_struct);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_received);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_oem_binder_struct);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_special_task);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_free_buf);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_compaction_exit);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_compaction_try_to_compact_pages_exit);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_direct_reclaim_enter);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_direct_reclaim_exit);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mm_alloc_pages_may_oom_exit);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_vmscan_kswapd_done);
diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
index 2cdade8aa933..148e24b91cf1 100644
--- a/drivers/base/arch_topology.c
+++ b/drivers/base/arch_topology.c
@@ -34,6 +34,12 @@ static DEFINE_PER_CPU(u32, freq_factor) = 1;
static bool supports_scale_freq_counters(const struct cpumask *cpus)
{
+ bool use_amu_fie = true;
+
+ trace_android_vh_use_amu_fie(&use_amu_fie);
+ if (!use_amu_fie)
+ return false;
+
return cpumask_subset(cpus, &scale_freq_counters_mask);
}
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index c463173f1fb1..1b7378843ceb 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -754,6 +754,29 @@ void wait_for_device_probe(void)
}
EXPORT_SYMBOL_GPL(wait_for_device_probe);
+/**
+ * flush_deferred_probe_now
+ *
+ * This function should be used sparingly. It's meant for when we need to flush
+ * the deferred probe list at earlier initcall levels. Really meant only for KVM
+ * needs. This function should never be exported because it makes no sense for
+ * modules to call this.
+ */
+void flush_deferred_probe_now(void)
+{
+ /*
+ * Really shouldn't using this if deferred probe has already been
+ * enabled
+ */
+ if (WARN_ON(driver_deferred_probe_enable))
+ return;
+
+ driver_deferred_probe_enable = true;
+ driver_deferred_probe_trigger();
+ wait_for_device_probe();
+ driver_deferred_probe_enable = false;
+}
+
static int __driver_probe_device(struct device_driver *drv, struct device *dev)
{
int ret = 0;
diff --git a/drivers/clk/clk-fractional-divider.c b/drivers/clk/clk-fractional-divider.c
index 8efa5142ff8c..cae0ea9fff98 100644
--- a/drivers/clk/clk-fractional-divider.c
+++ b/drivers/clk/clk-fractional-divider.c
@@ -126,6 +126,7 @@ void clk_fractional_divider_general_approximation(struct clk_hw *hw,
GENMASK(fd->mwidth - 1, 0), GENMASK(fd->nwidth - 1, 0),
m, n);
}
+EXPORT_SYMBOL_GPL(clk_fractional_divider_general_approximation);
static long clk_fd_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *parent_rate)
diff --git a/drivers/cpuidle/governors/teo.c b/drivers/cpuidle/governors/teo.c
index 987fc5f3997d..356ffc41d284 100644
--- a/drivers/cpuidle/governors/teo.c
+++ b/drivers/cpuidle/governors/teo.c
@@ -202,6 +202,19 @@ struct teo_cpu {
static DEFINE_PER_CPU(struct teo_cpu, teo_cpus);
+unsigned long teo_cpu_get_util_threshold(int cpu)
+{
+ struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, cpu);
+ return cpu_data->util_threshold;
+}
+EXPORT_SYMBOL_GPL(teo_cpu_get_util_threshold);
+void teo_cpu_set_util_threshold(int cpu, unsigned long util)
+{
+ struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, cpu);
+ cpu_data->util_threshold = util;
+}
+EXPORT_SYMBOL_GPL(teo_cpu_set_util_threshold);
+
/**
* teo_cpu_is_utilized - Check if the CPU's util is above the threshold
* @cpu: Target CPU
diff --git a/drivers/dma-buf/dma-fence-unwrap.c b/drivers/dma-buf/dma-fence-unwrap.c
index 7002bca792ff..c625bb2b5d56 100644
--- a/drivers/dma-buf/dma-fence-unwrap.c
+++ b/drivers/dma-buf/dma-fence-unwrap.c
@@ -66,18 +66,36 @@ struct dma_fence *__dma_fence_unwrap_merge(unsigned int num_fences,
{
struct dma_fence_array *result;
struct dma_fence *tmp, **array;
+ ktime_t timestamp;
unsigned int i;
size_t count;
count = 0;
+ timestamp = ns_to_ktime(0);
for (i = 0; i < num_fences; ++i) {
- dma_fence_unwrap_for_each(tmp, &iter[i], fences[i])
- if (!dma_fence_is_signaled(tmp))
+ dma_fence_unwrap_for_each(tmp, &iter[i], fences[i]) {
+ if (!dma_fence_is_signaled(tmp)) {
++count;
+ } else if (test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT,
+ &tmp->flags)) {
+ if (ktime_after(tmp->timestamp, timestamp))
+ timestamp = tmp->timestamp;
+ } else {
+ /*
+ * Use the current time if the fence is
+ * currently signaling.
+ */
+ timestamp = ktime_get();
+ }
+ }
}
+ /*
+ * If we couldn't find a pending fence just return a private signaled
+ * fence with the timestamp of the last signaled one.
+ */
if (count == 0)
- return dma_fence_get_stub();
+ return dma_fence_allocate_private_stub(timestamp);
array = kmalloc_array(count, sizeof(*array), GFP_KERNEL);
if (!array)
@@ -138,7 +156,7 @@ restart:
} while (tmp);
if (count == 0) {
- tmp = dma_fence_get_stub();
+ tmp = dma_fence_allocate_private_stub(ktime_get());
goto return_tmp;
}
diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
index 0de0482cd36e..eef4786aaf86 100644
--- a/drivers/dma-buf/dma-fence.c
+++ b/drivers/dma-buf/dma-fence.c
@@ -150,16 +150,17 @@ EXPORT_SYMBOL(dma_fence_get_stub);
/**
* dma_fence_allocate_private_stub - return a private, signaled fence
+ * @timestamp: timestamp when the fence was signaled
*
* Return a newly allocated and signaled stub fence.
*/
-struct dma_fence *dma_fence_allocate_private_stub(void)
+struct dma_fence *dma_fence_allocate_private_stub(ktime_t timestamp)
{
struct dma_fence *fence;
fence = kzalloc(sizeof(*fence), GFP_KERNEL);
if (fence == NULL)
- return ERR_PTR(-ENOMEM);
+ return NULL;
dma_fence_init(fence,
&dma_fence_stub_ops,
@@ -169,7 +170,7 @@ struct dma_fence *dma_fence_allocate_private_stub(void)
set_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
&fence->flags);
- dma_fence_signal(fence);
+ dma_fence_signal_timestamp(fence, timestamp);
return fence;
}
diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
index 0c2be8360525..e592c5da70ce 100644
--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -353,10 +353,10 @@ EXPORT_SYMBOL(drm_syncobj_replace_fence);
*/
static int drm_syncobj_assign_null_handle(struct drm_syncobj *syncobj)
{
- struct dma_fence *fence = dma_fence_allocate_private_stub();
+ struct dma_fence *fence = dma_fence_allocate_private_stub(ktime_get());
- if (IS_ERR(fence))
- return PTR_ERR(fence);
+ if (!fence)
+ return -ENOMEM;
drm_syncobj_replace_fence(syncobj, fence);
dma_fence_put(fence);
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index d505603930a7..c9c297af53a7 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -370,6 +370,7 @@ void ttm_tt_unpopulate(struct ttm_device *bdev, struct ttm_tt *ttm)
ttm->page_flags &= ~TTM_TT_FLAG_PRIV_POPULATED;
}
+EXPORT_SYMBOL_GPL(ttm_tt_unpopulate);
#ifdef CONFIG_DEBUG_FS
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index e012a4382ea3..f017b457f222 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -293,7 +293,7 @@ static int hid_add_field(struct hid_parser *parser, unsigned report_type, unsign
offset = report->size;
report->size += parser->global.report_size * parser->global.report_count;
- if (parser->device->ll_driver == &uhid_hid_driver)
+ if (IS_ENABLED(CONFIG_UHID) && parser->device->ll_driver == &uhid_hid_driver)
max_buffer_size = UHID_DATA_MAX;
/* Total size check: Allow for possible report index byte */
@@ -1987,7 +1987,7 @@ int hid_report_raw_event(struct hid_device *hid, enum hid_report_type type, u8 *
rsize = hid_compute_report_size(report);
- if (hid->ll_driver == &uhid_hid_driver)
+ if (IS_ENABLED(CONFIG_UHID) && hid->ll_driver == &uhid_hid_driver)
max_buffer_size = UHID_DATA_MAX;
if (report_enum->numbered && rsize >= max_buffer_size)
@@ -2398,7 +2398,7 @@ int hid_hw_raw_request(struct hid_device *hdev,
{
unsigned int max_buffer_size = HID_MAX_BUFFER_SIZE;
- if (hdev->ll_driver == &uhid_hid_driver)
+ if (IS_ENABLED(CONFIG_UHID) && hdev->ll_driver == &uhid_hid_driver)
max_buffer_size = UHID_DATA_MAX;
if (len < 1 || len > max_buffer_size || !buf)
@@ -2422,7 +2422,7 @@ int hid_hw_output_report(struct hid_device *hdev, __u8 *buf, size_t len)
{
unsigned int max_buffer_size = HID_MAX_BUFFER_SIZE;
- if (hdev->ll_driver == &uhid_hid_driver)
+ if (IS_ENABLED(CONFIG_UHID) && hdev->ll_driver == &uhid_hid_driver)
max_buffer_size = UHID_DATA_MAX;
if (len < 1 || len > max_buffer_size || !buf)
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index e906ee375298..f1d5b7c38abb 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -4299,7 +4299,7 @@ static const struct hid_device_id hidpp_devices[] = {
{ /* wireless touchpad T651 */
HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LOGITECH,
USB_DEVICE_ID_LOGITECH_T651),
- .driver_data = HIDPP_QUIRK_CLASS_WTP },
+ .driver_data = HIDPP_QUIRK_CLASS_WTP | HIDPP_QUIRK_DELAYED_INIT },
{ /* Mouse Logitech Anywhere MX */
LDJ_DEVICE(0x1017), .driver_data = HIDPP_QUIRK_HI_RES_SCROLL_1P0 },
{ /* Mouse logitech M560 */
diff --git a/drivers/hid/hidraw.c b/drivers/hid/hidraw.c
index 197b1e7bf029..b617aada50b0 100644
--- a/drivers/hid/hidraw.c
+++ b/drivers/hid/hidraw.c
@@ -272,7 +272,12 @@ static int hidraw_open(struct inode *inode, struct file *file)
goto out;
}
- down_read(&minors_rwsem);
+ /*
+ * Technically not writing to the hidraw_table but a write lock is
+ * required to protect the device refcount. This is symmetrical to
+ * hidraw_release().
+ */
+ down_write(&minors_rwsem);
if (!hidraw_table[minor] || !hidraw_table[minor]->exist) {
err = -ENODEV;
goto out_unlock;
@@ -301,7 +306,7 @@ static int hidraw_open(struct inode *inode, struct file *file)
spin_unlock_irqrestore(&hidraw_table[minor]->list_lock, flags);
file->private_data = list;
out_unlock:
- up_read(&minors_rwsem);
+ up_write(&minors_rwsem);
out:
if (err < 0)
kfree(list);
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index 20adb9b323d8..d7676008ff57 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -2051,7 +2051,7 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
{
struct io_pgtable_ops *pgtbl_ops;
struct protection_domain *domain;
- int pgtable = amd_iommu_pgtable;
+ int pgtable;
int mode = DEFAULT_PGTABLE_LEVEL;
int ret;
@@ -2068,6 +2068,10 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
mode = PAGE_MODE_NONE;
} else if (type == IOMMU_DOMAIN_UNMANAGED) {
pgtable = AMD_IOMMU_V1;
+ } else if (type == IOMMU_DOMAIN_DMA || type == IOMMU_DOMAIN_DMA_FQ) {
+ pgtable = amd_iommu_pgtable;
+ } else {
+ return NULL;
}
switch (pgtable) {
diff --git a/drivers/iommu/amd/iommu_v2.c b/drivers/iommu/amd/iommu_v2.c
index 9f7fab49a5a9..75355ddca657 100644
--- a/drivers/iommu/amd/iommu_v2.c
+++ b/drivers/iommu/amd/iommu_v2.c
@@ -485,8 +485,8 @@ static void do_fault(struct work_struct *work)
flags |= FAULT_FLAG_REMOTE;
mmap_read_lock(mm);
- vma = find_extend_vma(mm, address);
- if (!vma || address < vma->vm_start)
+ vma = vma_lookup(mm, address);
+ if (!vma)
/* failed to get a vma in the right range */
goto out;
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index c9bdec523454..89c2c55aa690 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -23,6 +23,7 @@
#include <linux/memremap.h>
#include <linux/mm.h>
#include <linux/mutex.h>
+#include <linux/of_iommu.h>
#include <linux/pci.h>
#include <linux/scatterlist.h>
#include <linux/spinlock.h>
@@ -392,6 +393,8 @@ void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list)
if (!is_of_node(dev_iommu_fwspec_get(dev)->iommu_fwnode))
iort_iommu_get_resv_regions(dev, list);
+ if (dev->of_node)
+ of_iommu_get_resv_regions(dev, list);
}
EXPORT_SYMBOL(iommu_dma_get_resv_regions);
diff --git a/drivers/iommu/iommu-sva.c b/drivers/iommu/iommu-sva.c
index 24bf9b2b58aa..ed5f11eb92e5 100644
--- a/drivers/iommu/iommu-sva.c
+++ b/drivers/iommu/iommu-sva.c
@@ -203,7 +203,7 @@ iommu_sva_handle_iopf(struct iommu_fault *fault, void *data)
mmap_read_lock(mm);
- vma = find_extend_vma(mm, prm->addr);
+ vma = vma_lookup(mm, prm->addr);
if (!vma)
/* Unmapped area */
goto out_put_mm;
diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c
index 5696314ae69e..da271c5596fb 100644
--- a/drivers/iommu/of_iommu.c
+++ b/drivers/iommu/of_iommu.c
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <linux/msi.h>
#include <linux/of.h>
+#include <linux/of_address.h>
#include <linux/of_iommu.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
@@ -172,3 +173,98 @@ const struct iommu_ops *of_iommu_configure(struct device *dev,
return ops;
}
+
+static enum iommu_resv_type __maybe_unused
+iommu_resv_region_get_type(struct device *dev,
+ struct resource *phys,
+ phys_addr_t start, size_t length)
+{
+ phys_addr_t end = start + length - 1;
+
+ /*
+ * IOMMU regions without an associated physical region cannot be
+ * mapped and are simply reservations.
+ */
+ if (phys->start >= phys->end)
+ return IOMMU_RESV_RESERVED;
+
+ /* may be IOMMU_RESV_DIRECT_RELAXABLE for certain cases */
+ if (start == phys->start && end == phys->end)
+ return IOMMU_RESV_DIRECT;
+
+ dev_warn(dev, "treating non-direct mapping [%pr] -> [%pap-%pap] as reservation\n", &phys,
+ &start, &end);
+ return IOMMU_RESV_RESERVED;
+}
+
+/**
+ * of_iommu_get_resv_regions - reserved region driver helper for device tree
+ * @dev: device for which to get reserved regions
+ * @list: reserved region list
+ *
+ * IOMMU drivers can use this to implement their .get_resv_regions() callback
+ * for memory regions attached to a device tree node. See the reserved-memory
+ * device tree bindings on how to use these:
+ *
+ * Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
+ */
+void of_iommu_get_resv_regions(struct device *dev, struct list_head *list)
+{
+#if IS_ENABLED(CONFIG_OF_ADDRESS)
+ struct of_phandle_iterator it;
+ int err;
+
+ of_for_each_phandle(&it, err, dev->of_node, "memory-region", NULL, 0) {
+ const __be32 *maps, *end;
+ struct resource phys;
+ int size;
+
+ memset(&phys, 0, sizeof(phys));
+
+ /*
+ * The "reg" property is optional and can be omitted by reserved-memory regions
+ * that represent reservations in the IOVA space, which are regions that should
+ * not be mapped.
+ */
+ if (of_find_property(it.node, "reg", NULL)) {
+ err = of_address_to_resource(it.node, 0, &phys);
+ if (err < 0) {
+ dev_err(dev, "failed to parse memory region %pOF: %d\n",
+ it.node, err);
+ continue;
+ }
+ }
+
+ maps = of_get_property(it.node, "iommu-addresses", &size);
+ if (!maps)
+ continue;
+
+ end = maps + size / sizeof(__be32);
+
+ while (maps < end) {
+ struct device_node *np;
+ u32 phandle;
+
+ phandle = be32_to_cpup(maps++);
+ np = of_find_node_by_phandle(phandle);
+
+ if (np == dev->of_node) {
+ int prot = IOMMU_READ | IOMMU_WRITE;
+ struct iommu_resv_region *region;
+ enum iommu_resv_type type;
+ phys_addr_t iova;
+ size_t length;
+
+ maps = of_translate_dma_region(np, maps, &iova, &length);
+ type = iommu_resv_region_get_type(dev, &phys, iova, length);
+
+ region = iommu_alloc_resv_region(iova, length, prot, type,
+ GFP_KERNEL);
+ if (region)
+ list_add_tail(&region->list, list);
+ }
+ }
+ }
+#endif
+}
+EXPORT_SYMBOL(of_iommu_get_resv_regions);
diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c
index 1684d19d46fb..a9d3d0e45d28 100644
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -50,6 +50,8 @@ struct redist_region {
static struct gic_chip_data_v3 gic_data __read_mostly;
static DEFINE_STATIC_KEY_TRUE(supports_deactivate_key);
+static DEFINE_STATIC_KEY_FALSE(gic_arm64_2941627_erratum);
+
#define GIC_ID_NR (1U << GICD_TYPER_ID_BITS(gic_data.rdists.gicd_typer))
#define GIC_LINE_NR min(GICD_TYPER_SPIS(gic_data.rdists.gicd_typer), 1020U)
#define GIC_ESPI_NR GICD_TYPER_ESPIS(gic_data.rdists.gicd_typer)
@@ -547,10 +549,39 @@ static void gic_irq_nmi_teardown(struct irq_data *d)
gic_irq_set_prio(d, GICD_INT_DEF_PRI);
}
+static bool gic_arm64_erratum_2941627_needed(struct irq_data *d)
+{
+ enum gic_intid_range range;
+
+ if (!static_branch_unlikely(&gic_arm64_2941627_erratum))
+ return false;
+
+ range = get_intid_range(d);
+
+ /*
+ * The workaround is needed if the IRQ is an SPI and
+ * the target cpu is different from the one we are
+ * executing on.
+ */
+ return (range == SPI_RANGE || range == ESPI_RANGE) &&
+ !cpumask_test_cpu(raw_smp_processor_id(),
+ irq_data_get_effective_affinity_mask(d));
+}
+
static void gic_eoi_irq(struct irq_data *d)
{
write_gicreg(gic_irq(d), ICC_EOIR1_EL1);
isb();
+
+ if (gic_arm64_erratum_2941627_needed(d)) {
+ /*
+ * Make sure the GIC stream deactivate packet
+ * issued by ICC_EOIR1_EL1 has completed before
+ * deactivating through GICD_IACTIVER.
+ */
+ dsb(sy);
+ gic_poke_irq(d, GICD_ICACTIVER);
+ }
}
static void gic_eoimode1_eoi_irq(struct irq_data *d)
@@ -561,7 +592,11 @@ static void gic_eoimode1_eoi_irq(struct irq_data *d)
*/
if (gic_irq(d) >= 8192 || irqd_is_forwarded_to_vcpu(d))
return;
- gic_write_dir(gic_irq(d));
+
+ if (!gic_arm64_erratum_2941627_needed(d))
+ gic_write_dir(gic_irq(d));
+ else
+ gic_poke_irq(d, GICD_ICACTIVER);
}
static int gic_set_type(struct irq_data *d, unsigned int type)
@@ -1747,6 +1782,12 @@ static bool gic_enable_quirk_hip06_07(void *data)
return false;
}
+static bool gic_enable_quirk_arm64_2941627(void *data)
+{
+ static_branch_enable(&gic_arm64_2941627_erratum);
+ return true;
+}
+
static const struct gic_quirk gic_quirks[] = {
{
.desc = "GICv3: Qualcomm MSM8996 broken firmware",
@@ -1779,6 +1820,25 @@ static const struct gic_quirk gic_quirks[] = {
.init = gic_enable_quirk_cavium_38539,
},
{
+ /*
+ * GIC-700: 2941627 workaround - IP variant [0,1]
+ *
+ */
+ .desc = "GICv3: ARM64 erratum 2941627",
+ .iidr = 0x0400043b,
+ .mask = 0xff0e0fff,
+ .init = gic_enable_quirk_arm64_2941627,
+ },
+ {
+ /*
+ * GIC-700: 2941627 workaround - IP variant [2]
+ */
+ .desc = "GICv3: ARM64 erratum 2941627",
+ .iidr = 0x0402043b,
+ .mask = 0xff0f0fff,
+ .init = gic_enable_quirk_arm64_2941627,
+ },
+ {
}
};
diff --git a/drivers/mailbox/gunyah-msgq.c b/drivers/mailbox/gunyah-msgq.c
index b7a54f233680..7f777339278e 100644
--- a/drivers/mailbox/gunyah-msgq.c
+++ b/drivers/mailbox/gunyah-msgq.c
@@ -96,8 +96,9 @@ static int gh_msgq_send_data(struct mbox_chan *chan, void *data)
if (gh_error == GH_ERROR_OK) {
if (!ready)
return 0;
- } else
+ } else {
dev_err(msgq->mbox.dev, "Failed to send data: %d (%d)\n", gh_error, msgq->last_ret);
+ }
/**
* We can send more messages. Mailbox framework requires that tx done
@@ -165,6 +166,8 @@ int gh_msgq_init(struct device *parent, struct gh_msgq *msgq, struct mbox_client
if (ret)
goto err_tx_ghrsc;
+ enable_irq_wake(msgq->tx_ghrsc->irq);
+
tasklet_setup(&msgq->txdone_tasklet, gh_msgq_txdone_tasklet);
}
@@ -175,6 +178,8 @@ int gh_msgq_init(struct device *parent, struct gh_msgq *msgq, struct mbox_client
IRQF_ONESHOT, "gh_msgq_rx", msgq);
if (ret)
goto err_tx_irq;
+
+ enable_irq_wake(msgq->rx_ghrsc->irq);
}
return 0;
@@ -193,6 +198,8 @@ EXPORT_SYMBOL_GPL(gh_msgq_init);
void gh_msgq_remove(struct gh_msgq *msgq)
{
+ mbox_free_channel(gh_msgq_chan(msgq));
+
if (msgq->rx_ghrsc)
free_irq(msgq->rx_ghrsc->irq, msgq);
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index c41a7e5c2b92..fce0e2094078 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -293,14 +293,22 @@ static int dvb_frontend_get_event(struct dvb_frontend *fe,
}
if (events->eventw == events->eventr) {
- int ret;
+ struct wait_queue_entry wait;
+ int ret = 0;
if (flags & O_NONBLOCK)
return -EWOULDBLOCK;
- ret = wait_event_interruptible(events->wait_queue,
- dvb_frontend_test_event(fepriv, events));
-
+ init_waitqueue_entry(&wait, current);
+ add_wait_queue(&events->wait_queue, &wait);
+ while (!dvb_frontend_test_event(fepriv, events)) {
+ wait_woken(&wait, TASK_INTERRUPTIBLE, 0);
+ if (signal_pending(current)) {
+ ret = -ERESTARTSYS;
+ break;
+ }
+ }
+ remove_wait_queue(&events->wait_queue, &wait);
if (ret < 0)
return ret;
}
diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 6f443c542c6d..640737d3b8ae 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -179,7 +179,8 @@ static void smsusb_stop_streaming(struct smsusb_device_t *dev)
for (i = 0; i < MAX_URBS; i++) {
usb_kill_urb(&dev->surbs[i].urb);
- cancel_work_sync(&dev->surbs[i].wq);
+ if (dev->surbs[i].wq.func)
+ cancel_work_sync(&dev->surbs[i].wq);
if (dev->surbs[i].cb) {
smscore_putbuffer(dev->coredev, dev->surbs[i].cb);
diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
index 40f56e044640..3c5ab5ecd678 100644
--- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -252,12 +252,16 @@ const struct v4l2_format_info *v4l2_format_info(u32 format)
{ .format = V4L2_PIX_FMT_RGB565, .pixel_enc = V4L2_PIXEL_ENC_RGB, .mem_planes = 1, .comp_planes = 1, .bpp = { 2, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_RGB555, .pixel_enc = V4L2_PIXEL_ENC_RGB, .mem_planes = 1, .comp_planes = 1, .bpp = { 2, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_BGR666, .pixel_enc = V4L2_PIXEL_ENC_RGB, .mem_planes = 1, .comp_planes = 1, .bpp = { 4, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_BGR48_12, .pixel_enc = V4L2_PIXEL_ENC_RGB, .mem_planes = 1, .comp_planes = 1, .bpp = { 6, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_ABGR64_12, .pixel_enc = V4L2_PIXEL_ENC_RGB, .mem_planes = 1, .comp_planes = 1, .bpp = { 8, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
/* YUV packed formats */
{ .format = V4L2_PIX_FMT_YUYV, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 1, .bpp = { 2, 0, 0, 0 }, .hdiv = 2, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_YVYU, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 1, .bpp = { 2, 0, 0, 0 }, .hdiv = 2, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_UYVY, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 1, .bpp = { 2, 0, 0, 0 }, .hdiv = 2, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_VYUY, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 1, .bpp = { 2, 0, 0, 0 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_Y212, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 1, .bpp = { 4, 0, 0, 0 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_YUV48_12, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 1, .bpp = { 6, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
/* YUV planar formats */
{ .format = V4L2_PIX_FMT_NV12, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 2, .vdiv = 2 },
@@ -267,6 +271,7 @@ const struct v4l2_format_info *v4l2_format_info(u32 format)
{ .format = V4L2_PIX_FMT_NV24, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_NV42, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_P010, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 2, 2, 0, 0 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_P012, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 2, 4, 0, 0 }, .hdiv = 2, .vdiv = 2 },
{ .format = V4L2_PIX_FMT_YUV410, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .hdiv = 4, .vdiv = 4 },
{ .format = V4L2_PIX_FMT_YVU410, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .hdiv = 4, .vdiv = 4 },
@@ -292,6 +297,7 @@ const struct v4l2_format_info *v4l2_format_info(u32 format)
{ .format = V4L2_PIX_FMT_NV21M, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 2, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 2, .vdiv = 2 },
{ .format = V4L2_PIX_FMT_NV16M, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 2, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 2, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_NV61M, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 2, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_P012M, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 2, .comp_planes = 2, .bpp = { 2, 4, 0, 0 }, .hdiv = 2, .vdiv = 2 },
/* Bayer RGB formats */
{ .format = V4L2_PIX_FMT_SBGGR8, .pixel_enc = V4L2_PIXEL_ENC_BAYER, .mem_planes = 1, .comp_planes = 1, .bpp = { 1, 0, 0, 0 }, .hdiv = 1, .vdiv = 1 },
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index 91ae25e092e2..3a4785b3b59a 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1304,11 +1304,14 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_BGRX32: descr = "32-bit XBGR 8-8-8-8"; break;
case V4L2_PIX_FMT_RGBA32: descr = "32-bit RGBA 8-8-8-8"; break;
case V4L2_PIX_FMT_RGBX32: descr = "32-bit RGBX 8-8-8-8"; break;
+ case V4L2_PIX_FMT_BGR48_12: descr = "12-bit Depth BGR"; break;
+ case V4L2_PIX_FMT_ABGR64_12: descr = "12-bit Depth BGRA"; break;
case V4L2_PIX_FMT_GREY: descr = "8-bit Greyscale"; break;
case V4L2_PIX_FMT_Y4: descr = "4-bit Greyscale"; break;
case V4L2_PIX_FMT_Y6: descr = "6-bit Greyscale"; break;
case V4L2_PIX_FMT_Y10: descr = "10-bit Greyscale"; break;
case V4L2_PIX_FMT_Y12: descr = "12-bit Greyscale"; break;
+ case V4L2_PIX_FMT_Y012: descr = "12-bit Greyscale (bits 15-4)"; break;
case V4L2_PIX_FMT_Y14: descr = "14-bit Greyscale"; break;
case V4L2_PIX_FMT_Y16: descr = "16-bit Greyscale"; break;
case V4L2_PIX_FMT_Y16_BE: descr = "16-bit Greyscale BE"; break;
@@ -1347,6 +1350,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_YUV420: descr = "Planar YUV 4:2:0"; break;
case V4L2_PIX_FMT_HI240: descr = "8-bit Dithered RGB (BTTV)"; break;
case V4L2_PIX_FMT_M420: descr = "YUV 4:2:0 (M420)"; break;
+ case V4L2_PIX_FMT_YUV48_12: descr = "12-bit YUV 4:4:4 Packed"; break;
case V4L2_PIX_FMT_NV12: descr = "Y/UV 4:2:0"; break;
case V4L2_PIX_FMT_NV21: descr = "Y/VU 4:2:0"; break;
case V4L2_PIX_FMT_NV16: descr = "Y/UV 4:2:2"; break;
@@ -1354,6 +1358,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_NV24: descr = "Y/UV 4:4:4"; break;
case V4L2_PIX_FMT_NV42: descr = "Y/VU 4:4:4"; break;
case V4L2_PIX_FMT_P010: descr = "10-bit Y/UV 4:2:0"; break;
+ case V4L2_PIX_FMT_P012: descr = "12-bit Y/UV 4:2:0"; break;
case V4L2_PIX_FMT_NV12_4L4: descr = "Y/UV 4:2:0 (4x4 Linear)"; break;
case V4L2_PIX_FMT_NV12_16L16: descr = "Y/UV 4:2:0 (16x16 Linear)"; break;
case V4L2_PIX_FMT_NV12_32L32: descr = "Y/UV 4:2:0 (32x32 Linear)"; break;
@@ -1364,6 +1369,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_NV61M: descr = "Y/VU 4:2:2 (N-C)"; break;
case V4L2_PIX_FMT_NV12MT: descr = "Y/UV 4:2:0 (64x32 MB, N-C)"; break;
case V4L2_PIX_FMT_NV12MT_16X16: descr = "Y/UV 4:2:0 (16x16 MB, N-C)"; break;
+ case V4L2_PIX_FMT_P012M: descr = "12-bit Y/UV 4:2:0 (N-C)"; break;
case V4L2_PIX_FMT_YUV420M: descr = "Planar YUV 4:2:0 (N-C)"; break;
case V4L2_PIX_FMT_YVU420M: descr = "Planar YVU 4:2:0 (N-C)"; break;
case V4L2_PIX_FMT_YUV422M: descr = "Planar YUV 4:2:2 (N-C)"; break;
@@ -1448,6 +1454,9 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_NV12M_8L128: descr = "NV12M (8x128 Linear)"; break;
case V4L2_PIX_FMT_NV12_10BE_8L128: descr = "10-bit NV12 (8x128 Linear, BE)"; break;
case V4L2_PIX_FMT_NV12M_10BE_8L128: descr = "10-bit NV12M (8x128 Linear, BE)"; break;
+ case V4L2_PIX_FMT_Y210: descr = "10-bit YUYV Packed"; break;
+ case V4L2_PIX_FMT_Y212: descr = "12-bit YUYV Packed"; break;
+ case V4L2_PIX_FMT_Y216: descr = "16-bit YUYV Packed"; break;
default:
/* Compressed formats */
diff --git a/drivers/memstick/host/r592.c b/drivers/memstick/host/r592.c
index 1d35d147552d..42bfc46842b8 100644
--- a/drivers/memstick/host/r592.c
+++ b/drivers/memstick/host/r592.c
@@ -829,7 +829,7 @@ static void r592_remove(struct pci_dev *pdev)
/* Stop the processing thread.
That ensures that we won't take any more requests */
kthread_stop(dev->io_thread);
-
+ del_timer_sync(&dev->detect_timer);
r592_enable_device(dev, false);
while (!error && dev->req) {
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
index bdb2ce7ff03b..0871c97ae51a 100644
--- a/drivers/mfd/syscon.c
+++ b/drivers/mfd/syscon.c
@@ -22,6 +22,7 @@
#include <linux/regmap.h>
#include <linux/mfd/syscon.h>
#include <linux/slab.h>
+#include <trace/hooks/regmap.h>
static struct platform_driver syscon_driver;
@@ -128,6 +129,7 @@ static struct syscon *of_syscon_register(struct device_node *np, bool check_clk)
}
}
+ trace_android_vh_regmap_update(&syscon_config, regmap);
syscon->regmap = regmap;
syscon->np = np;
diff --git a/drivers/misc/uid_sys_stats.c b/drivers/misc/uid_sys_stats.c
index 36a34b1461cf..095962102ac7 100644
--- a/drivers/misc/uid_sys_stats.c
+++ b/drivers/misc/uid_sys_stats.c
@@ -19,20 +19,24 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/list.h>
+#include <linux/llist.h>
#include <linux/mm.h>
#include <linux/proc_fs.h>
#include <linux/profile.h>
-#include <linux/rtmutex.h>
#include <linux/sched/cputime.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
-
+#include <linux/spinlock_types.h>
#define UID_HASH_BITS 10
+#define UID_HASH_NUMS (1 << UID_HASH_BITS)
DECLARE_HASHTABLE(hash_table, UID_HASH_BITS);
+/*
+ * uid_lock[bkt] ensure consistency of hash_table[bkt]
+ */
+spinlock_t uid_lock[UID_HASH_NUMS];
-static DEFINE_RT_MUTEX(uid_lock);
static struct proc_dir_entry *cpu_parent;
static struct proc_dir_entry *io_parent;
static struct proc_dir_entry *proc_parent;
@@ -77,6 +81,32 @@ struct uid_entry {
#endif
};
+static inline int trylock_uid(uid_t uid)
+{
+ return spin_trylock(
+ &uid_lock[hash_min(uid, HASH_BITS(hash_table))]);
+}
+
+static inline void lock_uid(uid_t uid)
+{
+ spin_lock(&uid_lock[hash_min(uid, HASH_BITS(hash_table))]);
+}
+
+static inline void unlock_uid(uid_t uid)
+{
+ spin_unlock(&uid_lock[hash_min(uid, HASH_BITS(hash_table))]);
+}
+
+static inline void lock_uid_by_bkt(u32 bkt)
+{
+ spin_lock(&uid_lock[bkt]);
+}
+
+static inline void unlock_uid_by_bkt(u32 bkt)
+{
+ spin_unlock(&uid_lock[bkt]);
+}
+
static u64 compute_write_bytes(struct task_io_accounting *ioac)
{
if (ioac->write_bytes <= ioac->cancelled_write_bytes)
@@ -332,24 +362,29 @@ static int uid_cputime_show(struct seq_file *m, void *v)
struct user_namespace *user_ns = current_user_ns();
u64 utime;
u64 stime;
- unsigned long bkt;
+ u32 bkt;
uid_t uid;
- rt_mutex_lock(&uid_lock);
-
- hash_for_each(hash_table, bkt, uid_entry, hash) {
- uid_entry->active_stime = 0;
- uid_entry->active_utime = 0;
+ for (bkt = 0, uid_entry = NULL; uid_entry == NULL &&
+ bkt < HASH_SIZE(hash_table); bkt++) {
+ lock_uid_by_bkt(bkt);
+ hlist_for_each_entry(uid_entry, &hash_table[bkt], hash) {
+ uid_entry->active_stime = 0;
+ uid_entry->active_utime = 0;
+ }
+ unlock_uid_by_bkt(bkt);
}
rcu_read_lock();
do_each_thread(temp, task) {
uid = from_kuid_munged(user_ns, task_uid(task));
+ lock_uid(uid);
+
if (!uid_entry || uid_entry->uid != uid)
uid_entry = find_or_register_uid(uid);
if (!uid_entry) {
rcu_read_unlock();
- rt_mutex_unlock(&uid_lock);
+ unlock_uid(uid);
pr_err("%s: failed to find the uid_entry for uid %d\n",
__func__, uid);
return -ENOMEM;
@@ -360,19 +395,24 @@ static int uid_cputime_show(struct seq_file *m, void *v)
uid_entry->active_utime += utime;
uid_entry->active_stime += stime;
}
+ unlock_uid(uid);
} while_each_thread(temp, task);
rcu_read_unlock();
- hash_for_each(hash_table, bkt, uid_entry, hash) {
- u64 total_utime = uid_entry->utime +
- uid_entry->active_utime;
- u64 total_stime = uid_entry->stime +
- uid_entry->active_stime;
- seq_printf(m, "%d: %llu %llu\n", uid_entry->uid,
- ktime_to_us(total_utime), ktime_to_us(total_stime));
+ for (bkt = 0, uid_entry = NULL; uid_entry == NULL &&
+ bkt < HASH_SIZE(hash_table); bkt++) {
+ lock_uid_by_bkt(bkt);
+ hlist_for_each_entry(uid_entry, &hash_table[bkt], hash) {
+ u64 total_utime = uid_entry->utime +
+ uid_entry->active_utime;
+ u64 total_stime = uid_entry->stime +
+ uid_entry->active_stime;
+ seq_printf(m, "%d: %llu %llu\n", uid_entry->uid,
+ ktime_to_us(total_utime), ktime_to_us(total_stime));
+ }
+ unlock_uid_by_bkt(bkt);
}
- rt_mutex_unlock(&uid_lock);
return 0;
}
@@ -420,9 +460,8 @@ static ssize_t uid_remove_write(struct file *file,
return -EINVAL;
}
- rt_mutex_lock(&uid_lock);
-
for (; uid_start <= uid_end; uid_start++) {
+ lock_uid(uid_start);
hash_for_each_possible_safe(hash_table, uid_entry, tmp,
hash, (uid_t)uid_start) {
if (uid_start == uid_entry->uid) {
@@ -431,9 +470,9 @@ static ssize_t uid_remove_write(struct file *file,
kfree(uid_entry);
}
}
+ unlock_uid(uid_start);
}
- rt_mutex_unlock(&uid_lock);
return count;
}
@@ -471,41 +510,59 @@ static void add_uid_io_stats(struct uid_entry *uid_entry,
__add_uid_io_stats(uid_entry, &task->ioac, slot);
}
-static void update_io_stats_all_locked(void)
+static void update_io_stats_all(void)
{
struct uid_entry *uid_entry = NULL;
struct task_struct *task, *temp;
struct user_namespace *user_ns = current_user_ns();
- unsigned long bkt;
+ u32 bkt;
uid_t uid;
- hash_for_each(hash_table, bkt, uid_entry, hash) {
- memset(&uid_entry->io[UID_STATE_TOTAL_CURR], 0,
- sizeof(struct io_stats));
- set_io_uid_tasks_zero(uid_entry);
+ for (bkt = 0, uid_entry = NULL; uid_entry == NULL && bkt < HASH_SIZE(hash_table);
+ bkt++) {
+ lock_uid_by_bkt(bkt);
+ hlist_for_each_entry(uid_entry, &hash_table[bkt], hash) {
+ memset(&uid_entry->io[UID_STATE_TOTAL_CURR], 0,
+ sizeof(struct io_stats));
+ set_io_uid_tasks_zero(uid_entry);
+ }
+ unlock_uid_by_bkt(bkt);
}
rcu_read_lock();
do_each_thread(temp, task) {
uid = from_kuid_munged(user_ns, task_uid(task));
+ lock_uid(uid);
if (!uid_entry || uid_entry->uid != uid)
uid_entry = find_or_register_uid(uid);
- if (!uid_entry)
+ if (!uid_entry) {
+ unlock_uid(uid);
continue;
+ }
add_uid_io_stats(uid_entry, task, UID_STATE_TOTAL_CURR);
+ unlock_uid(uid);
} while_each_thread(temp, task);
rcu_read_unlock();
- hash_for_each(hash_table, bkt, uid_entry, hash) {
- compute_io_bucket_stats(&uid_entry->io[uid_entry->state],
- &uid_entry->io[UID_STATE_TOTAL_CURR],
- &uid_entry->io[UID_STATE_TOTAL_LAST],
- &uid_entry->io[UID_STATE_DEAD_TASKS]);
- compute_io_uid_tasks(uid_entry);
+ for (bkt = 0, uid_entry = NULL; uid_entry == NULL && bkt < HASH_SIZE(hash_table);
+ bkt++) {
+ lock_uid_by_bkt(bkt);
+ hlist_for_each_entry(uid_entry, &hash_table[bkt], hash) {
+ compute_io_bucket_stats(&uid_entry->io[uid_entry->state],
+ &uid_entry->io[UID_STATE_TOTAL_CURR],
+ &uid_entry->io[UID_STATE_TOTAL_LAST],
+ &uid_entry->io[UID_STATE_DEAD_TASKS]);
+ compute_io_uid_tasks(uid_entry);
+ }
+ unlock_uid_by_bkt(bkt);
}
}
+#ifndef CONFIG_UID_SYS_STATS_DEBUG
+static void update_io_stats_uid(struct uid_entry *uid_entry)
+#else
static void update_io_stats_uid_locked(struct uid_entry *uid_entry)
+#endif
{
struct task_struct *task, *temp;
struct user_namespace *user_ns = current_user_ns();
@@ -533,14 +590,15 @@ static void update_io_stats_uid_locked(struct uid_entry *uid_entry)
static int uid_io_show(struct seq_file *m, void *v)
{
struct uid_entry *uid_entry;
- unsigned long bkt;
-
- rt_mutex_lock(&uid_lock);
+ u32 bkt;
- update_io_stats_all_locked();
+ update_io_stats_all();
+ for (bkt = 0, uid_entry = NULL; uid_entry == NULL && bkt < HASH_SIZE(hash_table);
+ bkt++) {
- hash_for_each(hash_table, bkt, uid_entry, hash) {
- seq_printf(m, "%d %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
+ lock_uid_by_bkt(bkt);
+ hlist_for_each_entry(uid_entry, &hash_table[bkt], hash) {
+ seq_printf(m, "%d %llu %llu %llu %llu %llu %llu %llu %llu %llu %llu\n",
uid_entry->uid,
uid_entry->io[UID_STATE_FOREGROUND].rchar,
uid_entry->io[UID_STATE_FOREGROUND].wchar,
@@ -553,10 +611,11 @@ static int uid_io_show(struct seq_file *m, void *v)
uid_entry->io[UID_STATE_FOREGROUND].fsync,
uid_entry->io[UID_STATE_BACKGROUND].fsync);
- show_io_uid_tasks(m, uid_entry);
+ show_io_uid_tasks(m, uid_entry);
+ }
+ unlock_uid_by_bkt(bkt);
}
- rt_mutex_unlock(&uid_lock);
return 0;
}
@@ -584,6 +643,9 @@ static ssize_t uid_procstat_write(struct file *file,
uid_t uid;
int argc, state;
char input[128];
+#ifndef CONFIG_UID_SYS_STATS_DEBUG
+ struct uid_entry uid_entry_tmp;
+#endif
if (count >= sizeof(input))
return -EINVAL;
@@ -600,24 +662,51 @@ static ssize_t uid_procstat_write(struct file *file,
if (state != UID_STATE_BACKGROUND && state != UID_STATE_FOREGROUND)
return -EINVAL;
- rt_mutex_lock(&uid_lock);
-
+ lock_uid(uid);
uid_entry = find_or_register_uid(uid);
if (!uid_entry) {
- rt_mutex_unlock(&uid_lock);
+ unlock_uid(uid);
return -EINVAL;
}
if (uid_entry->state == state) {
- rt_mutex_unlock(&uid_lock);
+ unlock_uid(uid);
return count;
}
+#ifndef CONFIG_UID_SYS_STATS_DEBUG
+ /*
+ * Update_io_stats_uid_locked would take a long lock-time of uid_lock
+ * due to call do_each_thread to compute uid_entry->io, which would
+ * cause to lock competition sometime.
+ *
+ * Using uid_entry_tmp to get the result of Update_io_stats_uid,
+ * so that we can unlock_uid during update_io_stats_uid, in order
+ * to avoid the unnecessary lock-time of uid_lock.
+ */
+ uid_entry_tmp.uid = uid_entry->uid;
+ memcpy(uid_entry_tmp.io, uid_entry->io,
+ sizeof(struct io_stats) * UID_STATE_SIZE);
+ unlock_uid(uid);
+ update_io_stats_uid(&uid_entry_tmp);
+
+ lock_uid(uid);
+ hlist_for_each_entry(uid_entry, &hash_table[hash_min(uid, HASH_BITS(hash_table))], hash) {
+ if (uid_entry->uid == uid_entry_tmp.uid) {
+ memcpy(uid_entry->io, uid_entry_tmp.io,
+ sizeof(struct io_stats) * UID_STATE_SIZE);
+ uid_entry->state = state;
+ break;
+ }
+ }
+ unlock_uid(uid);
+#else
update_io_stats_uid_locked(uid_entry);
uid_entry->state = state;
- rt_mutex_unlock(&uid_lock);
+ unlock_uid(uid);
+#endif
return count;
}
@@ -629,7 +718,6 @@ static const struct proc_ops uid_procstat_fops = {
};
struct update_stats_work {
- struct work_struct work;
uid_t uid;
#ifdef CONFIG_UID_SYS_STATS_DEBUG
struct task_struct *task;
@@ -637,38 +725,46 @@ struct update_stats_work {
struct task_io_accounting ioac;
u64 utime;
u64 stime;
+ struct llist_node node;
};
+static LLIST_HEAD(work_usw);
+
static void update_stats_workfn(struct work_struct *work)
{
- struct update_stats_work *usw =
- container_of(work, struct update_stats_work, work);
+ struct update_stats_work *usw, *t;
struct uid_entry *uid_entry;
struct task_entry *task_entry __maybe_unused;
+ struct llist_node *node;
- rt_mutex_lock(&uid_lock);
- uid_entry = find_uid_entry(usw->uid);
- if (!uid_entry)
- goto exit;
+ node = llist_del_all(&work_usw);
+ llist_for_each_entry_safe(usw, t, node, node) {
+ lock_uid(usw->uid);
+ uid_entry = find_uid_entry(usw->uid);
+ if (!uid_entry)
+ goto next;
- uid_entry->utime += usw->utime;
- uid_entry->stime += usw->stime;
+ uid_entry->utime += usw->utime;
+ uid_entry->stime += usw->stime;
#ifdef CONFIG_UID_SYS_STATS_DEBUG
- task_entry = find_task_entry(uid_entry, usw->task);
- if (!task_entry)
- goto exit;
- add_uid_tasks_io_stats(task_entry, &usw->ioac,
- UID_STATE_DEAD_TASKS);
+ task_entry = find_task_entry(uid_entry, usw->task);
+ if (!task_entry)
+ goto next;
+ add_uid_tasks_io_stats(task_entry, &usw->ioac,
+ UID_STATE_DEAD_TASKS);
#endif
- __add_uid_io_stats(uid_entry, &usw->ioac, UID_STATE_DEAD_TASKS);
-exit:
- rt_mutex_unlock(&uid_lock);
+ __add_uid_io_stats(uid_entry, &usw->ioac, UID_STATE_DEAD_TASKS);
+next:
+ unlock_uid(usw->uid);
#ifdef CONFIG_UID_SYS_STATS_DEBUG
- put_task_struct(usw->task);
+ put_task_struct(usw->task);
#endif
- kfree(usw);
+ kfree(usw);
+ }
+
}
+static DECLARE_WORK(update_stats_work, update_stats_workfn);
static int process_notifier(struct notifier_block *self,
unsigned long cmd, void *v)
@@ -682,12 +778,11 @@ static int process_notifier(struct notifier_block *self,
return NOTIFY_OK;
uid = from_kuid_munged(current_user_ns(), task_uid(task));
- if (!rt_mutex_trylock(&uid_lock)) {
+ if (!trylock_uid(uid)) {
struct update_stats_work *usw;
usw = kmalloc(sizeof(struct update_stats_work), GFP_KERNEL);
if (usw) {
- INIT_WORK(&usw->work, update_stats_workfn);
usw->uid = uid;
#ifdef CONFIG_UID_SYS_STATS_DEBUG
usw->task = get_task_struct(task);
@@ -698,7 +793,8 @@ static int process_notifier(struct notifier_block *self,
*/
usw->ioac = task->ioac;
task_cputime_adjusted(task, &usw->utime, &usw->stime);
- schedule_work(&usw->work);
+ llist_add(&usw->node, &work_usw);
+ schedule_work(&update_stats_work);
}
return NOTIFY_OK;
}
@@ -716,7 +812,7 @@ static int process_notifier(struct notifier_block *self,
add_uid_io_stats(uid_entry, task, UID_STATE_DEAD_TASKS);
exit:
- rt_mutex_unlock(&uid_lock);
+ unlock_uid(uid);
return NOTIFY_OK;
}
@@ -724,9 +820,18 @@ static struct notifier_block process_notifier_block = {
.notifier_call = process_notifier,
};
-static int __init proc_uid_sys_stats_init(void)
+static void init_hash_table_and_lock(void)
{
+ int i;
+
hash_init(hash_table);
+ for (i = 0; i < UID_HASH_NUMS; i++)
+ spin_lock_init(&uid_lock[i]);
+}
+
+static int __init proc_uid_sys_stats_init(void)
+{
+ init_hash_table_and_lock();
cpu_parent = proc_mkdir("uid_cputime", NULL);
if (!cpu_parent) {
diff --git a/drivers/net/ipvlan/ipvlan_core.c b/drivers/net/ipvlan/ipvlan_core.c
index bb1c298c1e78..2de3bd3b0c27 100644
--- a/drivers/net/ipvlan/ipvlan_core.c
+++ b/drivers/net/ipvlan/ipvlan_core.c
@@ -436,6 +436,9 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
goto err;
}
skb_dst_set(skb, &rt->dst);
+
+ memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
+
err = ip_local_out(net, skb->sk, skb);
if (unlikely(net_xmit_eval(err)))
dev->stats.tx_errors++;
@@ -474,6 +477,9 @@ static int ipvlan_process_v6_outbound(struct sk_buff *skb)
goto err;
}
skb_dst_set(skb, dst);
+
+ memset(IP6CB(skb), 0, sizeof(*IP6CB(skb)));
+
err = ip6_local_out(net, skb->sk, skb);
if (unlikely(net_xmit_eval(err)))
dev->stats.tx_errors++;
diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 760d8d1b6cba..f34ebd1d1f39 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -533,7 +533,7 @@ static int tap_open(struct inode *inode, struct file *file)
q->sock.state = SS_CONNECTED;
q->sock.file = file;
q->sock.ops = &tap_socket_ops;
- sock_init_data_uid(&q->sock, &q->sk, inode->i_uid);
+ sock_init_data_uid(&q->sock, &q->sk, current_fsuid());
q->sk.sk_write_space = tap_sock_write_space;
q->sk.sk_destruct = tap_sock_destruct;
q->flags = IFF_VNET_HDR | IFF_NO_PI | IFF_TAP;
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 91d198aff2f9..fa1d58fd741a 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -3449,7 +3449,7 @@ static int tun_chr_open(struct inode *inode, struct file * file)
tfile->socket.file = file;
tfile->socket.ops = &tun_socket_ops;
- sock_init_data_uid(&tfile->socket, &tfile->sk, inode->i_uid);
+ sock_init_data_uid(&tfile->socket, &tfile->sk, current_fsuid());
tfile->sk.sk_write_space = tun_sock_write_space;
tfile->sk.sk_sndbuf = INT_MAX;
diff --git a/drivers/of/address.c b/drivers/of/address.c
index 67763e5b8c0e..4c0b169ef9bf 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -626,6 +626,47 @@ u64 of_translate_dma_address(struct device_node *dev, const __be32 *in_addr)
}
EXPORT_SYMBOL(of_translate_dma_address);
+/**
+ * of_translate_dma_region - Translate device tree address and size tuple
+ * @dev: device tree node for which to translate
+ * @prop: pointer into array of cells
+ * @start: return value for the start of the DMA range
+ * @length: return value for the length of the DMA range
+ *
+ * Returns a pointer to the cell immediately following the translated DMA region.
+ */
+const __be32 *of_translate_dma_region(struct device_node *dev, const __be32 *prop,
+ phys_addr_t *start, size_t *length)
+{
+ struct device_node *parent;
+ u64 address, size;
+ int na, ns;
+
+ parent = __of_get_dma_parent(dev);
+ if (!parent)
+ return NULL;
+
+ na = of_bus_n_addr_cells(parent);
+ ns = of_bus_n_size_cells(parent);
+
+ of_node_put(parent);
+
+ address = of_translate_dma_address(dev, prop);
+ if (address == OF_BAD_ADDR)
+ return NULL;
+
+ size = of_read_number(prop + na, ns);
+
+ if (start)
+ *start = address;
+
+ if (length)
+ *length = size;
+
+ return prop + na + ns;
+}
+EXPORT_SYMBOL(of_translate_dma_region);
+
const __be32 *__of_get_address(struct device_node *dev, int index, int bar_no,
u64 *size, unsigned int *flags)
{
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 7bab7586918c..82806f198074 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -1066,6 +1066,8 @@ static int rkvdec_remove(struct platform_device *pdev)
{
struct rkvdec_dev *rkvdec = platform_get_drvdata(pdev);
+ cancel_delayed_work_sync(&rkvdec->watchdog_work);
+
rkvdec_v4l2_cleanup(rkvdec);
pm_runtime_disable(&pdev->dev);
pm_runtime_dont_use_autosuspend(&pdev->dev);
diff --git a/drivers/thermal/gov_power_allocator.c b/drivers/thermal/gov_power_allocator.c
index 5471c9091f5f..b851d7cf0968 100644
--- a/drivers/thermal/gov_power_allocator.c
+++ b/drivers/thermal/gov_power_allocator.c
@@ -704,6 +704,7 @@ static int power_allocator_throttle(struct thermal_zone_device *tz, int trip)
int switch_on_temp, control_temp;
struct power_allocator_params *params = tz->governor_data;
bool update;
+ bool enable = true;
lockdep_assert_held(&tz->lock);
@@ -714,9 +715,11 @@ static int power_allocator_throttle(struct thermal_zone_device *tz, int trip)
if (trip != params->trip_max_desired_temperature)
return 0;
+ trace_android_vh_enable_thermal_power_throttle(&enable);
+
ret = tz->ops->get_trip_temp(tz, params->trip_switch_on,
&switch_on_temp);
- if (!ret && (tz->temperature < switch_on_temp)) {
+ if ((!ret && (tz->temperature < switch_on_temp)) || !enable) {
update = (tz->last_temperature >= switch_on_temp);
tz->passive = 0;
reset_pid_controller(params);
diff --git a/drivers/thermal/thermal_netlink.c b/drivers/thermal/thermal_netlink.c
index e2d78a996b5f..468eaae5ca82 100644
--- a/drivers/thermal/thermal_netlink.c
+++ b/drivers/thermal/thermal_netlink.c
@@ -9,6 +9,7 @@
#include <linux/module.h>
#include <linux/kernel.h>
#include <net/genetlink.h>
+#include <trace/hooks/thermal.h>
#include <uapi/linux/thermal.h>
#include "thermal_core.h"
@@ -274,6 +275,11 @@ static int thermal_genl_send_event(enum thermal_genl_event event,
struct sk_buff *msg;
int ret = -EMSGSIZE;
void *hdr;
+ int enable_thermal_genl = 1;
+
+ trace_android_vh_enable_thermal_genl_check(event, p->tz_id, &enable_thermal_genl);
+ if (!enable_thermal_genl)
+ return 0;
msg = genlmsg_new(NLMSG_GOODSIZE, GFP_KERNEL);
if (!msg)
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index b6e0cc4571ea..c1fa20a4e342 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -2481,12 +2481,13 @@ static void gsm_error(struct gsm_mux *gsm)
static void gsm_cleanup_mux(struct gsm_mux *gsm, bool disc)
{
int i;
- struct gsm_dlci *dlci = gsm->dlci[0];
+ struct gsm_dlci *dlci;
struct gsm_msg *txq, *ntxq;
gsm->dead = true;
mutex_lock(&gsm->mutex);
+ dlci = gsm->dlci[0];
if (dlci) {
if (disc && dlci->state != DLCI_CLOSED) {
gsm_dlci_begin_close(dlci);
@@ -2508,8 +2509,10 @@ static void gsm_cleanup_mux(struct gsm_mux *gsm, bool disc)
gsm->has_devices = false;
}
for (i = NUM_DLCI - 1; i >= 0; i--)
- if (gsm->dlci[i])
+ if (gsm->dlci[i]) {
gsm_dlci_release(gsm->dlci[i]);
+ gsm->dlci[i] = NULL;
+ }
mutex_unlock(&gsm->mutex);
/* Now wipe the queues */
tty_ldisc_flush(gsm->tty);
diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c
index 774de67bb98f..1f18b417c8de 100644
--- a/drivers/tty/serial/qcom_geni_serial.c
+++ b/drivers/tty/serial/qcom_geni_serial.c
@@ -1530,7 +1530,7 @@ static int qcom_geni_serial_remove(struct platform_device *pdev)
return 0;
}
-static int __maybe_unused qcom_geni_serial_sys_suspend(struct device *dev)
+static int qcom_geni_serial_sys_suspend(struct device *dev)
{
struct qcom_geni_serial_port *port = dev_get_drvdata(dev);
struct uart_port *uport = &port->uport;
@@ -1547,7 +1547,7 @@ static int __maybe_unused qcom_geni_serial_sys_suspend(struct device *dev)
return uart_suspend_port(private_data->drv, uport);
}
-static int __maybe_unused qcom_geni_serial_sys_resume(struct device *dev)
+static int qcom_geni_serial_sys_resume(struct device *dev)
{
int ret;
struct qcom_geni_serial_port *port = dev_get_drvdata(dev);
@@ -1595,10 +1595,12 @@ static int qcom_geni_serial_sys_hib_resume(struct device *dev)
}
static const struct dev_pm_ops qcom_geni_serial_pm_ops = {
- SET_SYSTEM_SLEEP_PM_OPS(qcom_geni_serial_sys_suspend,
- qcom_geni_serial_sys_resume)
- .restore = qcom_geni_serial_sys_hib_resume,
- .thaw = qcom_geni_serial_sys_hib_resume,
+ .suspend = pm_sleep_ptr(qcom_geni_serial_sys_suspend),
+ .resume = pm_sleep_ptr(qcom_geni_serial_sys_resume),
+ .freeze = pm_sleep_ptr(qcom_geni_serial_sys_suspend),
+ .poweroff = pm_sleep_ptr(qcom_geni_serial_sys_suspend),
+ .restore = pm_sleep_ptr(qcom_geni_serial_sys_hib_resume),
+ .thaw = pm_sleep_ptr(qcom_geni_serial_sys_hib_resume),
};
static const struct of_device_id qcom_geni_serial_match_table[] = {
diff --git a/drivers/ufs/core/ufs-mcq.c b/drivers/ufs/core/ufs-mcq.c
index d5445084dfa7..64bad535f79f 100644
--- a/drivers/ufs/core/ufs-mcq.c
+++ b/drivers/ufs/core/ufs-mcq.c
@@ -20,12 +20,10 @@
#define MAX_QUEUE_SUP GENMASK(7, 0)
#define UFS_MCQ_MIN_RW_QUEUES 2
#define UFS_MCQ_MIN_READ_QUEUES 0
-#define UFS_MCQ_NUM_DEV_CMD_QUEUES 1
#define UFS_MCQ_MIN_POLL_QUEUES 0
#define QUEUE_EN_OFFSET 31
#define QUEUE_ID_OFFSET 16
-#define MAX_DEV_CMD_ENTRIES 2
#define MCQ_CFG_MAC_MASK GENMASK(16, 8)
#define MCQ_QCFG_SIZE 0x40
#define MCQ_ENTRY_SIZE_IN_DWORD 8
@@ -99,6 +97,7 @@ void ufshcd_mcq_config_mac(struct ufs_hba *hba, u32 max_active_cmds)
val |= FIELD_PREP(MCQ_CFG_MAC_MASK, max_active_cmds);
ufshcd_writel(hba, val, REG_UFS_MCQ_CFG);
}
+EXPORT_SYMBOL_GPL(ufshcd_mcq_config_mac);
/**
* ufshcd_mcq_req_to_hwq - find the hardware queue on which the
@@ -115,8 +114,7 @@ struct ufs_hw_queue *ufshcd_mcq_req_to_hwq(struct ufs_hba *hba,
u32 utag = blk_mq_unique_tag(req);
u32 hwq = blk_mq_unique_tag_to_hwq(utag);
- /* uhq[0] is used to serve device commands */
- return &hba->uhq[hwq + UFSHCD_MCQ_IO_QUEUE_OFFSET];
+ return &hba->uhq[hwq];
}
/**
@@ -160,8 +158,7 @@ static int ufshcd_mcq_config_nr_queues(struct ufs_hba *hba)
/* maxq is 0 based value */
hba_maxq = FIELD_GET(MAX_QUEUE_SUP, hba->mcq_capabilities) + 1;
- tot_queues = UFS_MCQ_NUM_DEV_CMD_QUEUES + read_queues + poll_queues +
- rw_queues;
+ tot_queues = read_queues + poll_queues + rw_queues;
if (hba_maxq < tot_queues) {
dev_err(hba->dev, "Total queues (%d) exceeds HC capacity (%d)\n",
@@ -169,7 +166,7 @@ static int ufshcd_mcq_config_nr_queues(struct ufs_hba *hba)
return -EOPNOTSUPP;
}
- rem = hba_maxq - UFS_MCQ_NUM_DEV_CMD_QUEUES;
+ rem = hba_maxq;
if (rw_queues) {
hba->nr_queues[HCTX_TYPE_DEFAULT] = rw_queues;
@@ -195,7 +192,7 @@ static int ufshcd_mcq_config_nr_queues(struct ufs_hba *hba)
for (i = 0; i < HCTX_MAX_TYPES; i++)
host->nr_hw_queues += hba->nr_queues[i];
- hba->nr_hw_queues = host->nr_hw_queues + UFS_MCQ_NUM_DEV_CMD_QUEUES;
+ hba->nr_hw_queues = host->nr_hw_queues;
return 0;
}
@@ -249,6 +246,7 @@ u32 ufshcd_mcq_read_cqis(struct ufs_hba *hba, int i)
{
return readl(mcq_opr_base(hba, OPR_CQIS, i) + REG_CQIS);
}
+EXPORT_SYMBOL_GPL(ufshcd_mcq_read_cqis);
void ufshcd_mcq_write_cqis(struct ufs_hba *hba, u32 val, int i)
{
@@ -402,6 +400,7 @@ void ufshcd_mcq_make_queues_operational(struct ufs_hba *hba)
MCQ_CFG_n(REG_SQATTR, i));
}
}
+EXPORT_SYMBOL_GPL(ufshcd_mcq_make_queues_operational);
void ufshcd_mcq_enable_esi(struct ufs_hba *hba)
{
@@ -455,8 +454,6 @@ int ufshcd_mcq_init(struct ufs_hba *hba)
/* The very first HW queue serves device commands */
hba->dev_cmd_queue = &hba->uhq[0];
- /* Give dev_cmd_queue the minimal number of entries */
- hba->dev_cmd_queue->max_entries = MAX_DEV_CMD_ENTRIES;
host->host_tagset = 1;
return 0;
diff --git a/drivers/ufs/core/ufshcd-priv.h b/drivers/ufs/core/ufshcd-priv.h
index 2541a52ecb8b..83cf0a47ec14 100644
--- a/drivers/ufs/core/ufshcd-priv.h
+++ b/drivers/ufs/core/ufshcd-priv.h
@@ -84,7 +84,6 @@ int ufshcd_try_to_abort_task(struct ufs_hba *hba, int tag);
void ufshcd_release_scsi_cmd(struct ufs_hba *hba,
struct ufshcd_lrb *lrbp);
-#define UFSHCD_MCQ_IO_QUEUE_OFFSET 1
#define SD_ASCII_STD true
#define SD_RAW false
int ufshcd_read_string_desc(struct ufs_hba *hba, u8 desc_index,
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
index 25e7f7c2d83b..430ae3d2fc8a 100644
--- a/drivers/ufs/core/ufshcd.c
+++ b/drivers/ufs/core/ufshcd.c
@@ -294,7 +294,6 @@ static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba);
static int ufshcd_host_reset_and_restore(struct ufs_hba *hba);
static void ufshcd_resume_clkscaling(struct ufs_hba *hba);
static void ufshcd_suspend_clkscaling(struct ufs_hba *hba);
-static void __ufshcd_suspend_clkscaling(struct ufs_hba *hba);
static int ufshcd_scale_clks(struct ufs_hba *hba, bool scale_up);
static irqreturn_t ufshcd_intr(int irq, void *__hba);
static int ufshcd_change_power_mode(struct ufs_hba *hba,
@@ -1417,9 +1416,10 @@ static void ufshcd_clk_scaling_suspend_work(struct work_struct *work)
return;
}
hba->clk_scaling.is_suspended = true;
+ hba->clk_scaling.window_start_t = 0;
spin_unlock_irqrestore(hba->host->host_lock, irq_flags);
- __ufshcd_suspend_clkscaling(hba);
+ devfreq_suspend_device(hba->devfreq);
}
static void ufshcd_clk_scaling_resume_work(struct work_struct *work)
@@ -1464,6 +1464,13 @@ static int ufshcd_devfreq_target(struct device *dev,
return 0;
}
+ /* Skip scaling clock when clock scaling is suspended */
+ if (hba->clk_scaling.is_suspended) {
+ spin_unlock_irqrestore(hba->host->host_lock, irq_flags);
+ dev_warn(hba->dev, "clock scaling is suspended, skip");
+ return 0;
+ }
+
if (!hba->clk_scaling.active_reqs)
sched_clk_scaling_suspend_work = true;
@@ -1495,7 +1502,7 @@ static int ufshcd_devfreq_target(struct device *dev,
ktime_to_us(ktime_sub(ktime_get(), start)), ret);
out:
- if (sched_clk_scaling_suspend_work)
+ if (sched_clk_scaling_suspend_work && !scale_up)
queue_work(hba->clk_scaling.workq,
&hba->clk_scaling.suspend_work);
@@ -1601,16 +1608,6 @@ static void ufshcd_devfreq_remove(struct ufs_hba *hba)
dev_pm_opp_remove(hba->dev, clki->max_freq);
}
-static void __ufshcd_suspend_clkscaling(struct ufs_hba *hba)
-{
- unsigned long flags;
-
- devfreq_suspend_device(hba->devfreq);
- spin_lock_irqsave(hba->host->host_lock, flags);
- hba->clk_scaling.window_start_t = 0;
- spin_unlock_irqrestore(hba->host->host_lock, flags);
-}
-
static void ufshcd_suspend_clkscaling(struct ufs_hba *hba)
{
unsigned long flags;
@@ -1623,11 +1620,12 @@ static void ufshcd_suspend_clkscaling(struct ufs_hba *hba)
if (!hba->clk_scaling.is_suspended) {
suspend = true;
hba->clk_scaling.is_suspended = true;
+ hba->clk_scaling.window_start_t = 0;
}
spin_unlock_irqrestore(hba->host->host_lock, flags);
if (suspend)
- __ufshcd_suspend_clkscaling(hba);
+ devfreq_suspend_device(hba->devfreq);
}
static void ufshcd_resume_clkscaling(struct ufs_hba *hba)
@@ -3166,7 +3164,7 @@ retry:
* not trigger any race conditions.
*/
hba->dev_cmd.complete = NULL;
- err = ufshcd_get_tr_ocs(lrbp, hba->dev_cmd.cqe);
+ err = ufshcd_get_tr_ocs(lrbp, NULL);
if (!err)
err = ufshcd_dev_cmd_completion(hba, lrbp);
} else {
@@ -3262,7 +3260,6 @@ static int ufshcd_exec_dev_cmd(struct ufs_hba *hba,
goto out;
hba->dev_cmd.complete = &wait;
- hba->dev_cmd.cqe = NULL;
ufshcd_add_query_upiu_trace(hba, UFS_QUERY_SEND, lrbp->ucd_req_ptr);
@@ -5520,6 +5517,7 @@ void ufshcd_compl_one_cqe(struct ufs_hba *hba, int task_tag,
{
struct ufshcd_lrb *lrbp;
struct scsi_cmnd *cmd;
+ enum utp_ocs ocs;
lrbp = &hba->lrb[task_tag];
lrbp->compl_time_stamp = ktime_get();
@@ -5538,7 +5536,11 @@ void ufshcd_compl_one_cqe(struct ufs_hba *hba, int task_tag,
lrbp->command_type == UTP_CMD_TYPE_UFS_STORAGE) {
if (hba->dev_cmd.complete) {
trace_android_vh_ufs_compl_command(hba, lrbp);
- hba->dev_cmd.cqe = cqe;
+ if (cqe) {
+ ocs = le32_to_cpu(cqe->status) & MASK_OCS;
+ lrbp->utr_descriptor_ptr->header.dword_2 =
+ cpu_to_le32(ocs);
+ }
ufshcd_add_command_trace(hba, task_tag, UFS_DEV_COMP);
complete(hba->dev_cmd.complete);
ufshcd_clk_scaling_update_busy(hba);
@@ -5592,7 +5594,7 @@ static int ufshcd_poll(struct Scsi_Host *shost, unsigned int queue_num)
struct ufs_hw_queue *hwq;
if (is_mcq_enabled(hba)) {
- hwq = &hba->uhq[queue_num + UFSHCD_MCQ_IO_QUEUE_OFFSET];
+ hwq = &hba->uhq[queue_num];
return ufshcd_mcq_poll_cqe_lock(hba, hwq);
}
@@ -5646,7 +5648,7 @@ static void ufshcd_mcq_compl_pending_transfer(struct ufs_hba *hba,
utag = blk_mq_unique_tag(scsi_cmd_to_rq(cmd));
hwq_num = blk_mq_unique_tag_to_hwq(utag);
- hwq = &hba->uhq[hwq_num + UFSHCD_MCQ_IO_QUEUE_OFFSET];
+ hwq = &hba->uhq[hwq_num];
if (force_compl) {
ufshcd_mcq_compl_all_cqes_lock(hba, hwq);
diff --git a/drivers/ufs/host/ufs-mediatek.c b/drivers/ufs/host/ufs-mediatek.c
index 1541917939ff..603183082a56 100644
--- a/drivers/ufs/host/ufs-mediatek.c
+++ b/drivers/ufs/host/ufs-mediatek.c
@@ -27,8 +27,14 @@
#include <ufs/unipro.h>
#include "ufs-mediatek.h"
+static int ufs_mtk_config_mcq(struct ufs_hba *hba, bool irq);
+
#define CREATE_TRACE_POINTS
#include "ufs-mediatek-trace.h"
+#undef CREATE_TRACE_POINTS
+
+#define MAX_SUPP_MAC 64
+#define MCQ_QUEUE_OFFSET(c) ((((c) >> 16) & 0xFF) * 0x200)
static const struct ufs_dev_quirk ufs_mtk_dev_fixups[] = {
{ .wmanufacturerid = UFS_ANY_VENDOR,
@@ -843,6 +849,38 @@ static void ufs_mtk_vreg_fix_vccqx(struct ufs_hba *hba)
}
}
+static void ufs_mtk_init_mcq_irq(struct ufs_hba *hba)
+{
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
+ struct platform_device *pdev;
+ int i;
+ int irq;
+
+ host->mcq_nr_intr = UFSHCD_MAX_Q_NR;
+ pdev = container_of(hba->dev, struct platform_device, dev);
+
+ for (i = 0; i < host->mcq_nr_intr; i++) {
+ /* irq index 0 is legacy irq, sq/cq irq start from index 1 */
+ irq = platform_get_irq(pdev, i + 1);
+ if (irq < 0) {
+ host->mcq_intr_info[i].irq = MTK_MCQ_INVALID_IRQ;
+ dev_err(hba->dev, "get platform mcq irq fail: %d\n", i);
+ goto failed;
+ }
+ host->mcq_intr_info[i].hba = hba;
+ host->mcq_intr_info[i].irq = irq;
+ dev_info(hba->dev, "get platform mcq irq: %d, %d\n", i, irq);
+ }
+
+ return;
+failed:
+ /* invalidate irq info */
+ for (i = 0; i < host->mcq_nr_intr; i++)
+ host->mcq_intr_info[i].irq = MTK_MCQ_INVALID_IRQ;
+
+ host->mcq_nr_intr = 0;
+}
+
/**
* ufs_mtk_init - find other essential mmio bases
* @hba: host controller instance
@@ -879,6 +917,8 @@ static int ufs_mtk_init(struct ufs_hba *hba)
/* Initialize host capability */
ufs_mtk_init_host_caps(hba);
+ ufs_mtk_init_mcq_irq(hba);
+
err = ufs_mtk_bind_mphy(hba);
if (err)
goto out_variant_clear;
@@ -1176,7 +1216,17 @@ static int ufs_mtk_link_set_hpm(struct ufs_hba *hba)
else
return err;
- err = ufshcd_make_hba_operational(hba);
+ if (!hba->mcq_enabled) {
+ err = ufshcd_make_hba_operational(hba);
+ } else {
+ ufs_mtk_config_mcq(hba, false);
+ ufshcd_mcq_make_queues_operational(hba);
+ ufshcd_mcq_config_mac(hba, hba->nutrs);
+ /* Enable MCQ mode */
+ ufshcd_writel(hba, ufshcd_readl(hba, REG_UFS_MEM_CFG) | 0x1,
+ REG_UFS_MEM_CFG);
+ }
+
if (err)
return err;
@@ -1500,6 +1550,121 @@ static int ufs_mtk_clk_scale_notify(struct ufs_hba *hba, bool scale_up,
return 0;
}
+static int ufs_mtk_get_hba_mac(struct ufs_hba *hba)
+{
+ return MAX_SUPP_MAC;
+}
+
+static int ufs_mtk_op_runtime_config(struct ufs_hba *hba)
+{
+ struct ufshcd_mcq_opr_info_t *opr;
+ int i;
+
+ hba->mcq_opr[OPR_SQD].offset = REG_UFS_MTK_SQD;
+ hba->mcq_opr[OPR_SQIS].offset = REG_UFS_MTK_SQIS;
+ hba->mcq_opr[OPR_CQD].offset = REG_UFS_MTK_CQD;
+ hba->mcq_opr[OPR_CQIS].offset = REG_UFS_MTK_CQIS;
+
+ for (i = 0; i < OPR_MAX; i++) {
+ opr = &hba->mcq_opr[i];
+ opr->stride = REG_UFS_MCQ_STRIDE;
+ opr->base = hba->mmio_base + opr->offset;
+ }
+
+ return 0;
+}
+
+static int ufs_mtk_mcq_config_resource(struct ufs_hba *hba)
+{
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
+
+ /* fail mcq initialization if interrupt is not filled properly */
+ if (!host->mcq_nr_intr) {
+ dev_info(hba->dev, "IRQs not ready. MCQ disabled.");
+ return -EINVAL;
+ }
+
+ hba->mcq_base = hba->mmio_base + MCQ_QUEUE_OFFSET(hba->mcq_capabilities);
+ return 0;
+}
+
+static irqreturn_t ufs_mtk_mcq_intr(int irq, void *__intr_info)
+{
+ struct ufs_mtk_mcq_intr_info *mcq_intr_info = __intr_info;
+ struct ufs_hba *hba = mcq_intr_info->hba;
+ struct ufs_hw_queue *hwq;
+ u32 events;
+ int qid = mcq_intr_info->qid;
+
+ hwq = &hba->uhq[qid];
+
+ events = ufshcd_mcq_read_cqis(hba, qid);
+ if (events)
+ ufshcd_mcq_write_cqis(hba, events, qid);
+
+ if (events & UFSHCD_MCQ_CQIS_TAIL_ENT_PUSH_STS)
+ ufshcd_mcq_poll_cqe_lock(hba, hwq);
+
+ return IRQ_HANDLED;
+}
+
+static int ufs_mtk_config_mcq_irq(struct ufs_hba *hba)
+{
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
+ u32 irq, i;
+ int ret;
+
+ for (i = 0; i < host->mcq_nr_intr; i++) {
+ irq = host->mcq_intr_info[i].irq;
+ if (irq == MTK_MCQ_INVALID_IRQ) {
+ dev_err(hba->dev, "invalid irq. %d\n", i);
+ return -ENOPARAM;
+ }
+
+ host->mcq_intr_info[i].qid = i;
+ ret = devm_request_irq(hba->dev, irq, ufs_mtk_mcq_intr, 0, UFSHCD,
+ &host->mcq_intr_info[i]);
+
+ dev_dbg(hba->dev, "request irq %d intr %s\n", irq, ret ? "failed" : "");
+
+ if (ret) {
+ dev_err(hba->dev, "Cannot request irq %d\n", ret);
+ return ret;
+ }
+ }
+
+ return 0;
+}
+
+static int ufs_mtk_config_mcq(struct ufs_hba *hba, bool irq)
+{
+ struct ufs_mtk_host *host = ufshcd_get_variant(hba);
+ int ret = 0;
+
+ if (!host->mcq_set_intr) {
+ /* Disable irq option register */
+ ufshcd_rmwl(hba, MCQ_INTR_EN_MSK, 0, REG_UFS_MMIO_OPT_CTRL_0);
+
+ if (irq) {
+ ret = ufs_mtk_config_mcq_irq(hba);
+ if (ret)
+ return ret;
+ }
+
+ host->mcq_set_intr = true;
+ }
+
+ ufshcd_rmwl(hba, MCQ_AH8, MCQ_AH8, REG_UFS_MMIO_OPT_CTRL_0);
+ ufshcd_rmwl(hba, MCQ_INTR_EN_MSK, MCQ_MULTI_INTR_EN, REG_UFS_MMIO_OPT_CTRL_0);
+
+ return 0;
+}
+
+static int ufs_mtk_config_esi(struct ufs_hba *hba)
+{
+ return ufs_mtk_config_mcq(hba, true);
+}
+
/*
* struct ufs_hba_mtk_vops - UFS MTK specific variant operations
*
@@ -1523,6 +1688,11 @@ static const struct ufs_hba_variant_ops ufs_hba_mtk_vops = {
.event_notify = ufs_mtk_event_notify,
.config_scaling_param = ufs_mtk_config_scaling_param,
.clk_scale_notify = ufs_mtk_clk_scale_notify,
+ /* mcq vops */
+ .get_hba_mac = ufs_mtk_get_hba_mac,
+ .op_runtime_config = ufs_mtk_op_runtime_config,
+ .mcq_config_resource = ufs_mtk_mcq_config_resource,
+ .config_esi = ufs_mtk_config_esi,
};
/**
@@ -1569,7 +1739,7 @@ skip_reset:
out:
if (err)
- dev_info(dev, "probe failed %d\n", err);
+ dev_err(dev, "probe failed %d\n", err);
of_node_put(reset_node);
return err;
diff --git a/drivers/ufs/host/ufs-mediatek.h b/drivers/ufs/host/ufs-mediatek.h
index 2fc6d7b87694..f76e80d91729 100644
--- a/drivers/ufs/host/ufs-mediatek.h
+++ b/drivers/ufs/host/ufs-mediatek.h
@@ -11,10 +11,26 @@
#include <linux/soc/mediatek/mtk_sip_svc.h>
/*
+ * MCQ define and struct
+ */
+#define UFSHCD_MAX_Q_NR 8
+#define MTK_MCQ_INVALID_IRQ 0xFFFF
+
+/* REG_UFS_MMIO_OPT_CTRL_0 160h */
+#define EHS_EN BIT(0)
+#define PFM_IMPV BIT(1)
+#define MCQ_MULTI_INTR_EN BIT(2)
+#define MCQ_CMB_INTR_EN BIT(3)
+#define MCQ_AH8 BIT(4)
+
+#define MCQ_INTR_EN_MSK (MCQ_MULTI_INTR_EN | MCQ_CMB_INTR_EN)
+
+/*
* Vendor specific UFSHCI Registers
*/
#define REG_UFS_XOUFS_CTRL 0x140
#define REG_UFS_REFCLK_CTRL 0x144
+#define REG_UFS_MMIO_OPT_CTRL_0 0x160
#define REG_UFS_EXTREG 0x2100
#define REG_UFS_MPHYCTRL 0x2200
#define REG_UFS_MTK_IP_VER 0x2240
@@ -26,6 +42,13 @@
#define REG_UFS_DEBUG_SEL_B2 0x22D8
#define REG_UFS_DEBUG_SEL_B3 0x22DC
+#define REG_UFS_MTK_SQD 0x2800
+#define REG_UFS_MTK_SQIS 0x2814
+#define REG_UFS_MTK_CQD 0x281C
+#define REG_UFS_MTK_CQIS 0x2824
+
+#define REG_UFS_MCQ_STRIDE 0x30
+
/*
* Ref-clk control
*
@@ -136,6 +159,12 @@ struct ufs_mtk_hw_ver {
u8 major;
};
+struct ufs_mtk_mcq_intr_info {
+ struct ufs_hba *hba;
+ u32 irq;
+ u8 qid;
+};
+
struct ufs_mtk_host {
struct phy *mphy;
struct pm_qos_request pm_qos_req;
@@ -155,6 +184,10 @@ struct ufs_mtk_host {
u16 ref_clk_ungating_wait_us;
u16 ref_clk_gating_wait_us;
u32 ip_ver;
+
+ bool mcq_set_intr;
+ int mcq_nr_intr;
+ struct ufs_mtk_mcq_intr_info mcq_intr_info[UFSHCD_MAX_Q_NR];
};
/*
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 58e7d1e4430f..a739403a9e45 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -3098,6 +3098,48 @@ done:
return status;
}
+/*
+ * hub_port_stop_enumerate - stop USB enumeration or ignore port events
+ * @hub: target hub
+ * @port1: port num of the port
+ * @retries: port retries number of hub_port_init()
+ *
+ * Return:
+ * true: ignore port actions/events or give up connection attempts.
+ * false: keep original behavior.
+ *
+ * This function will be based on retries to check whether the port which is
+ * marked with early_stop attribute would stop enumeration or ignore events.
+ *
+ * Note:
+ * This function didn't change anything if early_stop is not set, and it will
+ * prevent all connection attempts when early_stop is set and the attempts of
+ * the port are more than 1.
+ */
+static bool hub_port_stop_enumerate(struct usb_hub *hub, int port1, int retries)
+{
+ struct usb_port *port_dev = hub->ports[port1 - 1];
+
+ if (port_dev->early_stop) {
+ if (port_dev->ignore_event)
+ return true;
+
+ /*
+ * We want unsuccessful attempts to fail quickly.
+ * Since some devices may need one failure during
+ * port initialization, we allow two tries but no
+ * more.
+ */
+ if (retries < 2)
+ return false;
+
+ port_dev->ignore_event = 1;
+ } else
+ port_dev->ignore_event = 0;
+
+ return port_dev->ignore_event;
+}
+
/* Check if a port is power on */
int usb_port_is_power_on(struct usb_hub *hub, unsigned int portstatus)
{
@@ -4813,6 +4855,11 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1,
do_new_scheme = use_new_scheme(udev, retry_counter, port_dev);
for (retries = 0; retries < GET_DESCRIPTOR_TRIES; (++retries, msleep(100))) {
+ if (hub_port_stop_enumerate(hub, port1, retries)) {
+ retval = -ENODEV;
+ break;
+ }
+
if (do_new_scheme) {
struct usb_device_descriptor *buf;
int r = 0;
@@ -5263,6 +5310,11 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus,
status = 0;
for (i = 0; i < PORT_INIT_TRIES; i++) {
+ if (hub_port_stop_enumerate(hub, port1, i)) {
+ status = -ENODEV;
+ break;
+ }
+
usb_lock_port(port_dev);
mutex_lock(hcd->address0_mutex);
retry_locked = true;
@@ -5631,6 +5683,10 @@ static void port_event(struct usb_hub *hub, int port1)
if (!pm_runtime_active(&port_dev->dev))
return;
+ /* skip port actions if ignore_event and early_stop are true */
+ if (port_dev->ignore_event && port_dev->early_stop)
+ return;
+
if (hub_handle_remote_wakeup(hub, port1, portstatus, portchange))
connect_change = 1;
@@ -5954,6 +6010,10 @@ static int usb_reset_and_verify_device(struct usb_device *udev)
mutex_lock(hcd->address0_mutex);
for (i = 0; i < PORT_INIT_TRIES; ++i) {
+ if (hub_port_stop_enumerate(parent_hub, port1, i)) {
+ ret = -ENODEV;
+ break;
+ }
/* ep0 maxpacket size may change; let the HCD know about it.
* Other endpoints will be handled by re-enumeration. */
diff --git a/drivers/usb/core/hub.h b/drivers/usb/core/hub.h
index f244cc475e3e..37897afd1b64 100644
--- a/drivers/usb/core/hub.h
+++ b/drivers/usb/core/hub.h
@@ -92,6 +92,8 @@ struct usb_hub {
* @is_superspeed cache super-speed status
* @usb3_lpm_u1_permit: whether USB3 U1 LPM is permitted.
* @usb3_lpm_u2_permit: whether USB3 U2 LPM is permitted.
+ * @early_stop: whether port initialization will be stopped earlier.
+ * @ignore_event: whether events of the port are ignored.
*/
struct usb_port {
struct usb_device *child;
@@ -107,6 +109,8 @@ struct usb_port {
u32 over_current_count;
u8 portnum;
u32 quirks;
+ unsigned int early_stop:1;
+ unsigned int ignore_event:1;
unsigned int is_superspeed:1;
unsigned int usb3_lpm_u1_permit:1;
unsigned int usb3_lpm_u2_permit:1;
diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c
index e458ed17c7a1..b2cad06885b5 100644
--- a/drivers/usb/core/port.c
+++ b/drivers/usb/core/port.c
@@ -17,6 +17,32 @@ static int usb_port_block_power_off;
static const struct attribute_group *port_dev_group[];
+static ssize_t early_stop_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct usb_port *port_dev = to_usb_port(dev);
+
+ return sysfs_emit(buf, "%s\n", port_dev->early_stop ? "yes" : "no");
+}
+
+static ssize_t early_stop_store(struct device *dev, struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct usb_port *port_dev = to_usb_port(dev);
+ bool value;
+
+ if (kstrtobool(buf, &value))
+ return -EINVAL;
+
+ if (value)
+ port_dev->early_stop = 1;
+ else
+ port_dev->early_stop = 0;
+
+ return count;
+}
+static DEVICE_ATTR_RW(early_stop);
+
static ssize_t disable_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
@@ -247,6 +273,7 @@ static struct attribute *port_dev_attrs[] = {
&dev_attr_quirks.attr,
&dev_attr_over_current_count.attr,
&dev_attr_disable.attr,
+ &dev_attr_early_stop.attr,
NULL,
};
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index a3e39bacbdd7..87bcd569fbb4 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2645,13 +2645,16 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
* device-initiated disconnect requires a core soft reset
* (DCTL.CSftRst) before enabling the run/stop bit.
*/
- dwc3_core_soft_reset(dwc);
+ ret = dwc3_core_soft_reset(dwc);
+ if (ret)
+ goto done;
dwc3_event_buffers_setup(dwc);
__dwc3_gadget_start(dwc);
ret = dwc3_gadget_run_stop(dwc, true);
}
+done:
pm_runtime_put(dwc->dev);
return ret;
diff --git a/drivers/usb/gadget/function/u_serial.c b/drivers/usb/gadget/function/u_serial.c
index db6fd0238d4b..8673b9a5ab53 100644
--- a/drivers/usb/gadget/function/u_serial.c
+++ b/drivers/usb/gadget/function/u_serial.c
@@ -538,16 +538,20 @@ static int gs_alloc_requests(struct usb_ep *ep, struct list_head *head,
static int gs_start_io(struct gs_port *port)
{
struct list_head *head = &port->read_pool;
- struct usb_ep *ep = port->port_usb->out;
+ struct usb_ep *ep;
int status;
unsigned started;
+ if (!port->port_usb || !port->port.tty)
+ return -EIO;
+
/* Allocate RX and TX I/O buffers. We can't easily do this much
* earlier (with GFP_KERNEL) because the requests are coupled to
* endpoints, as are the packet sizes we'll be using. Different
* configurations may use different endpoints with a given port;
* and high speed vs full speed changes packet sizes too.
*/
+ ep = port->port_usb->out;
status = gs_alloc_requests(ep, head, gs_read_complete,
&port->read_allocated);
if (status)
@@ -1419,10 +1423,19 @@ EXPORT_SYMBOL_GPL(gserial_disconnect);
void gserial_suspend(struct gserial *gser)
{
- struct gs_port *port = gser->ioport;
+ struct gs_port *port;
unsigned long flags;
- spin_lock_irqsave(&port->port_lock, flags);
+ spin_lock_irqsave(&serial_port_lock, flags);
+ port = gser->ioport;
+
+ if (!port) {
+ spin_unlock_irqrestore(&serial_port_lock, flags);
+ return;
+ }
+
+ spin_lock(&port->port_lock);
+ spin_unlock(&serial_port_lock);
port->suspended = true;
spin_unlock_irqrestore(&port->port_lock, flags);
}
diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
index bf9878e1a72a..ed2129be43aa 100644
--- a/drivers/usb/gadget/udc/core.c
+++ b/drivers/usb/gadget/udc/core.c
@@ -37,6 +37,14 @@ static struct bus_type gadget_bus_type;
* @vbus: for udcs who care about vbus status, this value is real vbus status;
* for udcs who do not care about vbus status, this value is always true
* @started: the UDC's started state. True if the UDC had started.
+ * @allow_connect: Indicates whether UDC is allowed to be pulled up.
+ * Set/cleared by gadget_(un)bind_driver() after gadget driver is bound or
+ * unbound.
+ * @connect_lock: protects udc->started, gadget->connect,
+ * gadget->allow_connect and gadget->deactivate. The routines
+ * usb_gadget_connect_locked(), usb_gadget_disconnect_locked(),
+ * usb_udc_connect_control_locked(), usb_gadget_udc_start_locked() and
+ * usb_gadget_udc_stop_locked() are called with this lock held.
*
* This represents the internal data structure which is used by the UDC-class
* to hold information about udc driver and gadget together.
@@ -48,6 +56,9 @@ struct usb_udc {
struct list_head list;
bool vbus;
bool started;
+ bool allow_connect;
+ struct work_struct vbus_work;
+ struct mutex connect_lock;
};
static struct class *udc_class;
@@ -660,17 +671,8 @@ out:
}
EXPORT_SYMBOL_GPL(usb_gadget_vbus_disconnect);
-/**
- * usb_gadget_connect - software-controlled connect to USB host
- * @gadget:the peripheral being connected
- *
- * Enables the D+ (or potentially D-) pullup. The host will start
- * enumerating this gadget when the pullup is active and a VBUS session
- * is active (the link is powered).
- *
- * Returns zero on success, else negative errno.
- */
-int usb_gadget_connect(struct usb_gadget *gadget)
+static int usb_gadget_connect_locked(struct usb_gadget *gadget)
+ __must_hold(&gadget->udc->connect_lock)
{
int ret = 0;
@@ -679,10 +681,12 @@ int usb_gadget_connect(struct usb_gadget *gadget)
goto out;
}
- if (gadget->deactivated) {
+ if (gadget->deactivated || !gadget->udc->allow_connect || !gadget->udc->started) {
/*
- * If gadget is deactivated we only save new state.
- * Gadget will be connected automatically after activation.
+ * If the gadget isn't usable (because it is deactivated,
+ * unbound, or not yet started), we only save the new state.
+ * The gadget will be connected automatically when it is
+ * activated/bound/started.
*/
gadget->connected = true;
goto out;
@@ -697,22 +701,31 @@ out:
return ret;
}
-EXPORT_SYMBOL_GPL(usb_gadget_connect);
/**
- * usb_gadget_disconnect - software-controlled disconnect from USB host
- * @gadget:the peripheral being disconnected
- *
- * Disables the D+ (or potentially D-) pullup, which the host may see
- * as a disconnect (when a VBUS session is active). Not all systems
- * support software pullup controls.
+ * usb_gadget_connect - software-controlled connect to USB host
+ * @gadget:the peripheral being connected
*
- * Following a successful disconnect, invoke the ->disconnect() callback
- * for the current gadget driver so that UDC drivers don't need to.
+ * Enables the D+ (or potentially D-) pullup. The host will start
+ * enumerating this gadget when the pullup is active and a VBUS session
+ * is active (the link is powered).
*
* Returns zero on success, else negative errno.
*/
-int usb_gadget_disconnect(struct usb_gadget *gadget)
+int usb_gadget_connect(struct usb_gadget *gadget)
+{
+ int ret;
+
+ mutex_lock(&gadget->udc->connect_lock);
+ ret = usb_gadget_connect_locked(gadget);
+ mutex_unlock(&gadget->udc->connect_lock);
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(usb_gadget_connect);
+
+static int usb_gadget_disconnect_locked(struct usb_gadget *gadget)
+ __must_hold(&gadget->udc->connect_lock)
{
int ret = 0;
@@ -724,7 +737,7 @@ int usb_gadget_disconnect(struct usb_gadget *gadget)
if (!gadget->connected)
goto out;
- if (gadget->deactivated) {
+ if (gadget->deactivated || !gadget->udc->started) {
/*
* If gadget is deactivated we only save new state.
* Gadget will stay disconnected after activation.
@@ -747,6 +760,30 @@ out:
return ret;
}
+
+/**
+ * usb_gadget_disconnect - software-controlled disconnect from USB host
+ * @gadget:the peripheral being disconnected
+ *
+ * Disables the D+ (or potentially D-) pullup, which the host may see
+ * as a disconnect (when a VBUS session is active). Not all systems
+ * support software pullup controls.
+ *
+ * Following a successful disconnect, invoke the ->disconnect() callback
+ * for the current gadget driver so that UDC drivers don't need to.
+ *
+ * Returns zero on success, else negative errno.
+ */
+int usb_gadget_disconnect(struct usb_gadget *gadget)
+{
+ int ret;
+
+ mutex_lock(&gadget->udc->connect_lock);
+ ret = usb_gadget_disconnect_locked(gadget);
+ mutex_unlock(&gadget->udc->connect_lock);
+
+ return ret;
+}
EXPORT_SYMBOL_GPL(usb_gadget_disconnect);
/**
@@ -758,19 +795,23 @@ EXPORT_SYMBOL_GPL(usb_gadget_disconnect);
* usb_gadget_activate() is called. For example, user mode components may
* need to be activated before the system can talk to hosts.
*
+ * This routine may sleep; it must not be called in interrupt context
+ * (such as from within a gadget driver's disconnect() callback).
+ *
* Returns zero on success, else negative errno.
*/
int usb_gadget_deactivate(struct usb_gadget *gadget)
{
int ret = 0;
+ mutex_lock(&gadget->udc->connect_lock);
if (gadget->deactivated)
- goto out;
+ goto unlock;
if (gadget->connected) {
- ret = usb_gadget_disconnect(gadget);
+ ret = usb_gadget_disconnect_locked(gadget);
if (ret)
- goto out;
+ goto unlock;
/*
* If gadget was being connected before deactivation, we want
@@ -780,7 +821,8 @@ int usb_gadget_deactivate(struct usb_gadget *gadget)
}
gadget->deactivated = true;
-out:
+unlock:
+ mutex_unlock(&gadget->udc->connect_lock);
trace_usb_gadget_deactivate(gadget, ret);
return ret;
@@ -794,14 +836,17 @@ EXPORT_SYMBOL_GPL(usb_gadget_deactivate);
* This routine activates gadget which was previously deactivated with
* usb_gadget_deactivate() call. It calls usb_gadget_connect() if needed.
*
+ * This routine may sleep; it must not be called in interrupt context.
+ *
* Returns zero on success, else negative errno.
*/
int usb_gadget_activate(struct usb_gadget *gadget)
{
int ret = 0;
+ mutex_lock(&gadget->udc->connect_lock);
if (!gadget->deactivated)
- goto out;
+ goto unlock;
gadget->deactivated = false;
@@ -810,9 +855,11 @@ int usb_gadget_activate(struct usb_gadget *gadget)
* while it was being deactivated, we call usb_gadget_connect().
*/
if (gadget->connected)
- ret = usb_gadget_connect(gadget);
+ ret = usb_gadget_connect_locked(gadget);
+ mutex_unlock(&gadget->udc->connect_lock);
-out:
+unlock:
+ mutex_unlock(&gadget->udc->connect_lock);
trace_usb_gadget_activate(gadget, ret);
return ret;
@@ -1051,12 +1098,22 @@ EXPORT_SYMBOL_GPL(usb_gadget_set_state);
/* ------------------------------------------------------------------------- */
-static void usb_udc_connect_control(struct usb_udc *udc)
+/* Acquire connect_lock before calling this function. */
+static void usb_udc_connect_control_locked(struct usb_udc *udc) __must_hold(&udc->connect_lock)
{
if (udc->vbus)
- usb_gadget_connect(udc->gadget);
+ usb_gadget_connect_locked(udc->gadget);
else
- usb_gadget_disconnect(udc->gadget);
+ usb_gadget_disconnect_locked(udc->gadget);
+}
+
+static void vbus_event_work(struct work_struct *work)
+{
+ struct usb_udc *udc = container_of(work, struct usb_udc, vbus_work);
+
+ mutex_lock(&udc->connect_lock);
+ usb_udc_connect_control_locked(udc);
+ mutex_unlock(&udc->connect_lock);
}
/**
@@ -1067,6 +1124,14 @@ static void usb_udc_connect_control(struct usb_udc *udc)
*
* The udc driver calls it when it wants to connect or disconnect gadget
* according to vbus status.
+ *
+ * This function can be invoked from interrupt context by irq handlers of
+ * the gadget drivers, however, usb_udc_connect_control() has to run in
+ * non-atomic context due to the following:
+ * a. Some of the gadget driver implementations expect the ->pullup
+ * callback to be invoked in non-atomic context.
+ * b. usb_gadget_disconnect() acquires udc_lock which is a mutex.
+ * Hence offload invocation of usb_udc_connect_control() to workqueue.
*/
void usb_udc_vbus_handler(struct usb_gadget *gadget, bool status)
{
@@ -1074,7 +1139,7 @@ void usb_udc_vbus_handler(struct usb_gadget *gadget, bool status)
if (udc) {
udc->vbus = status;
- usb_udc_connect_control(udc);
+ schedule_work(&udc->vbus_work);
}
}
EXPORT_SYMBOL_GPL(usb_udc_vbus_handler);
@@ -1097,7 +1162,7 @@ void usb_gadget_udc_reset(struct usb_gadget *gadget,
EXPORT_SYMBOL_GPL(usb_gadget_udc_reset);
/**
- * usb_gadget_udc_start - tells usb device controller to start up
+ * usb_gadget_udc_start_locked - tells usb device controller to start up
* @udc: The UDC to be started
*
* This call is issued by the UDC Class driver when it's about
@@ -1108,8 +1173,11 @@ EXPORT_SYMBOL_GPL(usb_gadget_udc_reset);
* necessary to have it powered on.
*
* Returns zero on success, else negative errno.
+ *
+ * Caller should acquire connect_lock before invoking this function.
*/
-static inline int usb_gadget_udc_start(struct usb_udc *udc)
+static inline int usb_gadget_udc_start_locked(struct usb_udc *udc)
+ __must_hold(&udc->connect_lock)
{
int ret;
@@ -1126,7 +1194,7 @@ static inline int usb_gadget_udc_start(struct usb_udc *udc)
}
/**
- * usb_gadget_udc_stop - tells usb device controller we don't need it anymore
+ * usb_gadget_udc_stop_locked - tells usb device controller we don't need it anymore
* @udc: The UDC to be stopped
*
* This call is issued by the UDC Class driver after calling
@@ -1135,8 +1203,11 @@ static inline int usb_gadget_udc_start(struct usb_udc *udc)
* The details are implementation specific, but it can go as
* far as powering off UDC completely and disable its data
* line pullups.
+ *
+ * Caller should acquire connect lock before invoking this function.
*/
-static inline void usb_gadget_udc_stop(struct usb_udc *udc)
+static inline void usb_gadget_udc_stop_locked(struct usb_udc *udc)
+ __must_hold(&udc->connect_lock)
{
if (!udc->started) {
dev_err(&udc->dev, "UDC had already stopped\n");
@@ -1295,12 +1366,14 @@ int usb_add_gadget(struct usb_gadget *gadget)
udc->gadget = gadget;
gadget->udc = udc;
+ mutex_init(&udc->connect_lock);
udc->started = false;
mutex_lock(&udc_lock);
list_add_tail(&udc->list, &udc_list);
mutex_unlock(&udc_lock);
+ INIT_WORK(&udc->vbus_work, vbus_event_work);
ret = device_add(&udc->dev);
if (ret)
@@ -1432,6 +1505,7 @@ void usb_del_gadget(struct usb_gadget *gadget)
flush_work(&gadget->work);
device_del(&gadget->dev);
ida_free(&gadget_id_numbers, gadget->id_number);
+ cancel_work_sync(&udc->vbus_work);
device_unregister(&udc->dev);
}
EXPORT_SYMBOL_GPL(usb_del_gadget);
@@ -1496,11 +1570,16 @@ static int gadget_bind_driver(struct device *dev)
if (ret)
goto err_bind;
- ret = usb_gadget_udc_start(udc);
- if (ret)
+ mutex_lock(&udc->connect_lock);
+ ret = usb_gadget_udc_start_locked(udc);
+ if (ret) {
+ mutex_unlock(&udc->connect_lock);
goto err_start;
+ }
usb_gadget_enable_async_callbacks(udc);
- usb_udc_connect_control(udc);
+ udc->allow_connect = true;
+ usb_udc_connect_control_locked(udc);
+ mutex_unlock(&udc->connect_lock);
kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE);
return 0;
@@ -1531,12 +1610,20 @@ static void gadget_unbind_driver(struct device *dev)
kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE);
- usb_gadget_disconnect(gadget);
+ udc->allow_connect = false;
+ cancel_work_sync(&udc->vbus_work);
+ mutex_lock(&udc->connect_lock);
+ usb_gadget_disconnect_locked(gadget);
usb_gadget_disable_async_callbacks(udc);
if (gadget->irq)
synchronize_irq(gadget->irq);
+ mutex_unlock(&udc->connect_lock);
+
udc->driver->unbind(gadget);
- usb_gadget_udc_stop(udc);
+
+ mutex_lock(&udc->connect_lock);
+ usb_gadget_udc_stop_locked(udc);
+ mutex_unlock(&udc->connect_lock);
mutex_lock(&udc_lock);
driver->is_bound = false;
@@ -1622,11 +1709,15 @@ static ssize_t soft_connect_store(struct device *dev,
}
if (sysfs_streq(buf, "connect")) {
- usb_gadget_udc_start(udc);
- usb_gadget_connect(udc->gadget);
+ mutex_lock(&udc->connect_lock);
+ usb_gadget_udc_start_locked(udc);
+ usb_gadget_connect_locked(udc->gadget);
+ mutex_unlock(&udc->connect_lock);
} else if (sysfs_streq(buf, "disconnect")) {
- usb_gadget_disconnect(udc->gadget);
- usb_gadget_udc_stop(udc);
+ mutex_lock(&udc->connect_lock);
+ usb_gadget_disconnect_locked(udc->gadget);
+ usb_gadget_udc_stop_locked(udc);
+ mutex_unlock(&udc->connect_lock);
} else {
dev_err(dev, "unsupported command '%s'\n", buf);
ret = -EINVAL;
diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c
index 615ba0a6fbee..32c9e369216c 100644
--- a/drivers/usb/gadget/udc/renesas_usb3.c
+++ b/drivers/usb/gadget/udc/renesas_usb3.c
@@ -2596,6 +2596,7 @@ static int renesas_usb3_remove(struct platform_device *pdev)
debugfs_remove_recursive(usb3->dentry);
device_remove_file(&pdev->dev, &dev_attr_role);
+ cancel_work_sync(&usb3->role_work);
usb_role_switch_unregister(usb3->role_sw);
usb_del_gadget_udc(&usb3->gadget);
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index a1930db0da1c..68674b19f15d 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -755,10 +755,14 @@ restart:
/* normal [4.15.1.2] or error [4.15.1.1] completion */
if (likely ((status & (STS_INT|STS_ERR)) != 0)) {
- if (likely ((status & STS_ERR) == 0))
+ if (likely ((status & STS_ERR) == 0)) {
INCR(ehci->stats.normal);
- else
+ } else {
+ /* Force to check port status */
+ if (ehci->has_fsl_port_bug)
+ status |= STS_PCD;
INCR(ehci->stats.error);
+ }
bh = 1;
}
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index efe30e3be22f..1aee392e8492 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -674,7 +674,8 @@ ehci_hub_status_data (struct usb_hcd *hcd, char *buf)
if ((temp & mask) != 0 || test_bit(i, &ehci->port_c_suspend)
|| (ehci->reset_done[i] && time_after_eq(
- jiffies, ehci->reset_done[i]))) {
+ jiffies, ehci->reset_done[i]))
+ || ehci_has_ci_pec_bug(ehci, temp)) {
if (i < 7)
buf [0] |= 1 << (i + 1);
else
@@ -875,6 +876,13 @@ int ehci_hub_control(
if (temp & PORT_PEC)
status |= USB_PORT_STAT_C_ENABLE << 16;
+ if (ehci_has_ci_pec_bug(ehci, temp)) {
+ status |= USB_PORT_STAT_C_ENABLE << 16;
+ ehci_info(ehci,
+ "PE is cleared by HW port:%d PORTSC:%08x\n",
+ wIndex + 1, temp);
+ }
+
if ((temp & PORT_OCC) && (!ignore_oc && !ehci->spurious_oc)){
status |= USB_PORT_STAT_C_OVERCURRENT << 16;
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index bd542b6fc46b..7e834587e7de 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/drivers/usb/host/ehci-sched.c
@@ -490,13 +490,14 @@ static int tt_no_collision(
static void enable_periodic(struct ehci_hcd *ehci)
{
if (ehci->periodic_count++)
- return;
+ goto out;
/* Stop waiting to turn off the periodic schedule */
ehci->enabled_hrtimer_events &= ~BIT(EHCI_HRTIMER_DISABLE_PERIODIC);
/* Don't start the schedule until PSS is 0 */
ehci_poll_PSS(ehci);
+out:
turn_on_io_watchdog(ehci);
}
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
index ad3f13a3eaf1..4ee0d34323cf 100644
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
@@ -708,6 +708,15 @@ ehci_port_speed(struct ehci_hcd *ehci, unsigned int portsc)
#define ehci_has_fsl_susp_errata(e) ((e)->has_fsl_susp_errata)
/*
+ * Some Freescale/NXP processors using ChipIdea IP have a bug in which
+ * disabling the port (PE is cleared) does not cause PEC to be asserted
+ * when frame babble is detected.
+ */
+#define ehci_has_ci_pec_bug(e, portsc) \
+ ((e)->has_fsl_port_bug && ((e)->command & CMD_PSE) \
+ && !(portsc & PORT_PEC) && !(portsc & PORT_PE))
+
+/*
* While most USB host controllers implement their registers in
* little-endian format, a minority (celleb companion chip) implement
* them in big endian format.
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 2ef716fc3212..3829e1be0383 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -188,11 +188,10 @@ EXPORT_SYMBOL_GPL(xhci_plat_register_vendor_ops);
static int xhci_vendor_init(struct xhci_hcd *xhci)
{
- struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci);
- struct xhci_plat_priv *priv = xhci_to_priv(xhci);
+ struct xhci_vendor_ops *ops = NULL;
if (xhci_plat_vendor_overwrite.vendor_ops)
- ops = priv->vendor_ops = xhci_plat_vendor_overwrite.vendor_ops;
+ ops = xhci->vendor_ops = xhci_plat_vendor_overwrite.vendor_ops;
if (ops && ops->vendor_init)
return ops->vendor_init(xhci);
@@ -202,12 +201,11 @@ static int xhci_vendor_init(struct xhci_hcd *xhci)
static void xhci_vendor_cleanup(struct xhci_hcd *xhci)
{
struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci);
- struct xhci_plat_priv *priv = xhci_to_priv(xhci);
if (ops && ops->vendor_cleanup)
ops->vendor_cleanup(xhci);
- priv->vendor_ops = NULL;
+ xhci->vendor_ops = NULL;
}
static int xhci_plat_probe(struct platform_device *pdev)
@@ -436,8 +434,8 @@ static int xhci_plat_remove(struct platform_device *dev)
struct clk *reg_clk = xhci->reg_clk;
struct usb_hcd *shared_hcd = xhci->shared_hcd;
- pm_runtime_get_sync(&dev->dev);
xhci->xhc_state |= XHCI_STATE_REMOVING;
+ pm_runtime_get_sync(&dev->dev);
if (shared_hcd) {
usb_remove_hcd(shared_hcd);
@@ -453,7 +451,6 @@ static int xhci_plat_remove(struct platform_device *dev)
xhci_vendor_cleanup(xhci);
- usb_put_hcd(shared_hcd);
clk_disable_unprepare(clk);
clk_disable_unprepare(reg_clk);
usb_put_hcd(hcd);
diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h
index 5b096f72636f..e726a572321d 100644
--- a/drivers/usb/host/xhci-plat.h
+++ b/drivers/usb/host/xhci-plat.h
@@ -13,7 +13,6 @@
struct xhci_plat_priv {
const char *firmware_name;
unsigned long long quirks;
- struct xhci_vendor_ops *vendor_ops;
struct xhci_vendor_data *vendor_data;
int (*plat_setup)(struct usb_hcd *);
void (*plat_start)(struct usb_hcd *);
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 4f33afa418b0..be041bd65b19 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -25,7 +25,6 @@
#include "xhci-trace.h"
#include "xhci-debugfs.h"
#include "xhci-dbgcap.h"
-#include "xhci-plat.h"
#define DRIVER_AUTHOR "Sarah Sharp"
#define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
@@ -1194,7 +1193,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
temp = readl(&xhci->op_regs->status);
/* re-initialize the HC on Restore Error, or Host Controller Error */
- if (temp & (STS_SRE | STS_HCE)) {
+ if ((temp & (STS_SRE | STS_HCE)) &&
+ !(xhci->xhc_state & XHCI_STATE_REMOVING)) {
reinit_xhc = true;
if (!xhci->broken_suspend)
xhci_warn(xhci, "xHC error in resume, USBSTS 0x%x, Reinit\n", temp);
@@ -4516,7 +4516,7 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci,
struct xhci_vendor_ops *xhci_vendor_get_ops(struct xhci_hcd *xhci)
{
- return xhci_to_priv(xhci)->vendor_ops;
+ return xhci->vendor_ops;
}
EXPORT_SYMBOL_GPL(xhci_vendor_get_ops);
@@ -5619,6 +5619,12 @@ void xhci_init_driver(struct hc_driver *drv,
drv->reset_bandwidth = over->reset_bandwidth;
if (over->update_hub_device)
drv->update_hub_device = over->update_hub_device;
+ if (over->address_device)
+ drv->address_device = over->address_device;
+ if (over->bus_suspend)
+ drv->bus_suspend = over->bus_suspend;
+ if (over->bus_resume)
+ drv->bus_resume = over->bus_resume;
}
}
EXPORT_SYMBOL_GPL(xhci_init_driver);
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index eb2e66a68693..dd634668f5d4 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1941,7 +1941,9 @@ struct xhci_hcd {
void *dbc;
- ANDROID_KABI_RESERVE(1);
+ /* Used for bug 194461020 */
+ ANDROID_KABI_USE(1, struct xhci_vendor_ops *vendor_ops);
+
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
@@ -1963,6 +1965,14 @@ struct xhci_driver_overrides {
void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *);
int (*update_hub_device)(struct usb_hcd *hcd, struct usb_device *hdev,
struct usb_tt *tt, gfp_t mem_flags);
+ int (*address_device)(struct usb_hcd *hcd, struct usb_device *udev);
+ int (*bus_suspend)(struct usb_hcd *hcd);
+ int (*bus_resume)(struct usb_hcd *hcd);
+
+ ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_RESERVE(2);
+ ANDROID_KABI_RESERVE(3);
+ ANDROID_KABI_RESERVE(4);
};
#define XHCI_CFC_DELAY 10
@@ -2288,6 +2298,11 @@ struct xhci_vendor_ops {
void (*alloc_container_ctx)(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx,
int type, gfp_t flags);
void (*free_container_ctx)(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx);
+
+ ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_RESERVE(2);
+ ANDROID_KABI_RESERVE(3);
+ ANDROID_KABI_RESERVE(4);
};
struct xhci_vendor_ops *xhci_vendor_get_ops(struct xhci_hcd *xhci);
diff --git a/drivers/usb/typec/bus.c b/drivers/usb/typec/bus.c
index 31c2a3130cad..ef79217a903f 100644
--- a/drivers/usb/typec/bus.c
+++ b/drivers/usb/typec/bus.c
@@ -156,7 +156,20 @@ EXPORT_SYMBOL_GPL(typec_altmode_exit);
*/
void typec_altmode_attention(struct typec_altmode *adev, u32 vdo)
{
- struct typec_altmode *pdev = &to_altmode(adev)->partner->adev;
+ struct altmode *partner = to_altmode(adev)->partner;
+ struct typec_altmode *pdev;
+
+ /*
+ * If partner is NULL then a NULL pointer error occurs when
+ * dereferencing pdev and its operations. The original upstream commit
+ * changes the return type so the tcpm can log when this occurs, but
+ * due to KMI restrictions we can only silently prevent the error for
+ * now.
+ */
+ if (!partner)
+ return;
+
+ pdev = &partner->adev;
if (pdev->ops && pdev->ops->attention)
pdev->ops->attention(pdev, vdo);
diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
index 6af7c21aeaac..b5e4433a01c5 100644
--- a/drivers/usb/typec/tcpm/tcpm.c
+++ b/drivers/usb/typec/tcpm/tcpm.c
@@ -2748,6 +2748,13 @@ static void tcpm_pd_ctrl_request(struct tcpm_port *port,
port->sink_cap_done = true;
tcpm_set_state(port, ready_state(port), 0);
break;
+ /*
+ * Some port partners do not support GET_STATUS, avoid soft reset the link to
+ * prevent redundant power re-negotiation
+ */
+ case GET_STATUS_SEND:
+ tcpm_set_state(port, ready_state(port), 0);
+ break;
case SRC_READY:
case SNK_READY:
if (port->vdm_state > VDM_STATE_READY) {
@@ -3248,23 +3255,12 @@ static int tcpm_pd_select_pdo(struct tcpm_port *port, int *sink_pdo,
return ret;
}
-#define min_pps_apdo_current(x, y) \
- min(pdo_pps_apdo_max_current(x), pdo_pps_apdo_max_current(y))
-
static unsigned int tcpm_pd_select_pps_apdo(struct tcpm_port *port)
{
- unsigned int i, j, max_mw = 0, max_mv = 0;
- unsigned int min_src_mv, max_src_mv, src_ma, src_mw;
- unsigned int min_snk_mv, max_snk_mv;
- unsigned int max_op_mv;
- u32 pdo, src, snk;
- unsigned int src_pdo = 0, snk_pdo = 0;
+ unsigned int i, src_ma, max_temp_mw = 0, max_op_ma, op_mw;
+ unsigned int src_pdo = 0;
+ u32 pdo, src;
- /*
- * Select the source PPS APDO providing the most power while staying
- * within the board's limits. We skip the first PDO as this is always
- * 5V 3A.
- */
for (i = 1; i < port->nr_source_caps; ++i) {
pdo = port->source_caps[i];
@@ -3275,54 +3271,17 @@ static unsigned int tcpm_pd_select_pps_apdo(struct tcpm_port *port)
continue;
}
- min_src_mv = pdo_pps_apdo_min_voltage(pdo);
- max_src_mv = pdo_pps_apdo_max_voltage(pdo);
- src_ma = pdo_pps_apdo_max_current(pdo);
- src_mw = (src_ma * max_src_mv) / 1000;
-
- /*
- * Now search through the sink PDOs to find a matching
- * PPS APDO. Again skip the first sink PDO as this will
- * always be 5V 3A.
- */
- for (j = 1; j < port->nr_snk_pdo; j++) {
- pdo = port->snk_pdo[j];
-
- switch (pdo_type(pdo)) {
- case PDO_TYPE_APDO:
- if (pdo_apdo_type(pdo) != APDO_TYPE_PPS) {
- tcpm_log(port,
- "Not PPS APDO (sink), ignoring");
- continue;
- }
-
- min_snk_mv =
- pdo_pps_apdo_min_voltage(pdo);
- max_snk_mv =
- pdo_pps_apdo_max_voltage(pdo);
- break;
- default:
- tcpm_log(port,
- "Not APDO type (sink), ignoring");
- continue;
- }
+ if (port->pps_data.req_out_volt > pdo_pps_apdo_max_voltage(pdo) ||
+ port->pps_data.req_out_volt < pdo_pps_apdo_min_voltage(pdo))
+ continue;
- if (min_src_mv <= max_snk_mv &&
- max_src_mv >= min_snk_mv) {
- max_op_mv = min(max_src_mv, max_snk_mv);
- src_mw = (max_op_mv * src_ma) / 1000;
- /* Prefer higher voltages if available */
- if ((src_mw == max_mw &&
- max_op_mv > max_mv) ||
- src_mw > max_mw) {
- src_pdo = i;
- snk_pdo = j;
- max_mw = src_mw;
- max_mv = max_op_mv;
- }
- }
+ src_ma = pdo_pps_apdo_max_current(pdo);
+ max_op_ma = min(src_ma, port->pps_data.req_op_curr);
+ op_mw = max_op_ma * port->pps_data.req_out_volt / 1000;
+ if (op_mw > max_temp_mw) {
+ src_pdo = i;
+ max_temp_mw = op_mw;
}
-
break;
default:
tcpm_log(port, "Not APDO type (source), ignoring");
@@ -3332,16 +3291,10 @@ static unsigned int tcpm_pd_select_pps_apdo(struct tcpm_port *port)
if (src_pdo) {
src = port->source_caps[src_pdo];
- snk = port->snk_pdo[snk_pdo];
-
- port->pps_data.req_min_volt = max(pdo_pps_apdo_min_voltage(src),
- pdo_pps_apdo_min_voltage(snk));
- port->pps_data.req_max_volt = min(pdo_pps_apdo_max_voltage(src),
- pdo_pps_apdo_max_voltage(snk));
- port->pps_data.req_max_curr = min_pps_apdo_current(src, snk);
- port->pps_data.req_out_volt = min(port->pps_data.req_max_volt,
- max(port->pps_data.req_min_volt,
- port->pps_data.req_out_volt));
+
+ port->pps_data.req_min_volt = pdo_pps_apdo_min_voltage(src);
+ port->pps_data.req_max_volt = pdo_pps_apdo_max_voltage(src);
+ port->pps_data.req_max_curr = pdo_pps_apdo_max_current(src);
port->pps_data.req_op_curr = min(port->pps_data.req_max_curr,
port->pps_data.req_op_curr);
}
@@ -3459,32 +3412,16 @@ static int tcpm_pd_send_request(struct tcpm_port *port)
static int tcpm_pd_build_pps_request(struct tcpm_port *port, u32 *rdo)
{
unsigned int out_mv, op_ma, op_mw, max_mv, max_ma, flags;
- enum pd_pdo_type type;
unsigned int src_pdo_index;
- u32 pdo;
src_pdo_index = tcpm_pd_select_pps_apdo(port);
if (!src_pdo_index)
return -EOPNOTSUPP;
- pdo = port->source_caps[src_pdo_index];
- type = pdo_type(pdo);
-
- switch (type) {
- case PDO_TYPE_APDO:
- if (pdo_apdo_type(pdo) != APDO_TYPE_PPS) {
- tcpm_log(port, "Invalid APDO selected!");
- return -EINVAL;
- }
- max_mv = port->pps_data.req_max_volt;
- max_ma = port->pps_data.req_max_curr;
- out_mv = port->pps_data.req_out_volt;
- op_ma = port->pps_data.req_op_curr;
- break;
- default:
- tcpm_log(port, "Invalid PDO selected!");
- return -EINVAL;
- }
+ max_mv = port->pps_data.req_max_volt;
+ max_ma = port->pps_data.req_max_curr;
+ out_mv = port->pps_data.req_out_volt;
+ op_ma = port->pps_data.req_op_curr;
flags = RDO_USB_COMM | RDO_NO_SUSPEND;
@@ -3923,6 +3860,29 @@ static enum typec_cc_status tcpm_pwr_opmode_to_rp(enum typec_pwr_opmode opmode)
}
}
+static void tcpm_set_initial_svdm_version(struct tcpm_port *port)
+{
+ switch (port->negotiated_rev) {
+ case PD_REV30:
+ break;
+ /*
+ * 6.4.4.2.3 Structured VDM Version
+ * 2.0 states "At this time, there is only one version (1.0) defined.
+ * This field Shall be set to zero to indicate Version 1.0."
+ * 3.0 states "This field Shall be set to 01b to indicate Version 2.0."
+ * To ensure that we follow the Power Delivery revision we are currently
+ * operating on, downgrade the SVDM version to the highest one supported
+ * by the Power Delivery revision.
+ */
+ case PD_REV20:
+ typec_partner_set_svdm_version(port->partner, SVDM_VER_1_0);
+ break;
+ default:
+ typec_partner_set_svdm_version(port->partner, SVDM_VER_1_0);
+ break;
+ }
+}
+
static void run_state_machine(struct tcpm_port *port)
{
int ret;
@@ -4167,10 +4127,12 @@ static void run_state_machine(struct tcpm_port *port)
* For now, this driver only supports SOP for DISCOVER_IDENTITY, thus using
* port->explicit_contract to decide whether to send the command.
*/
- if (port->explicit_contract)
+ if (port->explicit_contract) {
+ tcpm_set_initial_svdm_version(port);
mod_send_discover_delayed_work(port, 0);
- else
+ } else {
port->send_discover = false;
+ }
/*
* 6.3.5
@@ -4312,7 +4274,9 @@ static void run_state_machine(struct tcpm_port *port)
if (port->slow_charger_loop && (current_lim > PD_P_SNK_STDBY_MW / 5))
current_lim = PD_P_SNK_STDBY_MW / 5;
tcpm_set_current_limit(port, current_lim, 5000);
- tcpm_set_charge(port, true);
+ /* Not sink vbus if operational current is 0mA */
+ tcpm_set_charge(port, !!pdo_max_current(port->snk_pdo[0]));
+
if (!port->pd_supported)
tcpm_set_state(port, SNK_READY, 0);
else
@@ -4471,10 +4435,12 @@ static void run_state_machine(struct tcpm_port *port)
* For now, this driver only supports SOP for DISCOVER_IDENTITY, thus using
* port->explicit_contract.
*/
- if (port->explicit_contract)
+ if (port->explicit_contract) {
+ tcpm_set_initial_svdm_version(port);
mod_send_discover_delayed_work(port, 0);
- else
+ } else {
port->send_discover = false;
+ }
power_supply_changed(port->psy);
break;
@@ -4601,7 +4567,8 @@ static void run_state_machine(struct tcpm_port *port)
tcpm_set_current_limit(port,
tcpm_get_current_limit(port),
5000);
- tcpm_set_charge(port, true);
+ /* Not sink vbus if operational current is 0mA */
+ tcpm_set_charge(port, !!pdo_max_current(port->snk_pdo[0]));
}
if (port->ams == HARD_RESET)
tcpm_ams_finish(port);
@@ -5378,6 +5345,10 @@ static void _tcpm_pd_vbus_off(struct tcpm_port *port)
/* Do nothing, vbus drop expected */
break;
+ case SNK_HARD_RESET_WAIT_VBUS:
+ /* Do nothing, its OK to receive vbus off events */
+ break;
+
default:
if (port->pwr_role == TYPEC_SINK && port->attached)
tcpm_set_state(port, SNK_UNATTACHED, tcpm_wait_for_discharge(port));
@@ -5429,6 +5400,9 @@ static void _tcpm_pd_vbus_vsafe0v(struct tcpm_port *port)
case SNK_DEBOUNCED:
/*Do nothing, still waiting for VSAFE5V for connect */
break;
+ case SNK_HARD_RESET_WAIT_VBUS:
+ /* Do nothing, its OK to receive vbus off events */
+ break;
default:
if (port->pwr_role == TYPEC_SINK && port->auto_vbus_discharge_enabled)
tcpm_set_state(port, SNK_UNATTACHED, 0);
@@ -5945,12 +5919,6 @@ static int tcpm_pps_set_out_volt(struct tcpm_port *port, u16 req_out_volt)
goto port_unlock;
}
- if (req_out_volt < port->pps_data.min_volt ||
- req_out_volt > port->pps_data.max_volt) {
- ret = -EINVAL;
- goto port_unlock;
- }
-
target_mw = (port->current_limit * req_out_volt) / 1000;
if (target_mw < port->operating_snk_mw) {
ret = -EINVAL;
@@ -6479,11 +6447,7 @@ static int tcpm_psy_set_prop(struct power_supply *psy,
ret = tcpm_psy_set_online(port, val);
break;
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
- if (val->intval < port->pps_data.min_volt * 1000 ||
- val->intval > port->pps_data.max_volt * 1000)
- ret = -EINVAL;
- else
- ret = tcpm_pps_set_out_volt(port, val->intval / 1000);
+ ret = tcpm_pps_set_out_volt(port, val->intval / 1000);
break;
case POWER_SUPPLY_PROP_CURRENT_NOW:
if (val->intval > port->pps_data.max_curr * 1000)
diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index 086b50968983..dc2dea3768fb 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -132,10 +132,8 @@ static int ucsi_exec_command(struct ucsi *ucsi, u64 cmd)
if (ret)
return ret;
- if (cci & UCSI_CCI_BUSY) {
- ucsi->ops->async_write(ucsi, UCSI_CANCEL, NULL, 0);
- return -EBUSY;
- }
+ if (cmd != UCSI_CANCEL && cci & UCSI_CCI_BUSY)
+ return ucsi_exec_command(ucsi, UCSI_CANCEL);
if (!(cci & UCSI_CCI_COMMAND_COMPLETE))
return -EIO;
@@ -149,6 +147,11 @@ static int ucsi_exec_command(struct ucsi *ucsi, u64 cmd)
return ucsi_read_error(ucsi);
}
+ if (cmd == UCSI_CANCEL && cci & UCSI_CCI_CANCEL_COMPLETE) {
+ ret = ucsi_acknowledge_command(ucsi);
+ return ret ? ret : -EBUSY;
+ }
+
return UCSI_CCI_LENGTH(cci);
}
@@ -782,6 +785,7 @@ static void ucsi_handle_connector_change(struct work_struct *work)
if (ret < 0) {
dev_err(ucsi->dev, "%s: GET_CONNECTOR_STATUS failed (%d)\n",
__func__, ret);
+ clear_bit(EVENT_PENDING, &con->ucsi->flags);
goto out_unlock;
}
diff --git a/drivers/video/fbdev/core/sysimgblt.c b/drivers/video/fbdev/core/sysimgblt.c
index 335e92b813fc..665ef7a0a249 100644
--- a/drivers/video/fbdev/core/sysimgblt.c
+++ b/drivers/video/fbdev/core/sysimgblt.c
@@ -189,7 +189,7 @@ static void fast_imageblit(const struct fb_image *image, struct fb_info *p,
u32 fgx = fgcolor, bgx = bgcolor, bpp = p->var.bits_per_pixel;
u32 ppw = 32/bpp, spitch = (image->width + 7)/8;
u32 bit_mask, eorx, shift;
- const char *s = image->data, *src;
+ const u8 *s = image->data, *src;
u32 *dst;
const u32 *tab;
size_t tablen;
diff --git a/drivers/virt/Kconfig b/drivers/virt/Kconfig
index c39409b69d01..41440e116e71 100644
--- a/drivers/virt/Kconfig
+++ b/drivers/virt/Kconfig
@@ -54,4 +54,6 @@ source "drivers/virt/coco/sev-guest/Kconfig"
source "drivers/virt/gunyah/Kconfig"
+source "drivers/virt/geniezone/Kconfig"
+
endif
diff --git a/drivers/virt/geniezone/Kconfig b/drivers/virt/geniezone/Kconfig
new file mode 100644
index 000000000000..2643fb8913cc
--- /dev/null
+++ b/drivers/virt/geniezone/Kconfig
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+config MTK_GZVM
+ tristate "GenieZone Hypervisor driver for guest VM operation"
+ depends on ARM64
+ help
+ This driver, gzvm, enables to run guest VMs on MTK GenieZone
+ hypervisor. It exports kvm-like interfaces for VMM (e.g., crosvm) in
+ order to operate guest VMs on GenieZone hypervisor.
+
+ GenieZone hypervisor now only supports MediaTek SoC and arm64
+ architecture.
+
+ Select M if you want it be built as a module (gzvm.ko).
+
+ If unsure, say N.
diff --git a/drivers/virt/geniezone/Makefile b/drivers/virt/geniezone/Makefile
new file mode 100644
index 000000000000..bc5ae49f2407
--- /dev/null
+++ b/drivers/virt/geniezone/Makefile
@@ -0,0 +1,11 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Makefile for GenieZone driver, this file should be include in arch's
+# to avoid two ko being generated.
+#
+
+GZVM_DIR ?= ../../../drivers/virt/geniezone
+
+gzvm-y := $(GZVM_DIR)/gzvm_main.o $(GZVM_DIR)/gzvm_vm.o \
+ $(GZVM_DIR)/gzvm_vcpu.o $(GZVM_DIR)/gzvm_irqfd.o \
+ $(GZVM_DIR)/gzvm_ioeventfd.o
diff --git a/drivers/virt/geniezone/gzvm_common.h b/drivers/virt/geniezone/gzvm_common.h
new file mode 100644
index 000000000000..d0e39ded79e6
--- /dev/null
+++ b/drivers/virt/geniezone/gzvm_common.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#ifndef __GZ_COMMON_H__
+#define __GZ_COMMON_H__
+
+int gzvm_irqchip_inject_irq(struct gzvm *gzvm, unsigned int vcpu_idx,
+ u32 irq_type, u32 irq, bool level);
+
+#endif /* __GZVM_COMMON_H__ */
diff --git a/drivers/virt/geniezone/gzvm_ioeventfd.c b/drivers/virt/geniezone/gzvm_ioeventfd.c
new file mode 100644
index 000000000000..8d41db16ada2
--- /dev/null
+++ b/drivers/virt/geniezone/gzvm_ioeventfd.c
@@ -0,0 +1,273 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <linux/eventfd.h>
+#include <linux/file.h>
+#include <linux/syscalls.h>
+#include <linux/gzvm.h>
+#include <linux/gzvm_drv.h>
+#include <linux/wait.h>
+#include <linux/poll.h>
+#include <linux/module.h>
+#include <linux/slab.h>
+
+struct gzvm_ioevent {
+ struct list_head list;
+ __u64 addr;
+ __u32 len;
+ struct eventfd_ctx *evt_ctx;
+ __u64 datamatch;
+ bool wildcard;
+};
+
+/**
+ * ioeventfd_check_collision() - Check collison assumes gzvm->slots_lock held.
+ * @gzvm: Pointer to gzvm.
+ * @p: Pointer to gzvm_ioevent.
+ *
+ * Return:
+ * * true - collison found
+ * * false - no collison
+ */
+static bool ioeventfd_check_collision(struct gzvm *gzvm, struct gzvm_ioevent *p)
+{
+ struct gzvm_ioevent *_p;
+
+ list_for_each_entry(_p, &gzvm->ioevents, list)
+ if (_p->addr == p->addr &&
+ (!_p->len || !p->len ||
+ (_p->len == p->len &&
+ (_p->wildcard || p->wildcard ||
+ _p->datamatch == p->datamatch))))
+ return true;
+
+ return false;
+}
+
+static void gzvm_ioevent_release(struct gzvm_ioevent *p)
+{
+ eventfd_ctx_put(p->evt_ctx);
+ list_del(&p->list);
+ kfree(p);
+}
+
+static bool gzvm_ioevent_in_range(struct gzvm_ioevent *p, __u64 addr, int len,
+ const void *val)
+{
+ u64 _val;
+
+ if (addr != p->addr)
+ /* address must be precise for a hit */
+ return false;
+
+ if (!p->len)
+ /* length = 0 means only look at the address, so always a hit */
+ return true;
+
+ if (len != p->len)
+ /* address-range must be precise for a hit */
+ return false;
+
+ if (p->wildcard)
+ /* all else equal, wildcard is always a hit */
+ return true;
+
+ /* otherwise, we have to actually compare the data */
+
+ WARN_ON_ONCE(!IS_ALIGNED((unsigned long)val, len));
+
+ switch (len) {
+ case 1:
+ _val = *(u8 *)val;
+ break;
+ case 2:
+ _val = *(u16 *)val;
+ break;
+ case 4:
+ _val = *(u32 *)val;
+ break;
+ case 8:
+ _val = *(u64 *)val;
+ break;
+ default:
+ return false;
+ }
+
+ return _val == p->datamatch;
+}
+
+static int gzvm_deassign_ioeventfd(struct gzvm *gzvm,
+ struct gzvm_ioeventfd *args)
+{
+ struct gzvm_ioevent *p, *tmp;
+ struct eventfd_ctx *evt_ctx;
+ int ret = -ENOENT;
+ bool wildcard;
+
+ evt_ctx = eventfd_ctx_fdget(args->fd);
+ if (IS_ERR(evt_ctx))
+ return PTR_ERR(evt_ctx);
+
+ wildcard = !(args->flags & GZVM_IOEVENTFD_FLAG_DATAMATCH);
+
+ mutex_lock(&gzvm->lock);
+
+ list_for_each_entry_safe(p, tmp, &gzvm->ioevents, list) {
+ if (p->evt_ctx != evt_ctx ||
+ p->addr != args->addr ||
+ p->len != args->len ||
+ p->wildcard != wildcard)
+ continue;
+
+ if (!p->wildcard && p->datamatch != args->datamatch)
+ continue;
+
+ gzvm_ioevent_release(p);
+ ret = 0;
+ break;
+ }
+
+ mutex_unlock(&gzvm->lock);
+
+ /* got in the front of this function */
+ eventfd_ctx_put(evt_ctx);
+
+ return ret;
+}
+
+static int gzvm_assign_ioeventfd(struct gzvm *gzvm, struct gzvm_ioeventfd *args)
+{
+ struct eventfd_ctx *evt_ctx;
+ struct gzvm_ioevent *evt;
+ int ret;
+
+ evt_ctx = eventfd_ctx_fdget(args->fd);
+ if (IS_ERR(evt_ctx))
+ return PTR_ERR(evt_ctx);
+
+ evt = kmalloc(sizeof(*evt), GFP_KERNEL);
+ if (!evt)
+ return -ENOMEM;
+ *evt = (struct gzvm_ioevent) {
+ .addr = args->addr,
+ .len = args->len,
+ .evt_ctx = evt_ctx,
+ };
+ if (args->flags & GZVM_IOEVENTFD_FLAG_DATAMATCH) {
+ evt->datamatch = args->datamatch;
+ evt->wildcard = false;
+ } else {
+ evt->wildcard = true;
+ }
+
+ if (ioeventfd_check_collision(gzvm, evt)) {
+ ret = -EEXIST;
+ goto err_free;
+ }
+
+ mutex_lock(&gzvm->lock);
+ list_add_tail(&evt->list, &gzvm->ioevents);
+ mutex_unlock(&gzvm->lock);
+
+ return 0;
+
+err_free:
+ kfree(evt);
+ eventfd_ctx_put(evt_ctx);
+ return ret;
+}
+
+/**
+ * gzvm_ioeventfd_check_valid() - Check user arguments is valid.
+ * @args: Pointer to gzvm_ioeventfd.
+ *
+ * Return:
+ * * true if user arguments are valid.
+ * * false if user arguments are invalid.
+ */
+static bool gzvm_ioeventfd_check_valid(struct gzvm_ioeventfd *args)
+{
+ /* must be natural-word sized, or 0 to ignore length */
+ switch (args->len) {
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 8:
+ break;
+ default:
+ return false;
+ }
+
+ /* check for range overflow */
+ if (args->addr + args->len < args->addr)
+ return false;
+
+ /* check for extra flags that we don't understand */
+ if (args->flags & ~GZVM_IOEVENTFD_VALID_FLAG_MASK)
+ return false;
+
+ /* ioeventfd with no length can't be combined with DATAMATCH */
+ if (!args->len && (args->flags & GZVM_IOEVENTFD_FLAG_DATAMATCH))
+ return false;
+
+ /* gzvm does not support pio bus ioeventfd */
+ if (args->flags & GZVM_IOEVENTFD_FLAG_PIO)
+ return false;
+
+ return true;
+}
+
+/**
+ * gzvm_ioeventfd() - Register ioevent to ioevent list.
+ * @gzvm: Pointer to gzvm.
+ * @args: Pointer to gzvm_ioeventfd.
+ *
+ * Return:
+ * * 0 - Success.
+ * * Negative - Failure.
+ */
+int gzvm_ioeventfd(struct gzvm *gzvm, struct gzvm_ioeventfd *args)
+{
+ if (gzvm_ioeventfd_check_valid(args) == false)
+ return -EINVAL;
+
+ if (args->flags & GZVM_IOEVENTFD_FLAG_DEASSIGN)
+ return gzvm_deassign_ioeventfd(gzvm, args);
+ return gzvm_assign_ioeventfd(gzvm, args);
+}
+
+/**
+ * gzvm_ioevent_write() - Travers this vm's registered ioeventfd to see if
+ * need notifying it.
+ * @vcpu: Pointer to vcpu.
+ * @addr: mmio address.
+ * @len: mmio size.
+ * @val: Pointer to void.
+ *
+ * Return:
+ * * true if this io is already sent to ioeventfd's listener.
+ * * false if we cannot find any ioeventfd registering this mmio write.
+ */
+bool gzvm_ioevent_write(struct gzvm_vcpu *vcpu, __u64 addr, int len,
+ const void *val)
+{
+ struct gzvm_ioevent *e;
+
+ list_for_each_entry(e, &vcpu->gzvm->ioevents, list) {
+ if (gzvm_ioevent_in_range(e, addr, len, val)) {
+ eventfd_signal(e->evt_ctx, 1);
+ return true;
+ }
+ }
+ return false;
+}
+
+int gzvm_init_ioeventfd(struct gzvm *gzvm)
+{
+ INIT_LIST_HEAD(&gzvm->ioevents);
+
+ return 0;
+}
diff --git a/drivers/virt/geniezone/gzvm_irqfd.c b/drivers/virt/geniezone/gzvm_irqfd.c
new file mode 100644
index 000000000000..b10ac3a940ee
--- /dev/null
+++ b/drivers/virt/geniezone/gzvm_irqfd.c
@@ -0,0 +1,566 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <linux/eventfd.h>
+#include <linux/syscalls.h>
+#include <linux/gzvm_drv.h>
+#include "gzvm_common.h"
+
+struct gzvm_irq_ack_notifier {
+ struct hlist_node link;
+ unsigned int gsi;
+ void (*irq_acked)(struct gzvm_irq_ack_notifier *ian);
+};
+
+/**
+ * struct gzvm_kernel_irqfd_resampler - irqfd resampler descriptor.
+ * @gzvm: Poiner to gzvm.
+ * @list: List of resampling struct _irqfd objects sharing this gsi.
+ * RCU list modified under gzvm->irqfds.resampler_lock.
+ * @notifier: gzvm irq ack notifier.
+ * @link: Entry in list of gzvm->irqfd.resampler_list.
+ * Use for sharing esamplers among irqfds on the same gsi.
+ * Accessed and modified under gzvm->irqfds.resampler_lock.
+ *
+ * Resampling irqfds are a special variety of irqfds used to emulate
+ * level triggered interrupts. The interrupt is asserted on eventfd
+ * trigger. On acknowledgment through the irq ack notifier, the
+ * interrupt is de-asserted and userspace is notified through the
+ * resamplefd. All resamplers on the same gsi are de-asserted
+ * together, so we don't need to track the state of each individual
+ * user. We can also therefore share the same irq source ID.
+ */
+struct gzvm_kernel_irqfd_resampler {
+ struct gzvm *gzvm;
+
+ struct list_head list;
+ struct gzvm_irq_ack_notifier notifier;
+
+ struct list_head link;
+};
+
+/**
+ * struct gzvm_kernel_irqfd: gzvm kernel irqfd descriptor.
+ * @gzvm: Pointer to struct gzvm.
+ * @wait: Wait queue entry.
+ * @gsi: Used for level IRQ fast-path.
+ * @resampler: The resampler used by this irqfd (resampler-only).
+ * @resamplefd: Eventfd notified on resample (resampler-only).
+ * @resampler_link: Entry in list of irqfds for a resampler (resampler-only).
+ * @eventfd: Used for setup/shutdown.
+ * @list: struct list_head.
+ * @pt: struct poll_table_struct.
+ * @shutdown: struct work_struct.
+ */
+struct gzvm_kernel_irqfd {
+ struct gzvm *gzvm;
+ wait_queue_entry_t wait;
+
+ int gsi;
+
+ struct gzvm_kernel_irqfd_resampler *resampler;
+
+ struct eventfd_ctx *resamplefd;
+
+ struct list_head resampler_link;
+
+ struct eventfd_ctx *eventfd;
+ struct list_head list;
+ poll_table pt;
+ struct work_struct shutdown;
+};
+
+static struct workqueue_struct *irqfd_cleanup_wq;
+
+/**
+ * irqfd_set_spi(): irqfd to inject virtual interrupt.
+ * @gzvm: Pointer to gzvm.
+ * @irq_source_id: irq source id.
+ * @irq: This is spi interrupt number (starts from 0 instead of 32).
+ * @level: irq triggered level.
+ * @line_status: irq status.
+ */
+static void irqfd_set_spi(struct gzvm *gzvm, int irq_source_id, u32 irq,
+ int level, bool line_status)
+{
+ if (level)
+ gzvm_irqchip_inject_irq(gzvm, irq_source_id, 0, irq, level);
+}
+
+/**
+ * irqfd_resampler_ack() - Notify all of the resampler irqfds using this GSI
+ * when IRQ de-assert once.
+ * @ian: Pointer to gzvm_irq_ack_notifier.
+ *
+ * Since resampler irqfds share an IRQ source ID, we de-assert once
+ * then notify all of the resampler irqfds using this GSI. We can't
+ * do multiple de-asserts or we risk racing with incoming re-asserts.
+ */
+static void irqfd_resampler_ack(struct gzvm_irq_ack_notifier *ian)
+{
+ struct gzvm_kernel_irqfd_resampler *resampler;
+ struct gzvm *gzvm;
+ struct gzvm_kernel_irqfd *irqfd;
+ int idx;
+
+ resampler = container_of(ian,
+ struct gzvm_kernel_irqfd_resampler, notifier);
+ gzvm = resampler->gzvm;
+
+ irqfd_set_spi(gzvm, GZVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID,
+ resampler->notifier.gsi, 0, false);
+
+ idx = srcu_read_lock(&gzvm->irq_srcu);
+
+ list_for_each_entry_srcu(irqfd, &resampler->list, resampler_link,
+ srcu_read_lock_held(&gzvm->irq_srcu)) {
+ eventfd_signal(irqfd->resamplefd, 1);
+ }
+
+ srcu_read_unlock(&gzvm->irq_srcu, idx);
+}
+
+static void gzvm_register_irq_ack_notifier(struct gzvm *gzvm,
+ struct gzvm_irq_ack_notifier *ian)
+{
+ mutex_lock(&gzvm->irq_lock);
+ hlist_add_head_rcu(&ian->link, &gzvm->irq_ack_notifier_list);
+ mutex_unlock(&gzvm->irq_lock);
+}
+
+static void gzvm_unregister_irq_ack_notifier(struct gzvm *gzvm,
+ struct gzvm_irq_ack_notifier *ian)
+{
+ mutex_lock(&gzvm->irq_lock);
+ hlist_del_init_rcu(&ian->link);
+ mutex_unlock(&gzvm->irq_lock);
+ synchronize_srcu(&gzvm->irq_srcu);
+}
+
+static void irqfd_resampler_shutdown(struct gzvm_kernel_irqfd *irqfd)
+{
+ struct gzvm_kernel_irqfd_resampler *resampler = irqfd->resampler;
+ struct gzvm *gzvm = resampler->gzvm;
+
+ mutex_lock(&gzvm->irqfds.resampler_lock);
+
+ list_del_rcu(&irqfd->resampler_link);
+ synchronize_srcu(&gzvm->irq_srcu);
+
+ if (list_empty(&resampler->list)) {
+ list_del(&resampler->link);
+ gzvm_unregister_irq_ack_notifier(gzvm, &resampler->notifier);
+ irqfd_set_spi(gzvm, GZVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID,
+ resampler->notifier.gsi, 0, false);
+ kfree(resampler);
+ }
+
+ mutex_unlock(&gzvm->irqfds.resampler_lock);
+}
+
+/**
+ * irqfd_shutdown() - Race-free decouple logic (ordering is critical).
+ * @work: Pointer to work_struct.
+ */
+static void irqfd_shutdown(struct work_struct *work)
+{
+ struct gzvm_kernel_irqfd *irqfd =
+ container_of(work, struct gzvm_kernel_irqfd, shutdown);
+ struct gzvm *gzvm = irqfd->gzvm;
+ u64 cnt;
+
+ /* Make sure irqfd has been initialized in assign path. */
+ synchronize_srcu(&gzvm->irq_srcu);
+
+ /*
+ * Synchronize with the wait-queue and unhook ourselves to prevent
+ * further events.
+ */
+ eventfd_ctx_remove_wait_queue(irqfd->eventfd, &irqfd->wait, &cnt);
+
+ if (irqfd->resampler) {
+ irqfd_resampler_shutdown(irqfd);
+ eventfd_ctx_put(irqfd->resamplefd);
+ }
+
+ /*
+ * It is now safe to release the object's resources
+ */
+ eventfd_ctx_put(irqfd->eventfd);
+ kfree(irqfd);
+}
+
+/**
+ * irqfd_is_active() - Assumes gzvm->irqfds.lock is held.
+ * @irqfd: Pointer to gzvm_kernel_irqfd.
+ *
+ * Return:
+ * * true - irqfd is active.
+ */
+static bool irqfd_is_active(struct gzvm_kernel_irqfd *irqfd)
+{
+ return list_empty(&irqfd->list) ? false : true;
+}
+
+/**
+ * irqfd_deactivate() - Mark the irqfd as inactive and schedule it for removal.
+ * assumes gzvm->irqfds.lock is held.
+ * @irqfd: Pointer to gzvm_kernel_irqfd.
+ */
+static void irqfd_deactivate(struct gzvm_kernel_irqfd *irqfd)
+{
+ if (!irqfd_is_active(irqfd))
+ return;
+
+ list_del_init(&irqfd->list);
+
+ queue_work(irqfd_cleanup_wq, &irqfd->shutdown);
+}
+
+/**
+ * irqfd_wakeup() - Callback of irqfd wait queue, would be woken by writing to
+ * irqfd to do virtual interrupt injection.
+ * @wait: Pointer to wait_queue_entry_t.
+ * @mode: Unused.
+ * @sync: Unused.
+ * @key: Get flags about Epoll events.
+ *
+ * Return:
+ * * 0 - Success
+ */
+static int irqfd_wakeup(wait_queue_entry_t *wait, unsigned int mode, int sync,
+ void *key)
+{
+ struct gzvm_kernel_irqfd *irqfd =
+ container_of(wait, struct gzvm_kernel_irqfd, wait);
+ __poll_t flags = key_to_poll(key);
+ struct gzvm *gzvm = irqfd->gzvm;
+
+ if (flags & EPOLLIN) {
+ u64 cnt;
+
+ eventfd_ctx_do_read(irqfd->eventfd, &cnt);
+ /* gzvm's irq injection is not blocked, don't need workq */
+ irqfd_set_spi(gzvm, GZVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi,
+ 1, false);
+ }
+
+ if (flags & EPOLLHUP) {
+ /* The eventfd is closing, detach from GZVM */
+ unsigned long iflags;
+
+ spin_lock_irqsave(&gzvm->irqfds.lock, iflags);
+
+ /*
+ * Do more check if someone deactivated the irqfd before
+ * we could acquire the irqfds.lock.
+ */
+ if (irqfd_is_active(irqfd))
+ irqfd_deactivate(irqfd);
+
+ spin_unlock_irqrestore(&gzvm->irqfds.lock, iflags);
+ }
+
+ return 0;
+}
+
+static void irqfd_ptable_queue_proc(struct file *file, wait_queue_head_t *wqh,
+ poll_table *pt)
+{
+ struct gzvm_kernel_irqfd *irqfd =
+ container_of(pt, struct gzvm_kernel_irqfd, pt);
+ add_wait_queue_priority(wqh, &irqfd->wait);
+}
+
+static int gzvm_irqfd_assign(struct gzvm *gzvm, struct gzvm_irqfd *args)
+{
+ struct gzvm_kernel_irqfd *irqfd, *tmp;
+ struct fd f;
+ struct eventfd_ctx *eventfd = NULL, *resamplefd = NULL;
+ int ret;
+ __poll_t events;
+ int idx;
+
+ irqfd = kzalloc(sizeof(*irqfd), GFP_KERNEL_ACCOUNT);
+ if (!irqfd)
+ return -ENOMEM;
+
+ irqfd->gzvm = gzvm;
+ irqfd->gsi = args->gsi;
+ irqfd->resampler = NULL;
+
+ INIT_LIST_HEAD(&irqfd->list);
+ INIT_WORK(&irqfd->shutdown, irqfd_shutdown);
+
+ f = fdget(args->fd);
+ if (!f.file) {
+ ret = -EBADF;
+ goto out;
+ }
+
+ eventfd = eventfd_ctx_fileget(f.file);
+ if (IS_ERR(eventfd)) {
+ ret = PTR_ERR(eventfd);
+ goto fail;
+ }
+
+ irqfd->eventfd = eventfd;
+
+ if (args->flags & GZVM_IRQFD_FLAG_RESAMPLE) {
+ struct gzvm_kernel_irqfd_resampler *resampler;
+
+ resamplefd = eventfd_ctx_fdget(args->resamplefd);
+ if (IS_ERR(resamplefd)) {
+ ret = PTR_ERR(resamplefd);
+ goto fail;
+ }
+
+ irqfd->resamplefd = resamplefd;
+ INIT_LIST_HEAD(&irqfd->resampler_link);
+
+ mutex_lock(&gzvm->irqfds.resampler_lock);
+
+ list_for_each_entry(resampler,
+ &gzvm->irqfds.resampler_list, link) {
+ if (resampler->notifier.gsi == irqfd->gsi) {
+ irqfd->resampler = resampler;
+ break;
+ }
+ }
+
+ if (!irqfd->resampler) {
+ resampler = kzalloc(sizeof(*resampler),
+ GFP_KERNEL_ACCOUNT);
+ if (!resampler) {
+ ret = -ENOMEM;
+ mutex_unlock(&gzvm->irqfds.resampler_lock);
+ goto fail;
+ }
+
+ resampler->gzvm = gzvm;
+ INIT_LIST_HEAD(&resampler->list);
+ resampler->notifier.gsi = irqfd->gsi;
+ resampler->notifier.irq_acked = irqfd_resampler_ack;
+ INIT_LIST_HEAD(&resampler->link);
+
+ list_add(&resampler->link, &gzvm->irqfds.resampler_list);
+ gzvm_register_irq_ack_notifier(gzvm,
+ &resampler->notifier);
+ irqfd->resampler = resampler;
+ }
+
+ list_add_rcu(&irqfd->resampler_link, &irqfd->resampler->list);
+ synchronize_srcu(&gzvm->irq_srcu);
+
+ mutex_unlock(&gzvm->irqfds.resampler_lock);
+ }
+
+ /*
+ * Install our own custom wake-up handling so we are notified via
+ * a callback whenever someone signals the underlying eventfd
+ */
+ init_waitqueue_func_entry(&irqfd->wait, irqfd_wakeup);
+ init_poll_funcptr(&irqfd->pt, irqfd_ptable_queue_proc);
+
+ spin_lock_irq(&gzvm->irqfds.lock);
+
+ ret = 0;
+ list_for_each_entry(tmp, &gzvm->irqfds.items, list) {
+ if (irqfd->eventfd != tmp->eventfd)
+ continue;
+ /* This fd is used for another irq already. */
+ pr_err("already used: gsi=%d fd=%d\n", args->gsi, args->fd);
+ ret = -EBUSY;
+ spin_unlock_irq(&gzvm->irqfds.lock);
+ goto fail;
+ }
+
+ idx = srcu_read_lock(&gzvm->irq_srcu);
+
+ list_add_tail(&irqfd->list, &gzvm->irqfds.items);
+
+ spin_unlock_irq(&gzvm->irqfds.lock);
+
+ /*
+ * Check if there was an event already pending on the eventfd
+ * before we registered, and trigger it as if we didn't miss it.
+ */
+ events = vfs_poll(f.file, &irqfd->pt);
+
+ /* In case there is already a pending event */
+ if (events & EPOLLIN)
+ irqfd_set_spi(gzvm, GZVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID,
+ irqfd->gsi, 1, false);
+
+ srcu_read_unlock(&gzvm->irq_srcu, idx);
+
+ /*
+ * do not drop the file until the irqfd is fully initialized, otherwise
+ * we might race against the EPOLLHUP
+ */
+ fdput(f);
+ return 0;
+
+fail:
+ if (irqfd->resampler)
+ irqfd_resampler_shutdown(irqfd);
+
+ if (resamplefd && !IS_ERR(resamplefd))
+ eventfd_ctx_put(resamplefd);
+
+ if (eventfd && !IS_ERR(eventfd))
+ eventfd_ctx_put(eventfd);
+
+ fdput(f);
+
+out:
+ kfree(irqfd);
+ return ret;
+}
+
+static void gzvm_notify_acked_gsi(struct gzvm *gzvm, int gsi)
+{
+ struct gzvm_irq_ack_notifier *gian;
+
+ hlist_for_each_entry_srcu(gian, &gzvm->irq_ack_notifier_list,
+ link, srcu_read_lock_held(&gzvm->irq_srcu))
+ if (gian->gsi == gsi)
+ gian->irq_acked(gian);
+}
+
+void gzvm_notify_acked_irq(struct gzvm *gzvm, unsigned int gsi)
+{
+ int idx;
+
+ idx = srcu_read_lock(&gzvm->irq_srcu);
+ gzvm_notify_acked_gsi(gzvm, gsi);
+ srcu_read_unlock(&gzvm->irq_srcu, idx);
+}
+
+/**
+ * gzvm_irqfd_deassign() - Shutdown any irqfd's that match fd+gsi.
+ * @gzvm: Pointer to gzvm.
+ * @args: Pointer to gzvm_irqfd.
+ *
+ * Return:
+ * * 0 - Success.
+ * * Negative value - Failure.
+ */
+static int gzvm_irqfd_deassign(struct gzvm *gzvm, struct gzvm_irqfd *args)
+{
+ struct gzvm_kernel_irqfd *irqfd, *tmp;
+ struct eventfd_ctx *eventfd;
+
+ eventfd = eventfd_ctx_fdget(args->fd);
+ if (IS_ERR(eventfd))
+ return PTR_ERR(eventfd);
+
+ spin_lock_irq(&gzvm->irqfds.lock);
+
+ list_for_each_entry_safe(irqfd, tmp, &gzvm->irqfds.items, list) {
+ if (irqfd->eventfd == eventfd && irqfd->gsi == args->gsi)
+ irqfd_deactivate(irqfd);
+ }
+
+ spin_unlock_irq(&gzvm->irqfds.lock);
+ eventfd_ctx_put(eventfd);
+
+ /*
+ * Block until we know all outstanding shutdown jobs have completed
+ * so that we guarantee there will not be any more interrupts on this
+ * gsi once this deassign function returns.
+ */
+ flush_workqueue(irqfd_cleanup_wq);
+
+ return 0;
+}
+
+int gzvm_irqfd(struct gzvm *gzvm, struct gzvm_irqfd *args)
+{
+ for (int i = 0; i < ARRAY_SIZE(args->pad); i++) {
+ if (args->pad[i])
+ return -EINVAL;
+ }
+
+ if (args->flags &
+ ~(GZVM_IRQFD_FLAG_DEASSIGN | GZVM_IRQFD_FLAG_RESAMPLE))
+ return -EINVAL;
+
+ if (args->flags & GZVM_IRQFD_FLAG_DEASSIGN)
+ return gzvm_irqfd_deassign(gzvm, args);
+
+ return gzvm_irqfd_assign(gzvm, args);
+}
+
+/**
+ * gzvm_vm_irqfd_init() - Initialize irqfd data structure per VM
+ *
+ * @gzvm: Pointer to struct gzvm.
+ *
+ * Return:
+ * * 0 - Success.
+ * * Negative - Failure.
+ */
+int gzvm_vm_irqfd_init(struct gzvm *gzvm)
+{
+ mutex_init(&gzvm->irq_lock);
+
+ spin_lock_init(&gzvm->irqfds.lock);
+ INIT_LIST_HEAD(&gzvm->irqfds.items);
+ INIT_LIST_HEAD(&gzvm->irqfds.resampler_list);
+ if (init_srcu_struct(&gzvm->irq_srcu))
+ return -EINVAL;
+ INIT_HLIST_HEAD(&gzvm->irq_ack_notifier_list);
+ mutex_init(&gzvm->irqfds.resampler_lock);
+
+ return 0;
+}
+
+/**
+ * gzvm_vm_irqfd_release() - This function is called as the gzvm VM fd is being
+ * released. Shutdown all irqfds that still remain open.
+ * @gzvm: Pointer to gzvm.
+ */
+void gzvm_vm_irqfd_release(struct gzvm *gzvm)
+{
+ struct gzvm_kernel_irqfd *irqfd, *tmp;
+
+ spin_lock_irq(&gzvm->irqfds.lock);
+
+ list_for_each_entry_safe(irqfd, tmp, &gzvm->irqfds.items, list)
+ irqfd_deactivate(irqfd);
+
+ spin_unlock_irq(&gzvm->irqfds.lock);
+
+ /*
+ * Block until we know all outstanding shutdown jobs have completed.
+ */
+ flush_workqueue(irqfd_cleanup_wq);
+}
+
+/**
+ * gzvm_drv_irqfd_init() - Erase flushing work items when a VM exits.
+ *
+ * Return:
+ * * 0 - Success.
+ * * Negative - Failure.
+ *
+ * Create a host-wide workqueue for issuing deferred shutdown requests
+ * aggregated from all vm* instances. We need our own isolated
+ * queue to ease flushing work items when a VM exits.
+ */
+int gzvm_drv_irqfd_init(void)
+{
+ irqfd_cleanup_wq = alloc_workqueue("gzvm-irqfd-cleanup", 0, 0);
+ if (!irqfd_cleanup_wq)
+ return -ENOMEM;
+
+ return 0;
+}
+
+void gzvm_drv_irqfd_exit(void)
+{
+ destroy_workqueue(irqfd_cleanup_wq);
+}
diff --git a/drivers/virt/geniezone/gzvm_main.c b/drivers/virt/geniezone/gzvm_main.c
new file mode 100644
index 000000000000..3d970ab1dd8a
--- /dev/null
+++ b/drivers/virt/geniezone/gzvm_main.c
@@ -0,0 +1,143 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <linux/anon_inodes.h>
+#include <linux/device.h>
+#include <linux/file.h>
+#include <linux/kdev_t.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/gzvm_drv.h>
+
+/**
+ * gzvm_err_to_errno() - Convert geniezone return value to standard errno
+ *
+ * @err: Return value from geniezone function return
+ *
+ * Return: Standard errno
+ */
+int gzvm_err_to_errno(unsigned long err)
+{
+ int gz_err = (int)err;
+
+ switch (gz_err) {
+ case 0:
+ return 0;
+ case ERR_NO_MEMORY:
+ return -ENOMEM;
+ case ERR_NOT_SUPPORTED:
+ return -EOPNOTSUPP;
+ case ERR_NOT_IMPLEMENTED:
+ return -EOPNOTSUPP;
+ case ERR_FAULT:
+ return -EFAULT;
+ default:
+ break;
+ }
+
+ return -EINVAL;
+}
+
+/**
+ * gzvm_dev_ioctl_check_extension() - Check if given capability is support
+ * or not
+ *
+ * @gzvm: Pointer to struct gzvm
+ * @args: Pointer in u64 from userspace
+ *
+ * Return:
+ * * 0 - Support, no error
+ * * -EOPNOTSUPP - Not support
+ * * -EFAULT - Failed to get data from userspace
+ */
+long gzvm_dev_ioctl_check_extension(struct gzvm *gzvm, unsigned long args)
+{
+ __u64 cap;
+ void __user *argp = (void __user *)args;
+
+ if (copy_from_user(&cap, argp, sizeof(uint64_t)))
+ return -EFAULT;
+ return gzvm_arch_check_extension(gzvm, cap, argp);
+}
+
+static long gzvm_dev_ioctl(struct file *filp, unsigned int cmd,
+ unsigned long user_args)
+{
+ long ret = -ENOTTY;
+
+ switch (cmd) {
+ case GZVM_CREATE_VM:
+ ret = gzvm_dev_ioctl_create_vm(user_args);
+ break;
+ case GZVM_CHECK_EXTENSION:
+ if (!user_args)
+ return -EINVAL;
+ ret = gzvm_dev_ioctl_check_extension(NULL, user_args);
+ break;
+ default:
+ ret = -ENOTTY;
+ }
+
+ return ret;
+}
+
+static const struct file_operations gzvm_chardev_ops = {
+ .unlocked_ioctl = gzvm_dev_ioctl,
+ .llseek = noop_llseek,
+};
+
+static struct miscdevice gzvm_dev = {
+ .minor = MISC_DYNAMIC_MINOR,
+ .name = KBUILD_MODNAME,
+ .fops = &gzvm_chardev_ops,
+};
+
+static int gzvm_drv_probe(struct platform_device *pdev)
+{
+ int ret;
+
+ if (gzvm_arch_probe() != 0) {
+ dev_err(&pdev->dev, "Not found available conduit\n");
+ return -ENODEV;
+ }
+
+ ret = misc_register(&gzvm_dev);
+ if (ret)
+ return ret;
+
+ return gzvm_drv_irqfd_init();
+}
+
+static int gzvm_drv_remove(struct platform_device *pdev)
+{
+ gzvm_drv_irqfd_exit();
+ gzvm_destroy_all_vms();
+ misc_deregister(&gzvm_dev);
+ return 0;
+}
+
+static const struct of_device_id gzvm_of_match[] = {
+ { .compatible = "mediatek,geniezone-hyp", },
+ {/* sentinel */},
+};
+
+static struct platform_driver gzvm_driver = {
+ .probe = gzvm_drv_probe,
+ .remove = gzvm_drv_remove,
+ .driver = {
+ .name = KBUILD_MODNAME,
+ .owner = THIS_MODULE,
+ .of_match_table = gzvm_of_match,
+ },
+};
+
+module_platform_driver(gzvm_driver);
+
+MODULE_DEVICE_TABLE(of, gzvm_of_match);
+MODULE_AUTHOR("MediaTek");
+MODULE_DESCRIPTION("GenieZone interface for VMM");
+MODULE_LICENSE("GPL");
diff --git a/drivers/virt/geniezone/gzvm_vcpu.c b/drivers/virt/geniezone/gzvm_vcpu.c
new file mode 100644
index 000000000000..72bd122a8be7
--- /dev/null
+++ b/drivers/virt/geniezone/gzvm_vcpu.c
@@ -0,0 +1,276 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <asm/sysreg.h>
+#include <linux/anon_inodes.h>
+#include <linux/device.h>
+#include <linux/file.h>
+#include <linux/mm.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/gzvm_drv.h>
+
+/* maximum size needed for holding an integer */
+#define ITOA_MAX_LEN 12
+
+static long gzvm_vcpu_update_one_reg(struct gzvm_vcpu *vcpu,
+ void * __user argp,
+ bool is_write)
+{
+ struct gzvm_one_reg reg;
+ void __user *reg_addr;
+ u64 data = 0;
+ u64 reg_size;
+ long ret;
+
+ if (copy_from_user(&reg, argp, sizeof(reg)))
+ return -EFAULT;
+
+ reg_addr = (void __user *)reg.addr;
+ reg_size = (reg.id & GZVM_REG_SIZE_MASK) >> GZVM_REG_SIZE_SHIFT;
+ reg_size = BIT(reg_size);
+
+ if (is_write) {
+ if (copy_from_user(&data, reg_addr, reg_size))
+ return -EFAULT;
+ }
+
+ ret = gzvm_arch_vcpu_update_one_reg(vcpu, reg.id, is_write, &data);
+
+ if (ret)
+ return ret;
+
+ if (!is_write) {
+ if (copy_to_user(reg_addr, &data, reg_size))
+ return -EFAULT;
+ }
+
+ return 0;
+}
+
+/**
+ * gzvm_vcpu_handle_mmio() - Handle mmio in kernel space.
+ * @vcpu: Pointer to vcpu.
+ *
+ * Return:
+ * * true - This mmio exit has been processed.
+ * * false - This mmio exit has not been processed, require userspace.
+ */
+static bool gzvm_vcpu_handle_mmio(struct gzvm_vcpu *vcpu)
+{
+ __u64 addr;
+ __u32 len;
+ const void *val_ptr;
+
+ /* So far, we don't have in-kernel mmio read handler */
+ if (!vcpu->run->mmio.is_write)
+ return false;
+ addr = vcpu->run->mmio.phys_addr;
+ len = vcpu->run->mmio.size;
+ val_ptr = &vcpu->run->mmio.data;
+
+ return gzvm_ioevent_write(vcpu, addr, len, val_ptr);
+}
+
+/**
+ * gzvm_vcpu_run() - Handle vcpu run ioctl, entry point to guest and exit
+ * point from guest
+ * @vcpu: Pointer to struct gzvm_vcpu
+ * @argp: Pointer to struct gzvm_vcpu_run in userspace
+ *
+ * Return:
+ * * 0 - Success.
+ * * Negative - Failure.
+ */
+static long gzvm_vcpu_run(struct gzvm_vcpu *vcpu, void * __user argp)
+{
+ bool need_userspace = false;
+ u64 exit_reason = 0;
+
+ if (copy_from_user(vcpu->run, argp, sizeof(struct gzvm_vcpu_run)))
+ return -EFAULT;
+
+ for (int i = 0; i < ARRAY_SIZE(vcpu->run->padding1); i++) {
+ if (vcpu->run->padding1[i])
+ return -EINVAL;
+ }
+
+ if (vcpu->run->immediate_exit == 1)
+ return -EINTR;
+
+ while (!need_userspace && !signal_pending(current)) {
+ gzvm_arch_vcpu_run(vcpu, &exit_reason);
+
+ switch (exit_reason) {
+ case GZVM_EXIT_MMIO:
+ if (!gzvm_vcpu_handle_mmio(vcpu))
+ need_userspace = true;
+ break;
+ /**
+ * it's geniezone's responsibility to fill corresponding data
+ * structure
+ */
+ case GZVM_EXIT_HYPERCALL:
+ fallthrough;
+ case GZVM_EXIT_EXCEPTION:
+ fallthrough;
+ case GZVM_EXIT_DEBUG:
+ fallthrough;
+ case GZVM_EXIT_FAIL_ENTRY:
+ fallthrough;
+ case GZVM_EXIT_INTERNAL_ERROR:
+ fallthrough;
+ case GZVM_EXIT_SYSTEM_EVENT:
+ fallthrough;
+ case GZVM_EXIT_SHUTDOWN:
+ need_userspace = true;
+ break;
+ case GZVM_EXIT_IRQ:
+ fallthrough;
+ case GZVM_EXIT_GZ:
+ break;
+ case GZVM_EXIT_UNKNOWN:
+ fallthrough;
+ default:
+ pr_err("vcpu unknown exit\n");
+ need_userspace = true;
+ goto out;
+ }
+ }
+
+out:
+ if (copy_to_user(argp, vcpu->run, sizeof(struct gzvm_vcpu_run)))
+ return -EFAULT;
+ if (signal_pending(current)) {
+ // invoke hvc to inform gz to map memory
+ gzvm_arch_inform_exit(vcpu->gzvm->vm_id);
+ return -ERESTARTSYS;
+ }
+ return 0;
+}
+
+static long gzvm_vcpu_ioctl(struct file *filp, unsigned int ioctl,
+ unsigned long arg)
+{
+ int ret = -ENOTTY;
+ void __user *argp = (void __user *)arg;
+ struct gzvm_vcpu *vcpu = filp->private_data;
+
+ switch (ioctl) {
+ case GZVM_RUN:
+ ret = gzvm_vcpu_run(vcpu, argp);
+ break;
+ case GZVM_GET_ONE_REG:
+ /* is_write */
+ ret = gzvm_vcpu_update_one_reg(vcpu, argp, false);
+ break;
+ case GZVM_SET_ONE_REG:
+ /* is_write */
+ ret = gzvm_vcpu_update_one_reg(vcpu, argp, true);
+ break;
+ default:
+ break;
+ }
+
+ return ret;
+}
+
+static const struct file_operations gzvm_vcpu_fops = {
+ .unlocked_ioctl = gzvm_vcpu_ioctl,
+ .llseek = noop_llseek,
+};
+
+/* caller must hold the vm lock */
+static void gzvm_destroy_vcpu(struct gzvm_vcpu *vcpu)
+{
+ if (!vcpu)
+ return;
+
+ gzvm_arch_destroy_vcpu(vcpu->gzvm->vm_id, vcpu->vcpuid);
+ /* clean guest's data */
+ memset(vcpu->run, 0, GZVM_VCPU_RUN_MAP_SIZE);
+ free_pages_exact(vcpu->run, GZVM_VCPU_RUN_MAP_SIZE);
+ kfree(vcpu);
+}
+
+/**
+ * gzvm_destroy_vcpus() - Destroy all vcpus, caller has to hold the vm lock
+ *
+ * @gzvm: vm struct that owns the vcpus
+ */
+void gzvm_destroy_vcpus(struct gzvm *gzvm)
+{
+ int i;
+
+ for (i = 0; i < GZVM_MAX_VCPUS; i++) {
+ gzvm_destroy_vcpu(gzvm->vcpus[i]);
+ gzvm->vcpus[i] = NULL;
+ }
+}
+
+/* create_vcpu_fd() - Allocates an inode for the vcpu. */
+static int create_vcpu_fd(struct gzvm_vcpu *vcpu)
+{
+ /* sizeof("gzvm-vcpu:") + max(strlen(itoa(vcpuid))) + null */
+ char name[10 + ITOA_MAX_LEN + 1];
+
+ snprintf(name, sizeof(name), "gzvm-vcpu:%d", vcpu->vcpuid);
+ return anon_inode_getfd(name, &gzvm_vcpu_fops, vcpu, O_RDWR | O_CLOEXEC);
+}
+
+/**
+ * gzvm_vm_ioctl_create_vcpu() - for GZVM_CREATE_VCPU
+ * @gzvm: Pointer to struct gzvm
+ * @cpuid: equals arg
+ *
+ * Return: Fd of vcpu, negative errno if error occurs
+ */
+int gzvm_vm_ioctl_create_vcpu(struct gzvm *gzvm, u32 cpuid)
+{
+ struct gzvm_vcpu *vcpu;
+ int ret;
+
+ if (cpuid >= GZVM_MAX_VCPUS)
+ return -EINVAL;
+
+ vcpu = kzalloc(sizeof(*vcpu), GFP_KERNEL);
+ if (!vcpu)
+ return -ENOMEM;
+
+ /**
+ * Allocate 2 pages for data sharing between driver and gz hypervisor
+ *
+ * |- page 0 -|- page 1 -|
+ * |gzvm_vcpu_run|......|hwstate|.......|
+ *
+ */
+ vcpu->run = alloc_pages_exact(GZVM_VCPU_RUN_MAP_SIZE,
+ GFP_KERNEL_ACCOUNT | __GFP_ZERO);
+ if (!vcpu->run) {
+ ret = -ENOMEM;
+ goto free_vcpu;
+ }
+ vcpu->hwstate = (void *)vcpu->run + PAGE_SIZE;
+ vcpu->vcpuid = cpuid;
+ vcpu->gzvm = gzvm;
+ mutex_init(&vcpu->lock);
+
+ ret = gzvm_arch_create_vcpu(gzvm->vm_id, vcpu->vcpuid, vcpu->run);
+ if (ret < 0)
+ goto free_vcpu_run;
+
+ ret = create_vcpu_fd(vcpu);
+ if (ret < 0)
+ goto free_vcpu_run;
+ gzvm->vcpus[cpuid] = vcpu;
+
+ return ret;
+
+free_vcpu_run:
+ free_pages_exact(vcpu->run, GZVM_VCPU_RUN_MAP_SIZE);
+free_vcpu:
+ kfree(vcpu);
+ return ret;
+}
diff --git a/drivers/virt/geniezone/gzvm_vm.c b/drivers/virt/geniezone/gzvm_vm.c
new file mode 100644
index 000000000000..8e9967b754df
--- /dev/null
+++ b/drivers/virt/geniezone/gzvm_vm.c
@@ -0,0 +1,539 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#include <linux/anon_inodes.h>
+#include <linux/file.h>
+#include <linux/kdev_t.h>
+#include <linux/mm.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/gzvm_drv.h>
+#include "gzvm_common.h"
+
+static DEFINE_MUTEX(gzvm_list_lock);
+static LIST_HEAD(gzvm_list);
+
+/**
+ * hva_to_pa_fast() - converts hva to pa in generic fast way
+ * @hva: Host virtual address.
+ *
+ * Return: 0 if translation error
+ */
+static u64 hva_to_pa_fast(u64 hva)
+{
+ struct page *page[1];
+
+ u64 pfn;
+
+ if (get_user_page_fast_only(hva, 0, page)) {
+ pfn = page_to_phys(page[0]);
+ put_page((struct page *)page);
+ return pfn;
+ } else {
+ return 0;
+ }
+}
+
+/**
+ * hva_to_pa_slow() - note that this function may sleep
+ * @hva: Host virtual address.
+ *
+ * Return: 0 if translation error
+ */
+static u64 hva_to_pa_slow(u64 hva)
+{
+ struct page *page;
+ int npages;
+ u64 pfn;
+
+ npages = get_user_pages_unlocked(hva, 1, &page, 0);
+ if (npages != 1)
+ return 0;
+
+ pfn = page_to_phys(page);
+ put_page(page);
+
+ return pfn;
+}
+
+static u64 gzvm_gfn_to_hva_memslot(struct gzvm_memslot *memslot, u64 gfn)
+{
+ u64 offset = gfn - memslot->base_gfn;
+
+ return memslot->userspace_addr + offset * PAGE_SIZE;
+}
+
+static u64 __gzvm_gfn_to_pfn_memslot(struct gzvm_memslot *memslot, u64 gfn)
+{
+ u64 hva, pa;
+
+ hva = gzvm_gfn_to_hva_memslot(memslot, gfn);
+
+ pa = gzvm_hva_to_pa_arch(hva);
+ if (pa != 0)
+ return PHYS_PFN(pa);
+
+ pa = hva_to_pa_fast(hva);
+ if (pa)
+ return PHYS_PFN(pa);
+
+ pa = hva_to_pa_slow(hva);
+ if (pa)
+ return PHYS_PFN(pa);
+
+ return 0;
+}
+
+/**
+ * gzvm_gfn_to_pfn_memslot() - Translate gfn (guest ipa) to pfn (host pa),
+ * result is in @pfn
+ * @memslot: Pointer to struct gzvm_memslot.
+ * @gfn: Guest frame number.
+ * @pfn: Host page frame number.
+ *
+ * Return:
+ * * 0 - Succeed
+ * * -EFAULT - Failed to convert
+ */
+static int gzvm_gfn_to_pfn_memslot(struct gzvm_memslot *memslot, u64 gfn,
+ u64 *pfn)
+{
+ u64 __pfn;
+
+ if (!memslot)
+ return -EFAULT;
+
+ __pfn = __gzvm_gfn_to_pfn_memslot(memslot, gfn);
+ if (__pfn == 0) {
+ *pfn = 0;
+ return -EFAULT;
+ }
+
+ *pfn = __pfn;
+
+ return 0;
+}
+
+/**
+ * fill_constituents() - Populate pa to buffer until full
+ * @consti: Pointer to struct mem_region_addr_range.
+ * @consti_cnt: Constituent count.
+ * @max_nr_consti: Maximum number of constituent count.
+ * @gfn: Guest frame number.
+ * @total_pages: Total page numbers.
+ * @slot: Pointer to struct gzvm_memslot.
+ *
+ * Return: how many pages we've fill in, negative if error
+ */
+static int fill_constituents(struct mem_region_addr_range *consti,
+ int *consti_cnt, int max_nr_consti, u64 gfn,
+ u32 total_pages, struct gzvm_memslot *slot)
+{
+ u64 pfn, prev_pfn, gfn_end;
+ int nr_pages = 1;
+ int i = 0;
+
+ if (unlikely(total_pages == 0))
+ return -EINVAL;
+ gfn_end = gfn + total_pages;
+
+ /* entry 0 */
+ if (gzvm_gfn_to_pfn_memslot(slot, gfn, &pfn) != 0)
+ return -EFAULT;
+ consti[0].address = PFN_PHYS(pfn);
+ consti[0].pg_cnt = 1;
+ gfn++;
+ prev_pfn = pfn;
+
+ while (i < max_nr_consti && gfn < gfn_end) {
+ if (gzvm_gfn_to_pfn_memslot(slot, gfn, &pfn) != 0)
+ return -EFAULT;
+ if (pfn == (prev_pfn + 1)) {
+ consti[i].pg_cnt++;
+ } else {
+ i++;
+ if (i >= max_nr_consti)
+ break;
+ consti[i].address = PFN_PHYS(pfn);
+ consti[i].pg_cnt = 1;
+ }
+ prev_pfn = pfn;
+ gfn++;
+ nr_pages++;
+ }
+ if (i != max_nr_consti)
+ i++;
+ *consti_cnt = i;
+
+ return nr_pages;
+}
+
+/* register_memslot_addr_range() - Register memory region to GZ */
+static int
+register_memslot_addr_range(struct gzvm *gzvm, struct gzvm_memslot *memslot)
+{
+ struct gzvm_memory_region_ranges *region;
+ u32 buf_size;
+ int max_nr_consti, remain_pages;
+ u64 gfn, gfn_end;
+
+ buf_size = PAGE_SIZE * 2;
+ region = alloc_pages_exact(buf_size, GFP_KERNEL);
+ if (!region)
+ return -ENOMEM;
+ max_nr_consti = (buf_size - sizeof(*region)) /
+ sizeof(struct mem_region_addr_range);
+
+ region->slot = memslot->slot_id;
+ remain_pages = memslot->npages;
+ gfn = memslot->base_gfn;
+ gfn_end = gfn + remain_pages;
+ while (gfn < gfn_end) {
+ int nr_pages;
+
+ nr_pages = fill_constituents(region->constituents,
+ &region->constituent_cnt,
+ max_nr_consti, gfn,
+ remain_pages, memslot);
+ if (nr_pages < 0) {
+ pr_err("Failed to fill constituents\n");
+ free_pages_exact(region, buf_size);
+ return nr_pages;
+ }
+ region->gpa = PFN_PHYS(gfn);
+ region->total_pages = nr_pages;
+
+ remain_pages -= nr_pages;
+ gfn += nr_pages;
+
+ if (gzvm_arch_set_memregion(gzvm->vm_id, buf_size,
+ virt_to_phys(region))) {
+ pr_err("Failed to register memregion to hypervisor\n");
+ free_pages_exact(region, buf_size);
+ return -EFAULT;
+ }
+ }
+ free_pages_exact(region, buf_size);
+ return 0;
+}
+
+/**
+ * gzvm_vm_ioctl_set_memory_region() - Set memory region of guest
+ * @gzvm: Pointer to struct gzvm.
+ * @mem: Input memory region from user.
+ *
+ * Return:
+ * * -EXIO - memslot is out-of-range
+ * * -EFAULT - Cannot find corresponding vma
+ * * -EINVAL - region size and vma size does not match
+ */
+static int
+gzvm_vm_ioctl_set_memory_region(struct gzvm *gzvm,
+ struct gzvm_userspace_memory_region *mem)
+{
+ int ret;
+ struct vm_area_struct *vma;
+ struct gzvm_memslot *memslot;
+ unsigned long size;
+ __u32 slot;
+
+ slot = mem->slot;
+ if (slot >= GZVM_MAX_MEM_REGION)
+ return -ENXIO;
+ memslot = &gzvm->memslot[slot];
+
+ vma = vma_lookup(gzvm->mm, mem->userspace_addr);
+ if (!vma)
+ return -EFAULT;
+
+ size = vma->vm_end - vma->vm_start;
+ if (size != mem->memory_size)
+ return -EINVAL;
+
+ memslot->base_gfn = __phys_to_pfn(mem->guest_phys_addr);
+ memslot->npages = size >> PAGE_SHIFT;
+ memslot->userspace_addr = mem->userspace_addr;
+ memslot->vma = vma;
+ memslot->flags = mem->flags;
+ memslot->slot_id = mem->slot;
+
+ ret = gzvm_arch_memregion_purpose(gzvm, mem);
+ if (ret) {
+ pr_err("Failed to config memory region for the specified purpose\n");
+ return -EFAULT;
+ }
+ return register_memslot_addr_range(gzvm, memslot);
+}
+
+int gzvm_irqchip_inject_irq(struct gzvm *gzvm, unsigned int vcpu_idx,
+ u32 irq_type, u32 irq, bool level)
+{
+ return gzvm_arch_inject_irq(gzvm, vcpu_idx, irq_type, irq, level);
+}
+
+static int gzvm_vm_ioctl_irq_line(struct gzvm *gzvm,
+ struct gzvm_irq_level *irq_level)
+{
+ u32 irq = irq_level->irq;
+ u32 irq_type, vcpu_idx, vcpu2_idx, irq_num;
+ bool level = irq_level->level;
+
+ irq_type = FIELD_GET(GZVM_IRQ_LINE_TYPE, irq);
+ vcpu_idx = FIELD_GET(GZVM_IRQ_LINE_VCPU, irq);
+ vcpu2_idx = FIELD_GET(GZVM_IRQ_LINE_VCPU2, irq) * (GZVM_IRQ_VCPU_MASK + 1);
+ irq_num = FIELD_GET(GZVM_IRQ_LINE_NUM, irq);
+
+ return gzvm_irqchip_inject_irq(gzvm, vcpu_idx + vcpu2_idx, irq_type, irq_num,
+ level);
+}
+
+static int gzvm_vm_ioctl_create_device(struct gzvm *gzvm, void __user *argp)
+{
+ struct gzvm_create_device *gzvm_dev;
+ void *dev_data = NULL;
+ int ret;
+
+ gzvm_dev = (struct gzvm_create_device *)alloc_pages_exact(PAGE_SIZE,
+ GFP_KERNEL);
+ if (!gzvm_dev)
+ return -ENOMEM;
+ if (copy_from_user(gzvm_dev, argp, sizeof(*gzvm_dev))) {
+ ret = -EFAULT;
+ goto err_free_dev;
+ }
+
+ if (gzvm_dev->attr_addr != 0 && gzvm_dev->attr_size != 0) {
+ size_t attr_size = gzvm_dev->attr_size;
+ void __user *attr_addr = (void __user *)gzvm_dev->attr_addr;
+
+ /* Size of device specific data should not be over a page. */
+ if (attr_size > PAGE_SIZE)
+ return -EINVAL;
+
+ dev_data = alloc_pages_exact(attr_size, GFP_KERNEL);
+ if (!dev_data) {
+ ret = -ENOMEM;
+ goto err_free_dev;
+ }
+
+ if (copy_from_user(dev_data, attr_addr, attr_size)) {
+ ret = -EFAULT;
+ goto err_free_dev_data;
+ }
+ gzvm_dev->attr_addr = virt_to_phys(dev_data);
+ }
+
+ ret = gzvm_arch_create_device(gzvm->vm_id, gzvm_dev);
+err_free_dev_data:
+ if (dev_data)
+ free_pages_exact(dev_data, 0);
+err_free_dev:
+ free_pages_exact(gzvm_dev, 0);
+ return ret;
+}
+
+static int gzvm_vm_ioctl_enable_cap(struct gzvm *gzvm,
+ struct gzvm_enable_cap *cap,
+ void __user *argp)
+{
+ return gzvm_vm_ioctl_arch_enable_cap(gzvm, cap, argp);
+}
+
+/* gzvm_vm_ioctl() - Ioctl handler of VM FD */
+static long gzvm_vm_ioctl(struct file *filp, unsigned int ioctl,
+ unsigned long arg)
+{
+ long ret = -ENOTTY;
+ void __user *argp = (void __user *)arg;
+ struct gzvm *gzvm = filp->private_data;
+
+ switch (ioctl) {
+ case GZVM_CHECK_EXTENSION: {
+ ret = gzvm_dev_ioctl_check_extension(gzvm, arg);
+ break;
+ }
+ case GZVM_CREATE_VCPU: {
+ ret = gzvm_vm_ioctl_create_vcpu(gzvm, arg);
+ break;
+ }
+ case GZVM_SET_USER_MEMORY_REGION: {
+ struct gzvm_userspace_memory_region userspace_mem;
+
+ if (copy_from_user(&userspace_mem, argp, sizeof(userspace_mem))) {
+ ret = -EFAULT;
+ goto out;
+ }
+ ret = gzvm_vm_ioctl_set_memory_region(gzvm, &userspace_mem);
+ break;
+ }
+ case GZVM_IRQ_LINE: {
+ struct gzvm_irq_level irq_event;
+
+ if (copy_from_user(&irq_event, argp, sizeof(irq_event))) {
+ ret = -EFAULT;
+ goto out;
+ }
+ ret = gzvm_vm_ioctl_irq_line(gzvm, &irq_event);
+ break;
+ }
+ case GZVM_CREATE_DEVICE: {
+ ret = gzvm_vm_ioctl_create_device(gzvm, argp);
+ break;
+ }
+ case GZVM_IRQFD: {
+ struct gzvm_irqfd data;
+
+ if (copy_from_user(&data, argp, sizeof(data))) {
+ ret = -EFAULT;
+ goto out;
+ }
+ ret = gzvm_irqfd(gzvm, &data);
+ break;
+ }
+ case GZVM_IOEVENTFD: {
+ struct gzvm_ioeventfd data;
+
+ if (copy_from_user(&data, argp, sizeof(data))) {
+ ret = -EFAULT;
+ goto out;
+ }
+ ret = gzvm_ioeventfd(gzvm, &data);
+ break;
+ }
+ case GZVM_ENABLE_CAP: {
+ struct gzvm_enable_cap cap;
+
+ if (copy_from_user(&cap, argp, sizeof(cap))) {
+ ret = -EFAULT;
+ goto out;
+ }
+ ret = gzvm_vm_ioctl_enable_cap(gzvm, &cap, argp);
+ break;
+ }
+ case GZVM_SET_DTB_CONFIG: {
+ struct gzvm_dtb_config cfg;
+
+ if (copy_from_user(&cfg, argp, sizeof(cfg))) {
+ ret = -EFAULT;
+ goto out;
+ }
+ ret = gzvm_arch_set_dtb_config(gzvm, &cfg);
+ break;
+ }
+ default:
+ ret = -ENOTTY;
+ }
+out:
+ return ret;
+}
+
+static void gzvm_destroy_vm(struct gzvm *gzvm)
+{
+ pr_debug("VM-%u is going to be destroyed\n", gzvm->vm_id);
+
+ mutex_lock(&gzvm->lock);
+
+ gzvm_vm_irqfd_release(gzvm);
+ gzvm_destroy_vcpus(gzvm);
+ gzvm_arch_destroy_vm(gzvm->vm_id);
+
+ mutex_lock(&gzvm_list_lock);
+ list_del(&gzvm->vm_list);
+ mutex_unlock(&gzvm_list_lock);
+
+ mutex_unlock(&gzvm->lock);
+
+ kfree(gzvm);
+}
+
+static int gzvm_vm_release(struct inode *inode, struct file *filp)
+{
+ struct gzvm *gzvm = filp->private_data;
+
+ gzvm_destroy_vm(gzvm);
+ return 0;
+}
+
+static const struct file_operations gzvm_vm_fops = {
+ .release = gzvm_vm_release,
+ .unlocked_ioctl = gzvm_vm_ioctl,
+ .llseek = noop_llseek,
+};
+
+static struct gzvm *gzvm_create_vm(unsigned long vm_type)
+{
+ int ret;
+ struct gzvm *gzvm;
+
+ gzvm = kzalloc(sizeof(*gzvm), GFP_KERNEL);
+ if (!gzvm)
+ return ERR_PTR(-ENOMEM);
+
+ ret = gzvm_arch_create_vm(vm_type);
+ if (ret < 0) {
+ kfree(gzvm);
+ return ERR_PTR(ret);
+ }
+
+ gzvm->vm_id = ret;
+ gzvm->mm = current->mm;
+ mutex_init(&gzvm->lock);
+
+ ret = gzvm_vm_irqfd_init(gzvm);
+ if (ret) {
+ pr_err("Failed to initialize irqfd\n");
+ kfree(gzvm);
+ return ERR_PTR(ret);
+ }
+
+ ret = gzvm_init_ioeventfd(gzvm);
+ if (ret) {
+ pr_err("Failed to initialize ioeventfd\n");
+ kfree(gzvm);
+ return ERR_PTR(ret);
+ }
+
+ mutex_lock(&gzvm_list_lock);
+ list_add(&gzvm->vm_list, &gzvm_list);
+ mutex_unlock(&gzvm_list_lock);
+
+ pr_debug("VM-%u is created\n", gzvm->vm_id);
+
+ return gzvm;
+}
+
+/**
+ * gzvm_dev_ioctl_create_vm - Create vm fd
+ * @vm_type: VM type. Only supports Linux VM now.
+ *
+ * Return: fd of vm, negative if error
+ */
+int gzvm_dev_ioctl_create_vm(unsigned long vm_type)
+{
+ struct gzvm *gzvm;
+
+ gzvm = gzvm_create_vm(vm_type);
+ if (IS_ERR(gzvm))
+ return PTR_ERR(gzvm);
+
+ return anon_inode_getfd("gzvm-vm", &gzvm_vm_fops, gzvm,
+ O_RDWR | O_CLOEXEC);
+}
+
+void gzvm_destroy_all_vms(void)
+{
+ struct gzvm *gzvm, *tmp;
+
+ mutex_lock(&gzvm_list_lock);
+ if (list_empty(&gzvm_list))
+ goto out;
+
+ list_for_each_entry_safe(gzvm, tmp, &gzvm_list, vm_list)
+ gzvm_destroy_vm(gzvm);
+
+out:
+ mutex_unlock(&gzvm_list_lock);
+}
diff --git a/drivers/virt/gunyah/gunyah_platform_hooks.c b/drivers/virt/gunyah/gunyah_platform_hooks.c
index 60da0e154e98..905515b4589e 100644
--- a/drivers/virt/gunyah/gunyah_platform_hooks.c
+++ b/drivers/virt/gunyah/gunyah_platform_hooks.c
@@ -9,7 +9,7 @@
#include "rsc_mgr.h"
-static struct gh_rm_platform_ops *rm_platform_ops;
+static const struct gh_rm_platform_ops *rm_platform_ops;
static DECLARE_RWSEM(rm_platform_ops_lock);
int gh_rm_platform_pre_mem_share(struct gh_rm *rm, struct gh_rm_mem_parcel *mem_parcel)
@@ -36,7 +36,7 @@ int gh_rm_platform_post_mem_reclaim(struct gh_rm *rm, struct gh_rm_mem_parcel *m
}
EXPORT_SYMBOL_GPL(gh_rm_platform_post_mem_reclaim);
-int gh_rm_register_platform_ops(struct gh_rm_platform_ops *platform_ops)
+int gh_rm_register_platform_ops(const struct gh_rm_platform_ops *platform_ops)
{
int ret = 0;
@@ -50,7 +50,7 @@ int gh_rm_register_platform_ops(struct gh_rm_platform_ops *platform_ops)
}
EXPORT_SYMBOL_GPL(gh_rm_register_platform_ops);
-void gh_rm_unregister_platform_ops(struct gh_rm_platform_ops *platform_ops)
+void gh_rm_unregister_platform_ops(const struct gh_rm_platform_ops *platform_ops)
{
down_write(&rm_platform_ops_lock);
if (rm_platform_ops == platform_ops)
@@ -61,10 +61,10 @@ EXPORT_SYMBOL_GPL(gh_rm_unregister_platform_ops);
static void _devm_gh_rm_unregister_platform_ops(void *data)
{
- gh_rm_unregister_platform_ops(data);
+ gh_rm_unregister_platform_ops((const struct gh_rm_platform_ops *)data);
}
-int devm_gh_rm_register_platform_ops(struct device *dev, struct gh_rm_platform_ops *ops)
+int devm_gh_rm_register_platform_ops(struct device *dev, const struct gh_rm_platform_ops *ops)
{
int ret;
@@ -72,7 +72,7 @@ int devm_gh_rm_register_platform_ops(struct device *dev, struct gh_rm_platform_o
if (ret)
return ret;
- return devm_add_action(dev, _devm_gh_rm_unregister_platform_ops, ops);
+ return devm_add_action(dev, _devm_gh_rm_unregister_platform_ops, (void *)ops);
}
EXPORT_SYMBOL_GPL(devm_gh_rm_register_platform_ops);
diff --git a/drivers/virt/gunyah/gunyah_qcom.c b/drivers/virt/gunyah/gunyah_qcom.c
index 996688446b06..be5363f53bd8 100644
--- a/drivers/virt/gunyah/gunyah_qcom.c
+++ b/drivers/virt/gunyah/gunyah_qcom.c
@@ -38,36 +38,40 @@ static int qcom_scm_gh_rm_pre_mem_share(void *rm, struct gh_rm_mem_parcel *mem_p
new_perms[n].perm |= QCOM_SCM_PERM_READ;
}
- src = (1ull << QCOM_SCM_VMID_HLOS);
+ src = BIT_ULL(QCOM_SCM_VMID_HLOS);
for (i = 0; i < mem_parcel->n_mem_entries; i++) {
src_cpy = src;
ret = qcom_scm_assign_mem(le64_to_cpu(mem_parcel->mem_entries[i].phys_addr),
le64_to_cpu(mem_parcel->mem_entries[i].size),
&src_cpy, new_perms, mem_parcel->n_acl_entries);
- if (ret) {
- src = 0;
- for (n = 0; n < mem_parcel->n_acl_entries; n++) {
- vmid = le16_to_cpu(mem_parcel->acl_entries[n].vmid);
- if (vmid <= QCOM_SCM_MAX_MANAGED_VMID)
- src |= (1ull << vmid);
- else
- src |= (1ull << QCOM_SCM_RM_MANAGED_VMID);
- }
-
- new_perms[0].vmid = QCOM_SCM_VMID_HLOS;
-
- for (i--; i >= 0; i--) {
- src_cpy = src;
- WARN_ON_ONCE(qcom_scm_assign_mem(
- le64_to_cpu(mem_parcel->mem_entries[i].phys_addr),
- le64_to_cpu(mem_parcel->mem_entries[i].size),
- &src_cpy, new_perms, 1));
- }
+ if (ret)
break;
- }
}
+ if (!ret)
+ goto out;
+
+ src = 0;
+ for (n = 0; n < mem_parcel->n_acl_entries; n++) {
+ vmid = le16_to_cpu(mem_parcel->acl_entries[n].vmid);
+ if (vmid <= QCOM_SCM_MAX_MANAGED_VMID)
+ src |= BIT_ULL(vmid);
+ else
+ src |= BIT_ULL(QCOM_SCM_RM_MANAGED_VMID);
+ }
+
+ new_perms[0].vmid = QCOM_SCM_VMID_HLOS;
+
+ for (i--; i >= 0; i--) {
+ src_cpy = src;
+ WARN_ON_ONCE(qcom_scm_assign_mem(
+ le64_to_cpu(mem_parcel->mem_entries[i].phys_addr),
+ le64_to_cpu(mem_parcel->mem_entries[i].size),
+ &src_cpy, new_perms, 1));
+ }
+
+out:
kfree(new_perms);
return ret;
}
@@ -117,13 +121,15 @@ static bool gh_has_qcom_extensions(void)
{
struct arm_smccc_res res;
uuid_t uuid;
+ u32 *up;
arm_smccc_1_1_smc(GH_QCOM_EXT_CALL_UUID_ID, &res);
- ((u32 *)&uuid.b[0])[0] = lower_32_bits(res.a0);
- ((u32 *)&uuid.b[0])[1] = lower_32_bits(res.a1);
- ((u32 *)&uuid.b[0])[2] = lower_32_bits(res.a2);
- ((u32 *)&uuid.b[0])[3] = lower_32_bits(res.a3);
+ up = (u32 *)&uuid.b[0];
+ up[0] = lower_32_bits(res.a0);
+ up[1] = lower_32_bits(res.a1);
+ up[2] = lower_32_bits(res.a2);
+ up[3] = lower_32_bits(res.a3);
return uuid_equal(&uuid, &QCOM_EXT_UUID);
}
diff --git a/drivers/virt/gunyah/gunyah_vcpu.c b/drivers/virt/gunyah/gunyah_vcpu.c
index 4f0bbd58a205..82a0cbf55caf 100644
--- a/drivers/virt/gunyah/gunyah_vcpu.c
+++ b/drivers/virt/gunyah/gunyah_vcpu.c
@@ -335,6 +335,8 @@ static bool gh_vcpu_populate(struct gh_vm_resource_ticket *ticket, struct gh_res
if (ret)
pr_warn("Failed to request vcpu irq %d: %d", vcpu->rsc->irq, ret);
+ enable_irq_wake(vcpu->rsc->irq);
+
out:
mutex_unlock(&vcpu->run_lock);
return !ret;
diff --git a/drivers/virt/gunyah/rsc_mgr.c b/drivers/virt/gunyah/rsc_mgr.c
index 2df3283f0b45..170a2d37da68 100644
--- a/drivers/virt/gunyah/rsc_mgr.c
+++ b/drivers/virt/gunyah/rsc_mgr.c
@@ -123,7 +123,7 @@ struct gh_rm_connection {
/**
* struct gh_rm - private data for communicating w/Gunyah resource manager
- * @dev: pointer to device
+ * @dev: pointer to RM platform device
* @tx_ghrsc: message queue resource to TX to RM
* @rx_ghrsc: message queue resource to RX from RM
* @msgq: mailbox instance of TX/RX resources above
@@ -160,10 +160,10 @@ struct gh_rm {
};
/**
- * gh_rm_remap_error() - Remap Gunyah resource manager errors into a Linux error code
+ * gh_rm_error_remap() - Remap Gunyah resource manager errors into a Linux error code
* @rm_error: "Standard" return value from Gunyah resource manager
*/
-static inline int gh_rm_remap_error(enum gh_rm_error rm_error)
+static inline int gh_rm_error_remap(enum gh_rm_error rm_error)
{
switch (rm_error) {
case GH_RM_ERROR_OK:
@@ -226,7 +226,7 @@ static int gh_rm_irq_domain_alloc(struct irq_domain *d, unsigned int virq, unsig
void *arg)
{
struct gh_irq_chip_data *chip_data, *spec = arg;
- struct irq_fwspec parent_fwspec;
+ struct irq_fwspec parent_fwspec = {};
struct gh_rm *rm = d->host_data;
u32 gh_virq = spec->gh_virq;
int ret;
@@ -300,7 +300,7 @@ struct gh_resource *gh_rm_alloc_resource(struct gh_rm *rm, struct gh_rm_hyp_reso
ghrsc->capid = le64_to_cpu(hyp_resource->cap_id);
ghrsc->irq = IRQ_NOTCONNECTED;
ghrsc->rm_label = le32_to_cpu(hyp_resource->resource_label);
- if (hyp_resource->virq) {
+ if (hyp_resource->virq && hyp_resource->virq != GH_RM_RESOURCE_NO_VIRQ) {
struct gh_irq_chip_data irq_data = {
.gh_virq = le32_to_cpu(hyp_resource->virq),
};
@@ -309,7 +309,9 @@ struct gh_resource *gh_rm_alloc_resource(struct gh_rm *rm, struct gh_rm_hyp_reso
if (ret < 0) {
dev_err(rm->dev,
"Failed to allocate interrupt for resource %d label: %d: %d\n",
- ghrsc->type, ghrsc->rm_label, ghrsc->irq);
+ ghrsc->type, ghrsc->rm_label, ret);
+ kfree(ghrsc);
+ return NULL;
} else {
ghrsc->irq = ret;
}
@@ -417,7 +419,7 @@ static void gh_rm_process_notif(struct gh_rm *rm, void *msg, size_t msg_size)
rm->active_rx_connection = connection;
}
-static void gh_rm_process_rply(struct gh_rm *rm, void *msg, size_t msg_size)
+static void gh_rm_process_reply(struct gh_rm *rm, void *msg, size_t msg_size)
{
struct gh_rm_rpc_reply_hdr *reply_hdr = msg;
struct gh_rm_connection *connection;
@@ -514,7 +516,7 @@ static void gh_rm_msgq_rx_data(struct mbox_client *cl, void *mssg)
gh_rm_process_notif(rm, msg, msg_size);
break;
case RM_RPC_TYPE_REPLY:
- gh_rm_process_rply(rm, msg, msg_size);
+ gh_rm_process_reply(rm, msg, msg_size);
break;
case RM_RPC_TYPE_CONTINUATION:
gh_rm_process_cont(rm, rm->active_rx_connection, msg, msg_size);
@@ -565,10 +567,7 @@ static int gh_rm_send_request(struct gh_rm *rm, u32 message_id,
hdr_template.seq = cpu_to_le16(connection->reply.seq);
hdr_template.msg_id = cpu_to_le32(message_id);
- ret = mutex_lock_interruptible(&rm->send_lock);
- if (ret)
- return ret;
-
+ mutex_lock(&rm->send_lock);
do {
msg = kmem_cache_zalloc(rm->cache, GFP_KERNEL);
if (!msg) {
@@ -665,10 +664,10 @@ int gh_rm_call(void *_rm, u32 message_id, const void *req_buf, size_t req_buf_si
if (ret < 0)
goto out;
- /* Wait for response */
- ret = wait_for_completion_interruptible(&connection->reply.seq_done);
- if (ret)
- goto out;
+ /* Wait for response. Uninterruptible because rollback based on what RM did to VM
+ * requires us to know how RM handled the call.
+ */
+ wait_for_completion(&connection->reply.seq_done);
/* Check for internal (kernel) error waiting for the response */
if (connection->reply.ret) {
@@ -682,8 +681,7 @@ int gh_rm_call(void *_rm, u32 message_id, const void *req_buf, size_t req_buf_si
if (connection->reply.rm_error != GH_RM_ERROR_OK) {
dev_warn(rm->dev, "RM rejected message %08x. Error: %d\n", message_id,
connection->reply.rm_error);
- dump_stack();
- ret = gh_rm_remap_error(connection->reply.rm_error);
+ ret = gh_rm_error_remap(connection->reply.rm_error);
kfree(connection->payload);
goto out;
}
@@ -913,7 +911,6 @@ err_misc_device:
err_irq_domain:
irq_domain_remove(rm->irq_domain);
err_msgq:
- mbox_free_channel(gh_msgq_chan(&rm->msgq));
gh_msgq_remove(&rm->msgq);
err_cache:
kmem_cache_destroy(rm->cache);
@@ -928,7 +925,6 @@ static int gh_rm_drv_remove(struct platform_device *pdev)
auxiliary_device_uninit(&rm->adev);
misc_deregister(&rm->miscdev);
irq_domain_remove(rm->irq_domain);
- mbox_free_channel(gh_msgq_chan(&rm->msgq));
gh_msgq_remove(&rm->msgq);
kmem_cache_destroy(rm->cache);
diff --git a/drivers/virt/gunyah/rsc_mgr_rpc.c b/drivers/virt/gunyah/rsc_mgr_rpc.c
index f48e7df2dbef..3deb2e456866 100644
--- a/drivers/virt/gunyah/rsc_mgr_rpc.c
+++ b/drivers/virt/gunyah/rsc_mgr_rpc.c
@@ -139,7 +139,7 @@ static int _gh_rm_mem_append(struct gh_rm *rm, u32 mem_handle, bool end_append,
return -ENOMEM;
req_header = msg;
- mem_section = (void *)req_header + sizeof(struct gh_rm_mem_append_req_header);
+ mem_section = (void *)(req_header + 1);
req_header->mem_handle = cpu_to_le32(mem_handle);
if (end_append)
diff --git a/drivers/virt/gunyah/vm_mgr.c b/drivers/virt/gunyah/vm_mgr.c
index 4e824758ddf3..e643e33668b4 100644
--- a/drivers/virt/gunyah/vm_mgr.c
+++ b/drivers/virt/gunyah/vm_mgr.c
@@ -31,13 +31,10 @@ static void gh_vm_put_function(struct gh_vm_function *fn)
static struct gh_vm_function *gh_vm_get_function(u32 type)
{
struct gh_vm_function *fn;
- int r;
fn = xa_load(&gh_vm_functions, type);
if (!fn) {
- r = request_module("ghfunc:%d", type);
- if (r)
- return ERR_PTR(r > 0 ? -r : r);
+ request_module("ghfunc:%d", type);
fn = xa_load(&gh_vm_functions, type);
}
@@ -617,7 +614,7 @@ static int gh_vm_ensure_started(struct gh_vm *ghvm)
if (ret)
return ret;
/** gh_vm_start() is guaranteed to bring status out of
- * GH_RM_VM_STATUS_LOAD, thus inifitely recursive call is not
+ * GH_RM_VM_STATUS_LOAD, thus infinitely recursive call is not
* possible
*/
return gh_vm_ensure_started(ghvm);
@@ -668,10 +665,6 @@ static long gh_vm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
if (overflows_type(dtb_config.guest_phys_addr + dtb_config.size, u64))
return -EOVERFLOW;
- /* Gunyah requires that dtb_config is page aligned */
- if (!PAGE_ALIGNED(dtb_config.guest_phys_addr) || !PAGE_ALIGNED(dtb_config.size))
- return -EINVAL;
-
ghvm->dtb_config = dtb_config;
r = 0;
diff --git a/drivers/virt/gunyah/vm_mgr_mm.c b/drivers/virt/gunyah/vm_mgr_mm.c
index 627225ba4ca7..f7ddfd82910a 100644
--- a/drivers/virt/gunyah/vm_mgr_mm.c
+++ b/drivers/virt/gunyah/vm_mgr_mm.c
@@ -14,9 +14,7 @@
static bool pages_are_mergeable(struct page *a, struct page *b)
{
- if (page_to_pfn(a) + 1 != page_to_pfn(b))
- return false;
- return true;
+ return page_to_pfn(a) + 1 == page_to_pfn(b);
}
static bool gh_vm_mem_overlap(struct gh_vm_mem *a, u64 addr, u64 size)
diff --git a/fs/OWNERS b/fs/OWNERS
deleted file mode 100644
index 7780f6be0335..000000000000
--- a/fs/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-per-file {crypto,verity}/**=ebiggers@google.com
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 444302afc673..e6c9c0e08448 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -315,10 +315,10 @@ create_elf_tables(struct linux_binprm *bprm, const struct elfhdr *exec,
* Grow the stack manually; some architectures have a limit on how
* far ahead a user-space access may be in order to grow the stack.
*/
- if (mmap_read_lock_killable(mm))
+ if (mmap_write_lock_killable(mm))
return -EINTR;
- vma = find_extend_vma(mm, bprm->p);
- mmap_read_unlock(mm);
+ vma = find_extend_vma_locked(mm, bprm->p);
+ mmap_write_unlock(mm);
if (!vma)
return -EFAULT;
diff --git a/fs/cifs/fs_context.c b/fs/cifs/fs_context.c
index 89e810b27a4b..6bd713c6c869 100644
--- a/fs/cifs/fs_context.c
+++ b/fs/cifs/fs_context.c
@@ -1479,6 +1479,7 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
cifs_parse_mount_err:
kfree_sensitive(ctx->password);
+ ctx->password = NULL;
return -EINVAL;
}
diff --git a/fs/drop_caches.c b/fs/drop_caches.c
index e619c31b6bd9..b9575957a7c2 100644
--- a/fs/drop_caches.c
+++ b/fs/drop_caches.c
@@ -10,6 +10,7 @@
#include <linux/writeback.h>
#include <linux/sysctl.h>
#include <linux/gfp.h>
+#include <linux/swap.h>
#include "internal.h"
/* A global variable is a bit ugly, but it keeps the code simple */
@@ -59,6 +60,7 @@ int drop_caches_sysctl_handler(struct ctl_table *table, int write,
static int stfu;
if (sysctl_drop_caches & 1) {
+ lru_add_drain_all();
iterate_supers(drop_pagecache_sb, NULL);
count_vm_event(DROP_PAGECACHE);
}
diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index a6cfb2ac1cd1..83532525282e 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -29,11 +29,15 @@ void erofs_put_metabuf(struct erofs_buf *buf)
buf->page = NULL;
}
+/*
+ * Derive the block size from inode->i_blkbits to make compatible with
+ * anonymous inode in fscache mode.
+ */
void *erofs_bread(struct erofs_buf *buf, struct inode *inode,
erofs_blk_t blkaddr, enum erofs_kmap_type type)
{
+ erofs_off_t offset = (erofs_off_t)blkaddr << inode->i_blkbits;
struct address_space *const mapping = inode->i_mapping;
- erofs_off_t offset = blknr_to_addr(blkaddr);
pgoff_t index = offset >> PAGE_SHIFT;
struct page *page = buf->page;
struct folio *folio;
@@ -84,36 +88,32 @@ static int erofs_map_blocks_flatmode(struct inode *inode,
erofs_blk_t nblocks, lastblk;
u64 offset = map->m_la;
struct erofs_inode *vi = EROFS_I(inode);
+ struct super_block *sb = inode->i_sb;
bool tailendpacking = (vi->datalayout == EROFS_INODE_FLAT_INLINE);
- nblocks = DIV_ROUND_UP(inode->i_size, EROFS_BLKSIZ);
+ nblocks = erofs_iblks(inode);
lastblk = nblocks - tailendpacking;
/* there is no hole in flatmode */
map->m_flags = EROFS_MAP_MAPPED;
- if (offset < blknr_to_addr(lastblk)) {
- map->m_pa = blknr_to_addr(vi->raw_blkaddr) + map->m_la;
- map->m_plen = blknr_to_addr(lastblk) - offset;
+ if (offset < erofs_pos(sb, lastblk)) {
+ map->m_pa = erofs_pos(sb, vi->raw_blkaddr) + map->m_la;
+ map->m_plen = erofs_pos(sb, lastblk) - offset;
} else if (tailendpacking) {
- /* 2 - inode inline B: inode, [xattrs], inline last blk... */
- struct erofs_sb_info *sbi = EROFS_SB(inode->i_sb);
-
- map->m_pa = iloc(sbi, vi->nid) + vi->inode_isize +
- vi->xattr_isize + erofs_blkoff(map->m_la);
+ map->m_pa = erofs_iloc(inode) + vi->inode_isize +
+ vi->xattr_isize + erofs_blkoff(sb, offset);
map->m_plen = inode->i_size - offset;
/* inline data should be located in the same meta block */
- if (erofs_blkoff(map->m_pa) + map->m_plen > EROFS_BLKSIZ) {
- erofs_err(inode->i_sb,
- "inline data cross block boundary @ nid %llu",
+ if (erofs_blkoff(sb, map->m_pa) + map->m_plen > sb->s_blocksize) {
+ erofs_err(sb, "inline data cross block boundary @ nid %llu",
vi->nid);
DBG_BUGON(1);
return -EFSCORRUPTED;
}
map->m_flags |= EROFS_MAP_META;
} else {
- erofs_err(inode->i_sb,
- "internal error @ nid: %llu (size %llu), m_la 0x%llx",
+ erofs_err(sb, "internal error @ nid: %llu (size %llu), m_la 0x%llx",
vi->nid, inode->i_size, map->m_la);
DBG_BUGON(1);
return -EIO;
@@ -154,32 +154,32 @@ int erofs_map_blocks(struct inode *inode,
unit = EROFS_BLOCK_MAP_ENTRY_SIZE; /* block map */
chunknr = map->m_la >> vi->chunkbits;
- pos = ALIGN(iloc(EROFS_SB(sb), vi->nid) + vi->inode_isize +
+ pos = ALIGN(erofs_iloc(inode) + vi->inode_isize +
vi->xattr_isize, unit) + unit * chunknr;
- kaddr = erofs_read_metabuf(&buf, sb, erofs_blknr(pos), EROFS_KMAP);
+ kaddr = erofs_read_metabuf(&buf, sb, erofs_blknr(sb, pos), EROFS_KMAP);
if (IS_ERR(kaddr)) {
err = PTR_ERR(kaddr);
goto out;
}
map->m_la = chunknr << vi->chunkbits;
map->m_plen = min_t(erofs_off_t, 1UL << vi->chunkbits,
- roundup(inode->i_size - map->m_la, EROFS_BLKSIZ));
+ round_up(inode->i_size - map->m_la, sb->s_blocksize));
/* handle block map */
if (!(vi->chunkformat & EROFS_CHUNK_FORMAT_INDEXES)) {
- __le32 *blkaddr = kaddr + erofs_blkoff(pos);
+ __le32 *blkaddr = kaddr + erofs_blkoff(sb, pos);
if (le32_to_cpu(*blkaddr) == EROFS_NULL_ADDR) {
map->m_flags = 0;
} else {
- map->m_pa = blknr_to_addr(le32_to_cpu(*blkaddr));
+ map->m_pa = erofs_pos(sb, le32_to_cpu(*blkaddr));
map->m_flags = EROFS_MAP_MAPPED;
}
goto out_unlock;
}
/* parse chunk indexes */
- idx = kaddr + erofs_blkoff(pos);
+ idx = kaddr + erofs_blkoff(sb, pos);
switch (le32_to_cpu(idx->blkaddr)) {
case EROFS_NULL_ADDR:
map->m_flags = 0;
@@ -187,7 +187,7 @@ int erofs_map_blocks(struct inode *inode,
default:
map->m_deviceid = le16_to_cpu(idx->device_id) &
EROFS_SB(sb)->device_id_mask;
- map->m_pa = blknr_to_addr(le32_to_cpu(idx->blkaddr));
+ map->m_pa = erofs_pos(sb, le32_to_cpu(idx->blkaddr));
map->m_flags = EROFS_MAP_MAPPED;
break;
}
@@ -231,8 +231,8 @@ int erofs_map_dev(struct super_block *sb, struct erofs_map_dev *map)
if (!dif->mapped_blkaddr)
continue;
- startoff = blknr_to_addr(dif->mapped_blkaddr);
- length = blknr_to_addr(dif->blocks);
+ startoff = erofs_pos(sb, dif->mapped_blkaddr);
+ length = erofs_pos(sb, dif->blocks);
if (map->m_pa >= startoff &&
map->m_pa < startoff + length) {
@@ -253,6 +253,7 @@ static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
unsigned int flags, struct iomap *iomap, struct iomap *srcmap)
{
int ret;
+ struct super_block *sb = inode->i_sb;
struct erofs_map_blocks map;
struct erofs_map_dev mdev;
@@ -267,7 +268,7 @@ static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
.m_deviceid = map.m_deviceid,
.m_pa = map.m_pa,
};
- ret = erofs_map_dev(inode->i_sb, &mdev);
+ ret = erofs_map_dev(sb, &mdev);
if (ret)
return ret;
@@ -293,11 +294,11 @@ static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
iomap->type = IOMAP_INLINE;
- ptr = erofs_read_metabuf(&buf, inode->i_sb,
- erofs_blknr(mdev.m_pa), EROFS_KMAP);
+ ptr = erofs_read_metabuf(&buf, sb,
+ erofs_blknr(sb, mdev.m_pa), EROFS_KMAP);
if (IS_ERR(ptr))
return PTR_ERR(ptr);
- iomap->inline_data = ptr + erofs_blkoff(mdev.m_pa);
+ iomap->inline_data = ptr + erofs_blkoff(sb, mdev.m_pa);
iomap->private = buf.base;
} else {
iomap->type = IOMAP_MAPPED;
diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index 51b7ac7166d9..7021e2cf6146 100644
--- a/fs/erofs/decompressor.c
+++ b/fs/erofs/decompressor.c
@@ -42,7 +42,7 @@ int z_erofs_load_lz4_config(struct super_block *sb,
if (!sbi->lz4.max_pclusterblks) {
sbi->lz4.max_pclusterblks = 1; /* reserved case */
} else if (sbi->lz4.max_pclusterblks >
- Z_EROFS_PCLUSTER_MAX_SIZE / EROFS_BLKSIZ) {
+ erofs_blknr(sb, Z_EROFS_PCLUSTER_MAX_SIZE)) {
erofs_err(sb, "too large lz4 pclusterblks %u",
sbi->lz4.max_pclusterblks);
return -EINVAL;
@@ -221,13 +221,13 @@ static int z_erofs_lz4_decompress_mem(struct z_erofs_lz4_decompress_ctx *ctx,
support_0padding = true;
ret = z_erofs_fixup_insize(rq, headpage + rq->pageofs_in,
min_t(unsigned int, rq->inputsize,
- EROFS_BLKSIZ - rq->pageofs_in));
+ rq->sb->s_blocksize - rq->pageofs_in));
if (ret) {
kunmap_atomic(headpage);
return ret;
}
may_inplace = !((rq->pageofs_in + rq->inputsize) &
- (EROFS_BLKSIZ - 1));
+ (rq->sb->s_blocksize - 1));
}
inputmargin = rq->pageofs_in;
diff --git a/fs/erofs/decompressor_lzma.c b/fs/erofs/decompressor_lzma.c
index 5cd612a8f858..2fd49091c1bb 100644
--- a/fs/erofs/decompressor_lzma.c
+++ b/fs/erofs/decompressor_lzma.c
@@ -166,8 +166,8 @@ int z_erofs_lzma_decompress(struct z_erofs_decompress_req *rq,
/* 1. get the exact LZMA compressed size */
kin = kmap(*rq->in);
err = z_erofs_fixup_insize(rq, kin + rq->pageofs_in,
- min_t(unsigned int, rq->inputsize,
- EROFS_BLKSIZ - rq->pageofs_in));
+ min_t(unsigned int, rq->inputsize,
+ rq->sb->s_blocksize - rq->pageofs_in));
if (err) {
kunmap(*rq->in);
return err;
diff --git a/fs/erofs/dir.c b/fs/erofs/dir.c
index ecf28f66b97d..966a88cc529e 100644
--- a/fs/erofs/dir.c
+++ b/fs/erofs/dir.c
@@ -67,9 +67,11 @@ static int erofs_readdir(struct file *f, struct dir_context *ctx)
{
struct inode *dir = file_inode(f);
struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
+ struct super_block *sb = dir->i_sb;
+ unsigned long bsz = sb->s_blocksize;
const size_t dirsize = i_size_read(dir);
- unsigned int i = ctx->pos / EROFS_BLKSIZ;
- unsigned int ofs = ctx->pos % EROFS_BLKSIZ;
+ unsigned int i = erofs_blknr(sb, ctx->pos);
+ unsigned int ofs = erofs_blkoff(sb, ctx->pos);
int err = 0;
bool initial = true;
@@ -79,32 +81,28 @@ static int erofs_readdir(struct file *f, struct dir_context *ctx)
de = erofs_bread(&buf, dir, i, EROFS_KMAP);
if (IS_ERR(de)) {
- erofs_err(dir->i_sb,
- "fail to readdir of logical block %u of nid %llu",
+ erofs_err(sb, "fail to readdir of logical block %u of nid %llu",
i, EROFS_I(dir)->nid);
err = PTR_ERR(de);
break;
}
nameoff = le16_to_cpu(de->nameoff);
- if (nameoff < sizeof(struct erofs_dirent) ||
- nameoff >= EROFS_BLKSIZ) {
- erofs_err(dir->i_sb,
- "invalid de[0].nameoff %u @ nid %llu",
+ if (nameoff < sizeof(struct erofs_dirent) || nameoff >= bsz) {
+ erofs_err(sb, "invalid de[0].nameoff %u @ nid %llu",
nameoff, EROFS_I(dir)->nid);
err = -EFSCORRUPTED;
break;
}
- maxsize = min_t(unsigned int,
- dirsize - ctx->pos + ofs, EROFS_BLKSIZ);
+ maxsize = min_t(unsigned int, dirsize - ctx->pos + ofs, bsz);
/* search dirents at the arbitrary position */
if (initial) {
initial = false;
ofs = roundup(ofs, sizeof(struct erofs_dirent));
- ctx->pos = blknr_to_addr(i) + ofs;
+ ctx->pos = erofs_pos(sb, i) + ofs;
if (ofs >= nameoff)
goto skip_this;
}
@@ -114,7 +112,7 @@ static int erofs_readdir(struct file *f, struct dir_context *ctx)
if (err)
break;
skip_this:
- ctx->pos = blknr_to_addr(i) + maxsize;
+ ctx->pos = erofs_pos(sb, i) + maxsize;
++i;
ofs = 0;
}
diff --git a/fs/erofs/erofs_fs.h b/fs/erofs/erofs_fs.h
index dbcd24371002..44876a97cabd 100644
--- a/fs/erofs/erofs_fs.h
+++ b/fs/erofs/erofs_fs.h
@@ -53,7 +53,7 @@ struct erofs_super_block {
__le32 magic; /* file system magic number */
__le32 checksum; /* crc32c(super_block) */
__le32 feature_compat;
- __u8 blkszbits; /* support block_size == PAGE_SIZE only */
+ __u8 blkszbits; /* filesystem block size in bit shift */
__u8 sb_extslots; /* superblock size = 128 + sb_extslots * 16 */
__le16 root_nid; /* nid of root directory */
@@ -75,7 +75,8 @@ struct erofs_super_block {
} __packed u1;
__le16 extra_devices; /* # of devices besides the primary device */
__le16 devt_slotoff; /* startoff = devt_slotoff * devt_slotsize */
- __u8 reserved[6];
+ __u8 dirblkbits; /* directory block size in bit shift */
+ __u8 reserved[5];
__le64 packed_nid; /* nid of the special packed inode */
__u8 reserved2[24];
};
diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c
index 076cf8a149ef..7ce60ad121f0 100644
--- a/fs/erofs/fscache.c
+++ b/fs/erofs/fscache.c
@@ -282,8 +282,8 @@ static int erofs_fscache_data_read(struct address_space *mapping,
void *src;
/* For tail packing layout, the offset may be non-zero. */
- offset = erofs_blkoff(map.m_pa);
- blknr = erofs_blknr(map.m_pa);
+ offset = erofs_blkoff(sb, map.m_pa);
+ blknr = erofs_blknr(sb, map.m_pa);
size = map.m_llen;
src = erofs_read_metabuf(&buf, sb, blknr, EROFS_KMAP);
@@ -333,8 +333,6 @@ static int erofs_fscache_read_folio(struct file *file, struct folio *folio)
bool unlock;
int ret;
- DBG_BUGON(folio_size(folio) != EROFS_BLKSIZ);
-
ret = erofs_fscache_data_read(folio_mapping(folio), folio_pos(folio),
folio_size(folio), &unlock);
if (unlock) {
@@ -530,6 +528,7 @@ struct erofs_fscache *erofs_fscache_acquire_cookie(struct super_block *sb,
inode->i_size = OFFSET_MAX;
inode->i_mapping->a_ops = &erofs_fscache_meta_aops;
mapping_set_gfp_mask(inode->i_mapping, GFP_NOFS);
+ inode->i_blkbits = EROFS_SB(sb)->blkszbits;
ctx->inode = inode;
}
diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index ad2a82f2eb4c..db344ca0fcd3 100644
--- a/fs/erofs/inode.c
+++ b/fs/erofs/inode.c
@@ -14,7 +14,7 @@ static void *erofs_read_inode(struct erofs_buf *buf,
struct super_block *sb = inode->i_sb;
struct erofs_sb_info *sbi = EROFS_SB(sb);
struct erofs_inode *vi = EROFS_I(inode);
- const erofs_off_t inode_loc = iloc(sbi, vi->nid);
+ const erofs_off_t inode_loc = erofs_iloc(inode);
erofs_blk_t blkaddr, nblks = 0;
void *kaddr;
@@ -23,8 +23,8 @@ static void *erofs_read_inode(struct erofs_buf *buf,
unsigned int ifmt;
int err;
- blkaddr = erofs_blknr(inode_loc);
- *ofs = erofs_blkoff(inode_loc);
+ blkaddr = erofs_blknr(sb, inode_loc);
+ *ofs = erofs_blkoff(sb, inode_loc);
erofs_dbg("%s, reading inode nid %llu at %u of blkaddr %u",
__func__, vi->nid, *ofs, blkaddr);
@@ -58,11 +58,11 @@ static void *erofs_read_inode(struct erofs_buf *buf,
case EROFS_INODE_LAYOUT_EXTENDED:
vi->inode_isize = sizeof(struct erofs_inode_extended);
/* check if the extended inode acrosses block boundary */
- if (*ofs + vi->inode_isize <= EROFS_BLKSIZ) {
+ if (*ofs + vi->inode_isize <= sb->s_blocksize) {
*ofs += vi->inode_isize;
die = (struct erofs_inode_extended *)dic;
} else {
- const unsigned int gotten = EROFS_BLKSIZ - *ofs;
+ const unsigned int gotten = sb->s_blocksize - *ofs;
copied = kmalloc(vi->inode_isize, GFP_NOFS);
if (!copied) {
@@ -176,7 +176,7 @@ static void *erofs_read_inode(struct erofs_buf *buf,
err = -EOPNOTSUPP;
goto err_out;
}
- vi->chunkbits = LOG_BLOCK_SIZE +
+ vi->chunkbits = sb->s_blocksize_bits +
(vi->chunkformat & EROFS_CHUNK_FORMAT_BLKBITS_MASK);
}
inode->i_mtime.tv_sec = inode->i_ctime.tv_sec;
@@ -188,11 +188,12 @@ static void *erofs_read_inode(struct erofs_buf *buf,
if (test_opt(&sbi->opt, DAX_ALWAYS) && S_ISREG(inode->i_mode) &&
vi->datalayout == EROFS_INODE_FLAT_PLAIN)
inode->i_flags |= S_DAX;
+
if (!nblks)
/* measure inode.i_blocks as generic filesystems */
- inode->i_blocks = roundup(inode->i_size, EROFS_BLKSIZ) >> 9;
+ inode->i_blocks = round_up(inode->i_size, sb->s_blocksize) >> 9;
else
- inode->i_blocks = nblks << LOG_SECTORS_PER_BLOCK;
+ inode->i_blocks = nblks << (sb->s_blocksize_bits - 9);
return kaddr;
bogusimode:
@@ -210,11 +211,12 @@ static int erofs_fill_symlink(struct inode *inode, void *kaddr,
unsigned int m_pofs)
{
struct erofs_inode *vi = EROFS_I(inode);
+ unsigned int bsz = i_blocksize(inode);
char *lnk;
/* if it cannot be handled with fast symlink scheme */
if (vi->datalayout != EROFS_INODE_FLAT_INLINE ||
- inode->i_size >= EROFS_BLKSIZ || inode->i_size < 0) {
+ inode->i_size >= bsz || inode->i_size < 0) {
inode->i_op = &erofs_symlink_iops;
return 0;
}
@@ -225,7 +227,7 @@ static int erofs_fill_symlink(struct inode *inode, void *kaddr,
m_pofs += vi->xattr_isize;
/* inline symlink data shouldn't cross block boundary */
- if (m_pofs + inode->i_size > EROFS_BLKSIZ) {
+ if (m_pofs + inode->i_size > bsz) {
kfree(lnk);
erofs_err(inode->i_sb,
"inline data cross block boundary @ nid %llu",
@@ -288,7 +290,8 @@ static int erofs_fill_inode(struct inode *inode)
}
if (erofs_inode_is_data_compressed(vi->datalayout)) {
- if (!erofs_is_fscache_mode(inode->i_sb))
+ if (!erofs_is_fscache_mode(inode->i_sb) &&
+ inode->i_sb->s_blocksize_bits == PAGE_SHIFT)
err = z_erofs_fill_inode(inode);
else
err = -EOPNOTSUPP;
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index e51f27b6bde1..1c03daf83a68 100644
--- a/fs/erofs/internal.h
+++ b/fs/erofs/internal.h
@@ -145,8 +145,8 @@ struct erofs_sb_info {
#endif
u16 device_id_mask; /* valid bits of device id to be used */
- /* inode slot unit size in bit shift */
- unsigned char islotbits;
+ unsigned char islotbits; /* inode slot unit size in bit shift */
+ unsigned char blkszbits; /* filesystem block size in bit shift */
u32 sb_size; /* total superblock size */
u32 build_time_nsec;
@@ -154,6 +154,7 @@ struct erofs_sb_info {
/* what we really care is nid, rather than ino.. */
erofs_nid_t root_nid;
+ erofs_nid_t packed_nid;
/* used for statfs, f_files - f_favail */
u64 inos;
@@ -238,21 +239,6 @@ static inline int erofs_wait_on_workgroup_freezed(struct erofs_workgroup *grp)
VAL != EROFS_LOCKED_MAGIC);
}
-/* we strictly follow PAGE_SIZE and no buffer head yet */
-#define LOG_BLOCK_SIZE PAGE_SHIFT
-
-#undef LOG_SECTORS_PER_BLOCK
-#define LOG_SECTORS_PER_BLOCK (PAGE_SHIFT - 9)
-
-#undef SECTORS_PER_BLOCK
-#define SECTORS_PER_BLOCK (1 << SECTORS_PER_BLOCK)
-
-#define EROFS_BLKSIZ (1 << LOG_BLOCK_SIZE)
-
-#if (EROFS_BLKSIZ % 4096 || !EROFS_BLKSIZ)
-#error erofs cannot be used in this platform
-#endif
-
enum erofs_kmap_type {
EROFS_NO_KMAP, /* don't map the buffer */
EROFS_KMAP, /* use kmap() to map the buffer */
@@ -268,14 +254,10 @@ struct erofs_buf {
#define ROOT_NID(sb) ((sb)->root_nid)
-#define erofs_blknr(addr) ((addr) / EROFS_BLKSIZ)
-#define erofs_blkoff(addr) ((addr) % EROFS_BLKSIZ)
-#define blknr_to_addr(nr) ((erofs_off_t)(nr) * EROFS_BLKSIZ)
-
-static inline erofs_off_t iloc(struct erofs_sb_info *sbi, erofs_nid_t nid)
-{
- return blknr_to_addr(sbi->meta_blkaddr) + (nid << sbi->islotbits);
-}
+#define erofs_blknr(sb, addr) ((addr) >> (sb)->s_blocksize_bits)
+#define erofs_blkoff(sb, addr) ((addr) & ((sb)->s_blocksize - 1))
+#define erofs_pos(sb, blk) ((erofs_off_t)(blk) << (sb)->s_blocksize_bits)
+#define erofs_iblks(i) (round_up((i)->i_size, i_blocksize(i)) >> (i)->i_blkbits)
#define EROFS_FEATURE_FUNCS(name, compat, feature) \
static inline bool erofs_sb_has_##name(struct erofs_sb_info *sbi) \
@@ -310,7 +292,7 @@ struct erofs_inode {
unsigned char datalayout;
unsigned char inode_isize;
- unsigned short xattr_isize;
+ unsigned int xattr_isize;
unsigned int xattr_shared_count;
unsigned int *xattr_shared_xattrs;
@@ -341,13 +323,14 @@ struct erofs_inode {
struct inode vfs_inode;
};
-#define EROFS_I(ptr) \
- container_of(ptr, struct erofs_inode, vfs_inode)
+#define EROFS_I(ptr) container_of(ptr, struct erofs_inode, vfs_inode)
-static inline unsigned long erofs_inode_datablocks(struct inode *inode)
+static inline erofs_off_t erofs_iloc(struct inode *inode)
{
- /* since i_size cannot be changed */
- return DIV_ROUND_UP(inode->i_size, EROFS_BLKSIZ);
+ struct erofs_sb_info *sbi = EROFS_I_SB(inode);
+
+ return erofs_pos(inode->i_sb, sbi->meta_blkaddr) +
+ (EROFS_I(inode)->nid << sbi->islotbits);
}
static inline unsigned int erofs_bitrange(unsigned int value, unsigned int bit,
diff --git a/fs/erofs/namei.c b/fs/erofs/namei.c
index 0dc34721080c..cf56a8acafbb 100644
--- a/fs/erofs/namei.c
+++ b/fs/erofs/namei.c
@@ -5,7 +5,6 @@
* Copyright (C) 2022, Alibaba Cloud
*/
#include "xattr.h"
-
#include <trace/events/erofs.h>
struct erofs_qstr {
@@ -87,19 +86,14 @@ static struct erofs_dirent *find_target_dirent(struct erofs_qstr *name,
return ERR_PTR(-ENOENT);
}
-static void *find_target_block_classic(struct erofs_buf *target,
- struct inode *dir,
- struct erofs_qstr *name,
- int *_ndirents)
+static void *erofs_find_target_block(struct erofs_buf *target,
+ struct inode *dir, struct erofs_qstr *name, int *_ndirents)
{
- unsigned int startprfx, endprfx;
- int head, back;
+ unsigned int bsz = i_blocksize(dir);
+ int head = 0, back = erofs_iblks(dir) - 1;
+ unsigned int startprfx = 0, endprfx = 0;
void *candidate = ERR_PTR(-ENOENT);
- startprfx = endprfx = 0;
- head = 0;
- back = erofs_inode_datablocks(dir) - 1;
-
while (head <= back) {
const int mid = head + (back - head) / 2;
struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
@@ -107,8 +101,7 @@ static void *find_target_block_classic(struct erofs_buf *target,
de = erofs_bread(&buf, dir, mid, EROFS_KMAP);
if (!IS_ERR(de)) {
- const int nameoff = nameoff_from_disk(de->nameoff,
- EROFS_BLKSIZ);
+ const int nameoff = nameoff_from_disk(de->nameoff, bsz);
const int ndirents = nameoff / sizeof(*de);
int diff;
unsigned int matched;
@@ -128,11 +121,10 @@ static void *find_target_block_classic(struct erofs_buf *target,
dname.name = (u8 *)de + nameoff;
if (ndirents == 1)
- dname.end = (u8 *)de + EROFS_BLKSIZ;
+ dname.end = (u8 *)de + bsz;
else
dname.end = (u8 *)de +
- nameoff_from_disk(de[1].nameoff,
- EROFS_BLKSIZ);
+ nameoff_from_disk(de[1].nameoff, bsz);
/* string comparison without already matched prefix */
diff = erofs_dirnamecmp(name, &dname, &matched);
@@ -180,13 +172,13 @@ int erofs_namei(struct inode *dir, const struct qstr *name, erofs_nid_t *nid,
qn.end = name->name + name->len;
ndirents = 0;
-
- de = find_target_block_classic(&buf, dir, &qn, &ndirents);
+ de = erofs_find_target_block(&buf, dir, &qn, &ndirents);
if (IS_ERR(de))
return PTR_ERR(de);
if (ndirents)
- de = find_target_dirent(&qn, (u8 *)de, EROFS_BLKSIZ, ndirents);
+ de = find_target_dirent(&qn, (u8 *)de, i_blocksize(dir),
+ ndirents);
if (!IS_ERR(de)) {
*nid = le64_to_cpu(de->nid);
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
index 626a615dafc2..b073b38c1c77 100644
--- a/fs/erofs/super.c
+++ b/fs/erofs/super.c
@@ -53,18 +53,21 @@ void _erofs_info(struct super_block *sb, const char *function,
static int erofs_superblock_csum_verify(struct super_block *sb, void *sbdata)
{
+ size_t len = 1 << EROFS_SB(sb)->blkszbits;
struct erofs_super_block *dsb;
u32 expected_crc, crc;
- dsb = kmemdup(sbdata + EROFS_SUPER_OFFSET,
- EROFS_BLKSIZ - EROFS_SUPER_OFFSET, GFP_KERNEL);
+ if (len > EROFS_SUPER_OFFSET)
+ len -= EROFS_SUPER_OFFSET;
+
+ dsb = kmemdup(sbdata + EROFS_SUPER_OFFSET, len, GFP_KERNEL);
if (!dsb)
return -ENOMEM;
expected_crc = le32_to_cpu(dsb->checksum);
dsb->checksum = 0;
/* to allow for x86 boot sectors and other oddities. */
- crc = crc32c(~0, dsb, EROFS_BLKSIZ - EROFS_SUPER_OFFSET);
+ crc = crc32c(~0, dsb, len);
kfree(dsb);
if (crc != expected_crc) {
@@ -133,11 +136,11 @@ static void *erofs_read_metadata(struct super_block *sb, struct erofs_buf *buf,
int len, i, cnt;
*offset = round_up(*offset, 4);
- ptr = erofs_read_metabuf(buf, sb, erofs_blknr(*offset), EROFS_KMAP);
+ ptr = erofs_read_metabuf(buf, sb, erofs_blknr(sb, *offset), EROFS_KMAP);
if (IS_ERR(ptr))
return ptr;
- len = le16_to_cpu(*(__le16 *)&ptr[erofs_blkoff(*offset)]);
+ len = le16_to_cpu(*(__le16 *)&ptr[erofs_blkoff(sb, *offset)]);
if (!len)
len = U16_MAX + 1;
buffer = kmalloc(len, GFP_KERNEL);
@@ -147,14 +150,15 @@ static void *erofs_read_metadata(struct super_block *sb, struct erofs_buf *buf,
*lengthp = len;
for (i = 0; i < len; i += cnt) {
- cnt = min(EROFS_BLKSIZ - (int)erofs_blkoff(*offset), len - i);
- ptr = erofs_read_metabuf(buf, sb, erofs_blknr(*offset),
+ cnt = min_t(int, sb->s_blocksize - erofs_blkoff(sb, *offset),
+ len - i);
+ ptr = erofs_read_metabuf(buf, sb, erofs_blknr(sb, *offset),
EROFS_KMAP);
if (IS_ERR(ptr)) {
kfree(buffer);
return ptr;
}
- memcpy(buffer + i, ptr + erofs_blkoff(*offset), cnt);
+ memcpy(buffer + i, ptr + erofs_blkoff(sb, *offset), cnt);
*offset += cnt;
}
return buffer;
@@ -229,10 +233,10 @@ static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
struct block_device *bdev;
void *ptr;
- ptr = erofs_read_metabuf(buf, sb, erofs_blknr(*pos), EROFS_KMAP);
+ ptr = erofs_read_metabuf(buf, sb, erofs_blknr(sb, *pos), EROFS_KMAP);
if (IS_ERR(ptr))
return PTR_ERR(ptr);
- dis = ptr + erofs_blkoff(*pos);
+ dis = ptr + erofs_blkoff(sb, *pos);
if (!dif->path) {
if (!dis->tag[0]) {
@@ -330,7 +334,6 @@ static int erofs_read_superblock(struct super_block *sb)
struct erofs_sb_info *sbi;
struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
struct erofs_super_block *dsb;
- unsigned int blkszbits;
void *data;
int ret;
@@ -349,6 +352,16 @@ static int erofs_read_superblock(struct super_block *sb)
goto out;
}
+ sbi->blkszbits = dsb->blkszbits;
+ if (sbi->blkszbits < 9 || sbi->blkszbits > PAGE_SHIFT) {
+ erofs_err(sb, "blkszbits %u isn't supported", sbi->blkszbits);
+ goto out;
+ }
+ if (dsb->dirblkbits) {
+ erofs_err(sb, "dirblkbits %u isn't supported", dsb->dirblkbits);
+ goto out;
+ }
+
sbi->feature_compat = le32_to_cpu(dsb->feature_compat);
if (erofs_sb_has_sb_chksum(sbi)) {
ret = erofs_superblock_csum_verify(sb, data);
@@ -357,19 +370,11 @@ static int erofs_read_superblock(struct super_block *sb)
}
ret = -EINVAL;
- blkszbits = dsb->blkszbits;
- /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
- if (blkszbits != LOG_BLOCK_SIZE) {
- erofs_err(sb, "blkszbits %u isn't supported on this platform",
- blkszbits);
- goto out;
- }
-
if (!check_layout_compatibility(sb, dsb))
goto out;
sbi->sb_size = 128 + dsb->sb_extslots * EROFS_SB_EXTSLOT_SIZE;
- if (sbi->sb_size > EROFS_BLKSIZ) {
+ if (sbi->sb_size > PAGE_SIZE - EROFS_SUPER_OFFSET) {
erofs_err(sb, "invalid sb_extslots %u (more than a fs block)",
sbi->sb_size);
goto out;
@@ -381,17 +386,7 @@ static int erofs_read_superblock(struct super_block *sb)
#endif
sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact));
sbi->root_nid = le16_to_cpu(dsb->root_nid);
-#ifdef CONFIG_EROFS_FS_ZIP
- sbi->packed_inode = NULL;
- if (erofs_sb_has_fragments(sbi) && dsb->packed_nid) {
- sbi->packed_inode =
- erofs_iget(sb, le64_to_cpu(dsb->packed_nid));
- if (IS_ERR(sbi->packed_inode)) {
- ret = PTR_ERR(sbi->packed_inode);
- goto out;
- }
- }
-#endif
+ sbi->packed_nid = le64_to_cpu(dsb->packed_nid);
sbi->inos = le64_to_cpu(dsb->inos);
sbi->build_time = le64_to_cpu(dsb->build_time);
@@ -734,9 +729,10 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
sbi->domain_id = ctx->domain_id;
ctx->domain_id = NULL;
+ sbi->blkszbits = PAGE_SHIFT;
if (erofs_is_fscache_mode(sb)) {
- sb->s_blocksize = EROFS_BLKSIZ;
- sb->s_blocksize_bits = LOG_BLOCK_SIZE;
+ sb->s_blocksize = PAGE_SIZE;
+ sb->s_blocksize_bits = PAGE_SHIFT;
err = erofs_fscache_register_fs(sb);
if (err)
@@ -746,8 +742,8 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
if (err)
return err;
} else {
- if (!sb_set_blocksize(sb, EROFS_BLKSIZ)) {
- erofs_err(sb, "failed to set erofs blksize");
+ if (!sb_set_blocksize(sb, PAGE_SIZE)) {
+ errorfc(fc, "failed to set initial blksize");
return -EINVAL;
}
@@ -760,12 +756,24 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
if (err)
return err;
- if (test_opt(&sbi->opt, DAX_ALWAYS)) {
- BUILD_BUG_ON(EROFS_BLKSIZ != PAGE_SIZE);
+ if (sb->s_blocksize_bits != sbi->blkszbits) {
+ if (erofs_is_fscache_mode(sb)) {
+ errorfc(fc, "unsupported blksize for fscache mode");
+ return -EINVAL;
+ }
+ if (!sb_set_blocksize(sb, 1 << sbi->blkszbits)) {
+ errorfc(fc, "failed to set erofs blksize");
+ return -EINVAL;
+ }
+ }
+ if (test_opt(&sbi->opt, DAX_ALWAYS)) {
if (!sbi->dax_dev) {
errorfc(fc, "DAX unsupported by block device. Turning off DAX.");
clear_opt(&sbi->opt, DAX_ALWAYS);
+ } else if (sbi->blkszbits != PAGE_SHIFT) {
+ errorfc(fc, "unsupported blocksize for DAX");
+ clear_opt(&sbi->opt, DAX_ALWAYS);
}
}
@@ -800,6 +808,16 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
erofs_shrinker_register(sb);
/* sb->s_umount is already locked, SB_ACTIVE and SB_BORN are not set */
+#ifdef CONFIG_EROFS_FS_ZIP
+ if (erofs_sb_has_fragments(sbi) && sbi->packed_nid) {
+ sbi->packed_inode = erofs_iget(sb, sbi->packed_nid);
+ if (IS_ERR(sbi->packed_inode)) {
+ err = PTR_ERR(sbi->packed_inode);
+ sbi->packed_inode = NULL;
+ return err;
+ }
+ }
+#endif
err = erofs_init_managed_cache(sb);
if (err)
return err;
@@ -1059,7 +1077,7 @@ static int erofs_statfs(struct dentry *dentry, struct kstatfs *buf)
id = huge_encode_dev(sb->s_bdev->bd_dev);
buf->f_type = sb->s_magic;
- buf->f_bsize = EROFS_BLKSIZ;
+ buf->f_bsize = sb->s_blocksize;
buf->f_blocks = sbi->total_blocks;
buf->f_bfree = buf->f_bavail = 0;
diff --git a/fs/erofs/xattr.c b/fs/erofs/xattr.c
index 8106bcb5a38d..7c09ad1beb83 100644
--- a/fs/erofs/xattr.c
+++ b/fs/erofs/xattr.c
@@ -22,8 +22,7 @@ static int init_inode_xattrs(struct inode *inode)
struct xattr_iter it;
unsigned int i;
struct erofs_xattr_ibody_header *ih;
- struct super_block *sb;
- struct erofs_sb_info *sbi;
+ struct super_block *sb = inode->i_sb;
int ret = 0;
/* the most case is that xattrs of this inode are initialized. */
@@ -52,15 +51,14 @@ static int init_inode_xattrs(struct inode *inode)
* undefined right now (maybe use later with some new sb feature).
*/
if (vi->xattr_isize == sizeof(struct erofs_xattr_ibody_header)) {
- erofs_err(inode->i_sb,
+ erofs_err(sb,
"xattr_isize %d of nid %llu is not supported yet",
vi->xattr_isize, vi->nid);
ret = -EOPNOTSUPP;
goto out_unlock;
} else if (vi->xattr_isize < sizeof(struct erofs_xattr_ibody_header)) {
if (vi->xattr_isize) {
- erofs_err(inode->i_sb,
- "bogus xattr ibody @ nid %llu", vi->nid);
+ erofs_err(sb, "bogus xattr ibody @ nid %llu", vi->nid);
DBG_BUGON(1);
ret = -EFSCORRUPTED;
goto out_unlock; /* xattr ondisk layout error */
@@ -69,11 +67,9 @@ static int init_inode_xattrs(struct inode *inode)
goto out_unlock;
}
- sb = inode->i_sb;
- sbi = EROFS_SB(sb);
it.buf = __EROFS_BUF_INITIALIZER;
- it.blkaddr = erofs_blknr(iloc(sbi, vi->nid) + vi->inode_isize);
- it.ofs = erofs_blkoff(iloc(sbi, vi->nid) + vi->inode_isize);
+ it.blkaddr = erofs_blknr(sb, erofs_iloc(inode) + vi->inode_isize);
+ it.ofs = erofs_blkoff(sb, erofs_iloc(inode) + vi->inode_isize);
/* read in shared xattr array (non-atomic, see kmalloc below) */
it.kaddr = erofs_read_metabuf(&it.buf, sb, it.blkaddr, EROFS_KMAP);
@@ -96,9 +92,9 @@ static int init_inode_xattrs(struct inode *inode)
it.ofs += sizeof(struct erofs_xattr_ibody_header);
for (i = 0; i < vi->xattr_shared_count; ++i) {
- if (it.ofs >= EROFS_BLKSIZ) {
+ if (it.ofs >= sb->s_blocksize) {
/* cannot be unaligned */
- DBG_BUGON(it.ofs != EROFS_BLKSIZ);
+ DBG_BUGON(it.ofs != sb->s_blocksize);
it.kaddr = erofs_read_metabuf(&it.buf, sb, ++it.blkaddr,
EROFS_KMAP);
@@ -143,15 +139,15 @@ struct xattr_iter_handlers {
static inline int xattr_iter_fixup(struct xattr_iter *it)
{
- if (it->ofs < EROFS_BLKSIZ)
+ if (it->ofs < it->sb->s_blocksize)
return 0;
- it->blkaddr += erofs_blknr(it->ofs);
+ it->blkaddr += erofs_blknr(it->sb, it->ofs);
it->kaddr = erofs_read_metabuf(&it->buf, it->sb, it->blkaddr,
EROFS_KMAP_ATOMIC);
if (IS_ERR(it->kaddr))
return PTR_ERR(it->kaddr);
- it->ofs = erofs_blkoff(it->ofs);
+ it->ofs = erofs_blkoff(it->sb, it->ofs);
return 0;
}
@@ -159,7 +155,6 @@ static int inline_xattr_iter_begin(struct xattr_iter *it,
struct inode *inode)
{
struct erofs_inode *const vi = EROFS_I(inode);
- struct erofs_sb_info *const sbi = EROFS_SB(inode->i_sb);
unsigned int xattr_header_sz, inline_xattr_ofs;
xattr_header_sz = inlinexattr_header_size(inode);
@@ -170,9 +165,8 @@ static int inline_xattr_iter_begin(struct xattr_iter *it,
inline_xattr_ofs = vi->inode_isize + xattr_header_sz;
- it->blkaddr = erofs_blknr(iloc(sbi, vi->nid) + inline_xattr_ofs);
- it->ofs = erofs_blkoff(iloc(sbi, vi->nid) + inline_xattr_ofs);
-
+ it->blkaddr = erofs_blknr(it->sb, erofs_iloc(inode) + inline_xattr_ofs);
+ it->ofs = erofs_blkoff(it->sb, erofs_iloc(inode) + inline_xattr_ofs);
it->kaddr = erofs_read_metabuf(&it->buf, inode->i_sb, it->blkaddr,
EROFS_KMAP_ATOMIC);
if (IS_ERR(it->kaddr))
@@ -228,8 +222,8 @@ static int xattr_foreach(struct xattr_iter *it,
processed = 0;
while (processed < entry.e_name_len) {
- if (it->ofs >= EROFS_BLKSIZ) {
- DBG_BUGON(it->ofs > EROFS_BLKSIZ);
+ if (it->ofs >= it->sb->s_blocksize) {
+ DBG_BUGON(it->ofs > it->sb->s_blocksize);
err = xattr_iter_fixup(it);
if (err)
@@ -237,7 +231,7 @@ static int xattr_foreach(struct xattr_iter *it,
it->ofs = 0;
}
- slice = min_t(unsigned int, EROFS_BLKSIZ - it->ofs,
+ slice = min_t(unsigned int, it->sb->s_blocksize - it->ofs,
entry.e_name_len - processed);
/* handle name */
@@ -263,8 +257,8 @@ static int xattr_foreach(struct xattr_iter *it,
}
while (processed < value_sz) {
- if (it->ofs >= EROFS_BLKSIZ) {
- DBG_BUGON(it->ofs > EROFS_BLKSIZ);
+ if (it->ofs >= it->sb->s_blocksize) {
+ DBG_BUGON(it->ofs > it->sb->s_blocksize);
err = xattr_iter_fixup(it);
if (err)
@@ -272,7 +266,7 @@ static int xattr_foreach(struct xattr_iter *it,
it->ofs = 0;
}
- slice = min_t(unsigned int, EROFS_BLKSIZ - it->ofs,
+ slice = min_t(unsigned int, it->sb->s_blocksize - it->ofs,
value_sz - processed);
op->value(it, processed, it->kaddr + it->ofs, slice);
it->ofs += slice;
@@ -358,15 +352,14 @@ static int shared_getxattr(struct inode *inode, struct getxattr_iter *it)
{
struct erofs_inode *const vi = EROFS_I(inode);
struct super_block *const sb = inode->i_sb;
- struct erofs_sb_info *const sbi = EROFS_SB(sb);
unsigned int i;
int ret = -ENOATTR;
for (i = 0; i < vi->xattr_shared_count; ++i) {
erofs_blk_t blkaddr =
- xattrblock_addr(sbi, vi->xattr_shared_xattrs[i]);
+ xattrblock_addr(sb, vi->xattr_shared_xattrs[i]);
- it->it.ofs = xattrblock_offset(sbi, vi->xattr_shared_xattrs[i]);
+ it->it.ofs = xattrblock_offset(sb, vi->xattr_shared_xattrs[i]);
it->it.kaddr = erofs_read_metabuf(&it->it.buf, sb, blkaddr,
EROFS_KMAP_ATOMIC);
if (IS_ERR(it->it.kaddr))
@@ -570,15 +563,14 @@ static int shared_listxattr(struct listxattr_iter *it)
struct inode *const inode = d_inode(it->dentry);
struct erofs_inode *const vi = EROFS_I(inode);
struct super_block *const sb = inode->i_sb;
- struct erofs_sb_info *const sbi = EROFS_SB(sb);
unsigned int i;
int ret = 0;
for (i = 0; i < vi->xattr_shared_count; ++i) {
erofs_blk_t blkaddr =
- xattrblock_addr(sbi, vi->xattr_shared_xattrs[i]);
+ xattrblock_addr(sb, vi->xattr_shared_xattrs[i]);
- it->it.ofs = xattrblock_offset(sbi, vi->xattr_shared_xattrs[i]);
+ it->it.ofs = xattrblock_offset(sb, vi->xattr_shared_xattrs[i]);
it->it.kaddr = erofs_read_metabuf(&it->it.buf, sb, blkaddr,
EROFS_KMAP_ATOMIC);
if (IS_ERR(it->it.kaddr))
diff --git a/fs/erofs/xattr.h b/fs/erofs/xattr.h
index 0a43c9ee9f8f..f7a21aaa9755 100644
--- a/fs/erofs/xattr.h
+++ b/fs/erofs/xattr.h
@@ -19,21 +19,21 @@ static inline unsigned int inlinexattr_header_size(struct inode *inode)
sizeof(u32) * EROFS_I(inode)->xattr_shared_count;
}
-static inline erofs_blk_t xattrblock_addr(struct erofs_sb_info *sbi,
+static inline erofs_blk_t xattrblock_addr(struct super_block *sb,
unsigned int xattr_id)
{
#ifdef CONFIG_EROFS_FS_XATTR
- return sbi->xattr_blkaddr +
- xattr_id * sizeof(__u32) / EROFS_BLKSIZ;
+ return EROFS_SB(sb)->xattr_blkaddr +
+ xattr_id * sizeof(__u32) / sb->s_blocksize;
#else
return 0;
#endif
}
-static inline unsigned int xattrblock_offset(struct erofs_sb_info *sbi,
+static inline unsigned int xattrblock_offset(struct super_block *sb,
unsigned int xattr_id)
{
- return (xattr_id * sizeof(__u32)) % EROFS_BLKSIZ;
+ return (xattr_id * sizeof(__u32)) % sb->s_blocksize;
}
#ifdef CONFIG_EROFS_FS_XATTR
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index bc4971ee26d2..bfb10ba74aab 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -356,20 +356,6 @@ out_error_pcluster_pool:
enum z_erofs_pclustermode {
Z_EROFS_PCLUSTER_INFLIGHT,
/*
- * The current pclusters was the tail of an exist chain, in addition
- * that the previous processed chained pclusters are all decided to
- * be hooked up to it.
- * A new chain will be created for the remaining pclusters which are
- * not processed yet, so different from Z_EROFS_PCLUSTER_FOLLOWED,
- * the next pcluster cannot reuse the whole page safely for inplace I/O
- * in the following scenario:
- * ________________________________________________________________
- * | tail (partial) page | head (partial) page |
- * | (belongs to the next pcl) | (belongs to the current pcl) |
- * |_______PCLUSTER_FOLLOWED______|________PCLUSTER_HOOKED__________|
- */
- Z_EROFS_PCLUSTER_HOOKED,
- /*
* a weak form of Z_EROFS_PCLUSTER_FOLLOWED, the difference is that it
* could be dispatched into bypass queue later due to uptodated managed
* pages. All related online pages cannot be reused for inplace I/O (or
@@ -386,8 +372,8 @@ enum z_erofs_pclustermode {
* ________________________________________________________________
* | tail (partial) page | head (partial) page |
* | (of the current cl) | (of the previous collection) |
- * | PCLUSTER_FOLLOWED or | |
- * |_____PCLUSTER_HOOKED__|___________PCLUSTER_FOLLOWED____________|
+ * | | |
+ * |__PCLUSTER_FOLLOWED___|___________PCLUSTER_FOLLOWED____________|
*
* [ (*) the above page can be used as inplace I/O. ]
*/
@@ -400,7 +386,7 @@ struct z_erofs_decompress_frontend {
struct z_erofs_bvec_iter biter;
struct page *candidate_bvpage;
- struct z_erofs_pcluster *pcl, *tailpcl;
+ struct z_erofs_pcluster *pcl;
z_erofs_next_pcluster_t owned_head;
enum z_erofs_pclustermode mode;
@@ -589,19 +575,7 @@ static void z_erofs_try_to_claim_pcluster(struct z_erofs_decompress_frontend *f)
return;
}
- /*
- * type 2, link to the end of an existing open chain, be careful
- * that its submission is controlled by the original attached chain.
- */
- if (*owned_head != &pcl->next && pcl != f->tailpcl &&
- cmpxchg(&pcl->next, Z_EROFS_PCLUSTER_TAIL,
- *owned_head) == Z_EROFS_PCLUSTER_TAIL) {
- *owned_head = Z_EROFS_PCLUSTER_TAIL;
- f->mode = Z_EROFS_PCLUSTER_HOOKED;
- f->tailpcl = NULL;
- return;
- }
- /* type 3, it belongs to a chain, but it isn't the end of the chain */
+ /* type 2, it belongs to an ongoing chain */
f->mode = Z_EROFS_PCLUSTER_INFLIGHT;
}
@@ -644,7 +618,7 @@ static int z_erofs_register_pcluster(struct z_erofs_decompress_frontend *fe)
if (ztailpacking) {
pcl->obj.index = 0; /* which indicates ztailpacking */
- pcl->pageofs_in = erofs_blkoff(map->m_pa);
+ pcl->pageofs_in = erofs_blkoff(fe->inode->i_sb, map->m_pa);
pcl->tailpacking_size = map->m_plen;
} else {
pcl->obj.index = map->m_pa >> PAGE_SHIFT;
@@ -662,9 +636,6 @@ static int z_erofs_register_pcluster(struct z_erofs_decompress_frontend *fe)
goto err_out;
}
}
- /* used to check tail merging loop due to corrupted images */
- if (fe->owned_head == Z_EROFS_PCLUSTER_TAIL)
- fe->tailpcl = pcl;
fe->owned_head = &pcl->next;
fe->pcl = pcl;
return 0;
@@ -685,7 +656,6 @@ static int z_erofs_collector_begin(struct z_erofs_decompress_frontend *fe)
/* must be Z_EROFS_PCLUSTER_TAIL or pointed to previous pcluster */
DBG_BUGON(fe->owned_head == Z_EROFS_PCLUSTER_NIL);
- DBG_BUGON(fe->owned_head == Z_EROFS_PCLUSTER_TAIL_CLOSED);
if (!(map->m_flags & EROFS_MAP_META)) {
grp = erofs_find_workgroup(fe->inode->i_sb,
@@ -704,10 +674,6 @@ static int z_erofs_collector_begin(struct z_erofs_decompress_frontend *fe)
if (ret == -EEXIST) {
mutex_lock(&fe->pcl->lock);
- /* used to check tail merging loop due to corrupted images */
- if (fe->owned_head == Z_EROFS_PCLUSTER_TAIL)
- fe->tailpcl = fe->pcl;
-
z_erofs_try_to_claim_pcluster(fe);
} else if (ret) {
return ret;
@@ -781,6 +747,7 @@ static int z_erofs_read_fragment(struct inode *inode, erofs_off_t pos,
struct page *page, unsigned int pageofs,
unsigned int len)
{
+ struct super_block *sb = inode->i_sb;
struct inode *packed_inode = EROFS_I_SB(inode)->packed_inode;
struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
u8 *src, *dst;
@@ -792,16 +759,16 @@ static int z_erofs_read_fragment(struct inode *inode, erofs_off_t pos,
pos += EROFS_I(inode)->z_fragmentoff;
for (i = 0; i < len; i += cnt) {
cnt = min_t(unsigned int, len - i,
- EROFS_BLKSIZ - erofs_blkoff(pos));
+ sb->s_blocksize - erofs_blkoff(sb, pos));
src = erofs_bread(&buf, packed_inode,
- erofs_blknr(pos), EROFS_KMAP);
+ erofs_blknr(sb, pos), EROFS_KMAP);
if (IS_ERR(src)) {
erofs_put_metabuf(&buf);
return PTR_ERR(src);
}
dst = kmap_local_page(page);
- memcpy(dst + pageofs + i, src + erofs_blkoff(pos), cnt);
+ memcpy(dst + pageofs + i, src + erofs_blkoff(sb, pos), cnt);
kunmap_local(dst);
pos += cnt;
}
@@ -859,7 +826,8 @@ repeat:
void *mp;
mp = erofs_read_metabuf(&fe->map.buf, inode->i_sb,
- erofs_blknr(map->m_pa), EROFS_NO_KMAP);
+ erofs_blknr(inode->i_sb, map->m_pa),
+ EROFS_NO_KMAP);
if (IS_ERR(mp)) {
err = PTR_ERR(mp);
erofs_err(inode->i_sb,
@@ -887,10 +855,9 @@ hitted:
* those chains are handled asynchronously thus the page cannot be used
* for inplace I/O or bvpage (should be processed in a strict order.)
*/
- tight &= (fe->mode >= Z_EROFS_PCLUSTER_HOOKED &&
- fe->mode != Z_EROFS_PCLUSTER_FOLLOWED_NOINPLACE);
+ tight &= (fe->mode > Z_EROFS_PCLUSTER_FOLLOWED_NOINPLACE);
- cur = end - min_t(unsigned int, offset + end - map->m_la, end);
+ cur = end - min_t(erofs_off_t, offset + end - map->m_la, end);
if (!(map->m_flags & EROFS_MAP_MAPPED)) {
zero_user_segment(page, cur, end);
goto next_part;
@@ -1013,9 +980,11 @@ static void z_erofs_do_decompressed_bvec(struct z_erofs_decompress_backend *be,
struct z_erofs_bvec *bvec)
{
struct z_erofs_bvec_item *item;
+ unsigned int pgnr;
- if (!((bvec->offset + be->pcl->pageofs_out) & ~PAGE_MASK)) {
- unsigned int pgnr;
+ if (!((bvec->offset + be->pcl->pageofs_out) & ~PAGE_MASK) &&
+ (bvec->end == PAGE_SIZE ||
+ bvec->offset + bvec->end == be->pcl->length)) {
pgnr = (bvec->offset + be->pcl->pageofs_out) >> PAGE_SHIFT;
DBG_BUGON(pgnr >= be->nr_pages);
@@ -1268,11 +1237,7 @@ static void z_erofs_decompress_queue(const struct z_erofs_decompressqueue *io,
LIST_HEAD_INIT(be.decompressed_secondary_bvecs),
};
z_erofs_next_pcluster_t owned = io->head;
-
- while (owned != Z_EROFS_PCLUSTER_TAIL_CLOSED) {
- /* impossible that 'owned' equals Z_EROFS_WORK_TPTR_TAIL */
- DBG_BUGON(owned == Z_EROFS_PCLUSTER_TAIL);
- /* impossible that 'owned' equals Z_EROFS_PCLUSTER_NIL */
+ while (owned != Z_EROFS_PCLUSTER_TAIL) {
DBG_BUGON(owned == Z_EROFS_PCLUSTER_NIL);
be.pcl = container_of(owned, struct z_erofs_pcluster, next);
@@ -1289,7 +1254,7 @@ static void z_erofs_decompressqueue_work(struct work_struct *work)
container_of(work, struct z_erofs_decompressqueue, u.work);
struct page *pagepool = NULL;
- DBG_BUGON(bgq->head == Z_EROFS_PCLUSTER_TAIL_CLOSED);
+ DBG_BUGON(bgq->head == Z_EROFS_PCLUSTER_TAIL);
z_erofs_decompress_queue(bgq, &pagepool);
erofs_release_pages(&pagepool);
kvfree(bgq);
@@ -1317,7 +1282,7 @@ static void z_erofs_decompress_kickoff(struct z_erofs_decompressqueue *io,
if (atomic_add_return(bios, &io->pending_bios))
return;
/* Use (kthread_)work and sync decompression for atomic contexts only */
- if (in_atomic() || irqs_disabled()) {
+ if (!in_task() || irqs_disabled() || rcu_read_lock_any_held()) {
#ifdef CONFIG_EROFS_FS_PCPU_KTHREAD
struct kthread_worker *worker;
@@ -1481,7 +1446,7 @@ fg_out:
q->eio = false;
}
q->sb = sb;
- q->head = Z_EROFS_PCLUSTER_TAIL_CLOSED;
+ q->head = Z_EROFS_PCLUSTER_TAIL;
return q;
}
@@ -1513,11 +1478,7 @@ static void move_to_bypass_jobqueue(struct z_erofs_pcluster *pcl,
z_erofs_next_pcluster_t *const submit_qtail = qtail[JQ_SUBMIT];
z_erofs_next_pcluster_t *const bypass_qtail = qtail[JQ_BYPASS];
- DBG_BUGON(owned_head == Z_EROFS_PCLUSTER_TAIL_CLOSED);
- if (owned_head == Z_EROFS_PCLUSTER_TAIL)
- owned_head = Z_EROFS_PCLUSTER_TAIL_CLOSED;
-
- WRITE_ONCE(pcl->next, Z_EROFS_PCLUSTER_TAIL_CLOSED);
+ WRITE_ONCE(pcl->next, Z_EROFS_PCLUSTER_TAIL);
WRITE_ONCE(*submit_qtail, owned_head);
WRITE_ONCE(*bypass_qtail, &pcl->next);
@@ -1584,15 +1545,11 @@ static void z_erofs_submit_queue(struct z_erofs_decompress_frontend *f,
unsigned int i = 0;
bool bypass = true;
- /* no possible 'owned_head' equals the following */
- DBG_BUGON(owned_head == Z_EROFS_PCLUSTER_TAIL_CLOSED);
DBG_BUGON(owned_head == Z_EROFS_PCLUSTER_NIL);
pcl = container_of(owned_head, struct z_erofs_pcluster, next);
+ owned_head = READ_ONCE(pcl->next);
- /* close the main owned chain at first */
- owned_head = cmpxchg(&pcl->next, Z_EROFS_PCLUSTER_TAIL,
- Z_EROFS_PCLUSTER_TAIL_CLOSED);
if (z_erofs_is_inline_pcluster(pcl)) {
move_to_bypass_jobqueue(pcl, qtail, owned_head);
continue;
@@ -1600,11 +1557,11 @@ static void z_erofs_submit_queue(struct z_erofs_decompress_frontend *f,
/* no device id here, thus it will always succeed */
mdev = (struct erofs_map_dev) {
- .m_pa = blknr_to_addr(pcl->obj.index),
+ .m_pa = erofs_pos(sb, pcl->obj.index),
};
(void)erofs_map_dev(sb, &mdev);
- cur = erofs_blknr(mdev.m_pa);
+ cur = erofs_blknr(sb, mdev.m_pa);
end = cur + pcl->pclusterpages;
do {
@@ -1638,7 +1595,7 @@ submit_bio_retry:
last_bdev = mdev.m_bdev;
bio->bi_iter.bi_sector = (sector_t)cur <<
- LOG_SECTORS_PER_BLOCK;
+ (sb->s_blocksize_bits - 9);
bio->bi_private = bi_private;
if (f->readahead)
bio->bi_opf |= REQ_RAHEAD;
@@ -1736,7 +1693,7 @@ static void z_erofs_pcluster_readmore(struct z_erofs_decompress_frontend *f,
}
cur = map->m_la + map->m_llen - 1;
- while (cur >= end) {
+ while ((cur >= end) && (cur < i_size_read(inode))) {
pgoff_t index = cur >> PAGE_SHIFT;
struct page *page;
diff --git a/fs/erofs/zdata.h b/fs/erofs/zdata.h
index 4588a47c867e..9fd6abe967a9 100644
--- a/fs/erofs/zdata.h
+++ b/fs/erofs/zdata.h
@@ -94,11 +94,8 @@ struct z_erofs_pcluster {
/* let's avoid the valid 32-bit kernel addresses */
-/* the chained workgroup has't submitted io (still open) */
+/* the end of a chain of pclusters */
#define Z_EROFS_PCLUSTER_TAIL ((void *)0x5F0ECAFE)
-/* the chained workgroup has already submitted io */
-#define Z_EROFS_PCLUSTER_TAIL_CLOSED ((void *)0x5F0EDEAD)
-
#define Z_EROFS_PCLUSTER_NIL (NULL)
struct z_erofs_decompressqueue {
diff --git a/fs/erofs/zmap.c b/fs/erofs/zmap.c
index 39cc014dba40..8973ccad707d 100644
--- a/fs/erofs/zmap.c
+++ b/fs/erofs/zmap.c
@@ -7,10 +7,6 @@
#include <asm/unaligned.h>
#include <trace/events/erofs.h>
-static int z_erofs_do_map_blocks(struct inode *inode,
- struct erofs_map_blocks *map,
- int flags);
-
int z_erofs_fill_inode(struct inode *inode)
{
struct erofs_inode *const vi = EROFS_I(inode);
@@ -22,133 +18,13 @@ int z_erofs_fill_inode(struct inode *inode)
vi->z_advise = 0;
vi->z_algorithmtype[0] = 0;
vi->z_algorithmtype[1] = 0;
- vi->z_logical_clusterbits = LOG_BLOCK_SIZE;
+ vi->z_logical_clusterbits = inode->i_sb->s_blocksize_bits;
set_bit(EROFS_I_Z_INITED_BIT, &vi->flags);
}
inode->i_mapping->a_ops = &z_erofs_aops;
return 0;
}
-static int z_erofs_fill_inode_lazy(struct inode *inode)
-{
- struct erofs_inode *const vi = EROFS_I(inode);
- struct super_block *const sb = inode->i_sb;
- int err, headnr;
- erofs_off_t pos;
- struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
- void *kaddr;
- struct z_erofs_map_header *h;
-
- if (test_bit(EROFS_I_Z_INITED_BIT, &vi->flags)) {
- /*
- * paired with smp_mb() at the end of the function to ensure
- * fields will only be observed after the bit is set.
- */
- smp_mb();
- return 0;
- }
-
- if (wait_on_bit_lock(&vi->flags, EROFS_I_BL_Z_BIT, TASK_KILLABLE))
- return -ERESTARTSYS;
-
- err = 0;
- if (test_bit(EROFS_I_Z_INITED_BIT, &vi->flags))
- goto out_unlock;
-
- pos = ALIGN(iloc(EROFS_SB(sb), vi->nid) + vi->inode_isize +
- vi->xattr_isize, 8);
- kaddr = erofs_read_metabuf(&buf, sb, erofs_blknr(pos), EROFS_KMAP);
- if (IS_ERR(kaddr)) {
- err = PTR_ERR(kaddr);
- goto out_unlock;
- }
-
- h = kaddr + erofs_blkoff(pos);
- /*
- * if the highest bit of the 8-byte map header is set, the whole file
- * is stored in the packed inode. The rest bits keeps z_fragmentoff.
- */
- if (h->h_clusterbits >> Z_EROFS_FRAGMENT_INODE_BIT) {
- vi->z_advise = Z_EROFS_ADVISE_FRAGMENT_PCLUSTER;
- vi->z_fragmentoff = le64_to_cpu(*(__le64 *)h) ^ (1ULL << 63);
- vi->z_tailextent_headlcn = 0;
- goto done;
- }
- vi->z_advise = le16_to_cpu(h->h_advise);
- vi->z_algorithmtype[0] = h->h_algorithmtype & 15;
- vi->z_algorithmtype[1] = h->h_algorithmtype >> 4;
-
- headnr = 0;
- if (vi->z_algorithmtype[0] >= Z_EROFS_COMPRESSION_MAX ||
- vi->z_algorithmtype[++headnr] >= Z_EROFS_COMPRESSION_MAX) {
- erofs_err(sb, "unknown HEAD%u format %u for nid %llu, please upgrade kernel",
- headnr + 1, vi->z_algorithmtype[headnr], vi->nid);
- err = -EOPNOTSUPP;
- goto out_put_metabuf;
- }
-
- vi->z_logical_clusterbits = LOG_BLOCK_SIZE + (h->h_clusterbits & 7);
- if (!erofs_sb_has_big_pcluster(EROFS_SB(sb)) &&
- vi->z_advise & (Z_EROFS_ADVISE_BIG_PCLUSTER_1 |
- Z_EROFS_ADVISE_BIG_PCLUSTER_2)) {
- erofs_err(sb, "per-inode big pcluster without sb feature for nid %llu",
- vi->nid);
- err = -EFSCORRUPTED;
- goto out_put_metabuf;
- }
- if (vi->datalayout == EROFS_INODE_FLAT_COMPRESSION &&
- !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1) ^
- !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_2)) {
- erofs_err(sb, "big pcluster head1/2 of compact indexes should be consistent for nid %llu",
- vi->nid);
- err = -EFSCORRUPTED;
- goto out_put_metabuf;
- }
-
- if (vi->z_advise & Z_EROFS_ADVISE_INLINE_PCLUSTER) {
- struct erofs_map_blocks map = {
- .buf = __EROFS_BUF_INITIALIZER
- };
-
- vi->z_idata_size = le16_to_cpu(h->h_idata_size);
- err = z_erofs_do_map_blocks(inode, &map,
- EROFS_GET_BLOCKS_FINDTAIL);
- erofs_put_metabuf(&map.buf);
-
- if (!map.m_plen ||
- erofs_blkoff(map.m_pa) + map.m_plen > EROFS_BLKSIZ) {
- erofs_err(sb, "invalid tail-packing pclustersize %llu",
- map.m_plen);
- err = -EFSCORRUPTED;
- }
- if (err < 0)
- goto out_put_metabuf;
- }
-
- if (vi->z_advise & Z_EROFS_ADVISE_FRAGMENT_PCLUSTER &&
- !(h->h_clusterbits >> Z_EROFS_FRAGMENT_INODE_BIT)) {
- struct erofs_map_blocks map = {
- .buf = __EROFS_BUF_INITIALIZER
- };
-
- vi->z_fragmentoff = le32_to_cpu(h->h_fragmentoff);
- err = z_erofs_do_map_blocks(inode, &map,
- EROFS_GET_BLOCKS_FINDTAIL);
- erofs_put_metabuf(&map.buf);
- if (err < 0)
- goto out_put_metabuf;
- }
-done:
- /* paired with smp_mb() at the beginning of the function */
- smp_mb();
- set_bit(EROFS_I_Z_INITED_BIT, &vi->flags);
-out_put_metabuf:
- erofs_put_metabuf(&buf);
-out_unlock:
- clear_and_wake_up_bit(EROFS_I_BL_Z_BIT, &vi->flags);
- return err;
-}
-
struct z_erofs_maprecorder {
struct inode *inode;
struct erofs_map_blocks *map;
@@ -169,22 +45,21 @@ static int legacy_load_cluster_from_disk(struct z_erofs_maprecorder *m,
{
struct inode *const inode = m->inode;
struct erofs_inode *const vi = EROFS_I(inode);
- const erofs_off_t ibase = iloc(EROFS_I_SB(inode), vi->nid);
const erofs_off_t pos =
- Z_EROFS_VLE_LEGACY_INDEX_ALIGN(ibase + vi->inode_isize +
- vi->xattr_isize) +
+ Z_EROFS_VLE_LEGACY_INDEX_ALIGN(erofs_iloc(inode) +
+ vi->inode_isize + vi->xattr_isize) +
lcn * sizeof(struct z_erofs_vle_decompressed_index);
struct z_erofs_vle_decompressed_index *di;
unsigned int advise, type;
m->kaddr = erofs_read_metabuf(&m->map->buf, inode->i_sb,
- erofs_blknr(pos), EROFS_KMAP_ATOMIC);
+ erofs_blknr(inode->i_sb, pos), EROFS_KMAP_ATOMIC);
if (IS_ERR(m->kaddr))
return PTR_ERR(m->kaddr);
m->nextpackoff = pos + sizeof(struct z_erofs_vle_decompressed_index);
m->lcn = lcn;
- di = m->kaddr + erofs_blkoff(pos);
+ di = m->kaddr + erofs_blkoff(inode->i_sb, pos);
advise = le16_to_cpu(di->di_advise);
type = (advise >> Z_EROFS_VLE_DI_CLUSTER_TYPE_BIT) &
@@ -211,6 +86,10 @@ static int legacy_load_cluster_from_disk(struct z_erofs_maprecorder *m,
if (advise & Z_EROFS_VLE_DI_PARTIAL_REF)
m->partialref = true;
m->clusterofs = le16_to_cpu(di->di_clusterofs);
+ if (m->clusterofs >= 1 << vi->z_logical_clusterbits) {
+ DBG_BUGON(1);
+ return -EFSCORRUPTED;
+ }
m->pblk = le32_to_cpu(di->di_u.blkaddr);
break;
default:
@@ -269,7 +148,7 @@ static int unpack_compacted_index(struct z_erofs_maprecorder *m,
u8 *in, type;
bool big_pcluster;
- if (1 << amortizedshift == 4)
+ if (1 << amortizedshift == 4 && lclusterbits <= 14)
vcnt = 2;
else if (1 << amortizedshift == 2 && lclusterbits == 12)
vcnt = 16;
@@ -281,7 +160,7 @@ static int unpack_compacted_index(struct z_erofs_maprecorder *m,
(vcnt << amortizedshift);
big_pcluster = vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1;
encodebits = ((vcnt << amortizedshift) - sizeof(__le32)) * 8 / vcnt;
- eofs = erofs_blkoff(pos);
+ eofs = erofs_blkoff(m->inode->i_sb, pos);
base = round_down(eofs, vcnt << amortizedshift);
in = m->kaddr + base;
@@ -371,18 +250,13 @@ static int compacted_load_cluster_from_disk(struct z_erofs_maprecorder *m,
{
struct inode *const inode = m->inode;
struct erofs_inode *const vi = EROFS_I(inode);
- const unsigned int lclusterbits = vi->z_logical_clusterbits;
- const erofs_off_t ebase = ALIGN(iloc(EROFS_I_SB(inode), vi->nid) +
- vi->inode_isize + vi->xattr_isize, 8) +
- sizeof(struct z_erofs_map_header);
- const unsigned int totalidx = DIV_ROUND_UP(inode->i_size, EROFS_BLKSIZ);
+ const erofs_off_t ebase = sizeof(struct z_erofs_map_header) +
+ ALIGN(erofs_iloc(inode) + vi->inode_isize + vi->xattr_isize, 8);
+ unsigned int totalidx = erofs_iblks(inode);
unsigned int compacted_4b_initial, compacted_2b;
unsigned int amortizedshift;
erofs_off_t pos;
- if (lclusterbits != 12)
- return -EOPNOTSUPP;
-
if (lcn >= totalidx)
return -EINVAL;
@@ -416,7 +290,7 @@ static int compacted_load_cluster_from_disk(struct z_erofs_maprecorder *m,
out:
pos += lcn * (1 << amortizedshift);
m->kaddr = erofs_read_metabuf(&m->map->buf, inode->i_sb,
- erofs_blknr(pos), EROFS_KMAP_ATOMIC);
+ erofs_blknr(inode->i_sb, pos), EROFS_KMAP_ATOMIC);
if (IS_ERR(m->kaddr))
return PTR_ERR(m->kaddr);
return unpack_compacted_index(m, amortizedshift, pos, lookahead);
@@ -486,6 +360,7 @@ static int z_erofs_extent_lookback(struct z_erofs_maprecorder *m,
static int z_erofs_get_extent_compressedlen(struct z_erofs_maprecorder *m,
unsigned int initial_lcn)
{
+ struct super_block *sb = m->inode->i_sb;
struct erofs_inode *const vi = EROFS_I(m->inode);
struct erofs_map_blocks *const map = m->map;
const unsigned int lclusterbits = vi->z_logical_clusterbits;
@@ -532,7 +407,7 @@ static int z_erofs_get_extent_compressedlen(struct z_erofs_maprecorder *m,
* if the 1st NONHEAD lcluster is actually PLAIN or HEAD type
* rather than CBLKCNT, it's a 1 lcluster-sized pcluster.
*/
- m->compressedblks = 1 << (lclusterbits - LOG_BLOCK_SIZE);
+ m->compressedblks = 1 << (lclusterbits - sb->s_blocksize_bits);
break;
case Z_EROFS_VLE_CLUSTER_TYPE_NONHEAD:
if (m->delta[0] != 1)
@@ -548,7 +423,7 @@ static int z_erofs_get_extent_compressedlen(struct z_erofs_maprecorder *m,
return -EFSCORRUPTED;
}
out:
- map->m_plen = (u64)m->compressedblks << LOG_BLOCK_SIZE;
+ map->m_plen = erofs_pos(sb, m->compressedblks);
return 0;
err_bonus_cblkcnt:
erofs_err(m->inode->i_sb,
@@ -691,7 +566,7 @@ static int z_erofs_do_map_blocks(struct inode *inode,
} else if (fragment && m.lcn == vi->z_tailextent_headlcn) {
map->m_flags |= EROFS_MAP_FRAGMENT;
} else {
- map->m_pa = blknr_to_addr(m.pblk);
+ map->m_pa = erofs_pos(inode->i_sb, m.pblk);
err = z_erofs_get_extent_compressedlen(&m, initial_lcn);
if (err)
goto unmap_out;
@@ -718,7 +593,7 @@ static int z_erofs_do_map_blocks(struct inode *inode,
if ((flags & EROFS_GET_BLOCKS_FIEMAP) ||
((flags & EROFS_GET_BLOCKS_READMORE) &&
map->m_algorithmformat == Z_EROFS_COMPRESSION_LZMA &&
- map->m_llen >= EROFS_BLKSIZ)) {
+ map->m_llen >= i_blocksize(inode))) {
err = z_erofs_get_extent_decompressedlen(&m);
if (!err)
map->m_flags |= EROFS_MAP_FULL_MAPPED;
@@ -732,6 +607,125 @@ unmap_out:
return err;
}
+static int z_erofs_fill_inode_lazy(struct inode *inode)
+{
+ struct erofs_inode *const vi = EROFS_I(inode);
+ struct super_block *const sb = inode->i_sb;
+ int err, headnr;
+ erofs_off_t pos;
+ struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
+ void *kaddr;
+ struct z_erofs_map_header *h;
+
+ if (test_bit(EROFS_I_Z_INITED_BIT, &vi->flags)) {
+ /*
+ * paired with smp_mb() at the end of the function to ensure
+ * fields will only be observed after the bit is set.
+ */
+ smp_mb();
+ return 0;
+ }
+
+ if (wait_on_bit_lock(&vi->flags, EROFS_I_BL_Z_BIT, TASK_KILLABLE))
+ return -ERESTARTSYS;
+
+ err = 0;
+ if (test_bit(EROFS_I_Z_INITED_BIT, &vi->flags))
+ goto out_unlock;
+
+ pos = ALIGN(erofs_iloc(inode) + vi->inode_isize + vi->xattr_isize, 8);
+ kaddr = erofs_read_metabuf(&buf, sb, erofs_blknr(sb, pos), EROFS_KMAP);
+ if (IS_ERR(kaddr)) {
+ err = PTR_ERR(kaddr);
+ goto out_unlock;
+ }
+
+ h = kaddr + erofs_blkoff(sb, pos);
+ /*
+ * if the highest bit of the 8-byte map header is set, the whole file
+ * is stored in the packed inode. The rest bits keeps z_fragmentoff.
+ */
+ if (h->h_clusterbits >> Z_EROFS_FRAGMENT_INODE_BIT) {
+ vi->z_advise = Z_EROFS_ADVISE_FRAGMENT_PCLUSTER;
+ vi->z_fragmentoff = le64_to_cpu(*(__le64 *)h) ^ (1ULL << 63);
+ vi->z_tailextent_headlcn = 0;
+ goto done;
+ }
+ vi->z_advise = le16_to_cpu(h->h_advise);
+ vi->z_algorithmtype[0] = h->h_algorithmtype & 15;
+ vi->z_algorithmtype[1] = h->h_algorithmtype >> 4;
+
+ headnr = 0;
+ if (vi->z_algorithmtype[0] >= Z_EROFS_COMPRESSION_MAX ||
+ vi->z_algorithmtype[++headnr] >= Z_EROFS_COMPRESSION_MAX) {
+ erofs_err(sb, "unknown HEAD%u format %u for nid %llu, please upgrade kernel",
+ headnr + 1, vi->z_algorithmtype[headnr], vi->nid);
+ err = -EOPNOTSUPP;
+ goto out_put_metabuf;
+ }
+
+ vi->z_logical_clusterbits = sb->s_blocksize_bits + (h->h_clusterbits & 7);
+ if (!erofs_sb_has_big_pcluster(EROFS_SB(sb)) &&
+ vi->z_advise & (Z_EROFS_ADVISE_BIG_PCLUSTER_1 |
+ Z_EROFS_ADVISE_BIG_PCLUSTER_2)) {
+ erofs_err(sb, "per-inode big pcluster without sb feature for nid %llu",
+ vi->nid);
+ err = -EFSCORRUPTED;
+ goto out_put_metabuf;
+ }
+ if (vi->datalayout == EROFS_INODE_FLAT_COMPRESSION &&
+ !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_1) ^
+ !(vi->z_advise & Z_EROFS_ADVISE_BIG_PCLUSTER_2)) {
+ erofs_err(sb, "big pcluster head1/2 of compact indexes should be consistent for nid %llu",
+ vi->nid);
+ err = -EFSCORRUPTED;
+ goto out_put_metabuf;
+ }
+
+ if (vi->z_advise & Z_EROFS_ADVISE_INLINE_PCLUSTER) {
+ struct erofs_map_blocks map = {
+ .buf = __EROFS_BUF_INITIALIZER
+ };
+
+ vi->z_idata_size = le16_to_cpu(h->h_idata_size);
+ err = z_erofs_do_map_blocks(inode, &map,
+ EROFS_GET_BLOCKS_FINDTAIL);
+ erofs_put_metabuf(&map.buf);
+
+ if (!map.m_plen ||
+ erofs_blkoff(sb, map.m_pa) + map.m_plen > sb->s_blocksize) {
+ erofs_err(sb, "invalid tail-packing pclustersize %llu",
+ map.m_plen);
+ err = -EFSCORRUPTED;
+ }
+ if (err < 0)
+ goto out_put_metabuf;
+ }
+
+ if (vi->z_advise & Z_EROFS_ADVISE_FRAGMENT_PCLUSTER &&
+ !(h->h_clusterbits >> Z_EROFS_FRAGMENT_INODE_BIT)) {
+ struct erofs_map_blocks map = {
+ .buf = __EROFS_BUF_INITIALIZER
+ };
+
+ vi->z_fragmentoff = le32_to_cpu(h->h_fragmentoff);
+ err = z_erofs_do_map_blocks(inode, &map,
+ EROFS_GET_BLOCKS_FINDTAIL);
+ erofs_put_metabuf(&map.buf);
+ if (err < 0)
+ goto out_put_metabuf;
+ }
+done:
+ /* paired with smp_mb() at the beginning of the function */
+ smp_mb();
+ set_bit(EROFS_I_Z_INITED_BIT, &vi->flags);
+out_put_metabuf:
+ erofs_put_metabuf(&buf);
+out_unlock:
+ clear_and_wake_up_bit(EROFS_I_BL_Z_BIT, &vi->flags);
+ return err;
+}
+
int z_erofs_map_blocks_iter(struct inode *inode, struct erofs_map_blocks *map,
int flags)
{
diff --git a/fs/exec.c b/fs/exec.c
index 2d6bca1cda6e..ef93a4d5911b 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -198,33 +198,39 @@ static struct page *get_arg_page(struct linux_binprm *bprm, unsigned long pos,
int write)
{
struct page *page;
+ struct vm_area_struct *vma = bprm->vma;
+ struct mm_struct *mm = bprm->mm;
int ret;
- unsigned int gup_flags = FOLL_FORCE;
-#ifdef CONFIG_STACK_GROWSUP
- if (write) {
- ret = expand_downwards(bprm->vma, pos);
- if (ret < 0)
+ /*
+ * Avoid relying on expanding the stack down in GUP (which
+ * does not work for STACK_GROWSUP anyway), and just do it
+ * by hand ahead of time.
+ */
+ if (write && pos < vma->vm_start) {
+ mmap_write_lock(mm);
+ ret = expand_downwards(vma, pos);
+ if (unlikely(ret < 0)) {
+ mmap_write_unlock(mm);
return NULL;
- }
-#endif
-
- if (write)
- gup_flags |= FOLL_WRITE;
+ }
+ mmap_write_downgrade(mm);
+ } else
+ mmap_read_lock(mm);
/*
* We are doing an exec(). 'current' is the process
- * doing the exec and bprm->mm is the new process's mm.
+ * doing the exec and 'mm' is the new process's mm.
*/
- mmap_read_lock(bprm->mm);
- ret = get_user_pages_remote(bprm->mm, pos, 1, gup_flags,
+ ret = get_user_pages_remote(mm, pos, 1,
+ write ? FOLL_WRITE : 0,
&page, NULL, NULL);
- mmap_read_unlock(bprm->mm);
+ mmap_read_unlock(mm);
if (ret <= 0)
return NULL;
if (write)
- acct_arg_size(bprm, vma_pages(bprm->vma));
+ acct_arg_size(bprm, vma_pages(vma));
return page;
}
@@ -854,7 +860,7 @@ int setup_arg_pages(struct linux_binprm *bprm,
stack_base = vma->vm_start - stack_expand;
#endif
current->mm->start_stack = bprm->p;
- ret = expand_stack(vma, stack_base);
+ ret = expand_stack_locked(vma, stack_base);
if (ret)
ret = -EFAULT;
diff --git a/fs/exfat/dir.c b/fs/exfat/dir.c
index 15c4f901be36..33100904c951 100644
--- a/fs/exfat/dir.c
+++ b/fs/exfat/dir.c
@@ -34,6 +34,7 @@ static void exfat_get_uniname_from_ext_entry(struct super_block *sb,
{
int i;
struct exfat_entry_set_cache *es;
+ unsigned int uni_len = 0, len;
es = exfat_get_dentry_set(sb, p_dir, entry, ES_ALL_ENTRIES);
if (!es)
@@ -52,7 +53,10 @@ static void exfat_get_uniname_from_ext_entry(struct super_block *sb,
if (exfat_get_entry_type(ep) != TYPE_EXTEND)
break;
- exfat_extract_uni_name(ep, uniname);
+ len = exfat_extract_uni_name(ep, uniname);
+ uni_len += len;
+ if (len != EXFAT_FILE_NAME_LEN || uni_len >= MAX_NAME_LENGTH)
+ break;
uniname += EXFAT_FILE_NAME_LEN;
}
@@ -1027,7 +1031,8 @@ rewind:
if (entry_type == TYPE_EXTEND) {
unsigned short entry_uniname[16], unichar;
- if (step != DIRENT_STEP_NAME) {
+ if (step != DIRENT_STEP_NAME ||
+ name_len >= MAX_NAME_LENGTH) {
step = DIRENT_STEP_FILE;
continue;
}
diff --git a/fs/f2fs/OWNERS b/fs/f2fs/OWNERS
deleted file mode 100644
index 6a5c01163993..000000000000
--- a/fs/f2fs/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-jaegeuk@google.com
diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index 887e55988450..d635c58cf5a3 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -775,8 +775,15 @@ int f2fs_add_dentry(struct inode *dir, const struct f2fs_filename *fname,
{
int err = -EAGAIN;
- if (f2fs_has_inline_dentry(dir))
+ if (f2fs_has_inline_dentry(dir)) {
+ /*
+ * Should get i_xattr_sem to keep the lock order:
+ * i_xattr_sem -> inode_page lock used by f2fs_setxattr.
+ */
+ f2fs_down_read(&F2FS_I(dir)->i_xattr_sem);
err = f2fs_add_inline_entry(dir, fname, inode, ino, mode);
+ f2fs_up_read(&F2FS_I(dir)->i_xattr_sem);
+ }
if (err == -EAGAIN)
err = f2fs_add_regular_entry(dir, fname, inode, ino, mode);
diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c
index dc2e8637189e..db3b641f2158 100644
--- a/fs/f2fs/xattr.c
+++ b/fs/f2fs/xattr.c
@@ -527,10 +527,12 @@ int f2fs_getxattr(struct inode *inode, int index, const char *name,
if (len > F2FS_NAME_LEN)
return -ERANGE;
- f2fs_down_read(&F2FS_I(inode)->i_xattr_sem);
+ if (!ipage)
+ f2fs_down_read(&F2FS_I(inode)->i_xattr_sem);
error = lookup_all_xattrs(inode, ipage, index, len, name,
&entry, &base_addr, &base_size, &is_inline);
- f2fs_up_read(&F2FS_I(inode)->i_xattr_sem);
+ if (!ipage)
+ f2fs_up_read(&F2FS_I(inode)->i_xattr_sem);
if (error)
return error;
diff --git a/fs/fuse/OWNERS b/fs/fuse/OWNERS
deleted file mode 100644
index 5ee6098fadeb..000000000000
--- a/fs/fuse/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-balsini@google.com
diff --git a/fs/fuse/backing.c b/fs/fuse/backing.c
index 269a4dfd76d8..303a78a63cd2 100644
--- a/fs/fuse/backing.c
+++ b/fs/fuse/backing.c
@@ -208,6 +208,7 @@ int fuse_create_open_backing(
struct file *file, unsigned int flags, umode_t mode)
{
struct fuse_inode *dir_fuse_inode = get_fuse_inode(dir);
+ struct fuse_dentry *fuse_entry = get_fuse_dentry(entry);
struct fuse_dentry *dir_fuse_dentry = get_fuse_dentry(entry->d_parent);
struct dentry *backing_dentry = NULL;
struct inode *inode = NULL;
@@ -239,29 +240,28 @@ int fuse_create_open_backing(
if (err)
goto out;
- if (get_fuse_dentry(entry)->backing_path.dentry)
- path_put(&get_fuse_dentry(entry)->backing_path);
- get_fuse_dentry(entry)->backing_path = (struct path) {
+ if (fuse_entry->backing_path.dentry)
+ path_put(&fuse_entry->backing_path);
+ fuse_entry->backing_path = (struct path) {
.mnt = dir_fuse_dentry->backing_path.mnt,
.dentry = backing_dentry,
};
- path_get(&get_fuse_dentry(entry)->backing_path);
+ path_get(&fuse_entry->backing_path);
if (d_inode)
target_nodeid = get_fuse_inode(d_inode)->nodeid;
inode = fuse_iget_backing(dir->i_sb, target_nodeid,
- get_fuse_dentry(entry)->backing_path.dentry->d_inode);
- if (IS_ERR(inode)) {
- err = PTR_ERR(inode);
+ fuse_entry->backing_path.dentry->d_inode);
+ if (!inode) {
+ err = -EIO;
goto out;
}
if (get_fuse_inode(inode)->bpf)
bpf_prog_put(get_fuse_inode(inode)->bpf);
- get_fuse_inode(inode)->bpf = dir_fuse_inode->bpf;
- if (get_fuse_inode(inode)->bpf)
- bpf_prog_inc(dir_fuse_inode->bpf);
+ get_fuse_inode(inode)->bpf = fuse_entry->bpf;
+ fuse_entry->bpf = NULL;
newent = d_splice_alias(inode, entry);
if (IS_ERR(newent)) {
@@ -269,10 +269,12 @@ int fuse_create_open_backing(
goto out;
}
+ inode = NULL;
entry = newent ? newent : entry;
err = finish_open(file, entry, fuse_open_file_backing);
out:
+ iput(inode);
dput(backing_dentry);
return err;
}
@@ -295,44 +297,19 @@ void *fuse_create_open_finalize(
}
int fuse_release_initialize(struct fuse_bpf_args *fa, struct fuse_release_in *fri,
- struct inode *inode, struct file *file)
-{
- struct fuse_file *fuse_file = file->private_data;
-
- /* Always put backing file whatever bpf/userspace says */
- fput(fuse_file->backing_file);
-
- *fri = (struct fuse_release_in) {
- .fh = ((struct fuse_file *)(file->private_data))->fh,
- };
-
- *fa = (struct fuse_bpf_args) {
- .nodeid = get_fuse_inode(inode)->nodeid,
- .opcode = FUSE_RELEASE,
- .in_numargs = 1,
- .in_args[0].size = sizeof(*fri),
- .in_args[0].value = fri,
- };
-
- return 0;
-}
-
-int fuse_releasedir_initialize(struct fuse_bpf_args *fa,
- struct fuse_release_in *fri,
- struct inode *inode, struct file *file)
+ struct inode *inode, struct fuse_file *ff)
{
- struct fuse_file *fuse_file = file->private_data;
-
/* Always put backing file whatever bpf/userspace says */
- fput(fuse_file->backing_file);
+ fput(ff->backing_file);
*fri = (struct fuse_release_in) {
- .fh = ((struct fuse_file *)(file->private_data))->fh,
+ .fh = ff->fh,
};
*fa = (struct fuse_bpf_args) {
.nodeid = get_fuse_inode(inode)->nodeid,
- .opcode = FUSE_RELEASEDIR,
+ .opcode = S_ISDIR(inode->i_mode) ? FUSE_RELEASEDIR
+ : FUSE_RELEASE,
.in_numargs = 1,
.in_args[0].size = sizeof(*fri),
.in_args[0].value = fri,
@@ -342,15 +319,14 @@ int fuse_releasedir_initialize(struct fuse_bpf_args *fa,
}
int fuse_release_backing(struct fuse_bpf_args *fa,
- struct inode *inode, struct file *file)
+ struct inode *inode, struct fuse_file *ff)
{
return 0;
}
void *fuse_release_finalize(struct fuse_bpf_args *fa,
- struct inode *inode, struct file *file)
+ struct inode *inode, struct fuse_file *ff)
{
- fuse_file_free(file->private_data);
return NULL;
}
@@ -992,6 +968,33 @@ void *fuse_file_write_iter_finalize(struct fuse_bpf_args *fa,
return ERR_PTR(fwio->ret);
}
+long fuse_backing_ioctl(struct file *file, unsigned int command, unsigned long arg, int flags)
+{
+ struct fuse_file *ff = file->private_data;
+ long ret;
+
+ if (flags & FUSE_IOCTL_COMPAT)
+ ret = -ENOTTY;
+ else
+ ret = vfs_ioctl(ff->backing_file, command, arg);
+
+ return ret;
+}
+
+int fuse_file_flock_backing(struct file *file, int cmd, struct file_lock *fl)
+{
+ struct fuse_file *ff = file->private_data;
+ struct file *backing_file = ff->backing_file;
+ int error;
+
+ fl->fl_file = backing_file;
+ if (backing_file->f_op->flock)
+ error = backing_file->f_op->flock(backing_file, cmd, fl);
+ else
+ error = locks_lock_file_wait(backing_file, fl);
+ return error;
+}
+
ssize_t fuse_backing_mmap(struct file *file, struct vm_area_struct *vma)
{
int ret;
@@ -1224,14 +1227,12 @@ int fuse_handle_bpf_prog(struct fuse_entry_bpf *feb, struct inode *parent,
}
/* Cannot change existing program */
- if (*bpf && new_bpf) {
- bpf_prog_put(new_bpf);
+ if (*bpf) {
+ if (new_bpf)
+ bpf_prog_put(new_bpf);
return new_bpf == *bpf ? 0 : -EINVAL;
}
- if (*bpf)
- bpf_prog_put(*bpf);
-
*bpf = new_bpf;
return 0;
}
@@ -1239,61 +1240,62 @@ int fuse_handle_bpf_prog(struct fuse_entry_bpf *feb, struct inode *parent,
struct dentry *fuse_lookup_finalize(struct fuse_bpf_args *fa, struct inode *dir,
struct dentry *entry, unsigned int flags)
{
- struct fuse_dentry *fd;
- struct dentry *bd;
- struct inode *inode, *backing_inode;
- struct inode *d_inode = entry->d_inode;
+ struct fuse_dentry *fuse_entry;
+ struct dentry *backing_entry;
+ struct inode *inode = NULL, *backing_inode;
+ struct inode *entry_inode = entry->d_inode;
struct fuse_entry_out *feo = fa->out_args[0].value;
struct fuse_entry_bpf_out *febo = fa->out_args[1].value;
- struct fuse_entry_bpf *feb = container_of(febo, struct fuse_entry_bpf, out);
+ struct fuse_entry_bpf *feb = container_of(febo, struct fuse_entry_bpf,
+ out);
int error = -1;
u64 target_nodeid = 0;
- struct dentry *ret;
+ struct dentry *ret = NULL;
- fd = get_fuse_dentry(entry);
- if (!fd) {
+ fuse_entry = get_fuse_dentry(entry);
+ if (!fuse_entry) {
ret = ERR_PTR(-EIO);
goto out;
}
- bd = fd->backing_path.dentry;
- if (!bd) {
+ backing_entry = fuse_entry->backing_path.dentry;
+ if (!backing_entry) {
ret = ERR_PTR(-ENOENT);
goto out;
}
- backing_inode = bd->d_inode;
- if (!backing_inode) {
- ret = 0;
- goto out;
- }
+ if (entry_inode)
+ target_nodeid = get_fuse_inode(entry_inode)->nodeid;
- if (d_inode)
- target_nodeid = get_fuse_inode(d_inode)->nodeid;
-
- inode = fuse_iget_backing(dir->i_sb, target_nodeid, backing_inode);
+ backing_inode = backing_entry->d_inode;
+ if (backing_inode)
+ inode = fuse_iget_backing(dir->i_sb, target_nodeid,
+ backing_inode);
- if (IS_ERR(inode)) {
- ret = ERR_PTR(PTR_ERR(inode));
- goto out;
- }
-
- error = fuse_handle_bpf_prog(feb, dir, &get_fuse_inode(inode)->bpf);
+ error = inode ?
+ fuse_handle_bpf_prog(feb, dir, &get_fuse_inode(inode)->bpf) :
+ fuse_handle_bpf_prog(feb, dir, &fuse_entry->bpf);
if (error) {
ret = ERR_PTR(error);
goto out;
}
- error = fuse_handle_backing(feb, &get_fuse_inode(inode)->backing_inode, &fd->backing_path);
- if (error) {
- ret = ERR_PTR(error);
- goto out;
- }
-
- get_fuse_inode(inode)->nodeid = feo->nodeid;
+ if (inode) {
+ error = fuse_handle_backing(feb,
+ &get_fuse_inode(inode)->backing_inode,
+ &fuse_entry->backing_path);
+ if (error) {
+ ret = ERR_PTR(error);
+ goto out;
+ }
- ret = d_splice_alias(inode, entry);
+ get_fuse_inode(inode)->nodeid = feo->nodeid;
+ ret = d_splice_alias(inode, entry);
+ if (!IS_ERR(ret))
+ inode = NULL;
+ }
out:
+ iput(inode);
if (feb->backing_file)
fput(feb->backing_file);
return ret;
@@ -1444,32 +1446,34 @@ int fuse_mkdir_initialize(
int fuse_mkdir_backing(
struct fuse_bpf_args *fa,
- struct inode *dir, struct dentry *entry, umode_t mode)
+ struct inode *dir_inode, struct dentry *entry, umode_t mode)
{
int err = 0;
const struct fuse_mkdir_in *fmi = fa->in_args[0].value;
- struct fuse_inode *fuse_inode = get_fuse_inode(dir);
- struct inode *backing_inode = fuse_inode->backing_inode;
+ struct fuse_inode *dir_fuse_inode = get_fuse_inode(dir_inode);
+ struct inode *dir_backing_inode = dir_fuse_inode->backing_inode;
struct path backing_path = {};
struct inode *inode = NULL;
- struct dentry *d;
//TODO Actually deal with changing the backing entry in mkdir
get_fuse_backing_path(entry, &backing_path);
if (!backing_path.dentry)
return -EBADF;
- inode_lock_nested(backing_inode, I_MUTEX_PARENT);
+ inode_lock_nested(dir_backing_inode, I_MUTEX_PARENT);
mode = fmi->mode;
- if (!IS_POSIXACL(backing_inode))
+ if (!IS_POSIXACL(dir_backing_inode))
mode &= ~fmi->umask;
- err = vfs_mkdir(&init_user_ns, backing_inode, backing_path.dentry, mode);
+ err = vfs_mkdir(&init_user_ns, dir_backing_inode, backing_path.dentry,
+ mode);
if (err)
goto out;
if (d_really_is_negative(backing_path.dentry) ||
unlikely(d_unhashed(backing_path.dentry))) {
- d = lookup_one_len(entry->d_name.name, backing_path.dentry->d_parent,
- entry->d_name.len);
+ struct dentry *d = lookup_one_len(entry->d_name.name,
+ backing_path.dentry->d_parent,
+ entry->d_name.len);
+
if (IS_ERR(d)) {
err = PTR_ERR(d);
goto out;
@@ -1477,14 +1481,19 @@ int fuse_mkdir_backing(
dput(backing_path.dentry);
backing_path.dentry = d;
}
- inode = fuse_iget_backing(dir->i_sb, fuse_inode->nodeid, backing_inode);
+ inode = fuse_iget_backing(dir_inode->i_sb, 0,
+ backing_path.dentry->d_inode);
if (IS_ERR(inode)) {
err = PTR_ERR(inode);
goto out;
}
d_instantiate(entry, inode);
+ if (get_fuse_inode(inode)->bpf)
+ bpf_prog_put(get_fuse_inode(inode)->bpf);
+ get_fuse_inode(inode)->bpf = get_fuse_dentry(entry)->bpf;
+ get_fuse_dentry(entry)->bpf = NULL;
out:
- inode_unlock(backing_inode);
+ inode_unlock(dir_backing_inode);
path_put(&backing_path);
return err;
}
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index dd184a36dc55..59dee8d5b578 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -321,7 +321,7 @@ static int fuse_dentry_revalidate(struct dentry *entry, unsigned int flags)
spin_unlock(&fi->lock);
}
kfree(forget);
- if (ret == -ENOMEM)
+ if (ret == -ENOMEM || ret == -EINTR)
goto out;
if (ret || fuse_invalid_attr(&outarg.attr) ||
fuse_stale_inode(inode, outarg.generation, &outarg.attr))
@@ -364,9 +364,14 @@ static void fuse_dentry_release(struct dentry *dentry)
{
struct fuse_dentry *fd = dentry->d_fsdata;
+#ifdef CONFIG_FUSE_BPF
if (fd && fd->backing_path.dentry)
path_put(&fd->backing_path);
+ if (fd && fd->bpf)
+ bpf_prog_put(fd->bpf);
+#endif
+
kfree_rcu(fd, rcu);
}
#endif
@@ -504,7 +509,6 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, const struct qstr *name
if (name->len > FUSE_NAME_MAX)
goto out;
-
forget = fuse_alloc_forget();
err = -ENOMEM;
if (!forget)
@@ -523,32 +527,34 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, const struct qstr *name
err = -ENOENT;
if (!entry)
- goto out_queue_forget;
+ goto out_put_forget;
err = -EINVAL;
backing_file = bpf_arg.backing_file;
if (!backing_file)
- goto out_queue_forget;
+ goto out_put_forget;
if (IS_ERR(backing_file)) {
err = PTR_ERR(backing_file);
- goto out_queue_forget;
+ goto out_put_forget;
}
backing_inode = backing_file->f_inode;
*inode = fuse_iget_backing(sb, outarg->nodeid, backing_inode);
if (!*inode)
- goto out;
+ goto out_put_forget;
err = fuse_handle_backing(&bpf_arg,
&get_fuse_inode(*inode)->backing_inode,
&get_fuse_dentry(entry)->backing_path);
- if (err)
- goto out;
-
- err = fuse_handle_bpf_prog(&bpf_arg, NULL, &get_fuse_inode(*inode)->bpf);
- if (err)
- goto out;
+ if (!err)
+ err = fuse_handle_bpf_prog(&bpf_arg, NULL,
+ &get_fuse_inode(*inode)->bpf);
+ if (err) {
+ iput(*inode);
+ *inode = NULL;
+ goto out_put_forget;
+ }
} else
#endif
{
@@ -568,9 +574,6 @@ int fuse_lookup_name(struct super_block *sb, u64 nodeid, const struct qstr *name
}
err = -ENOMEM;
-#ifdef CONFIG_FUSE_BPF
-out_queue_forget:
-#endif
if (!*inode && outarg->nodeid) {
fuse_queue_forget(fm->fc, forget, outarg->nodeid, 1);
goto out;
@@ -1790,17 +1793,6 @@ static int fuse_dir_open(struct inode *inode, struct file *file)
static int fuse_dir_release(struct inode *inode, struct file *file)
{
-#ifdef CONFIG_FUSE_BPF
- struct fuse_err_ret fer;
-
- fer = fuse_bpf_backing(inode, struct fuse_release_in,
- fuse_releasedir_initialize, fuse_release_backing,
- fuse_release_finalize,
- inode, file);
- if (fer.ret)
- return PTR_ERR(fer.result);
-#endif
-
fuse_release_common(file, true);
return 0;
}
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index d37f90b3c59f..6608de8bea12 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -104,25 +104,39 @@ static void fuse_release_end(struct fuse_mount *fm, struct fuse_args *args,
kfree(ra);
}
-static void fuse_file_put(struct fuse_file *ff, bool sync, bool isdir)
+static void fuse_file_put(struct inode *inode, struct fuse_file *ff,
+ bool sync, bool isdir)
{
- if (refcount_dec_and_test(&ff->count)) {
- struct fuse_args *args = &ff->release_args->args;
+ struct fuse_args *args = &ff->release_args->args;
+#ifdef CONFIG_FUSE_BPF
+ struct fuse_err_ret fer;
+#endif
- if (isdir ? ff->fm->fc->no_opendir : ff->fm->fc->no_open) {
- /* Do nothing when client does not implement 'open' */
- fuse_release_end(ff->fm, args, 0);
- } else if (sync) {
- fuse_simple_request(ff->fm, args);
- fuse_release_end(ff->fm, args, 0);
- } else {
- args->end = fuse_release_end;
- if (fuse_simple_background(ff->fm, args,
- GFP_KERNEL | __GFP_NOFAIL))
- fuse_release_end(ff->fm, args, -ENOTCONN);
- }
- kfree(ff);
+ if (!refcount_dec_and_test(&ff->count))
+ return;
+
+#ifdef CONFIG_FUSE_BPF
+ fer = fuse_bpf_backing(inode, struct fuse_release_in,
+ fuse_release_initialize, fuse_release_backing,
+ fuse_release_finalize,
+ inode, ff);
+ if (fer.ret) {
+ fuse_release_end(ff->fm, args, 0);
+ } else
+#endif
+ if (isdir ? ff->fm->fc->no_opendir : ff->fm->fc->no_open) {
+ /* Do nothing when client does not implement 'open' */
+ fuse_release_end(ff->fm, args, 0);
+ } else if (sync) {
+ fuse_simple_request(ff->fm, args);
+ fuse_release_end(ff->fm, args, 0);
+ } else {
+ args->end = fuse_release_end;
+ if (fuse_simple_background(ff->fm, args,
+ GFP_KERNEL | __GFP_NOFAIL))
+ fuse_release_end(ff->fm, args, -ENOTCONN);
}
+ kfree(ff);
}
struct fuse_file *fuse_file_open(struct fuse_mount *fm, u64 nodeid,
@@ -343,7 +357,7 @@ void fuse_file_release(struct inode *inode, struct fuse_file *ff,
* synchronous RELEASE is allowed (and desirable) in this case
* because the server can be trusted not to screw up.
*/
- fuse_file_put(ff, ff->fm->fc->destroy, isdir);
+ fuse_file_put(ra->inode, ff, ff->fm->fc->destroy, isdir);
}
void fuse_release_common(struct file *file, bool isdir)
@@ -361,17 +375,6 @@ static int fuse_release(struct inode *inode, struct file *file)
{
struct fuse_conn *fc = get_fuse_conn(inode);
-#ifdef CONFIG_FUSE_BPF
- struct fuse_err_ret fer;
-
- fer = fuse_bpf_backing(inode, struct fuse_release_in,
- fuse_release_initialize, fuse_release_backing,
- fuse_release_finalize,
- inode, file);
- if (fer.ret)
- return PTR_ERR(fer.result);
-#endif
-
/*
* Dirty pages might remain despite write_inode_now() call from
* fuse_flush() due to writes racing with the close.
@@ -394,7 +397,7 @@ void fuse_sync_release(struct fuse_inode *fi, struct fuse_file *ff,
* iput(NULL) is a no-op and since the refcount is 1 and everything's
* synchronous, we are fine with not doing igrab() here"
*/
- fuse_file_put(ff, true, false);
+ fuse_file_put(&fi->inode, ff, true, false);
}
EXPORT_SYMBOL_GPL(fuse_sync_release);
@@ -972,8 +975,11 @@ static void fuse_readpages_end(struct fuse_mount *fm, struct fuse_args *args,
unlock_page(page);
put_page(page);
}
- if (ia->ff)
- fuse_file_put(ia->ff, false, false);
+ if (ia->ff) {
+ WARN_ON(!mapping);
+ fuse_file_put(mapping ? mapping->host : NULL, ia->ff,
+ false, false);
+ }
fuse_io_free(ia);
}
@@ -1716,7 +1722,7 @@ static void fuse_writepage_free(struct fuse_writepage_args *wpa)
__free_page(ap->pages[i]);
if (wpa->ia.ff)
- fuse_file_put(wpa->ia.ff, false, false);
+ fuse_file_put(wpa->inode, wpa->ia.ff, false, false);
kfree(ap->pages);
kfree(wpa);
@@ -1971,7 +1977,7 @@ int fuse_write_inode(struct inode *inode, struct writeback_control *wbc)
ff = __fuse_write_file_get(fi);
err = fuse_flush_times(inode, ff);
if (ff)
- fuse_file_put(ff, false, false);
+ fuse_file_put(inode, ff, false, false);
return err;
}
@@ -2369,7 +2375,7 @@ static int fuse_writepages(struct address_space *mapping,
fuse_writepages_send(&data);
}
if (data.ff)
- fuse_file_put(data.ff, false, false);
+ fuse_file_put(inode, data.ff, false, false);
kfree(data.orig_pages);
out:
@@ -2689,12 +2695,18 @@ static int fuse_file_flock(struct file *file, int cmd, struct file_lock *fl)
{
struct inode *inode = file_inode(file);
struct fuse_conn *fc = get_fuse_conn(inode);
+ struct fuse_file *ff = file->private_data;
int err;
+#ifdef CONFIG_FUSE_BPF
+ /* TODO - this is simply passthrough, not a proper BPF filter */
+ if (ff->backing_file)
+ return fuse_file_flock_backing(file, cmd, fl);
+#endif
+
if (fc->no_flock) {
err = locks_lock_file_wait(file, fl);
} else {
- struct fuse_file *ff = file->private_data;
/* emulate flock with POSIX locks */
ff->flock = true;
diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h
index a659c89cc685..723d462a54eb 100644
--- a/fs/fuse/fuse_i.h
+++ b/fs/fuse/fuse_i.h
@@ -76,7 +76,13 @@ struct fuse_dentry {
u64 time;
struct rcu_head rcu;
};
+
+#ifdef CONFIG_FUSE_BPF
struct path backing_path;
+
+ /* bpf program *only* set for negative dentries */
+ struct bpf_prog *bpf;
+#endif
};
static inline struct fuse_dentry *get_fuse_dentry(const struct dentry *entry)
@@ -1536,14 +1542,11 @@ void *fuse_link_finalize(struct fuse_bpf_args *fa, struct dentry *entry,
struct inode *dir, struct dentry *newent);
int fuse_release_initialize(struct fuse_bpf_args *fa, struct fuse_release_in *fri,
- struct inode *inode, struct file *file);
-int fuse_releasedir_initialize(struct fuse_bpf_args *fa,
- struct fuse_release_in *fri,
- struct inode *inode, struct file *file);
+ struct inode *inode, struct fuse_file *ff);
int fuse_release_backing(struct fuse_bpf_args *fa,
- struct inode *inode, struct file *file);
+ struct inode *inode, struct fuse_file *ff);
void *fuse_release_finalize(struct fuse_bpf_args *fa,
- struct inode *inode, struct file *file);
+ struct inode *inode, struct fuse_file *ff);
int fuse_flush_initialize(struct fuse_bpf_args *fa, struct fuse_flush_in *ffi,
struct file *file, fl_owner_t id);
@@ -1667,6 +1670,9 @@ int fuse_file_write_iter_backing(struct fuse_bpf_args *fa,
void *fuse_file_write_iter_finalize(struct fuse_bpf_args *fa,
struct kiocb *iocb, struct iov_iter *from);
+long fuse_backing_ioctl(struct file *file, unsigned int command, unsigned long arg, int flags);
+
+int fuse_file_flock_backing(struct file *file, int cmd, struct file_lock *fl);
ssize_t fuse_backing_mmap(struct file *file, struct vm_area_struct *vma);
int fuse_file_fallocate_initialize(struct fuse_bpf_args *fa,
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 1f593230bd4a..697e7b5b8319 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -114,6 +114,10 @@ static void fuse_free_inode(struct inode *inode)
#ifdef CONFIG_FUSE_DAX
kfree(fi->dax);
#endif
+#ifdef CONFIG_FUSE_BPF
+ if (fi->bpf)
+ bpf_prog_put(fi->bpf);
+#endif
kmem_cache_free(fuse_inode_cachep, fi);
}
@@ -123,13 +127,6 @@ static void fuse_evict_inode(struct inode *inode)
/* Will write inode on close/munmap and in all other dirtiers */
WARN_ON(inode->i_state & I_DIRTY_INODE);
-
-#ifdef CONFIG_FUSE_BPF
- iput(fi->backing_inode);
- if (fi->bpf)
- bpf_prog_put(fi->bpf);
- fi->bpf = NULL;
-#endif
truncate_inode_pages_final(&inode->i_data);
clear_inode(inode);
if (inode->i_sb->s_flags & SB_ACTIVE) {
@@ -149,6 +146,15 @@ static void fuse_evict_inode(struct inode *inode)
}
}
+#ifdef CONFIG_FUSE_BPF
+static void fuse_destroy_inode(struct inode *inode)
+{
+ struct fuse_inode *fi = get_fuse_inode(inode);
+
+ iput(fi->backing_inode);
+}
+#endif
+
static int fuse_reconfigure(struct fs_context *fsc)
{
struct super_block *sb = fsc->root->d_sb;
@@ -1209,6 +1215,9 @@ static const struct export_operations fuse_export_operations = {
static const struct super_operations fuse_super_operations = {
.alloc_inode = fuse_alloc_inode,
+#ifdef CONFIG_FUSE_BPF
+ .destroy_inode = fuse_destroy_inode,
+#endif
.free_inode = fuse_free_inode,
.evict_inode = fuse_evict_inode,
.write_inode = fuse_write_inode,
diff --git a/fs/fuse/ioctl.c b/fs/fuse/ioctl.c
index 8ba1545e01f9..d266f640266f 100644
--- a/fs/fuse/ioctl.c
+++ b/fs/fuse/ioctl.c
@@ -353,6 +353,15 @@ long fuse_ioctl_common(struct file *file, unsigned int cmd,
if (fuse_is_bad(inode))
return -EIO;
+#ifdef CONFIG_FUSE_BPF
+ {
+ struct fuse_file *ff = file->private_data;
+
+ /* TODO - this is simply passthrough, not a proper BPF filter */
+ if (ff->backing_file)
+ return fuse_backing_ioctl(file, cmd, arg, flags);
+ }
+#endif
return fuse_do_ioctl(file, cmd, arg, flags);
}
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 2015bd05cba1..9d27aa8bd2bc 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -1380,6 +1380,14 @@ static void gfs2_evict_inode(struct inode *inode)
if (inode->i_nlink || sb_rdonly(sb))
goto out;
+ /*
+ * In case of an incomplete mount, gfs2_evict_inode() may be called for
+ * system files without having an active journal to write to. In that
+ * case, skip the filesystem evict.
+ */
+ if (!sdp->sd_jdesc)
+ goto out;
+
gfs2_holder_mark_uninitialized(&gh);
ret = evict_should_delete(inode, &gh);
if (ret == SHOULD_DEFER_EVICTION)
diff --git a/fs/incfs/OWNERS b/fs/incfs/OWNERS
deleted file mode 100644
index 1b97669c9b15..000000000000
--- a/fs/incfs/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-akailash@google.com
-paullawrence@google.com
diff --git a/fs/incfs/pseudo_files.c b/fs/incfs/pseudo_files.c
index 57c3353666ee..814d7063581a 100644
--- a/fs/incfs/pseudo_files.c
+++ b/fs/incfs/pseudo_files.c
@@ -918,10 +918,10 @@ static long ioctl_get_read_timeouts(struct mount_info *mi, void __user *arg)
if (copy_from_user(&args, args_usr_ptr, sizeof(args)))
return -EINVAL;
- if (args.timeouts_array_size_out > INCFS_DATA_FILE_BLOCK_SIZE)
+ if (args.timeouts_array_size > INCFS_DATA_FILE_BLOCK_SIZE)
return -EINVAL;
- buffer = kzalloc(args.timeouts_array_size_out, GFP_NOFS);
+ buffer = kzalloc(args.timeouts_array_size, GFP_NOFS);
if (!buffer)
return -ENOMEM;
diff --git a/fs/locks.c b/fs/locks.c
index 240b9309ed6d..1047ab2b15e9 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1300,6 +1300,7 @@ retry:
out:
spin_unlock(&ctx->flc_lock);
percpu_up_read(&file_rwsem);
+ trace_posix_lock_inode(inode, request, error);
/*
* Free any unused locks.
*/
@@ -1308,7 +1309,6 @@ retry:
if (new_fl2)
locks_free_lock(new_fl2);
locks_dispose_list(&dispose);
- trace_posix_lock_inode(inode, request, error);
return error;
}
diff --git a/fs/ntfs3/index.c b/fs/ntfs3/index.c
index c27b4fe57513..24a26744a691 100644
--- a/fs/ntfs3/index.c
+++ b/fs/ntfs3/index.c
@@ -605,11 +605,58 @@ static const struct NTFS_DE *hdr_insert_head(struct INDEX_HDR *hdr,
return e;
}
+/*
+ * index_hdr_check
+ *
+ * return true if INDEX_HDR is valid
+ */
+static bool index_hdr_check(const struct INDEX_HDR *hdr, u32 bytes)
+{
+ u32 end = le32_to_cpu(hdr->used);
+ u32 tot = le32_to_cpu(hdr->total);
+ u32 off = le32_to_cpu(hdr->de_off);
+
+ if (!IS_ALIGNED(off, 8) || tot > bytes || end > tot ||
+ off + sizeof(struct NTFS_DE) > end) {
+ /* incorrect index buffer. */
+ return false;
+ }
+
+ return true;
+}
+
+/*
+ * index_buf_check
+ *
+ * return true if INDEX_BUFFER seems is valid
+ */
+static bool index_buf_check(const struct INDEX_BUFFER *ib, u32 bytes,
+ const CLST *vbn)
+{
+ const struct NTFS_RECORD_HEADER *rhdr = &ib->rhdr;
+ u16 fo = le16_to_cpu(rhdr->fix_off);
+ u16 fn = le16_to_cpu(rhdr->fix_num);
+
+ if (bytes <= offsetof(struct INDEX_BUFFER, ihdr) ||
+ rhdr->sign != NTFS_INDX_SIGNATURE ||
+ fo < sizeof(struct INDEX_BUFFER)
+ /* Check index buffer vbn. */
+ || (vbn && *vbn != le64_to_cpu(ib->vbn)) || (fo % sizeof(short)) ||
+ fo + fn * sizeof(short) >= bytes ||
+ fn != ((bytes >> SECTOR_SHIFT) + 1)) {
+ /* incorrect index buffer. */
+ return false;
+ }
+
+ return index_hdr_check(&ib->ihdr,
+ bytes - offsetof(struct INDEX_BUFFER, ihdr));
+}
+
void fnd_clear(struct ntfs_fnd *fnd)
{
int i;
- for (i = 0; i < fnd->level; i++) {
+ for (i = fnd->level - 1; i >= 0; i--) {
struct indx_node *n = fnd->nodes[i];
if (!n)
@@ -820,9 +867,16 @@ int indx_init(struct ntfs_index *indx, struct ntfs_sb_info *sbi,
u32 t32;
const struct INDEX_ROOT *root = resident_data(attr);
+ t32 = le32_to_cpu(attr->res.data_size);
+ if (t32 <= offsetof(struct INDEX_ROOT, ihdr) ||
+ !index_hdr_check(&root->ihdr,
+ t32 - offsetof(struct INDEX_ROOT, ihdr))) {
+ goto out;
+ }
+
/* Check root fields. */
if (!root->index_block_clst)
- return -EINVAL;
+ goto out;
indx->type = type;
indx->idx2vbn_bits = __ffs(root->index_block_clst);
@@ -834,19 +888,19 @@ int indx_init(struct ntfs_index *indx, struct ntfs_sb_info *sbi,
if (t32 < sbi->cluster_size) {
/* Index record is smaller than a cluster, use 512 blocks. */
if (t32 != root->index_block_clst * SECTOR_SIZE)
- return -EINVAL;
+ goto out;
/* Check alignment to a cluster. */
if ((sbi->cluster_size >> SECTOR_SHIFT) &
(root->index_block_clst - 1)) {
- return -EINVAL;
+ goto out;
}
indx->vbn2vbo_bits = SECTOR_SHIFT;
} else {
/* Index record must be a multiple of cluster size. */
if (t32 != root->index_block_clst << sbi->cluster_bits)
- return -EINVAL;
+ goto out;
indx->vbn2vbo_bits = sbi->cluster_bits;
}
@@ -854,7 +908,14 @@ int indx_init(struct ntfs_index *indx, struct ntfs_sb_info *sbi,
init_rwsem(&indx->run_lock);
indx->cmp = get_cmp_func(root);
- return indx->cmp ? 0 : -EINVAL;
+ if (!indx->cmp)
+ goto out;
+
+ return 0;
+
+out:
+ ntfs_set_state(sbi, NTFS_DIRTY_DIRTY);
+ return -EINVAL;
}
static struct indx_node *indx_new(struct ntfs_index *indx,
@@ -1012,6 +1073,13 @@ int indx_read(struct ntfs_index *indx, struct ntfs_inode *ni, CLST vbn,
goto out;
ok:
+ if (!index_buf_check(ib, bytes, &vbn)) {
+ ntfs_inode_err(&ni->vfs_inode, "directory corrupted");
+ ntfs_set_state(ni->mi.sbi, NTFS_DIRTY_ERROR);
+ err = -EINVAL;
+ goto out;
+ }
+
if (err == -E_NTFS_FIXUP) {
ntfs_write_bh(ni->mi.sbi, &ib->rhdr, &in->nb, 0);
err = 0;
@@ -1599,9 +1667,9 @@ static int indx_insert_into_root(struct ntfs_index *indx, struct ntfs_inode *ni,
if (err) {
/* Restore root. */
- if (mi_resize_attr(mi, attr, -ds_root))
+ if (mi_resize_attr(mi, attr, -ds_root)) {
memcpy(attr, a_root, asize);
- else {
+ } else {
/* Bug? */
ntfs_set_state(sbi, NTFS_DIRTY_ERROR);
}
diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index 22152300e60c..ece7daa2266a 100644
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -81,7 +81,7 @@ static struct inode *ntfs_read_mft(struct inode *inode,
le16_to_cpu(ref->seq), le16_to_cpu(rec->seq));
goto out;
} else if (!is_rec_inuse(rec)) {
- err = -EINVAL;
+ err = -ESTALE;
ntfs_err(sb, "Inode r=%x is not in use!", (u32)ino);
goto out;
}
@@ -92,8 +92,10 @@ static struct inode *ntfs_read_mft(struct inode *inode,
goto out;
}
- if (!is_rec_base(rec))
- goto Ok;
+ if (!is_rec_base(rec)) {
+ err = -EINVAL;
+ goto out;
+ }
/* Record should contain $I30 root. */
is_dir = rec->flags & RECORD_FLAG_DIR;
@@ -466,7 +468,6 @@ end_enum:
inode->i_flags |= S_NOSEC;
}
-Ok:
if (ino == MFT_REC_MFT && !sb->s_root)
sbi->mft.ni = NULL;
@@ -520,6 +521,9 @@ struct inode *ntfs_iget5(struct super_block *sb, const struct MFT_REF *ref,
_ntfs_bad_inode(inode);
}
+ if (IS_ERR(inode) && name)
+ ntfs_set_state(sb->s_fs_info, NTFS_DIRTY_ERROR);
+
return inode;
}
@@ -1635,10 +1639,8 @@ out6:
ntfs_remove_reparse(sbi, IO_REPARSE_TAG_SYMLINK, &new_de->ref);
out5:
- if (S_ISDIR(mode) || run_is_empty(&ni->file.run))
- goto out4;
-
- run_deallocate(sbi, &ni->file.run, false);
+ if (!S_ISDIR(mode))
+ run_deallocate(sbi, &ni->file.run, false);
out4:
clear_rec_inuse(rec);
diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h
index ca8b4d273feb..60c944d2811d 100644
--- a/fs/ntfs3/ntfs_fs.h
+++ b/fs/ntfs3/ntfs_fs.h
@@ -794,12 +794,12 @@ int run_pack(const struct runs_tree *run, CLST svcn, CLST len, u8 *run_buf,
u32 run_buf_size, CLST *packed_vcns);
int run_unpack(struct runs_tree *run, struct ntfs_sb_info *sbi, CLST ino,
CLST svcn, CLST evcn, CLST vcn, const u8 *run_buf,
- u32 run_buf_size);
+ int run_buf_size);
#ifdef NTFS3_CHECK_FREE_CLST
int run_unpack_ex(struct runs_tree *run, struct ntfs_sb_info *sbi, CLST ino,
CLST svcn, CLST evcn, CLST vcn, const u8 *run_buf,
- u32 run_buf_size);
+ int run_buf_size);
#else
#define run_unpack_ex run_unpack
#endif
diff --git a/fs/ntfs3/run.c b/fs/ntfs3/run.c
index aaaa0d3d35a2..12d8682f33b5 100644
--- a/fs/ntfs3/run.c
+++ b/fs/ntfs3/run.c
@@ -919,12 +919,15 @@ out:
*/
int run_unpack(struct runs_tree *run, struct ntfs_sb_info *sbi, CLST ino,
CLST svcn, CLST evcn, CLST vcn, const u8 *run_buf,
- u32 run_buf_size)
+ int run_buf_size)
{
u64 prev_lcn, vcn64, lcn, next_vcn;
const u8 *run_last, *run_0;
bool is_mft = ino == MFT_REC_MFT;
+ if (run_buf_size < 0)
+ return -EINVAL;
+
/* Check for empty. */
if (evcn + 1 == svcn)
return 0;
@@ -1046,7 +1049,7 @@ int run_unpack(struct runs_tree *run, struct ntfs_sb_info *sbi, CLST ino,
*/
int run_unpack_ex(struct runs_tree *run, struct ntfs_sb_info *sbi, CLST ino,
CLST svcn, CLST evcn, CLST vcn, const u8 *run_buf,
- u32 run_buf_size)
+ int run_buf_size)
{
int ret, err;
CLST next_vcn, lcn, len;
diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c
index ea582b4fe1d9..884781e423e1 100644
--- a/fs/ntfs3/xattr.c
+++ b/fs/ntfs3/xattr.c
@@ -42,28 +42,26 @@ static inline size_t packed_ea_size(const struct EA_FULL *ea)
* Assume there is at least one xattr in the list.
*/
static inline bool find_ea(const struct EA_FULL *ea_all, u32 bytes,
- const char *name, u8 name_len, u32 *off)
+ const char *name, u8 name_len, u32 *off, u32 *ea_sz)
{
- *off = 0;
+ u32 ea_size;
- if (!ea_all || !bytes)
+ *off = 0;
+ if (!ea_all)
return false;
- for (;;) {
+ for (; *off < bytes; *off += ea_size) {
const struct EA_FULL *ea = Add2Ptr(ea_all, *off);
- u32 next_off = *off + unpacked_ea_size(ea);
-
- if (next_off > bytes)
- return false;
-
+ ea_size = unpacked_ea_size(ea);
if (ea->name_len == name_len &&
- !memcmp(ea->name, name, name_len))
+ !memcmp(ea->name, name, name_len)) {
+ if (ea_sz)
+ *ea_sz = ea_size;
return true;
-
- *off = next_off;
- if (next_off >= bytes)
- return false;
+ }
}
+
+ return false;
}
/*
@@ -74,12 +72,12 @@ static inline bool find_ea(const struct EA_FULL *ea_all, u32 bytes,
static int ntfs_read_ea(struct ntfs_inode *ni, struct EA_FULL **ea,
size_t add_bytes, const struct EA_INFO **info)
{
- int err;
+ int err = -EINVAL;
struct ntfs_sb_info *sbi = ni->mi.sbi;
struct ATTR_LIST_ENTRY *le = NULL;
struct ATTRIB *attr_info, *attr_ea;
void *ea_p;
- u32 size;
+ u32 size, off, ea_size;
static_assert(le32_to_cpu(ATTR_EA_INFO) < le32_to_cpu(ATTR_EA));
@@ -96,24 +94,31 @@ static int ntfs_read_ea(struct ntfs_inode *ni, struct EA_FULL **ea,
*info = resident_data_ex(attr_info, sizeof(struct EA_INFO));
if (!*info)
- return -EINVAL;
+ goto out;
/* Check Ea limit. */
size = le32_to_cpu((*info)->size);
- if (size > sbi->ea_max_size)
- return -EFBIG;
+ if (size > sbi->ea_max_size) {
+ err = -EFBIG;
+ goto out;
+ }
+
+ if (attr_size(attr_ea) > sbi->ea_max_size) {
+ err = -EFBIG;
+ goto out;
+ }
- if (attr_size(attr_ea) > sbi->ea_max_size)
- return -EFBIG;
+ if (!size) {
+ /* EA info persists, but xattr is empty. Looks like EA problem. */
+ goto out;
+ }
/* Allocate memory for packed Ea. */
ea_p = kmalloc(size_add(size, add_bytes), GFP_NOFS);
if (!ea_p)
return -ENOMEM;
- if (!size) {
- /* EA info persists, but xattr is empty. Looks like EA problem. */
- } else if (attr_ea->non_res) {
+ if (attr_ea->non_res) {
struct runs_tree run;
run_init(&run);
@@ -124,24 +129,52 @@ static int ntfs_read_ea(struct ntfs_inode *ni, struct EA_FULL **ea,
run_close(&run);
if (err)
- goto out;
+ goto out1;
} else {
void *p = resident_data_ex(attr_ea, size);
- if (!p) {
- err = -EINVAL;
- goto out;
- }
+ if (!p)
+ goto out1;
memcpy(ea_p, p, size);
}
memset(Add2Ptr(ea_p, size), 0, add_bytes);
+
+ /* Check all attributes for consistency. */
+ for (off = 0; off < size; off += ea_size) {
+ const struct EA_FULL *ef = Add2Ptr(ea_p, off);
+ u32 bytes = size - off;
+
+ /* Check if we can use field ea->size. */
+ if (bytes < sizeof(ef->size))
+ goto out1;
+
+ if (ef->size) {
+ ea_size = le32_to_cpu(ef->size);
+ if (ea_size > bytes)
+ goto out1;
+ continue;
+ }
+
+ /* Check if we can use fields ef->name_len and ef->elength. */
+ if (bytes < offsetof(struct EA_FULL, name))
+ goto out1;
+
+ ea_size = ALIGN(struct_size(ef, name,
+ 1 + ef->name_len +
+ le16_to_cpu(ef->elength)),
+ 4);
+ if (ea_size > bytes)
+ goto out1;
+ }
+
*ea = ea_p;
return 0;
-out:
+out1:
kfree(ea_p);
- *ea = NULL;
+out:
+ ntfs_set_state(sbi, NTFS_DIRTY_DIRTY);
return err;
}
@@ -163,6 +196,7 @@ static ssize_t ntfs_list_ea(struct ntfs_inode *ni, char *buffer,
const struct EA_FULL *ea;
u32 off, size;
int err;
+ int ea_size;
size_t ret;
err = ntfs_read_ea(ni, &ea_all, 0, &info);
@@ -175,8 +209,9 @@ static ssize_t ntfs_list_ea(struct ntfs_inode *ni, char *buffer,
size = le32_to_cpu(info->size);
/* Enumerate all xattrs. */
- for (ret = 0, off = 0; off < size; off += unpacked_ea_size(ea)) {
+ for (ret = 0, off = 0; off < size; off += ea_size) {
ea = Add2Ptr(ea_all, off);
+ ea_size = unpacked_ea_size(ea);
if (buffer) {
if (ret + ea->name_len + 1 > bytes_per_buffer) {
@@ -227,7 +262,8 @@ static int ntfs_get_ea(struct inode *inode, const char *name, size_t name_len,
goto out;
/* Enumerate all xattrs. */
- if (!find_ea(ea_all, le32_to_cpu(info->size), name, name_len, &off)) {
+ if (!find_ea(ea_all, le32_to_cpu(info->size), name, name_len, &off,
+ NULL)) {
err = -ENODATA;
goto out;
}
@@ -269,7 +305,7 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name,
struct EA_FULL *new_ea;
struct EA_FULL *ea_all = NULL;
size_t add, new_pack;
- u32 off, size;
+ u32 off, size, ea_sz;
__le16 size_pack;
struct ATTRIB *attr;
struct ATTR_LIST_ENTRY *le;
@@ -304,9 +340,8 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name,
size_pack = ea_info.size_pack;
}
- if (info && find_ea(ea_all, size, name, name_len, &off)) {
+ if (info && find_ea(ea_all, size, name, name_len, &off, &ea_sz)) {
struct EA_FULL *ea;
- size_t ea_sz;
if (flags & XATTR_CREATE) {
err = -EEXIST;
@@ -329,8 +364,6 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name,
if (ea->flags & FILE_NEED_EA)
le16_add_cpu(&ea_info.count, -1);
- ea_sz = unpacked_ea_size(ea);
-
le16_add_cpu(&ea_info.size_pack, 0 - packed_ea_size(ea));
memmove(ea, Add2Ptr(ea, ea_sz), size - off - ea_sz);
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index a23541614a0d..fe244a271620 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -758,12 +758,14 @@ static int smaps_hugetlb_range(pte_t *pte, unsigned long hmask,
static const struct mm_walk_ops smaps_walk_ops = {
.pmd_entry = smaps_pte_range,
.hugetlb_entry = smaps_hugetlb_range,
+ .walk_lock = PGWALK_RDLOCK,
};
static const struct mm_walk_ops smaps_shmem_walk_ops = {
.pmd_entry = smaps_pte_range,
.hugetlb_entry = smaps_hugetlb_range,
.pte_hole = smaps_pte_hole,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
@@ -1247,6 +1249,7 @@ static int clear_refs_test_walk(unsigned long start, unsigned long end,
static const struct mm_walk_ops clear_refs_walk_ops = {
.pmd_entry = clear_refs_pte_range,
.test_walk = clear_refs_test_walk,
+ .walk_lock = PGWALK_WRLOCK,
};
static ssize_t clear_refs_write(struct file *file, const char __user *buf,
@@ -1623,6 +1626,7 @@ static const struct mm_walk_ops pagemap_ops = {
.pmd_entry = pagemap_pmd_range,
.pte_hole = pagemap_pte_hole,
.hugetlb_entry = pagemap_hugetlb_range,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
@@ -1929,6 +1933,7 @@ static int gather_hugetlb_stats(pte_t *pte, unsigned long hmask,
static const struct mm_walk_ops show_numa_ops = {
.hugetlb_entry = gather_hugetlb_stats,
.pmd_entry = gather_pte_stats,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
index 8bf09886e7e6..fea6e42b2dd2 100644
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -518,7 +518,7 @@ static int persistent_ram_post_init(struct persistent_ram_zone *prz, u32 sig,
sig ^= PERSISTENT_RAM_SIG;
if (prz->buffer->sig == sig) {
- if (buffer_size(prz) == 0) {
+ if (buffer_size(prz) == 0 && buffer_start(prz) == 0) {
pr_debug("found existing empty buffer\n");
return 0;
}
diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c
index 65bf92615772..bec3e2341421 100644
--- a/fs/userfaultfd.c
+++ b/fs/userfaultfd.c
@@ -247,18 +247,17 @@ static inline struct uffd_msg userfault_msg(unsigned long address,
* hugepmd ranges.
*/
static inline bool userfaultfd_huge_must_wait(struct userfaultfd_ctx *ctx,
- struct vm_area_struct *vma,
- unsigned long address,
- unsigned long flags,
- unsigned long reason)
+ struct vm_fault *vmf,
+ unsigned long reason)
{
+ struct vm_area_struct *vma = vmf->vma;
struct mm_struct *mm = ctx->mm;
pte_t *ptep, pte;
bool ret = true;
- mmap_assert_locked(mm);
+ assert_fault_locked(vmf);
- ptep = huge_pte_offset(mm, address, vma_mmu_pagesize(vma));
+ ptep = huge_pte_offset(mm, vmf->address, vma_mmu_pagesize(vma));
if (!ptep)
goto out;
@@ -280,10 +279,8 @@ out:
}
#else
static inline bool userfaultfd_huge_must_wait(struct userfaultfd_ctx *ctx,
- struct vm_area_struct *vma,
- unsigned long address,
- unsigned long flags,
- unsigned long reason)
+ struct vm_fault *vmf,
+ unsigned long reason)
{
return false; /* should never get here */
}
@@ -297,11 +294,11 @@ static inline bool userfaultfd_huge_must_wait(struct userfaultfd_ctx *ctx,
* threads.
*/
static inline bool userfaultfd_must_wait(struct userfaultfd_ctx *ctx,
- unsigned long address,
- unsigned long flags,
+ struct vm_fault *vmf,
unsigned long reason)
{
struct mm_struct *mm = ctx->mm;
+ unsigned long address = vmf->address;
pgd_t *pgd;
p4d_t *p4d;
pud_t *pud;
@@ -309,7 +306,7 @@ static inline bool userfaultfd_must_wait(struct userfaultfd_ctx *ctx,
pte_t *pte;
bool ret = true;
- mmap_assert_locked(mm);
+ assert_fault_locked(vmf);
pgd = pgd_offset(mm, address);
if (!pgd_present(*pgd))
@@ -416,7 +413,7 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, unsigned long reason)
* Coredumping runs without mmap_lock so we can only check that
* the mmap_lock is held, if PF_DUMPCORE was not set.
*/
- mmap_assert_locked(mm);
+ assert_fault_locked(vmf);
ctx = vmf->vma->vm_userfaultfd_ctx.ctx;
if (!ctx)
@@ -523,13 +520,10 @@ vm_fault_t handle_userfault(struct vm_fault *vmf, unsigned long reason)
spin_unlock_irq(&ctx->fault_pending_wqh.lock);
if (!is_vm_hugetlb_page(vmf->vma))
- must_wait = userfaultfd_must_wait(ctx, vmf->address, vmf->flags,
- reason);
+ must_wait = userfaultfd_must_wait(ctx, vmf, reason);
else
- must_wait = userfaultfd_huge_must_wait(ctx, vmf->vma,
- vmf->address,
- vmf->flags, reason);
- mmap_read_unlock(mm);
+ must_wait = userfaultfd_huge_must_wait(ctx, vmf, reason);
+ release_fault_lock(vmf);
if (likely(must_wait && !READ_ONCE(ctx->released))) {
wake_up_poll(&ctx->fd_wqh, EPOLLIN);
@@ -632,6 +626,7 @@ static void userfaultfd_event_wait_completion(struct userfaultfd_ctx *ctx,
mmap_write_lock(mm);
for_each_vma(vmi, vma) {
if (vma->vm_userfaultfd_ctx.ctx == release_new_ctx) {
+ vma_start_write(vma);
vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
userfaultfd_set_vm_flags(vma,
vma->vm_flags & ~__VM_UFFD_FLAGS);
@@ -667,6 +662,7 @@ int dup_userfaultfd(struct vm_area_struct *vma, struct list_head *fcs)
octx = vma->vm_userfaultfd_ctx.ctx;
if (!octx || !(octx->features & UFFD_FEATURE_EVENT_FORK)) {
+ vma_start_write(vma);
vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
userfaultfd_set_vm_flags(vma, vma->vm_flags & ~__VM_UFFD_FLAGS);
return 0;
@@ -748,6 +744,7 @@ void mremap_userfaultfd_prep(struct vm_area_struct *vma,
atomic_inc(&ctx->mmap_changing);
} else {
/* Drop uffd context if remap feature not enabled */
+ vma_start_write(vma);
vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
userfaultfd_set_vm_flags(vma, vma->vm_flags & ~__VM_UFFD_FLAGS);
}
@@ -906,6 +903,7 @@ static int userfaultfd_release(struct inode *inode, struct file *file)
prev = vma;
}
+ vma_start_write(vma);
userfaultfd_set_vm_flags(vma, new_flags);
vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
}
@@ -1474,6 +1472,7 @@ static int userfaultfd_register(struct userfaultfd_ctx *ctx,
* the next vma was merged into the current one and
* the current one has not been updated yet.
*/
+ vma_start_write(vma);
userfaultfd_set_vm_flags(vma, new_flags);
vma->vm_userfaultfd_ctx.ctx = ctx;
@@ -1662,6 +1661,7 @@ static int userfaultfd_unregister(struct userfaultfd_ctx *ctx,
* the next vma was merged into the current one and
* the current one has not been updated yet.
*/
+ vma_start_write(vma);
userfaultfd_set_vm_flags(vma, new_flags);
vma->vm_userfaultfd_ctx = NULL_VM_UFFD_CTX;
diff --git a/fs/verity/enable.c b/fs/verity/enable.c
index 3018f6d8403a..6e31d512d76a 100644
--- a/fs/verity/enable.c
+++ b/fs/verity/enable.c
@@ -14,6 +14,7 @@
struct block_buffer {
u32 filled;
+ bool is_root_hash;
u8 *data;
};
@@ -25,6 +26,14 @@ static int hash_one_block(struct inode *inode,
struct block_buffer *next = cur + 1;
int err;
+ /*
+ * Safety check to prevent a buffer overflow in case of a filesystem bug
+ * that allows the file size to change despite deny_write_access(), or a
+ * bug in the Merkle tree logic itself
+ */
+ if (WARN_ON_ONCE(next->is_root_hash && next->filled != 0))
+ return -EINVAL;
+
/* Zero-pad the block if it's shorter than the block size. */
memset(&cur->data[cur->filled], 0, params->block_size - cur->filled);
@@ -98,6 +107,7 @@ static int build_merkle_tree(struct file *filp,
}
}
buffers[num_levels].data = root_hash;
+ buffers[num_levels].is_root_hash = true;
BUILD_BUG_ON(sizeof(level_offset) != sizeof(params->level_start));
memcpy(level_offset, params->level_start, sizeof(level_offset));
@@ -348,6 +358,13 @@ int fsverity_ioctl_enable(struct file *filp, const void __user *uarg)
err = file_permission(filp, MAY_WRITE);
if (err)
return err;
+ /*
+ * __kernel_read() is used while building the Merkle tree. So, we can't
+ * allow file descriptors that were opened for ioctl access only, using
+ * the special nonstandard access mode 3. O_RDONLY only, please!
+ */
+ if (!(filp->f_mode & FMODE_READ))
+ return -EBADF;
if (IS_APPEND(inode))
return -EPERM;
diff --git a/fs/xfs/xfs_buf_item_recover.c b/fs/xfs/xfs_buf_item_recover.c
index ffa94102094d..43167f543afc 100644
--- a/fs/xfs/xfs_buf_item_recover.c
+++ b/fs/xfs/xfs_buf_item_recover.c
@@ -943,6 +943,16 @@ xlog_recover_buf_commit_pass2(
if (lsn && lsn != -1 && XFS_LSN_CMP(lsn, current_lsn) >= 0) {
trace_xfs_log_recover_buf_skip(log, buf_f);
xlog_recover_validate_buf_type(mp, bp, buf_f, NULLCOMMITLSN);
+
+ /*
+ * We're skipping replay of this buffer log item due to the log
+ * item LSN being behind the ondisk buffer. Verify the buffer
+ * contents since we aren't going to run the write verifier.
+ */
+ if (bp->b_ops) {
+ bp->b_ops->verify_read(bp);
+ error = bp->b_error;
+ }
goto out_release;
}
diff --git a/include/OWNERS b/include/OWNERS
deleted file mode 100644
index 4b815c212f9d..000000000000
--- a/include/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-per-file net/**=file:/net/OWNERS
diff --git a/include/linux/OWNERS b/include/linux/OWNERS
deleted file mode 100644
index 68b6dedea64f..000000000000
--- a/include/linux/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-per-file bio.h=file:/block/OWNERS
-per-file blk*.h=file:/block/OWNERS
-per-file f2fs**=file:/fs/f2fs/OWNERS
-per-file net**=file:/net/OWNERS
diff --git a/include/linux/android_debug_symbols.h b/include/linux/android_debug_symbols.h
new file mode 100644
index 000000000000..92c0259e6f89
--- /dev/null
+++ b/include/linux/android_debug_symbols.h
@@ -0,0 +1,47 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023, Unisoc (Shanghai) Technologies Co., Ltd
+ */
+
+#ifndef _ANDROID_DEBUG_SYMBOLS_H
+#define _ANDROID_DEBUG_SYMBOLS_H
+
+enum android_debug_symbol {
+ ADS_SDATA = 0,
+ ADS_BSS_END,
+ ADS_PER_CPU_START,
+ ADS_PER_CPU_END,
+ ADS_TEXT,
+ ADS_SEND,
+ ADS_LINUX_BANNER,
+ ADS_TOTAL_CMA,
+ ADS_SLAB_CACHES,
+ ADS_SLAB_MUTEX,
+ ADS_END
+};
+
+enum android_debug_per_cpu_symbol {
+ ADS_IRQ_STACK_PTR = 0,
+ ADS_DEBUG_PER_CPU_END
+};
+
+#ifdef CONFIG_ANDROID_DEBUG_SYMBOLS
+
+void *android_debug_symbol(enum android_debug_symbol symbol);
+void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol);
+
+#else /* !CONFIG_ANDROID_DEBUG_SYMBOLS */
+
+static inline void *android_debug_symbol(enum android_debug_symbol symbol)
+{
+ return NULL;
+}
+static inline void *android_debug_per_cpu_symbol(enum android_debug_per_cpu_symbol symbol)
+{
+ return NULL;
+}
+
+#endif /* CONFIG_ANDROID_DEBUG_SYMBOLS */
+
+#endif /* _ANDROID_DEBUG_SYMBOLS_H */
diff --git a/include/linux/blk-crypto-profile.h b/include/linux/blk-crypto-profile.h
index 8b30d04ef008..794f608a8994 100644
--- a/include/linux/blk-crypto-profile.h
+++ b/include/linux/blk-crypto-profile.h
@@ -131,6 +131,9 @@ struct blk_crypto_profile {
* keyslots while ensuring that they can't be changed concurrently.
*/
struct rw_semaphore lock;
+#ifdef CONFIG_LOCKDEP
+ struct lock_class_key lockdep_key;
+#endif
/* List of idle slots, with least recently used slot at front */
wait_queue_head_t idle_slots_wait_queue;
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
index 1035cb423fc1..c223ca3eebaa 100644
--- a/include/linux/cpuidle.h
+++ b/include/linux/cpuidle.h
@@ -314,4 +314,12 @@ extern s64 cpuidle_governor_latency_req(unsigned int cpu);
#define CPU_PM_CPU_IDLE_ENTER_RETENTION_PARAM(low_level_idle_enter, idx, state) \
__CPU_PM_CPU_IDLE_ENTER(low_level_idle_enter, idx, state, 1)
+#ifdef CONFIG_CPU_IDLE_GOV_TEO
+unsigned long teo_cpu_get_util_threshold(int cpu);
+void teo_cpu_set_util_threshold(int cpu, unsigned long util);
+#else
+static inline unsigned long teo_cpu_get_util_threshold(int cpu) {return -1;}
+static inline void teo_cpu_set_util_threshold(int cpu, unsigned long util) {}
+#endif
+
#endif /* _LINUX_CPUIDLE_H */
diff --git a/include/linux/device/driver.h b/include/linux/device/driver.h
index d2a71e25caab..b2d338904de2 100644
--- a/include/linux/device/driver.h
+++ b/include/linux/device/driver.h
@@ -134,6 +134,7 @@ extern struct device_driver *driver_find(const char *name,
struct bus_type *bus);
extern int driver_probe_done(void);
extern void wait_for_device_probe(void);
+extern void flush_deferred_probe_now(void);
void __init wait_for_init_devices_probe(void);
/* sysfs interface for exporting driver attributes */
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 775cdc0b4f24..be572c3a4dcd 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -584,7 +584,7 @@ static inline signed long dma_fence_wait(struct dma_fence *fence, bool intr)
}
struct dma_fence *dma_fence_get_stub(void);
-struct dma_fence *dma_fence_allocate_private_stub(void);
+struct dma_fence *dma_fence_allocate_private_stub(ktime_t timestamp);
u64 dma_fence_context_alloc(unsigned num);
extern const struct dma_fence_ops dma_fence_array_ops;
diff --git a/include/linux/gunyah_rsc_mgr.h b/include/linux/gunyah_rsc_mgr.h
index 5453c90fbe6a..0d9ec6d5162d 100644
--- a/include/linux/gunyah_rsc_mgr.h
+++ b/include/linux/gunyah_rsc_mgr.h
@@ -139,6 +139,7 @@ struct gh_rm_hyp_resource {
__le32 resource_label;
__le64 cap_id;
__le32 virq_handle;
+#define GH_RM_RESOURCE_NO_VIRQ 0xFFFFFFFF
__le32 virq;
__le64 base;
__le64 size;
@@ -167,15 +168,15 @@ struct gh_rm_platform_ops {
};
#if IS_ENABLED(CONFIG_GUNYAH_PLATFORM_HOOKS)
-int gh_rm_register_platform_ops(struct gh_rm_platform_ops *platform_ops);
-void gh_rm_unregister_platform_ops(struct gh_rm_platform_ops *platform_ops);
-int devm_gh_rm_register_platform_ops(struct device *dev, struct gh_rm_platform_ops *ops);
+int gh_rm_register_platform_ops(const struct gh_rm_platform_ops *platform_ops);
+void gh_rm_unregister_platform_ops(const struct gh_rm_platform_ops *platform_ops);
+int devm_gh_rm_register_platform_ops(struct device *dev, const struct gh_rm_platform_ops *ops);
#else
-static inline int gh_rm_register_platform_ops(struct gh_rm_platform_ops *platform_ops)
+static inline int gh_rm_register_platform_ops(const struct gh_rm_platform_ops *platform_ops)
{ return 0; }
-static inline void gh_rm_unregister_platform_ops(struct gh_rm_platform_ops *platform_ops) { }
+static inline void gh_rm_unregister_platform_ops(const struct gh_rm_platform_ops *platform_ops) { }
static inline int devm_gh_rm_register_platform_ops(struct device *dev,
- struct gh_rm_platform_ops *ops) { return 0; }
+ const struct gh_rm_platform_ops *ops) { return 0; }
#endif
#endif
diff --git a/include/linux/gunyah_vm_mgr.h b/include/linux/gunyah_vm_mgr.h
index 0fa3cf6bcaca..527e94624369 100644
--- a/include/linux/gunyah_vm_mgr.h
+++ b/include/linux/gunyah_vm_mgr.h
@@ -21,6 +21,16 @@ int __must_check gh_vm_get(struct gh_vm *ghvm);
void gh_vm_put(struct gh_vm *ghvm);
struct gh_vm_function_instance;
+/**
+ * struct gh_vm_function - Represents a function type
+ * @type: value from &enum gh_fn_type
+ * @name: friendly name for debug purposes
+ * @mod: owner of the function type
+ * @bind: Called when a new function of this type has been allocated.
+ * @unbind: Called when the function instance is being destroyed.
+ * @compare: Compare function instance @f's argument to the provided arg.
+ * Return true if they are equivalent. Used on GH_VM_REMOVE_FUNCTION.
+ */
struct gh_vm_function {
u32 type;
const char *name;
@@ -84,9 +94,26 @@ void gh_vm_function_unregister(struct gh_vm_function *f);
module_gh_vm_function(_name); \
MODULE_ALIAS_GH_VM_FUNCTION(_type, _idx)
+/**
+ * struct gh_vm_resource_ticket - Represents a ticket to reserve exclusive access to VM resource(s)
+ * @vm_list: for @gh_vm->resource_tickets
+ * @resources: List of resource(s) associated with this ticket(members are from @gh_resource->list)
+ * @resource_type: Type of resource this ticket reserves
+ * @label: Label of the resource from resource manager this ticket reserves.
+ * @owner: owner of the ticket
+ * @populate: callback provided by the ticket owner and called when a resource is found that
+ * matches @resource_type and @label. Note that this callback could be called
+ * multiple times if userspace created mutliple resources with the same type/label.
+ * This callback may also have significant delay after gh_vm_add_resource_ticket()
+ * since gh_vm_add_resource_ticket() could be called before the VM starts.
+ * @unpopulate: callback provided by the ticket owner and called when the ticket owner should no
+ * no longer use the resource provided in the argument. When unpopulate() returns,
+ * the ticket owner should not be able to use the resource any more as the resource
+ * might being freed.
+ */
struct gh_vm_resource_ticket {
- struct list_head vm_list; /* for gh_vm's resource tickets list */
- struct list_head resources; /* resources associated with this ticket */
+ struct list_head vm_list;
+ struct list_head resources;
enum gh_resource_type resource_type;
u32 label;
diff --git a/include/linux/gzvm_drv.h b/include/linux/gzvm_drv.h
new file mode 100644
index 000000000000..d76c2adc3c22
--- /dev/null
+++ b/include/linux/gzvm_drv.h
@@ -0,0 +1,158 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#ifndef __GZVM_DRV_H__
+#define __GZVM_DRV_H__
+
+#include <linux/eventfd.h>
+#include <linux/list.h>
+#include <linux/mutex.h>
+#include <linux/miscdevice.h>
+#include <linux/gzvm.h>
+#include <linux/srcu.h>
+
+#define GZVM_VCPU_MMAP_SIZE PAGE_SIZE
+#define INVALID_VM_ID 0xffff
+
+/*
+ * These are the efinitions of APIs between GenieZone hypervisor and driver,
+ * there's no need to be visible to uapi. Furthermore, We need GenieZone
+ * specific error code in order to map to Linux errno
+ */
+#define NO_ERROR (0)
+#define ERR_NO_MEMORY (-5)
+#define ERR_NOT_SUPPORTED (-24)
+#define ERR_NOT_IMPLEMENTED (-27)
+#define ERR_FAULT (-40)
+#define GZVM_USERSPACE_IRQ_SOURCE_ID 0
+#define GZVM_IRQFD_RESAMPLE_IRQ_SOURCE_ID 1
+
+/*
+ * The following data structures are for data transferring between driver and
+ * hypervisor, and they're aligned with hypervisor definitions
+ */
+#define GZVM_MAX_VCPUS 8
+#define GZVM_MAX_MEM_REGION 10
+
+#define GZVM_VCPU_RUN_MAP_SIZE (PAGE_SIZE * 2)
+
+/* struct mem_region_addr_range - Identical to ffa memory constituent */
+struct mem_region_addr_range {
+ /* the base IPA of the constituent memory region, aligned to 4 kiB */
+ __u64 address;
+ /* the number of 4 kiB pages in the constituent memory region. */
+ __u32 pg_cnt;
+ __u32 reserved;
+};
+
+struct gzvm_memory_region_ranges {
+ __u32 slot;
+ __u32 constituent_cnt;
+ __u64 total_pages;
+ __u64 gpa;
+ struct mem_region_addr_range constituents[];
+};
+
+/* struct gzvm_memslot - VM's memory slot descriptor */
+struct gzvm_memslot {
+ u64 base_gfn; /* begin of guest page frame */
+ unsigned long npages; /* number of pages this slot covers */
+ unsigned long userspace_addr; /* corresponding userspace va */
+ struct vm_area_struct *vma; /* vma related to this userspace addr */
+ u32 flags;
+ u32 slot_id;
+};
+
+struct gzvm_vcpu {
+ struct gzvm *gzvm;
+ int vcpuid;
+ /* lock of vcpu*/
+ struct mutex lock;
+ struct gzvm_vcpu_run *run;
+ struct gzvm_vcpu_hwstate *hwstate;
+};
+
+struct gzvm {
+ struct gzvm_vcpu *vcpus[GZVM_MAX_VCPUS];
+ /* userspace tied to this vm */
+ struct mm_struct *mm;
+ struct gzvm_memslot memslot[GZVM_MAX_MEM_REGION];
+ /* lock for list_add*/
+ struct mutex lock;
+
+ struct {
+ /* lock for irqfds list operation */
+ spinlock_t lock;
+ struct list_head items;
+ struct list_head resampler_list;
+ /* lock for irqfds resampler */
+ struct mutex resampler_lock;
+ } irqfds;
+
+ struct list_head ioevents;
+
+ struct list_head vm_list;
+ u16 vm_id;
+
+ struct hlist_head irq_ack_notifier_list;
+ struct srcu_struct irq_srcu;
+ /* lock for irq injection */
+ struct mutex irq_lock;
+};
+
+long gzvm_dev_ioctl_check_extension(struct gzvm *gzvm, unsigned long args);
+int gzvm_dev_ioctl_create_vm(unsigned long vm_type);
+
+int gzvm_err_to_errno(unsigned long err);
+
+void gzvm_destroy_all_vms(void);
+
+void gzvm_destroy_vcpus(struct gzvm *gzvm);
+
+/* arch-dependant functions */
+int gzvm_arch_probe(void);
+int gzvm_arch_set_memregion(u16 vm_id, size_t buf_size,
+ phys_addr_t region);
+int gzvm_arch_check_extension(struct gzvm *gzvm, __u64 cap, void __user *argp);
+int gzvm_arch_create_vm(unsigned long vm_type);
+int gzvm_arch_destroy_vm(u16 vm_id);
+int gzvm_vm_ioctl_arch_enable_cap(struct gzvm *gzvm,
+ struct gzvm_enable_cap *cap,
+ void __user *argp);
+
+u64 gzvm_hva_to_pa_arch(u64 hva);
+int gzvm_vm_ioctl_create_vcpu(struct gzvm *gzvm, u32 cpuid);
+int gzvm_arch_vcpu_update_one_reg(struct gzvm_vcpu *vcpu, __u64 reg_id,
+ bool is_write, __u64 *data);
+int gzvm_arch_create_vcpu(u16 vm_id, int vcpuid, void *run);
+int gzvm_arch_vcpu_run(struct gzvm_vcpu *vcpu, __u64 *exit_reason);
+int gzvm_arch_destroy_vcpu(u16 vm_id, int vcpuid);
+int gzvm_arch_inform_exit(u16 vm_id);
+
+int gzvm_arch_create_device(u16 vm_id, struct gzvm_create_device *gzvm_dev);
+int gzvm_arch_inject_irq(struct gzvm *gzvm, unsigned int vcpu_idx,
+ u32 irq_type, u32 irq, bool level);
+
+void gzvm_notify_acked_irq(struct gzvm *gzvm, unsigned int gsi);
+int gzvm_irqfd(struct gzvm *gzvm, struct gzvm_irqfd *args);
+int gzvm_drv_irqfd_init(void);
+void gzvm_drv_irqfd_exit(void);
+int gzvm_vm_irqfd_init(struct gzvm *gzvm);
+void gzvm_vm_irqfd_release(struct gzvm *gzvm);
+
+int gzvm_arch_memregion_purpose(struct gzvm *gzvm,
+ struct gzvm_userspace_memory_region *mem);
+int gzvm_arch_set_dtb_config(struct gzvm *gzvm, struct gzvm_dtb_config *args);
+
+int gzvm_init_ioeventfd(struct gzvm *gzvm);
+int gzvm_ioeventfd(struct gzvm *gzvm, struct gzvm_ioeventfd *args);
+bool gzvm_ioevent_write(struct gzvm_vcpu *vcpu, __u64 addr, int len,
+ const void *val);
+void eventfd_ctx_do_read(struct eventfd_ctx *ctx, __u64 *cnt);
+struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr);
+void add_wait_queue_priority(struct wait_queue_head *wq_head,
+ struct wait_queue_entry *wq_entry);
+
+#endif /* __GZVM_DRV_H__ */
diff --git a/include/linux/highmem.h b/include/linux/highmem.h
index 94b50dc0e131..a2d4e15464c3 100644
--- a/include/linux/highmem.h
+++ b/include/linux/highmem.h
@@ -319,6 +319,32 @@ static inline void copy_user_highpage(struct page *to, struct page *from,
#endif
+#ifdef copy_mc_to_kernel
+static inline int copy_mc_user_highpage(struct page *to, struct page *from,
+ unsigned long vaddr, struct vm_area_struct *vma)
+{
+ unsigned long ret;
+ char *vfrom, *vto;
+
+ vfrom = kmap_local_page(from);
+ vto = kmap_local_page(to);
+ ret = copy_mc_to_kernel(vto, vfrom, PAGE_SIZE);
+ if (!ret)
+ kmsan_unpoison_memory(page_address(to), PAGE_SIZE);
+ kunmap_local(vto);
+ kunmap_local(vfrom);
+
+ return ret;
+}
+#else
+static inline int copy_mc_user_highpage(struct page *to, struct page *from,
+ unsigned long vaddr, struct vm_area_struct *vma)
+{
+ copy_user_highpage(to, from, vaddr, vma);
+ return 0;
+}
+#endif
+
#ifndef __HAVE_ARCH_COPY_HIGHPAGE
static inline void copy_highpage(struct page *to, struct page *from)
diff --git a/include/linux/mm.h b/include/linux/mm.h
index ab2f33910d06..8c1bfae77799 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -635,8 +635,14 @@ struct vm_operations_struct {
*/
static inline bool vma_start_read(struct vm_area_struct *vma)
{
- /* Check before locking. A race might cause false locked result. */
- if (vma->vm_lock_seq == READ_ONCE(vma->vm_mm->mm_lock_seq))
+ /*
+ * Check before locking. A race might cause false locked result.
+ * We can use READ_ONCE() for the mm_lock_seq here, and don't need
+ * ACQUIRE semantics, because this is just a lockless check whose result
+ * we don't rely on for anything - the mm_lock_seq read against which we
+ * need ordering is below.
+ */
+ if (READ_ONCE(vma->vm_lock_seq) == READ_ONCE(vma->vm_mm->mm_lock_seq))
return false;
if (unlikely(down_read_trylock(&vma->vm_lock->lock) == 0))
@@ -647,8 +653,13 @@ static inline bool vma_start_read(struct vm_area_struct *vma)
* False unlocked result is impossible because we modify and check
* vma->vm_lock_seq under vma->vm_lock protection and mm->mm_lock_seq
* modification invalidates all existing locks.
+ *
+ * We must use ACQUIRE semantics for the mm_lock_seq so that if we are
+ * racing with vma_end_write_all(), we only start reading from the VMA
+ * after it has been unlocked.
+ * This pairs with RELEASE semantics in vma_end_write_all().
*/
- if (unlikely(vma->vm_lock_seq == READ_ONCE(vma->vm_mm->mm_lock_seq))) {
+ if (unlikely(vma->vm_lock_seq == smp_load_acquire(&vma->vm_mm->mm_lock_seq))) {
up_read(&vma->vm_lock->lock);
return false;
}
@@ -662,6 +673,7 @@ static inline void vma_end_read(struct vm_area_struct *vma)
rcu_read_unlock();
}
+/* WARNING! Can only be used if mmap_lock is expected to be write-locked */
static bool __is_vma_write_locked(struct vm_area_struct *vma, int *mm_lock_seq)
{
mmap_assert_write_locked(vma->vm_mm);
@@ -670,10 +682,15 @@ static bool __is_vma_write_locked(struct vm_area_struct *vma, int *mm_lock_seq)
* current task is holding mmap_write_lock, both vma->vm_lock_seq and
* mm->mm_lock_seq can't be concurrently modified.
*/
- *mm_lock_seq = READ_ONCE(vma->vm_mm->mm_lock_seq);
+ *mm_lock_seq = vma->vm_mm->mm_lock_seq;
return (vma->vm_lock_seq == *mm_lock_seq);
}
+/*
+ * Begin writing to a VMA.
+ * Exclude concurrent readers under the per-VMA lock until the currently
+ * write-locked mmap_lock is dropped or downgraded.
+ */
static inline void vma_start_write(struct vm_area_struct *vma)
{
int mm_lock_seq;
@@ -682,7 +699,13 @@ static inline void vma_start_write(struct vm_area_struct *vma)
return;
down_write(&vma->vm_lock->lock);
- vma->vm_lock_seq = mm_lock_seq;
+ /*
+ * We should use WRITE_ONCE() here because we can have concurrent reads
+ * from the early lockless pessimistic check in vma_start_read().
+ * We don't really care about the correctness of that early check, but
+ * we should use WRITE_ONCE() for cleanliness and to keep KCSAN happy.
+ */
+ WRITE_ONCE(vma->vm_lock_seq, mm_lock_seq);
up_write(&vma->vm_lock->lock);
}
@@ -696,7 +719,7 @@ static inline bool vma_try_start_write(struct vm_area_struct *vma)
if (!down_write_trylock(&vma->vm_lock->lock))
return false;
- vma->vm_lock_seq = mm_lock_seq;
+ WRITE_ONCE(vma->vm_lock_seq, mm_lock_seq);
up_write(&vma->vm_lock->lock);
return true;
}
@@ -708,6 +731,12 @@ static inline void vma_assert_write_locked(struct vm_area_struct *vma)
VM_BUG_ON_VMA(!__is_vma_write_locked(vma, &mm_lock_seq), vma);
}
+static inline void vma_assert_locked(struct vm_area_struct *vma)
+{
+ if (!rwsem_is_locked(&vma->vm_lock->lock))
+ vma_assert_write_locked(vma);
+}
+
static inline void vma_mark_detached(struct vm_area_struct *vma, bool detached)
{
/* When detaching vma should be write-locked */
@@ -716,6 +745,22 @@ static inline void vma_mark_detached(struct vm_area_struct *vma, bool detached)
vma->detached = detached;
}
+static inline void release_fault_lock(struct vm_fault *vmf)
+{
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK)
+ vma_end_read(vmf->vma);
+ else
+ mmap_read_unlock(vmf->vma->vm_mm);
+}
+
+static inline void assert_fault_locked(struct vm_fault *vmf)
+{
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK)
+ vma_assert_locked(vmf->vma);
+ else
+ mmap_assert_locked(vmf->vma->vm_mm);
+}
+
struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm,
unsigned long address);
@@ -728,10 +773,27 @@ static inline void vma_end_read(struct vm_area_struct *vma) {}
static inline void vma_start_write(struct vm_area_struct *vma) {}
static inline bool vma_try_start_write(struct vm_area_struct *vma)
{ return true; }
-static inline void vma_assert_write_locked(struct vm_area_struct *vma) {}
+static inline void vma_assert_write_locked(struct vm_area_struct *vma)
+ { mmap_assert_write_locked(vma->vm_mm); }
static inline void vma_mark_detached(struct vm_area_struct *vma,
bool detached) {}
+static inline void release_fault_lock(struct vm_fault *vmf)
+{
+ mmap_read_unlock(vmf->vma->vm_mm);
+}
+
+static inline void assert_fault_locked(struct vm_fault *vmf)
+{
+ mmap_assert_locked(vmf->vma->vm_mm);
+}
+
+static inline struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm,
+ unsigned long address)
+{
+ return NULL;
+}
+
#endif /* CONFIG_PER_VMA_LOCK */
/*
@@ -756,18 +818,22 @@ static inline void vm_flags_init(struct vm_area_struct *vma,
ACCESS_PRIVATE(vma, __vm_flags) = flags;
}
-/* Use when VMA is part of the VMA tree and modifications need coordination */
+/*
+ * Use when VMA is part of the VMA tree and modifications need coordination
+ * Note: vm_flags_reset and vm_flags_reset_once do not lock the vma and
+ * it should be locked explicitly beforehand.
+ */
static inline void vm_flags_reset(struct vm_area_struct *vma,
vm_flags_t flags)
{
- vma_start_write(vma);
+ vma_assert_write_locked(vma);
vm_flags_init(vma, flags);
}
static inline void vm_flags_reset_once(struct vm_area_struct *vma,
vm_flags_t flags)
{
- vma_start_write(vma);
+ vma_assert_write_locked(vma);
WRITE_ONCE(ACCESS_PRIVATE(vma, __vm_flags), flags);
}
@@ -2117,6 +2183,8 @@ void unmap_mapping_pages(struct address_space *mapping,
pgoff_t start, pgoff_t nr, bool even_cows);
void unmap_mapping_range(struct address_space *mapping,
loff_t const holebegin, loff_t const holelen, int even_cows);
+struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm,
+ unsigned long address, struct pt_regs *regs);
#else
static inline vm_fault_t handle_mm_fault(struct vm_area_struct *vma,
unsigned long address, unsigned int flags,
@@ -2993,16 +3061,11 @@ extern vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf);
extern unsigned long stack_guard_gap;
/* Generic expand stack which grows the stack according to GROWS{UP,DOWN} */
-extern int expand_stack(struct vm_area_struct *vma, unsigned long address);
+int expand_stack_locked(struct vm_area_struct *vma, unsigned long address);
+struct vm_area_struct *expand_stack(struct mm_struct * mm, unsigned long addr);
/* CONFIG_STACK_GROWSUP still needs to grow downwards at some places */
-extern int expand_downwards(struct vm_area_struct *vma,
- unsigned long address);
-#if VM_GROWSUP
-extern int expand_upwards(struct vm_area_struct *vma, unsigned long address);
-#else
- #define expand_upwards(vma, address) (0)
-#endif
+int expand_downwards(struct vm_area_struct *vma, unsigned long address);
/* Look up the first VMA which satisfies addr < vm_end, NULL if none. */
extern struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr);
@@ -3098,6 +3161,8 @@ unsigned long change_prot_numa(struct vm_area_struct *vma,
#endif
struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
+struct vm_area_struct *find_extend_vma_locked(struct mm_struct *,
+ unsigned long addr);
int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
unsigned long pfn, unsigned long size, pgprot_t);
int remap_pfn_range_notrack(struct vm_area_struct *vma, unsigned long addr,
@@ -3480,7 +3545,6 @@ enum mf_flags {
int mf_dax_kill_procs(struct address_space *mapping, pgoff_t index,
unsigned long count, int mf_flags);
extern int memory_failure(unsigned long pfn, int flags);
-extern void memory_failure_queue(unsigned long pfn, int flags);
extern void memory_failure_queue_kick(int cpu);
extern int unpoison_memory(unsigned long pfn);
extern int sysctl_memory_failure_early_kill;
@@ -3489,8 +3553,12 @@ extern void shake_page(struct page *p);
extern atomic_long_t num_poisoned_pages __read_mostly;
extern int soft_offline_page(unsigned long pfn, int flags);
#ifdef CONFIG_MEMORY_FAILURE
+extern void memory_failure_queue(unsigned long pfn, int flags);
extern int __get_huge_page_for_hwpoison(unsigned long pfn, int flags);
#else
+static inline void memory_failure_queue(unsigned long pfn, int flags)
+{
+}
static inline int __get_huge_page_for_hwpoison(unsigned long pfn, int flags)
{
return 0;
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 248151aa6be9..4e9453ab5985 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -478,6 +478,20 @@ struct vm_area_struct {
};
#ifdef CONFIG_PER_VMA_LOCK
+ /*
+ * Can only be written (using WRITE_ONCE()) while holding both:
+ * - mmap_lock (in write mode)
+ * - vm_lock->lock (in write mode)
+ * Can be read reliably while holding one of:
+ * - mmap_lock (in read or write mode)
+ * - vm_lock->lock (in read or write mode)
+ * Can be read unreliably (using READ_ONCE()) for pessimistic bailout
+ * while holding nothing (except RCU to keep the VMA struct allocated).
+ *
+ * This sequence counter is explicitly allowed to overflow; sequence
+ * counter reuse can only lead to occasional unnecessary use of the
+ * slowpath.
+ */
int vm_lock_seq;
struct vma_lock *vm_lock;
@@ -618,6 +632,20 @@ struct mm_struct {
* by mmlist_lock
*/
#ifdef CONFIG_PER_VMA_LOCK
+ /*
+ * This field has lock-like semantics, meaning it is sometimes
+ * accessed with ACQUIRE/RELEASE semantics.
+ * Roughly speaking, incrementing the sequence number is
+ * equivalent to releasing locks on VMAs; reading the sequence
+ * number can be part of taking a read lock on a VMA.
+ *
+ * Can be modified under write mmap_lock using RELEASE
+ * semantics.
+ * Can be read with no other protection when holding write
+ * mmap_lock.
+ * Can be read with ACQUIRE semantics if not holding write
+ * mmap_lock.
+ */
int mm_lock_seq;
#endif
@@ -942,7 +970,8 @@ enum vm_fault_reason {
{ VM_FAULT_RETRY, "RETRY" }, \
{ VM_FAULT_FALLBACK, "FALLBACK" }, \
{ VM_FAULT_DONE_COW, "DONE_COW" }, \
- { VM_FAULT_NEEDDSYNC, "NEEDDSYNC" }
+ { VM_FAULT_NEEDDSYNC, "NEEDDSYNC" }, \
+ { VM_FAULT_COMPLETED, "COMPLETED" }
struct vm_special_mapping {
const char *name; /* The name, e.g. "[vdso]". */
diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h
index aab8f1b28d26..4745ea859398 100644
--- a/include/linux/mmap_lock.h
+++ b/include/linux/mmap_lock.h
@@ -73,11 +73,25 @@ static inline void mmap_assert_write_locked(struct mm_struct *mm)
}
#ifdef CONFIG_PER_VMA_LOCK
+/*
+ * Drop all currently-held per-VMA locks.
+ * This is called from the mmap_lock implementation directly before releasing
+ * a write-locked mmap_lock (or downgrading it to read-locked).
+ * This should normally NOT be called manually from other places.
+ * If you want to call this manually anyway, keep in mind that this will release
+ * *all* VMA write locks, including ones from further up the stack.
+ */
static inline void vma_end_write_all(struct mm_struct *mm)
{
mmap_assert_write_locked(mm);
- /* No races during update due to exclusive mmap_lock being held */
- WRITE_ONCE(mm->mm_lock_seq, mm->mm_lock_seq + 1);
+ /*
+ * Nobody can concurrently modify mm->mm_lock_seq due to exclusive
+ * mmap_lock being held.
+ * We need RELEASE semantics here to ensure that preceding stores into
+ * the VMA take effect before we unlock it with this store.
+ * Pairs with ACQUIRE semantics in vma_start_read().
+ */
+ smp_store_release(&mm->mm_lock_seq, mm->mm_lock_seq + 1);
}
#else
static inline void vma_end_write_all(struct mm_struct *mm) {}
diff --git a/include/linux/of_address.h b/include/linux/of_address.h
index 45598dbec269..78d3fa9b4ff8 100644
--- a/include/linux/of_address.h
+++ b/include/linux/of_address.h
@@ -38,6 +38,8 @@ struct of_pci_range {
/* Translate a DMA address from device space to CPU space */
extern u64 of_translate_dma_address(struct device_node *dev,
const __be32 *in_addr);
+extern const __be32 *of_translate_dma_region(struct device_node *dev, const __be32 *addr,
+ phys_addr_t *start, size_t *length);
#ifdef CONFIG_OF_ADDRESS
extern u64 of_translate_address(struct device_node *np, const __be32 *addr);
diff --git a/include/linux/of_iommu.h b/include/linux/of_iommu.h
index 55c1eb300a86..9a5e6b410dd2 100644
--- a/include/linux/of_iommu.h
+++ b/include/linux/of_iommu.h
@@ -12,6 +12,9 @@ extern const struct iommu_ops *of_iommu_configure(struct device *dev,
struct device_node *master_np,
const u32 *id);
+extern void of_iommu_get_resv_regions(struct device *dev,
+ struct list_head *list);
+
#else
static inline const struct iommu_ops *of_iommu_configure(struct device *dev,
@@ -21,6 +24,11 @@ static inline const struct iommu_ops *of_iommu_configure(struct device *dev,
return NULL;
}
+static inline void of_iommu_get_resv_regions(struct device *dev,
+ struct list_head *list)
+{
+}
+
#endif /* CONFIG_OF_IOMMU */
#endif /* __OF_IOMMU_H */
diff --git a/include/linux/oom.h b/include/linux/oom.h
index 7d0c9c48a0c5..f008e23d9b41 100644
--- a/include/linux/oom.h
+++ b/include/linux/oom.h
@@ -112,4 +112,6 @@ extern void oom_killer_enable(void);
extern struct task_struct *find_lock_task_mm(struct task_struct *p);
+/* call for adding killed process to reaper. */
+extern void add_to_oom_reaper(struct task_struct *p);
#endif /* _INCLUDE_LINUX_OOM_H */
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index df232c0003de..17a18aed632b 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -882,8 +882,7 @@ static inline bool wake_page_match(struct wait_page_queue *wait_page,
void __folio_lock(struct folio *folio);
int __folio_lock_killable(struct folio *folio);
-bool __folio_lock_or_retry(struct folio *folio, struct mm_struct *mm,
- unsigned int flags);
+vm_fault_t __folio_lock_or_retry(struct folio *folio, struct vm_fault *vmf);
void unlock_page(struct page *page);
void folio_unlock(struct folio *folio);
@@ -997,11 +996,13 @@ static inline int lock_page_killable(struct page *page)
* Return value and mmap_lock implications depend on flags; see
* __folio_lock_or_retry().
*/
-static inline bool folio_lock_or_retry(struct folio *folio,
- struct mm_struct *mm, unsigned int flags)
+static inline vm_fault_t folio_lock_or_retry(struct folio *folio,
+ struct vm_fault *vmf)
{
might_sleep();
- return folio_trylock(folio) || __folio_lock_or_retry(folio, mm, flags);
+ if (!folio_trylock(folio))
+ return __folio_lock_or_retry(folio, vmf);
+ return 0;
}
/*
diff --git a/include/linux/pagewalk.h b/include/linux/pagewalk.h
index f3fafb731ffd..d29ada832fa1 100644
--- a/include/linux/pagewalk.h
+++ b/include/linux/pagewalk.h
@@ -6,6 +6,16 @@
struct mm_walk;
+/* Locking requirement during a page walk. */
+enum page_walk_lock {
+ /* mmap_lock should be locked for read to stabilize the vma tree */
+ PGWALK_RDLOCK = 0,
+ /* vma will be write-locked during the walk */
+ PGWALK_WRLOCK = 1,
+ /* vma is expected to be already write-locked during the walk */
+ PGWALK_WRLOCK_VERIFY = 2,
+};
+
/**
* struct mm_walk_ops - callbacks for walk_page_range
* @pgd_entry: if set, called for each non-empty PGD (top-level) entry
@@ -55,6 +65,7 @@ struct mm_walk_ops {
int (*pre_vma)(unsigned long start, unsigned long end,
struct mm_walk *walk);
void (*post_vma)(struct mm_walk *walk);
+ enum page_walk_lock walk_lock;
};
/*
diff --git a/include/linux/percpu-rwsem.h b/include/linux/percpu-rwsem.h
index ebd81e03f3c1..7734ef905011 100644
--- a/include/linux/percpu-rwsem.h
+++ b/include/linux/percpu-rwsem.h
@@ -23,6 +23,9 @@ struct percpu_rw_semaphore {
#endif
};
+void _trace_android_vh_record_pcpu_rwsem_time_early(
+ unsigned long settime, struct percpu_rw_semaphore *sem);
+
#ifdef CONFIG_DEBUG_LOCK_ALLOC
#define __PERCPU_RWSEM_DEP_MAP_INIT(lockname) .dep_map = { .name = #lockname },
#else
@@ -54,6 +57,8 @@ static inline void percpu_down_read(struct percpu_rw_semaphore *sem)
rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_);
preempt_disable();
+ _trace_android_vh_record_pcpu_rwsem_time_early(jiffies, sem);
+
/*
* We are in an RCU-sched read-side critical section, so the writer
* cannot both change sem->state from readers_fast and start checking
@@ -93,6 +98,7 @@ static inline bool percpu_down_read_trylock(struct percpu_rw_semaphore *sem)
*/
if (ret) {
+ _trace_android_vh_record_pcpu_rwsem_time_early(jiffies, sem);
_trace_android_vh_record_pcpu_rwsem_starttime(current, jiffies);
rwsem_acquire_read(&sem->dep_map, 0, 1, _RET_IP_);
}
@@ -124,6 +130,7 @@ static inline void percpu_up_read(struct percpu_rw_semaphore *sem)
this_cpu_dec(*sem->read_count);
rcuwait_wake_up(&sem->writer);
}
+ _trace_android_vh_record_pcpu_rwsem_time_early(0, sem);
_trace_android_vh_record_pcpu_rwsem_starttime(current, 0);
preempt_enable();
}
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 19a43aa5a021..cf3d130319cb 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -758,10 +758,8 @@ struct task_struct {
#endif
unsigned int __state;
-#ifdef CONFIG_PREEMPT_RT
/* saved state for "spinlock sleepers" */
- unsigned int saved_state;
-#endif
+ /* moved to ANDROID_KABI_USE(1, unsigned int saved_state) */
/*
* This begins the randomizable portion of task_struct. Only
@@ -1548,7 +1546,7 @@ struct task_struct {
*/
union rv_task_monitor rv[RV_PER_TASK_MONITORS];
#endif
- ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_USE(1, unsigned int saved_state);
ANDROID_KABI_RESERVE(2);
ANDROID_KABI_RESERVE(3);
ANDROID_KABI_RESERVE(4);
@@ -2029,15 +2027,12 @@ static __always_inline void scheduler_ipi(void)
*/
preempt_fold_need_resched();
}
-extern unsigned long wait_task_inactive(struct task_struct *, unsigned int match_state);
#else
static inline void scheduler_ipi(void) { }
-static inline unsigned long wait_task_inactive(struct task_struct *p, unsigned int match_state)
-{
- return 1;
-}
#endif
+extern unsigned long wait_task_inactive(struct task_struct *, unsigned int match_state);
+
/*
* Set thread flags in other task's structures.
* See asm/thread_info.h for TIF_xxxx flags available:
diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h
index 84f787416a54..054d7911bfc9 100644
--- a/include/linux/skmsg.h
+++ b/include/linux/skmsg.h
@@ -71,7 +71,6 @@ struct sk_psock_link {
};
struct sk_psock_work_state {
- struct sk_buff *skb;
u32 len;
u32 off;
};
@@ -105,7 +104,7 @@ struct sk_psock {
struct proto *sk_proto;
struct mutex work_mutex;
struct sk_psock_work_state work_state;
- struct work_struct work;
+ struct delayed_work work;
struct rcu_work rwork;
};
diff --git a/include/linux/usb/phy.h b/include/linux/usb/phy.h
index 888d2fdb662f..e98e1ed26542 100644
--- a/include/linux/usb/phy.h
+++ b/include/linux/usb/phy.h
@@ -157,7 +157,17 @@ struct usb_phy {
*/
enum usb_charger_type (*charger_detect)(struct usb_phy *x);
+ /*
+ * Reserved slot 0 here is seserved for a notify_port_status callback addition that narrowly
+ * missed the ABI freeze deadline due to upstream review disussions. See
+ * https://lore.kernel.org/linux-usb/20230607062500.24669-1-stanley_chang@realtek.com/
+ * for details. All other slots are for "normal" future ABI breaks in LTS updates
+ */
+ ANDROID_KABI_RESERVE(0);
ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_RESERVE(2);
+ ANDROID_KABI_RESERVE(3);
+ ANDROID_KABI_RESERVE(4);
};
/* for board-specific init logic */
diff --git a/include/linux/wwan.h b/include/linux/wwan.h
index 5ce2acf444fb..e3ea3c12c588 100644
--- a/include/linux/wwan.h
+++ b/include/linux/wwan.h
@@ -7,6 +7,7 @@
#include <linux/poll.h>
#include <linux/netdevice.h>
#include <linux/types.h>
+#include <linux/android_kabi.h>
/**
* enum wwan_port_type - WWAN port types
@@ -60,6 +61,9 @@ struct wwan_port_ops {
int (*tx_blocking)(struct wwan_port *port, struct sk_buff *skb);
__poll_t (*tx_poll)(struct wwan_port *port, struct file *filp,
poll_table *wait);
+
+ ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_RESERVE(2);
};
/**
@@ -165,6 +169,9 @@ struct wwan_ops {
u32 if_id, struct netlink_ext_ack *extack);
void (*dellink)(void *ctxt, struct net_device *dev,
struct list_head *head);
+
+ ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_RESERVE(2);
};
int wwan_register_ops(struct device *parent, const struct wwan_ops *ops,
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 7a381fcef939..822c88d059b9 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -335,6 +335,7 @@ enum {
enum {
HCI_SETUP,
HCI_CONFIG,
+ HCI_DEBUGFS_CREATED,
HCI_AUTO_OFF,
HCI_RFKILLED,
HCI_MGMT,
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index c600366b09d1..755b1a8f4b8e 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -514,6 +514,7 @@ struct hci_dev {
struct work_struct cmd_sync_work;
struct list_head cmd_sync_work_list;
struct mutex cmd_sync_work_lock;
+ struct mutex unregister_lock;
struct work_struct cmd_sync_cancel_work;
struct work_struct reenable_adv_work;
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index e2a491132c60..272dbf5bdba2 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -186,7 +186,7 @@ struct pneigh_entry {
netdevice_tracker dev_tracker;
u32 flags;
u8 protocol;
- u8 key[];
+ u32 key[];
};
/*
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h
index a1ccf1276f3e..cfc9aa5c059f 100644
--- a/include/net/netfilter/nf_tables.h
+++ b/include/net/netfilter/nf_tables.h
@@ -1000,7 +1000,10 @@ static inline struct nft_userdata *nft_userdata(const struct nft_rule *rule)
return (void *)&rule->data[rule->dlen];
}
-void nf_tables_rule_release(const struct nft_ctx *ctx, struct nft_rule *rule);
+void nft_rule_expr_activate(const struct nft_ctx *ctx, struct nft_rule *rule);
+void nft_rule_expr_deactivate(const struct nft_ctx *ctx, struct nft_rule *rule,
+ enum nft_trans_phase phase);
+void nf_tables_rule_destroy(const struct nft_ctx *ctx, struct nft_rule *rule);
static inline void nft_set_elem_update_expr(const struct nft_set_ext *ext,
struct nft_regs *regs,
@@ -1083,6 +1086,7 @@ int nft_setelem_validate(const struct nft_ctx *ctx, struct nft_set *set,
const struct nft_set_iter *iter,
struct nft_set_elem *elem);
int nft_set_catchall_validate(const struct nft_ctx *ctx, struct nft_set *set);
+int nf_tables_bind_chain(const struct nft_ctx *ctx, struct nft_chain *chain);
enum nft_chain_types {
NFT_CHAIN_T_DEFAULT = 0,
@@ -1119,11 +1123,17 @@ int nft_chain_validate_dependency(const struct nft_chain *chain,
int nft_chain_validate_hooks(const struct nft_chain *chain,
unsigned int hook_flags);
+static inline bool nft_chain_binding(const struct nft_chain *chain)
+{
+ return chain->flags & NFT_CHAIN_BINDING;
+}
+
static inline bool nft_chain_is_bound(struct nft_chain *chain)
{
return (chain->flags & NFT_CHAIN_BINDING) && chain->bound;
}
+int nft_chain_add(struct nft_table *table, struct nft_chain *chain);
void nft_chain_del(struct nft_chain *chain);
void nf_tables_chain_destroy(struct nft_ctx *ctx);
@@ -1558,6 +1568,7 @@ struct nft_trans_rule {
struct nft_rule *rule;
struct nft_flow_rule *flow;
u32 rule_id;
+ bool bound;
};
#define nft_trans_rule(trans) \
@@ -1566,6 +1577,8 @@ struct nft_trans_rule {
(((struct nft_trans_rule *)trans->data)->flow)
#define nft_trans_rule_id(trans) \
(((struct nft_trans_rule *)trans->data)->rule_id)
+#define nft_trans_rule_bound(trans) \
+ (((struct nft_trans_rule *)trans->data)->bound)
struct nft_trans_set {
struct nft_set *set;
@@ -1590,13 +1603,17 @@ struct nft_trans_set {
(((struct nft_trans_set *)trans->data)->gc_int)
struct nft_trans_chain {
+ struct nft_chain *chain;
bool update;
char *name;
struct nft_stats __percpu *stats;
u8 policy;
+ bool bound;
u32 chain_id;
};
+#define nft_trans_chain(trans) \
+ (((struct nft_trans_chain *)trans->data)->chain)
#define nft_trans_chain_update(trans) \
(((struct nft_trans_chain *)trans->data)->update)
#define nft_trans_chain_name(trans) \
@@ -1605,6 +1622,8 @@ struct nft_trans_chain {
(((struct nft_trans_chain *)trans->data)->stats)
#define nft_trans_chain_policy(trans) \
(((struct nft_trans_chain *)trans->data)->policy)
+#define nft_trans_chain_bound(trans) \
+ (((struct nft_trans_chain *)trans->data)->bound)
#define nft_trans_chain_id(trans) \
(((struct nft_trans_chain *)trans->data)->chain_id)
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h
index 9020f07cae92..3764ac0cf1b5 100644
--- a/include/net/netns/ipv6.h
+++ b/include/net/netns/ipv6.h
@@ -54,7 +54,7 @@ struct netns_sysctl_ipv6 {
int seg6_flowlabel;
u32 ioam6_id;
u64 ioam6_id_wide;
- bool skip_notify_on_dev_down;
+ int skip_notify_on_dev_down;
u8 fib_notify_on_flag_change;
ANDROID_KABI_RESERVE(1);
};
diff --git a/include/net/sock.h b/include/net/sock.h
index c5b25854443d..18455549911e 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -335,6 +335,7 @@ struct sk_filter;
* @sk_cgrp_data: cgroup data for this cgroup
* @sk_memcg: this socket's memory cgroup association
* @sk_write_pending: a write to stream socket waits to start
+ * @sk_wait_pending: number of threads blocked on this socket
* @sk_state_change: callback to indicate change in the state of the sock
* @sk_data_ready: callback to indicate there is data to be processed
* @sk_write_space: callback to indicate there is bf sending space available
@@ -427,6 +428,7 @@ struct sock {
unsigned int sk_napi_id;
#endif
int sk_rcvbuf;
+ int sk_wait_pending;
struct sk_filter __rcu *sk_filter;
union {
@@ -1182,6 +1184,7 @@ static inline void sock_rps_reset_rxhash(struct sock *sk)
#define sk_wait_event(__sk, __timeo, __condition, __wait) \
({ int __rc; \
+ __sk->sk_wait_pending++; \
release_sock(__sk); \
__rc = __condition; \
if (!__rc) { \
@@ -1191,6 +1194,7 @@ static inline void sock_rps_reset_rxhash(struct sock *sk)
} \
sched_annotate_sleep(); \
lock_sock(__sk); \
+ __sk->sk_wait_pending--; \
__rc = __condition; \
__rc; \
})
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 5b70b241ce71..0744717f5caa 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1467,6 +1467,8 @@ static inline void tcp_adjust_rcv_ssthresh(struct sock *sk)
}
void tcp_cleanup_rbuf(struct sock *sk, int copied);
+void __tcp_cleanup_rbuf(struct sock *sk, int copied);
+
/* We provision sk_rcvbuf around 200% of sk_rcvlowat.
* If 87.5 % (7/8) of the space has been consumed, we want to override
@@ -2291,6 +2293,14 @@ int tcp_bpf_update_proto(struct sock *sk, struct sk_psock *psock, bool restore);
void tcp_bpf_clone(const struct sock *sk, struct sock *newsk);
#endif /* CONFIG_BPF_SYSCALL */
+#ifdef CONFIG_INET
+void tcp_eat_skb(struct sock *sk, struct sk_buff *skb);
+#else
+static inline void tcp_eat_skb(struct sock *sk, struct sk_buff *skb)
+{
+}
+#endif
+
int tcp_bpf_sendmsg_redir(struct sock *sk, bool ingress,
struct sk_msg *msg, u32 bytes, int flags);
#endif /* CONFIG_NET_SOCK_MSG */
diff --git a/include/trace/events/OWNERS b/include/trace/events/OWNERS
deleted file mode 100644
index a63dbf4659f2..000000000000
--- a/include/trace/events/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-per-file f2fs**=file:/fs/f2fs/OWNERS
diff --git a/include/trace/events/erofs.h b/include/trace/events/erofs.h
index 4f4c44ea3a65..01d0b8927376 100644
--- a/include/trace/events/erofs.h
+++ b/include/trace/events/erofs.h
@@ -66,8 +66,8 @@ TRACE_EVENT(erofs_fill_inode,
TP_fast_assign(
__entry->dev = inode->i_sb->s_dev;
__entry->nid = EROFS_I(inode)->nid;
- __entry->blkaddr = erofs_blknr(iloc(EROFS_I_SB(inode), __entry->nid));
- __entry->ofs = erofs_blkoff(iloc(EROFS_I_SB(inode), __entry->nid));
+ __entry->blkaddr = erofs_blknr(inode->i_sb, erofs_iloc(inode));
+ __entry->ofs = erofs_blkoff(inode->i_sb, erofs_iloc(inode));
),
TP_printk("dev = (%d,%d), nid = %llu, blkaddr %u ofs %u",
diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h
index e87cb2b80ed3..3e06b3fe81a6 100644
--- a/include/trace/events/mmflags.h
+++ b/include/trace/events/mmflags.h
@@ -51,7 +51,8 @@
gfpflag_string(__GFP_RECLAIM), \
gfpflag_string(__GFP_DIRECT_RECLAIM), \
gfpflag_string(__GFP_KSWAPD_RECLAIM), \
- gfpflag_string(__GFP_ZEROTAGS)
+ gfpflag_string(__GFP_ZEROTAGS), \
+ gfpflag_string(__GFP_CMA)
#ifdef CONFIG_KASAN_HW_TAGS
#define __def_gfpflag_names_kasan , \
diff --git a/include/trace/hooks/binder.h b/include/trace/hooks/binder.h
index 991e9b1271a1..216b5645db73 100644
--- a/include/trace/hooks/binder.h
+++ b/include/trace/hooks/binder.h
@@ -11,7 +11,11 @@
* mechanism for vendor modules to hook and extend functionality
*/
struct binder_transaction;
+struct binder_transaction_data;
struct task_struct;
+struct binder_work;
+struct binder_buffer;
+
DECLARE_HOOK(android_vh_binder_transaction_init,
TP_PROTO(struct binder_transaction *t),
TP_ARGS(t));
@@ -93,6 +97,26 @@ DECLARE_HOOK(android_vh_binder_new_ref,
DECLARE_HOOK(android_vh_binder_del_ref,
TP_PROTO(struct task_struct *proc, uint32_t ref_desc),
TP_ARGS(proc, ref_desc));
+DECLARE_HOOK(android_vh_alloc_oem_binder_struct,
+ TP_PROTO(struct binder_transaction_data *tr, struct binder_transaction *t,
+ struct binder_proc *proc),
+ TP_ARGS(tr, t, proc));
+DECLARE_HOOK(android_vh_binder_transaction_received,
+ TP_PROTO(struct binder_transaction *t, struct binder_proc *proc,
+ struct binder_thread *thread, uint32_t cmd),
+ TP_ARGS(t, proc, thread, cmd));
+DECLARE_HOOK(android_vh_free_oem_binder_struct,
+ TP_PROTO(struct binder_transaction *t),
+ TP_ARGS(t));
+DECLARE_HOOK(android_vh_binder_special_task,
+ TP_PROTO(struct binder_transaction *t, struct binder_proc *proc,
+ struct binder_thread *thread, struct binder_work *w,
+ struct list_head *head, bool sync, bool *special_task),
+ TP_ARGS(t, proc, thread, w, head, sync, special_task));
+DECLARE_HOOK(android_vh_binder_free_buf,
+ TP_PROTO(struct binder_proc *proc, struct binder_thread *thread,
+ struct binder_buffer *buffer),
+ TP_ARGS(proc, thread, buffer));
#endif /* _TRACE_HOOK_BINDER_H */
/* This part must be outside protection */
diff --git a/include/trace/hooks/cgroup.h b/include/trace/hooks/cgroup.h
index 15582cc572bd..b824197118f9 100644
--- a/include/trace/hooks/cgroup.h
+++ b/include/trace/hooks/cgroup.h
@@ -8,6 +8,9 @@
#include <trace/hooks/vendor_hooks.h>
struct task_struct;
+struct cgroup_taskset;
+struct cgroup_subsys;
+struct cgroup_subsys_state;
DECLARE_HOOK(android_vh_cgroup_set_task,
TP_PROTO(int ret, struct task_struct *task),
TP_ARGS(ret, task));
@@ -16,18 +19,14 @@ DECLARE_RESTRICTED_HOOK(android_rvh_refrigerator,
TP_PROTO(bool f),
TP_ARGS(f), 1);
-struct cgroup_subsys;
-struct cgroup_taskset;
DECLARE_HOOK(android_vh_cgroup_attach,
TP_PROTO(struct cgroup_subsys *ss, struct cgroup_taskset *tset),
- TP_ARGS(ss, tset))
+ TP_ARGS(ss, tset));
+
DECLARE_RESTRICTED_HOOK(android_rvh_cgroup_force_kthread_migration,
TP_PROTO(struct task_struct *tsk, struct cgroup *dst_cgrp, bool *force_migration),
TP_ARGS(tsk, dst_cgrp, force_migration), 1);
-struct cgroup_taskset;
-struct cgroup_subsys;
-
DECLARE_RESTRICTED_HOOK(android_rvh_cpuset_fork,
TP_PROTO(struct task_struct *p, bool *inherit_cpus),
TP_ARGS(p, inherit_cpus), 1);
diff --git a/include/trace/hooks/compaction.h b/include/trace/hooks/compaction.h
new file mode 100644
index 000000000000..3286de01d58b
--- /dev/null
+++ b/include/trace/hooks/compaction.h
@@ -0,0 +1,20 @@
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM compaction
+
+#define TRACE_INCLUDE_PATH trace/hooks
+
+#if !defined(_TRACE_HOOK_COMPACTION_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_HOOK_COMPACTION_H
+
+#include <trace/hooks/vendor_hooks.h>
+
+DECLARE_HOOK(android_vh_compaction_exit,
+ TP_PROTO(int node_id, int order, const int highest_zoneidx),
+ TP_ARGS(node_id, order, highest_zoneidx));
+enum compact_result;
+DECLARE_HOOK(android_vh_compaction_try_to_compact_pages_exit,
+ TP_PROTO(enum compact_result *compact_result),
+ TP_ARGS(compact_result));
+#endif /* _TRACE_HOOK_COMPACTION_H */
+/* This part must be outside protection */
+#include <trace/define_trace.h>
diff --git a/include/trace/hooks/dtask.h b/include/trace/hooks/dtask.h
index cbf3dfd38d36..a63a2868e626 100644
--- a/include/trace/hooks/dtask.h
+++ b/include/trace/hooks/dtask.h
@@ -15,6 +15,7 @@ struct mutex;
struct rt_mutex_base;
struct rw_semaphore;
struct task_struct;
+struct percpu_rw_semaphore;
DECLARE_HOOK(android_vh_mutex_wait_start,
TP_PROTO(struct mutex *lock),
@@ -80,6 +81,12 @@ DECLARE_HOOK(android_vh_record_rwsem_lock_starttime,
DECLARE_HOOK(android_vh_record_pcpu_rwsem_starttime,
TP_PROTO(struct task_struct *tsk, unsigned long settime_jiffies),
TP_ARGS(tsk, settime_jiffies));
+DECLARE_HOOK(android_vh_record_pcpu_rwsem_time_early,
+ TP_PROTO(unsigned long settime_jiffies, struct percpu_rw_semaphore *sem),
+ TP_ARGS(settime_jiffies, sem));
+DECLARE_HOOK(android_vh_percpu_rwsem_wq_add,
+ TP_PROTO(struct percpu_rw_semaphore *sem, bool reader),
+ TP_ARGS(sem, reader));
struct mutex_waiter;
DECLARE_HOOK(android_vh_alter_mutex_list_add,
@@ -91,6 +98,28 @@ DECLARE_HOOK(android_vh_alter_mutex_list_add,
DECLARE_HOOK(android_vh_mutex_unlock_slowpath,
TP_PROTO(struct mutex *lock),
TP_ARGS(lock));
+struct rt_mutex_waiter;
+struct ww_acquire_ctx;
+DECLARE_HOOK(android_vh_task_blocks_on_rtmutex,
+ TP_PROTO(struct rt_mutex_base *lock, struct rt_mutex_waiter *waiter,
+ struct task_struct *task, struct ww_acquire_ctx *ww_ctx,
+ unsigned int *chwalk),
+ TP_ARGS(lock, waiter, task, ww_ctx, chwalk));
+DECLARE_HOOK(android_vh_rtmutex_waiter_prio,
+ TP_PROTO(struct task_struct *task, int *waiter_prio),
+ TP_ARGS(task, waiter_prio));
+
+DECLARE_HOOK(android_vh_exit_signal_whether_wake,
+ TP_PROTO(struct task_struct *p, bool *wake),
+ TP_ARGS(p, wake));
+
+DECLARE_HOOK(android_vh_exit_check,
+ TP_PROTO(struct task_struct *p),
+ TP_ARGS(p));
+
+DECLARE_HOOK(android_vh_freeze_whether_wake,
+ TP_PROTO(struct task_struct *t, bool *wake),
+ TP_ARGS(t, wake));
#endif /* _TRACE_HOOK_DTASK_H */
diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h
index fb0bc38380fa..254da451178e 100644
--- a/include/trace/hooks/mm.h
+++ b/include/trace/hooks/mm.h
@@ -11,6 +11,7 @@
struct shmem_inode_info;
struct folio;
+struct page_vma_mapped_walk;
DECLARE_RESTRICTED_HOOK(android_rvh_shmem_get_folio,
TP_PROTO(struct shmem_inode_info *info, struct folio **folio),
@@ -122,7 +123,34 @@ DECLARE_HOOK(android_vh_mem_cgroup_css_online,
DECLARE_HOOK(android_vh_mem_cgroup_css_offline,
TP_PROTO(struct cgroup_subsys_state *css, struct mem_cgroup *memcg),
TP_ARGS(css, memcg));
+DECLARE_HOOK(android_vh_rmqueue_smallest_bypass,
+ TP_PROTO(struct page **page, struct zone *zone, int order, int migratetype),
+ TP_ARGS(page, zone, order, migratetype));
+DECLARE_HOOK(android_vh_free_one_page_bypass,
+ TP_PROTO(struct page *page, struct zone *zone, int order, int migratetype,
+ int fpi_flags, bool *bypass),
+ TP_ARGS(page, zone, order, migratetype, fpi_flags, bypass));
+DECLARE_HOOK(android_vh_test_clear_look_around_ref,
+ TP_PROTO(struct page *page),
+ TP_ARGS(page));
+DECLARE_HOOK(android_vh_look_around_migrate_folio,
+ TP_PROTO(struct folio *old_folio, struct folio *new_folio),
+ TP_ARGS(old_folio, new_folio));
+DECLARE_HOOK(android_vh_look_around,
+ TP_PROTO(struct page_vma_mapped_walk *pvmw, struct folio *folio,
+ struct vm_area_struct *vma, int *referenced),
+ TP_ARGS(pvmw, folio, vma, referenced));
+DECLARE_HOOK(android_vh_mm_alloc_pages_direct_reclaim_enter,
+ TP_PROTO(unsigned int order),
+ TP_ARGS(order));
+DECLARE_HOOK(android_vh_mm_alloc_pages_direct_reclaim_exit,
+ TP_PROTO(unsigned long did_some_progress, int retry_times),
+ TP_ARGS(did_some_progress, retry_times));
+struct oom_control;
+DECLARE_HOOK(android_vh_mm_alloc_pages_may_oom_exit,
+ TP_PROTO(struct oom_control *oc, unsigned long did_some_progress),
+ TP_ARGS(oc, did_some_progress));
#endif /* _TRACE_HOOK_MM_H */
/* This part must be outside protection */
diff --git a/include/trace/hooks/regmap.h b/include/trace/hooks/regmap.h
new file mode 100644
index 000000000000..cb6fc43d3472
--- /dev/null
+++ b/include/trace/hooks/regmap.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM regmap
+#undef TRACE_INCLUDE_PATH
+#define TRACE_INCLUDE_PATH trace/hooks
+
+#if !defined(_TRACE_HOOK_REGMAP_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_HOOK_REGMAP_H
+#include <trace/hooks/vendor_hooks.h>
+
+struct regmap_config;
+struct regmap;
+
+/*
+ * Following tracepoints are not exported in tracefs and provide a
+ * mechanism for vendor modules to hook and extend functionality
+ */
+DECLARE_HOOK(android_vh_regmap_update,
+ TP_PROTO(const struct regmap_config *config, struct regmap *map),
+ TP_ARGS(config, map));
+
+#endif /* _TRACE_HOOK_REGMAP_H */
+/* This part must be outside protection */
+#include <trace/define_trace.h>
diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h
index fc1a832ccac1..594d6bd6c38b 100644
--- a/include/trace/hooks/sched.h
+++ b/include/trace/hooks/sched.h
@@ -52,6 +52,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_finish_prio_fork,
TP_PROTO(struct task_struct *p),
TP_ARGS(p), 1);
+DECLARE_RESTRICTED_HOOK(android_rvh_rtmutex_force_update,
+ TP_PROTO(struct task_struct *p, struct task_struct *pi_task, int *update),
+ TP_ARGS(p, pi_task, update), 1);
+
DECLARE_RESTRICTED_HOOK(android_rvh_rtmutex_prepare_setprio,
TP_PROTO(struct task_struct *p, struct task_struct *pi_task),
TP_ARGS(p, pi_task), 1);
@@ -161,8 +165,9 @@ DECLARE_RESTRICTED_HOOK(android_rvh_tick_entry,
TP_ARGS(rq), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_schedule,
- TP_PROTO(struct task_struct *prev, struct task_struct *next, struct rq *rq),
- TP_ARGS(prev, next, rq), 1);
+ TP_PROTO(unsigned int sched_mode, struct task_struct *prev,
+ struct task_struct *next, struct rq *rq),
+ TP_ARGS(sched_mode, prev, next, rq), 1);
DECLARE_RESTRICTED_HOOK(android_rvh_sched_cpu_starting,
TP_PROTO(int cpu),
@@ -254,6 +259,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_do_sched_yield,
TP_PROTO(struct rq *rq),
TP_ARGS(rq), 1);
+DECLARE_RESTRICTED_HOOK(android_rvh_before_do_sched_yield,
+ TP_PROTO(long *unused),
+ TP_ARGS(unused), 1);
+
DECLARE_HOOK(android_vh_free_task,
TP_PROTO(struct task_struct *p),
TP_ARGS(p));
@@ -312,6 +321,11 @@ DECLARE_HOOK(android_vh_setscheduler_uclamp,
TP_PROTO(struct task_struct *tsk, int clamp_id, unsigned int value),
TP_ARGS(tsk, clamp_id, value));
+DECLARE_HOOK(android_vh_uclamp_validate,
+ TP_PROTO(struct task_struct *p, const struct sched_attr *attr,
+ bool user, int *ret, bool *done),
+ TP_ARGS(p, attr, user, ret, done));
+
DECLARE_HOOK(android_vh_update_topology_flags_workfn,
TP_PROTO(void *unused),
TP_ARGS(unused));
@@ -380,7 +394,37 @@ DECLARE_HOOK(android_vh_mmput,
TP_PROTO(struct mm_struct *mm),
TP_ARGS(mm));
-/* macro versions of hooks are no longer required */
+struct sched_attr;
+DECLARE_HOOK(android_vh_set_sugov_sched_attr,
+ TP_PROTO(struct sched_attr *attr),
+ TP_ARGS(attr));
+DECLARE_RESTRICTED_HOOK(android_rvh_set_iowait,
+ TP_PROTO(struct task_struct *p, struct rq *rq, int *should_iowait_boost),
+ TP_ARGS(p, rq, should_iowait_boost), 1);
+
+DECLARE_RESTRICTED_HOOK(android_rvh_attach_entity_load_avg,
+ TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
+ TP_ARGS(cfs_rq, se), 1);
+
+DECLARE_RESTRICTED_HOOK(android_rvh_detach_entity_load_avg,
+ TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
+ TP_ARGS(cfs_rq, se), 1);
+
+DECLARE_RESTRICTED_HOOK(android_rvh_update_load_avg,
+ TP_PROTO(u64 now, struct cfs_rq *cfs_rq, struct sched_entity *se),
+ TP_ARGS(now, cfs_rq, se), 1);
+
+DECLARE_RESTRICTED_HOOK(android_rvh_remove_entity_load_avg,
+ TP_PROTO(struct cfs_rq *cfs_rq, struct sched_entity *se),
+ TP_ARGS(cfs_rq, se), 1);
+
+DECLARE_RESTRICTED_HOOK(android_rvh_update_blocked_fair,
+ TP_PROTO(struct rq *rq),
+ TP_ARGS(rq), 1);
+
+DECLARE_RESTRICTED_HOOK(android_rvh_update_rt_rq_load_avg,
+ TP_PROTO(u64 now, struct rq *rq, struct task_struct *tsk, int running),
+ TP_ARGS(now, rq, tsk, running), 1);
#endif /* _TRACE_HOOK_SCHED_H */
/* This part must be outside protection */
diff --git a/include/trace/hooks/signal.h b/include/trace/hooks/signal.h
index 4e61006cb145..c845aec359d7 100644
--- a/include/trace/hooks/signal.h
+++ b/include/trace/hooks/signal.h
@@ -14,6 +14,9 @@ DECLARE_HOOK(android_vh_do_send_sig_info,
DECLARE_HOOK(android_vh_exit_signal,
TP_PROTO(struct task_struct *task),
TP_ARGS(task));
+DECLARE_HOOK(android_vh_killed_process,
+ TP_PROTO(struct task_struct *killer, struct task_struct *dst, bool *reap),
+ TP_ARGS(killer, dst, reap));
#endif /* _TRACE_HOOK_SIGNAL_H */
/* This part must be outside protection */
#include <trace/define_trace.h>
diff --git a/include/trace/hooks/thermal.h b/include/trace/hooks/thermal.h
index dd42f1d6766a..3e928aa1920d 100644
--- a/include/trace/hooks/thermal.h
+++ b/include/trace/hooks/thermal.h
@@ -48,6 +48,10 @@ DECLARE_HOOK(android_vh_thermal_power_cap,
TP_PROTO(u32 *power_range),
TP_ARGS(power_range));
+DECLARE_HOOK(android_vh_enable_thermal_power_throttle,
+ TP_PROTO(bool *enable),
+ TP_ARGS(enable));
+
#endif /* _TRACE_HOOK_THERMAL_H */
/* This part must be outside protection */
#include <trace/define_trace.h>
diff --git a/include/trace/hooks/topology.h b/include/trace/hooks/topology.h
index d2673d4379c1..56a9fd22f8c6 100644
--- a/include/trace/hooks/topology.h
+++ b/include/trace/hooks/topology.h
@@ -24,6 +24,10 @@ DECLARE_HOOK(android_vh_arch_set_freq_scale,
#endif
+DECLARE_HOOK(android_vh_use_amu_fie,
+ TP_PROTO(bool *use_amu_fie),
+ TP_ARGS(use_amu_fie));
+
#endif /* _TRACE_HOOK_TOPOLOGY_H */
/* This part must be outside protection */
#include <trace/define_trace.h>
diff --git a/include/trace/hooks/vmscan.h b/include/trace/hooks/vmscan.h
index 0896b1134de5..f9effdd2d03e 100644
--- a/include/trace/hooks/vmscan.h
+++ b/include/trace/hooks/vmscan.h
@@ -36,6 +36,23 @@ DECLARE_HOOK(android_vh_should_continue_reclaim,
DECLARE_HOOK(android_vh_file_is_tiny_bypass,
TP_PROTO(bool file_is_tiny, bool *bypass),
TP_ARGS(file_is_tiny, bypass));
+DECLARE_HOOK(android_vh_check_folio_look_around_ref,
+ TP_PROTO(struct folio *folio, int *skip),
+ TP_ARGS(folio, skip));
+enum scan_balance;
+DECLARE_HOOK(android_vh_tune_scan_type,
+ TP_PROTO(enum scan_balance *scan_type),
+ TP_ARGS(scan_type));
+DECLARE_HOOK(android_vh_tune_swappiness,
+ TP_PROTO(int *swappiness),
+ TP_ARGS(swappiness));
+DECLARE_HOOK(android_vh_scan_abort_check_wmarks,
+ TP_PROTO(bool *check_wmarks),
+ TP_ARGS(check_wmarks));
+DECLARE_HOOK(android_vh_vmscan_kswapd_done,
+ TP_PROTO(int node_id, unsigned int highest_zoneidx, unsigned int alloc_order,
+ unsigned int reclaim_order),
+ TP_ARGS(node_id, highest_zoneidx, alloc_order, reclaim_order));
#endif /* _TRACE_HOOK_VMSCAN_H */
/* This part must be outside protection */
#include <trace/define_trace.h>
diff --git a/include/uapi/asm-generic/Kbuild b/include/uapi/asm-generic/Kbuild
index ebb180aac74e..5af115a3c1a8 100644
--- a/include/uapi/asm-generic/Kbuild
+++ b/include/uapi/asm-generic/Kbuild
@@ -34,3 +34,4 @@ mandatory-y += termbits.h
mandatory-y += termios.h
mandatory-y += types.h
mandatory-y += unistd.h
+mandatory-y += gzvm_arch.h
diff --git a/include/uapi/asm-generic/gzvm_arch.h b/include/uapi/asm-generic/gzvm_arch.h
new file mode 100644
index 000000000000..c4cc12716c91
--- /dev/null
+++ b/include/uapi/asm-generic/gzvm_arch.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+#ifndef __ASM_GENERIC_GZVM_ARCH_H
+#define __ASM_GENERIC_GZVM_ARCH_H
+/* geniezone only supports aarch64 platform for now */
+
+#endif /* __ASM_GENERIC_GZVM_ARCH_H */
diff --git a/include/uapi/linux/OWNERS b/include/uapi/linux/OWNERS
deleted file mode 100644
index 8aed640a4679..000000000000
--- a/include/uapi/linux/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-per-file f2fs**=file:/fs/f2fs/OWNERS
-per-file fuse**=file:/fs/fuse/OWNERS
-per-file net**=file:/net/OWNERS
diff --git a/include/uapi/linux/android_fuse.h b/include/uapi/linux/android_fuse.h
index 221e30ea7f01..58f3d171952d 100644
--- a/include/uapi/linux/android_fuse.h
+++ b/include/uapi/linux/android_fuse.h
@@ -56,15 +56,29 @@ struct fuse_in_postfilter_header {
/** One input argument of a request */
struct fuse_bpf_in_arg {
uint32_t size;
- const void *value;
- const void *end_offset;
+ uint32_t padding;
+ union {
+ const void *value;
+ uint64_t padding2;
+ };
+ union {
+ const void *end_offset;
+ uint64_t padding3;
+ };
};
/** One output argument of a request */
struct fuse_bpf_arg {
uint32_t size;
- void *value;
- void *end_offset;
+ uint32_t padding;
+ union {
+ void *value;
+ uint64_t padding2;
+ };
+ union {
+ void *end_offset;
+ uint64_t padding3;
+ };
};
#define FUSE_MAX_IN_ARGS 5
@@ -80,6 +94,7 @@ struct fuse_bpf_args {
uint32_t in_numargs;
uint32_t out_numargs;
uint32_t flags;
+ uint32_t padding;
struct fuse_bpf_in_arg in_args[FUSE_MAX_IN_ARGS];
struct fuse_bpf_arg out_args[FUSE_MAX_OUT_ARGS];
};
diff --git a/include/uapi/linux/gzvm.h b/include/uapi/linux/gzvm.h
new file mode 100644
index 000000000000..d37be00fbeea
--- /dev/null
+++ b/include/uapi/linux/gzvm.h
@@ -0,0 +1,343 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (c) 2023 MediaTek Inc.
+ */
+
+/**
+ * DOC: UAPI of GenieZone Hypervisor
+ *
+ * This file declares common data structure shared among user space,
+ * kernel space, and GenieZone hypervisor.
+ */
+#ifndef __GZVM_H__
+#define __GZVM_H__
+
+#include <linux/const.h>
+#include <linux/types.h>
+#include <linux/ioctl.h>
+
+#include <asm/gzvm_arch.h>
+
+/* GZVM ioctls */
+#define GZVM_IOC_MAGIC 0x92 /* gz */
+
+/* ioctls for /dev/gzvm fds */
+#define GZVM_CREATE_VM _IO(GZVM_IOC_MAGIC, 0x01) /* Returns a Geniezone VM fd */
+
+/*
+ * Check if the given capability is supported or not.
+ * The argument is capability. Ex. GZVM_CAP_ARM_PROTECTED_VM or GZVM_CAP_ARM_VM_IPA_SIZE
+ * return is 0 (supported, no error)
+ * return is -EOPNOTSUPP (unsupported)
+ * return is -EFAULT (failed to get the argument from userspace)
+ */
+#define GZVM_CHECK_EXTENSION _IO(GZVM_IOC_MAGIC, 0x03)
+
+/* ioctls for VM fds */
+/* for GZVM_SET_MEMORY_REGION */
+struct gzvm_memory_region {
+ __u32 slot;
+ __u32 flags;
+ __u64 guest_phys_addr;
+ __u64 memory_size; /* bytes */
+};
+
+#define GZVM_SET_MEMORY_REGION _IOW(GZVM_IOC_MAGIC, 0x40, \
+ struct gzvm_memory_region)
+/*
+ * GZVM_CREATE_VCPU receives as a parameter the vcpu slot,
+ * and returns a vcpu fd.
+ */
+#define GZVM_CREATE_VCPU _IO(GZVM_IOC_MAGIC, 0x41)
+
+/* for GZVM_SET_USER_MEMORY_REGION */
+struct gzvm_userspace_memory_region {
+ __u32 slot;
+ __u32 flags;
+ __u64 guest_phys_addr;
+ /* bytes */
+ __u64 memory_size;
+ /* start of the userspace allocated memory */
+ __u64 userspace_addr;
+};
+
+#define GZVM_SET_USER_MEMORY_REGION _IOW(GZVM_IOC_MAGIC, 0x46, \
+ struct gzvm_userspace_memory_region)
+
+/* for GZVM_IRQ_LINE, irq field index values */
+#define GZVM_IRQ_VCPU_MASK 0xff
+#define GZVM_IRQ_LINE_TYPE GENMASK(27, 24)
+#define GZVM_IRQ_LINE_VCPU GENMASK(23, 16)
+#define GZVM_IRQ_LINE_VCPU2 GENMASK(31, 28)
+#define GZVM_IRQ_LINE_NUM GENMASK(15, 0)
+
+/* irq_type field */
+#define GZVM_IRQ_TYPE_CPU 0
+#define GZVM_IRQ_TYPE_SPI 1
+#define GZVM_IRQ_TYPE_PPI 2
+
+/* out-of-kernel GIC cpu interrupt injection irq_number field */
+#define GZVM_IRQ_CPU_IRQ 0
+#define GZVM_IRQ_CPU_FIQ 1
+
+struct gzvm_irq_level {
+ union {
+ __u32 irq;
+ __s32 status;
+ };
+ __u32 level;
+};
+
+#define GZVM_IRQ_LINE _IOW(GZVM_IOC_MAGIC, 0x61, \
+ struct gzvm_irq_level)
+
+enum gzvm_device_type {
+ GZVM_DEV_TYPE_ARM_VGIC_V3_DIST = 0,
+ GZVM_DEV_TYPE_ARM_VGIC_V3_REDIST = 1,
+ GZVM_DEV_TYPE_MAX,
+};
+
+/**
+ * struct gzvm_create_device: For GZVM_CREATE_DEVICE.
+ * @dev_type: Device type.
+ * @id: Device id.
+ * @flags: Bypass to hypervisor to handle them and these are flags of virtual
+ * devices.
+ * @dev_addr: Device ipa address in VM's view.
+ * @dev_reg_size: Device register range size.
+ * @attr_addr: If user -> kernel, this is user virtual address of device
+ * specific attributes (if needed). If kernel->hypervisor,
+ * this is ipa.
+ * @attr_size: This attr_size is the buffer size in bytes of each attribute
+ * needed from various devices. The attribute here refers to the
+ * additional data passed from VMM(e.g. Crosvm) to GenieZone
+ * hypervisor when virtual devices were to be created. Thus,
+ * we need attr_addr and attr_size in the gzvm_create_device
+ * structure to keep track of the attribute mentioned.
+ *
+ * Store information needed to create device.
+ */
+struct gzvm_create_device {
+ __u32 dev_type;
+ __u32 id;
+ __u64 flags;
+ __u64 dev_addr;
+ __u64 dev_reg_size;
+ __u64 attr_addr;
+ __u64 attr_size;
+};
+
+#define GZVM_CREATE_DEVICE _IOWR(GZVM_IOC_MAGIC, 0xe0, \
+ struct gzvm_create_device)
+
+/*
+ * ioctls for vcpu fds
+ */
+#define GZVM_RUN _IO(GZVM_IOC_MAGIC, 0x80)
+
+/* VM exit reason */
+enum {
+ GZVM_EXIT_UNKNOWN = 0x92920000,
+ GZVM_EXIT_MMIO = 0x92920001,
+ GZVM_EXIT_HYPERCALL = 0x92920002,
+ GZVM_EXIT_IRQ = 0x92920003,
+ GZVM_EXIT_EXCEPTION = 0x92920004,
+ GZVM_EXIT_DEBUG = 0x92920005,
+ GZVM_EXIT_FAIL_ENTRY = 0x92920006,
+ GZVM_EXIT_INTERNAL_ERROR = 0x92920007,
+ GZVM_EXIT_SYSTEM_EVENT = 0x92920008,
+ GZVM_EXIT_SHUTDOWN = 0x92920009,
+ GZVM_EXIT_GZ = 0x9292000a,
+};
+
+/**
+ * struct gzvm_vcpu_run: Same purpose as kvm_run, this struct is
+ * shared between userspace, kernel and
+ * GenieZone hypervisor
+ * @exit_reason: The reason why gzvm_vcpu_run has stopped running the vCPU
+ * @immediate_exit: Polled when the vcpu is scheduled.
+ * If set, immediately returns -EINTR
+ * @padding1: Reserved for future-proof and must be zero filled
+ * @mmio: The nested struct in anonymous union. Handle mmio in host side
+ * @phys_addr: The address guest tries to access
+ * @data: The value to be written (is_write is 1) or
+ * be filled by user for reads (is_write is 0)
+ * @size: The size of written data.
+ * Only the first `size` bytes of `data` are handled
+ * @reg_nr: The register number where the data is stored
+ * @is_write: 1 for VM to perform a write or 0 for VM to perform a read
+ * @fail_entry: The nested struct in anonymous union.
+ * Handle invalid entry address at the first run
+ * @hardware_entry_failure_reason: The reason codes about hardware entry failure
+ * @cpu: The current processor number via smp_processor_id()
+ * @exception: The nested struct in anonymous union.
+ * Handle exception occurred in VM
+ * @exception: Which exception vector
+ * @error_code: Exception error codes
+ * @hypercall: The nested struct in anonymous union.
+ * Some hypercalls issued from VM must be handled
+ * @args: The hypercall's arguments
+ * @internal: The nested struct in anonymous union. The errors from hypervisor
+ * @suberror: The errors codes about GZVM_EXIT_INTERNAL_ERROR
+ * @ndata: The number of elements used in data[]
+ * @data: Keep the detailed information about GZVM_EXIT_INTERNAL_ERROR
+ * @system_event: The nested struct in anonymous union.
+ * VM's PSCI must be handled by host
+ * @type: System event type.
+ * Ex. GZVM_SYSTEM_EVENT_SHUTDOWN or GZVM_SYSTEM_EVENT_RESET...etc.
+ * @ndata: The number of elements used in data[]
+ * @data: Keep the detailed information about GZVM_EXIT_SYSTEM_EVENT
+ * @padding: Fix it to a reasonable size future-proof for keeping the same
+ * struct size when adding new variables in the union is needed
+ *
+ * Keep identical layout between the 3 modules
+ */
+struct gzvm_vcpu_run {
+ /* to userspace */
+ __u32 exit_reason;
+ __u8 immediate_exit;
+ __u8 padding1[3];
+ /* union structure of collection of guest exit reason */
+ union {
+ /* GZVM_EXIT_MMIO */
+ struct {
+ /* from FAR_EL2 */
+ __u64 phys_addr;
+ __u8 data[8];
+ /* from ESR_EL2 as */
+ __u64 size;
+ /* from ESR_EL2 */
+ __u32 reg_nr;
+ /* from ESR_EL2 */
+ __u8 is_write;
+ } mmio;
+ /* GZVM_EXIT_FAIL_ENTRY */
+ struct {
+ __u64 hardware_entry_failure_reason;
+ __u32 cpu;
+ } fail_entry;
+ /* GZVM_EXIT_EXCEPTION */
+ struct {
+ __u32 exception;
+ __u32 error_code;
+ } exception;
+ /* GZVM_EXIT_HYPERCALL */
+ struct {
+ __u64 args[8]; /* in-out */
+ } hypercall;
+ /* GZVM_EXIT_INTERNAL_ERROR */
+ struct {
+ __u32 suberror;
+ __u32 ndata;
+ __u64 data[16];
+ } internal;
+ /* GZVM_EXIT_SYSTEM_EVENT */
+ struct {
+#define GZVM_SYSTEM_EVENT_SHUTDOWN 1
+#define GZVM_SYSTEM_EVENT_RESET 2
+#define GZVM_SYSTEM_EVENT_CRASH 3
+#define GZVM_SYSTEM_EVENT_WAKEUP 4
+#define GZVM_SYSTEM_EVENT_SUSPEND 5
+#define GZVM_SYSTEM_EVENT_SEV_TERM 6
+#define GZVM_SYSTEM_EVENT_S2IDLE 7
+ __u32 type;
+ __u32 ndata;
+ __u64 data[16];
+ } system_event;
+ char padding[256];
+ };
+};
+
+/* for GZVM_ENABLE_CAP */
+struct gzvm_enable_cap {
+ /* in */
+ __u64 cap;
+ /**
+ * we have total 5 (8 - 3) registers can be used for
+ * additional args
+ */
+ __u64 args[5];
+};
+
+#define GZVM_ENABLE_CAP _IOW(GZVM_IOC_MAGIC, 0xa3, \
+ struct gzvm_enable_cap)
+
+/* for GZVM_GET/SET_ONE_REG */
+struct gzvm_one_reg {
+ __u64 id;
+ __u64 addr;
+};
+
+#define GZVM_GET_ONE_REG _IOW(GZVM_IOC_MAGIC, 0xab, \
+ struct gzvm_one_reg)
+#define GZVM_SET_ONE_REG _IOW(GZVM_IOC_MAGIC, 0xac, \
+ struct gzvm_one_reg)
+
+#define GZVM_REG_GENERIC 0x0000000000000000ULL
+
+#define GZVM_IRQFD_FLAG_DEASSIGN BIT(0)
+/*
+ * GZVM_IRQFD_FLAG_RESAMPLE indicates resamplefd is valid and specifies
+ * the irqfd to operate in resampling mode for level triggered interrupt
+ * emulation.
+ */
+#define GZVM_IRQFD_FLAG_RESAMPLE BIT(1)
+
+/**
+ * struct gzvm_irqfd: gzvm irqfd descriptor
+ * @fd: File descriptor.
+ * @gsi: Used for level IRQ fast-path.
+ * @flags: FLAG_DEASSIGN or FLAG_RESAMPLE.
+ * @resamplefd: The file descriptor of the resampler.
+ * @pad: Reserved for future-proof.
+ */
+struct gzvm_irqfd {
+ __u32 fd;
+ __u32 gsi;
+ __u32 flags;
+ __u32 resamplefd;
+ __u8 pad[16];
+};
+
+#define GZVM_IRQFD _IOW(GZVM_IOC_MAGIC, 0x76, struct gzvm_irqfd)
+
+enum {
+ gzvm_ioeventfd_flag_nr_datamatch = 0,
+ gzvm_ioeventfd_flag_nr_pio = 1,
+ gzvm_ioeventfd_flag_nr_deassign = 2,
+ gzvm_ioeventfd_flag_nr_max,
+};
+
+#define GZVM_IOEVENTFD_FLAG_DATAMATCH (1 << gzvm_ioeventfd_flag_nr_datamatch)
+#define GZVM_IOEVENTFD_FLAG_PIO (1 << gzvm_ioeventfd_flag_nr_pio)
+#define GZVM_IOEVENTFD_FLAG_DEASSIGN (1 << gzvm_ioeventfd_flag_nr_deassign)
+#define GZVM_IOEVENTFD_VALID_FLAG_MASK ((1 << gzvm_ioeventfd_flag_nr_max) - 1)
+
+struct gzvm_ioeventfd {
+ __u64 datamatch;
+ /* private: legal pio/mmio address */
+ __u64 addr;
+ /* private: 1, 2, 4, or 8 bytes; or 0 to ignore length */
+ __u32 len;
+ __s32 fd;
+ __u32 flags;
+ __u8 pad[36];
+};
+
+#define GZVM_IOEVENTFD _IOW(GZVM_IOC_MAGIC, 0x79, struct gzvm_ioeventfd)
+
+/**
+ * struct gzvm_dtb_config: store address and size of dtb passed from userspace
+ *
+ * @dtb_addr: dtb address set by VMM (guset memory)
+ * @dtb_size: dtb size
+ */
+struct gzvm_dtb_config {
+ __u64 dtb_addr;
+ __u64 dtb_size;
+};
+
+#define GZVM_SET_DTB_CONFIG _IOW(GZVM_IOC_MAGIC, 0xff, \
+ struct gzvm_dtb_config)
+
+#endif /* __GZVM_H__ */
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index d67a7ff0da9a..b43f3bbd55ee 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -577,12 +577,17 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */
#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */
+/* RGB formats (6 or 8 bytes per pixel) */
+#define V4L2_PIX_FMT_BGR48_12 v4l2_fourcc('B', '3', '1', '2') /* 48 BGR 12-bit per component */
+#define V4L2_PIX_FMT_ABGR64_12 v4l2_fourcc('B', '4', '1', '2') /* 64 BGRA 12-bit per component */
+
/* Grey formats */
#define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */
#define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */
#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */
#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */
+#define V4L2_PIX_FMT_Y012 v4l2_fourcc('Y', '0', '1', '2') /* 12 Greyscale */
#define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ') /* 14 Greyscale */
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
#define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */
@@ -617,6 +622,15 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_YUVA32 v4l2_fourcc('Y', 'U', 'V', 'A') /* 32 YUVA-8-8-8-8 */
#define V4L2_PIX_FMT_YUVX32 v4l2_fourcc('Y', 'U', 'V', 'X') /* 32 YUVX-8-8-8-8 */
#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
+#define V4L2_PIX_FMT_YUV48_12 v4l2_fourcc('Y', '3', '1', '2') /* 48 YUV 4:4:4 12-bit per component */
+
+/*
+ * YCbCr packed format. For each Y2xx format, xx bits of valid data occupy the MSBs
+ * of the 16 bit components, and 16-xx bits of zero padding occupy the LSBs.
+ */
+#define V4L2_PIX_FMT_Y210 v4l2_fourcc('Y', '2', '1', '0') /* 32 YUYV 4:2:2 */
+#define V4L2_PIX_FMT_Y212 v4l2_fourcc('Y', '2', '1', '2') /* 32 YUYV 4:2:2 */
+#define V4L2_PIX_FMT_Y216 v4l2_fourcc('Y', '2', '1', '6') /* 32 YUYV 4:2:2 */
/* two planes -- one Y, one Cr + Cb interleaved */
#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
@@ -626,12 +640,14 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */
#define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */
#define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/CbCr 4:2:0 10-bit per component */
+#define V4L2_PIX_FMT_P012 v4l2_fourcc('P', '0', '1', '2') /* 24 Y/CbCr 4:2:0 12-bit per component */
/* two non contiguous planes - one Y, one Cr + Cb interleaved */
#define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */
#define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') /* 21 Y/CrCb 4:2:0 */
#define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6') /* 16 Y/CbCr 4:2:2 */
#define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1') /* 16 Y/CrCb 4:2:2 */
+#define V4L2_PIX_FMT_P012M v4l2_fourcc('P', 'M', '1', '2') /* 24 Y/CbCr 4:2:0 12-bit per component */
/* three planes - Y Cb, Cr */
#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */
diff --git a/include/uapi/scsi/scsi_bsg_ufs.h b/include/uapi/scsi/scsi_bsg_ufs.h
index 5e4891fd99c2..ad6f5e1be2ab 100644
--- a/include/uapi/scsi/scsi_bsg_ufs.h
+++ b/include/uapi/scsi/scsi_bsg_ufs.h
@@ -97,18 +97,18 @@ struct utp_upiu_req {
};
struct ufs_arpmb_meta {
- __u16 req_resp_type;
+ __be16 req_resp_type;
__u8 nonce[16];
- __u32 write_counter;
- __u16 addr_lun;
- __u16 block_count;
- __u16 result;
+ __be32 write_counter;
+ __be16 addr_lun;
+ __be16 block_count;
+ __be16 result;
} __attribute__((__packed__));
struct ufs_ehs {
__u8 length;
__u8 ehs_type;
- __u16 ehssub_type;
+ __be16 ehssub_type;
struct ufs_arpmb_meta meta;
__u8 mac_key[32];
} __attribute__((__packed__));
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index c6962ac122ba..12965946d194 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -1297,11 +1297,14 @@ void ufshcd_parse_dev_ref_clk_freq(struct ufs_hba *hba, struct clk *refclk);
void ufshcd_update_evt_hist(struct ufs_hba *hba, u32 id, u32 val);
void ufshcd_hba_stop(struct ufs_hba *hba);
void ufshcd_schedule_eh_work(struct ufs_hba *hba);
+void ufshcd_mcq_config_mac(struct ufs_hba *hba, u32 max_active_cmds);
+u32 ufshcd_mcq_read_cqis(struct ufs_hba *hba, int i);
void ufshcd_mcq_write_cqis(struct ufs_hba *hba, u32 val, int i);
unsigned long ufshcd_mcq_poll_cqe_nolock(struct ufs_hba *hba,
struct ufs_hw_queue *hwq);
unsigned long ufshcd_mcq_poll_cqe_lock(struct ufs_hba *hba,
struct ufs_hw_queue *hwq);
+void ufshcd_mcq_make_queues_operational(struct ufs_hba *hba);
void ufshcd_mcq_enable_esi(struct ufs_hba *hba);
void ufshcd_mcq_config_esi(struct ufs_hba *hba, struct msi_msg *msg);
diff --git a/init/Kconfig.gki b/init/Kconfig.gki
index 29eb1eefbd3d..081b1cdc9c7e 100644
--- a/init/Kconfig.gki
+++ b/init/Kconfig.gki
@@ -201,6 +201,7 @@ config GKI_HIDDEN_NET_CONFIGS
bool "Hidden networking configuration needed for GKI"
select PAGE_POOL
select NET_PTP_CLASSIFY
+ select NET_DEVLINK
help
Dummy config option used to enable the networking hidden
config, required by various SoC platforms.
diff --git a/io_uring/poll.c b/io_uring/poll.c
index 4788073ec45d..869e1d2a4413 100644
--- a/io_uring/poll.c
+++ b/io_uring/poll.c
@@ -993,8 +993,9 @@ int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags)
struct io_hash_bucket *bucket;
struct io_kiocb *preq;
int ret2, ret = 0;
- bool locked;
+ bool locked = true;
+ io_ring_submit_lock(ctx, issue_flags);
preq = io_poll_find(ctx, true, &cd, &ctx->cancel_table, &bucket);
ret2 = io_poll_disarm(preq);
if (bucket)
@@ -1006,12 +1007,10 @@ int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags)
goto out;
}
- io_ring_submit_lock(ctx, issue_flags);
preq = io_poll_find(ctx, true, &cd, &ctx->cancel_table_locked, &bucket);
ret2 = io_poll_disarm(preq);
if (bucket)
spin_unlock(&bucket->lock);
- io_ring_submit_unlock(ctx, issue_flags);
if (ret2) {
ret = ret2;
goto out;
@@ -1035,7 +1034,7 @@ found:
if (poll_update->update_user_data)
preq->cqe.user_data = poll_update->new_user_data;
- ret2 = io_poll_add(preq, issue_flags);
+ ret2 = io_poll_add(preq, issue_flags & ~IO_URING_F_UNLOCKED);
/* successfully updated, don't complete poll request */
if (!ret2 || ret2 == -EIOCBQUEUED)
goto out;
@@ -1043,9 +1042,9 @@ found:
req_set_fail(preq);
io_req_set_res(preq, -ECANCELED, 0);
- locked = !(issue_flags & IO_URING_F_UNLOCKED);
io_req_task_complete(preq, &locked);
out:
+ io_ring_submit_unlock(ctx, issue_flags);
if (ret < 0) {
req_set_fail(req);
return ret;
diff --git a/kernel/cgroup/cgroup-internal.h b/kernel/cgroup/cgroup-internal.h
index 367b0a42ada9..892b770067b5 100644
--- a/kernel/cgroup/cgroup-internal.h
+++ b/kernel/cgroup/cgroup-internal.h
@@ -251,7 +251,8 @@ int cgroup_attach_task(struct cgroup *dst_cgrp, struct task_struct *leader,
void cgroup_attach_lock(bool lock_threadgroup);
void cgroup_attach_unlock(bool lock_threadgroup);
struct task_struct *cgroup_procs_write_start(char *buf, bool threadgroup,
- bool *locked)
+ bool *locked,
+ struct cgroup *dst_cgrp);
__acquires(&cgroup_threadgroup_rwsem);
void cgroup_procs_write_finish(struct task_struct *task, bool locked)
__releases(&cgroup_threadgroup_rwsem);
diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c
index c6822bf6c918..fed5bf717ce1 100644
--- a/kernel/cgroup/cgroup-v1.c
+++ b/kernel/cgroup/cgroup-v1.c
@@ -501,7 +501,7 @@ static ssize_t __cgroup1_procs_write(struct kernfs_open_file *of,
if (!cgrp)
return -ENODEV;
- task = cgroup_procs_write_start(buf, threadgroup, &locked);
+ task = cgroup_procs_write_start(buf, threadgroup, &locked, cgrp);
ret = PTR_ERR_OR_ZERO(task);
if (ret)
goto out_unlock;
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index e4045593ea2b..4f5074da1448 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -114,6 +114,7 @@ static DEFINE_SPINLOCK(cgroup_idr_lock);
static DEFINE_SPINLOCK(cgroup_file_kn_lock);
DEFINE_PERCPU_RWSEM(cgroup_threadgroup_rwsem);
+EXPORT_SYMBOL_GPL(cgroup_threadgroup_rwsem);
#define cgroup_assert_mutex_or_rcu_locked() \
RCU_LOCKDEP_WARN(!rcu_read_lock_held() && \
@@ -2920,10 +2921,12 @@ int cgroup_attach_task(struct cgroup *dst_cgrp, struct task_struct *leader,
}
struct task_struct *cgroup_procs_write_start(char *buf, bool threadgroup,
- bool *threadgroup_locked)
+ bool *threadgroup_locked,
+ struct cgroup *dst_cgrp)
{
struct task_struct *tsk;
pid_t pid;
+ bool force_migration = false;
if (kstrtoint(strstrip(buf), 0, &pid) || pid < 0)
return ERR_PTR(-EINVAL);
@@ -2954,13 +2957,16 @@ struct task_struct *cgroup_procs_write_start(char *buf, bool threadgroup,
if (threadgroup)
tsk = tsk->group_leader;
+ if (tsk->flags & PF_KTHREAD)
+ trace_android_rvh_cgroup_force_kthread_migration(tsk, dst_cgrp, &force_migration);
+
/*
* kthreads may acquire PF_NO_SETAFFINITY during initialization.
* If userland migrates such a kthread to a non-root cgroup, it can
* become trapped in a cpuset, or RT kthread may be born in a
* cgroup with no rt_runtime allocated. Just say no.
*/
- if (tsk->no_cgroup_migration || (tsk->flags & PF_NO_SETAFFINITY)) {
+ if (!force_migration && (tsk->no_cgroup_migration || (tsk->flags & PF_NO_SETAFFINITY))) {
tsk = ERR_PTR(-EINVAL);
goto out_unlock_threadgroup;
}
@@ -4443,6 +4449,7 @@ int cgroup_add_dfl_cftypes(struct cgroup_subsys *ss, struct cftype *cfts)
cft->flags |= __CFTYPE_ONLY_ON_DFL;
return cgroup_add_cftypes(ss, cfts);
}
+EXPORT_SYMBOL_GPL(cgroup_add_dfl_cftypes);
/**
* cgroup_add_legacy_cftypes - add an array of cftypes for legacy hierarchies
@@ -5146,7 +5153,7 @@ static ssize_t __cgroup_procs_write(struct kernfs_open_file *of, char *buf,
if (!dst_cgrp)
return -ENODEV;
- task = cgroup_procs_write_start(buf, threadgroup, &threadgroup_locked);
+ task = cgroup_procs_write_start(buf, threadgroup, &threadgroup_locked, dst_cgrp);
ret = PTR_ERR_OR_ZERO(task);
if (ret)
goto out_unlock;
diff --git a/kernel/cgroup/freezer.c b/kernel/cgroup/freezer.c
index 617861a54793..d0224d3c0a32 100644
--- a/kernel/cgroup/freezer.c
+++ b/kernel/cgroup/freezer.c
@@ -7,6 +7,7 @@
#include "cgroup-internal.h"
#include <trace/events/cgroup.h>
+#include <trace/hooks/dtask.h>
/*
* Propagate the cgroup frozen state upwards by the cgroup tree.
@@ -155,17 +156,21 @@ void cgroup_leave_frozen(bool always_leave)
static void cgroup_freeze_task(struct task_struct *task, bool freeze)
{
unsigned long flags;
+ bool wake = true;
/* If the task is about to die, don't bother with freezing it. */
if (!lock_task_sighand(task, &flags))
return;
+ trace_android_vh_freeze_whether_wake(task, &wake);
if (freeze) {
task->jobctl |= JOBCTL_TRAP_FREEZE;
- signal_wake_up(task, false);
+ if (wake)
+ signal_wake_up(task, false);
} else {
task->jobctl &= ~JOBCTL_TRAP_FREEZE;
- wake_up_process(task);
+ if (wake)
+ wake_up_process(task);
}
unlock_task_sighand(task, &flags);
diff --git a/kernel/dma/remap.c b/kernel/dma/remap.c
index b4526668072e..27596f3b4aef 100644
--- a/kernel/dma/remap.c
+++ b/kernel/dma/remap.c
@@ -43,13 +43,13 @@ void *dma_common_contiguous_remap(struct page *page, size_t size,
void *vaddr;
int i;
- pages = kmalloc_array(count, sizeof(struct page *), GFP_KERNEL);
+ pages = kvmalloc_array(count, sizeof(struct page *), GFP_KERNEL);
if (!pages)
return NULL;
for (i = 0; i < count; i++)
pages[i] = nth_page(page, i);
vaddr = vmap(pages, count, VM_DMA_COHERENT, prot);
- kfree(pages);
+ kvfree(pages);
return vaddr;
}
diff --git a/kernel/exit.c b/kernel/exit.c
index 1e3b9675fbe5..15ae928cdd2f 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -73,6 +73,7 @@
#include <asm/unistd.h>
#include <asm/mmu_context.h>
#include <trace/hooks/mm.h>
+#include <trace/hooks/dtask.h>
/*
* The default value should be high enough to not crash a system that randomly
@@ -827,6 +828,8 @@ void __noreturn do_exit(long code)
io_uring_files_cancel();
exit_signals(tsk); /* sets PF_EXITING */
+ trace_android_vh_exit_check(current);
+
/* sync mm's RSS info before statistics gathering */
if (tsk->mm)
sync_mm_rss(tsk->mm);
diff --git a/kernel/fork.c b/kernel/fork.c
index 67d61842d6b8..b890209ae115 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -694,6 +694,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
mas_for_each(&old_mas, mpnt, ULONG_MAX) {
struct file *file;
+ vma_start_write(mpnt);
if (mpnt->vm_flags & VM_DONTCOPY) {
vm_stat_account(mm, mpnt->vm_flags, -vma_pages(mpnt));
continue;
diff --git a/kernel/freezer.c b/kernel/freezer.c
index b672c614b1e9..abd7f58cfe04 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -74,7 +74,11 @@ bool __refrigerator(bool check_kthr_stop)
for (;;) {
bool freeze;
+ raw_spin_lock_irq(&current->pi_lock);
set_current_state(TASK_FROZEN);
+ /* unstale saved_state so that __thaw_task() will wake us up */
+ current->saved_state = TASK_RUNNING;
+ raw_spin_unlock_irq(&current->pi_lock);
spin_lock_irq(&freezer_lock);
freeze = freezing(current) && !(check_kthr_stop && kthread_should_stop());
@@ -133,6 +137,7 @@ static int __set_task_frozen(struct task_struct *p, void *arg)
WARN_ON_ONCE(debug_locks && p->lockdep_depth);
#endif
+ p->saved_state = p->__state;
WRITE_ONCE(p->__state, TASK_FROZEN);
return TASK_FROZEN;
}
@@ -174,42 +179,34 @@ bool freeze_task(struct task_struct *p)
}
/*
- * The special task states (TASK_STOPPED, TASK_TRACED) keep their canonical
- * state in p->jobctl. If either of them got a wakeup that was missed because
- * TASK_FROZEN, then their canonical state reflects that and the below will
- * refuse to restore the special state and instead issue the wakeup.
+ * Restore the saved_state before the task entered freezer. For typical task
+ * in the __refrigerator(), saved_state == TASK_RUNNING so nothing happens
+ * here. For tasks which were TASK_NORMAL | TASK_FREEZABLE, their initial state
+ * is restored unless they got an expected wakeup (see ttwu_state_match()).
+ * Returns 1 if the task state was restored.
*/
-static int __set_task_special(struct task_struct *p, void *arg)
+static int __restore_freezer_state(struct task_struct *p, void *arg)
{
- unsigned int state = 0;
+ unsigned int state = p->saved_state;
- if (p->jobctl & JOBCTL_TRACED)
- state = TASK_TRACED;
-
- else if (p->jobctl & JOBCTL_STOPPED)
- state = TASK_STOPPED;
-
- if (state)
+ if (state != TASK_RUNNING) {
WRITE_ONCE(p->__state, state);
+ return 1;
+ }
- return state;
+ return 0;
}
void __thaw_task(struct task_struct *p)
{
- unsigned long flags, flags2;
+ unsigned long flags;
spin_lock_irqsave(&freezer_lock, flags);
if (WARN_ON_ONCE(freezing(p)))
goto unlock;
- if (lock_task_sighand(p, &flags2)) {
- /* TASK_FROZEN -> TASK_{STOPPED,TRACED} */
- bool ret = task_call_func(p, __set_task_special, NULL);
- unlock_task_sighand(p, &flags2);
- if (ret)
- goto unlock;
- }
+ if (task_call_func(p, __restore_freezer_state, NULL))
+ goto unlock;
wake_up_state(p, TASK_FROZEN);
unlock:
diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh
index 473036b43c83..bb8945ca53cd 100755
--- a/kernel/gen_kheaders.sh
+++ b/kernel/gen_kheaders.sh
@@ -66,7 +66,7 @@ if [ "$building_out_of_srctree" ]; then
cd $srctree
for f in $dir_list
do find "$f" -name "*.h";
- done | cpio --quiet -pd $cpio_dir
+ done | cpio --quiet -L -pd $cpio_dir
)
fi
@@ -74,7 +74,7 @@ fi
# of tree builds having stale headers in srctree. Just silence CPIO for now.
for f in $dir_list;
do find "$f" -name "*.h";
-done | cpio --quiet -pdu $cpio_dir >/dev/null 2>&1
+done | cpio --quiet -L -pdu $cpio_dir >/dev/null 2>&1
# Remove comments except SDPX lines
find $cpio_dir -type f -print0 |
diff --git a/kernel/locking/mutex.c b/kernel/locking/mutex.c
index 4ff70da18e3c..525648da693f 100644
--- a/kernel/locking/mutex.c
+++ b/kernel/locking/mutex.c
@@ -556,8 +556,10 @@ static noinline void __sched __mutex_unlock_slowpath(struct mutex *lock, unsigne
void __sched mutex_unlock(struct mutex *lock)
{
#ifndef CONFIG_DEBUG_LOCK_ALLOC
- if (__mutex_unlock_fast(lock))
+ if (__mutex_unlock_fast(lock)) {
+ trace_android_vh_record_mutex_lock_starttime(current, 0);
return;
+ }
#endif
__mutex_unlock_slowpath(lock, _RET_IP_);
trace_android_vh_record_mutex_lock_starttime(current, 0);
diff --git a/kernel/locking/percpu-rwsem.c b/kernel/locking/percpu-rwsem.c
index 084aedde3d0f..549da829c954 100644
--- a/kernel/locking/percpu-rwsem.c
+++ b/kernel/locking/percpu-rwsem.c
@@ -26,6 +26,20 @@ void _trace_android_vh_record_pcpu_rwsem_starttime(struct task_struct *tsk,
}
EXPORT_SYMBOL_GPL(_trace_android_vh_record_pcpu_rwsem_starttime);
+/*
+ * trace_android_vh_record_pcpu_rwsem_time_early is called in
+ * include/linux/percpu-rwsem.h by including include/hooks/dtask.h, which
+ * will result to build-err. So we create
+ * func: _trace_android_vh_record_pcpu_rwsem_time_early for percpu-rwsem.h to call.
+*/
+
+void _trace_android_vh_record_pcpu_rwsem_time_early(
+ unsigned long settime, struct percpu_rw_semaphore *sem)
+{
+ trace_android_vh_record_pcpu_rwsem_time_early(settime, sem);
+}
+EXPORT_SYMBOL_GPL(_trace_android_vh_record_pcpu_rwsem_time_early);
+
int __percpu_init_rwsem(struct percpu_rw_semaphore *sem,
const char *name, struct lock_class_key *key)
{
@@ -167,6 +181,7 @@ static void percpu_rwsem_wait(struct percpu_rw_semaphore *sem, bool reader)
if (wait) {
wq_entry.flags |= WQ_FLAG_EXCLUSIVE | reader * WQ_FLAG_CUSTOM;
__add_wait_queue_entry_tail(&sem->waiters, &wq_entry);
+ trace_android_vh_percpu_rwsem_wq_add(sem, reader);
}
spin_unlock_irq(&sem->waiters.lock);
@@ -242,6 +257,8 @@ void __sched percpu_down_write(struct percpu_rw_semaphore *sem)
rwsem_acquire(&sem->dep_map, 0, 0, _RET_IP_);
trace_contention_begin(sem, LCB_F_PERCPU | LCB_F_WRITE);
+ trace_android_vh_record_pcpu_rwsem_time_early(jiffies, sem);
+
/* Notify readers to take the slow path. */
rcu_sync_enter(&sem->rss);
@@ -294,6 +311,7 @@ void percpu_up_write(struct percpu_rw_semaphore *sem)
* exclusive write lock because its counting.
*/
rcu_sync_exit(&sem->rss);
+ trace_android_vh_record_pcpu_rwsem_time_early(0, sem);
trace_android_vh_record_pcpu_rwsem_starttime(current, 0);
}
EXPORT_SYMBOL_GPL(percpu_up_write);
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 229ce6bc7d62..351716fe9138 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -327,6 +327,11 @@ static __always_inline bool unlock_rt_mutex_safe(struct rt_mutex_base *lock,
static __always_inline int __waiter_prio(struct task_struct *task)
{
int prio = task->prio;
+ int waiter_prio = 0;
+
+ trace_android_vh_rtmutex_waiter_prio(task, &waiter_prio);
+ if (waiter_prio > 0)
+ return waiter_prio;
if (!rt_prio(prio))
return DEFAULT_PRIO;
@@ -1151,6 +1156,7 @@ static int __sched task_blocks_on_rt_mutex(struct rt_mutex_base *lock,
if (owner == task && !(build_ww_mutex() && ww_ctx))
return -EDEADLK;
+ trace_android_vh_task_blocks_on_rtmutex(lock, waiter, task, ww_ctx, &chwalk);
raw_spin_lock(&task->pi_lock);
waiter->task = task;
waiter->lock = lock;
diff --git a/kernel/locking/rwsem.c b/kernel/locking/rwsem.c
index 1988ac0dc3b3..aa85792d352e 100644
--- a/kernel/locking/rwsem.c
+++ b/kernel/locking/rwsem.c
@@ -1078,6 +1078,8 @@ queue:
raw_spin_unlock_irq(&sem->wait_lock);
rwsem_set_reader_owned(sem);
lockevent_inc(rwsem_rlock_fast);
+ trace_android_vh_record_rwsem_lock_starttime(
+ current, jiffies);
return sem;
}
adjustment += RWSEM_FLAG_WAITERS;
diff --git a/kernel/module/Makefile b/kernel/module/Makefile
index a23e93c6ef10..5d9035643b9a 100644
--- a/kernel/module/Makefile
+++ b/kernel/module/Makefile
@@ -25,12 +25,12 @@ obj-$(CONFIG_MODULE_UNLOAD_TAINT_TRACKING) += tracking.o
# ANDROID: GKI: Generate headerfiles required for gki_module.o
#
# Dependencies on generated files need to be listed explicitly
-$(obj)/gki_module.o: $(obj)/gki_module_protected_exports.h \
- $(obj)/gki_module_unprotected.h
+$(obj)/gki_module.o: include/generated/gki_module_protected_exports.h \
+ include/generated/gki_module_unprotected.h
-ALL_KMI_SYMBOLS := all_kmi_symbols
+ALL_KMI_SYMBOLS := include/config/abi_gki_kmi_symbols
-$(obj)/gki_module_unprotected.h: $(ALL_KMI_SYMBOLS) \
+include/generated/gki_module_unprotected.h: $(ALL_KMI_SYMBOLS) \
$(srctree)/scripts/gen_gki_modules_headers.sh
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/gen_gki_modules_headers.sh $@ \
"$(srctree)" \
@@ -48,7 +48,7 @@ else
ABI_PROTECTED_EXPORTS_FILE := $(wildcard $(srctree)/android/abi_gki_protected_exports_$(ARCH))
endif
-$(obj)/gki_module_protected_exports.h: $(ABI_PROTECTED_EXPORTS_FILE) \
+include/generated/gki_module_protected_exports.h: $(ABI_PROTECTED_EXPORTS_FILE) \
$(srctree)/scripts/gen_gki_modules_headers.sh
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/gen_gki_modules_headers.sh $@ \
"$(srctree)" \
diff --git a/kernel/module/gki_module.c b/kernel/module/gki_module.c
index 4f124f9a14ec..65a2883b539e 100644
--- a/kernel/module/gki_module.c
+++ b/kernel/module/gki_module.c
@@ -16,8 +16,8 @@
* gki_module_protected_exports.h -- Symbols protected from _export_ by unsigned modules
* gki_module_unprotected.h -- Symbols allowed to _access_ by unsigned modules
*/
-#include "gki_module_protected_exports.h"
-#include "gki_module_unprotected.h"
+#include <generated/gki_module_protected_exports.h>
+#include <generated/gki_module_unprotected.h>
#define MAX_STRCMP_LEN (max(MAX_UNPROTECTED_NAME_LEN, MAX_PROTECTED_EXPORTS_NAME_LEN))
diff --git a/kernel/printk/printk_ringbuffer.c b/kernel/printk/printk_ringbuffer.c
index 2b7b6ddab4f7..0bbcd1344f21 100644
--- a/kernel/printk/printk_ringbuffer.c
+++ b/kernel/printk/printk_ringbuffer.c
@@ -1735,7 +1735,7 @@ static bool copy_data(struct prb_data_ring *data_ring,
if (!buf || !buf_size)
return true;
- data_size = min_t(u16, buf_size, len);
+ data_size = min_t(unsigned int, buf_size, len);
memcpy(&buf[0], data, data_size); /* LMM(copy_data:A) */
return true;
diff --git a/kernel/relay.c b/kernel/relay.c
index 28fbe2d1e54c..d9c2e4fa805b 100644
--- a/kernel/relay.c
+++ b/kernel/relay.c
@@ -989,7 +989,8 @@ static size_t relay_file_read_start_pos(struct rchan_buf *buf)
size_t subbuf_size = buf->chan->subbuf_size;
size_t n_subbufs = buf->chan->n_subbufs;
size_t consumed = buf->subbufs_consumed % n_subbufs;
- size_t read_pos = consumed * subbuf_size + buf->bytes_consumed;
+ size_t read_pos = (consumed * subbuf_size + buf->bytes_consumed)
+ % (n_subbufs * subbuf_size);
read_subbuf = read_pos / subbuf_size;
padding = buf->padding[read_subbuf];
diff --git a/kernel/sched/OWNERS b/kernel/sched/OWNERS
deleted file mode 100644
index 09a9f8e85576..000000000000
--- a/kernel/sched/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-connoro@google.com
-elavila@google.com
-qperret@google.com
-tkjos@google.com
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 52e3a26643af..16941a9cb5a9 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1880,10 +1880,16 @@ done:
#endif
static int uclamp_validate(struct task_struct *p,
- const struct sched_attr *attr)
+ const struct sched_attr *attr, bool user)
{
int util_min = p->uclamp_req[UCLAMP_MIN].value;
int util_max = p->uclamp_req[UCLAMP_MAX].value;
+ bool done = false;
+ int ret = 0;
+
+ trace_android_vh_uclamp_validate(p, attr, user, &ret, &done);
+ if (done)
+ return ret;
if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN) {
util_min = attr->sched_util_min;
@@ -1905,11 +1911,19 @@ static int uclamp_validate(struct task_struct *p,
/*
* We have valid uclamp attributes; make sure uclamp is enabled.
*
- * We need to do that here, because enabling static branches is a
- * blocking operation which obviously cannot be done while holding
+ * We need to do that here, because enabling static branches is
+ * a blocking operation which obviously cannot be done while holding
* scheduler locks.
- */
- static_branch_enable(&sched_uclamp_used);
+ *
+ * We only enable the static key if this was initiated by user space
+ * request. There should be no in-kernel users of uclamp except to
+ * implement things like inheritance like in binder. These in-kernel
+ * callers can rightfully be called be sometimes in_atomic() context
+ * which is invalid context to enable the key in. The enabling path
+ * unconditionally holds the cpus_read_lock() which might_sleep().
+ */
+ if (user)
+ static_branch_enable(&sched_uclamp_used);
return 0;
}
@@ -2050,7 +2064,7 @@ static void __init init_uclamp(void)
static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p) { }
static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) { }
static inline int uclamp_validate(struct task_struct *p,
- const struct sched_attr *attr)
+ const struct sched_attr *attr, bool user)
{
return -EOPNOTSUPP;
}
@@ -2235,6 +2249,149 @@ void check_preempt_curr(struct rq *rq, struct task_struct *p, int flags)
}
EXPORT_SYMBOL_GPL(check_preempt_curr);
+static __always_inline
+int __task_state_match(struct task_struct *p, unsigned int state)
+{
+ if (READ_ONCE(p->__state) & state)
+ return 1;
+
+ if (READ_ONCE(p->saved_state) & state)
+ return -1;
+
+ return 0;
+}
+
+static __always_inline
+int task_state_match(struct task_struct *p, unsigned int state)
+{
+ int match;
+
+ /*
+ * Serialize against current_save_and_set_rtlock_wait_state(),
+ * current_restore_rtlock_saved_state(), and __refrigerator().
+ */
+ raw_spin_lock_irq(&p->pi_lock);
+ match = __task_state_match(p, state);
+ raw_spin_unlock_irq(&p->pi_lock);
+
+ return match;
+}
+
+/*
+ * wait_task_inactive - wait for a thread to unschedule.
+ *
+ * Wait for the thread to block in any of the states set in @match_state.
+ * If it changes, i.e. @p might have woken up, then return zero. When we
+ * succeed in waiting for @p to be off its CPU, we return a positive number
+ * (its total switch count). If a second call a short while later returns the
+ * same number, the caller can be sure that @p has remained unscheduled the
+ * whole time.
+ *
+ * The caller must ensure that the task *will* unschedule sometime soon,
+ * else this function might spin for a *long* time. This function can't
+ * be called with interrupts off, or it may introduce deadlock with
+ * smp_call_function() if an IPI is sent by the same process we are
+ * waiting to become inactive.
+ */
+unsigned long wait_task_inactive(struct task_struct *p, unsigned int match_state)
+{
+ int running, queued, match;
+ struct rq_flags rf;
+ unsigned long ncsw;
+ struct rq *rq;
+
+ for (;;) {
+ /*
+ * We do the initial early heuristics without holding
+ * any task-queue locks at all. We'll only try to get
+ * the runqueue lock when things look like they will
+ * work out!
+ */
+ rq = task_rq(p);
+
+ /*
+ * If the task is actively running on another CPU
+ * still, just relax and busy-wait without holding
+ * any locks.
+ *
+ * NOTE! Since we don't hold any locks, it's not
+ * even sure that "rq" stays as the right runqueue!
+ * But we don't care, since "task_on_cpu()" will
+ * return false if the runqueue has changed and p
+ * is actually now running somewhere else!
+ */
+ while (task_on_cpu(rq, p)) {
+ if (!task_state_match(p, match_state))
+ return 0;
+ cpu_relax();
+ }
+
+ /*
+ * Ok, time to look more closely! We need the rq
+ * lock now, to be *sure*. If we're wrong, we'll
+ * just go back and repeat.
+ */
+ rq = task_rq_lock(p, &rf);
+ trace_sched_wait_task(p);
+ running = task_on_cpu(rq, p);
+ queued = task_on_rq_queued(p);
+ ncsw = 0;
+ if ((match = __task_state_match(p, match_state))) {
+ /*
+ * When matching on p->saved_state, consider this task
+ * still queued so it will wait.
+ */
+ if (match < 0)
+ queued = 1;
+ ncsw = p->nvcsw | LONG_MIN; /* sets MSB */
+ }
+ task_rq_unlock(rq, p, &rf);
+
+ /*
+ * If it changed from the expected state, bail out now.
+ */
+ if (unlikely(!ncsw))
+ break;
+
+ /*
+ * Was it really running after all now that we
+ * checked with the proper locks actually held?
+ *
+ * Oops. Go back and try again..
+ */
+ if (unlikely(running)) {
+ cpu_relax();
+ continue;
+ }
+
+ /*
+ * It's not enough that it's not actively running,
+ * it must be off the runqueue _entirely_, and not
+ * preempted!
+ *
+ * So if it was still runnable (but just not actively
+ * running right now), it's preempted, and we should
+ * yield - it could be a while.
+ */
+ if (unlikely(queued)) {
+ ktime_t to = NSEC_PER_SEC / HZ;
+
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_hrtimeout(&to, HRTIMER_MODE_REL_HARD);
+ continue;
+ }
+
+ /*
+ * Ahh, all good. It wasn't running, and it wasn't
+ * runnable, which means that it will never become
+ * running in the future either. We're all done!
+ */
+ break;
+ }
+
+ return ncsw;
+}
+
#ifdef CONFIG_SMP
static void
@@ -2588,6 +2745,7 @@ out_unlock:
put_task_struct(p);
return 0;
}
+EXPORT_SYMBOL_GPL(push_cpu_stop);
/*
* sched_class::set_cpus_allowed must do the below, but is not required to
@@ -3348,114 +3506,6 @@ out:
}
EXPORT_SYMBOL_GPL(migrate_swap);
-/*
- * wait_task_inactive - wait for a thread to unschedule.
- *
- * Wait for the thread to block in any of the states set in @match_state.
- * If it changes, i.e. @p might have woken up, then return zero. When we
- * succeed in waiting for @p to be off its CPU, we return a positive number
- * (its total switch count). If a second call a short while later returns the
- * same number, the caller can be sure that @p has remained unscheduled the
- * whole time.
- *
- * The caller must ensure that the task *will* unschedule sometime soon,
- * else this function might spin for a *long* time. This function can't
- * be called with interrupts off, or it may introduce deadlock with
- * smp_call_function() if an IPI is sent by the same process we are
- * waiting to become inactive.
- */
-unsigned long wait_task_inactive(struct task_struct *p, unsigned int match_state)
-{
- int running, queued;
- struct rq_flags rf;
- unsigned long ncsw;
- struct rq *rq;
-
- for (;;) {
- /*
- * We do the initial early heuristics without holding
- * any task-queue locks at all. We'll only try to get
- * the runqueue lock when things look like they will
- * work out!
- */
- rq = task_rq(p);
-
- /*
- * If the task is actively running on another CPU
- * still, just relax and busy-wait without holding
- * any locks.
- *
- * NOTE! Since we don't hold any locks, it's not
- * even sure that "rq" stays as the right runqueue!
- * But we don't care, since "task_on_cpu()" will
- * return false if the runqueue has changed and p
- * is actually now running somewhere else!
- */
- while (task_on_cpu(rq, p)) {
- if (!(READ_ONCE(p->__state) & match_state))
- return 0;
- cpu_relax();
- }
-
- /*
- * Ok, time to look more closely! We need the rq
- * lock now, to be *sure*. If we're wrong, we'll
- * just go back and repeat.
- */
- rq = task_rq_lock(p, &rf);
- trace_sched_wait_task(p);
- running = task_on_cpu(rq, p);
- queued = task_on_rq_queued(p);
- ncsw = 0;
- if (READ_ONCE(p->__state) & match_state)
- ncsw = p->nvcsw | LONG_MIN; /* sets MSB */
- task_rq_unlock(rq, p, &rf);
-
- /*
- * If it changed from the expected state, bail out now.
- */
- if (unlikely(!ncsw))
- break;
-
- /*
- * Was it really running after all now that we
- * checked with the proper locks actually held?
- *
- * Oops. Go back and try again..
- */
- if (unlikely(running)) {
- cpu_relax();
- continue;
- }
-
- /*
- * It's not enough that it's not actively running,
- * it must be off the runqueue _entirely_, and not
- * preempted!
- *
- * So if it was still runnable (but just not actively
- * running right now), it's preempted, and we should
- * yield - it could be a while.
- */
- if (unlikely(queued)) {
- ktime_t to = NSEC_PER_SEC / HZ;
-
- set_current_state(TASK_UNINTERRUPTIBLE);
- schedule_hrtimeout(&to, HRTIMER_MODE_REL_HARD);
- continue;
- }
-
- /*
- * Ahh, all good. It wasn't running, and it wasn't
- * runnable, which means that it will never become
- * running in the future either. We're all done!
- */
- break;
- }
-
- return ncsw;
-}
-
/***
* kick_process - kick a running thread to enter/exit the kernel
* @p: the to-be-kicked thread
@@ -3993,34 +4043,37 @@ static void ttwu_queue(struct task_struct *p, int cpu, int wake_flags)
* The caller holds p::pi_lock if p != current or has preemption
* disabled when p == current.
*
- * The rules of PREEMPT_RT saved_state:
+ * The rules of saved_state:
*
* The related locking code always holds p::pi_lock when updating
* p::saved_state, which means the code is fully serialized in both cases.
*
- * The lock wait and lock wakeups happen via TASK_RTLOCK_WAIT. No other
- * bits set. This allows to distinguish all wakeup scenarios.
+ * For PREEMPT_RT, the lock wait and lock wakeups happen via TASK_RTLOCK_WAIT.
+ * No other bits set. This allows to distinguish all wakeup scenarios.
+ *
+ * For FREEZER, the wakeup happens via TASK_FROZEN. No other bits set. This
+ * allows us to prevent early wakeup of tasks before they can be run on
+ * asymmetric ISA architectures (eg ARMv9).
*/
static __always_inline
bool ttwu_state_match(struct task_struct *p, unsigned int state, int *success)
{
+ int match;
+
if (IS_ENABLED(CONFIG_DEBUG_PREEMPT)) {
WARN_ON_ONCE((state & TASK_RTLOCK_WAIT) &&
state != TASK_RTLOCK_WAIT);
}
- if (READ_ONCE(p->__state) & state) {
- *success = 1;
- return true;
- }
+ *success = !!(match = __task_state_match(p, state));
-#ifdef CONFIG_PREEMPT_RT
/*
* Saved state preserves the task state across blocking on
- * an RT lock. If the state matches, set p::saved_state to
- * TASK_RUNNING, but do not wake the task because it waits
- * for a lock wakeup. Also indicate success because from
- * the regular waker's point of view this has succeeded.
+ * an RT lock or TASK_FREEZABLE tasks. If the state matches,
+ * set p::saved_state to TASK_RUNNING, but do not wake the task
+ * because it waits for a lock wakeup or __thaw_task(). Also
+ * indicate success because from the regular waker's point of
+ * view this has succeeded.
*
* After acquiring the lock the task will restore p::__state
* from p::saved_state which ensures that the regular
@@ -4028,12 +4081,10 @@ bool ttwu_state_match(struct task_struct *p, unsigned int state, int *success)
* p::saved_state to TASK_RUNNING so any further tests will
* not result in false positives vs. @success
*/
- if (p->saved_state & state) {
+ if (match < 0)
p->saved_state = TASK_RUNNING;
- *success = 1;
- }
-#endif
- return false;
+
+ return match > 0;
}
/*
@@ -4455,6 +4506,7 @@ int wake_up_state(struct task_struct *p, unsigned int state)
{
return try_to_wake_up(p, state, 0);
}
+EXPORT_SYMBOL(wake_up_state);
/*
* Perform scheduler related setup for a newly forked process p.
@@ -5364,6 +5416,7 @@ unsigned int nr_running(void)
return sum;
}
+EXPORT_SYMBOL(nr_running);
/*
* Check if only the current task is running on the CPU.
@@ -6638,7 +6691,7 @@ static void __sched notrace __schedule(unsigned int sched_mode)
rq->last_seen_need_resched_ns = 0;
#endif
- trace_android_rvh_schedule(prev, next, rq);
+ trace_android_rvh_schedule(sched_mode, prev, next, rq);
if (likely(prev != next)) {
rq->nr_switches++;
/*
@@ -7043,15 +7096,17 @@ void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task)
const struct sched_class *prev_class;
struct rq_flags rf;
struct rq *rq;
+ int update = 0;
trace_android_rvh_rtmutex_prepare_setprio(p, pi_task);
/* XXX used to be waiter->prio, not waiter->task->prio */
prio = __rt_effective_prio(pi_task, p->normal_prio);
+ trace_android_rvh_rtmutex_force_update(p, pi_task, &update);
/*
* If nothing changed; bail early.
*/
- if (p->pi_top_task == pi_task && prio == p->prio && !dl_prio(prio))
+ if (!update && p->pi_top_task == pi_task && prio == p->prio && !dl_prio(prio))
return;
rq = __task_rq_lock(p, &rf);
@@ -7071,7 +7126,7 @@ void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task)
/*
* For FIFO/RR we only need to set prio, if that matches we're done.
*/
- if (prio == p->prio && !dl_prio(prio))
+ if (!update && prio == p->prio && !dl_prio(prio))
goto out_unlock;
/*
@@ -7644,7 +7699,7 @@ recheck:
/* Update task specific "requested" clamps */
if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP) {
- retval = uclamp_validate(p, attr);
+ retval = uclamp_validate(p, attr, user);
if (retval)
return retval;
}
@@ -8446,6 +8501,11 @@ static void do_sched_yield(void)
{
struct rq_flags rf;
struct rq *rq;
+ long skip = 0;
+
+ trace_android_rvh_before_do_sched_yield(&skip);
+ if (skip)
+ return;
rq = this_rq_lock_irq(&rf);
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index 042e5ad60843..bf0426428915 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -603,6 +603,7 @@ static int sugov_kthread_create(struct sugov_policy *sg_policy)
if (policy->fast_switch_enabled)
return 0;
+ trace_android_vh_set_sugov_sched_attr(&attr);
kthread_init_work(&sg_policy->work, sugov_work);
kthread_init_worker(&sg_policy->worker);
thread = kthread_create(kthread_worker_fn, &sg_policy->worker,
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index 9ae8f41e3372..f7d381b6c313 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -2246,6 +2246,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq)
!cpumask_test_cpu(later_rq->cpu, &task->cpus_mask) ||
task_on_cpu(rq, task) ||
!dl_task(task) ||
+ is_migration_disabled(task) ||
!task_on_rq_queued(task))) {
double_unlock_balance(rq, later_rq);
later_rq = NULL;
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 06e8f15819dd..fddd87c38cf3 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -3350,6 +3350,7 @@ void reweight_task(struct task_struct *p, int prio)
reweight_entity(cfs_rq, se, weight);
load->inv_weight = sched_prio_to_wmult[prio];
}
+EXPORT_SYMBOL_GPL(reweight_task);
static inline int throttled_hierarchy(struct cfs_rq *cfs_rq);
@@ -4128,6 +4129,8 @@ static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s
else
se->avg.load_sum = 1;
+ trace_android_rvh_attach_entity_load_avg(cfs_rq, se);
+
enqueue_load_avg(cfs_rq, se);
cfs_rq->avg.util_avg += se->avg.util_avg;
cfs_rq->avg.util_sum += se->avg.util_sum;
@@ -4151,6 +4154,8 @@ static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s
*/
static void detach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
{
+ trace_android_rvh_detach_entity_load_avg(cfs_rq, se);
+
dequeue_load_avg(cfs_rq, se);
sub_positive(&cfs_rq->avg.util_avg, se->avg.util_avg);
sub_positive(&cfs_rq->avg.util_sum, se->avg.util_sum);
@@ -4195,6 +4200,8 @@ static inline void update_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s
decayed = update_cfs_rq_load_avg(now, cfs_rq);
decayed |= propagate_entity_load_avg(se);
+ trace_android_rvh_update_load_avg(now, cfs_rq, se);
+
if (!se->avg.last_update_time && (flags & DO_ATTACH)) {
/*
@@ -4252,6 +4259,8 @@ static void remove_entity_load_avg(struct sched_entity *se)
sync_entity_load_avg(se);
+ trace_android_rvh_remove_entity_load_avg(cfs_rq, se);
+
raw_spin_lock_irqsave(&cfs_rq->removed.lock, flags);
++cfs_rq->removed.nr;
cfs_rq->removed.util_avg += se->avg.util_avg;
@@ -6129,6 +6138,7 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
struct sched_entity *se = &p->se;
int idle_h_nr_running = task_has_idle_policy(p);
int task_new = !(flags & ENQUEUE_WAKEUP);
+ int should_iowait_boost;
/*
* The code below (indirectly) updates schedutil which looks at
@@ -6143,7 +6153,9 @@ enqueue_task_fair(struct rq *rq, struct task_struct *p, int flags)
* utilization updates, so do it here explicitly with the IOWAIT flag
* passed.
*/
- if (p->in_iowait)
+ should_iowait_boost = p->in_iowait;
+ trace_android_rvh_set_iowait(p, rq, &should_iowait_boost);
+ if (should_iowait_boost)
cpufreq_update_util(rq, SCHED_CPUFREQ_IOWAIT);
for_each_sched_entity(se) {
@@ -8752,6 +8764,8 @@ static bool __update_blocked_fair(struct rq *rq, bool *done)
bool decayed = false;
int cpu = cpu_of(rq);
+ trace_android_rvh_update_blocked_fair(rq);
+
/*
* Iterates the task_group tree in a bottom up fashion, see
* list_add_leaf_cfs_rq() for details.
diff --git a/kernel/sched/pelt.c b/kernel/sched/pelt.c
index a005458373be..c1c84f5a3c03 100644
--- a/kernel/sched/pelt.c
+++ b/kernel/sched/pelt.c
@@ -176,7 +176,7 @@ accumulate_sum(u64 delta, struct sched_avg *sa,
* load_avg = u_0` + y*(u_0 + u_1*y + u_2*y^2 + ... )
* = u_0 + u_1*y + u_2*y^2 + ... [re-labeling u_i --> u_{i+1}]
*/
-static __always_inline int
+int
___update_load_sum(u64 now, struct sched_avg *sa,
unsigned long load, unsigned long runnable, int running)
{
@@ -228,6 +228,7 @@ ___update_load_sum(u64 now, struct sched_avg *sa,
return 1;
}
+EXPORT_SYMBOL_GPL(___update_load_sum);
/*
* When syncing *_avg with *_sum, we must take into account the current
@@ -253,7 +254,7 @@ ___update_load_sum(u64 now, struct sched_avg *sa,
* the period_contrib of cfs_rq when updating the sched_avg of a sched_entity
* if it's more convenient.
*/
-static __always_inline void
+void
___update_load_avg(struct sched_avg *sa, unsigned long load)
{
u32 divider = get_pelt_divider(sa);
@@ -265,6 +266,7 @@ ___update_load_avg(struct sched_avg *sa, unsigned long load)
sa->runnable_avg = div_u64(sa->runnable_sum, divider);
WRITE_ONCE(sa->util_avg, sa->util_sum / divider);
}
+EXPORT_SYMBOL_GPL(___update_load_avg);
/*
* sched_entity:
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index b55c5221fc4c..d8f751beb7dc 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -1848,6 +1848,7 @@ static inline void set_next_task_rt(struct rq *rq, struct task_struct *p, bool f
*/
if (rq->curr->sched_class != &rt_sched_class)
update_rt_rq_load_avg(rq_clock_pelt(rq), rq, 0);
+ trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 0);
rt_queue_push_tasks(rq);
}
@@ -1918,6 +1919,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
update_curr_rt(rq);
update_rt_rq_load_avg(rq_clock_pelt(rq), rq, 1);
+ trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 1);
/*
* The previous task needs to be made eligible for pushing
@@ -2096,11 +2098,15 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, struct rq *rq)
* the mean time, task could have
* migrated already or had its affinity changed.
* Also make sure that it wasn't scheduled on its rq.
+ * It is possible the task was scheduled, set
+ * "migrate_disabled" and then got preempted, so we must
+ * check the task migration disable flag here too.
*/
if (unlikely(task_rq(task) != rq ||
!cpumask_test_cpu(lowest_rq->cpu, &task->cpus_mask) ||
task_on_cpu(rq, task) ||
!rt_task(task) ||
+ is_migration_disabled(task) ||
!task_on_rq_queued(task))) {
double_unlock_balance(rq, lowest_rq);
@@ -2737,6 +2743,7 @@ static void task_tick_rt(struct rq *rq, struct task_struct *p, int queued)
update_curr_rt(rq);
update_rt_rq_load_avg(rq_clock_pelt(rq), rq, 1);
+ trace_android_rvh_update_rt_rq_load_avg(rq_clock_pelt(rq), rq, p, 1);
watchdog(rq, p);
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index c480058808bc..b60c3e178c31 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -6,6 +6,9 @@
#include <trace/hooks/sched.h>
DEFINE_MUTEX(sched_domains_mutex);
+#ifdef CONFIG_LOCKDEP
+EXPORT_SYMBOL_GPL(sched_domains_mutex);
+#endif
/* Protected by sched_domains_mutex: */
static cpumask_var_t sched_domains_tmpmask;
diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c
index e1e2601fd84f..9a8f2c3b2758 100644
--- a/kernel/sched/vendor_hooks.c
+++ b/kernel/sched/vendor_hooks.c
@@ -22,6 +22,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_can_migrate_task);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_lowest_rq);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_prepare_prio_fork);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_finish_prio_fork);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rtmutex_force_update);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_rtmutex_prepare_setprio);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_user_nice);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_setscheduler);
@@ -75,6 +76,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_is_cpu_allowed);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_get_nohz_timer_target);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_getaffinity);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_do_sched_yield);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_before_do_sched_yield);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_sched_fork_init);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_ttwu_cond);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_schedule_bug);
@@ -97,3 +99,12 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_irqtime_account_process_tick);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_post_init_entity_util_avg);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_effective_cpu_util);
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmput);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_uclamp_validate);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_sugov_sched_attr);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_iowait);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_attach_entity_load_avg);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_detach_entity_load_avg);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_load_avg);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_remove_entity_load_avg);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_blocked_fair);
+EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_rt_rq_load_avg);
diff --git a/kernel/signal.c b/kernel/signal.c
index 95d48c43fd9e..2f90f315ec1b 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -45,6 +45,7 @@
#include <linux/posix-timers.h>
#include <linux/cgroup.h>
#include <linux/audit.h>
+#include <linux/oom.h>
#define CREATE_TRACE_POINTS
#include <trace/events/signal.h>
@@ -58,6 +59,7 @@
#undef CREATE_TRACE_POINTS
#include <trace/hooks/signal.h>
+#include <trace/hooks/dtask.h>
/*
* SLAB caches for signal bits.
*/
@@ -1001,6 +1003,7 @@ static void complete_signal(int sig, struct task_struct *p, enum pid_type type)
{
struct signal_struct *signal = p->signal;
struct task_struct *t;
+ bool wake;
/*
* Now find a thread we can wake up to take the signal off the queue.
@@ -1060,7 +1063,10 @@ static void complete_signal(int sig, struct task_struct *p, enum pid_type type)
trace_android_vh_exit_signal(t);
task_clear_jobctl_pending(t, JOBCTL_PENDING_MASK);
sigaddset(&t->pending.signal, SIGKILL);
- signal_wake_up(t, 1);
+ wake = true;
+ trace_android_vh_exit_signal_whether_wake(t, &wake);
+ if (wake)
+ signal_wake_up(t, 1);
} while_each_thread(p, t);
return;
}
@@ -1443,8 +1449,16 @@ int group_send_sig_info(int sig, struct kernel_siginfo *info,
ret = check_kill_permission(sig, info, p);
rcu_read_unlock();
- if (!ret && sig)
+ if (!ret && sig) {
ret = do_send_sig_info(sig, info, p, type);
+ if (!ret && sig == SIGKILL) {
+ bool reap = false;
+
+ trace_android_vh_killed_process(current, p, &reap);
+ if (reap)
+ add_to_oom_reaper(p);
+ }
+ }
return ret;
}
diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index ca65dbe98e51..b0a828f863c3 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -3189,7 +3189,7 @@ static inline int mas_rebalance(struct ma_state *mas,
* tries to combine the data in the same way. If one node contains the
* entire range of the tree, then that node is used as a new root node.
*/
- mas_node_count(mas, 1 + empty_count * 3);
+ mas_node_count(mas, empty_count * 2 - 1);
if (mas_is_err(mas))
return 0;
@@ -4322,11 +4322,13 @@ static inline void mas_wr_end_piv(struct ma_wr_state *wr_mas)
{
wr_mas->end_piv = wr_mas->r_max;
- while ((wr_mas->mas->last > wr_mas->end_piv) &&
- (wr_mas->offset_end < wr_mas->node_end))
- wr_mas->end_piv = wr_mas->pivots[++wr_mas->offset_end];
+ while ((wr_mas->offset_end < wr_mas->node_end) &&
+ (wr_mas->mas->last > wr_mas->pivots[wr_mas->offset_end]))
+ wr_mas->offset_end++;
- if (wr_mas->mas->last > wr_mas->end_piv)
+ if (wr_mas->offset_end < wr_mas->node_end)
+ wr_mas->end_piv = wr_mas->pivots[wr_mas->offset_end];
+ else
wr_mas->end_piv = wr_mas->mas->max;
if (!wr_mas->entry)
@@ -5607,20 +5609,34 @@ static inline void mte_destroy_walk(struct maple_enode *enode,
static void mas_wr_store_setup(struct ma_wr_state *wr_mas)
{
+ if (mas_is_start(wr_mas->mas))
+ return;
+
if (unlikely(mas_is_paused(wr_mas->mas)))
- mas_reset(wr_mas->mas);
+ goto reset;
- if (!mas_is_start(wr_mas->mas)) {
- if (mas_is_none(wr_mas->mas)) {
- mas_reset(wr_mas->mas);
- } else {
- wr_mas->r_max = wr_mas->mas->max;
- wr_mas->type = mte_node_type(wr_mas->mas->node);
- if (mas_is_span_wr(wr_mas))
- mas_reset(wr_mas->mas);
- }
- }
+ if (unlikely(mas_is_none(wr_mas->mas)))
+ goto reset;
+
+ /*
+ * A less strict version of mas_is_span_wr() where we allow spanning
+ * writes within this node. This is to stop partial walks in
+ * mas_prealloc() from being reset.
+ */
+ if (wr_mas->mas->last > wr_mas->mas->max)
+ goto reset;
+ if (wr_mas->entry)
+ return;
+
+ if (mte_is_leaf(wr_mas->mas->node) &&
+ wr_mas->mas->last == wr_mas->mas->max)
+ goto reset;
+
+ return;
+
+reset:
+ mas_reset(wr_mas->mas);
}
/* Interface */
@@ -5747,25 +5763,25 @@ int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)
mas_wr_end_piv(&wr_mas);
node_size = mas_wr_node_size(&wr_mas);
+ /* Slot store can avoid using any nodes */
+ if (node_size == wr_mas.node_end && wr_mas.offset_end - mas->offset == 1)
+ return 0;
+
if (node_size >= mt_slots[wr_mas.type]) {
- /* Slot store is possible in some cases */
- if ((node_size == mt_slots[wr_mas.type]) &&
- (wr_mas.r_min == mas->index || wr_mas.r_max == mas->last))
- goto ask_now;
/* Split, worst case for now. */
request = 1 + mas_mt_height(mas) * 2;
goto ask_now;
}
- /* New root needs a singe node */
- if (unlikely(mte_is_root(mas->node)))
- goto ask_now;
+ /* Appending does not need any nodes */
+ if (node_size == wr_mas.node_end + 1 && mas->offset == wr_mas.node_end)
+ return 0;
/* Potential spanning rebalance collapsing a node, use worst-case */
if (node_size - 1 <= mt_min_slots[wr_mas.type])
request = mas_mt_height(mas) * 2 - 1;
- /* node store, slot store needs one node */
+ /* node store needs one node */
ask_now:
mas_node_count_gfp(mas, request, gfp);
mas->mas_flags |= MA_STATE_PREALLOC;
diff --git a/mm/Kconfig b/mm/Kconfig
index a58632a9fbd9..985ed3d2adbd 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -1196,6 +1196,10 @@ config PER_VMA_LOCK
This feature allows locking each virtual memory area separately when
handling page faults instead of taking mmap_lock.
+config LOCK_MM_AND_FIND_VMA
+ bool
+ depends on !STACK_GROWSUP
+
source "mm/damon/Kconfig"
endmenu
diff --git a/mm/OWNERS b/mm/OWNERS
deleted file mode 100644
index 5f97cfd4bee5..000000000000
--- a/mm/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-kaleshsingh@google.com
-surenb@google.com
-minchan@google.com
diff --git a/mm/compaction.c b/mm/compaction.c
index 2d9bc2ebfadf..4fd76f427e29 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -49,6 +49,8 @@ static inline void count_compact_events(enum vm_event_item item, long delta)
#define CREATE_TRACE_POINTS
#include <trace/events/compaction.h>
+#undef CREATE_TRACE_POINTS
+#include <trace/hooks/compaction.h>
#define block_start_pfn(pfn, order) round_down(pfn, 1UL << (order))
#define block_end_pfn(pfn, order) ALIGN((pfn) + 1, 1UL << (order))
@@ -2655,7 +2657,7 @@ enum compact_result try_to_compact_pages(gfp_t gfp_mask, unsigned int order,
|| fatal_signal_pending(current))
break;
}
-
+ trace_android_vh_compaction_try_to_compact_pages_exit(&rc);
return rc;
}
@@ -2902,6 +2904,7 @@ static void kcompactd_do_work(pg_data_t *pgdat)
VM_BUG_ON(!list_empty(&cc.freepages));
VM_BUG_ON(!list_empty(&cc.migratepages));
}
+ trace_android_vh_compaction_exit(pgdat->node_id, cc.order, cc.highest_zoneidx);
/*
* Regardless of success, we are done until woken up next. But remember
diff --git a/mm/damon/vaddr.c b/mm/damon/vaddr.c
index 15f03df66db6..3036ebfcdd83 100644
--- a/mm/damon/vaddr.c
+++ b/mm/damon/vaddr.c
@@ -384,6 +384,7 @@ out:
static const struct mm_walk_ops damon_mkold_ops = {
.pmd_entry = damon_mkold_pmd_entry,
.hugetlb_entry = damon_mkold_hugetlb_entry,
+ .walk_lock = PGWALK_RDLOCK,
};
static void damon_va_mkold(struct mm_struct *mm, unsigned long addr)
@@ -521,6 +522,7 @@ out:
static const struct mm_walk_ops damon_young_ops = {
.pmd_entry = damon_young_pmd_entry,
.hugetlb_entry = damon_young_hugetlb_entry,
+ .walk_lock = PGWALK_RDLOCK,
};
static bool damon_va_young(struct mm_struct *mm, unsigned long addr,
diff --git a/mm/filemap.c b/mm/filemap.c
index 695d92428173..65bc874b7996 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1707,46 +1707,47 @@ static int __folio_lock_async(struct folio *folio, struct wait_page_queue *wait)
/*
* Return values:
- * true - folio is locked; mmap_lock is still held.
- * false - folio is not locked.
- * mmap_lock has been released (mmap_read_unlock(), unless flags had both
- * FAULT_FLAG_ALLOW_RETRY and FAULT_FLAG_RETRY_NOWAIT set, in
- * which case mmap_lock is still held.
+ * 0 - folio is locked.
+ * non-zero - folio is not locked.
+ * mmap_lock or per-VMA lock has been released (mmap_read_unlock() or
+ * vma_end_read()), unless flags had both FAULT_FLAG_ALLOW_RETRY and
+ * FAULT_FLAG_RETRY_NOWAIT set, in which case the lock is still held.
*
- * If neither ALLOW_RETRY nor KILLABLE are set, will always return true
- * with the folio locked and the mmap_lock unperturbed.
+ * If neither ALLOW_RETRY nor KILLABLE are set, will always return 0
+ * with the folio locked and the mmap_lock/per-VMA lock is left unperturbed.
*/
-bool __folio_lock_or_retry(struct folio *folio, struct mm_struct *mm,
- unsigned int flags)
+vm_fault_t __folio_lock_or_retry(struct folio *folio, struct vm_fault *vmf)
{
+ unsigned int flags = vmf->flags;
+
if (fault_flag_allow_retry_first(flags)) {
/*
- * CAUTION! In this case, mmap_lock is not released
- * even though return 0.
+ * CAUTION! In this case, mmap_lock/per-VMA lock is not
+ * released even though returning VM_FAULT_RETRY.
*/
if (flags & FAULT_FLAG_RETRY_NOWAIT)
- return false;
+ return VM_FAULT_RETRY;
- mmap_read_unlock(mm);
+ release_fault_lock(vmf);
if (flags & FAULT_FLAG_KILLABLE)
folio_wait_locked_killable(folio);
else
folio_wait_locked(folio);
- return false;
+ return VM_FAULT_RETRY;
}
if (flags & FAULT_FLAG_KILLABLE) {
bool ret;
ret = __folio_lock_killable(folio);
if (ret) {
- mmap_read_unlock(mm);
- return false;
+ release_fault_lock(vmf);
+ return VM_FAULT_RETRY;
}
} else {
__folio_lock(folio);
}
- return true;
+ return 0;
}
/**
diff --git a/mm/gup.c b/mm/gup.c
index 028f3b4e8c3f..f4911ddd3070 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -1182,7 +1182,7 @@ static long __get_user_pages(struct mm_struct *mm,
/* first iteration or cross vma bound */
if (!vma || start >= vma->vm_end) {
- vma = find_extend_vma(mm, start);
+ vma = vma_lookup(mm, start);
if (!vma && in_gate_area(mm, start)) {
ret = get_gate_page(mm, start & PAGE_MASK,
gup_flags, &vma,
@@ -1351,8 +1351,8 @@ int fixup_user_fault(struct mm_struct *mm,
fault_flags |= FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
retry:
- vma = find_extend_vma(mm, address);
- if (!vma || address < vma->vm_start)
+ vma = vma_lookup(mm, address);
+ if (!vma)
return -EFAULT;
if (!vma_permits_fault(vma, fault_flags))
diff --git a/mm/hmm.c b/mm/hmm.c
index 3850fb625dda..b69d1591e392 100644
--- a/mm/hmm.c
+++ b/mm/hmm.c
@@ -548,6 +548,7 @@ static const struct mm_walk_ops hmm_walk_ops = {
.pte_hole = hmm_vma_walk_hole,
.hugetlb_entry = hmm_vma_walk_hugetlb_entry,
.test_walk = hmm_vma_walk_test,
+ .walk_lock = PGWALK_RDLOCK,
};
/**
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 34d7816b13bc..4737d9fc505d 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4968,7 +4968,7 @@ int copy_hugetlb_page_range(struct mm_struct *dst, struct mm_struct *src,
src_vma->vm_start,
src_vma->vm_end);
mmu_notifier_invalidate_range_start(&range);
- mmap_assert_write_locked(src);
+ vma_assert_write_locked(src_vma);
raw_write_seqcount_begin(&src->write_protect_seq);
} else {
/*
@@ -6005,6 +6005,12 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
int need_wait_lock = 0;
unsigned long haddr = address & huge_page_mask(h);
+ /* TODO: Handle faults under the VMA lock */
+ if (flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+
ptep = huge_pte_offset(mm, haddr, huge_page_size(h));
if (ptep) {
/*
diff --git a/mm/internal.h b/mm/internal.h
index fe0925d7cbb5..0997c0c82c02 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -619,7 +619,7 @@ static inline struct file *maybe_unlock_mmap_for_io(struct vm_fault *vmf,
if (fault_flag_allow_retry_first(flags) &&
!(flags & FAULT_FLAG_RETRY_NOWAIT)) {
fpin = get_file(vmf->vma->vm_file);
- mmap_read_unlock(vmf->vma->vm_mm);
+ release_fault_lock(vmf);
}
return fpin;
}
diff --git a/mm/kasan/hw_tags.c b/mm/kasan/hw_tags.c
index d1bcb0205327..b092e37b69a7 100644
--- a/mm/kasan/hw_tags.c
+++ b/mm/kasan/hw_tags.c
@@ -205,7 +205,7 @@ void kasan_init_hw_tags_cpu(void)
* Enable async or asymm modes only when explicitly requested
* through the command line.
*/
- kasan_enable_tagging();
+ kasan_enable_hw_tags();
}
/* kasan_init_hw_tags() is called once on boot CPU. */
@@ -373,19 +373,19 @@ void __kasan_poison_vmalloc(const void *start, unsigned long size)
#endif
-void kasan_enable_tagging(void)
+void kasan_enable_hw_tags(void)
{
if (kasan_arg_mode == KASAN_ARG_MODE_ASYNC)
- hw_enable_tagging_async();
+ hw_enable_tag_checks_async();
else if (kasan_arg_mode == KASAN_ARG_MODE_ASYMM)
- hw_enable_tagging_asymm();
+ hw_enable_tag_checks_asymm();
else
- hw_enable_tagging_sync();
+ hw_enable_tag_checks_sync();
}
#if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
-EXPORT_SYMBOL_GPL(kasan_enable_tagging);
+EXPORT_SYMBOL_GPL(kasan_enable_hw_tags);
void kasan_force_async_fault(void)
{
diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
index 8b6e09839d8d..6db6638d7e3b 100644
--- a/mm/kasan/kasan.h
+++ b/mm/kasan/kasan.h
@@ -401,46 +401,22 @@ static inline const void *arch_kasan_set_tag(const void *addr, u8 tag)
#ifdef CONFIG_KASAN_HW_TAGS
-#ifndef arch_enable_tagging_sync
-#define arch_enable_tagging_sync()
-#endif
-#ifndef arch_enable_tagging_async
-#define arch_enable_tagging_async()
-#endif
-#ifndef arch_enable_tagging_asymm
-#define arch_enable_tagging_asymm()
-#endif
-#ifndef arch_force_async_tag_fault
-#define arch_force_async_tag_fault()
-#endif
-#ifndef arch_get_random_tag
-#define arch_get_random_tag() (0xFF)
-#endif
-#ifndef arch_get_mem_tag
-#define arch_get_mem_tag(addr) (0xFF)
-#endif
-#ifndef arch_set_mem_tag_range
-#define arch_set_mem_tag_range(addr, size, tag, init) ((void *)(addr))
-#endif
-
-#define hw_enable_tagging_sync() arch_enable_tagging_sync()
-#define hw_enable_tagging_async() arch_enable_tagging_async()
-#define hw_enable_tagging_asymm() arch_enable_tagging_asymm()
+#define hw_enable_tag_checks_sync() arch_enable_tag_checks_sync()
+#define hw_enable_tag_checks_async() arch_enable_tag_checks_async()
+#define hw_enable_tag_checks_asymm() arch_enable_tag_checks_asymm()
+#define hw_suppress_tag_checks_start() arch_suppress_tag_checks_start()
+#define hw_suppress_tag_checks_stop() arch_suppress_tag_checks_stop()
#define hw_force_async_tag_fault() arch_force_async_tag_fault()
#define hw_get_random_tag() arch_get_random_tag()
#define hw_get_mem_tag(addr) arch_get_mem_tag(addr)
#define hw_set_mem_tag_range(addr, size, tag, init) \
arch_set_mem_tag_range((addr), (size), (tag), (init))
-void kasan_enable_tagging(void);
+void kasan_enable_hw_tags(void);
#else /* CONFIG_KASAN_HW_TAGS */
-#define hw_enable_tagging_sync()
-#define hw_enable_tagging_async()
-#define hw_enable_tagging_asymm()
-
-static inline void kasan_enable_tagging(void) { }
+static inline void kasan_enable_hw_tags(void) { }
#endif /* CONFIG_KASAN_HW_TAGS */
diff --git a/mm/kasan/kasan_test.c b/mm/kasan/kasan_test.c
index 0d59098f0876..875553961eeb 100644
--- a/mm/kasan/kasan_test.c
+++ b/mm/kasan/kasan_test.c
@@ -107,7 +107,7 @@ static void kasan_test_exit(struct kunit *test)
kasan_sync_fault_possible()) { \
if (READ_ONCE(test_status.report_found) && \
READ_ONCE(test_status.sync_fault)) \
- kasan_enable_tagging(); \
+ kasan_enable_hw_tags(); \
migrate_enable(); \
} \
WRITE_ONCE(test_status.report_found, false); \
diff --git a/mm/kasan/report.c b/mm/kasan/report.c
index cc98dfdd3ed2..dfe686be59df 100644
--- a/mm/kasan/report.c
+++ b/mm/kasan/report.c
@@ -73,10 +73,18 @@ static int __init kasan_set_multi_shot(char *str)
__setup("kasan_multi_shot", kasan_set_multi_shot);
/*
- * Used to suppress reports within kasan_disable/enable_current() critical
- * sections, which are used for marking accesses to slab metadata.
+ * This function is used to check whether KASAN reports are suppressed for
+ * software KASAN modes via kasan_disable/enable_current() critical sections.
+ *
+ * This is done to avoid:
+ * 1. False-positive reports when accessing slab metadata,
+ * 2. Deadlocking when poisoned memory is accessed by the reporting code.
+ *
+ * Hardware Tag-Based KASAN instead relies on:
+ * For #1: Resetting tags via kasan_reset_tag().
+ * For #2: Suppression of tag checks via CPU, see report_suppress_start/end().
*/
-static bool report_suppressed(void)
+static bool report_suppressed_sw(void)
{
#if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)
if (current->kasan_depth)
@@ -85,6 +93,30 @@ static bool report_suppressed(void)
return false;
}
+static void report_suppress_start(void)
+{
+#ifdef CONFIG_KASAN_HW_TAGS
+ /*
+ * Disable preemption for the duration of printing a KASAN report, as
+ * hw_suppress_tag_checks_start() disables checks on the current CPU.
+ */
+ preempt_disable();
+ hw_suppress_tag_checks_start();
+#else
+ kasan_disable_current();
+#endif
+}
+
+static void report_suppress_stop(void)
+{
+#ifdef CONFIG_KASAN_HW_TAGS
+ hw_suppress_tag_checks_stop();
+ preempt_enable();
+#else
+ kasan_enable_current();
+#endif
+}
+
/*
* Used to avoid reporting more than one KASAN bug unless kasan_multi_shot
* is enabled. Note that KASAN tests effectively enable kasan_multi_shot
@@ -152,7 +184,7 @@ static void start_report(unsigned long *flags, bool sync)
/* Do not allow LOCKDEP mangling KASAN reports. */
lockdep_off();
/* Make sure we don't end up in loop. */
- kasan_disable_current();
+ report_suppress_start();
spin_lock_irqsave(&report_lock, *flags);
pr_err("==================================================================\n");
}
@@ -170,7 +202,7 @@ static void end_report(unsigned long *flags, void *addr)
panic("kasan.fault=panic set ...\n");
add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE);
lockdep_on();
- kasan_enable_current();
+ report_suppress_stop();
}
static void print_error_description(struct kasan_report_info *info)
@@ -439,9 +471,13 @@ void kasan_report_invalid_free(void *ptr, unsigned long ip, enum kasan_report_ty
struct kasan_report_info info;
/*
- * Do not check report_suppressed(), as an invalid-free cannot be
- * caused by accessing slab metadata and thus should not be
- * suppressed by kasan_disable/enable_current() critical sections.
+ * Do not check report_suppressed_sw(), as an invalid-free cannot be
+ * caused by accessing poisoned memory and thus should not be suppressed
+ * by kasan_disable/enable_current() critical sections.
+ *
+ * Note that for Hardware Tag-Based KASAN, kasan_report_invalid_free()
+ * is triggered by explicit tag checks and not by the ones performed by
+ * the CPU. Thus, reporting invalid-free is not suppressed as well.
*/
if (unlikely(!report_enabled()))
return;
@@ -476,7 +512,7 @@ bool kasan_report(unsigned long addr, size_t size, bool is_write,
unsigned long irq_flags;
struct kasan_report_info info;
- if (unlikely(report_suppressed()) || unlikely(!report_enabled())) {
+ if (unlikely(report_suppressed_sw()) || unlikely(!report_enabled())) {
ret = false;
goto out;
}
@@ -508,8 +544,9 @@ void kasan_report_async(void)
unsigned long flags;
/*
- * Do not check report_suppressed(), as kasan_disable/enable_current()
- * critical sections do not affect Hardware Tag-Based KASAN.
+ * Do not check report_suppressed_sw(), as
+ * kasan_disable/enable_current() critical sections do not affect
+ * Hardware Tag-Based KASAN.
*/
if (unlikely(!report_enabled()))
return;
diff --git a/mm/ksm.c b/mm/ksm.c
index cb272b6fde59..c5a2f83f62f1 100644
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -434,13 +434,18 @@ static inline bool ksm_test_exit(struct mm_struct *mm)
* of the process that owns 'vma'. We also do not want to enforce
* protection keys here anyway.
*/
-static int break_ksm(struct vm_area_struct *vma, unsigned long addr)
+static int break_ksm(struct vm_area_struct *vma, unsigned long addr, bool lock_vma)
{
struct page *page;
vm_fault_t ret = 0;
do {
cond_resched();
+ if (lock_vma)
+ vma_start_write(vma);
+ else
+ mmap_assert_locked(vma->vm_mm);
+
page = follow_page(vma, addr,
FOLL_GET | FOLL_MIGRATION | FOLL_REMOTE);
if (IS_ERR_OR_NULL(page))
@@ -511,7 +516,7 @@ static void break_cow(struct ksm_rmap_item *rmap_item)
mmap_read_lock(mm);
vma = find_mergeable_vma(mm, addr);
if (vma)
- break_ksm(vma, addr);
+ break_ksm(vma, addr, false);
mmap_read_unlock(mm);
}
@@ -814,7 +819,7 @@ static void remove_trailing_rmap_items(struct ksm_rmap_item **rmap_list)
* in cmp_and_merge_page on one of the rmap_items we would be removing.
*/
static int unmerge_ksm_pages(struct vm_area_struct *vma,
- unsigned long start, unsigned long end)
+ unsigned long start, unsigned long end, bool lock_vma)
{
unsigned long addr;
int err = 0;
@@ -825,7 +830,7 @@ static int unmerge_ksm_pages(struct vm_area_struct *vma,
if (signal_pending(current))
err = -ERESTARTSYS;
else
- err = break_ksm(vma, addr);
+ err = break_ksm(vma, addr, lock_vma);
}
return err;
}
@@ -972,7 +977,7 @@ static int unmerge_and_remove_all_rmap_items(void)
if (!(vma->vm_flags & VM_MERGEABLE) || !vma->anon_vma)
continue;
err = unmerge_ksm_pages(vma,
- vma->vm_start, vma->vm_end);
+ vma->vm_start, vma->vm_end, false);
if (err)
goto error;
}
@@ -2487,7 +2492,7 @@ int ksm_madvise(struct vm_area_struct *vma, unsigned long start,
return 0; /* just ignore the advice */
if (vma->anon_vma) {
- err = unmerge_ksm_pages(vma, start, end);
+ err = unmerge_ksm_pages(vma, start, end, true);
if (err)
return err;
}
diff --git a/mm/madvise.c b/mm/madvise.c
index f49a62a35827..21b5de11c329 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -180,9 +180,8 @@ static int madvise_update_vma(struct vm_area_struct *vma,
}
success:
- /*
- * vm_flags is protected by the mmap_lock held in write mode.
- */
+ /* vm_flags is protected by the mmap_lock held in write mode. */
+ vma_start_write(vma);
vm_flags_reset(vma, new_flags);
if (!vma->vm_file) {
error = replace_anon_vma_name(vma, anon_name);
@@ -223,7 +222,7 @@ static int swapin_walk_pmd_entry(pmd_t *pmd, unsigned long start,
trace_android_vh_madvise_swapin_walk_pmd_entry(entry);
page = read_swap_cache_async(entry, GFP_HIGHUSER_MOVABLE,
- vma, index, false, &splug);
+ vma, index, &splug);
if (page)
put_page(page);
}
@@ -234,6 +233,7 @@ static int swapin_walk_pmd_entry(pmd_t *pmd, unsigned long start,
static const struct mm_walk_ops swapin_walk_ops = {
.pmd_entry = swapin_walk_pmd_entry,
+ .walk_lock = PGWALK_RDLOCK,
};
static void force_shm_swapin_readahead(struct vm_area_struct *vma,
@@ -259,7 +259,7 @@ static void force_shm_swapin_readahead(struct vm_area_struct *vma,
rcu_read_unlock();
page = read_swap_cache_async(swap, GFP_HIGHUSER_MOVABLE,
- NULL, 0, false, &splug);
+ NULL, 0, &splug);
if (page)
put_page(page);
@@ -541,6 +541,7 @@ regular_page:
static const struct mm_walk_ops cold_walk_ops = {
.pmd_entry = madvise_cold_or_pageout_pte_range,
+ .walk_lock = PGWALK_RDLOCK,
};
static void madvise_cold_page_range(struct mmu_gather *tlb,
@@ -763,6 +764,7 @@ next:
static const struct mm_walk_ops madvise_free_walk_ops = {
.pmd_entry = madvise_free_pte_range,
+ .walk_lock = PGWALK_RDLOCK,
};
static int madvise_free_single_vma(struct vm_area_struct *vma,
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index aa09cf4e8bb5..cb9289925915 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -78,6 +78,7 @@ struct cgroup_subsys memory_cgrp_subsys __read_mostly;
EXPORT_SYMBOL(memory_cgrp_subsys);
struct mem_cgroup *root_mem_cgroup __read_mostly;
+EXPORT_SYMBOL_GPL(root_mem_cgroup);
/* Active memory cgroup to use from an interrupt context */
DEFINE_PER_CPU(struct mem_cgroup *, int_active_memcg);
@@ -827,6 +828,7 @@ void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
if (!mem_cgroup_disabled())
__mod_memcg_lruvec_state(lruvec, idx, val);
}
+EXPORT_SYMBOL_GPL(__mod_lruvec_state);
void __mod_lruvec_page_state(struct page *page, enum node_stat_item idx,
int val)
@@ -1392,6 +1394,7 @@ void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
if (nr_pages > 0)
*lru_size += nr_pages;
}
+EXPORT_SYMBOL_GPL(mem_cgroup_update_lru_size);
/**
* mem_cgroup_margin - calculate chargeable space of a memory cgroup
@@ -5966,6 +5969,7 @@ static int mem_cgroup_count_precharge_pte_range(pmd_t *pmd,
static const struct mm_walk_ops precharge_walk_ops = {
.pmd_entry = mem_cgroup_count_precharge_pte_range,
+ .walk_lock = PGWALK_RDLOCK,
};
static unsigned long mem_cgroup_count_precharge(struct mm_struct *mm)
@@ -6242,6 +6246,7 @@ put: /* get_mctgt_type() gets the page */
static const struct mm_walk_ops charge_walk_ops = {
.pmd_entry = mem_cgroup_move_charge_pte_range,
+ .walk_lock = PGWALK_RDLOCK,
};
static void mem_cgroup_move_charge(void)
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 4457f9423e2c..3badad5ab293 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -722,6 +722,7 @@ static int hwpoison_hugetlb_range(pte_t *ptep, unsigned long hmask,
static const struct mm_walk_ops hwp_walk_ops = {
.pmd_entry = hwpoison_pte_range,
.hugetlb_entry = hwpoison_hugetlb_range,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
diff --git a/mm/memory.c b/mm/memory.c
index 16063c490b7f..78d5312c0078 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1319,7 +1319,7 @@ copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma)
* Use the raw variant of the seqcount_t write API to avoid
* lockdep complaining about preemptibility.
*/
- mmap_assert_write_locked(src_mm);
+ vma_assert_write_locked(src_vma);
raw_write_seqcount_begin(&src_mm->write_protect_seq);
}
@@ -2851,10 +2851,16 @@ static inline int pte_unmap_same(struct vm_fault *vmf)
return same;
}
-static inline bool __wp_page_copy_user(struct page *dst, struct page *src,
- struct vm_fault *vmf)
+/*
+ * Return:
+ * 0: copied succeeded
+ * -EHWPOISON: copy failed due to hwpoison in source page
+ * -EAGAIN: copied failed (some other reason)
+ */
+static inline int __wp_page_copy_user(struct page *dst, struct page *src,
+ struct vm_fault *vmf)
{
- bool ret;
+ int ret;
void *kaddr;
void __user *uaddr;
bool locked = false;
@@ -2863,8 +2869,11 @@ static inline bool __wp_page_copy_user(struct page *dst, struct page *src,
unsigned long addr = vmf->address;
if (likely(src)) {
- copy_user_highpage(dst, src, addr, vma);
- return true;
+ if (copy_mc_user_highpage(dst, src, addr, vma)) {
+ memory_failure_queue(page_to_pfn(src), 0);
+ return -EHWPOISON;
+ }
+ return 0;
}
/*
@@ -2891,7 +2900,7 @@ static inline bool __wp_page_copy_user(struct page *dst, struct page *src,
* and update local tlb only
*/
update_mmu_tlb(vma, addr, vmf->pte);
- ret = false;
+ ret = -EAGAIN;
goto pte_unlock;
}
@@ -2916,7 +2925,7 @@ static inline bool __wp_page_copy_user(struct page *dst, struct page *src,
if (!likely(pte_same(*vmf->pte, vmf->orig_pte))) {
/* The PTE changed under us, update local tlb */
update_mmu_tlb(vma, addr, vmf->pte);
- ret = false;
+ ret = -EAGAIN;
goto pte_unlock;
}
@@ -2935,7 +2944,7 @@ warn:
}
}
- ret = true;
+ ret = 0;
pte_unlock:
if (locked)
@@ -3107,6 +3116,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf)
pte_t entry;
int page_copied = 0;
struct mmu_notifier_range range;
+ int ret;
delayacct_wpcopy_start();
@@ -3124,19 +3134,21 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf)
if (!new_page)
goto oom;
- if (!__wp_page_copy_user(new_page, old_page, vmf)) {
+ ret = __wp_page_copy_user(new_page, old_page, vmf);
+ if (ret) {
/*
* COW failed, if the fault was solved by other,
* it's fine. If not, userspace would re-fault on
* the same address and we will handle the fault
* from the second attempt.
+ * The -EHWPOISON case will not be retried.
*/
put_page(new_page);
if (old_page)
put_page(old_page);
delayacct_wpcopy_end();
- return 0;
+ return ret == -EHWPOISON ? VM_FAULT_HWPOISON : 0;
}
kmsan_copy_page_meta(new_page, old_page);
}
@@ -3302,6 +3314,11 @@ static vm_fault_t wp_pfn_shared(struct vm_fault *vmf)
vm_fault_t ret;
pte_unmap_unlock(vmf->pte, vmf->ptl);
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vmf->vma);
+ return VM_FAULT_RETRY;
+ }
+
vmf->flags |= FAULT_FLAG_MKWRITE;
ret = vma->vm_ops->pfn_mkwrite(vmf);
if (ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE))
@@ -3324,6 +3341,12 @@ static vm_fault_t wp_page_shared(struct vm_fault *vmf)
vm_fault_t tmp;
pte_unmap_unlock(vmf->pte, vmf->ptl);
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ put_page(vmf->page);
+ vma_end_read(vmf->vma);
+ return VM_FAULT_RETRY;
+ }
+
tmp = do_page_mkwrite(vmf);
if (unlikely(!tmp || (tmp &
(VM_FAULT_ERROR | VM_FAULT_NOPAGE)))) {
@@ -3477,6 +3500,12 @@ reuse:
return wp_page_shared(vmf);
}
copy:
+ if ((vmf->flags & FAULT_FLAG_VMA_LOCK) && !vma->anon_vma) {
+ pte_unmap_unlock(vmf->pte, vmf->ptl);
+ vma_end_read(vmf->vma);
+ return VM_FAULT_RETRY;
+ }
+
/*
* Ok, we need to copy. Oh, well..
*/
@@ -3626,6 +3655,7 @@ static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf)
struct folio *folio = page_folio(vmf->page);
struct vm_area_struct *vma = vmf->vma;
struct mmu_notifier_range range;
+ vm_fault_t ret;
/*
* We need a reference to lock the folio because we don't hold
@@ -3638,9 +3668,10 @@ static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf)
if (!folio_try_get(folio))
return 0;
- if (!folio_lock_or_retry(folio, vma->vm_mm, vmf->flags)) {
+ ret = folio_lock_or_retry(folio, vmf);
+ if (ret) {
folio_put(folio);
- return VM_FAULT_RETRY;
+ return ret;
}
mmu_notifier_range_init_owner(&range, MMU_NOTIFY_EXCLUSIVE, 0, vma,
vma->vm_mm, vmf->address & PAGE_MASK,
@@ -3750,18 +3781,12 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
bool exclusive = false;
swp_entry_t entry;
pte_t pte;
- int locked;
vm_fault_t ret = 0;
void *shadow = NULL;
if (!pte_unmap_same(vmf))
goto out;
- if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
- ret = VM_FAULT_RETRY;
- goto out;
- }
-
entry = pte_to_swp_entry(vmf->orig_pte);
if (unlikely(non_swap_entry(entry))) {
if (is_migration_entry(entry)) {
@@ -3771,6 +3796,16 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
vmf->page = pfn_swap_entry_to_page(entry);
ret = remove_device_exclusive_entry(vmf);
} else if (is_device_private_entry(entry)) {
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ /*
+ * migrate_to_ram is not yet ready to operate
+ * under VMA lock.
+ */
+ vma_end_read(vma);
+ ret = VM_FAULT_RETRY;
+ goto out;
+ }
+
vmf->page = pfn_swap_entry_to_page(entry);
vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd,
vmf->address, &vmf->ptl);
@@ -3874,12 +3909,9 @@ vm_fault_t do_swap_page(struct vm_fault *vmf)
goto out_release;
}
- locked = folio_lock_or_retry(folio, vma->vm_mm, vmf->flags);
-
- if (!locked) {
- ret |= VM_FAULT_RETRY;
+ ret |= folio_lock_or_retry(folio, vmf);
+ if (ret & VM_FAULT_RETRY)
goto out_release;
- }
if (swapcache) {
/*
@@ -4581,6 +4613,11 @@ static vm_fault_t do_read_fault(struct vm_fault *vmf)
return ret;
}
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vmf->vma);
+ return VM_FAULT_RETRY;
+ }
+
ret = __do_fault(vmf);
if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | VM_FAULT_RETRY)))
return ret;
@@ -4597,6 +4634,11 @@ static vm_fault_t do_cow_fault(struct vm_fault *vmf)
struct vm_area_struct *vma = vmf->vma;
vm_fault_t ret;
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+
if (unlikely(anon_vma_prepare(vma)))
return VM_FAULT_OOM;
@@ -4636,6 +4678,11 @@ static vm_fault_t do_shared_fault(struct vm_fault *vmf)
struct vm_area_struct *vma = vmf->vma;
vm_fault_t ret, tmp;
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+
ret = __do_fault(vmf);
if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | VM_FAULT_RETRY)))
return ret;
@@ -4846,33 +4893,45 @@ out_map:
static inline vm_fault_t create_huge_pmd(struct vm_fault *vmf)
{
- if (vma_is_anonymous(vmf->vma))
+ struct vm_area_struct *vma = vmf->vma;
+ if (vma_is_anonymous(vma))
return do_huge_pmd_anonymous_page(vmf);
- if (vmf->vma->vm_ops->huge_fault)
- return vmf->vma->vm_ops->huge_fault(vmf, PE_SIZE_PMD);
+ if (vma->vm_ops->huge_fault) {
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+ return vma->vm_ops->huge_fault(vmf, PE_SIZE_PMD);
+ }
return VM_FAULT_FALLBACK;
}
/* `inline' is required to avoid gcc 4.1.2 build error */
static inline vm_fault_t wp_huge_pmd(struct vm_fault *vmf)
{
+ struct vm_area_struct *vma = vmf->vma;
const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE;
+ vm_fault_t ret;
- if (vma_is_anonymous(vmf->vma)) {
+ if (vma_is_anonymous(vma)) {
if (likely(!unshare) &&
- userfaultfd_huge_pmd_wp(vmf->vma, vmf->orig_pmd))
+ userfaultfd_huge_pmd_wp(vma, vmf->orig_pmd))
return handle_userfault(vmf, VM_UFFD_WP);
return do_huge_pmd_wp_page(vmf);
}
- if (vmf->vma->vm_ops->huge_fault) {
- vm_fault_t ret = vmf->vma->vm_ops->huge_fault(vmf, PE_SIZE_PMD);
+ if (vma->vm_ops->huge_fault) {
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+ ret = vma->vm_ops->huge_fault(vmf, PE_SIZE_PMD);
if (!(ret & VM_FAULT_FALLBACK))
return ret;
}
/* COW or write-notify handled on pte level: split pmd. */
- __split_huge_pmd(vmf->vma, vmf->pmd, vmf->address, false, NULL);
+ __split_huge_pmd(vma, vmf->pmd, vmf->address, false, NULL);
return VM_FAULT_FALLBACK;
}
@@ -4881,11 +4940,17 @@ static vm_fault_t create_huge_pud(struct vm_fault *vmf)
{
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
+ struct vm_area_struct *vma = vmf->vma;
/* No support for anonymous transparent PUD pages yet */
- if (vma_is_anonymous(vmf->vma))
+ if (vma_is_anonymous(vma))
return VM_FAULT_FALLBACK;
- if (vmf->vma->vm_ops->huge_fault)
- return vmf->vma->vm_ops->huge_fault(vmf, PE_SIZE_PUD);
+ if (vma->vm_ops->huge_fault) {
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+ return vma->vm_ops->huge_fault(vmf, PE_SIZE_PUD);
+ }
#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
return VM_FAULT_FALLBACK;
}
@@ -4894,18 +4959,25 @@ static vm_fault_t wp_huge_pud(struct vm_fault *vmf, pud_t orig_pud)
{
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
+ struct vm_area_struct *vma = vmf->vma;
+ vm_fault_t ret;
+
/* No support for anonymous transparent PUD pages yet */
- if (vma_is_anonymous(vmf->vma))
+ if (vma_is_anonymous(vma))
goto split;
- if (vmf->vma->vm_ops->huge_fault) {
- vm_fault_t ret = vmf->vma->vm_ops->huge_fault(vmf, PE_SIZE_PUD);
+ if (vma->vm_ops->huge_fault) {
+ if (vmf->flags & FAULT_FLAG_VMA_LOCK) {
+ vma_end_read(vma);
+ return VM_FAULT_RETRY;
+ }
+ ret = vma->vm_ops->huge_fault(vmf, PE_SIZE_PUD);
if (!(ret & VM_FAULT_FALLBACK))
return ret;
}
split:
/* COW or write-notify not handled on PUD level: split pud.*/
- __split_huge_pud(vmf->vma, vmf->pud, vmf->address);
+ __split_huge_pud(vma, vmf->pud, vmf->address);
#endif /* CONFIG_TRANSPARENT_HUGEPAGE && CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */
return VM_FAULT_FALLBACK;
}
@@ -5027,10 +5099,10 @@ unlock:
}
/*
- * By the time we get here, we already hold the mm semaphore
- *
- * The mmap_lock may have been released depending on flags and our
- * return value. See filemap_fault() and __folio_lock_or_retry().
+ * On entry, we hold either the VMA lock or the mmap_lock
+ * (FAULT_FLAG_VMA_LOCK tells you which). If VM_FAULT_RETRY is set in
+ * the result, the mmap_lock is not held on exit. See filemap_fault()
+ * and __folio_lock_or_retry().
*/
static vm_fault_t __handle_mm_fault(struct vm_area_struct *vma,
unsigned long address, unsigned int flags)
@@ -5231,6 +5303,17 @@ vm_fault_t handle_mm_fault(struct vm_area_struct *vma, unsigned long address,
__set_current_state(TASK_RUNNING);
+#ifdef CONFIG_PER_VMA_LOCK
+ /*
+ * Per-VMA locks can't be used with FAULT_FLAG_RETRY_NOWAIT because of
+ * the assumption that lock is dropped on VM_FAULT_RETRY.
+ */
+ if (WARN_ON_ONCE((flags &
+ (FAULT_FLAG_VMA_LOCK | FAULT_FLAG_RETRY_NOWAIT)) ==
+ (FAULT_FLAG_VMA_LOCK | FAULT_FLAG_RETRY_NOWAIT)))
+ return VM_FAULT_SIGSEGV;
+#endif
+
/* do counter updates before entering really critical section. */
check_sync_rss_stat(current);
@@ -5275,6 +5358,125 @@ out:
}
EXPORT_SYMBOL_GPL(handle_mm_fault);
+#ifdef CONFIG_LOCK_MM_AND_FIND_VMA
+#include <linux/extable.h>
+
+static inline bool get_mmap_lock_carefully(struct mm_struct *mm, struct pt_regs *regs)
+{
+ /* Even if this succeeds, make it clear we *might* have slept */
+ if (likely(mmap_read_trylock(mm))) {
+ might_sleep();
+ return true;
+ }
+
+ if (regs && !user_mode(regs)) {
+ unsigned long ip = instruction_pointer(regs);
+ if (!search_exception_tables(ip))
+ return false;
+ }
+
+ return !mmap_read_lock_killable(mm);
+}
+
+static inline bool mmap_upgrade_trylock(struct mm_struct *mm)
+{
+ /*
+ * We don't have this operation yet.
+ *
+ * It should be easy enough to do: it's basically a
+ * atomic_long_try_cmpxchg_acquire()
+ * from RWSEM_READER_BIAS -> RWSEM_WRITER_LOCKED, but
+ * it also needs the proper lockdep magic etc.
+ */
+ return false;
+}
+
+static inline bool upgrade_mmap_lock_carefully(struct mm_struct *mm, struct pt_regs *regs)
+{
+ mmap_read_unlock(mm);
+ if (regs && !user_mode(regs)) {
+ unsigned long ip = instruction_pointer(regs);
+ if (!search_exception_tables(ip))
+ return false;
+ }
+ return !mmap_write_lock_killable(mm);
+}
+
+/*
+ * Helper for page fault handling.
+ *
+ * This is kind of equivalend to "mmap_read_lock()" followed
+ * by "find_extend_vma()", except it's a lot more careful about
+ * the locking (and will drop the lock on failure).
+ *
+ * For example, if we have a kernel bug that causes a page
+ * fault, we don't want to just use mmap_read_lock() to get
+ * the mm lock, because that would deadlock if the bug were
+ * to happen while we're holding the mm lock for writing.
+ *
+ * So this checks the exception tables on kernel faults in
+ * order to only do this all for instructions that are actually
+ * expected to fault.
+ *
+ * We can also actually take the mm lock for writing if we
+ * need to extend the vma, which helps the VM layer a lot.
+ */
+struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm,
+ unsigned long addr, struct pt_regs *regs)
+{
+ struct vm_area_struct *vma;
+
+ if (!get_mmap_lock_carefully(mm, regs))
+ return NULL;
+
+ vma = find_vma(mm, addr);
+ if (likely(vma && (vma->vm_start <= addr)))
+ return vma;
+
+ /*
+ * Well, dang. We might still be successful, but only
+ * if we can extend a vma to do so.
+ */
+ if (!vma || !(vma->vm_flags & VM_GROWSDOWN)) {
+ mmap_read_unlock(mm);
+ return NULL;
+ }
+
+ /*
+ * We can try to upgrade the mmap lock atomically,
+ * in which case we can continue to use the vma
+ * we already looked up.
+ *
+ * Otherwise we'll have to drop the mmap lock and
+ * re-take it, and also look up the vma again,
+ * re-checking it.
+ */
+ if (!mmap_upgrade_trylock(mm)) {
+ if (!upgrade_mmap_lock_carefully(mm, regs))
+ return NULL;
+
+ vma = find_vma(mm, addr);
+ if (!vma)
+ goto fail;
+ if (vma->vm_start <= addr)
+ goto success;
+ if (!(vma->vm_flags & VM_GROWSDOWN))
+ goto fail;
+ }
+
+ if (expand_stack_locked(vma, addr))
+ goto fail;
+
+success:
+ mmap_write_downgrade(mm);
+ return vma;
+
+fail:
+ mmap_write_unlock(mm);
+ return NULL;
+}
+#endif
+
#ifdef CONFIG_PER_VMA_LOCK
/*
* Lookup and lock a VMA under RCU protection. Returned VMA is guaranteed to be
@@ -5293,31 +5495,21 @@ retry:
if (!vma)
goto inval;
- /* Only anonymous vmas are supported for now */
- if (!vma_is_anonymous(vma))
- goto inval;
-
- /* find_mergeable_anon_vma uses adjacent vmas which are not locked */
- if (!vma->anon_vma)
- goto inval;
-
if (!vma_start_read(vma))
goto inval;
/*
- * Due to the possibility of userfault handler dropping mmap_lock, avoid
- * it for now and fall back to page fault handling under mmap_lock.
+ * find_mergeable_anon_vma uses adjacent vmas which are not locked.
+ * This check must happen after vma_start_read(); otherwise, a
+ * concurrent mremap() with MREMAP_DONTUNMAP could dissociate the VMA
+ * from its anon_vma.
*/
- if (userfaultfd_armed(vma)) {
- vma_end_read(vma);
- goto inval;
- }
+ if (unlikely(!vma->anon_vma))
+ goto inval_end_read;
/* Check since vm_start/vm_end might change before we lock the VMA */
- if (unlikely(address < vma->vm_start || address >= vma->vm_end)) {
- vma_end_read(vma);
- goto inval;
- }
+ if (unlikely(address < vma->vm_start || address >= vma->vm_end))
+ goto inval_end_read;
/* Check if the VMA got isolated after we found it */
if (vma->detached) {
@@ -5329,6 +5521,9 @@ retry:
rcu_read_unlock();
return vma;
+
+inval_end_read:
+ vma_end_read(vma);
inval:
rcu_read_unlock();
count_vm_vma_lock_event(VMA_LOCK_ABORT);
@@ -5607,6 +5802,14 @@ int __access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf,
if (mmap_read_lock_killable(mm))
return 0;
+ /* We might need to expand the stack to access it */
+ vma = vma_lookup(mm, addr);
+ if (!vma) {
+ vma = expand_stack(mm, addr);
+ if (!vma)
+ return 0;
+ }
+
/* ignore errors, just check how much was successfully transferred */
while (len) {
int bytes, ret, offset;
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index f940395667c8..7deb394c669a 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -384,8 +384,10 @@ void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new)
VMA_ITERATOR(vmi, mm, 0);
mmap_write_lock(mm);
- for_each_vma(vmi, vma)
+ for_each_vma(vmi, vma) {
+ vma_start_write(vma);
mpol_rebind_policy(vma->vm_policy, new);
+ }
mmap_write_unlock(mm);
}
@@ -707,6 +709,14 @@ static const struct mm_walk_ops queue_pages_walk_ops = {
.hugetlb_entry = queue_pages_hugetlb,
.pmd_entry = queue_pages_pte_range,
.test_walk = queue_pages_test_walk,
+ .walk_lock = PGWALK_RDLOCK,
+};
+
+static const struct mm_walk_ops queue_pages_lock_vma_walk_ops = {
+ .hugetlb_entry = queue_pages_hugetlb,
+ .pmd_entry = queue_pages_pte_range,
+ .test_walk = queue_pages_test_walk,
+ .walk_lock = PGWALK_WRLOCK,
};
/*
@@ -727,7 +737,7 @@ static const struct mm_walk_ops queue_pages_walk_ops = {
static int
queue_pages_range(struct mm_struct *mm, unsigned long start, unsigned long end,
nodemask_t *nodes, unsigned long flags,
- struct list_head *pagelist)
+ struct list_head *pagelist, bool lock_vma)
{
int err;
struct queue_pages qp = {
@@ -738,8 +748,10 @@ queue_pages_range(struct mm_struct *mm, unsigned long start, unsigned long end,
.end = end,
.first = NULL,
};
+ const struct mm_walk_ops *ops = lock_vma ?
+ &queue_pages_lock_vma_walk_ops : &queue_pages_walk_ops;
- err = walk_page_range(mm, start, end, &queue_pages_walk_ops, &qp);
+ err = walk_page_range(mm, start, end, ops, &qp);
if (!qp.first)
/* whole range in hole */
@@ -759,6 +771,8 @@ static int vma_replace_policy(struct vm_area_struct *vma,
struct mempolicy *old;
struct mempolicy *new;
+ vma_assert_write_locked(vma);
+
pr_debug("vma %lx-%lx/%lx vm_ops %p vm_file %p set_policy %p\n",
vma->vm_start, vma->vm_end, vma->vm_pgoff,
vma->vm_ops, vma->vm_file,
@@ -1082,7 +1096,7 @@ static int migrate_to_node(struct mm_struct *mm, int source, int dest,
vma = find_vma(mm, 0);
VM_BUG_ON(!(flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)));
queue_pages_range(mm, vma->vm_start, mm->task_size, &nmask,
- flags | MPOL_MF_DISCONTIG_OK, &pagelist);
+ flags | MPOL_MF_DISCONTIG_OK, &pagelist, false);
if (!list_empty(&pagelist)) {
err = migrate_pages(&pagelist, alloc_migration_target, NULL,
@@ -1320,8 +1334,12 @@ static long do_mbind(unsigned long start, unsigned long len,
if (err)
goto mpol_out;
+ /*
+ * Lock the VMAs before scanning for pages to migrate, to ensure we don't
+ * miss a concurrently inserted page.
+ */
ret = queue_pages_range(mm, start, end, nmask,
- flags | MPOL_MF_INVERT, &pagelist);
+ flags | MPOL_MF_INVERT, &pagelist, true);
if (ret < 0) {
err = ret;
@@ -1546,6 +1564,7 @@ SYSCALL_DEFINE4(set_mempolicy_home_node, unsigned long, start, unsigned long, le
break;
}
+ vma_start_write(vma);
new->home_node = home_node;
err = mbind_range(mm, vmstart, vmend, new);
mpol_put(new);
diff --git a/mm/migrate.c b/mm/migrate.c
index 5c61c3d5b646..ef490976c98e 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -56,6 +56,10 @@
#include <trace/events/migrate.h>
+#undef CREATE_TRACE_POINTS
+#include <trace/hooks/mm.h>
+#include <trace/hooks/vmscan.h>
+
#include "internal.h"
int isolate_movable_page(struct page *page, isolate_mode_t mode)
@@ -554,6 +558,8 @@ void folio_migrate_flags(struct folio *newfolio, struct folio *folio)
if (folio_test_mappedtodisk(folio))
folio_set_mappedtodisk(newfolio);
+ trace_android_vh_look_around_migrate_folio(folio, newfolio);
+
/* Move dirty on pages not done by folio_migrate_mapping() */
if (folio_test_dirty(folio))
folio_set_dirty(newfolio);
diff --git a/mm/migrate_device.c b/mm/migrate_device.c
index 721b2365dbca..4b1491d5710a 100644
--- a/mm/migrate_device.c
+++ b/mm/migrate_device.c
@@ -286,6 +286,7 @@ next:
static const struct mm_walk_ops migrate_vma_walk_ops = {
.pmd_entry = migrate_vma_collect_pmd,
.pte_hole = migrate_vma_collect_hole,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
diff --git a/mm/mincore.c b/mm/mincore.c
index 1eb6aac88d84..dd8f8837f7d5 100644
--- a/mm/mincore.c
+++ b/mm/mincore.c
@@ -177,6 +177,7 @@ static const struct mm_walk_ops mincore_walk_ops = {
.pmd_entry = mincore_pte_range,
.pte_hole = mincore_unmapped_range,
.hugetlb_entry = mincore_hugetlb,
+ .walk_lock = PGWALK_RDLOCK,
};
/*
diff --git a/mm/mlock.c b/mm/mlock.c
index 9738d49bbc24..580f1d39f454 100644
--- a/mm/mlock.c
+++ b/mm/mlock.c
@@ -365,6 +365,7 @@ static void mlock_vma_pages_range(struct vm_area_struct *vma,
{
static const struct mm_walk_ops mlock_walk_ops = {
.pmd_entry = mlock_pte_range,
+ .walk_lock = PGWALK_WRLOCK_VERIFY,
};
/*
@@ -380,6 +381,7 @@ static void mlock_vma_pages_range(struct vm_area_struct *vma,
*/
if (newflags & VM_LOCKED)
newflags |= VM_IO;
+ vma_start_write(vma);
vm_flags_reset_once(vma, newflags);
lru_add_drain();
@@ -453,9 +455,9 @@ success:
* It's okay if try_to_unmap_one unmaps a page just after we
* set VM_LOCKED, populate_vma_page_range will bring it back.
*/
-
if ((newflags & VM_LOCKED) && (oldflags & VM_LOCKED)) {
/* No work to do, and mlocking twice would be wrong */
+ vma_start_write(vma);
vm_flags_reset(vma, newflags);
} else {
mlock_vma_pages_range(vma, start, end, newflags);
diff --git a/mm/mmap.c b/mm/mmap.c
index 36f129f23dfb..bd2140cfcf36 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -484,6 +484,8 @@ static int vma_link(struct mm_struct *mm, struct vm_area_struct *vma)
if (mas_preallocate(&mas, vma, GFP_KERNEL))
return -ENOMEM;
+ vma_start_write(vma);
+
if (vma->vm_file) {
mapping = vma->vm_file->f_mapping;
i_mmap_lock_write(mapping);
@@ -529,6 +531,7 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma,
struct file *file = vma->vm_file;
bool remove_next = false;
+ vma_start_write(vma);
if (next && (vma != next) && (end == next->vm_end)) {
remove_next = true;
/* Lock the VMA before removing it */
@@ -553,7 +556,6 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma,
if (mas_preallocate(mas, vma, GFP_KERNEL))
goto nomem;
- vma_start_write(vma);
vma_adjust_trans_huge(vma, start, end, 0);
if (file) {
@@ -743,8 +745,10 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
if (adjust_next < 0)
mas_set_range(&mas, next->vm_start + adjust_next,
next->vm_end - 1);
- else if (insert)
+ else if (insert) {
+ vma_start_write(insert);
mas_set_range(&mas, insert->vm_start, insert->vm_end - 1);
+ }
if (mas_preallocate(&mas, vma, GFP_KERNEL))
@@ -801,7 +805,8 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
}
if (end != vma->vm_end) {
if (vma->vm_end > end) {
- if (adjust_next >= 0 && !insert) {
+ if ((vma->vm_end + adjust_next != end) &&
+ (!insert || (insert->vm_start != end))) {
vma_mas_szero(&mas, end, vma->vm_end);
mas_reset(&mas);
VM_WARN_ON(insert &&
@@ -841,6 +846,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
* (it may either follow vma or precede it).
*/
mas_reset(&mas);
+ vma_start_write(insert);
vma_mas_store(insert, &mas);
mm->map_count++;
}
@@ -1988,7 +1994,7 @@ static int acct_stack_growth(struct vm_area_struct *vma,
* PA-RISC uses this for its stack; IA64 for its Register Backing Store.
* vma is the last one with address > vma->vm_end. Have to extend vma.
*/
-int expand_upwards(struct vm_area_struct *vma, unsigned long address)
+static int expand_upwards(struct vm_area_struct *vma, unsigned long address)
{
struct mm_struct *mm = vma->vm_mm;
struct vm_area_struct *next;
@@ -2029,6 +2035,8 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
return -ENOMEM;
}
+ /* Lock the VMA before expanding to prevent concurrent page faults */
+ vma_start_write(vma);
/*
* vma->vm_start/vm_end cannot change under us because the caller
* is required to hold the mmap_lock in read mode. We need the
@@ -2080,6 +2088,7 @@ int expand_upwards(struct vm_area_struct *vma, unsigned long address)
/*
* vma is the first one with address < vma->vm_start. Have to extend vma.
+ * mmap_lock held for writing.
*/
int expand_downwards(struct vm_area_struct *vma, unsigned long address)
{
@@ -2088,16 +2097,20 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address)
struct vm_area_struct *prev;
int error = 0;
+ if (!(vma->vm_flags & VM_GROWSDOWN))
+ return -EFAULT;
+
address &= PAGE_MASK;
- if (address < mmap_min_addr)
+ if (address < mmap_min_addr || address < FIRST_USER_ADDRESS)
return -EPERM;
/* Enforce stack_guard_gap */
prev = mas_prev(&mas, 0);
/* Check that both stack segments have the same anon_vma? */
- if (prev && !(prev->vm_flags & VM_GROWSDOWN) &&
- vma_is_accessible(prev)) {
- if (address - prev->vm_end < stack_guard_gap)
+ if (prev) {
+ if (!(prev->vm_flags & VM_GROWSDOWN) &&
+ vma_is_accessible(prev) &&
+ (address - prev->vm_end < stack_guard_gap))
return -ENOMEM;
}
@@ -2111,6 +2124,8 @@ int expand_downwards(struct vm_area_struct *vma, unsigned long address)
return -ENOMEM;
}
+ /* Lock the VMA before expanding to prevent concurrent page faults */
+ vma_start_write(vma);
/*
* vma->vm_start/vm_end cannot change under us because the caller
* is required to hold the mmap_lock in read mode. We need the
@@ -2177,13 +2192,12 @@ static int __init cmdline_parse_stack_guard_gap(char *p)
__setup("stack_guard_gap=", cmdline_parse_stack_guard_gap);
#ifdef CONFIG_STACK_GROWSUP
-int expand_stack(struct vm_area_struct *vma, unsigned long address)
+int expand_stack_locked(struct vm_area_struct *vma, unsigned long address)
{
return expand_upwards(vma, address);
}
-struct vm_area_struct *
-find_extend_vma(struct mm_struct *mm, unsigned long addr)
+struct vm_area_struct *find_extend_vma_locked(struct mm_struct *mm, unsigned long addr)
{
struct vm_area_struct *vma, *prev;
@@ -2191,20 +2205,23 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr)
vma = find_vma_prev(mm, addr, &prev);
if (vma && (vma->vm_start <= addr))
return vma;
- if (!prev || expand_stack(prev, addr))
+ if (!prev)
+ return NULL;
+ if (expand_stack_locked(prev, addr))
return NULL;
if (prev->vm_flags & VM_LOCKED)
populate_vma_page_range(prev, addr, prev->vm_end, NULL);
return prev;
}
#else
-int expand_stack(struct vm_area_struct *vma, unsigned long address)
+int expand_stack_locked(struct vm_area_struct *vma, unsigned long address)
{
+ if (unlikely(!(vma->vm_flags & VM_GROWSDOWN)))
+ return -EINVAL;
return expand_downwards(vma, address);
}
-struct vm_area_struct *
-find_extend_vma(struct mm_struct *mm, unsigned long addr)
+struct vm_area_struct *find_extend_vma_locked(struct mm_struct *mm, unsigned long addr)
{
struct vm_area_struct *vma;
unsigned long start;
@@ -2215,10 +2232,8 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr)
return NULL;
if (vma->vm_start <= addr)
return vma;
- if (!(vma->vm_flags & VM_GROWSDOWN))
- return NULL;
start = vma->vm_start;
- if (expand_stack(vma, addr))
+ if (expand_stack_locked(vma, addr))
return NULL;
if (vma->vm_flags & VM_LOCKED)
populate_vma_page_range(vma, addr, start, NULL);
@@ -2226,9 +2241,107 @@ find_extend_vma(struct mm_struct *mm, unsigned long addr)
}
#endif
+/*
+ * ANDROID: Reintroduce find_extend_vma() as it's still used by some external
+ * modules. It was removed in commit 8d7071af8907 ("mm: always expand the
+ * stack with the mmap write lock held")
+ * In the future, everyone should just move to use the correct function instead
+ * of this old, legacy one.
+ */
+struct vm_area_struct *find_extend_vma(struct mm_struct *mm,
+ unsigned long addr)
+{
+ return find_extend_vma_locked(mm, addr);
+}
EXPORT_SYMBOL_GPL(find_extend_vma);
/*
+ * IA64 has some horrid mapping rules: it can expand both up and down,
+ * but with various special rules.
+ *
+ * We'll get rid of this architecture eventually, so the ugliness is
+ * temporary.
+ */
+#ifdef CONFIG_IA64
+static inline bool vma_expand_ok(struct vm_area_struct *vma, unsigned long addr)
+{
+ return REGION_NUMBER(addr) == REGION_NUMBER(vma->vm_start) &&
+ REGION_OFFSET(addr) < RGN_MAP_LIMIT;
+}
+
+/*
+ * IA64 stacks grow down, but there's a special register backing store
+ * that can grow up. Only sequentially, though, so the new address must
+ * match vm_end.
+ */
+static inline int vma_expand_up(struct vm_area_struct *vma, unsigned long addr)
+{
+ if (!vma_expand_ok(vma, addr))
+ return -EFAULT;
+ if (vma->vm_end != (addr & PAGE_MASK))
+ return -EFAULT;
+ return expand_upwards(vma, addr);
+}
+
+static inline bool vma_expand_down(struct vm_area_struct *vma, unsigned long addr)
+{
+ if (!vma_expand_ok(vma, addr))
+ return -EFAULT;
+ return expand_downwards(vma, addr);
+}
+
+#elif defined(CONFIG_STACK_GROWSUP)
+
+#define vma_expand_up(vma,addr) expand_upwards(vma, addr)
+#define vma_expand_down(vma, addr) (-EFAULT)
+
+#else
+
+#define vma_expand_up(vma,addr) (-EFAULT)
+#define vma_expand_down(vma, addr) expand_downwards(vma, addr)
+
+#endif
+
+/*
+ * expand_stack(): legacy interface for page faulting. Don't use unless
+ * you have to.
+ *
+ * This is called with the mm locked for reading, drops the lock, takes
+ * the lock for writing, tries to look up a vma again, expands it if
+ * necessary, and downgrades the lock to reading again.
+ *
+ * If no vma is found or it can't be expanded, it returns NULL and has
+ * dropped the lock.
+ */
+struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr)
+{
+ struct vm_area_struct *vma, *prev;
+
+ mmap_read_unlock(mm);
+ if (mmap_write_lock_killable(mm))
+ return NULL;
+
+ vma = find_vma_prev(mm, addr, &prev);
+ if (vma && vma->vm_start <= addr)
+ goto success;
+
+ if (prev && !vma_expand_up(prev, addr)) {
+ vma = prev;
+ goto success;
+ }
+
+ if (vma && !vma_expand_down(vma, addr))
+ goto success;
+
+ mmap_write_unlock(mm);
+ return NULL;
+
+success:
+ mmap_write_downgrade(mm);
+ return vma;
+}
+
+/*
* Ok - we have the memory areas we should free on a maple tree so release them,
* and do the vma updates.
*
@@ -2319,6 +2432,9 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
+ vma_start_write(vma);
+ vma_start_write(new);
+
if (new_below)
err = vma_adjust(vma, addr, vma->vm_end, vma->vm_pgoff +
((addr - new->vm_start) >> PAGE_SHIFT), new);
@@ -2359,21 +2475,6 @@ int split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
return __split_vma(mm, vma, addr, new_below);
}
-static inline int munmap_sidetree(struct vm_area_struct *vma, int count,
- struct ma_state *mas_detach)
-{
- vma_start_write(vma);
- mas_set(mas_detach, count);
- if (mas_store_gfp(mas_detach, vma, GFP_KERNEL))
- return -ENOMEM;
-
- vma_mark_detached(vma, true);
- if (vma->vm_flags & VM_LOCKED)
- vma->vm_mm->locked_vm -= vma_pages(vma);
-
- return 0;
-}
-
/*
* do_mas_align_munmap() - munmap the aligned region from @start to @end.
* @mas: The maple_state, ideally set up to alter the correct tree location.
@@ -2395,6 +2496,7 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
struct maple_tree mt_detach;
int count = 0;
int error = -ENOMEM;
+ unsigned long locked_vm = 0;
MA_STATE(mas_detach, &mt_detach, 0, 0);
mt_init_flags(&mt_detach, mas->tree->ma_flags & MT_FLAGS_LOCK_MASK);
mt_set_external_lock(&mt_detach, &mm->mmap_lock);
@@ -2450,18 +2552,28 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
mas_set(mas, end);
split = mas_prev(mas, 0);
- error = munmap_sidetree(split, count, &mas_detach);
+ vma_start_write(split);
+ mas_set(&mas_detach, count);
+ error = mas_store_gfp(&mas_detach, split, GFP_KERNEL);
if (error)
- goto munmap_sidetree_failed;
+ goto munmap_gather_failed;
+ vma_mark_detached(split, true);
+ if (split->vm_flags & VM_LOCKED)
+ locked_vm += vma_pages(split);
count++;
if (vma == next)
vma = split;
break;
}
- error = munmap_sidetree(next, count, &mas_detach);
+ vma_start_write(next);
+ mas_set(&mas_detach, count);
+ error = mas_store_gfp(&mas_detach, next, GFP_KERNEL);
if (error)
- goto munmap_sidetree_failed;
+ goto munmap_gather_failed;
+ vma_mark_detached(next, true);
+ if (next->vm_flags & VM_LOCKED)
+ locked_vm += vma_pages(next);
count++;
if (unlikely(uf)) {
@@ -2519,6 +2631,7 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
if (mas_store_gfp(mas, NULL, GFP_KERNEL))
return -ENOMEM;
+ mm->locked_vm -= locked_vm;
mm->map_count -= count;
/*
* Do not downgrade mmap_lock if we are next to VM_GROWSDOWN or
@@ -2550,7 +2663,7 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
return downgrade ? 1 : 0;
userfaultfd_error:
-munmap_sidetree_failed:
+munmap_gather_failed:
end_split_failed:
__mt_destroy(&mt_detach);
start_split_failed:
@@ -2795,6 +2908,8 @@ cannot_expand:
goto free_vma;
}
+ /* Lock the VMA since it is modified after insertion into VMA tree */
+ vma_start_write(vma);
if (vma->vm_file)
i_mmap_lock_write(vma->vm_file->f_mapping);
@@ -3096,6 +3211,7 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct *vma,
vma->vm_pgoff = addr >> PAGE_SHIFT;
vm_flags_init(vma, flags);
vma->vm_page_prot = vm_get_page_prot(flags);
+ vma_start_write(vma);
mas_set_range(mas, vma->vm_start, addr + len - 1);
if (mas_store_gfp(mas, vma, GFP_KERNEL))
goto mas_store_fail;
@@ -3342,7 +3458,6 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
get_file(new_vma->vm_file);
if (new_vma->vm_ops && new_vma->vm_ops->open)
new_vma->vm_ops->open(new_vma);
- vma_start_write(new_vma);
if (vma_link(mm, new_vma))
goto out_vma_link;
*need_rmap_locks = false;
@@ -3660,6 +3775,12 @@ int mm_take_all_locks(struct mm_struct *mm)
mutex_lock(&mm_all_locks_mutex);
+ /*
+ * vma_start_write() does not have a complement in mm_drop_all_locks()
+ * because vma_start_write() is always asymmetrical; it marks a VMA as
+ * being written to until mmap_write_unlock() or mmap_write_downgrade()
+ * is reached.
+ */
mas_for_each(&mas, vma, ULONG_MAX) {
if (signal_pending(current))
goto out_unlock;
@@ -3756,7 +3877,6 @@ void mm_drop_all_locks(struct mm_struct *mm)
if (vma->vm_file && vma->vm_file->f_mapping)
vm_unlock_mapping(vma->vm_file->f_mapping);
}
- vma_end_write_all(mm);
mutex_unlock(&mm_all_locks_mutex);
}
diff --git a/mm/mprotect.c b/mm/mprotect.c
index 1b9198d38cdf..45a87f0ce625 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -542,6 +542,7 @@ static const struct mm_walk_ops prot_none_walk_ops = {
.pte_entry = prot_none_pte_entry,
.hugetlb_entry = prot_none_hugetlb_entry,
.test_walk = prot_none_test,
+ .walk_lock = PGWALK_WRLOCK,
};
int
@@ -630,6 +631,7 @@ success:
* vm_flags and vm_page_prot are protected by the mmap_lock
* held in write mode.
*/
+ vma_start_write(vma);
vm_flags_reset(vma, newflags);
/*
* We want to check manually if we can change individual PTEs writable
diff --git a/mm/nommu.c b/mm/nommu.c
index 14ffd4c668fe..30cc1228bd06 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -682,23 +682,20 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
EXPORT_SYMBOL(find_vma);
/*
- * find a VMA
- * - we don't extend stack VMAs under NOMMU conditions
- */
-struct vm_area_struct *find_extend_vma(struct mm_struct *mm, unsigned long addr)
-{
- return find_vma(mm, addr);
-}
-
-/*
* expand a stack to a given address
* - not supported under NOMMU conditions
*/
-int expand_stack(struct vm_area_struct *vma, unsigned long address)
+int expand_stack_locked(struct vm_area_struct *vma, unsigned long addr)
{
return -ENOMEM;
}
+struct vm_area_struct *expand_stack(struct mm_struct *mm, unsigned long addr)
+{
+ mmap_read_unlock(mm);
+ return NULL;
+}
+
/*
* look up the first VMA exactly that exactly matches addr
* - should be called with mm->mmap_lock at least held readlocked
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 1276e49b31b0..2c5b854f767b 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -746,6 +746,19 @@ static inline void queue_oom_reaper(struct task_struct *tsk)
#endif /* CONFIG_MMU */
/**
+ * tsk->mm has to be non NULL and caller has to guarantee it is stable (either
+ * under task_lock or operate on the current).
+ */
+static void __mark_oom_victim(struct task_struct *tsk)
+{
+ struct mm_struct *mm = tsk->mm;
+
+ if (!cmpxchg(&tsk->signal->oom_mm, NULL, mm)) {
+ mmgrab(tsk->signal->oom_mm);
+ }
+}
+
+/**
* mark_oom_victim - mark the given task as OOM victim
* @tsk: task to mark
*
@@ -757,16 +770,13 @@ static inline void queue_oom_reaper(struct task_struct *tsk)
*/
static void mark_oom_victim(struct task_struct *tsk)
{
- struct mm_struct *mm = tsk->mm;
-
WARN_ON(oom_killer_disabled);
/* OOM killer might race with memcg OOM */
if (test_and_set_tsk_thread_flag(tsk, TIF_MEMDIE))
return;
/* oom_mm is bound to the signal struct life time. */
- if (!cmpxchg(&tsk->signal->oom_mm, NULL, mm))
- mmgrab(tsk->signal->oom_mm);
+ __mark_oom_victim(tsk);
/*
* Make sure that the task is woken up from uninterruptible sleep
@@ -1260,3 +1270,16 @@ put_task:
return -ENOSYS;
#endif /* CONFIG_MMU */
}
+
+void add_to_oom_reaper(struct task_struct *p)
+{
+ p = find_lock_task_mm(p);
+ if (!p)
+ return;
+
+ if (task_will_free_mem(p)) {
+ __mark_oom_victim(p);
+ queue_oom_reaper(p);
+ }
+ task_unlock(p);
+}
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 856b0009b21f..501d69ac8b95 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -77,6 +77,7 @@
#include <linux/buffer_head.h>
#include <linux/delayacct.h>
#include <trace/hooks/mm.h>
+#include <trace/hooks/vmscan.h>
#include <asm/sections.h>
#include <asm/tlbflush.h>
@@ -1141,6 +1142,13 @@ static inline void __free_one_page(struct page *page,
unsigned long combined_pfn;
struct page *buddy;
bool to_tail;
+ bool bypass = false;
+
+ trace_android_vh_free_one_page_bypass(page, zone, order,
+ migratetype, (int)fpi_flags, &bypass);
+
+ if (bypass)
+ return;
VM_BUG_ON(!zone_is_initialized(zone));
VM_BUG_ON_PAGE(page->flags & PAGE_FLAGS_CHECK_AT_PREP, page);
@@ -2593,6 +2601,7 @@ static void prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags
set_page_pfmemalloc(page);
else
clear_page_pfmemalloc(page);
+ trace_android_vh_test_clear_look_around_ref(page);
}
/*
@@ -3129,7 +3138,11 @@ static __always_inline struct page *
__rmqueue(struct zone *zone, unsigned int order, int migratetype,
unsigned int alloc_flags)
{
- struct page *page;
+ struct page *page = NULL;
+
+ trace_android_vh_rmqueue_smallest_bypass(&page, zone, order, migratetype);
+ if (page)
+ return page;
retry:
page = __rmqueue_smallest(zone, order, migratetype);
@@ -4490,6 +4503,7 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order,
if (!mutex_trylock(&oom_lock)) {
*did_some_progress = 1;
schedule_timeout_uninterruptible(1);
+ trace_android_vh_mm_alloc_pages_may_oom_exit(&oc, *did_some_progress);
return NULL;
}
@@ -4552,6 +4566,7 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order,
}
out:
mutex_unlock(&oom_lock);
+ trace_android_vh_mm_alloc_pages_may_oom_exit(&oc, *did_some_progress);
return page;
}
@@ -4855,10 +4870,12 @@ __alloc_pages_direct_reclaim(gfp_t gfp_mask, unsigned int order,
unsigned int alloc_flags, const struct alloc_context *ac,
unsigned long *did_some_progress)
{
+ int retry_times = 0;
struct page *page = NULL;
unsigned long pflags;
bool drained = false;
+ trace_android_vh_mm_alloc_pages_direct_reclaim_enter(order);
psi_memstall_enter(&pflags);
*did_some_progress = __perform_reclaim(gfp_mask, order, ac);
if (unlikely(!(*did_some_progress)))
@@ -4876,11 +4893,12 @@ retry:
unreserve_highatomic_pageblock(ac, false);
drain_all_pages(NULL);
drained = true;
+ ++retry_times;
goto retry;
}
out:
psi_memstall_leave(&pflags);
-
+ trace_android_vh_mm_alloc_pages_direct_reclaim_exit(*did_some_progress, retry_times);
return page;
}
diff --git a/mm/page_owner.c b/mm/page_owner.c
index ab06f4391954..95c436aec4c0 100644
--- a/mm/page_owner.c
+++ b/mm/page_owner.c
@@ -36,6 +36,7 @@ struct page_owner {
static bool page_owner_enabled __initdata;
DEFINE_STATIC_KEY_FALSE(page_owner_inited);
+EXPORT_SYMBOL_GPL(page_owner_inited);
static depot_stack_handle_t dummy_handle;
static depot_stack_handle_t failure_handle;
@@ -214,6 +215,7 @@ noinline void __set_page_owner(struct page *page, unsigned short order,
__set_page_owner_handle(page_ext, handle, order, gfp_mask);
page_ext_put(page_ext);
}
+EXPORT_SYMBOL_GPL(__set_page_owner);
void __set_page_owner_migrate_reason(struct page *page, int reason)
{
diff --git a/mm/pagewalk.c b/mm/pagewalk.c
index 2ff3a5bebceb..d92c5b567837 100644
--- a/mm/pagewalk.c
+++ b/mm/pagewalk.c
@@ -384,6 +384,33 @@ static int __walk_page_range(unsigned long start, unsigned long end,
return err;
}
+static inline void process_mm_walk_lock(struct mm_struct *mm,
+ enum page_walk_lock walk_lock)
+{
+ if (walk_lock == PGWALK_RDLOCK)
+ mmap_assert_locked(mm);
+ else
+ mmap_assert_write_locked(mm);
+}
+
+static inline void process_vma_walk_lock(struct vm_area_struct *vma,
+ enum page_walk_lock walk_lock)
+{
+#ifdef CONFIG_PER_VMA_LOCK
+ switch (walk_lock) {
+ case PGWALK_WRLOCK:
+ vma_start_write(vma);
+ break;
+ case PGWALK_WRLOCK_VERIFY:
+ vma_assert_write_locked(vma);
+ break;
+ case PGWALK_RDLOCK:
+ /* PGWALK_RDLOCK is handled by process_mm_walk_lock */
+ break;
+ }
+#endif
+}
+
/**
* walk_page_range - walk page table with caller specific callbacks
* @mm: mm_struct representing the target process of page table walk
@@ -443,7 +470,7 @@ int walk_page_range(struct mm_struct *mm, unsigned long start,
if (!walk.mm)
return -EINVAL;
- mmap_assert_locked(walk.mm);
+ process_mm_walk_lock(walk.mm, ops->walk_lock);
vma = find_vma(walk.mm, start);
do {
@@ -458,6 +485,7 @@ int walk_page_range(struct mm_struct *mm, unsigned long start,
if (ops->pte_hole)
err = ops->pte_hole(start, next, -1, &walk);
} else { /* inside vma */
+ process_vma_walk_lock(vma, ops->walk_lock);
walk.vma = vma;
next = min(end, vma->vm_end);
vma = find_vma(mm, vma->vm_end);
@@ -531,7 +559,8 @@ int walk_page_vma(struct vm_area_struct *vma, const struct mm_walk_ops *ops,
if (!walk.mm)
return -EINVAL;
- mmap_assert_locked(walk.mm);
+ process_mm_walk_lock(walk.mm, ops->walk_lock);
+ process_vma_walk_lock(vma, ops->walk_lock);
err = walk_page_test(vma->vm_start, vma->vm_end, &walk);
if (err > 0)
diff --git a/mm/rmap.c b/mm/rmap.c
index 9cf4f09cd71d..707de1aa3ceb 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -826,6 +826,7 @@ static bool folio_referenced_one(struct folio *folio,
}
if (pvmw.pte) {
+ trace_android_vh_look_around(&pvmw, folio, vma, &referenced);
if (lru_gen_enabled() && pte_young(*pvmw.pte)) {
lru_gen_look_around(&pvmw);
referenced++;
@@ -935,6 +936,7 @@ int folio_referenced(struct folio *folio, int is_locked,
return rwc.contended ? -1 : pra.referenced;
}
+EXPORT_SYMBOL_GPL(folio_referenced);
static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw)
{
diff --git a/mm/shmem.c b/mm/shmem.c
index f5232a35f04d..90ffdfd35bc6 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -805,14 +805,16 @@ unsigned long shmem_partial_swap_usage(struct address_space *mapping,
XA_STATE(xas, &mapping->i_pages, start);
struct page *page;
unsigned long swapped = 0;
+ unsigned long max = end - 1;
rcu_read_lock();
- xas_for_each(&xas, page, end - 1) {
+ xas_for_each(&xas, page, max) {
if (xas_retry(&xas, page))
continue;
if (xa_is_value(page))
swapped++;
-
+ if (xas.xa_index == max)
+ break;
if (need_resched()) {
xas_pause(&xas);
cond_resched_rcu();
diff --git a/mm/swap.h b/mm/swap.h
index cc08c459c619..9ad061576192 100644
--- a/mm/swap.h
+++ b/mm/swap.h
@@ -46,7 +46,6 @@ struct page *find_get_incore_page(struct address_space *mapping, pgoff_t index);
struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
struct vm_area_struct *vma,
unsigned long addr,
- bool do_poll,
struct swap_iocb **plug);
struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
struct vm_area_struct *vma,
diff --git a/mm/swap_state.c b/mm/swap_state.c
index 438d0676c5be..3e7db8ea40f3 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -515,15 +515,14 @@ fail_unlock:
*/
struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
struct vm_area_struct *vma,
- unsigned long addr, bool do_poll,
- struct swap_iocb **plug)
+ unsigned long addr, struct swap_iocb **plug)
{
bool page_was_allocated;
struct page *retpage = __read_swap_cache_async(entry, gfp_mask,
vma, addr, &page_was_allocated);
if (page_was_allocated)
- swap_readpage(retpage, do_poll, plug);
+ swap_readpage(retpage, false, plug);
return retpage;
}
@@ -618,7 +617,7 @@ struct page *swap_cluster_readahead(swp_entry_t entry, gfp_t gfp_mask,
struct swap_info_struct *si = swp_swap_info(entry);
struct blk_plug plug;
struct swap_iocb *splug = NULL;
- bool do_poll = true, page_allocated;
+ bool page_allocated;
struct vm_area_struct *vma = vmf->vma;
unsigned long addr = vmf->address;
@@ -626,7 +625,6 @@ struct page *swap_cluster_readahead(swp_entry_t entry, gfp_t gfp_mask,
if (!mask)
goto skip;
- do_poll = false;
/* Read a page_cluster sized and aligned cluster around offset. */
start_offset = offset & ~mask;
end_offset = offset | mask;
@@ -658,7 +656,7 @@ struct page *swap_cluster_readahead(swp_entry_t entry, gfp_t gfp_mask,
lru_add_drain(); /* Push any new pages onto the LRU now */
skip:
/* The page was likely read above, so no need for plugging here */
- return read_swap_cache_async(entry, gfp_mask, vma, addr, do_poll, NULL);
+ return read_swap_cache_async(entry, gfp_mask, vma, addr, NULL);
}
int init_swap_address_space(unsigned int type, unsigned long nr_pages)
@@ -832,7 +830,7 @@ static struct page *swap_vma_readahead(swp_entry_t fentry, gfp_t gfp_mask,
skip:
/* The page was likely read above, so no need for plugging here */
return read_swap_cache_async(fentry, gfp_mask, vma, vmf->address,
- ra_info.win == 1, NULL);
+ NULL);
}
/**
diff --git a/mm/vmscan.c b/mm/vmscan.c
index cd4323f336a6..de0a079c029f 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1468,6 +1468,11 @@ static enum folio_references folio_check_references(struct folio *folio,
{
int referenced_ptes, referenced_folio;
unsigned long vm_flags;
+ int ret = 0;
+
+ trace_android_vh_check_folio_look_around_ref(folio, &ret);
+ if (ret)
+ return ret;
referenced_ptes = folio_referenced(folio, 1, sc->target_mem_cgroup,
&vm_flags);
@@ -2176,6 +2181,25 @@ static __always_inline void update_lru_sizes(struct lruvec *lruvec,
}
+#ifdef CONFIG_CMA
+/*
+ * It is waste of effort to scan and reclaim CMA pages if it is not available
+ * for current allocation context. Kswapd can not be enrolled as it can not
+ * distinguish this scenario by using sc->gfp_mask = GFP_KERNEL
+ */
+static bool skip_cma(struct folio *folio, struct scan_control *sc)
+{
+ return !current_is_kswapd() &&
+ gfp_migratetype(sc->gfp_mask) != MIGRATE_MOVABLE &&
+ get_pageblock_migratetype(&folio->page) == MIGRATE_CMA;
+}
+#else
+static bool skip_cma(struct folio *folio, struct scan_control *sc)
+{
+ return false;
+}
+#endif
+
/*
* Isolating page from the lruvec to fill in @dst list by nr_to_scan times.
*
@@ -2222,7 +2246,8 @@ static unsigned long isolate_lru_folios(unsigned long nr_to_scan,
nr_pages = folio_nr_pages(folio);
total_scan += nr_pages;
- if (folio_zonenum(folio) > sc->reclaim_idx) {
+ if (folio_zonenum(folio) > sc->reclaim_idx ||
+ skip_cma(folio, sc)) {
nr_skipped[folio_zonenum(folio)] += nr_pages;
move_to = &folios_skipped;
goto move;
@@ -2941,6 +2966,8 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
goto out;
}
+
+ trace_android_vh_tune_swappiness(&swappiness);
/*
* Global reclaim will swap to prevent OOM even with no
* swappiness, but memcg users want to use this knob to
@@ -3015,6 +3042,7 @@ static void get_scan_count(struct lruvec *lruvec, struct scan_control *sc,
fraction[1] = fp;
denominator = ap + fp;
out:
+ trace_android_vh_tune_scan_type(&scan_balance);
for_each_evictable_lru(lru) {
int file = is_file_lru(lru);
unsigned long lruvec_size;
@@ -3193,6 +3221,7 @@ static struct lruvec *get_lruvec(struct mem_cgroup *memcg, int nid)
static int get_swappiness(struct lruvec *lruvec, struct scan_control *sc)
{
+ int swappiness;
struct mem_cgroup *memcg = lruvec_memcg(lruvec);
struct pglist_data *pgdat = lruvec_pgdat(lruvec);
@@ -3203,7 +3232,10 @@ static int get_swappiness(struct lruvec *lruvec, struct scan_control *sc)
mem_cgroup_get_nr_swap_pages(memcg) <= 0)
return 0;
- return mem_cgroup_swappiness(memcg);
+ swappiness = mem_cgroup_swappiness(memcg);
+ trace_android_vh_tune_swappiness(&swappiness);
+
+ return swappiness;
}
static int get_nr_gens(struct lruvec *lruvec, int type)
@@ -4188,6 +4220,7 @@ static void walk_mm(struct lruvec *lruvec, struct mm_struct *mm, struct lru_gen_
static const struct mm_walk_ops mm_walk_ops = {
.test_walk = should_skip_vma,
.p4d_entry = walk_pud_range,
+ .walk_lock = PGWALK_RDLOCK,
};
int err;
@@ -4343,7 +4376,7 @@ static void inc_max_seq(struct lruvec *lruvec, bool can_swap, bool force_scan)
int prev, next;
int type, zone;
struct lru_gen_folio *lrugen = &lruvec->lrugen;
-
+restart:
spin_lock_irq(&lruvec->lru_lock);
VM_WARN_ON_ONCE(!seq_is_valid(lruvec));
@@ -4354,11 +4387,12 @@ static void inc_max_seq(struct lruvec *lruvec, bool can_swap, bool force_scan)
VM_WARN_ON_ONCE(!force_scan && (type == LRU_GEN_FILE || can_swap));
- while (!inc_min_seq(lruvec, type, can_swap)) {
- spin_unlock_irq(&lruvec->lru_lock);
- cond_resched();
- spin_lock_irq(&lruvec->lru_lock);
- }
+ if (inc_min_seq(lruvec, type, can_swap))
+ continue;
+
+ spin_unlock_irq(&lruvec->lru_lock);
+ cond_resched();
+ goto restart;
}
/*
@@ -4559,6 +4593,7 @@ void lru_gen_look_around(struct page_vma_mapped_walk *pvmw)
pte_t *pte = pvmw->pte;
unsigned long addr = pvmw->address;
struct folio *folio = pfn_folio(pvmw->pfn);
+ bool can_swap = !folio_is_file_lru(folio);
struct mem_cgroup *memcg = folio_memcg(folio);
struct pglist_data *pgdat = folio_pgdat(folio);
struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat);
@@ -4606,7 +4641,7 @@ void lru_gen_look_around(struct page_vma_mapped_walk *pvmw)
if (!pte_young(pte[i]))
continue;
- folio = get_pfn_folio(pfn, memcg, pgdat, !walk || walk->can_swap);
+ folio = get_pfn_folio(pfn, memcg, pgdat, can_swap);
if (!folio)
continue;
@@ -4789,7 +4824,8 @@ static int lru_gen_memcg_seg(struct lruvec *lruvec)
* the eviction
******************************************************************************/
-static bool sort_folio(struct lruvec *lruvec, struct folio *folio, int tier_idx)
+static bool sort_folio(struct lruvec *lruvec, struct folio *folio, struct scan_control *sc,
+ int tier_idx)
{
bool success;
int gen = folio_lru_gen(folio);
@@ -4839,6 +4875,13 @@ static bool sort_folio(struct lruvec *lruvec, struct folio *folio, int tier_idx)
return true;
}
+ /* ineligible */
+ if (zone > sc->reclaim_idx || skip_cma(folio, sc)) {
+ gen = folio_inc_gen(lruvec, folio, false);
+ list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]);
+ return true;
+ }
+
/* waiting for writeback */
if (folio_test_locked(folio) || folio_test_writeback(folio) ||
(type == LRU_GEN_FILE && folio_test_dirty(folio))) {
@@ -4887,7 +4930,8 @@ static bool isolate_folio(struct lruvec *lruvec, struct folio *folio, struct sca
static int scan_folios(struct lruvec *lruvec, struct scan_control *sc,
int type, int tier, struct list_head *list)
{
- int gen, zone;
+ int i;
+ int gen;
enum vm_event_item item;
int sorted = 0;
int scanned = 0;
@@ -4903,9 +4947,10 @@ static int scan_folios(struct lruvec *lruvec, struct scan_control *sc,
gen = lru_gen_from_seq(lrugen->min_seq[type]);
- for (zone = sc->reclaim_idx; zone >= 0; zone--) {
+ for (i = MAX_NR_ZONES; i > 0; i--) {
LIST_HEAD(moved);
int skipped = 0;
+ int zone = (sc->reclaim_idx + i) % MAX_NR_ZONES;
struct list_head *head = &lrugen->folios[gen][type][zone];
while (!list_empty(head)) {
@@ -4919,7 +4964,7 @@ static int scan_folios(struct lruvec *lruvec, struct scan_control *sc,
scanned += delta;
- if (sort_folio(lruvec, folio, tier))
+ if (sort_folio(lruvec, folio, sc, tier))
sorted += delta;
else if (isolate_folio(lruvec, folio, sc)) {
list_add(&folio->lru, list);
@@ -5236,11 +5281,51 @@ static unsigned long get_nr_to_reclaim(struct scan_control *sc)
return max(sc->nr_to_reclaim, compact_gap(sc->order));
}
+static bool should_abort_scan(struct lruvec *lruvec, struct scan_control *sc)
+{
+ unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
+ bool check_wmarks = false;
+ int i;
+
+ if (sc->nr_reclaimed >= nr_to_reclaim)
+ return true;
+
+ trace_android_vh_scan_abort_check_wmarks(&check_wmarks);
+
+ if (!check_wmarks)
+ return false;
+
+ if (!current_is_kswapd())
+ return false;
+
+ for (i = 0; i <= sc->reclaim_idx; i++) {
+ unsigned long wmark;
+ struct zone *zone = lruvec_pgdat(lruvec)->node_zones + i;
+
+ if (!managed_zone(zone))
+ continue;
+
+ if (sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING)
+ wmark = wmark_pages(zone, WMARK_PROMO);
+ else
+ wmark = high_wmark_pages(zone);
+
+ /*
+ * Abort scan once the target number of order zero pages are met.
+ * Reclaim MIN_LRU_BATCH << 2 to facilitate immediate kswapd sleep.
+ */
+ wmark += MIN_LRU_BATCH << 2;
+ if (!zone_watermark_ok_safe(zone, 0, wmark, sc->reclaim_idx))
+ return false;
+ }
+
+ return true;
+}
+
static bool try_to_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
{
long nr_to_scan;
unsigned long scanned = 0;
- unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
int swappiness = get_swappiness(lruvec, sc);
/* clean file folios are more likely to exist */
@@ -5262,7 +5347,7 @@ static bool try_to_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
if (scanned >= nr_to_scan)
break;
- if (sc->nr_reclaimed >= nr_to_reclaim)
+ if (should_abort_scan(lruvec, sc))
break;
cond_resched();
@@ -5321,10 +5406,9 @@ static void shrink_many(struct pglist_data *pgdat, struct scan_control *sc)
int bin;
int first_bin;
struct lruvec *lruvec;
- struct lru_gen_folio *lrugen;
+ struct lru_gen_folio *lrugen = NULL;
struct mem_cgroup *memcg;
const struct hlist_nulls_node *pos;
- unsigned long nr_to_reclaim = get_nr_to_reclaim(sc);
bin = first_bin = get_random_u32_below(MEMCG_NR_BINS);
restart:
@@ -5355,7 +5439,7 @@ restart:
rcu_read_lock();
- if (sc->nr_reclaimed >= nr_to_reclaim)
+ if (should_abort_scan(lruvec, sc))
break;
}
@@ -5366,7 +5450,7 @@ restart:
mem_cgroup_put(memcg);
- if (sc->nr_reclaimed >= nr_to_reclaim)
+ if (lruvec && should_abort_scan(lruvec, sc))
return;
/* restart if raced with lru_gen_rotate_memcg() */
@@ -7704,6 +7788,8 @@ kswapd_try_sleep:
alloc_order);
reclaim_order = balance_pgdat(pgdat, alloc_order,
highest_zoneidx);
+ trace_android_vh_vmscan_kswapd_done(pgdat->node_id, highest_zoneidx,
+ alloc_order, reclaim_order);
if (reclaim_order < alloc_order)
goto kswapd_try_sleep;
}
diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index 649376f17bd9..02e784182c20 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -33,8 +33,7 @@
/*
* lock ordering:
* page_lock
- * pool->migrate_lock
- * class->lock
+ * pool->lock
* zspage->lock
*/
@@ -192,7 +191,6 @@ static const int fullness_threshold_frac = 4;
static size_t huge_class_size;
struct size_class {
- spinlock_t lock;
struct list_head fullness_list[NR_ZS_FULLNESS];
/*
* Size of objects stored in this class. Must be multiple
@@ -247,8 +245,8 @@ struct zs_pool {
#ifdef CONFIG_COMPACTION
struct work_struct free_work;
#endif
- /* protect page/zspage migration */
- rwlock_t migrate_lock;
+ spinlock_t lock;
+ atomic_t compaction_in_progress;
};
struct zspage {
@@ -355,7 +353,7 @@ static void cache_free_zspage(struct zs_pool *pool, struct zspage *zspage)
kmem_cache_free(pool->zspage_cachep, zspage);
}
-/* class->lock(which owns the handle) synchronizes races */
+/* pool->lock(which owns the handle) synchronizes races */
static void record_obj(unsigned long handle, unsigned long obj)
{
*(unsigned long *)handle = obj;
@@ -452,7 +450,7 @@ static __maybe_unused int is_first_page(struct page *page)
return PagePrivate(page);
}
-/* Protected by class->lock */
+/* Protected by pool->lock */
static inline int get_zspage_inuse(struct zspage *zspage)
{
return zspage->inuse;
@@ -597,13 +595,13 @@ static int zs_stats_size_show(struct seq_file *s, void *v)
if (class->index != i)
continue;
- spin_lock(&class->lock);
+ spin_lock(&pool->lock);
class_almost_full = zs_stat_get(class, CLASS_ALMOST_FULL);
class_almost_empty = zs_stat_get(class, CLASS_ALMOST_EMPTY);
obj_allocated = zs_stat_get(class, OBJ_ALLOCATED);
obj_used = zs_stat_get(class, OBJ_USED);
freeable = zs_can_compact(class);
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
objs_per_zspage = class->objs_per_zspage;
pages_used = obj_allocated / objs_per_zspage *
@@ -916,7 +914,7 @@ static void __free_zspage(struct zs_pool *pool, struct size_class *class,
get_zspage_mapping(zspage, &class_idx, &fg);
- assert_spin_locked(&class->lock);
+ assert_spin_locked(&pool->lock);
VM_BUG_ON(get_zspage_inuse(zspage));
VM_BUG_ON(fg != ZS_EMPTY);
@@ -1247,19 +1245,19 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle,
BUG_ON(in_interrupt());
/* It guarantees it can get zspage from handle safely */
- read_lock(&pool->migrate_lock);
+ spin_lock(&pool->lock);
obj = handle_to_obj(handle);
obj_to_location(obj, &page, &obj_idx);
zspage = get_zspage(page);
/*
- * migration cannot move any zpages in this zspage. Here, class->lock
+ * migration cannot move any zpages in this zspage. Here, pool->lock
* is too heavy since callers would take some time until they calls
* zs_unmap_object API so delegate the locking from class to zspage
* which is smaller granularity.
*/
migrate_read_lock(zspage);
- read_unlock(&pool->migrate_lock);
+ spin_unlock(&pool->lock);
class = zspage_class(pool, zspage);
off = (class->size * obj_idx) & ~PAGE_MASK;
@@ -1412,8 +1410,8 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
size += ZS_HANDLE_SIZE;
class = pool->size_class[get_size_class_index(size)];
- /* class->lock effectively protects the zpage migration */
- spin_lock(&class->lock);
+ /* pool->lock effectively protects the zpage migration */
+ spin_lock(&pool->lock);
zspage = find_get_zspage(class);
if (likely(zspage)) {
obj = obj_malloc(pool, zspage, handle);
@@ -1421,12 +1419,12 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
fix_fullness_group(class, zspage);
record_obj(handle, obj);
class_stat_inc(class, OBJ_USED, 1);
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
return handle;
}
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
zspage = alloc_zspage(pool, class, gfp);
if (!zspage) {
@@ -1434,7 +1432,7 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
return (unsigned long)ERR_PTR(-ENOMEM);
}
- spin_lock(&class->lock);
+ spin_lock(&pool->lock);
obj = obj_malloc(pool, zspage, handle);
newfg = get_fullness_group(class, zspage);
insert_zspage(class, zspage, newfg);
@@ -1447,7 +1445,7 @@ unsigned long zs_malloc(struct zs_pool *pool, size_t size, gfp_t gfp)
/* We completely set up zspage so mark them as movable */
SetZsPageMovable(pool, zspage);
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
return handle;
}
@@ -1491,16 +1489,14 @@ void zs_free(struct zs_pool *pool, unsigned long handle)
return;
/*
- * The pool->migrate_lock protects the race with zpage's migration
+ * The pool->lock protects the race with zpage's migration
* so it's safe to get the page from handle.
*/
- read_lock(&pool->migrate_lock);
+ spin_lock(&pool->lock);
obj = handle_to_obj(handle);
obj_to_page(obj, &f_page);
zspage = get_zspage(f_page);
class = zspage_class(pool, zspage);
- spin_lock(&class->lock);
- read_unlock(&pool->migrate_lock);
obj_free(class->size, obj);
class_stat_dec(class, OBJ_USED, 1);
@@ -1510,7 +1506,7 @@ void zs_free(struct zs_pool *pool, unsigned long handle)
free_zspage(pool, class, zspage);
out:
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
cache_free_handle(pool, handle);
}
EXPORT_SYMBOL_GPL(zs_free);
@@ -1821,6 +1817,7 @@ static void replace_sub_page(struct size_class *class, struct zspage *zspage,
static bool zs_page_isolate(struct page *page, isolate_mode_t mode)
{
+ struct zs_pool *pool;
struct zspage *zspage;
/*
@@ -1831,9 +1828,10 @@ static bool zs_page_isolate(struct page *page, isolate_mode_t mode)
VM_BUG_ON_PAGE(PageIsolated(page), page);
zspage = get_zspage(page);
- migrate_write_lock(zspage);
+ pool = zspage->pool;
+ spin_lock(&pool->lock);
inc_zspage_isolation(zspage);
- migrate_write_unlock(zspage);
+ spin_unlock(&pool->lock);
return true;
}
@@ -1867,16 +1865,12 @@ static int zs_page_migrate(struct page *newpage, struct page *page,
pool = zspage->pool;
/*
- * The pool migrate_lock protects the race between zpage migration
+ * The pool's lock protects the race between zpage migration
* and zs_free.
*/
- write_lock(&pool->migrate_lock);
+ spin_lock(&pool->lock);
class = zspage_class(pool, zspage);
- /*
- * the class lock protects zpage alloc/free in the zspage.
- */
- spin_lock(&class->lock);
/* the migrate_write_lock protects zpage access via zs_map_object */
migrate_write_lock(zspage);
@@ -1904,13 +1898,12 @@ static int zs_page_migrate(struct page *newpage, struct page *page,
kunmap_atomic(s_addr);
replace_sub_page(class, zspage, newpage, page);
+ dec_zspage_isolation(zspage);
/*
* Since we complete the data copy and set up new zspage structure,
- * it's okay to release migration_lock.
+ * it's okay to release the pool's lock.
*/
- write_unlock(&pool->migrate_lock);
- spin_unlock(&class->lock);
- dec_zspage_isolation(zspage);
+ spin_unlock(&pool->lock);
migrate_write_unlock(zspage);
get_page(newpage);
@@ -1928,14 +1921,16 @@ static int zs_page_migrate(struct page *newpage, struct page *page,
static void zs_page_putback(struct page *page)
{
struct zspage *zspage;
+ struct zs_pool *pool;
VM_BUG_ON_PAGE(!PageMovable(page), page);
VM_BUG_ON_PAGE(!PageIsolated(page), page);
zspage = get_zspage(page);
- migrate_write_lock(zspage);
+ pool = zspage->pool;
+ spin_lock(&pool->lock);
dec_zspage_isolation(zspage);
- migrate_write_unlock(zspage);
+ spin_unlock(&pool->lock);
}
static const struct movable_operations zsmalloc_mops = {
@@ -1964,9 +1959,9 @@ static void async_free_zspage(struct work_struct *work)
if (class->index != i)
continue;
- spin_lock(&class->lock);
+ spin_lock(&pool->lock);
list_splice_init(&class->fullness_list[ZS_EMPTY], &free_pages);
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
}
list_for_each_entry_safe(zspage, tmp, &free_pages, list) {
@@ -1976,9 +1971,9 @@ static void async_free_zspage(struct work_struct *work)
get_zspage_mapping(zspage, &class_idx, &fullness);
VM_BUG_ON(fullness != ZS_EMPTY);
class = pool->size_class[class_idx];
- spin_lock(&class->lock);
+ spin_lock(&pool->lock);
__free_zspage(pool, class, zspage);
- spin_unlock(&class->lock);
+ spin_unlock(&pool->lock);
}
};
@@ -2039,10 +2034,11 @@ static unsigned long __zs_compact(struct zs_pool *pool,
struct zspage *dst_zspage = NULL;
unsigned long pages_freed = 0;
- /* protect the race between zpage migration and zs_free */
- write_lock(&pool->migrate_lock);
- /* protect zpage allocation/free */
- spin_lock(&class->lock);
+ /*
+ * protect the race between zpage migration and zs_free
+ * as well as zpage allocation/free
+ */
+ spin_lock(&pool->lock);
while ((src_zspage = isolate_zspage(class, true))) {
/* protect someone accessing the zspage(i.e., zs_map_object) */
migrate_write_lock(src_zspage);
@@ -2067,7 +2063,7 @@ static unsigned long __zs_compact(struct zs_pool *pool,
putback_zspage(class, dst_zspage);
migrate_write_unlock(dst_zspage);
dst_zspage = NULL;
- if (rwlock_is_contended(&pool->migrate_lock))
+ if (spin_is_contended(&pool->lock))
break;
}
@@ -2084,11 +2080,9 @@ static unsigned long __zs_compact(struct zs_pool *pool,
pages_freed += class->pages_per_zspage;
} else
migrate_write_unlock(src_zspage);
- spin_unlock(&class->lock);
- write_unlock(&pool->migrate_lock);
+ spin_unlock(&pool->lock);
cond_resched();
- write_lock(&pool->migrate_lock);
- spin_lock(&class->lock);
+ spin_lock(&pool->lock);
}
if (src_zspage) {
@@ -2096,8 +2090,7 @@ static unsigned long __zs_compact(struct zs_pool *pool,
migrate_write_unlock(src_zspage);
}
- spin_unlock(&class->lock);
- write_unlock(&pool->migrate_lock);
+ spin_unlock(&pool->lock);
return pages_freed;
}
@@ -2108,6 +2101,15 @@ unsigned long zs_compact(struct zs_pool *pool)
struct size_class *class;
unsigned long pages_freed = 0;
+ /*
+ * Pool compaction is performed under pool->lock so it is basically
+ * single-threaded. Having more than one thread in __zs_compact()
+ * will increase pool->lock contention, which will impact other
+ * zsmalloc operations that need pool->lock.
+ */
+ if (atomic_xchg(&pool->compaction_in_progress, 1))
+ return 0;
+
for (i = ZS_SIZE_CLASSES - 1; i >= 0; i--) {
class = pool->size_class[i];
if (class->index != i)
@@ -2115,6 +2117,7 @@ unsigned long zs_compact(struct zs_pool *pool)
pages_freed += __zs_compact(pool, class);
}
atomic_long_add(pages_freed, &pool->stats.pages_compacted);
+ atomic_set(&pool->compaction_in_progress, 0);
return pages_freed;
}
@@ -2200,7 +2203,8 @@ struct zs_pool *zs_create_pool(const char *name)
return NULL;
init_deferred_free(pool);
- rwlock_init(&pool->migrate_lock);
+ spin_lock_init(&pool->lock);
+ atomic_set(&pool->compaction_in_progress, 0);
pool->name = kstrdup(name, GFP_KERNEL);
if (!pool->name)
@@ -2271,7 +2275,6 @@ struct zs_pool *zs_create_pool(const char *name)
class->index = i;
class->pages_per_zspage = pages_per_zspage;
class->objs_per_zspage = objs_per_zspage;
- spin_lock_init(&class->lock);
pool->size_class[i] = class;
for (fullness = ZS_EMPTY; fullness < NR_ZS_FULLNESS;
fullness++)
diff --git a/modules.bzl b/modules.bzl
index 5d3d31af91f7..52d92225aab4 100644
--- a/modules.bzl
+++ b/modules.bzl
@@ -6,7 +6,7 @@ This module contains a full list of kernel modules
compiled by GKI.
"""
-COMMON_GKI_MODULES_LIST = [
+_COMMON_GKI_MODULES_LIST = [
# keep sorted
"drivers/block/zram/zram.ko",
"drivers/bluetooth/btbcm.ko",
@@ -34,6 +34,7 @@ COMMON_GKI_MODULES_LIST = [
"drivers/net/usb/r8153_ecm.ko",
"drivers/net/usb/rtl8150.ko",
"drivers/net/usb/usbnet.ko",
+ "drivers/net/wwan/wwan.ko",
"drivers/usb/class/cdc-acm.ko",
"drivers/usb/serial/ftdi_sio.ko",
"drivers/usb/serial/usbserial.ko",
@@ -67,3 +68,56 @@ COMMON_GKI_MODULES_LIST = [
"net/tipc/diag.ko",
"net/tipc/tipc.ko",
]
+
+# Deprecated - Use `get_gki_modules_list` function instead.
+COMMON_GKI_MODULES_LIST = _COMMON_GKI_MODULES_LIST
+
+_ARM_GKI_MODULES_LIST = [
+ # keep sorted
+]
+
+_ARM64_GKI_MODULES_LIST = [
+ # keep sorted
+ "arch/arm64/geniezone/gzvm.ko",
+]
+
+_RISCV64_GKI_MODULES_LIST = [
+ # keep sorted
+]
+
+_X86_GKI_MODULES_LIST = [
+ # keep sorted
+]
+
+_X86_64_GKI_MODULES_LIST = [
+ # keep sorted
+]
+
+# buildifier: disable=unnamed-macro
+def get_gki_modules_list(arch = None):
+ """ Provides the list of GKI modules.
+
+ Args:
+ arch: One of [arm, arm64, i386, x86_64, riscv64].
+
+ Returns:
+ The list of GKI modules for the given |arch|.
+ """
+ gki_modules_list = [] + _COMMON_GKI_MODULES_LIST
+ if arch == "arm":
+ gki_modules_list += _ARM_GKI_MODULES_LIST
+ elif arch == "arm64":
+ gki_modules_list += _ARM64_GKI_MODULES_LIST
+ elif arch == "i386":
+ gki_modules_list += _X86_GKI_MODULES_LIST
+ elif arch == "x86_64":
+ gki_modules_list += _X86_64_GKI_MODULES_LIST
+ elif arch == "riscv64":
+ gki_modules_list += _RISCV64_GKI_MODULES_LIST
+ else:
+ fail("{}: arch {} not supported. Use one of [arm, arm64, i386, x86_64, riscv64]".format(
+ str(native.package_relative_label(":x")).removesuffix(":x"),
+ arch,
+ ))
+
+ return gki_modules_list
diff --git a/net/OWNERS b/net/OWNERS
deleted file mode 100644
index cbbfa70f7d89..000000000000
--- a/net/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-lorenzo@google.com
-maze@google.com
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 334e308451f5..ac36e7ae70b2 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2685,7 +2685,9 @@ void hci_unregister_dev(struct hci_dev *hdev)
{
BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus);
+ mutex_lock(&hdev->unregister_lock);
hci_dev_set_flag(hdev, HCI_UNREGISTER);
+ mutex_unlock(&hdev->unregister_lock);
write_lock(&hci_dev_list_lock);
list_del(&hdev->list);
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index 06581223238c..f597fe0db9f8 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -1003,7 +1003,14 @@ static int hci_sock_ioctl(struct socket *sock, unsigned int cmd,
if (hci_sock_gen_cookie(sk)) {
struct sk_buff *skb;
- if (capable(CAP_NET_ADMIN))
+ /* Perform careful checks before setting the HCI_SOCK_TRUSTED
+ * flag. Make sure that not only the current task but also
+ * the socket opener has the required capability, since
+ * privileged programs can be tricked into making ioctl calls
+ * on HCI sockets, and the socket should not be marked as
+ * trusted simply because the ioctl caller is privileged.
+ */
+ if (sk_capable(sk, CAP_NET_ADMIN))
hci_sock_set_flag(sk, HCI_SOCK_TRUSTED);
/* Send event to monitor */
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index 9361fb3685cc..5ae27c6f87ee 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -629,6 +629,7 @@ void hci_cmd_sync_init(struct hci_dev *hdev)
INIT_WORK(&hdev->cmd_sync_work, hci_cmd_sync_work);
INIT_LIST_HEAD(&hdev->cmd_sync_work_list);
mutex_init(&hdev->cmd_sync_work_lock);
+ mutex_init(&hdev->unregister_lock);
INIT_WORK(&hdev->cmd_sync_cancel_work, hci_cmd_sync_cancel_work);
INIT_WORK(&hdev->reenable_adv_work, reenable_adv);
@@ -688,14 +689,19 @@ int hci_cmd_sync_queue(struct hci_dev *hdev, hci_cmd_sync_work_func_t func,
void *data, hci_cmd_sync_work_destroy_t destroy)
{
struct hci_cmd_sync_work_entry *entry;
+ int err = 0;
- if (hci_dev_test_flag(hdev, HCI_UNREGISTER))
- return -ENODEV;
+ mutex_lock(&hdev->unregister_lock);
+ if (hci_dev_test_flag(hdev, HCI_UNREGISTER)) {
+ err = -ENODEV;
+ goto unlock;
+ }
entry = kmalloc(sizeof(*entry), GFP_KERNEL);
- if (!entry)
- return -ENOMEM;
-
+ if (!entry) {
+ err = -ENOMEM;
+ goto unlock;
+ }
entry->func = func;
entry->data = data;
entry->destroy = destroy;
@@ -706,7 +712,9 @@ int hci_cmd_sync_queue(struct hci_dev *hdev, hci_cmd_sync_work_func_t func,
queue_work(hdev->req_workqueue, &hdev->cmd_sync_work);
- return 0;
+unlock:
+ mutex_unlock(&hdev->unregister_lock);
+ return err;
}
EXPORT_SYMBOL(hci_cmd_sync_queue);
@@ -4483,6 +4491,9 @@ static int hci_init_sync(struct hci_dev *hdev)
!hci_dev_test_flag(hdev, HCI_CONFIG))
return 0;
+ if (hci_dev_test_and_set_flag(hdev, HCI_DEBUGFS_CREATED))
+ return 0;
+
hci_debugfs_create_common(hdev);
if (lmp_bredr_capable(hdev))
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index eebe256104bc..947ca580bb9a 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -46,6 +46,7 @@ static const struct proto_ops l2cap_sock_ops;
static void l2cap_sock_init(struct sock *sk, struct sock *parent);
static struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock,
int proto, gfp_t prio, int kern);
+static void l2cap_sock_cleanup_listen(struct sock *parent);
bool l2cap_is_socket(struct socket *sock)
{
@@ -1415,6 +1416,7 @@ static int l2cap_sock_release(struct socket *sock)
if (!sk)
return 0;
+ l2cap_sock_cleanup_listen(sk);
bt_sock_unlink(&l2cap_sk_list, sk);
err = l2cap_sock_shutdown(sock, SHUT_RDWR);
diff --git a/net/can/isotp.c b/net/can/isotp.c
index 5761d4ab839d..82280ac70df9 100644
--- a/net/can/isotp.c
+++ b/net/can/isotp.c
@@ -1079,8 +1079,9 @@ wait_free_buffer:
if (err)
goto err_event_drop;
- if (sk->sk_err)
- return -sk->sk_err;
+ err = sock_error(sk);
+ if (err)
+ return err;
}
return size;
diff --git a/net/core/net-traces.c b/net/core/net-traces.c
index 82a8a5c05639..ed7d56d17665 100644
--- a/net/core/net-traces.c
+++ b/net/core/net-traces.c
@@ -60,3 +60,9 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(napi_poll);
EXPORT_TRACEPOINT_SYMBOL_GPL(tcp_send_reset);
EXPORT_TRACEPOINT_SYMBOL_GPL(tcp_bad_csum);
+
+EXPORT_TRACEPOINT_SYMBOL_GPL(net_dev_queue);
+EXPORT_TRACEPOINT_SYMBOL_GPL(net_dev_xmit);
+EXPORT_TRACEPOINT_SYMBOL_GPL(netif_receive_skb);
+EXPORT_TRACEPOINT_SYMBOL_GPL(netif_rx);
+
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index cd4b3a610961..732ea19927a4 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -4032,6 +4032,11 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb,
skb_push(skb, -skb_network_offset(skb) + offset);
+ /* Ensure the head is writeable before touching the shared info */
+ err = skb_unclone(skb, GFP_ATOMIC);
+ if (err)
+ goto err_linearize;
+
skb_shinfo(skb)->frag_list = NULL;
while (list_skb) {
diff --git a/net/core/skmsg.c b/net/core/skmsg.c
index 53d0251788aa..65fb6f5b21b2 100644
--- a/net/core/skmsg.c
+++ b/net/core/skmsg.c
@@ -480,8 +480,6 @@ int sk_msg_recvmsg(struct sock *sk, struct sk_psock *psock, struct msghdr *msg,
msg_rx = sk_psock_peek_msg(psock);
}
out:
- if (psock->work_state.skb && copied > 0)
- schedule_work(&psock->work);
return copied;
}
EXPORT_SYMBOL_GPL(sk_msg_recvmsg);
@@ -623,42 +621,33 @@ static int sk_psock_handle_skb(struct sk_psock *psock, struct sk_buff *skb,
static void sk_psock_skb_state(struct sk_psock *psock,
struct sk_psock_work_state *state,
- struct sk_buff *skb,
int len, int off)
{
spin_lock_bh(&psock->ingress_lock);
if (sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED)) {
- state->skb = skb;
state->len = len;
state->off = off;
- } else {
- sock_drop(psock->sk, skb);
}
spin_unlock_bh(&psock->ingress_lock);
}
static void sk_psock_backlog(struct work_struct *work)
{
- struct sk_psock *psock = container_of(work, struct sk_psock, work);
+ struct delayed_work *dwork = to_delayed_work(work);
+ struct sk_psock *psock = container_of(dwork, struct sk_psock, work);
struct sk_psock_work_state *state = &psock->work_state;
struct sk_buff *skb = NULL;
+ u32 len = 0, off = 0;
bool ingress;
- u32 len, off;
int ret;
mutex_lock(&psock->work_mutex);
- if (unlikely(state->skb)) {
- spin_lock_bh(&psock->ingress_lock);
- skb = state->skb;
+ if (unlikely(state->len)) {
len = state->len;
off = state->off;
- state->skb = NULL;
- spin_unlock_bh(&psock->ingress_lock);
}
- if (skb)
- goto start;
- while ((skb = skb_dequeue(&psock->ingress_skb))) {
+ while ((skb = skb_peek(&psock->ingress_skb))) {
len = skb->len;
off = 0;
if (skb_bpf_strparser(skb)) {
@@ -667,7 +656,6 @@ static void sk_psock_backlog(struct work_struct *work)
off = stm->offset;
len = stm->full_len;
}
-start:
ingress = skb_bpf_ingress(skb);
skb_bpf_redirect_clear(skb);
do {
@@ -677,22 +665,28 @@ start:
len, ingress);
if (ret <= 0) {
if (ret == -EAGAIN) {
- sk_psock_skb_state(psock, state, skb,
- len, off);
+ sk_psock_skb_state(psock, state, len, off);
+
+ /* Delay slightly to prioritize any
+ * other work that might be here.
+ */
+ if (sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED))
+ schedule_delayed_work(&psock->work, 1);
goto end;
}
/* Hard errors break pipe and stop xmit. */
sk_psock_report_error(psock, ret ? -ret : EPIPE);
sk_psock_clear_state(psock, SK_PSOCK_TX_ENABLED);
- sock_drop(psock->sk, skb);
goto end;
}
off += ret;
len -= ret;
} while (len);
- if (!ingress)
+ skb = skb_dequeue(&psock->ingress_skb);
+ if (!ingress) {
kfree_skb(skb);
+ }
}
end:
mutex_unlock(&psock->work_mutex);
@@ -733,7 +727,7 @@ struct sk_psock *sk_psock_init(struct sock *sk, int node)
INIT_LIST_HEAD(&psock->link);
spin_lock_init(&psock->link_lock);
- INIT_WORK(&psock->work, sk_psock_backlog);
+ INIT_DELAYED_WORK(&psock->work, sk_psock_backlog);
mutex_init(&psock->work_mutex);
INIT_LIST_HEAD(&psock->ingress_msg);
spin_lock_init(&psock->ingress_lock);
@@ -785,11 +779,6 @@ static void __sk_psock_zap_ingress(struct sk_psock *psock)
skb_bpf_redirect_clear(skb);
sock_drop(psock->sk, skb);
}
- kfree_skb(psock->work_state.skb);
- /* We null the skb here to ensure that calls to sk_psock_backlog
- * do not pick up the free'd skb.
- */
- psock->work_state.skb = NULL;
__sk_psock_purge_ingress_msg(psock);
}
@@ -808,7 +797,6 @@ void sk_psock_stop(struct sk_psock *psock)
spin_lock_bh(&psock->ingress_lock);
sk_psock_clear_state(psock, SK_PSOCK_TX_ENABLED);
sk_psock_cork_free(psock);
- __sk_psock_zap_ingress(psock);
spin_unlock_bh(&psock->ingress_lock);
}
@@ -822,7 +810,8 @@ static void sk_psock_destroy(struct work_struct *work)
sk_psock_done_strp(psock);
- cancel_work_sync(&psock->work);
+ cancel_delayed_work_sync(&psock->work);
+ __sk_psock_zap_ingress(psock);
mutex_destroy(&psock->work_mutex);
psock_progs_drop(&psock->progs);
@@ -937,7 +926,7 @@ static int sk_psock_skb_redirect(struct sk_psock *from, struct sk_buff *skb)
}
skb_queue_tail(&psock_other->ingress_skb, skb);
- schedule_work(&psock_other->work);
+ schedule_delayed_work(&psock_other->work, 0);
spin_unlock_bh(&psock_other->ingress_lock);
return 0;
}
@@ -989,10 +978,8 @@ static int sk_psock_verdict_apply(struct sk_psock *psock, struct sk_buff *skb,
err = -EIO;
sk_other = psock->sk;
if (sock_flag(sk_other, SOCK_DEAD) ||
- !sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED)) {
- skb_bpf_redirect_clear(skb);
+ !sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED))
goto out_free;
- }
skb_bpf_set_ingress(skb);
@@ -1017,22 +1004,23 @@ static int sk_psock_verdict_apply(struct sk_psock *psock, struct sk_buff *skb,
spin_lock_bh(&psock->ingress_lock);
if (sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED)) {
skb_queue_tail(&psock->ingress_skb, skb);
- schedule_work(&psock->work);
+ schedule_delayed_work(&psock->work, 0);
err = 0;
}
spin_unlock_bh(&psock->ingress_lock);
- if (err < 0) {
- skb_bpf_redirect_clear(skb);
+ if (err < 0)
goto out_free;
- }
}
break;
case __SK_REDIRECT:
+ tcp_eat_skb(psock->sk, skb);
err = sk_psock_skb_redirect(psock, skb);
break;
case __SK_DROP:
default:
out_free:
+ skb_bpf_redirect_clear(skb);
+ tcp_eat_skb(psock->sk, skb);
sock_drop(psock->sk, skb);
}
@@ -1048,7 +1036,7 @@ static void sk_psock_write_space(struct sock *sk)
psock = sk_psock(sk);
if (likely(psock)) {
if (sk_psock_test_state(psock, SK_PSOCK_TX_ENABLED))
- schedule_work(&psock->work);
+ schedule_delayed_work(&psock->work, 0);
write_space = psock->saved_write_space;
}
rcu_read_unlock();
@@ -1077,8 +1065,7 @@ static void sk_psock_strp_read(struct strparser *strp, struct sk_buff *skb)
skb_dst_drop(skb);
skb_bpf_redirect_clear(skb);
ret = bpf_prog_run_pin_on_cpu(prog, skb);
- if (ret == SK_PASS)
- skb_bpf_set_strparser(skb);
+ skb_bpf_set_strparser(skb);
ret = sk_psock_map_verd(ret, skb_bpf_redirect_fetch(skb));
skb->sk = NULL;
}
@@ -1180,12 +1167,11 @@ static int sk_psock_verdict_recv(struct sock *sk, struct sk_buff *skb)
int ret = __SK_DROP;
int len = skb->len;
- skb_get(skb);
-
rcu_read_lock();
psock = sk_psock(sk);
if (unlikely(!psock)) {
len = 0;
+ tcp_eat_skb(sk, skb);
sock_drop(sk, skb);
goto out;
}
@@ -1209,10 +1195,20 @@ out:
static void sk_psock_verdict_data_ready(struct sock *sk)
{
struct socket *sock = sk->sk_socket;
+ int copied;
if (unlikely(!sock || !sock->ops || !sock->ops->read_skb))
return;
- sock->ops->read_skb(sk, sk_psock_verdict_recv);
+ copied = sock->ops->read_skb(sk, sk_psock_verdict_recv);
+ if (copied >= 0) {
+ struct sk_psock *psock;
+
+ rcu_read_lock();
+ psock = sk_psock(sk);
+ if (psock)
+ psock->saved_data_ready(sk);
+ rcu_read_unlock();
+ }
}
void sk_psock_start_verdict(struct sock *sk, struct sk_psock *psock)
diff --git a/net/core/sock_map.c b/net/core/sock_map.c
index a68a7290a3b2..7904811ff62d 100644
--- a/net/core/sock_map.c
+++ b/net/core/sock_map.c
@@ -414,8 +414,9 @@ static int __sock_map_delete(struct bpf_stab *stab, struct sock *sk_test,
{
struct sock *sk;
int err = 0;
+ unsigned long flags;
- raw_spin_lock_bh(&stab->lock);
+ raw_spin_lock_irqsave(&stab->lock, flags);
sk = *psk;
if (!sk_test || sk_test == sk)
sk = xchg(psk, NULL);
@@ -425,7 +426,7 @@ static int __sock_map_delete(struct bpf_stab *stab, struct sock *sk_test,
else
err = -EINVAL;
- raw_spin_unlock_bh(&stab->lock);
+ raw_spin_unlock_irqrestore(&stab->lock, flags);
return err;
}
@@ -923,11 +924,12 @@ static int sock_hash_delete_elem(struct bpf_map *map, void *key)
struct bpf_shtab_bucket *bucket;
struct bpf_shtab_elem *elem;
int ret = -ENOENT;
+ unsigned long flags;
hash = sock_hash_bucket_hash(key, key_size);
bucket = sock_hash_select_bucket(htab, hash);
- raw_spin_lock_bh(&bucket->lock);
+ raw_spin_lock_irqsave(&bucket->lock, flags);
elem = sock_hash_lookup_elem_raw(&bucket->head, hash, key, key_size);
if (elem) {
hlist_del_rcu(&elem->node);
@@ -935,7 +937,7 @@ static int sock_hash_delete_elem(struct bpf_map *map, void *key)
sock_hash_free_elem(htab, elem);
ret = 0;
}
- raw_spin_unlock_bh(&bucket->lock);
+ raw_spin_unlock_irqrestore(&bucket->lock, flags);
return ret;
}
@@ -1624,9 +1626,10 @@ void sock_map_close(struct sock *sk, long timeout)
rcu_read_unlock();
sk_psock_stop(psock);
release_sock(sk);
- cancel_work_sync(&psock->work);
+ cancel_delayed_work_sync(&psock->work);
sk_psock_put(sk, psock);
}
+
/* Make sure we do not recurse. This is a bug.
* Leak the socket instead of crashing on a stack overflow.
*/
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 5b19b77d5d75..c1ba999ba0fb 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -589,6 +589,7 @@ static long inet_wait_for_connect(struct sock *sk, long timeo, int writebias)
add_wait_queue(sk_sleep(sk), &wait);
sk->sk_write_pending += writebias;
+ sk->sk_wait_pending++;
/* Basic assumption: if someone sets sk->sk_err, he _must_
* change state of the socket from TCP_SYN_*.
@@ -604,6 +605,7 @@ static long inet_wait_for_connect(struct sock *sk, long timeo, int writebias)
}
remove_wait_queue(sk_sleep(sk), &wait);
sk->sk_write_pending -= writebias;
+ sk->sk_wait_pending--;
return timeo;
}
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index 916075e00d06..8e35ea66d930 100644
--- a/net/ipv4/inet_connection_sock.c
+++ b/net/ipv4/inet_connection_sock.c
@@ -1143,6 +1143,7 @@ struct sock *inet_csk_clone_lock(const struct sock *sk,
if (newsk) {
struct inet_connection_sock *newicsk = inet_csk(newsk);
+ newsk->sk_wait_pending = 0;
inet_sk_set_state(newsk, TCP_SYN_RECV);
newicsk->icsk_bind_hash = NULL;
newicsk->icsk_bind2_hash = NULL;
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index cd1320aca8a9..6aac196a74d0 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1568,7 +1568,7 @@ static int tcp_peek_sndq(struct sock *sk, struct msghdr *msg, int len)
* calculation of whether or not we must ACK for the sake of
* a window update.
*/
-static void __tcp_cleanup_rbuf(struct sock *sk, int copied)
+void __tcp_cleanup_rbuf(struct sock *sk, int copied)
{
struct tcp_sock *tp = tcp_sk(sk);
bool time_to_ack = false;
@@ -1770,7 +1770,6 @@ int tcp_read_skb(struct sock *sk, skb_read_actor_t recv_actor)
WARN_ON_ONCE(!skb_set_owner_sk_safe(skb, sk));
tcp_flags = TCP_SKB_CB(skb)->tcp_flags;
used = recv_actor(sk, skb);
- consume_skb(skb);
if (used < 0) {
if (!copied)
copied = used;
@@ -1784,14 +1783,6 @@ int tcp_read_skb(struct sock *sk, skb_read_actor_t recv_actor)
break;
}
}
- WRITE_ONCE(tp->copied_seq, seq);
-
- tcp_rcv_space_adjust(sk);
-
- /* Clean up data we have read: This will do ACK frames. */
- if (copied > 0)
- __tcp_cleanup_rbuf(sk, copied);
-
return copied;
}
EXPORT_SYMBOL(tcp_read_skb);
@@ -3086,6 +3077,12 @@ int tcp_disconnect(struct sock *sk, int flags)
int old_state = sk->sk_state;
u32 seq;
+ /* Deny disconnect if other threads are blocked in sk_wait_event()
+ * or inet_wait_for_connect().
+ */
+ if (sk->sk_wait_pending)
+ return -EBUSY;
+
if (old_state != TCP_CLOSE)
tcp_set_state(sk, TCP_CLOSE);
diff --git a/net/ipv4/tcp_bpf.c b/net/ipv4/tcp_bpf.c
index ebf917511937..0f8b09553dc1 100644
--- a/net/ipv4/tcp_bpf.c
+++ b/net/ipv4/tcp_bpf.c
@@ -11,6 +11,24 @@
#include <net/inet_common.h>
#include <net/tls.h>
+void tcp_eat_skb(struct sock *sk, struct sk_buff *skb)
+{
+ struct tcp_sock *tcp;
+ int copied;
+
+ if (!skb || !skb->len || !sk_is_tcp(sk))
+ return;
+
+ if (skb_bpf_strparser(skb))
+ return;
+
+ tcp = tcp_sk(sk);
+ copied = tcp->copied_seq + skb->len;
+ WRITE_ONCE(tcp->copied_seq, copied);
+ tcp_rcv_space_adjust(sk);
+ __tcp_cleanup_rbuf(sk, skb->len);
+}
+
static int bpf_tcp_ingress(struct sock *sk, struct sk_psock *psock,
struct sk_msg *msg, u32 apply_bytes, int flags)
{
@@ -174,14 +192,34 @@ static int tcp_msg_wait_data(struct sock *sk, struct sk_psock *psock,
return ret;
}
+static bool is_next_msg_fin(struct sk_psock *psock)
+{
+ struct scatterlist *sge;
+ struct sk_msg *msg_rx;
+ int i;
+
+ msg_rx = sk_psock_peek_msg(psock);
+ i = msg_rx->sg.start;
+ sge = sk_msg_elem(msg_rx, i);
+ if (!sge->length) {
+ struct sk_buff *skb = msg_rx->skb;
+
+ if (skb && TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN)
+ return true;
+ }
+ return false;
+}
+
static int tcp_bpf_recvmsg_parser(struct sock *sk,
struct msghdr *msg,
size_t len,
int flags,
int *addr_len)
{
+ struct tcp_sock *tcp = tcp_sk(sk);
+ u32 seq = tcp->copied_seq;
struct sk_psock *psock;
- int copied;
+ int copied = 0;
if (unlikely(flags & MSG_ERRQUEUE))
return inet_recv_error(sk, msg, len, addr_len);
@@ -194,8 +232,43 @@ static int tcp_bpf_recvmsg_parser(struct sock *sk,
return tcp_recvmsg(sk, msg, len, flags, addr_len);
lock_sock(sk);
+
+ /* We may have received data on the sk_receive_queue pre-accept and
+ * then we can not use read_skb in this context because we haven't
+ * assigned a sk_socket yet so have no link to the ops. The work-around
+ * is to check the sk_receive_queue and in these cases read skbs off
+ * queue again. The read_skb hook is not running at this point because
+ * of lock_sock so we avoid having multiple runners in read_skb.
+ */
+ if (unlikely(!skb_queue_empty(&sk->sk_receive_queue))) {
+ tcp_data_ready(sk);
+ /* This handles the ENOMEM errors if we both receive data
+ * pre accept and are already under memory pressure. At least
+ * let user know to retry.
+ */
+ if (unlikely(!skb_queue_empty(&sk->sk_receive_queue))) {
+ copied = -EAGAIN;
+ goto out;
+ }
+ }
+
msg_bytes_ready:
copied = sk_msg_recvmsg(sk, psock, msg, len, flags);
+ /* The typical case for EFAULT is the socket was gracefully
+ * shutdown with a FIN pkt. So check here the other case is
+ * some error on copy_page_to_iter which would be unexpected.
+ * On fin return correct return code to zero.
+ */
+ if (copied == -EFAULT) {
+ bool is_fin = is_next_msg_fin(psock);
+
+ if (is_fin) {
+ copied = 0;
+ seq++;
+ goto out;
+ }
+ }
+ seq += copied;
if (!copied) {
long timeo;
int data;
@@ -233,6 +306,10 @@ msg_bytes_ready:
copied = -EAGAIN;
}
out:
+ WRITE_ONCE(tcp->copied_seq, seq);
+ tcp_rcv_space_adjust(sk);
+ if (copied > 0)
+ __tcp_cleanup_rbuf(sk, copied);
release_sock(sk);
sk_psock_put(sk, psock);
return copied;
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 3ffa30c37293..956d6797c76f 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1806,7 +1806,7 @@ EXPORT_SYMBOL(__skb_recv_udp);
int udp_read_skb(struct sock *sk, skb_read_actor_t recv_actor)
{
struct sk_buff *skb;
- int err, copied;
+ int err;
try_again:
skb = skb_recv_udp(sk, MSG_DONTWAIT, &err);
@@ -1825,10 +1825,7 @@ try_again:
}
WARN_ON_ONCE(!skb_set_owner_sk_safe(skb, sk));
- copied = recv_actor(sk, skb);
- kfree_skb(skb);
-
- return copied;
+ return recv_actor(sk, skb);
}
EXPORT_SYMBOL(udp_read_skb);
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
index f82a61d92aa9..b3339741c32f 100644
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -195,6 +195,48 @@ static void nft_set_trans_bind(const struct nft_ctx *ctx, struct nft_set *set)
}
}
+static void nft_chain_trans_bind(const struct nft_ctx *ctx, struct nft_chain *chain)
+{
+ struct nftables_pernet *nft_net;
+ struct net *net = ctx->net;
+ struct nft_trans *trans;
+
+ if (!nft_chain_binding(chain))
+ return;
+
+ nft_net = nft_pernet(net);
+ list_for_each_entry_reverse(trans, &nft_net->commit_list, list) {
+ switch (trans->msg_type) {
+ case NFT_MSG_NEWCHAIN:
+ if (nft_trans_chain(trans) == chain)
+ nft_trans_chain_bound(trans) = true;
+ break;
+ case NFT_MSG_NEWRULE:
+ if (trans->ctx.chain == chain)
+ nft_trans_rule_bound(trans) = true;
+ break;
+ }
+ }
+}
+
+int nf_tables_bind_chain(const struct nft_ctx *ctx, struct nft_chain *chain)
+{
+ if (!nft_chain_binding(chain))
+ return 0;
+
+ if (nft_chain_binding(ctx->chain))
+ return -EOPNOTSUPP;
+
+ if (chain->bound)
+ return -EBUSY;
+
+ chain->bound = true;
+ chain->use++;
+ nft_chain_trans_bind(ctx, chain);
+
+ return 0;
+}
+
static int nft_netdev_register_hooks(struct net *net,
struct list_head *hook_list)
{
@@ -340,8 +382,9 @@ static struct nft_trans *nft_trans_chain_add(struct nft_ctx *ctx, int msg_type)
ntohl(nla_get_be32(ctx->nla[NFTA_CHAIN_ID]));
}
}
-
+ nft_trans_chain(trans) = ctx->chain;
nft_trans_commit_list_add_tail(ctx->net, trans);
+
return trans;
}
@@ -359,8 +402,7 @@ static int nft_delchain(struct nft_ctx *ctx)
return 0;
}
-static void nft_rule_expr_activate(const struct nft_ctx *ctx,
- struct nft_rule *rule)
+void nft_rule_expr_activate(const struct nft_ctx *ctx, struct nft_rule *rule)
{
struct nft_expr *expr;
@@ -373,9 +415,8 @@ static void nft_rule_expr_activate(const struct nft_ctx *ctx,
}
}
-static void nft_rule_expr_deactivate(const struct nft_ctx *ctx,
- struct nft_rule *rule,
- enum nft_trans_phase phase)
+void nft_rule_expr_deactivate(const struct nft_ctx *ctx, struct nft_rule *rule,
+ enum nft_trans_phase phase)
{
struct nft_expr *expr;
@@ -1281,7 +1322,7 @@ static int nft_flush_table(struct nft_ctx *ctx)
if (!nft_is_active_next(ctx->net, chain))
continue;
- if (nft_chain_is_bound(chain))
+ if (nft_chain_binding(chain))
continue;
ctx->chain = chain;
@@ -1326,7 +1367,7 @@ static int nft_flush_table(struct nft_ctx *ctx)
if (!nft_is_active_next(ctx->net, chain))
continue;
- if (nft_chain_is_bound(chain))
+ if (nft_chain_binding(chain))
continue;
ctx->chain = chain;
@@ -2188,7 +2229,7 @@ static int nft_basechain_init(struct nft_base_chain *basechain, u8 family,
return 0;
}
-static int nft_chain_add(struct nft_table *table, struct nft_chain *chain)
+int nft_chain_add(struct nft_table *table, struct nft_chain *chain)
{
int err;
@@ -2643,6 +2684,9 @@ static int nf_tables_delchain(struct sk_buff *skb, const struct nfnl_info *info,
return PTR_ERR(chain);
}
+ if (nft_chain_binding(chain))
+ return -EOPNOTSUPP;
+
if (info->nlh->nlmsg_flags & NLM_F_NONREC &&
chain->use > 0)
return -EBUSY;
@@ -3315,8 +3359,7 @@ err_fill_rule_info:
return err;
}
-static void nf_tables_rule_destroy(const struct nft_ctx *ctx,
- struct nft_rule *rule)
+void nf_tables_rule_destroy(const struct nft_ctx *ctx, struct nft_rule *rule)
{
struct nft_expr *expr, *next;
@@ -3333,7 +3376,7 @@ static void nf_tables_rule_destroy(const struct nft_ctx *ctx,
kfree(rule);
}
-void nf_tables_rule_release(const struct nft_ctx *ctx, struct nft_rule *rule)
+static void nf_tables_rule_release(const struct nft_ctx *ctx, struct nft_rule *rule)
{
nft_rule_expr_deactivate(ctx, rule, NFT_TRANS_RELEASE);
nf_tables_rule_destroy(ctx, rule);
@@ -3493,8 +3536,6 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_CHAIN]);
return PTR_ERR(chain);
}
- if (nft_chain_is_bound(chain))
- return -EOPNOTSUPP;
} else if (nla[NFTA_RULE_CHAIN_ID]) {
chain = nft_chain_lookup_byid(net, table, nla[NFTA_RULE_CHAIN_ID]);
@@ -3506,6 +3547,9 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
return -EINVAL;
}
+ if (nft_chain_is_bound(chain))
+ return -EOPNOTSUPP;
+
if (nla[NFTA_RULE_HANDLE]) {
handle = be64_to_cpu(nla_get_be64(nla[NFTA_RULE_HANDLE]));
rule = __nft_rule_lookup(chain, handle);
@@ -3625,6 +3669,11 @@ static int nf_tables_newrule(struct sk_buff *skb, const struct nfnl_info *info,
}
if (info->nlh->nlmsg_flags & NLM_F_REPLACE) {
+ if (nft_chain_binding(chain)) {
+ err = -EOPNOTSUPP;
+ goto err_destroy_flow_rule;
+ }
+
err = nft_delrule(&ctx, old_rule);
if (err < 0)
goto err_destroy_flow_rule;
@@ -3669,7 +3718,8 @@ err_destroy_flow_rule:
if (flow)
nft_flow_rule_destroy(flow);
err_release_rule:
- nf_tables_rule_release(&ctx, rule);
+ nft_rule_expr_deactivate(&ctx, rule, NFT_TRANS_PREPARE);
+ nf_tables_rule_destroy(&ctx, rule);
err_release_expr:
for (i = 0; i < n; i++) {
if (expr_info[i].ops) {
@@ -3729,7 +3779,7 @@ static int nf_tables_delrule(struct sk_buff *skb, const struct nfnl_info *info,
NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_CHAIN]);
return PTR_ERR(chain);
}
- if (nft_chain_is_bound(chain))
+ if (nft_chain_binding(chain))
return -EOPNOTSUPP;
}
@@ -3759,6 +3809,8 @@ static int nf_tables_delrule(struct sk_buff *skb, const struct nfnl_info *info,
list_for_each_entry(chain, &table->chains, list) {
if (!nft_is_active_next(net, chain))
continue;
+ if (nft_chain_binding(chain))
+ continue;
ctx.chain = chain;
err = nft_delrule_by_chain(&ctx);
@@ -6446,7 +6498,6 @@ static int nf_tables_newsetelem(struct sk_buff *skb,
void nft_data_hold(const struct nft_data *data, enum nft_data_types type)
{
struct nft_chain *chain;
- struct nft_rule *rule;
if (type == NFT_DATA_VERDICT) {
switch (data->verdict.code) {
@@ -6454,15 +6505,6 @@ void nft_data_hold(const struct nft_data *data, enum nft_data_types type)
case NFT_GOTO:
chain = data->verdict.chain;
chain->use++;
-
- if (!nft_chain_is_bound(chain))
- break;
-
- chain->table->use++;
- list_for_each_entry(rule, &chain->rules, list)
- chain->use++;
-
- nft_chain_add(chain->table, chain);
break;
}
}
@@ -6654,6 +6696,7 @@ static int nft_set_catchall_flush(const struct nft_ctx *ctx,
ret = __nft_set_catchall_flush(ctx, set, &elem);
if (ret < 0)
break;
+ nft_set_elem_change_active(ctx->net, set, ext);
}
return ret;
@@ -9324,7 +9367,7 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
kfree(nft_trans_chain_name(trans));
nft_trans_destroy(trans);
} else {
- if (nft_chain_is_bound(trans->ctx.chain)) {
+ if (nft_trans_chain_bound(trans)) {
nft_trans_destroy(trans);
break;
}
@@ -9341,6 +9384,10 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action)
nft_trans_destroy(trans);
break;
case NFT_MSG_NEWRULE:
+ if (nft_trans_rule_bound(trans)) {
+ nft_trans_destroy(trans);
+ break;
+ }
trans->ctx.chain->use--;
list_del_rcu(&nft_trans_rule(trans)->list);
nft_rule_expr_deactivate(&trans->ctx,
@@ -9892,22 +9939,12 @@ static int nft_verdict_init(const struct nft_ctx *ctx, struct nft_data *data,
static void nft_verdict_uninit(const struct nft_data *data)
{
struct nft_chain *chain;
- struct nft_rule *rule;
switch (data->verdict.code) {
case NFT_JUMP:
case NFT_GOTO:
chain = data->verdict.chain;
chain->use--;
-
- if (!nft_chain_is_bound(chain))
- break;
-
- chain->table->use--;
- list_for_each_entry(rule, &chain->rules, list)
- chain->use--;
-
- nft_chain_del(chain);
break;
}
}
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
index d97eb280cb2e..485465d7624e 100644
--- a/net/netfilter/nfnetlink_log.c
+++ b/net/netfilter/nfnetlink_log.c
@@ -460,7 +460,6 @@ __build_packet_message(struct nfnl_log_net *log,
sk_buff_data_t old_tail = inst->skb->tail;
struct sock *sk;
const unsigned char *hwhdrp;
- ktime_t tstamp;
nlh = nfnl_msg_put(inst->skb, 0, 0,
nfnl_msg_type(NFNL_SUBSYS_ULOG, NFULNL_MSG_PACKET),
@@ -589,10 +588,9 @@ __build_packet_message(struct nfnl_log_net *log,
goto nla_put_failure;
}
- tstamp = skb_tstamp_cond(skb, false);
- if (hooknum <= NF_INET_FORWARD && tstamp) {
+ if (hooknum <= NF_INET_FORWARD) {
+ struct timespec64 kts = ktime_to_timespec64(skb_tstamp_cond(skb, true));
struct nfulnl_msg_packet_timestamp ts;
- struct timespec64 kts = ktime_to_timespec64(tstamp);
ts.sec = cpu_to_be64(kts.tv_sec);
ts.usec = cpu_to_be64(kts.tv_nsec / NSEC_PER_USEC);
diff --git a/net/netfilter/nft_byteorder.c b/net/netfilter/nft_byteorder.c
index f952a80275a8..2e2eb2cb17bc 100644
--- a/net/netfilter/nft_byteorder.c
+++ b/net/netfilter/nft_byteorder.c
@@ -30,11 +30,11 @@ void nft_byteorder_eval(const struct nft_expr *expr,
const struct nft_byteorder *priv = nft_expr_priv(expr);
u32 *src = &regs->data[priv->sreg];
u32 *dst = &regs->data[priv->dreg];
- union { u32 u32; u16 u16; } *s, *d;
+ u16 *s16, *d16;
unsigned int i;
- s = (void *)src;
- d = (void *)dst;
+ s16 = (void *)src;
+ d16 = (void *)dst;
switch (priv->size) {
case 8: {
@@ -62,11 +62,11 @@ void nft_byteorder_eval(const struct nft_expr *expr,
switch (priv->op) {
case NFT_BYTEORDER_NTOH:
for (i = 0; i < priv->len / 4; i++)
- d[i].u32 = ntohl((__force __be32)s[i].u32);
+ dst[i] = ntohl((__force __be32)src[i]);
break;
case NFT_BYTEORDER_HTON:
for (i = 0; i < priv->len / 4; i++)
- d[i].u32 = (__force __u32)htonl(s[i].u32);
+ dst[i] = (__force __u32)htonl(src[i]);
break;
}
break;
@@ -74,11 +74,11 @@ void nft_byteorder_eval(const struct nft_expr *expr,
switch (priv->op) {
case NFT_BYTEORDER_NTOH:
for (i = 0; i < priv->len / 2; i++)
- d[i].u16 = ntohs((__force __be16)s[i].u16);
+ d16[i] = ntohs((__force __be16)s16[i]);
break;
case NFT_BYTEORDER_HTON:
for (i = 0; i < priv->len / 2; i++)
- d[i].u16 = (__force __u16)htons(s[i].u16);
+ d16[i] = (__force __u16)htons(s16[i]);
break;
}
break;
diff --git a/net/netfilter/nft_immediate.c b/net/netfilter/nft_immediate.c
index 5f28b21abc7d..457fc1e21841 100644
--- a/net/netfilter/nft_immediate.c
+++ b/net/netfilter/nft_immediate.c
@@ -76,11 +76,9 @@ static int nft_immediate_init(const struct nft_ctx *ctx,
switch (priv->data.verdict.code) {
case NFT_JUMP:
case NFT_GOTO:
- if (nft_chain_is_bound(chain)) {
- err = -EBUSY;
- goto err1;
- }
- chain->bound = true;
+ err = nf_tables_bind_chain(ctx, chain);
+ if (err < 0)
+ return err;
break;
default:
break;
@@ -98,6 +96,31 @@ static void nft_immediate_activate(const struct nft_ctx *ctx,
const struct nft_expr *expr)
{
const struct nft_immediate_expr *priv = nft_expr_priv(expr);
+ const struct nft_data *data = &priv->data;
+ struct nft_ctx chain_ctx;
+ struct nft_chain *chain;
+ struct nft_rule *rule;
+
+ if (priv->dreg == NFT_REG_VERDICT) {
+ switch (data->verdict.code) {
+ case NFT_JUMP:
+ case NFT_GOTO:
+ chain = data->verdict.chain;
+ if (!nft_chain_binding(chain))
+ break;
+
+ chain_ctx = *ctx;
+ chain_ctx.chain = chain;
+
+ list_for_each_entry(rule, &chain->rules, list)
+ nft_rule_expr_activate(&chain_ctx, rule);
+
+ nft_clear(ctx->net, chain);
+ break;
+ default:
+ break;
+ }
+ }
return nft_data_hold(&priv->data, nft_dreg_to_type(priv->dreg));
}
@@ -107,6 +130,40 @@ static void nft_immediate_deactivate(const struct nft_ctx *ctx,
enum nft_trans_phase phase)
{
const struct nft_immediate_expr *priv = nft_expr_priv(expr);
+ const struct nft_data *data = &priv->data;
+ struct nft_ctx chain_ctx;
+ struct nft_chain *chain;
+ struct nft_rule *rule;
+
+ if (priv->dreg == NFT_REG_VERDICT) {
+ switch (data->verdict.code) {
+ case NFT_JUMP:
+ case NFT_GOTO:
+ chain = data->verdict.chain;
+ if (!nft_chain_binding(chain))
+ break;
+
+ chain_ctx = *ctx;
+ chain_ctx.chain = chain;
+
+ list_for_each_entry(rule, &chain->rules, list)
+ nft_rule_expr_deactivate(&chain_ctx, rule, phase);
+
+ switch (phase) {
+ case NFT_TRANS_PREPARE:
+ nft_deactivate_next(ctx->net, chain);
+ break;
+ default:
+ nft_chain_del(chain);
+ chain->bound = false;
+ chain->table->use--;
+ break;
+ }
+ break;
+ default:
+ break;
+ }
+ }
if (phase == NFT_TRANS_COMMIT)
return;
@@ -131,15 +188,27 @@ static void nft_immediate_destroy(const struct nft_ctx *ctx,
case NFT_GOTO:
chain = data->verdict.chain;
- if (!nft_chain_is_bound(chain))
+ if (!nft_chain_binding(chain))
+ break;
+
+ /* Rule construction failed, but chain is already bound:
+ * let the transaction records release this chain and its rules.
+ */
+ if (chain->bound) {
+ chain->use--;
break;
+ }
+ /* Rule has been deleted, release chain and its rules. */
chain_ctx = *ctx;
chain_ctx.chain = chain;
- list_for_each_entry_safe(rule, n, &chain->rules, list)
- nf_tables_rule_release(&chain_ctx, rule);
-
+ chain->use--;
+ list_for_each_entry_safe(rule, n, &chain->rules, list) {
+ chain->use--;
+ list_del(&rule->list);
+ nf_tables_rule_destroy(&chain_ctx, rule);
+ }
nf_tables_chain_destroy(&chain_ctx);
break;
default:
diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c
index 06d46d182634..4b79df6ecf6c 100644
--- a/net/netfilter/nft_set_pipapo.c
+++ b/net/netfilter/nft_set_pipapo.c
@@ -1908,7 +1908,11 @@ static void nft_pipapo_remove(const struct net *net, const struct nft_set *set,
int i, start, rules_fx;
match_start = data;
- match_end = (const u8 *)nft_set_ext_key_end(&e->ext)->data;
+
+ if (nft_set_ext_exists(&e->ext, NFT_SET_EXT_KEY_END))
+ match_end = (const u8 *)nft_set_ext_key_end(&e->ext)->data;
+ else
+ match_end = data;
start = first_rule;
rules_fx = rules_f0;
diff --git a/net/nfc/llcp.h b/net/nfc/llcp.h
index c1d9be636933..d8345ed57c95 100644
--- a/net/nfc/llcp.h
+++ b/net/nfc/llcp.h
@@ -201,7 +201,6 @@ void nfc_llcp_sock_link(struct llcp_sock_list *l, struct sock *s);
void nfc_llcp_sock_unlink(struct llcp_sock_list *l, struct sock *s);
void nfc_llcp_socket_remote_param_init(struct nfc_llcp_sock *sock);
struct nfc_llcp_local *nfc_llcp_find_local(struct nfc_dev *dev);
-struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local);
int nfc_llcp_local_put(struct nfc_llcp_local *local);
u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local,
struct nfc_llcp_sock *sock);
diff --git a/net/nfc/llcp_commands.c b/net/nfc/llcp_commands.c
index 41e3a20c8935..5d2d4bc26ef9 100644
--- a/net/nfc/llcp_commands.c
+++ b/net/nfc/llcp_commands.c
@@ -359,6 +359,7 @@ int nfc_llcp_send_symm(struct nfc_dev *dev)
struct sk_buff *skb;
struct nfc_llcp_local *local;
u16 size = 0;
+ int err;
local = nfc_llcp_find_local(dev);
if (local == NULL)
@@ -368,8 +369,10 @@ int nfc_llcp_send_symm(struct nfc_dev *dev)
size += dev->tx_headroom + dev->tx_tailroom + NFC_HEADER_SIZE;
skb = alloc_skb(size, GFP_KERNEL);
- if (skb == NULL)
- return -ENOMEM;
+ if (skb == NULL) {
+ err = -ENOMEM;
+ goto out;
+ }
skb_reserve(skb, dev->tx_headroom + NFC_HEADER_SIZE);
@@ -379,8 +382,11 @@ int nfc_llcp_send_symm(struct nfc_dev *dev)
nfc_llcp_send_to_raw_sock(local, skb, NFC_DIRECTION_TX);
- return nfc_data_exchange(dev, local->target_idx, skb,
+ err = nfc_data_exchange(dev, local->target_idx, skb,
nfc_llcp_recv, local);
+out:
+ nfc_llcp_local_put(local);
+ return err;
}
int nfc_llcp_send_connect(struct nfc_llcp_sock *sock)
diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c
index a27e1842b2a0..f60e424e0607 100644
--- a/net/nfc/llcp_core.c
+++ b/net/nfc/llcp_core.c
@@ -17,6 +17,8 @@
static u8 llcp_magic[3] = {0x46, 0x66, 0x6d};
static LIST_HEAD(llcp_devices);
+/* Protects llcp_devices list */
+static DEFINE_SPINLOCK(llcp_devices_lock);
static void nfc_llcp_rx_skb(struct nfc_llcp_local *local, struct sk_buff *skb);
@@ -141,7 +143,7 @@ static void nfc_llcp_socket_release(struct nfc_llcp_local *local, bool device,
write_unlock(&local->raw_sockets.lock);
}
-struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local)
+static struct nfc_llcp_local *nfc_llcp_local_get(struct nfc_llcp_local *local)
{
kref_get(&local->ref);
@@ -169,7 +171,6 @@ static void local_release(struct kref *ref)
local = container_of(ref, struct nfc_llcp_local, ref);
- list_del(&local->list);
local_cleanup(local);
kfree(local);
}
@@ -282,12 +283,33 @@ static void nfc_llcp_sdreq_timer(struct timer_list *t)
struct nfc_llcp_local *nfc_llcp_find_local(struct nfc_dev *dev)
{
struct nfc_llcp_local *local;
+ struct nfc_llcp_local *res = NULL;
+ spin_lock(&llcp_devices_lock);
list_for_each_entry(local, &llcp_devices, list)
- if (local->dev == dev)
+ if (local->dev == dev) {
+ res = nfc_llcp_local_get(local);
+ break;
+ }
+ spin_unlock(&llcp_devices_lock);
+
+ return res;
+}
+
+static struct nfc_llcp_local *nfc_llcp_remove_local(struct nfc_dev *dev)
+{
+ struct nfc_llcp_local *local, *tmp;
+
+ spin_lock(&llcp_devices_lock);
+ list_for_each_entry_safe(local, tmp, &llcp_devices, list)
+ if (local->dev == dev) {
+ list_del(&local->list);
+ spin_unlock(&llcp_devices_lock);
return local;
+ }
+ spin_unlock(&llcp_devices_lock);
- pr_debug("No device found\n");
+ pr_warn("Shutting down device not found\n");
return NULL;
}
@@ -608,12 +630,15 @@ u8 *nfc_llcp_general_bytes(struct nfc_dev *dev, size_t *general_bytes_len)
*general_bytes_len = local->gb_len;
+ nfc_llcp_local_put(local);
+
return local->gb;
}
int nfc_llcp_set_remote_gb(struct nfc_dev *dev, const u8 *gb, u8 gb_len)
{
struct nfc_llcp_local *local;
+ int err;
if (gb_len < 3 || gb_len > NFC_MAX_GT_LEN)
return -EINVAL;
@@ -630,12 +655,16 @@ int nfc_llcp_set_remote_gb(struct nfc_dev *dev, const u8 *gb, u8 gb_len)
if (memcmp(local->remote_gb, llcp_magic, 3)) {
pr_err("MAC does not support LLCP\n");
- return -EINVAL;
+ err = -EINVAL;
+ goto out;
}
- return nfc_llcp_parse_gb_tlv(local,
+ err = nfc_llcp_parse_gb_tlv(local,
&local->remote_gb[3],
local->remote_gb_len - 3);
+out:
+ nfc_llcp_local_put(local);
+ return err;
}
static u8 nfc_llcp_dsap(const struct sk_buff *pdu)
@@ -1517,6 +1546,8 @@ int nfc_llcp_data_received(struct nfc_dev *dev, struct sk_buff *skb)
__nfc_llcp_recv(local, skb);
+ nfc_llcp_local_put(local);
+
return 0;
}
@@ -1533,6 +1564,8 @@ void nfc_llcp_mac_is_down(struct nfc_dev *dev)
/* Close and purge all existing sockets */
nfc_llcp_socket_release(local, true, 0);
+
+ nfc_llcp_local_put(local);
}
void nfc_llcp_mac_is_up(struct nfc_dev *dev, u32 target_idx,
@@ -1558,6 +1591,8 @@ void nfc_llcp_mac_is_up(struct nfc_dev *dev, u32 target_idx,
mod_timer(&local->link_timer,
jiffies + msecs_to_jiffies(local->remote_lto));
}
+
+ nfc_llcp_local_put(local);
}
int nfc_llcp_register_device(struct nfc_dev *ndev)
@@ -1608,7 +1643,7 @@ int nfc_llcp_register_device(struct nfc_dev *ndev)
void nfc_llcp_unregister_device(struct nfc_dev *dev)
{
- struct nfc_llcp_local *local = nfc_llcp_find_local(dev);
+ struct nfc_llcp_local *local = nfc_llcp_remove_local(dev);
if (local == NULL) {
pr_debug("No such device\n");
diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c
index 77642d18a3b4..645677f84dba 100644
--- a/net/nfc/llcp_sock.c
+++ b/net/nfc/llcp_sock.c
@@ -99,7 +99,7 @@ static int llcp_sock_bind(struct socket *sock, struct sockaddr *addr, int alen)
}
llcp_sock->dev = dev;
- llcp_sock->local = nfc_llcp_local_get(local);
+ llcp_sock->local = local;
llcp_sock->nfc_protocol = llcp_addr.nfc_protocol;
llcp_sock->service_name_len = min_t(unsigned int,
llcp_addr.service_name_len,
@@ -186,7 +186,7 @@ static int llcp_raw_sock_bind(struct socket *sock, struct sockaddr *addr,
}
llcp_sock->dev = dev;
- llcp_sock->local = nfc_llcp_local_get(local);
+ llcp_sock->local = local;
llcp_sock->nfc_protocol = llcp_addr.nfc_protocol;
nfc_llcp_sock_link(&local->raw_sockets, sk);
@@ -696,22 +696,22 @@ static int llcp_sock_connect(struct socket *sock, struct sockaddr *_addr,
if (dev->dep_link_up == false) {
ret = -ENOLINK;
device_unlock(&dev->dev);
- goto put_dev;
+ goto sock_llcp_put_local;
}
device_unlock(&dev->dev);
if (local->rf_mode == NFC_RF_INITIATOR &&
addr->target_idx != local->target_idx) {
ret = -ENOLINK;
- goto put_dev;
+ goto sock_llcp_put_local;
}
llcp_sock->dev = dev;
- llcp_sock->local = nfc_llcp_local_get(local);
+ llcp_sock->local = local;
llcp_sock->ssap = nfc_llcp_get_local_ssap(local);
if (llcp_sock->ssap == LLCP_SAP_MAX) {
ret = -ENOMEM;
- goto sock_llcp_put_local;
+ goto sock_llcp_nullify;
}
llcp_sock->reserved_ssap = llcp_sock->ssap;
@@ -757,11 +757,13 @@ sock_unlink:
sock_llcp_release:
nfc_llcp_put_ssap(local, llcp_sock->ssap);
-sock_llcp_put_local:
- nfc_llcp_local_put(llcp_sock->local);
+sock_llcp_nullify:
llcp_sock->local = NULL;
llcp_sock->dev = NULL;
+sock_llcp_put_local:
+ nfc_llcp_local_put(local);
+
put_dev:
nfc_put_device(dev);
diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c
index b9264e730fd9..e9ac6a6f934e 100644
--- a/net/nfc/netlink.c
+++ b/net/nfc/netlink.c
@@ -1039,11 +1039,14 @@ static int nfc_genl_llc_get_params(struct sk_buff *skb, struct genl_info *info)
msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
if (!msg) {
rc = -ENOMEM;
- goto exit;
+ goto put_local;
}
rc = nfc_genl_send_params(msg, local, info->snd_portid, info->snd_seq);
+put_local:
+ nfc_llcp_local_put(local);
+
exit:
device_unlock(&dev->dev);
@@ -1105,7 +1108,7 @@ static int nfc_genl_llc_set_params(struct sk_buff *skb, struct genl_info *info)
if (info->attrs[NFC_ATTR_LLC_PARAM_LTO]) {
if (dev->dep_link_up) {
rc = -EINPROGRESS;
- goto exit;
+ goto put_local;
}
local->lto = nla_get_u8(info->attrs[NFC_ATTR_LLC_PARAM_LTO]);
@@ -1117,6 +1120,9 @@ static int nfc_genl_llc_set_params(struct sk_buff *skb, struct genl_info *info)
if (info->attrs[NFC_ATTR_LLC_PARAM_MIUX])
local->miux = cpu_to_be16(miux);
+put_local:
+ nfc_llcp_local_put(local);
+
exit:
device_unlock(&dev->dev);
@@ -1172,7 +1178,7 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)
if (rc != 0) {
rc = -EINVAL;
- goto exit;
+ goto put_local;
}
if (!sdp_attrs[NFC_SDP_ATTR_URI])
@@ -1191,7 +1197,7 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)
sdreq = nfc_llcp_build_sdreq_tlv(tid, uri, uri_len);
if (sdreq == NULL) {
rc = -ENOMEM;
- goto exit;
+ goto put_local;
}
tlvs_len += sdreq->tlv_len;
@@ -1201,10 +1207,14 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)
if (hlist_empty(&sdreq_list)) {
rc = -EINVAL;
- goto exit;
+ goto put_local;
}
rc = nfc_llcp_send_snl_sdreq(local, &sdreq_list, tlvs_len);
+
+put_local:
+ nfc_llcp_local_put(local);
+
exit:
device_unlock(&dev->dev);
diff --git a/net/nfc/nfc.h b/net/nfc/nfc.h
index de2ec66d7e83..0b1e6466f4fb 100644
--- a/net/nfc/nfc.h
+++ b/net/nfc/nfc.h
@@ -52,6 +52,7 @@ int nfc_llcp_set_remote_gb(struct nfc_dev *dev, const u8 *gb, u8 gb_len);
u8 *nfc_llcp_general_bytes(struct nfc_dev *dev, size_t *general_bytes_len);
int nfc_llcp_data_received(struct nfc_dev *dev, struct sk_buff *skb);
struct nfc_llcp_local *nfc_llcp_find_local(struct nfc_dev *dev);
+int nfc_llcp_local_put(struct nfc_llcp_local *local);
int __init nfc_llcp_init(void);
void nfc_llcp_exit(void);
void nfc_llcp_free_sdp_tlv(struct nfc_llcp_sdp_tlv *sdp);
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index 25bc57ee6ea1..3de72e7c1075 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -1147,6 +1147,9 @@ static int fl_set_geneve_opt(const struct nlattr *nla, struct fl_flow_key *key,
if (option_len > sizeof(struct geneve_opt))
data_len = option_len - sizeof(struct geneve_opt);
+ if (key->enc_opts.len > FLOW_DIS_TUN_OPTS_MAX - 4)
+ return -ERANGE;
+
opt = (struct geneve_opt *)&key->enc_opts.data[key->enc_opts.len];
memset(opt, 0xff, option_len);
opt->length = data_len / 4;
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c
index a32351da968c..6160ef7d646a 100644
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -210,11 +210,6 @@ static int fw_set_parms(struct net *net, struct tcf_proto *tp,
if (err < 0)
return err;
- if (tb[TCA_FW_CLASSID]) {
- f->res.classid = nla_get_u32(tb[TCA_FW_CLASSID]);
- tcf_bind_filter(tp, &f->res, base);
- }
-
if (tb[TCA_FW_INDEV]) {
int ret;
ret = tcf_change_indev(net, tb[TCA_FW_INDEV], extack);
@@ -231,6 +226,11 @@ static int fw_set_parms(struct net *net, struct tcf_proto *tp,
} else if (head->mask != 0xFFFFFFFF)
return err;
+ if (tb[TCA_FW_CLASSID]) {
+ f->res.classid = nla_get_u32(tb[TCA_FW_CLASSID]);
+ tcf_bind_filter(tp, &f->res, base);
+ }
+
return 0;
}
@@ -265,7 +265,6 @@ static int fw_change(struct net *net, struct sk_buff *in_skb,
return -ENOBUFS;
fnew->id = f->id;
- fnew->res = f->res;
fnew->ifindex = f->ifindex;
fnew->tp = f->tp;
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 9e43b929d4ca..306188bf2d1f 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -511,7 +511,6 @@ static int route4_change(struct net *net, struct sk_buff *in_skb,
if (fold) {
f->id = fold->id;
f->iif = fold->iif;
- f->res = fold->res;
f->handle = fold->handle;
f->tp = fold->tp;
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 34d25f7a0687..b28b42de8be4 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -716,13 +716,19 @@ static int u32_set_parms(struct net *net, struct tcf_proto *tp,
struct nlattr *est, u32 flags, u32 fl_flags,
struct netlink_ext_ack *extack)
{
- int err;
+ int err, ifindex = -1;
err = tcf_exts_validate_ex(net, tp, tb, est, &n->exts, flags,
fl_flags, extack);
if (err < 0)
return err;
+ if (tb[TCA_U32_INDEV]) {
+ ifindex = tcf_change_indev(net, tb[TCA_U32_INDEV], extack);
+ if (ifindex < 0)
+ return -EINVAL;
+ }
+
if (tb[TCA_U32_LINK]) {
u32 handle = nla_get_u32(tb[TCA_U32_LINK]);
struct tc_u_hnode *ht_down = NULL, *ht_old;
@@ -757,13 +763,9 @@ static int u32_set_parms(struct net *net, struct tcf_proto *tp,
tcf_bind_filter(tp, &n->res, base);
}
- if (tb[TCA_U32_INDEV]) {
- int ret;
- ret = tcf_change_indev(net, tb[TCA_U32_INDEV], extack);
- if (ret < 0)
- return -EINVAL;
- n->ifindex = ret;
- }
+ if (ifindex >= 0)
+ n->ifindex = ifindex;
+
return 0;
}
@@ -811,7 +813,6 @@ static struct tc_u_knode *u32_init_knode(struct net *net, struct tcf_proto *tp,
new->ifindex = n->ifindex;
new->fshift = n->fshift;
- new->res = n->res;
new->flags = n->flags;
RCU_INIT_POINTER(new->ht_down, ht);
diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c
index 70b0c5873d32..61d52594ff6d 100644
--- a/net/sched/sch_hfsc.c
+++ b/net/sched/sch_hfsc.c
@@ -1012,6 +1012,10 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
if (parent == NULL)
return -ENOENT;
}
+ if (!(parent->cl_flags & HFSC_FSC) && parent != &q->root) {
+ NL_SET_ERR_MSG(extack, "Invalid parent - parent class must have FSC");
+ return -EINVAL;
+ }
if (classid == 0 || TC_H_MAJ(classid ^ sch->handle) != 0)
return -EINVAL;
diff --git a/net/sched/sch_plug.c b/net/sched/sch_plug.c
index ea8c4a7174bb..35f49edf63db 100644
--- a/net/sched/sch_plug.c
+++ b/net/sched/sch_plug.c
@@ -207,7 +207,7 @@ static struct Qdisc_ops plug_qdisc_ops __read_mostly = {
.priv_size = sizeof(struct plug_sched_data),
.enqueue = plug_enqueue,
.dequeue = plug_dequeue,
- .peek = qdisc_peek_head,
+ .peek = qdisc_peek_dequeued,
.init = plug_init,
.change = plug_change,
.reset = qdisc_reset_queue,
diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c
index 02098a02943e..2a824c2a8037 100644
--- a/net/sched/sch_qfq.c
+++ b/net/sched/sch_qfq.c
@@ -113,6 +113,7 @@
#define QFQ_MTU_SHIFT 16 /* to support TSO/GSO */
#define QFQ_MIN_LMAX 512 /* see qfq_slot_insert */
+#define QFQ_MAX_LMAX (1UL << QFQ_MTU_SHIFT)
#define QFQ_MAX_AGG_CLASSES 8 /* max num classes per aggregate allowed */
@@ -214,9 +215,14 @@ static struct qfq_class *qfq_find_class(struct Qdisc *sch, u32 classid)
return container_of(clc, struct qfq_class, common);
}
+static struct netlink_range_validation lmax_range = {
+ .min = QFQ_MIN_LMAX,
+ .max = QFQ_MAX_LMAX,
+};
+
static const struct nla_policy qfq_policy[TCA_QFQ_MAX + 1] = {
- [TCA_QFQ_WEIGHT] = { .type = NLA_U32 },
- [TCA_QFQ_LMAX] = { .type = NLA_U32 },
+ [TCA_QFQ_WEIGHT] = NLA_POLICY_RANGE(NLA_U32, 1, QFQ_MAX_WEIGHT),
+ [TCA_QFQ_LMAX] = NLA_POLICY_FULL_RANGE(NLA_U32, &lmax_range),
};
/*
@@ -375,8 +381,13 @@ static int qfq_change_agg(struct Qdisc *sch, struct qfq_class *cl, u32 weight,
u32 lmax)
{
struct qfq_sched *q = qdisc_priv(sch);
- struct qfq_aggregate *new_agg = qfq_find_agg(q, lmax, weight);
+ struct qfq_aggregate *new_agg;
+
+ /* 'lmax' can range from [QFQ_MIN_LMAX, pktlen + stab overhead] */
+ if (lmax > QFQ_MAX_LMAX)
+ return -EINVAL;
+ new_agg = qfq_find_agg(q, lmax, weight);
if (new_agg == NULL) { /* create new aggregate */
new_agg = kzalloc(sizeof(*new_agg), GFP_ATOMIC);
if (new_agg == NULL)
@@ -408,17 +419,13 @@ static int qfq_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
}
err = nla_parse_nested_deprecated(tb, TCA_QFQ_MAX, tca[TCA_OPTIONS],
- qfq_policy, NULL);
+ qfq_policy, extack);
if (err < 0)
return err;
- if (tb[TCA_QFQ_WEIGHT]) {
+ if (tb[TCA_QFQ_WEIGHT])
weight = nla_get_u32(tb[TCA_QFQ_WEIGHT]);
- if (!weight || weight > (1UL << QFQ_MAX_WSHIFT)) {
- pr_notice("qfq: invalid weight %u\n", weight);
- return -EINVAL;
- }
- } else
+ else
weight = 1;
if (tb[TCA_QFQ_LMAX])
@@ -426,11 +433,6 @@ static int qfq_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
else
lmax = psched_mtu(qdisc_dev(sch));
- if (lmax < QFQ_MIN_LMAX || lmax > (1UL << QFQ_MTU_SHIFT)) {
- pr_notice("qfq: invalid max length %u\n", lmax);
- return -EINVAL;
- }
-
inv_w = ONE_FP / weight;
weight = ONE_FP / inv_w;
@@ -964,10 +966,13 @@ static void qfq_update_eligible(struct qfq_sched *q)
}
/* Dequeue head packet of the head class in the DRR queue of the aggregate. */
-static void agg_dequeue(struct qfq_aggregate *agg,
- struct qfq_class *cl, unsigned int len)
+static struct sk_buff *agg_dequeue(struct qfq_aggregate *agg,
+ struct qfq_class *cl, unsigned int len)
{
- qdisc_dequeue_peeked(cl->qdisc);
+ struct sk_buff *skb = qdisc_dequeue_peeked(cl->qdisc);
+
+ if (!skb)
+ return NULL;
cl->deficit -= (int) len;
@@ -977,6 +982,8 @@ static void agg_dequeue(struct qfq_aggregate *agg,
cl->deficit += agg->lmax;
list_move_tail(&cl->alist, &agg->active);
}
+
+ return skb;
}
static inline struct sk_buff *qfq_peek_skb(struct qfq_aggregate *agg,
@@ -1122,11 +1129,18 @@ static struct sk_buff *qfq_dequeue(struct Qdisc *sch)
if (!skb)
return NULL;
- qdisc_qstats_backlog_dec(sch, skb);
sch->q.qlen--;
+
+ skb = agg_dequeue(in_serv_agg, cl, len);
+
+ if (!skb) {
+ sch->q.qlen++;
+ return NULL;
+ }
+
+ qdisc_qstats_backlog_dec(sch, skb);
qdisc_bstats_update(sch, skb);
- agg_dequeue(in_serv_agg, cl, len);
/* If lmax is lowered, through qfq_change_class, for a class
* owning pending packets with larger size than the new value
* of lmax, then the following condition may hold.
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 7d17601ceee7..999182d3c1a2 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -2290,6 +2290,7 @@ static ssize_t unix_stream_sendpage(struct socket *socket, struct page *page,
if (false) {
alloc_skb:
+ spin_unlock(&other->sk_receive_queue.lock);
unix_state_unlock(other);
mutex_unlock(&unix_sk(other)->iolock);
newskb = sock_alloc_send_pskb(sk, 0, 0, flags & MSG_DONTWAIT,
@@ -2329,6 +2330,7 @@ alloc_skb:
init_scm = false;
}
+ spin_lock(&other->sk_receive_queue.lock);
skb = skb_peek_tail(&other->sk_receive_queue);
if (tail && tail == skb) {
skb = newskb;
@@ -2359,14 +2361,11 @@ alloc_skb:
refcount_add(size, &sk->sk_wmem_alloc);
if (newskb) {
- err = unix_scm_to_skb(&scm, skb, false);
- if (err)
- goto err_state_unlock;
- spin_lock(&other->sk_receive_queue.lock);
+ unix_scm_to_skb(&scm, skb, false);
__skb_queue_tail(&other->sk_receive_queue, newskb);
- spin_unlock(&other->sk_receive_queue.lock);
}
+ spin_unlock(&other->sk_receive_queue.lock);
unix_state_unlock(other);
mutex_unlock(&unix_sk(other)->iolock);
@@ -2552,7 +2551,7 @@ static int unix_read_skb(struct sock *sk, skb_read_actor_t recv_actor)
{
struct unix_sock *u = unix_sk(sk);
struct sk_buff *skb;
- int err, copied;
+ int err;
mutex_lock(&u->iolock);
skb = skb_recv_datagram(sk, MSG_DONTWAIT, &err);
@@ -2560,10 +2559,7 @@ static int unix_read_skb(struct sock *sk, skb_read_actor_t recv_actor)
if (!skb)
return err;
- copied = recv_actor(sk, skb);
- kfree_skb(skb);
-
- return copied;
+ return recv_actor(sk, skb);
}
/*
diff --git a/samples/gunyah/gunyah_vmm.c b/samples/gunyah/gunyah_vmm.c
index d0eb49e86372..6f636ac227c6 100644
--- a/samples/gunyah/gunyah_vmm.c
+++ b/samples/gunyah/gunyah_vmm.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <stdlib.h>
@@ -21,6 +21,11 @@
#include <linux/gunyah.h>
+#define DEFAULT_GUEST_BASE 0x80000000
+#define DEFAULT_GUEST_SIZE 0x6400000 /* 100 MiB */
+#define DEFAULT_DTB_OFFSET 0x45f0000 /* 70MiB - 64 KiB */
+#define DEFAULT_RAMDISK_OFFSET 0x4600000 /* 70MiB */
+
struct vm_config {
int image_fd;
int dtb_fd;
@@ -29,7 +34,6 @@ struct vm_config {
uint64_t guest_base;
uint64_t guest_size;
- uint64_t image_offset;
off_t image_size;
uint64_t dtb_offset;
off_t dtb_size;
@@ -44,7 +48,6 @@ static struct option options[] = {
{ "ramdisk", optional_argument, NULL, 'r' },
{ "base", optional_argument, NULL, 'B' },
{ "size", optional_argument, NULL, 'S' },
- { "image_offset", optional_argument, NULL, 'I' },
{ "dtb_offset", optional_argument, NULL, 'D' },
{ "ramdisk_offset", optional_argument, NULL, 'R' },
{ }
@@ -58,12 +61,12 @@ static void print_help(char *cmd)
" --image, -i <image> VM image file to load (e.g. a kernel Image) [Required]\n"
" --dtb, -d <dtb> Devicetree file to load [Required]\n"
" --ramdisk, -r <ramdisk> Ramdisk file to load\n"
- " --base, -B <address> Set the base address of guest's memory [Default: 0x80000000]\n"
- " --size, -S <number> The number of bytes large to make the guest's memory [Default: 0x6400000 (100 MB)]\n"
- " --image_offset, -I <number> Offset into guest memory to load the VM image file [Default: 0x10000]\n"
- " --dtb_offset, -D <number> Offset into guest memory to load the DTB [Default: 0]\n"
- " --ramdisk_offset, -R <number> Offset into guest memory to load a ramdisk [Default: 0x4600000]\n"
- , cmd);
+ " --base, -B <address> Set the base address of guest's memory [Default: 0x%08x]\n"
+ " --size, -S <number> The number of bytes large to make the guest's memory [Default: 0x%08x]\n"
+ " --dtb_offset, -D <number> Offset into guest memory to load the DTB [Default: 0x%08x]\n"
+ " --ramdisk_offset, -R <number> Offset into guest memory to load a ramdisk [Default: 0x%08x]\n"
+ , cmd, DEFAULT_GUEST_BASE, DEFAULT_GUEST_SIZE,
+ DEFAULT_DTB_OFFSET, DEFAULT_RAMDISK_OFFSET);
}
int main(int argc, char **argv)
@@ -74,18 +77,19 @@ int main(int argc, char **argv)
char *guest_mem;
struct vm_config config = {
/* Defaults good enough to boot static kernel and a basic ramdisk */
+ .image_fd = -1,
+ .dtb_fd = -1,
.ramdisk_fd = -1,
- .guest_base = 0x80000000,
- .guest_size = 0x6400000, /* 100 MB */
- .image_offset = 0,
- .dtb_offset = 0x45f0000,
- .ramdisk_offset = 0x4600000, /* put at +70MB (30MB for ramdisk) */
+ .guest_base = DEFAULT_GUEST_BASE,
+ .guest_size = DEFAULT_GUEST_SIZE,
+ .dtb_offset = DEFAULT_DTB_OFFSET,
+ .ramdisk_offset = DEFAULT_RAMDISK_OFFSET,
};
struct stat st;
int opt, optidx, ret = 0;
long l;
- while ((opt = getopt_long(argc, argv, "hi:d:r:B:S:I:D:R:c:", options, &optidx)) != -1) {
+ while ((opt = getopt_long(argc, argv, "hi:d:r:B:S:D:R:c:", options, &optidx)) != -1) {
switch (opt) {
case 'i':
config.image_fd = open(optarg, O_RDONLY | O_CLOEXEC);
@@ -139,14 +143,6 @@ int main(int argc, char **argv)
}
config.guest_size = l;
break;
- case 'I':
- l = strtol(optarg, NULL, 0);
- if (l == LONG_MIN) {
- perror("Failed to parse image offset");
- return -1;
- }
- config.image_offset = l;
- break;
case 'D':
l = strtol(optarg, NULL, 0);
if (l == LONG_MIN) {
@@ -172,13 +168,13 @@ int main(int argc, char **argv)
}
}
- if (!config.image_fd || !config.dtb_fd) {
+ if (config.image_fd == -1 || config.dtb_fd == -1) {
print_help(argv[0]);
return -1;
}
- if (config.image_offset + config.image_size > config.guest_size) {
- fprintf(stderr, "Image offset and size puts it outside guest memory. Make image smaller or increase guest memory size.\n");
+ if (config.image_size > config.guest_size) {
+ fprintf(stderr, "Image size puts it outside guest memory. Make image smaller or increase guest memory size.\n");
return -1;
}
@@ -222,7 +218,7 @@ int main(int argc, char **argv)
return -1;
}
- if (read(config.image_fd, guest_mem + config.image_offset, config.image_size) < 0) {
+ if (read(config.image_fd, guest_mem, config.image_size) < 0) {
perror("Failed to read image into guest memory");
return -1;
}
@@ -264,7 +260,7 @@ int main(int argc, char **argv)
}
while (1)
- sleep(10);
+ pause();
return 0;
}
diff --git a/scripts/gen_gki_modules_headers.sh b/scripts/gen_gki_modules_headers.sh
index 3aa221a058f4..ca435f49b62f 100755
--- a/scripts/gen_gki_modules_headers.sh
+++ b/scripts/gen_gki_modules_headers.sh
@@ -108,7 +108,7 @@ if [ "$(basename "${TARGET}")" = "gki_module_unprotected.h" ]; then
generate_header "${TARGET}" "${GKI_VENDOR_SYMBOLS}" "unprotected"
else
# Sorted list of exported symbols
- GKI_EXPORTED_SYMBOLS="${objtree}/abi_gki_protected_exports"
+ GKI_EXPORTED_SYMBOLS="include/config/abi_gki_protected_exports"
if [ -z "${SYMBOL_LIST}" ]; then
# Create empty list if ARCH doesn't have protected exports
diff --git a/sound/usb/card.c b/sound/usb/card.c
index 4e535eeddd43..96d8e1742af0 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -119,6 +119,56 @@ MODULE_PARM_DESC(skip_validation, "Skip unit descriptor validation (default: no)
static DEFINE_MUTEX(register_mutex);
static struct snd_usb_audio *usb_chip[SNDRV_CARDS];
static struct usb_driver usb_audio_driver;
+static struct snd_usb_audio_vendor_ops *usb_vendor_ops;
+
+int snd_vendor_set_ops(struct snd_usb_audio_vendor_ops *ops)
+{
+ if ((!ops->set_interface) ||
+ (!ops->set_pcm_intf) ||
+ (!ops->set_pcm_connection))
+ return -EINVAL;
+
+ usb_vendor_ops = ops;
+ return 0;
+}
+EXPORT_SYMBOL_GPL(snd_vendor_set_ops);
+
+struct snd_usb_audio_vendor_ops *snd_vendor_get_ops(void)
+{
+ return usb_vendor_ops;
+}
+
+int snd_vendor_set_interface(struct usb_device *udev,
+ struct usb_host_interface *intf,
+ int iface, int alt)
+{
+ struct snd_usb_audio_vendor_ops *ops = snd_vendor_get_ops();
+
+ if (ops)
+ return ops->set_interface(udev, intf, iface, alt);
+ return 0;
+}
+
+int snd_vendor_set_pcm_intf(struct usb_interface *intf, int iface, int alt,
+ int direction, struct snd_usb_substream *subs)
+{
+ struct snd_usb_audio_vendor_ops *ops = snd_vendor_get_ops();
+
+ if (ops)
+ return ops->set_pcm_intf(intf, iface, alt, direction, subs);
+ return 0;
+}
+
+int snd_vendor_set_pcm_connection(struct usb_device *udev,
+ enum snd_vendor_pcm_open_close onoff,
+ int direction)
+{
+ struct snd_usb_audio_vendor_ops *ops = snd_vendor_get_ops();
+
+ if (ops)
+ return ops->set_pcm_connection(udev, onoff, direction);
+ return 0;
+}
/*
* disconnect streams
diff --git a/sound/usb/card.h b/sound/usb/card.h
index e9b6afd2275a..5421f9e53c54 100644
--- a/sound/usb/card.h
+++ b/sound/usb/card.h
@@ -216,4 +216,19 @@ struct snd_usb_stream {
struct list_head list;
};
+int snd_vendor_set_ops(struct snd_usb_audio_vendor_ops *vendor_ops);
+struct snd_usb_audio_vendor_ops *snd_vendor_get_ops(void);
+int snd_vendor_set_interface(struct usb_device *udev,
+ struct usb_host_interface *alts,
+ int iface, int alt);
+int snd_vendor_set_rate(int iface, int rate, int alt);
+int snd_vendor_set_pcm_intf(struct usb_interface *intf, int iface, int alt,
+ int direction, struct snd_usb_substream *subs);
+int snd_vendor_set_pcm_connection(struct usb_device *udev,
+ enum snd_vendor_pcm_open_close onoff,
+ int direction);
+int snd_vendor_set_pcm_binterval(const struct audioformat *fp,
+ const struct audioformat *found,
+ int *cur_attr, int *attr);
+
#endif /* __USBAUDIO_CARD_H */
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index 1e1d7458bce1..78e809241e19 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -641,6 +641,7 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
struct snd_usb_audio *chip = subs->stream->chip;
int retry = 0;
int ret;
+ struct usb_interface *iface;
ret = snd_usb_lock_shutdown(chip);
if (ret < 0)
@@ -653,6 +654,7 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
again:
if (subs->sync_endpoint) {
ret = snd_usb_endpoint_prepare(chip, subs->sync_endpoint);
+
if (ret < 0)
goto unlock;
}
@@ -664,6 +666,14 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
snd_usb_set_format_quirk(subs, subs->cur_audiofmt);
ret = 0;
+ iface = usb_ifnum_to_if(chip->dev, subs->data_endpoint->iface);
+
+ ret = snd_vendor_set_pcm_intf(iface, subs->data_endpoint->iface,
+ subs->data_endpoint->altsetting,
+ subs->direction, subs);
+ if (ret)
+ goto unlock;
+
/* reset the pointer */
subs->buffer_bytes = frames_to_bytes(runtime, runtime->buffer_size);
subs->inflight_bytes = 0;
@@ -1162,6 +1172,11 @@ static int snd_usb_pcm_open(struct snd_pcm_substream *substream)
struct snd_usb_substream *subs = &as->substream[direction];
int ret;
+ ret = snd_vendor_set_pcm_connection(subs->dev, SOUND_PCM_OPEN,
+ direction);
+ if (ret)
+ return ret;
+
runtime->hw = snd_usb_hardware;
/* need an explicit sync to catch applptr update in low-latency mode */
if (direction == SNDRV_PCM_STREAM_PLAYBACK &&
@@ -1195,6 +1210,11 @@ static int snd_usb_pcm_close(struct snd_pcm_substream *substream)
struct snd_usb_substream *subs = &as->substream[direction];
int ret;
+ ret = snd_vendor_set_pcm_connection(subs->dev, SOUND_PCM_CLOSE,
+ direction);
+ if (ret)
+ return ret;
+
snd_media_stop_pipeline(subs);
if (!snd_usb_lock_shutdown(subs->stream->chip)) {
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
index f10f4e6d3fb8..dbe86811346f 100644
--- a/sound/usb/stream.c
+++ b/sound/usb/stream.c
@@ -1228,6 +1228,8 @@ static int __snd_usb_parse_audio_interface(struct snd_usb_audio *chip,
snd_usb_init_pitch(chip, fp);
snd_usb_init_sample_rate(chip, fp, fp->rate_max);
usb_set_interface(chip->dev, iface_no, altno);
+ if (protocol > UAC_VERSION_1)
+ snd_vendor_set_interface(chip->dev, alts, iface_no, 0);
}
return 0;
}
diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h
index 1b463ce52324..b2cafc0b5eef 100644
--- a/sound/usb/usbaudio.h
+++ b/sound/usb/usbaudio.h
@@ -20,6 +20,7 @@
struct media_device;
struct media_intf_devnode;
+struct snd_usb_substream;
#define MAX_CARD_INTERFACES 16
@@ -210,4 +211,37 @@ extern bool snd_usb_skip_validation;
#define QUIRK_FLAG_FORCE_IFACE_RESET (1U << 20)
#define QUIRK_FLAG_FIXED_RATE (1U << 21)
+struct audioformat;
+
+enum snd_vendor_pcm_open_close {
+ SOUND_PCM_CLOSE = 0,
+ SOUND_PCM_OPEN,
+};
+
+/**
+ * struct snd_usb_audio_vendor_ops - function callbacks for USB audio accelerators
+ * @set_interface: called when an interface is initialized
+ * @set_pcm_intf: called when the pcm interface is set
+ * @set_pcm_connection: called when pcm is opened/closed
+ *
+ * Set of callbacks for some accelerated USB audio streaming hardware.
+ *
+ * TODO: make this USB host-controller specific, right now this only works for
+ * one USB controller in the system at a time, which is only realistic for
+ * self-contained systems like phones.
+ */
+struct snd_usb_audio_vendor_ops {
+ int (*set_interface)(struct usb_device *udev,
+ struct usb_host_interface *alts,
+ int iface, int alt);
+ int (*set_pcm_intf)(struct usb_interface *intf, int iface, int alt,
+ int direction, struct snd_usb_substream *subs);
+ int (*set_pcm_connection)(struct usb_device *udev,
+ enum snd_vendor_pcm_open_close onoff,
+ int direction);
+ ANDROID_KABI_RESERVE(1);
+ ANDROID_KABI_RESERVE(2);
+ ANDROID_KABI_RESERVE(3);
+ ANDROID_KABI_RESERVE(4);
+};
#endif /* __USBAUDIO_H */
diff --git a/tools/testing/selftests/filesystems/fuse/OWNERS b/tools/testing/selftests/filesystems/fuse/OWNERS
deleted file mode 100644
index 5eb371e1a5a3..000000000000
--- a/tools/testing/selftests/filesystems/fuse/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# include OWNERS from the authoritative android-mainline branch
-include kernel/common:android-mainline:/tools/testing/selftests/filesystems/incfs/OWNERS
diff --git a/tools/testing/selftests/filesystems/fuse/fuse_test.c b/tools/testing/selftests/filesystems/fuse/fuse_test.c
index a52a9db1014c..01730e57dc51 100644
--- a/tools/testing/selftests/filesystems/fuse/fuse_test.c
+++ b/tools/testing/selftests/filesystems/fuse/fuse_test.c
@@ -12,6 +12,7 @@
#include <string.h>
#include <unistd.h>
+#include <sys/file.h>
#include <sys/inotify.h>
#include <sys/mman.h>
#include <sys/mount.h>
@@ -1336,6 +1337,49 @@ out:
return result;
}
+static int flock_test(const char *mount_dir)
+{
+ const char *file = "file";
+ int result = TEST_FAILURE;
+ int src_fd = -1;
+ int fuse_dev = -1;
+ int fd = -1, fd2 = -1;
+ int backing_fd = -1;
+
+ TEST(src_fd = open(ft_src, O_DIRECTORY | O_RDONLY | O_CLOEXEC),
+ src_fd != -1);
+ TESTEQUAL(mount_fuse(mount_dir, -1, src_fd, &fuse_dev), 0);
+ TEST(fd = s_open(s_path(s(mount_dir), s(file)),
+ O_CREAT | O_RDWR | O_CLOEXEC, 0777),
+ fd != -1);
+ TEST(fd2 = s_open(s_path(s(mount_dir), s(file)),
+ O_RDWR | O_CLOEXEC, 0777),
+ fd2 != -1);
+ TESTSYSCALL(flock(fd, LOCK_EX | LOCK_NB));
+ TESTCONDERR((flock(fd2, LOCK_EX | LOCK_NB)) == -1);
+ TESTCOND(errno == EAGAIN);
+ TESTSYSCALL(flock(fd, LOCK_UN));
+ TESTSYSCALL(flock(fd2, LOCK_EX | LOCK_NB));
+ TEST(backing_fd = s_open(s_path(s(ft_src), s(file)),
+ O_RDONLY | O_CLOEXEC),
+ backing_fd != -1);
+ TESTCONDERR((flock(backing_fd, LOCK_EX | LOCK_NB)) == -1);
+ TESTCOND(errno == EAGAIN);
+ close(fd2);
+ fd2 = 0;
+ TESTSYSCALL(flock(backing_fd, LOCK_EX | LOCK_NB));
+
+ result = TEST_SUCCESS;
+out:
+ close(fd);
+ close(fd2);
+ close(backing_fd);
+ umount(mount_dir);
+ close(fuse_dev);
+ close(src_fd);
+ return result;
+}
+
static int readdir_perms_test(const char *mount_dir)
{
int result = TEST_FAILURE;
@@ -1965,6 +2009,76 @@ static int bpf_test_lookup_postfilter(const char *mount_dir)
return result;
}
+/**
+ * Test that a file made via create_and_open correctly gets the bpf assigned
+ * from the negative lookup
+ * bpf blocks file open, but also removes itself from children
+ * This test will fail if the 'remove' is unsuccessful
+ */
+static int bpf_test_create_and_remove_bpf(const char *mount_dir)
+{
+ const char *file = "file";
+
+ int result = TEST_FAILURE;
+ int src_fd = -1;
+ int bpf_fd = -1;
+ int fuse_dev = -1;
+ int fd = -1;
+ int fd2 = -1;
+
+ TEST(src_fd = open(ft_src, O_DIRECTORY | O_RDONLY | O_CLOEXEC),
+ src_fd != -1);
+ TESTEQUAL(install_elf_bpf("test_bpf.bpf", "test_create_remove", &bpf_fd,
+ NULL, NULL), 0);
+ TESTEQUAL(mount_fuse_no_init(mount_dir, bpf_fd, src_fd, &fuse_dev), 0);
+ TEST(fd = s_creat(s_path(s(mount_dir), s(file)), 0777),
+ fd != -1);
+ TEST(fd2 = s_open(s_path(s(mount_dir), s(file)), O_RDONLY),
+ fd2 != -1);
+
+ result = TEST_SUCCESS;
+out:
+ close(fd2);
+ close(fd);
+ close(fuse_dev);
+ close(bpf_fd);
+ close(src_fd);
+ umount(mount_dir);
+ return result;
+}
+
+static int bpf_test_mkdir_and_remove_bpf(const char *mount_dir)
+{
+ const char *dir = "dir";
+
+ int result = TEST_FAILURE;
+ int src_fd = -1;
+ int bpf_fd = -1;
+ int fuse_dev = -1;
+ int fd = -1;
+ int fd2 = -1;
+
+ TEST(src_fd = open(ft_src, O_DIRECTORY | O_RDONLY | O_CLOEXEC),
+ src_fd != -1);
+ TESTEQUAL(install_elf_bpf("test_bpf.bpf", "test_mkdir_remove", &bpf_fd,
+ NULL, NULL), 0);
+ TESTEQUAL(mount_fuse_no_init(mount_dir, bpf_fd, src_fd, &fuse_dev), 0);
+ TEST(fd = s_mkdir(s_path(s(mount_dir), s(dir)), 0777),
+ fd != -1);
+ TEST(fd2 = s_open(s_path(s(mount_dir), s(dir)), O_RDONLY),
+ fd2 != -1);
+
+ result = TEST_SUCCESS;
+out:
+ close(fd2);
+ close(fd);
+ close(fuse_dev);
+ close(bpf_fd);
+ close(src_fd);
+ umount(mount_dir);
+ return result;
+}
+
static void parse_range(const char *ranges, bool *run_test, size_t tests)
{
size_t i;
@@ -2091,6 +2205,9 @@ int main(int argc, char *argv[])
MAKE_TEST(bpf_test_no_readdirplus_without_nodeid),
MAKE_TEST(bpf_test_revalidate_handle_backing_fd),
MAKE_TEST(bpf_test_lookup_postfilter),
+ MAKE_TEST(flock_test),
+ MAKE_TEST(bpf_test_create_and_remove_bpf),
+ MAKE_TEST(bpf_test_mkdir_and_remove_bpf),
};
#undef MAKE_TEST
diff --git a/tools/testing/selftests/filesystems/fuse/test_bpf.c b/tools/testing/selftests/filesystems/fuse/test_bpf.c
index 032cb1178f9f..a014b915c059 100644
--- a/tools/testing/selftests/filesystems/fuse/test_bpf.c
+++ b/tools/testing/selftests/filesystems/fuse/test_bpf.c
@@ -505,3 +505,51 @@ int lookuppostfilter_test(struct fuse_bpf_args *fa)
return FUSE_BPF_BACKING;
}
}
+
+SEC("test_create_remove")
+int createremovebpf_test(struct fuse_bpf_args *fa)
+{
+ switch (fa->opcode) {
+ case FUSE_LOOKUP | FUSE_PREFILTER: {
+ return FUSE_BPF_BACKING | FUSE_BPF_POST_FILTER;
+ }
+
+ case FUSE_LOOKUP | FUSE_POSTFILTER: {
+ struct fuse_entry_bpf_out *febo = fa->out_args[1].value;
+
+ febo->bpf_action = FUSE_ACTION_REMOVE;
+ return 0;
+ }
+
+ case FUSE_OPEN | FUSE_PREFILTER: {
+ return -EIO;
+ }
+
+ default:
+ return FUSE_BPF_BACKING;
+ }
+}
+
+SEC("test_mkdir_remove")
+int mkdirremovebpf_test(struct fuse_bpf_args *fa)
+{
+ switch (fa->opcode) {
+ case FUSE_LOOKUP | FUSE_PREFILTER: {
+ return FUSE_BPF_BACKING | FUSE_BPF_POST_FILTER;
+ }
+
+ case FUSE_LOOKUP | FUSE_POSTFILTER: {
+ struct fuse_entry_bpf_out *febo = fa->out_args[1].value;
+
+ febo->bpf_action = FUSE_ACTION_REMOVE;
+ return 0;
+ }
+
+ case FUSE_OPENDIR | FUSE_PREFILTER: {
+ return -EIO;
+ }
+
+ default:
+ return FUSE_BPF_BACKING;
+ }
+}
diff --git a/tools/testing/selftests/filesystems/incfs/OWNERS b/tools/testing/selftests/filesystems/incfs/OWNERS
deleted file mode 100644
index f26e11cd5740..000000000000
--- a/tools/testing/selftests/filesystems/incfs/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-file:/fs/incfs/OWNERS