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/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/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/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/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..2476e2318697 100644 --- a/android/abi_gki_aarch64.stg +++ b/android/abi_gki_aarch64.stg @@ -21791,6 +21791,11 @@ pointer_reference { kind: POINTER pointee_type_id: 0xe8f8d87a } +pointer_reference { + id: 0x30afcff2 + kind: POINTER + pointee_type_id: 0xe8ffd957 +} pointer_reference { id: 0x30b384f8 kind: POINTER @@ -23501,6 +23506,11 @@ pointer_reference { kind: POINTER pointee_type_id: 0xf87eb23d } +pointer_reference { + id: 0x348fecbf + kind: POINTER + pointee_type_id: 0xf87f5460 +} pointer_reference { id: 0x3491860b kind: POINTER @@ -27661,11 +27671,6 @@ pointer_reference { kind: POINTER pointee_type_id: 0xd3ab17fd } -pointer_reference { - id: 0x3e7e0d52 - kind: POINTER - pointee_type_id: 0xd3b8d3d4 -} pointer_reference { id: 0x3e7f4a71 kind: POINTER @@ -32441,6 +32446,11 @@ qualified { qualifier: CONST qualified_type_id: 0xd3c80119 } +qualified { + id: 0xe8ffd957 + qualifier: CONST + qualified_type_id: 0xd3b8d3d4 +} qualified { id: 0xe9164f81 qualifier: CONST @@ -33196,6 +33206,11 @@ qualified { qualifier: CONST qualified_type_id: 0x91b5a647 } +qualified { + id: 0xf87f5460 + qualifier: CONST + qualified_type_id: 0x91bae70a +} qualified { id: 0xf8992146 qualifier: CONST @@ -41078,10 +41093,10 @@ member { type_id: 0xe62ebf07 } member { - id: 0xe71cc270 + id: 0xe71cc1d9 name: "accept_list" type_id: 0xd3c80119 - offset: 29056 + offset: 29440 } member { id: 0x09a04ae8 @@ -42781,6 +42796,12 @@ member { type_id: 0x2360e10b offset: 4864 } +member { + id: 0x2bbb15d8 + name: "address_device" + type_id: 0x2faaffbd + offset: 512 +} member { id: 0x2bbb1733 name: "address_device" @@ -42986,16 +43007,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 +43037,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 +43079,10 @@ member { offset: 9984 } member { - id: 0x105c3ace + id: 0x105c3c4d name: "adv_tx_power" type_id: 0x901eaf6a - offset: 38728 + offset: 39112 } member { id: 0x686a7031 @@ -43099,16 +43120,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 +43144,10 @@ member { offset: 6736 } member { - id: 0xaaa3f8da + id: 0xaaa3fd42 name: "advmon_pend_notify" type_id: 0x6d7f5ff6 - offset: 49984 + offset: 50368 } member { id: 0x1ffcf224 @@ -43876,6 +43897,12 @@ member { type_id: 0xe8e3d133 offset: 512 } +member { + id: 0x14e2bc0d + name: "allow_connect" + type_id: 0x6d7f5ff6 + offset: 7568 +} member { id: 0x1098af81 name: "allow_instances" @@ -44422,6 +44449,12 @@ member { type_id: 0x92233392 offset: 832 } +member { + id: 0xedc9a6ac + name: "android_kabi_reserved0" + type_id: 0x92233392 + offset: 2816 +} member { id: 0x2d08100c name: "android_kabi_reserved1" @@ -44775,6 +44808,12 @@ member { type_id: 0x92233392 offset: 8128 } +member { + id: 0x2d0818b7 + name: "android_kabi_reserved1" + type_id: 0x92233392 + offset: 51456 +} member { id: 0x2d0818d7 name: "android_kabi_reserved1" @@ -44847,12 +44886,6 @@ member { type_id: 0x92233392 offset: 3200 } -member { - id: 0x2d081a58 - name: "android_kabi_reserved1" - type_id: 0x92233392 - offset: 2816 -} member { id: 0x2d081aa3 name: "android_kabi_reserved1" @@ -44895,6 +44928,12 @@ member { type_id: 0x92233392 offset: 17152 } +member { + id: 0x2d081bb9 + name: "android_kabi_reserved1" + type_id: 0x92233392 + offset: 2880 +} member { id: 0x2d081be0 name: "android_kabi_reserved1" @@ -45069,12 +45108,6 @@ member { type_id: 0x92233392 offset: 9024 } -member { - id: 0x2d081ed0 - name: "android_kabi_reserved1" - type_id: 0x92233392 - offset: 51072 -} member { id: 0x2d081ed3 name: "android_kabi_reserved1" @@ -45261,6 +45294,12 @@ member { type_id: 0x92233392 offset: 2368 } +member { + id: 0x637600f9 + name: "android_kabi_reserved2" + type_id: 0x92233392 + offset: 2944 +} member { id: 0x637600fb name: "android_kabi_reserved2" @@ -45465,6 +45504,12 @@ member { type_id: 0x92233392 offset: 1920 } +member { + id: 0x637608bd + name: "android_kabi_reserved2" + type_id: 0x92233392 + offset: 51520 +} member { id: 0x637608ca name: "android_kabi_reserved2" @@ -45542,12 +45587,6 @@ member { type_id: 0x92233392 offset: 2752 } -member { - id: 0x63760aa0 - name: "android_kabi_reserved2" - type_id: 0x92233392 - offset: 51136 -} member { id: 0x63760aa1 name: "android_kabi_reserved2" @@ -45872,6 +45911,12 @@ member { type_id: 0x92233392 offset: 8128 } +member { + id: 0xac894467 + name: "android_kabi_reserved3" + type_id: 0x92233392 + offset: 51584 +} member { id: 0xac894653 name: "android_kabi_reserved3" @@ -45998,12 +46043,6 @@ member { type_id: 0x92233392 offset: 704 } -member { - id: 0xac894bbb - name: "android_kabi_reserved3" - type_id: 0x92233392 - offset: 51200 -} member { id: 0xac894bd2 name: "android_kabi_reserved3" @@ -46100,6 +46139,12 @@ member { type_id: 0x92233392 offset: 640 } +member { + id: 0xac894f5e + name: "android_kabi_reserved3" + type_id: 0x92233392 + offset: 3008 +} member { id: 0x031a13a1 name: "android_kabi_reserved30" @@ -46308,6 +46353,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 { @@ -46322,12 +46373,6 @@ member { type_id: 0x92233392 offset: 960 } -member { - id: 0xe0f63ccd - name: "android_kabi_reserved4" - type_id: 0x92233392 - offset: 51264 -} member { id: 0xe0f63ce5 name: "android_kabi_reserved4" @@ -46424,6 +46469,12 @@ member { type_id: 0x92233392 offset: 5504 } +member { + id: 0xe0f63f30 + name: "android_kabi_reserved4" + type_id: 0x92233392 + offset: 51648 +} member { id: 0xe0f63f53 name: "android_kabi_reserved4" @@ -52621,10 +52672,10 @@ member { offset: 17664 } member { - id: 0xe27e8817 + id: 0xe27e8ce3 name: "blocked_keys" type_id: 0xd3c80119 - offset: 30464 + offset: 30848 } member { id: 0xa9b1ec07 @@ -54936,6 +54987,12 @@ member { type_id: 0x01ae1e33 offset: 9664 } +member { + id: 0x2a260680 + name: "bus_resume" + type_id: 0x2fa7835a + offset: 640 +} member { id: 0x2a260a7a name: "bus_resume" @@ -54954,6 +55011,12 @@ member { type_id: 0x2fa7835a offset: 1280 } +member { + id: 0x91993cba + name: "bus_suspend" + type_id: 0x2fa7835a + offset: 576 +} member { id: 0xdda1e12c name: "bus_suspended" @@ -60568,10 +60631,10 @@ member { offset: 384 } member { - id: 0xcd5fd56d + id: 0xcd5fd921 name: "close" type_id: 0x2c2c3c2e - offset: 50112 + offset: 50496 } member { id: 0xcd7c1df7 @@ -61027,10 +61090,10 @@ member { offset: 3968 } member { - id: 0xa57ecf84 + id: 0xa57ecd8e name: "cmd_q" type_id: 0x578f9c2b - offset: 25536 + offset: 25920 } member { id: 0xe5cdfc8b @@ -61080,10 +61143,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,16 +61173,10 @@ member { offset: 208 } member { - id: 0x08a92984 + id: 0x08a92d3f name: "cmd_timeout" type_id: 0x0f6a1081 - offset: 50752 -} -member { - id: 0x091c4805 - name: "cmd_timer" - type_id: 0xf1159c31 - offset: 19648 + offset: 51136 } member { id: 0x091c4926 @@ -61127,6 +61184,12 @@ member { type_id: 0xf1159c31 offset: 1472 } +member { + id: 0x091c4964 + name: "cmd_timer" + type_id: 0xf1159c31 + offset: 20032 +} member { id: 0xbab90229 name: "cmd_trb" @@ -61139,10 +61202,10 @@ member { offset: 64 } member { - id: 0x15ef38ff + id: 0x15ef3a47 name: "cmd_work" type_id: 0x1f3c8679 - offset: 22208 + offset: 22592 } member { id: 0x616075f5 @@ -63121,16 +63184,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 @@ -63246,6 +63309,12 @@ member { type_id: 0x1b115f4e offset: 1152 } +member { + id: 0x997c2cff + name: "connect_lock" + type_id: 0xa7c362b0 + offset: 8000 +} member { id: 0xee1e8424 name: "connect_phy" @@ -66901,10 +66970,10 @@ member { type_id: 0xec0a20ff } member { - id: 0xee8ba20d + id: 0xee8bae4d name: "cur_adv_instance" type_id: 0xb3e7bac9 - offset: 44960 + offset: 45344 } member { id: 0x2dbb1524 @@ -69910,10 +69979,10 @@ member { offset: 2176 } member { - id: 0x1c35799b + id: 0x1c35794d name: "debugfs" type_id: 0x120540d1 - offset: 31232 + offset: 31616 } member { id: 0x1c357c44 @@ -72414,18 +72483,18 @@ member { type_id: 0x23230326 offset: 896 } -member { - id: 0xce1acc2a - name: "dev" - type_id: 0x23230326 - offset: 31296 -} member { id: 0xce1acc3f name: "dev" type_id: 0x23230326 offset: 1088 } +member { + id: 0xce1acc55 + name: "dev" + type_id: 0x23230326 + offset: 31680 +} member { id: 0xce1acdd7 name: "dev" @@ -72787,10 +72856,10 @@ member { offset: 22128 } member { - id: 0x76701066 + id: 0x76701448 name: "dev_flags" type_id: 0xb914bfab - offset: 38656 + offset: 39040 } member { id: 0xf95461ff @@ -75156,16 +75225,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 +75243,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 @@ -85818,10 +85887,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 @@ -88908,10 +88977,10 @@ member { offset: 384 } member { - id: 0x7f822124 + id: 0x7f8229da name: "flush" type_id: 0x2c2c3c2e - offset: 50176 + offset: 50560 } member { id: 0x7f825805 @@ -91938,10 +92007,10 @@ member { offset: 7496 } member { - id: 0xed3cf293 + id: 0xed3cf7e2 name: "fw_info" type_id: 0x3e10b518 - offset: 31168 + offset: 31552 } member { id: 0x6f04a1ea @@ -92876,10 +92945,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 +93005,10 @@ member { offset: 448 } member { - id: 0x6ae7b18d + id: 0x6ae7b5b9 name: "get_data_path_id" type_id: 0x2c0a55f9 - offset: 50944 + offset: 51328 } member { id: 0x6b09f785 @@ -99306,10 +99375,10 @@ member { offset: 2112 } member { - id: 0xa65cd211 + id: 0xa65cd12c name: "hw_error" type_id: 0x0f434cf3 - offset: 50496 + offset: 50880 } member { id: 0x0d3b5bd1 @@ -99372,10 +99441,10 @@ member { offset: 32 } member { - id: 0x37178a6f + id: 0x371784a6 name: "hw_info" type_id: 0x3e10b518 - offset: 31104 + offset: 31488 } member { id: 0xec485b4b @@ -101631,10 +101700,10 @@ member { offset: 64 } member { - id: 0x115fafab + id: 0x115fa561 name: "identity_resolving_keys" type_id: 0xd3c80119 - offset: 29568 + offset: 29952 } member { id: 0x0c06b72f @@ -105266,16 +105335,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 @@ -107311,10 +107380,10 @@ member { bitsize: 2 } member { - id: 0x068f48a1 + id: 0x068f454d name: "irk" type_id: 0x60ca2c23 - offset: 46304 + offset: 46688 } member { id: 0x99159221 @@ -109837,12 +109906,6 @@ member { name: "key" type_id: 0x2f932a1e } -member { - id: 0x209860f9 - name: "key" - type_id: 0xce6e9270 - offset: 232 -} member { id: 0x209f059a name: "key" @@ -109855,6 +109918,12 @@ member { type_id: 0xc9082b19 offset: 64 } +member { + id: 0x20a07181 + name: "key" + type_id: 0xf67b8436 + offset: 256 +} member { id: 0x20aa0052 name: "key" @@ -112181,10 +112250,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 +112340,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 +112454,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 +112484,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 +112520,10 @@ member { offset: 6240 } member { - id: 0xf931197e + id: 0xf9311273 name: "le_scan_restart" type_id: 0xf1159c31 - offset: 24064 + offset: 24448 } member { id: 0x32b8a7c0 @@ -112969,6 +113038,11 @@ member { type_id: 0xc9082b19 offset: 320 } +member { + id: 0xb8ccdd7d + name: "len" + type_id: 0xc9082b19 +} member { id: 0xb8cceb57 name: "len" @@ -113928,10 +114002,10 @@ member { offset: 1280 } member { - id: 0x4ba7b4dd + id: 0x4ba7b24a name: "link_keys" type_id: 0xd3c80119 - offset: 29312 + offset: 29696 } member { id: 0x302a5d27 @@ -114964,10 +115038,10 @@ member { offset: 1480 } member { - id: 0x1d6fbead + id: 0x1d6fbf33 name: "local_codecs" type_id: 0xd3c80119 - offset: 30592 + offset: 30976 } member { id: 0x9ddaf23a @@ -116248,10 +116322,10 @@ member { offset: 64 } member { - id: 0x4e950be9 + id: 0x4e9500ec name: "long_term_keys" type_id: 0xd3c80119 - offset: 29440 + offset: 29824 } member { id: 0xf24e93bd @@ -122678,16 +122752,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 @@ -122836,10 +122910,10 @@ member { offset: 832 } member { - id: 0x285f0a99 + id: 0x285f05be name: "mgmt_pending" type_id: 0xd3c80119 - offset: 28800 + offset: 29184 } member { id: 0x5b8fb9b9 @@ -125649,10 +125723,10 @@ member { offset: 4352 } member { - id: 0xc6a08da1 + id: 0xc6a08382 name: "monitored_devices" type_id: 0xd3c80119 - offset: 49856 + offset: 50240 } member { id: 0x6383498a @@ -128503,10 +128577,10 @@ member { offset: 320 } member { - id: 0xe5f6e117 + id: 0xe5f6efa3 name: "ncmd_timer" type_id: 0xf1159c31 - offset: 20736 + offset: 21120 } member { id: 0x724b21cb @@ -132310,10 +132384,10 @@ member { offset: 576 } member { - id: 0x56f92eab + id: 0x56f92467 name: "notify" type_id: 0x0f2f95e7 - offset: 50432 + offset: 50816 } member { id: 0x56fba0e3 @@ -136450,10 +136524,10 @@ member { offset: 704 } member { - id: 0x8b1c39bc + id: 0x8b1c3d04 name: "off" type_id: 0xc9082b19 - offset: 96 + offset: 32 } member { id: 0x8b35cac9 @@ -137496,10 +137570,10 @@ member { type_id: 0x2cfc979f } member { - id: 0xad98abe8 + id: 0xad98a9ad name: "open" type_id: 0x2c2c3c2e - offset: 50048 + offset: 50432 } member { id: 0xad98dbd1 @@ -143102,16 +143176,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 @@ -143361,16 +143435,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 @@ -147572,10 +147646,10 @@ member { offset: 576 } member { - id: 0x319b8398 + id: 0x319b89ab name: "post_init" type_id: 0x2c2c3c2e - offset: 50560 + offset: 50944 } member { id: 0xf5022a3d @@ -151155,10 +151229,10 @@ member { offset: 1152 } member { - id: 0xc9aa7830 + id: 0xc9aa7d35 name: "promisc" type_id: 0x74d29cf1 - offset: 31040 + offset: 31424 } member { id: 0x66064d03 @@ -154675,10 +154749,10 @@ member { offset: 1224 } member { - id: 0x6fa9dc88 + id: 0x6fa9d3ef name: "raw_q" type_id: 0x578f9c2b - offset: 25344 + offset: 25728 } member { id: 0x3d617ac5 @@ -156644,10 +156718,10 @@ member { offset: 160 } member { - id: 0x0cd3502a + id: 0x0cd354a8 name: "recv_event" type_id: 0x054f691a - offset: 25792 + offset: 26176 } member { id: 0x32fffef6 @@ -156800,10 +156874,10 @@ member { offset: 64 } member { - id: 0xe795c0f1 + id: 0xe795c368 name: "reenable_adv_work" type_id: 0x1f3c8679 - offset: 17024 + offset: 17408 } member { id: 0x2526a39a @@ -158323,10 +158397,10 @@ member { offset: 160 } member { - id: 0x020ecba9 + id: 0x020eccd3 name: "reject_list" type_id: 0xd3c80119 - offset: 28928 + offset: 29312 } member { id: 0x904c6fcf @@ -158884,10 +158958,10 @@ member { offset: 2064 } member { - id: 0x17a11fa5 + id: 0x17a11866 name: "remote_oob_data" type_id: 0xd3c80119 - offset: 29696 + offset: 30080 } member { id: 0xa3daa863 @@ -159673,10 +159747,10 @@ member { offset: 704 } member { - id: 0x41d7b583 + id: 0x41d7be50 name: "req_lock" type_id: 0xa7c362b0 - offset: 25856 + offset: 26240 } member { id: 0x5b6c091d @@ -159756,22 +159830,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 +159860,10 @@ member { offset: 192 } member { - id: 0x380f14bc + id: 0x380f1158 name: "req_wait_q" type_id: 0x03913382 - offset: 26240 + offset: 26624 } member { id: 0xba5af507 @@ -162651,10 +162725,10 @@ member { offset: 9280 } member { - id: 0x80a0a424 + id: 0x80a0a3ee name: "rfkill" type_id: 0x079ff791 - offset: 38592 + offset: 38976 } member { id: 0x6ba9654a @@ -163432,22 +163506,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 @@ -164729,10 +164803,10 @@ member { offset: 1976 } member { - id: 0xa56878ce + id: 0xa568765c name: "rwork" type_id: 0xd15fd98f - offset: 2560 + offset: 3200 } member { id: 0xd610e150 @@ -165383,10 +165457,10 @@ member { offset: 192 } member { - id: 0x714814d3 + id: 0x71481e19 name: "rx_q" type_id: 0x578f9c2b - offset: 25152 + offset: 25536 } member { id: 0x671dc45f @@ -165605,10 +165679,10 @@ member { offset: 2240 } member { - id: 0x6e7f7819 + id: 0x6e7f7dae name: "rx_work" type_id: 0x1f3c8679 - offset: 21824 + offset: 22208 } member { id: 0x8be6c17d @@ -167281,16 +167355,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 +167450,10 @@ member { bitsize: 1 } member { - id: 0xb40bde91 + id: 0xb40bd33a name: "scanning_paused" type_id: 0x6d7f5ff6 - offset: 28224 + offset: 28608 } member { id: 0x93a30d5c @@ -168856,10 +168930,10 @@ member { offset: 64 } member { - id: 0xe39f13d5 + id: 0xe39f1481 name: "send" type_id: 0x2c297347 - offset: 50368 + offset: 50752 } member { id: 0x300665d2 @@ -169146,10 +169220,10 @@ member { offset: 3872 } member { - id: 0x8fd1ed9e + id: 0x8fd1e923 name: "sent_cmd" type_id: 0x054f691a - offset: 25728 + offset: 26112 } member { id: 0x2f63fdae @@ -169633,10 +169707,10 @@ member { offset: 960 } member { - id: 0x6f0a1e46 + id: 0x6f0a17b5 name: "service_cache" type_id: 0xf1159c31 - offset: 18560 + offset: 18944 } member { id: 0x5f901528 @@ -169881,10 +169955,10 @@ member { offset: 192 } member { - id: 0x284bd07a + id: 0x284bd920 name: "set_bdaddr" type_id: 0x2c1bc9fd - offset: 50688 + offset: 51072 } member { id: 0x04c66be5 @@ -170116,10 +170190,10 @@ member { offset: 128 } member { - id: 0xfedeef06 + id: 0xfedee1e7 name: "set_diag" type_id: 0x2c414371 - offset: 50624 + offset: 51008 } member { id: 0xb9a43c35 @@ -170746,10 +170820,10 @@ member { offset: 2240 } member { - id: 0xe84b78bc + id: 0xe84b7153 name: "set_quality_report" type_id: 0x2c414371 - offset: 50880 + offset: 51264 } member { id: 0x602695e6 @@ -171373,10 +171447,10 @@ member { offset: 384 } member { - id: 0x84e564f5 + id: 0x84e56f17 name: "setup" type_id: 0x2c2c3c2e - offset: 50240 + offset: 50624 } member { id: 0x84e59375 @@ -172477,10 +172551,10 @@ member { offset: 80 } member { - id: 0x9ed91a6e + id: 0x9ed91ea3 name: "shutdown" type_id: 0x2c2c3c2e - offset: 50304 + offset: 50688 } member { id: 0x9ed96f02 @@ -174089,6 +174163,12 @@ member { offset: 4228 bitsize: 4 } +member { + id: 0x8a1dbb2d + name: "sk_wait_pending" + type_id: 0x6720d32f + offset: 2272 +} member { id: 0xca81d80d name: "sk_wmem_alloc" @@ -174504,9 +174584,9 @@ member { bitsize: 1 } member { - id: 0x56771d1e + id: 0x567d4292 name: "skip_notify_on_dev_down" - type_id: 0x6d7f5ff6 + type_id: 0x6720d32f offset: 1408 } member { @@ -175262,16 +175342,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 @@ -178009,10 +178089,10 @@ member { offset: 20416 } member { - id: 0xb949874f + id: 0xb9498bcf name: "stat" type_id: 0xf2078d09 - offset: 30720 + offset: 31104 } member { id: 0xb99ea4be @@ -181429,10 +181509,10 @@ member { offset: 896 } member { - id: 0x10dab6be + id: 0x10dabda2 name: "suspend_notifier" type_id: 0x449a775b - offset: 27968 + offset: 28352 } member { id: 0xe2d495b2 @@ -181465,16 +181545,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 @@ -181527,18 +181607,18 @@ member { type_id: 0x6d7f5ff6 offset: 6080 } -member { - id: 0xff765a6f - name: "suspended" - type_id: 0x6d7f5ff6 - offset: 28232 -} member { id: 0xff765c39 name: "suspended" type_id: 0x6d7f5ff6 offset: 248 } +member { + id: 0xff765d59 + name: "suspended" + type_id: 0x6d7f5ff6 + offset: 28616 +} member { id: 0xe8c51b31 name: "suspended_by_mdio_bus" @@ -190323,10 +190403,10 @@ member { type_id: 0x33756485 } member { - id: 0xa75cec0a + id: 0xa75cede3 name: "tx_work" type_id: 0x1f3c8679 - offset: 22592 + offset: 22976 } member { id: 0xdebcf805 @@ -193190,6 +193270,12 @@ member { type_id: 0x0e627592 offset: 64 } +member { + id: 0xdb3467f3 + name: "unregister_lock" + type_id: 0xa7c362b0 + offset: 16640 +} member { id: 0x7c187e24 name: "unregistered" @@ -195426,10 +195512,10 @@ member { offset: 896 } member { - id: 0x4dcd3d5e + id: 0x4dcd3a37 name: "uuids" type_id: 0xd3c80119 - offset: 29184 + offset: 29568 } member { id: 0xba94773b @@ -196377,6 +196463,12 @@ member { offset: 66 bitsize: 1 } +member { + id: 0xdf3f679f + name: "vbus_work" + type_id: 0x1f3c8679 + offset: 7616 +} member { id: 0xf6f15b5e name: "vbv_buffer_size" @@ -199549,16 +199641,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 +199756,10 @@ member { offset: 18816 } member { - id: 0x15af785f + id: 0x15af76a2 name: "wake_reason" type_id: 0x295c7202 - offset: 28240 + offset: 28624 } member { id: 0x692e11ef @@ -199706,10 +199798,10 @@ member { offset: 320 } member { - id: 0xff0b382d + id: 0xff0b3458 name: "wakeup" type_id: 0x34e51224 - offset: 50816 + offset: 51200 } member { id: 0xff0caf01 @@ -200643,6 +200735,12 @@ member { type_id: 0x6720d32f offset: 928 } +member { + id: 0xd60840ef + name: "work" + type_id: 0xf1159c31 + offset: 2112 +} member { id: 0xd60848d4 name: "work" @@ -226253,7 +226351,7 @@ struct_union { member_id: 0x2d08134c member_id: 0x63760a9a member_id: 0xac8947dc - member_id: 0xe0f63bda + member_id: 0xe0f63bdb } } struct_union { @@ -226276,7 +226374,7 @@ struct_union { kind: STRUCT name: "hci_dev" definition { - bytesize: 6416 + bytesize: 6464 member_id: 0x7c00ef52 member_id: 0x2d4b35c2 member_id: 0x0d314a12 @@ -226428,112 +226526,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 { @@ -237772,8 +237871,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 } } @@ -241742,7 +241841,7 @@ struct_union { member_id: 0x94d42733 member_id: 0x2da184bc member_id: 0xdcf61166 - member_id: 0x209860f9 + member_id: 0x20a07181 } } struct_union { @@ -248357,7 +248456,7 @@ struct_union { kind: STRUCT name: "sk_psock" definition { - bytesize: 392 + bytesize: 472 member_id: 0x828c89b5 member_id: 0xbca70c75 member_id: 0x89339cbd @@ -248382,8 +248481,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 +248502,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 { @@ -251011,6 +251109,7 @@ struct_union { member_id: 0x69be7cba member_id: 0xa5fca811 member_id: 0x519959d7 + member_id: 0x8a1dbb2d member_id: 0xbbf2e8a0 member_id: 0x3bc43305 member_id: 0x729e4302 @@ -257579,7 +257678,7 @@ struct_union { kind: STRUCT name: "usb_phy" definition { - bytesize: 360 + bytesize: 392 member_id: 0xce3bbab3 member_id: 0x0517076e member_id: 0x2d2d08fa @@ -257611,7 +257710,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 +258077,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 { @@ -263493,7 +263599,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 +263608,13 @@ 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 { @@ -285663,6 +285776,12 @@ function { parameter_id: 0x1e820193 parameter_id: 0x6720d32f } +function { + id: 0x16a7bffa + return_type_id: 0x48b5725f + parameter_id: 0x1a1051a0 + parameter_id: 0x2efe8065 +} function { id: 0x16a99695 return_type_id: 0x48b5725f @@ -288976,6 +289095,11 @@ function { parameter_id: 0x96c1925d parameter_id: 0x18bd6530 } +function { + id: 0x1cb3a26f + return_type_id: 0x48b5725f + parameter_id: 0x30afcff2 +} function { id: 0x1cb4b808 return_type_id: 0x48b5725f @@ -290776,11 +290900,6 @@ function { parameter_id: 0x3f222c68 parameter_id: 0x15b54c6f } -function { - id: 0x1f07d2c7 - return_type_id: 0x48b5725f - parameter_id: 0x3e7e0d52 -} function { id: 0x1f0d7714 return_type_id: 0x48b5725f @@ -298942,6 +299061,11 @@ function { parameter_id: 0x08e97c95 parameter_id: 0x0483e6f8 } +function { + id: 0x91ab10d3 + return_type_id: 0x6720d32f + parameter_id: 0x30afcff2 +} function { id: 0x91adf8fd return_type_id: 0x6720d32f @@ -299850,11 +299974,6 @@ function { parameter_id: 0xf435685e parameter_id: 0x0efc9002 } -function { - id: 0x921f607b - return_type_id: 0x6720d32f - parameter_id: 0x3e7e0d52 -} function { id: 0x9220b9bd return_type_id: 0x6720d32f @@ -307719,6 +307838,15 @@ function { parameter_id: 0x1bf16028 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 @@ -311077,14 +311205,6 @@ function { parameter_id: 0x18bd6530 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 @@ -314398,6 +314518,12 @@ function { parameter_id: 0x0483e6f8 parameter_id: 0x4585663f } +function { + id: 0x9dd4624b + return_type_id: 0x6720d32f + parameter_id: 0x0258f96e + parameter_id: 0x30afcff2 +} function { id: 0x9dd5dbef return_type_id: 0x6720d32f @@ -314691,12 +314817,6 @@ function { parameter_id: 0x0258f96e parameter_id: 0x3e10b518 } -function { - id: 0x9def2541 - return_type_id: 0x6720d32f - parameter_id: 0x0258f96e - parameter_id: 0x3e7e0d52 -} function { id: 0x9defdaa5 return_type_id: 0x6720d32f @@ -316263,6 +316383,11 @@ function { parameter_id: 0x0de4c6b1 parameter_id: 0x6720d32f } +function { + id: 0x9f67ec8c + return_type_id: 0x3e10b518 + parameter_id: 0x348fecbf +} function { id: 0x9f6a0f7c return_type_id: 0x6720d32f @@ -317003,6 +317128,13 @@ function { return_type_id: 0x0258f96e 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 @@ -321567,7 +321699,7 @@ elf_symbol { name: "___pskb_trim" is_defined: true symbol_type: FUNCTION - crc: 0xb8fdf4c6 + crc: 0x45b20f13 type_id: 0x9dc52cf1 full_name: "___pskb_trim" } @@ -321612,7 +321744,7 @@ elf_symbol { name: "__alloc_skb" is_defined: true symbol_type: FUNCTION - crc: 0x34355489 + crc: 0x19dd35ba type_id: 0x7a21af66 full_name: "__alloc_skb" } @@ -321672,7 +321804,7 @@ elf_symbol { name: "__balance_callbacks" is_defined: true symbol_type: FUNCTION - crc: 0x76a1a2f4 + crc: 0x2af1f39a type_id: 0x1b18f64e full_name: "__balance_callbacks" } @@ -322131,7 +322263,7 @@ 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" } @@ -322140,7 +322272,7 @@ elf_symbol { 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 +322281,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 +322290,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 +322299,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 +322308,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" } @@ -322689,7 +322821,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 +322830,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 +322848,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" } @@ -322770,7 +322902,7 @@ elf_symbol { name: "__genphy_config_aneg" is_defined: true symbol_type: FUNCTION - crc: 0x37458595 + crc: 0xcdd0498d type_id: 0x9068b671 full_name: "__genphy_config_aneg" } @@ -322824,7 +322956,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 +322965,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 +322974,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 +322983,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 +322992,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,7 +323001,7 @@ 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" } @@ -322977,7 +323109,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 +323118,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" } @@ -323041,7 +323173,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 +323182,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" } @@ -323239,7 +323371,7 @@ elf_symbol { name: "__kfree_skb" is_defined: true symbol_type: FUNCTION - crc: 0xc4c8c8ef + crc: 0x7bb0184e type_id: 0x11cb8bd5 full_name: "__kfree_skb" } @@ -323320,7 +323452,7 @@ elf_symbol { name: "__mdiobus_read" is_defined: true symbol_type: FUNCTION - crc: 0xd579b351 + crc: 0xa3d576c4 type_id: 0x915b6659 full_name: "__mdiobus_read" } @@ -323329,7 +323461,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 +323470,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 +323533,7 @@ elf_symbol { name: "__migrate_task" is_defined: true symbol_type: FUNCTION - crc: 0x5bdb0ad4 + crc: 0xaaa6dd7d type_id: 0x81bed9bb full_name: "__migrate_task" } @@ -323500,7 +323632,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 +323641,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 +323650,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 +323668,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 +323686,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 +323695,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 +323704,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 +323713,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 +323722,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 +323731,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 +323758,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 +323785,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 +324028,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 +324037,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 +324055,7 @@ elf_symbol { name: "__put_net" is_defined: true symbol_type: FUNCTION - crc: 0xc00df7e0 + crc: 0x64b548b6 type_id: 0x13b0ccb3 full_name: "__put_net" } @@ -324085,7 +324217,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" } @@ -324220,7 +324352,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 +324361,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 +324379,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 +324388,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 +324397,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 +324406,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 +324415,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 +324424,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 +324433,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 +324442,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 +324451,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" } @@ -324445,7 +324577,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 +324586,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" } @@ -325192,8 +325324,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 { @@ -327397,7 +327529,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" } @@ -327433,7 +327565,7 @@ elf_symbol { 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 +327574,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" } @@ -327478,7 +327610,7 @@ elf_symbol { 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 +327619,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 +327628,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 +327646,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 +327655,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 +327664,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,7 +327673,7 @@ 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" } @@ -327550,7 +327682,7 @@ elf_symbol { name: "__traceiter_sched_waking" is_defined: true symbol_type: FUNCTION - crc: 0xcee9603a + crc: 0x52a13f40 type_id: 0x9bdbdcc4 full_name: "__traceiter_sched_waking" } @@ -327604,7 +327736,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" } @@ -330745,7 +330877,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 +330886,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 +330913,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" } @@ -330988,7 +331120,7 @@ elf_symbol { 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,7 +331129,7 @@ elf_symbol { name: "__xfrm_state_destroy" is_defined: true symbol_type: FUNCTION - crc: 0x935463fd + crc: 0xfed7e612 type_id: 0x10605221 full_name: "__xfrm_state_destroy" } @@ -331033,7 +331165,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 +331174,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 +331183,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 +331192,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 +331201,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 +331210,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 +331219,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 +331228,7 @@ elf_symbol { name: "_dev_warn" is_defined: true symbol_type: FUNCTION - crc: 0x816cb52d + crc: 0x0f55bd9b type_id: 0x1fa0c57a full_name: "_dev_warn" } @@ -331492,7 +331624,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 +331714,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 +331723,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 +331849,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 +331858,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 +331867,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 +331876,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 +331885,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 +331903,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" } @@ -331789,7 +331921,7 @@ elf_symbol { name: "alloc_netdev_mqs" is_defined: true symbol_type: FUNCTION - crc: 0xedd87aed + crc: 0xa8cf71ff type_id: 0xe554bdb1 full_name: "alloc_netdev_mqs" } @@ -331807,7 +331939,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" } @@ -332010,7 +332142,7 @@ elf_symbol { name: "arp_tbl" is_defined: true symbol_type: OBJECT - crc: 0xf9e7723e + crc: 0x228f026d type_id: 0x77670b3b full_name: "arp_tbl" } @@ -332208,7 +332340,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" } @@ -333423,7 +333555,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 +333564,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,7 +333573,7 @@ elf_symbol { name: "bpf_prog_sub" is_defined: true symbol_type: FUNCTION - crc: 0x9b7eefdc + crc: 0xf8eeef85 type_id: 0x1de47b51 full_name: "bpf_prog_sub" } @@ -333459,7 +333591,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 +333600,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 +333609,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 +333618,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 +333627,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 +333636,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 +333645,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 +333654,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 +333663,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 +333672,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 +333681,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 +333690,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 +333699,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 +333744,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 +333753,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 +333762,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 +333771,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 +333807,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 +333816,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 +333825,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 +333834,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 +333843,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 +333852,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 +333861,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 +333870,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 +333879,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 +333888,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 +333906,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 +333915,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 +333960,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 +333969,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 +333978,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 +333987,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 +333996,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 +334005,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 +334014,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 +334023,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,7 +334032,7 @@ 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" } @@ -333909,7 +334041,7 @@ elf_symbol { name: "build_skb" is_defined: true symbol_type: FUNCTION - crc: 0x06233f92 + crc: 0xb7cab24f type_id: 0x6fa775f5 full_name: "build_skb" } @@ -333997,7 +334129,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 +334174,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 +334183,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 +334192,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 +334201,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 +334210,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 +334219,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 +334246,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 +334255,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 +334273,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 +334282,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 +334291,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 +334300,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 +334309,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 +334318,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 +334327,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 +334336,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 +334345,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 +334354,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 +334363,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 +334372,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 +334381,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 +334390,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 +334399,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 +334408,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 +334417,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 +334426,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 +334435,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 +334444,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" } @@ -334573,7 +334705,7 @@ elf_symbol { 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 +334714,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 +334723,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,7 +334732,7 @@ elf_symbol { name: "cgroup_taskset_next" is_defined: true symbol_type: FUNCTION - crc: 0xc87e1caa + crc: 0xa23b7f66 type_id: 0x751b5661 full_name: "cgroup_taskset_next" } @@ -334618,7 +334750,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" } @@ -335327,7 +335459,7 @@ elf_symbol { name: "close_candev" is_defined: true symbol_type: FUNCTION - crc: 0xbf17abcb + crc: 0x75b20ea5 type_id: 0x1c31d966 full_name: "close_candev" } @@ -335723,7 +335855,7 @@ elf_symbol { name: "consume_skb" is_defined: true symbol_type: FUNCTION - crc: 0xabb8cf3a + crc: 0x925b1655 type_id: 0x11cb8bd5 full_name: "consume_skb" } @@ -336565,7 +336697,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,7 +336706,7 @@ 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" } @@ -336610,7 +336742,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 +336778,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" } @@ -336754,7 +336886,7 @@ elf_symbol { name: "crypto_register_skcipher" is_defined: true symbol_type: FUNCTION - crc: 0xe302e076 + crc: 0x70b27b3c type_id: 0x928f1946 full_name: "crypto_register_skcipher" } @@ -336826,7 +336958,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 +336967,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 +336976,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" } @@ -336907,7 +337039,7 @@ elf_symbol { name: "crypto_unregister_skcipher" is_defined: true symbol_type: FUNCTION - crc: 0x0f6352af + crc: 0x72f284fd type_id: 0x1f97abfa full_name: "crypto_unregister_skcipher" } @@ -336916,7 +337048,7 @@ elf_symbol { name: "css_next_child" is_defined: true symbol_type: FUNCTION - crc: 0xff552960 + crc: 0xd19a6c6f type_id: 0xc867c639 full_name: "css_next_child" } @@ -336925,7 +337057,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" } @@ -337060,7 +337192,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 +337219,7 @@ elf_symbol { name: "deactivate_task" is_defined: true symbol_type: FUNCTION - crc: 0xed10361a + crc: 0xab0c473a type_id: 0x1b7558dd full_name: "deactivate_task" } @@ -337447,7 +337579,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 +337588,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 +337597,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 +337615,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 +337624,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 +337660,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 +337669,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 +337696,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 +337705,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 +337714,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 +337723,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 +337732,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 +337750,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 +337759,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 +337768,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 +337777,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 +337786,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 +337795,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 +337804,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 +337813,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 +337822,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 +337831,7 @@ elf_symbol { name: "dev_open" is_defined: true symbol_type: FUNCTION - crc: 0x2b5451d5 + crc: 0x0b48e272 type_id: 0x913618b5 full_name: "dev_open" } @@ -338194,7 +338326,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 +338335,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 +338344,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 +338353,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 +338362,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 +338371,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 +338380,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 +338389,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 +338407,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 +338416,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 +338425,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 +338434,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 +338443,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 +338452,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" } @@ -338482,7 +338614,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 +338632,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 +338659,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 +338668,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 +338677,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 +338695,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 +338704,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 +338713,7 @@ elf_symbol { name: "device_destroy" is_defined: true symbol_type: FUNCTION - crc: 0xf6d827f6 + crc: 0xc2569e41 type_id: 0x19a776c5 full_name: "device_destroy" } @@ -338590,7 +338722,7 @@ elf_symbol { name: "device_find_child" is_defined: true symbol_type: FUNCTION - crc: 0x2d83d57e + crc: 0x07583eb2 type_id: 0xadd088bd full_name: "device_find_child" } @@ -338599,7 +338731,7 @@ elf_symbol { 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 +338740,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 +338767,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 +338812,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 +338821,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 +338830,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 +338839,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 +338848,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 +338857,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 +338866,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 +338875,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 +338884,7 @@ elf_symbol { name: "device_move" is_defined: true symbol_type: FUNCTION - crc: 0x8cff37e4 + crc: 0xa20b010c type_id: 0x9d26cfef full_name: "device_move" } @@ -338824,7 +338956,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 +338974,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,7 +338983,7 @@ elf_symbol { name: "device_remove_file" is_defined: true symbol_type: FUNCTION - crc: 0xadb04226 + crc: 0x17678b2a type_id: 0x10fc4d27 full_name: "device_remove_file" } @@ -338860,7 +338992,7 @@ elf_symbol { name: "device_remove_groups" is_defined: true symbol_type: FUNCTION - crc: 0xf700666d + crc: 0x702e1d06 type_id: 0x10176329 full_name: "device_remove_groups" } @@ -338869,7 +339001,7 @@ elf_symbol { name: "device_rename" is_defined: true symbol_type: FUNCTION - crc: 0x0226bd30 + crc: 0x7033f9f3 type_id: 0x9dee9fa0 full_name: "device_rename" } @@ -338878,7 +339010,7 @@ elf_symbol { 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 +339037,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 +339046,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 +339055,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 +339064,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 +339073,7 @@ elf_symbol { name: "device_unregister" is_defined: true symbol_type: FUNCTION - crc: 0xb80da811 + crc: 0xd6b17cf1 type_id: 0x100e6fc8 full_name: "device_unregister" } @@ -338977,7 +339109,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" } @@ -339139,7 +339271,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 +339280,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 +339289,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" } @@ -339283,8 +339415,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 { @@ -339778,7 +339910,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 +340360,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 +340369,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 +340378,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" } @@ -341461,7 +341593,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" } @@ -345367,7 +345499,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 +345517,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 +345526,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,7 +345535,7 @@ elf_symbol { name: "dst_release" is_defined: true symbol_type: FUNCTION - crc: 0x65c33bca + crc: 0x5fc9451b type_id: 0x140e294e full_name: "dst_release" } @@ -345628,7 +345760,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 +345769,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 +345778,7 @@ elf_symbol { name: "ehci_setup" is_defined: true symbol_type: FUNCTION - crc: 0x6864e54e + crc: 0xd2d2139c type_id: 0x94deebf7 full_name: "ehci_setup" } @@ -345817,7 +345949,7 @@ elf_symbol { 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 +345958,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 +345967,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 +345976,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 +345985,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 +345994,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 +346003,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 +346012,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 +346021,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 +346030,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 +346039,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 +346048,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 +346057,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 +346084,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 +346093,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 +346111,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" } @@ -346177,7 +346309,7 @@ elf_symbol { name: "fd_install" is_defined: true symbol_type: FUNCTION - crc: 0x66037067 + crc: 0xd94e18fc type_id: 0x019aa1b7 full_name: "fd_install" } @@ -346186,7 +346318,7 @@ elf_symbol { name: "fget" is_defined: true symbol_type: FUNCTION - crc: 0x8f62589f + crc: 0x314a6896 type_id: 0x50f3b181 full_name: "fget" } @@ -346249,7 +346381,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 +346390,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 +346399,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 +346435,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 +346480,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 +346498,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 +346507,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 +346516,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 +346525,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" } @@ -346492,7 +346624,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 +346633,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 +346678,7 @@ elf_symbol { name: "free_candev" is_defined: true symbol_type: FUNCTION - crc: 0xe5ba89d4 + crc: 0x97d0a2dd type_id: 0x1c31d966 full_name: "free_candev" } @@ -346573,7 +346705,7 @@ elf_symbol { name: "free_netdev" is_defined: true symbol_type: FUNCTION - crc: 0x4a4ba2c9 + crc: 0xb5769105 type_id: 0x1c31d966 full_name: "free_netdev" } @@ -347203,7 +347335,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" } @@ -347374,7 +347506,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 +347515,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 +347524,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 +347533,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 +347542,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 +347551,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 +347560,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 +347587,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 +347596,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 +347605,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 +347614,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 +347623,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 +347632,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 +347641,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 +347650,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 +347659,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 +347668,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 +347677,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 +347686,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 +347740,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 +347786,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 +347795,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 +347850,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 +347941,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 +347959,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" } @@ -347980,8 +348112,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 +348121,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 { @@ -348493,7 +348625,7 @@ elf_symbol { name: "gre_add_protocol" is_defined: true symbol_type: FUNCTION - crc: 0xb5a0942b + crc: 0x06b80249 type_id: 0x92801eb4 full_name: "gre_add_protocol" } @@ -348502,7 +348634,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 +348652,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 +348661,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 +348760,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 +348859,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 +348868,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 +348877,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 +348886,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 +348895,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 +348904,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 +348913,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 +348922,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 +348931,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 +348940,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 +348949,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 +348958,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 +348967,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 +348976,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 +348985,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 +348994,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 +349003,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 +349012,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 +349021,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 +349030,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 +349039,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 +349048,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 +349057,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 +349066,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 +349075,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 +349084,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" } @@ -349150,7 +349282,7 @@ elf_symbol { name: "hidp_hid_driver" is_defined: true symbol_type: OBJECT - crc: 0x3c457fad + crc: 0xddb0b03b type_id: 0x2def15e8 full_name: "hidp_hid_driver" } @@ -350176,7 +350308,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 +350317,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 +350326,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 +350335,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 +350344,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 +350353,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 +350362,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 +350380,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 +350389,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 +350398,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 +350407,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 +350416,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 +350425,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 +350434,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,7 +350443,7 @@ 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" } @@ -350716,7 +350848,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 +350857,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 +350866,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 +350875,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 +350884,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 +350893,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 +350902,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 +350911,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 +350920,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 +350929,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 +350938,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,7 +350947,7 @@ elf_symbol { name: "inet_ioctl" is_defined: true symbol_type: FUNCTION - crc: 0x5a525c29 + crc: 0x4a5645e2 type_id: 0x9882219f full_name: "inet_ioctl" } @@ -350824,7 +350956,7 @@ elf_symbol { name: "init_dummy_netdev" is_defined: true symbol_type: FUNCTION - crc: 0x9cf4f680 + crc: 0xc87c64e6 type_id: 0x91296bda full_name: "init_dummy_netdev" } @@ -350842,7 +350974,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 +350992,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" } @@ -350887,7 +351019,7 @@ elf_symbol { name: "init_task" is_defined: true symbol_type: OBJECT - crc: 0x999445fa + crc: 0xd567d551 type_id: 0x5e2641cb full_name: "init_task" } @@ -351715,7 +351847,7 @@ elf_symbol { name: "ip6_dst_hoplimit" is_defined: true symbol_type: FUNCTION - crc: 0x617935ee + crc: 0x2574d8a8 type_id: 0x99169bf2 full_name: "ip6_dst_hoplimit" } @@ -351724,7 +351856,7 @@ elf_symbol { name: "ip6_local_out" is_defined: true symbol_type: FUNCTION - crc: 0xa29e48e5 + crc: 0x33d05c76 type_id: 0x9edc3d1c full_name: "ip6_local_out" } @@ -351733,7 +351865,7 @@ 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" } @@ -351751,7 +351883,7 @@ elf_symbol { name: "ip_local_out" is_defined: true symbol_type: FUNCTION - crc: 0xd4c65a83 + crc: 0x81daeed1 type_id: 0x9edc3d1c full_name: "ip_local_out" } @@ -351760,7 +351892,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 +351901,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 +351910,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 +351919,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,7 +351955,7 @@ elf_symbol { name: "ipv6_dev_find" is_defined: true symbol_type: FUNCTION - crc: 0x1e08a8d3 + crc: 0xfe50985e type_id: 0xffbaa126 full_name: "ipv6_dev_find" } @@ -351841,7 +351973,7 @@ elf_symbol { name: "ipv6_find_hdr" is_defined: true symbol_type: FUNCTION - crc: 0xfeda9872 + crc: 0x5ca4ba9e type_id: 0x926eec8b full_name: "ipv6_find_hdr" } @@ -351850,7 +351982,7 @@ elf_symbol { name: "ipv6_skip_exthdr" is_defined: true symbol_type: FUNCTION - crc: 0x1e7ff6cb + crc: 0x2fbf103d type_id: 0x9384ebd6 full_name: "ipv6_skip_exthdr" } @@ -351859,7 +351991,7 @@ elf_symbol { name: "ipv6_stub" is_defined: true symbol_type: OBJECT - crc: 0x3fcfdb99 + crc: 0x69417d20 type_id: 0x3d278a00 full_name: "ipv6_stub" } @@ -352508,7 +352640,7 @@ elf_symbol { name: "iterate_fd" is_defined: true symbol_type: FUNCTION - crc: 0x1886cee2 + crc: 0x3204fe7a type_id: 0x9659ea27 full_name: "iterate_fd" } @@ -352517,7 +352649,7 @@ elf_symbol { 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 +352658,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 +352667,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 +352676,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 +352811,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 +352820,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 +352829,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 +352847,7 @@ elf_symbol { name: "kernel_getsockname" is_defined: true symbol_type: FUNCTION - crc: 0xf3abf666 + crc: 0x4a997980 type_id: 0x994ba444 full_name: "kernel_getsockname" } @@ -352733,7 +352865,7 @@ elf_symbol { name: "kernel_listen" is_defined: true symbol_type: FUNCTION - crc: 0x44592339 + crc: 0x564aa2e8 type_id: 0x98046a12 full_name: "kernel_listen" } @@ -352769,7 +352901,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 +352919,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 +352937,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 +353000,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 +353036,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 +353045,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 +353054,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" } @@ -353237,7 +353369,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 +353378,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" } @@ -353948,7 +354080,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 +354089,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 +354098,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 +354107,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 +354116,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 +354125,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 +354134,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 +354143,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 +354152,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 +354161,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 +354170,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 +354179,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 +354188,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 +354197,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 +354206,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 +354215,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 +354224,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 +354233,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 +354242,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 +354251,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 +354260,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 +354269,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 +354278,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 +354287,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 +354296,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 +354305,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 +354314,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 +354323,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 +354332,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 +354341,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 +354350,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 +354359,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 +354368,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 +354377,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 +354386,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" } @@ -354461,7 +354593,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" } @@ -354497,7 +354629,7 @@ elf_symbol { name: "lock_sock_nested" is_defined: true symbol_type: FUNCTION - crc: 0x98d12cb1 + crc: 0x94a1d0ed type_id: 0x1655de44 full_name: "lock_sock_nested" } @@ -354569,7 +354701,7 @@ elf_symbol { name: "logfc" is_defined: true symbol_type: FUNCTION - crc: 0xc9a13f3b + crc: 0x5c5971c8 type_id: 0x11cf2aed full_name: "logfc" } @@ -354596,7 +354728,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 +354737,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 +354746,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 +354755,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 +354764,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 +354773,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 +354782,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 +354791,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" } @@ -354884,7 +355016,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 +355025,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 +355034,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 +355043,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 +355052,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 +355061,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 +355070,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 +355079,7 @@ elf_symbol { name: "mdiobus_write" is_defined: true symbol_type: FUNCTION - crc: 0x9cbe1ec1 + crc: 0x95306f07 type_id: 0x9159236f full_name: "mdiobus_write" } @@ -355154,7 +355286,7 @@ 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" } @@ -355277,7 +355409,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 +355633,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 +355642,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,7 +355651,7 @@ elf_symbol { name: "mii_ethtool_gset" is_defined: true symbol_type: FUNCTION - crc: 0x658cc2e6 + crc: 0xc42b22b3 type_id: 0x142e3633 full_name: "mii_ethtool_gset" } @@ -355528,7 +355660,7 @@ elf_symbol { name: "mii_nway_restart" is_defined: true symbol_type: FUNCTION - crc: 0x2058293b + crc: 0x82a00e5c type_id: 0x9906a4a5 full_name: "mii_nway_restart" } @@ -356509,7 +356641,7 @@ elf_symbol { name: "napi_build_skb" is_defined: true symbol_type: FUNCTION - crc: 0x7e2ae2e2 + crc: 0x4b91433a type_id: 0x6fa775f5 full_name: "napi_build_skb" } @@ -356518,7 +356650,7 @@ elf_symbol { name: "napi_complete_done" is_defined: true symbol_type: FUNCTION - crc: 0x5aec927a + crc: 0xdfaca303 type_id: 0xf938bd88 full_name: "napi_complete_done" } @@ -356527,7 +356659,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 +356668,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 +356677,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 +356686,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 +356695,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 +356704,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 +356713,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 +356722,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 +356731,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 +356740,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 +356758,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 +356776,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 +356803,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 +356812,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 +356821,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 +356830,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 +356848,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 +356857,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 +356866,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 +356875,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 +356884,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 +356893,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 +356902,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 +356911,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 +356929,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 +356938,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 +356947,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 +356956,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 +356965,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 +356974,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 +356983,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 +356992,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 +357001,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 +357010,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 +357019,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 +357028,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 +357037,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 +357046,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 +357055,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 +357073,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 +357082,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 +357091,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 +357100,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 +357109,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 +357118,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 +357127,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 +357136,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 +357145,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 +357154,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 +357163,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 +357172,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 +357181,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 +357190,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 +357199,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 +357208,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 +357226,7 @@ elf_symbol { name: "netlink_unicast" is_defined: true symbol_type: FUNCTION - crc: 0x011e2e4c + crc: 0xd0083f21 type_id: 0x9af70c99 full_name: "netlink_unicast" } @@ -357130,7 +357262,7 @@ elf_symbol { name: "nf_ct_attach" is_defined: true symbol_type: FUNCTION - crc: 0x9be607ca + crc: 0xb074af92 type_id: 0x1132058e full_name: "nf_ct_attach" } @@ -357139,7 +357271,7 @@ elf_symbol { name: "nf_ct_delete" is_defined: true symbol_type: FUNCTION - crc: 0x2bf8328f + crc: 0xe0ad83f9 type_id: 0xf33b99db full_name: "nf_ct_delete" } @@ -357148,7 +357280,7 @@ elf_symbol { name: "nf_register_net_hooks" is_defined: true symbol_type: FUNCTION - crc: 0x7ca541e2 + crc: 0x2adc0ac4 type_id: 0x9e768b87 full_name: "nf_register_net_hooks" } @@ -357157,7 +357289,7 @@ elf_symbol { 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 +357298,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 +357307,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 +357316,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 +357325,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 +357334,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 +357343,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 +357352,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 +357361,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 +357370,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 +357379,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 +357388,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 +357397,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 +357406,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 +357415,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 +357424,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 +357433,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 +357442,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 +357451,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 +357460,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 +357469,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 +357478,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 +357487,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 +357496,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 +357505,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" } @@ -357733,7 +357865,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 +358027,7 @@ elf_symbol { name: "of_css" is_defined: true symbol_type: FUNCTION - crc: 0x5cf2d909 + crc: 0x53833923 type_id: 0xcde52a7c full_name: "of_css" } @@ -358282,7 +358414,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 +358477,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" } @@ -358687,7 +358819,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 +358828,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 +358837,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 +358855,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 +358864,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" } @@ -359074,7 +359206,7 @@ elf_symbol { name: "open_candev" is_defined: true symbol_type: FUNCTION - crc: 0x4d95ed99 + crc: 0x0dd3afa3 type_id: 0x91296bda full_name: "open_candev" } @@ -359509,7 +359641,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" } @@ -360463,7 +360595,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 +360604,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 +360613,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 +360622,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 +360631,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 +360640,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 +360649,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 +360658,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 +360667,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 +360685,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 +360694,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 +360703,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 +360721,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 +360739,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,7 +360775,7 @@ elf_symbol { name: "phy_connect" is_defined: true symbol_type: FUNCTION - crc: 0x5962de34 + crc: 0x722009c6 type_id: 0xbf8f4ed4 full_name: "phy_connect" } @@ -360652,7 +360784,7 @@ elf_symbol { name: "phy_disconnect" is_defined: true symbol_type: FUNCTION - crc: 0xa958800f + crc: 0xf6666797 type_id: 0x1cc5f9b2 full_name: "phy_disconnect" } @@ -360661,7 +360793,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 +360802,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 +360811,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 +360820,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 +360829,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 +360838,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 +360847,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 +360856,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 +360865,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 +360874,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 +360883,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" } @@ -360787,7 +360919,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 +360928,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 +360937,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,7 +360946,7 @@ elf_symbol { name: "phy_mii_ioctl" is_defined: true symbol_type: FUNCTION - crc: 0x56f710d5 + crc: 0xd5c9bdfb type_id: 0x911c4ef8 full_name: "phy_mii_ioctl" } @@ -360922,7 +361054,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 +361090,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 +361108,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 +361171,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 +361198,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 +361207,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 +361216,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 +361225,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 +361234,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 +361243,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 +361252,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 +361288,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 +361297,7 @@ elf_symbol { name: "phylink_create" is_defined: true symbol_type: FUNCTION - crc: 0xb2168894 + crc: 0xbf6f5524 type_id: 0xe2c8401b full_name: "phylink_create" } @@ -361273,7 +361405,7 @@ elf_symbol { 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 +361414,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 +361468,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 +361549,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 +361558,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 +361567,7 @@ elf_symbol { name: "pid_task" is_defined: true symbol_type: FUNCTION - crc: 0xf5c2b04a + crc: 0x564f2dac type_id: 0x7f0f4bf3 full_name: "pid_task" } @@ -361813,7 +361945,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" } @@ -362614,7 +362746,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 +362755,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 +362764,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 +362773,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 +362782,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 +362791,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 +362800,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 +362809,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 +362818,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 +362827,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 +362836,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 +362845,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 +362854,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 +362863,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 +362980,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 +362989,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 +363124,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 +363133,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 +363232,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,7 +363241,7 @@ elf_symbol { name: "pskb_put" is_defined: true symbol_type: FUNCTION - crc: 0xa5073e19 + crc: 0xd6916a65 type_id: 0x57c99e27 full_name: "pskb_put" } @@ -363145,7 +363277,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 +363322,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" } @@ -363208,7 +363340,7 @@ elf_symbol { name: "put_cmsg" is_defined: true symbol_type: FUNCTION - crc: 0xd78e9dd8 + crc: 0x31108fe3 type_id: 0x9732df25 full_name: "put_cmsg" } @@ -363217,7 +363349,7 @@ elf_symbol { name: "put_device" is_defined: true symbol_type: FUNCTION - crc: 0x46cf073a + crc: 0xc0052169 type_id: 0x100e6fc8 full_name: "put_device" } @@ -363244,7 +363376,7 @@ elf_symbol { name: "put_pid" is_defined: true symbol_type: FUNCTION - crc: 0x456baca6 + crc: 0x354db4c3 type_id: 0x1689085f full_name: "put_pid" } @@ -363361,7 +363493,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 +363502,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 +363511,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 +363520,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 +363529,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 +363763,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 +363772,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 +364087,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" } @@ -364153,7 +364285,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 +364402,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 +364411,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 +364420,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 +364456,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 +364465,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 +364483,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 +364492,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 +364555,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" } @@ -365170,7 +365302,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 +365446,7 @@ elf_symbol { name: "resched_curr" is_defined: true symbol_type: FUNCTION - crc: 0xb5a6fc28 + crc: 0x21218e67 type_id: 0x1b18f64e full_name: "resched_curr" } @@ -365674,7 +365806,7 @@ elf_symbol { name: "root_device_unregister" is_defined: true symbol_type: FUNCTION - crc: 0xa090023e + crc: 0xfc5c2426 type_id: 0x100e6fc8 full_name: "root_device_unregister" } @@ -365683,7 +365815,7 @@ elf_symbol { name: "root_task_group" is_defined: true symbol_type: OBJECT - crc: 0x2ccfef48 + crc: 0xca81e0d0 type_id: 0x84d533ac full_name: "root_task_group" } @@ -366241,7 +366373,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 +366382,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 +366400,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 +366418,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 +366454,7 @@ elf_symbol { name: "runqueues" is_defined: true symbol_type: OBJECT - crc: 0x30134f71 + crc: 0x5fc45fe1 type_id: 0x924a9b47 full_name: "runqueues" } @@ -366331,7 +366463,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" } @@ -366430,7 +366562,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 +366571,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 +366580,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 +366589,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 +366598,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 +366607,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 +366616,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 +366625,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" } @@ -367357,7 +367489,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" } @@ -367789,7 +367921,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" } @@ -367861,7 +367993,7 @@ elf_symbol { name: "set_task_cpu" is_defined: true symbol_type: FUNCTION - crc: 0x8f11940e + crc: 0xb4809261 type_id: 0x16c82e7e full_name: "set_task_cpu" } @@ -367870,7 +368002,7 @@ elf_symbol { name: "set_user_nice" is_defined: true symbol_type: FUNCTION - crc: 0x8bd8606c + crc: 0x81bb3e77 type_id: 0x142e0390 full_name: "set_user_nice" } @@ -367879,7 +368011,7 @@ elf_symbol { name: "setup_udp_tunnel_sock" is_defined: true symbol_type: FUNCTION - crc: 0x3dfba0e6 + crc: 0xcfb61ede type_id: 0x13f4af03 full_name: "setup_udp_tunnel_sock" } @@ -368321,7 +368453,7 @@ elf_symbol { name: "sk_alloc" is_defined: true symbol_type: FUNCTION - crc: 0x14b31517 + crc: 0x6cad6404 type_id: 0x6ecc6402 full_name: "sk_alloc" } @@ -368330,7 +368462,7 @@ elf_symbol { name: "sk_common_release" is_defined: true symbol_type: FUNCTION - crc: 0x16416617 + crc: 0x014477ca type_id: 0x17c95d08 full_name: "sk_common_release" } @@ -368339,7 +368471,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 +368480,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 +368489,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 +368498,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 +368507,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 +368516,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 +368525,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 +368534,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 +368543,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 +368552,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 +368561,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 +368570,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 +368579,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 +368588,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 +368597,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 +368606,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 +368615,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 +368624,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 +368633,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 +368642,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 +368651,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 +368660,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 +368669,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 +368678,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 +368687,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 +368696,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 +368705,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 +368714,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 +368723,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 +368732,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 +368741,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 +368750,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 +368759,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 +368768,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 +368777,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 +368786,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 +368795,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 +368804,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 +368813,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 +368822,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 +368831,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 +368840,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 +368849,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 +368858,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 +368867,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 +368876,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,7 +368885,7 @@ elf_symbol { name: "skb_unlink" is_defined: true symbol_type: FUNCTION - crc: 0xe204ae8f + crc: 0x9451ec1c type_id: 0x11b644af full_name: "skb_unlink" } @@ -370670,7 +370802,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 +370811,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 +370820,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 +370829,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 +370838,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 +370847,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 +370856,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 +370865,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 +370874,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 +370883,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 +370892,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 +370901,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 +370910,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 +370919,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 +370928,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 +370937,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 +370946,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 +370955,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 +370964,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 +370973,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 +370982,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 +370991,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 +371000,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 +371009,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 +371018,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 +371027,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 +371036,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 +371045,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 +371054,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 +371063,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 +371072,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 +371081,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 +371090,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 +371099,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 +371108,7 @@ elf_symbol { name: "sock_setsockopt" is_defined: true symbol_type: FUNCTION - crc: 0x452cb265 + crc: 0x58182ec6 type_id: 0x981e2b3a full_name: "sock_setsockopt" } @@ -370994,7 +371126,7 @@ elf_symbol { name: "sock_wfree" is_defined: true symbol_type: FUNCTION - crc: 0xb88c4003 + crc: 0x94ad4d47 type_id: 0x11cb8bd5 full_name: "sock_wfree" } @@ -371003,7 +371135,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 +371144,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 +371153,7 @@ elf_symbol { name: "softnet_data" is_defined: true symbol_type: OBJECT - crc: 0xde84bb84 + crc: 0x7a9ece2b type_id: 0x06066110 full_name: "softnet_data" } @@ -372464,7 +372596,7 @@ elf_symbol { 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 +372614,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 +372668,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 +372677,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 +372686,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 +372695,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 +372704,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" } @@ -372932,7 +373064,7 @@ elf_symbol { name: "tipc_dump_done" is_defined: true symbol_type: FUNCTION - crc: 0xe44d4431 + crc: 0xdc43d984 type_id: 0x96b01a1d full_name: "tipc_dump_done" } @@ -372941,7 +373073,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 +373082,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 +373091,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" } @@ -373283,7 +373415,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 +373424,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 +373433,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 +373442,7 @@ elf_symbol { name: "tso_start" is_defined: true symbol_type: FUNCTION - crc: 0x22ca21c7 + crc: 0x3d491a47 type_id: 0x9c172aa4 full_name: "tso_start" } @@ -373782,6 +373914,15 @@ elf_symbol { type_id: 0x1b27f18a 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" @@ -373863,6 +374004,24 @@ elf_symbol { type_id: 0x97258bf7 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" @@ -373872,6 +374031,24 @@ elf_symbol { type_id: 0x16a18560 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" @@ -373908,6 +374085,15 @@ elf_symbol { type_id: 0x9bc8ded8 full_name: "tty_port_install" } +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" @@ -373953,6 +374139,15 @@ elf_symbol { type_id: 0x17a9b884 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" @@ -373962,6 +374157,15 @@ elf_symbol { type_id: 0x161c45fb 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" @@ -374498,7 +374702,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 +374783,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 +374792,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 +374801,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 +374810,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 +374819,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 +374837,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 +374846,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 +374855,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" } @@ -375164,7 +375368,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 +375485,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 +375512,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 +375539,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 +375548,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 +375575,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 +375638,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 +375710,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,7 +375755,7 @@ elf_symbol { name: "usb_add_hcd" is_defined: true symbol_type: FUNCTION - crc: 0x6247478f + crc: 0xa85ddb88 type_id: 0x95c42336 full_name: "usb_add_hcd" } @@ -375560,7 +375764,7 @@ elf_symbol { name: "usb_add_phy_dev" is_defined: true symbol_type: FUNCTION - crc: 0xf141f866 + crc: 0xce9b68c4 type_id: 0x9cf04bdd full_name: "usb_add_phy_dev" } @@ -375821,7 +376025,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 +376034,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" } @@ -376343,7 +376547,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 +376556,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 +376574,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 +376592,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 +376601,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 +376610,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 +376664,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 +376673,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 +376691,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 +376700,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" } @@ -376622,7 +376826,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 +376835,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 +376844,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,7 +376853,7 @@ 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" } @@ -376694,7 +376898,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" } @@ -376748,7 +376952,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 +376961,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" } @@ -377198,7 +377402,7 @@ elf_symbol { name: "usbnet_get_endpoints" is_defined: true symbol_type: FUNCTION - crc: 0xb81f75b2 + crc: 0xb30fc515 type_id: 0x9e768332 full_name: "usbnet_get_endpoints" } @@ -377207,7 +377411,7 @@ elf_symbol { name: "usbnet_link_change" is_defined: true symbol_type: FUNCTION - crc: 0x64177fcb + crc: 0x8a855afb type_id: 0x12448959 full_name: "usbnet_link_change" } @@ -378890,7 +379094,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 +379103,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 +379112,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 +379130,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 +379139,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 +379148,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 +379157,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 +379166,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 +379175,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 +379184,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 +379193,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 +379202,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 +379211,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 +379220,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 +379229,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 +379238,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 +379247,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 +379256,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 +379265,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 +379274,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 +379283,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 +379292,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 +379301,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 +379310,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 +379319,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 +379337,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 +379346,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 +379355,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 +379364,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 +379373,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 +379382,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 +379589,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 +379598,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 +379607,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 +379616,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 +379625,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 +379634,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 +379643,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 +379652,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 +379661,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 +379958,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 +379967,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 +379976,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" } @@ -379925,7 +380129,7 @@ elf_symbol { name: "wake_up_process" is_defined: true symbol_type: FUNCTION - crc: 0x72aea0a3 + crc: 0x73e2bcf1 type_id: 0x9ac6895a full_name: "wake_up_process" } @@ -380078,7 +380282,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 +380318,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 +380327,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 +380336,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 +380345,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 +380354,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 +380363,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" } @@ -380294,7 +380498,7 @@ elf_symbol { 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 +380516,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 +380525,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 +380534,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 +380543,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 +380552,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 +380561,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 +380570,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 +380579,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,7 +380597,7 @@ elf_symbol { name: "xfrm_lookup" is_defined: true symbol_type: FUNCTION - crc: 0xf1ecaaaa + crc: 0x404e7acd type_id: 0xa2843be3 full_name: "xfrm_lookup" } @@ -380402,7 +380606,7 @@ elf_symbol { 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,7 +380615,7 @@ elf_symbol { name: "xfrm_stateonly_find" is_defined: true symbol_type: FUNCTION - crc: 0x1eabfccd + crc: 0x28950cb8 type_id: 0x62e6e159 full_name: "xfrm_stateonly_find" } @@ -380465,7 +380669,7 @@ elf_symbol { name: "xhci_init_driver" is_defined: true symbol_type: FUNCTION - crc: 0xea444667 + crc: 0x49b2abc6 type_id: 0x14d9dc3c full_name: "xhci_init_driver" } @@ -380546,7 +380750,7 @@ elf_symbol { name: "xp_alloc" is_defined: true symbol_type: FUNCTION - crc: 0xac76459c + crc: 0xaea8a44b type_id: 0x13a974bf full_name: "xp_alloc" } @@ -380555,7 +380759,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 +380768,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 +380777,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 +380786,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 +380795,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 +380804,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 +380813,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 +380822,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 +380831,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 +380840,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 +380849,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 +380858,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 +380867,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 +380876,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 +380885,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" } @@ -386683,6 +386887,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 +386897,24 @@ 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: 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 diff --git a/android/abi_gki_aarch64_xiaomi b/android/abi_gki_aarch64_xiaomi index 759d39f44517..0435b3d6b107 100644 --- a/android/abi_gki_aarch64_xiaomi +++ b/android/abi_gki_aarch64_xiaomi @@ -244,3 +244,14 @@ #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 diff --git a/android/gki_system_dlkm_modules b/android/gki_system_dlkm_modules index 03979bbb88d1..70befe1a9dcf 100644 --- a/android/gki_system_dlkm_modules +++ b/android/gki_system_dlkm_modules @@ -27,6 +27,7 @@ drivers/net/usb/usbnet.ko drivers/usb/class/cdc-acm.ko drivers/usb/serial/ftdi_sio.ko drivers/usb/serial/usbserial.ko +kernel/kheaders.ko lib/crypto/libarc4.ko mm/zsmalloc.ko net/6lowpan/6lowpan.ko 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/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/gki_defconfig b/arch/arm64/configs/gki_defconfig index 4fc03860f868..29782a39fffa 100644 --- a/arch/arm64/configs/gki_defconfig +++ b/arch/arm64/configs/gki_defconfig @@ -183,6 +183,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 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 -#include #include #include -#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/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/gki_defconfig b/arch/x86/configs/gki_defconfig index fa893e2792b4..15f83e56b501 100644 --- a/arch/x86/configs/gki_defconfig +++ b/arch/x86/configs/gki_defconfig @@ -178,6 +178,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 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/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/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/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/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/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c index bf9878e1a72a..99f40611f459 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 @@ int usb_gadget_vbus_disconnect(struct usb_gadget *gadget) } 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 @@ int usb_gadget_connect(struct usb_gadget *gadget) return ret; } -EXPORT_SYMBOL_GPL(usb_gadget_connect); /** - * usb_gadget_disconnect - software-controlled disconnect from USB host - * @gadget:the peripheral being disconnected + * usb_gadget_connect - software-controlled connect to USB host + * @gadget:the peripheral being connected * - * 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. + * 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 @@ int usb_gadget_disconnect(struct usb_gadget *gadget) 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); /** @@ -764,13 +801,14 @@ 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 +818,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; @@ -800,8 +839,9 @@ 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 +850,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 +1093,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 +1119,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 +1134,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 +1157,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 +1168,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 +1189,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 +1198,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 +1361,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 +1500,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 +1565,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 +1605,16 @@ 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); udc->driver->unbind(gadget); - usb_gadget_udc_stop(udc); + usb_gadget_udc_stop_locked(udc); + mutex_unlock(&udc->connect_lock); mutex_lock(&udc_lock); driver->is_bound = false; @@ -1622,11 +1700,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/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c index 4619d5e89d5b..544028862de0 100644 --- a/drivers/usb/host/xhci-hub.c +++ b/drivers/usb/host/xhci-hub.c @@ -535,8 +535,13 @@ static int xhci_stop_device(struct xhci_hcd *xhci, int slot_id, int suspend) cmd->status == COMP_COMMAND_RING_STOPPED) { xhci_warn(xhci, "Timeout while waiting for stop endpoint command\n"); ret = -ETIME; + goto cmd_cleanup; } + ret = xhci_vendor_sync_dev_ctx(xhci, slot_id); + if (ret) + xhci_warn(xhci, "Sync device context failed, ret=%d\n", ret); + cmd_cleanup: xhci_free_command(xhci, cmd); return ret; @@ -1824,6 +1829,7 @@ int xhci_bus_suspend(struct usb_hcd *hcd) return 0; } +EXPORT_SYMBOL_GPL(xhci_bus_suspend); /* * Workaround for missing Cold Attach Status (CAS) if device re-plugged in S3. @@ -1968,6 +1974,7 @@ int xhci_bus_resume(struct usb_hcd *hcd) spin_unlock_irqrestore(&xhci->lock, flags); return 0; } +EXPORT_SYMBOL_GPL(xhci_bus_resume); unsigned long xhci_get_resuming_ports(struct usb_hcd *hcd) { diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index e1feae1e56dc..98c4cf8821df 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c @@ -65,7 +65,7 @@ static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci, return seg; } -static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) +void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) { if (seg->trbs) { dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma); @@ -74,8 +74,9 @@ static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg) kfree(seg->bounce_buf); kfree(seg); } +EXPORT_SYMBOL_GPL(xhci_segment_free); -static void xhci_free_segments_for_ring(struct xhci_hcd *xhci, +void xhci_free_segments_for_ring(struct xhci_hcd *xhci, struct xhci_segment *first) { struct xhci_segment *seg; @@ -96,9 +97,9 @@ static void xhci_free_segments_for_ring(struct xhci_hcd *xhci, * DMA address of the next segment. The caller needs to set any Link TRB * related flags, such as End TRB, Toggle Cycle, and no snoop. */ -static void xhci_link_segments(struct xhci_segment *prev, - struct xhci_segment *next, - enum xhci_ring_type type, bool chain_links) +void xhci_link_segments(struct xhci_segment *prev, + struct xhci_segment *next, + enum xhci_ring_type type, bool chain_links) { u32 val; @@ -118,6 +119,7 @@ static void xhci_link_segments(struct xhci_segment *prev, prev->trbs[TRBS_PER_SEGMENT-1].link.control = cpu_to_le32(val); } } +EXPORT_SYMBOL_GPL(xhci_link_segments); /* * Link the ring to the new segments. @@ -256,7 +258,7 @@ static int xhci_update_stream_segment_mapping( return ret; } -static void xhci_remove_stream_mapping(struct xhci_ring *ring) +void xhci_remove_stream_mapping(struct xhci_ring *ring) { struct xhci_segment *seg; @@ -269,6 +271,7 @@ static void xhci_remove_stream_mapping(struct xhci_ring *ring) seg = seg->next; } while (seg != ring->first_seg); } +EXPORT_SYMBOL_GPL(xhci_remove_stream_mapping); static int xhci_update_stream_mapping(struct xhci_ring *ring, gfp_t mem_flags) { @@ -317,6 +320,7 @@ void xhci_initialize_ring_info(struct xhci_ring *ring, */ ring->num_trbs_free = ring->num_segs * (TRBS_PER_SEGMENT - 1) - 1; } +EXPORT_SYMBOL_GPL(xhci_initialize_ring_info); /* Allocate segments and link them for a ring */ static int xhci_alloc_segments_for_ring(struct xhci_hcd *xhci, @@ -362,6 +366,54 @@ static int xhci_alloc_segments_for_ring(struct xhci_hcd *xhci, return 0; } +static void xhci_vendor_free_container_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->free_container_ctx) + ops->free_container_ctx(xhci, ctx); +} + +static void xhci_vendor_alloc_container_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, + int type, gfp_t flags) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->alloc_container_ctx) + ops->alloc_container_ctx(xhci, ctx, type, flags); +} + +static struct xhci_ring *xhci_vendor_alloc_transfer_ring(struct xhci_hcd *xhci, + u32 endpoint_type, enum xhci_ring_type ring_type, + unsigned int max_packet, gfp_t mem_flags) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->alloc_transfer_ring) + return ops->alloc_transfer_ring(xhci, endpoint_type, ring_type, + max_packet, mem_flags); + return 0; +} + +void xhci_vendor_free_transfer_ring(struct xhci_hcd *xhci, + struct xhci_virt_device *virt_dev, unsigned int ep_index) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->free_transfer_ring) + ops->free_transfer_ring(xhci, virt_dev, ep_index); +} + +bool xhci_vendor_is_usb_offload_enabled(struct xhci_hcd *xhci, + struct xhci_virt_device *virt_dev, unsigned int ep_index) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->is_usb_offload_enabled) + return ops->is_usb_offload_enabled(xhci, virt_dev, ep_index); + return false; +} + /* * Create a new ring with zero or more segments. * @@ -414,7 +466,11 @@ void xhci_free_endpoint_ring(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, unsigned int ep_index) { - xhci_ring_free(xhci, virt_dev->eps[ep_index].ring); + if (xhci_vendor_is_usb_offload_enabled(xhci, virt_dev, ep_index)) + xhci_vendor_free_transfer_ring(xhci, virt_dev, ep_index); + else + xhci_ring_free(xhci, virt_dev->eps[ep_index].ring); + virt_dev->eps[ep_index].ring = NULL; } @@ -472,6 +528,7 @@ struct xhci_container_ctx *xhci_alloc_container_ctx(struct xhci_hcd *xhci, { struct xhci_container_ctx *ctx; struct device *dev = xhci_to_hcd(xhci)->self.sysdev; + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); if ((type != XHCI_CTX_TYPE_DEVICE) && (type != XHCI_CTX_TYPE_INPUT)) return NULL; @@ -485,7 +542,12 @@ struct xhci_container_ctx *xhci_alloc_container_ctx(struct xhci_hcd *xhci, if (type == XHCI_CTX_TYPE_INPUT) ctx->size += CTX_SIZE(xhci->hcc_params); - ctx->bytes = dma_pool_zalloc(xhci->device_pool, flags, &ctx->dma); + if (xhci_vendor_is_usb_offload_enabled(xhci, NULL, 0) && + (ops && ops->alloc_container_ctx)) + xhci_vendor_alloc_container_ctx(xhci, ctx, type, flags); + else + ctx->bytes = dma_pool_zalloc(xhci->device_pool, flags, &ctx->dma); + if (!ctx->bytes) { kfree(ctx); return NULL; @@ -496,9 +558,16 @@ struct xhci_container_ctx *xhci_alloc_container_ctx(struct xhci_hcd *xhci, void xhci_free_container_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx) { + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + if (!ctx) return; - dma_pool_free(xhci->device_pool, ctx->bytes, ctx->dma); + if (xhci_vendor_is_usb_offload_enabled(xhci, NULL, 0) && + (ops && ops->free_container_ctx)) + xhci_vendor_free_container_ctx(xhci, ctx); + else + dma_pool_free(xhci->device_pool, ctx->bytes, ctx->dma); + kfree(ctx); } @@ -520,6 +589,7 @@ struct xhci_slot_ctx *xhci_get_slot_ctx(struct xhci_hcd *xhci, return (struct xhci_slot_ctx *) (ctx->bytes + CTX_SIZE(xhci->hcc_params)); } +EXPORT_SYMBOL_GPL(xhci_get_slot_ctx); struct xhci_ep_ctx *xhci_get_ep_ctx(struct xhci_hcd *xhci, struct xhci_container_ctx *ctx, @@ -887,7 +957,7 @@ void xhci_free_virt_device(struct xhci_hcd *xhci, int slot_id) for (i = 0; i < 31; i++) { if (dev->eps[i].ring) - xhci_ring_free(xhci, dev->eps[i].ring); + xhci_free_endpoint_ring(xhci, dev, i); if (dev->eps[i].stream_info) xhci_free_stream_info(xhci, dev->eps[i].stream_info); @@ -1489,8 +1559,16 @@ int xhci_endpoint_init(struct xhci_hcd *xhci, mult = 0; /* Set up the endpoint ring */ - virt_dev->eps[ep_index].new_ring = - xhci_ring_alloc(xhci, 2, 1, ring_type, max_packet, mem_flags); + if (xhci_vendor_is_usb_offload_enabled(xhci, virt_dev, ep_index) && + usb_endpoint_xfer_isoc(&ep->desc)) { + virt_dev->eps[ep_index].new_ring = + xhci_vendor_alloc_transfer_ring(xhci, endpoint_type, ring_type, + max_packet, mem_flags); + } else { + virt_dev->eps[ep_index].new_ring = + xhci_ring_alloc(xhci, 2, 1, ring_type, max_packet, mem_flags); + } + if (!virt_dev->eps[ep_index].new_ring) return -ENOMEM; @@ -1838,6 +1916,24 @@ void xhci_free_erst(struct xhci_hcd *xhci, struct xhci_erst *erst) } EXPORT_SYMBOL_GPL(xhci_free_erst); +static struct xhci_device_context_array *xhci_vendor_alloc_dcbaa( + struct xhci_hcd *xhci, gfp_t flags) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->alloc_dcbaa) + return ops->alloc_dcbaa(xhci, flags); + return 0; +} + +static void xhci_vendor_free_dcbaa(struct xhci_hcd *xhci) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->free_dcbaa) + ops->free_dcbaa(xhci); +} + void xhci_mem_cleanup(struct xhci_hcd *xhci) { struct device *dev = xhci_to_hcd(xhci)->self.sysdev; @@ -1889,9 +1985,13 @@ void xhci_mem_cleanup(struct xhci_hcd *xhci) xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Freed medium stream array pool"); - if (xhci->dcbaa) - dma_free_coherent(dev, sizeof(*xhci->dcbaa), - xhci->dcbaa, xhci->dcbaa->dma); + if (xhci_vendor_is_usb_offload_enabled(xhci, NULL, 0)) { + xhci_vendor_free_dcbaa(xhci); + } else { + if (xhci->dcbaa) + dma_free_coherent(dev, sizeof(*xhci->dcbaa), + xhci->dcbaa, xhci->dcbaa->dma); + } xhci->dcbaa = NULL; scratchpad_free(xhci); @@ -1972,7 +2072,7 @@ static int xhci_test_trb_in_td(struct xhci_hcd *xhci, } /* TRB math checks for xhci_trb_in_td(), using the command and event rings. */ -static int xhci_check_trb_in_td_math(struct xhci_hcd *xhci) +int xhci_check_trb_in_td_math(struct xhci_hcd *xhci) { struct { dma_addr_t input_dma; @@ -2092,6 +2192,7 @@ static int xhci_check_trb_in_td_math(struct xhci_hcd *xhci) xhci_dbg(xhci, "TRB math tests passed.\n"); return 0; } +EXPORT_SYMBOL_GPL(xhci_check_trb_in_td_math); static void xhci_set_hc_event_deq(struct xhci_hcd *xhci) { @@ -2428,15 +2529,21 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) * xHCI section 5.4.6 - Device Context array must be * "physically contiguous and 64-byte (cache line) aligned". */ - xhci->dcbaa = dma_alloc_coherent(dev, sizeof(*xhci->dcbaa), &dma, - flags); - if (!xhci->dcbaa) - goto fail; - xhci->dcbaa->dma = dma; + if (xhci_vendor_is_usb_offload_enabled(xhci, NULL, 0)) { + xhci->dcbaa = xhci_vendor_alloc_dcbaa(xhci, flags); + if (!xhci->dcbaa) + goto fail; + } else { + xhci->dcbaa = dma_alloc_coherent(dev, sizeof(*xhci->dcbaa), &dma, + flags); + if (!xhci->dcbaa) + goto fail; + xhci->dcbaa->dma = dma; + } xhci_dbg_trace(xhci, trace_xhci_dbg_init, "// Device context base array address = 0x%llx (DMA), %p (virt)", (unsigned long long)xhci->dcbaa->dma, xhci->dcbaa); - xhci_write_64(xhci, dma, &xhci->op_regs->dcbaa_ptr); + xhci_write_64(xhci, xhci->dcbaa->dma, &xhci->op_regs->dcbaa_ptr); /* * Initialize the ring segment pool. The ring must be a contiguous diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 5fb55bf19493..2ef716fc3212 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -173,6 +173,43 @@ static const struct of_device_id usb_xhci_of_match[] = { MODULE_DEVICE_TABLE(of, usb_xhci_of_match); #endif +static struct xhci_plat_priv_overwrite xhci_plat_vendor_overwrite; + +int xhci_plat_register_vendor_ops(struct xhci_vendor_ops *vendor_ops) +{ + if (vendor_ops == NULL) + return -EINVAL; + + xhci_plat_vendor_overwrite.vendor_ops = vendor_ops; + + return 0; +} +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); + + if (xhci_plat_vendor_overwrite.vendor_ops) + ops = priv->vendor_ops = xhci_plat_vendor_overwrite.vendor_ops; + + if (ops && ops->vendor_init) + return ops->vendor_init(xhci); + return 0; +} + +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; +} + static int xhci_plat_probe(struct platform_device *pdev) { const struct xhci_plat_priv *priv_match; @@ -317,6 +354,10 @@ static int xhci_plat_probe(struct platform_device *pdev) goto disable_clk; } + ret = xhci_vendor_init(xhci); + if (ret) + goto disable_usb_phy; + hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); if (priv && (priv->quirks & XHCI_SKIP_PHY_INIT)) @@ -410,6 +451,9 @@ static int xhci_plat_remove(struct platform_device *dev) if (shared_hcd) usb_put_hcd(shared_hcd); + 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 1fb149d1fbce..5b096f72636f 100644 --- a/drivers/usb/host/xhci-plat.h +++ b/drivers/usb/host/xhci-plat.h @@ -13,6 +13,9 @@ 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 *); int (*init_quirk)(struct usb_hcd *); int (*suspend_quirk)(struct usb_hcd *); @@ -21,4 +24,11 @@ struct xhci_plat_priv { #define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv) #define xhci_to_priv(x) ((struct xhci_plat_priv *)(x)->priv) + +struct xhci_plat_priv_overwrite { + struct xhci_vendor_ops *vendor_ops; +}; + +int xhci_plat_register_vendor_ops(struct xhci_vendor_ops *vendor_ops); + #endif /* _XHCI_PLAT_H */ diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index f32ad079ece5..37150680cc41 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -25,6 +25,7 @@ #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" @@ -1675,6 +1676,11 @@ static int xhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, gfp_t mem_flag return -ENODEV; } + if (xhci_vendor_usb_offload_skip_urb(xhci, urb)) { + xhci_dbg(xhci, "skip urb for usb offload\n"); + return -EOPNOTSUPP; + } + if (usb_endpoint_xfer_isoc(&urb->ep->desc)) num_tds = urb->number_of_packets; else if (usb_endpoint_is_bulk_out(&urb->ep->desc) && @@ -3015,6 +3021,14 @@ static int xhci_configure_endpoint(struct xhci_hcd *xhci, xhci_finish_resource_reservation(xhci, ctrl_ctx); spin_unlock_irqrestore(&xhci->lock, flags); } + if (ret) + goto failed; + + ret = xhci_vendor_sync_dev_ctx(xhci, udev->slot_id); + if (ret) + xhci_warn(xhci, "sync device context failed, ret=%d", ret); + +failed: return ret; } @@ -3158,7 +3172,11 @@ void xhci_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev) for (i = 0; i < 31; i++) { if (virt_dev->eps[i].new_ring) { xhci_debugfs_remove_endpoint(xhci, virt_dev, i); - xhci_ring_free(xhci, virt_dev->eps[i].new_ring); + if (xhci_vendor_is_usb_offload_enabled(xhci, virt_dev, i)) + xhci_vendor_free_transfer_ring(xhci, virt_dev, i); + else + xhci_ring_free(xhci, virt_dev->eps[i].new_ring); + virt_dev->eps[i].new_ring = NULL; } } @@ -3319,6 +3337,13 @@ static void xhci_endpoint_reset(struct usb_hcd *hcd, wait_for_completion(stop_cmd->completion); + err = xhci_vendor_sync_dev_ctx(xhci, udev->slot_id); + if (err) { + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, err); + goto cleanup; + } + spin_lock_irqsave(&xhci->lock, flags); /* config ep command clears toggle if add and drop ep flags are set */ @@ -3350,6 +3375,11 @@ static void xhci_endpoint_reset(struct usb_hcd *hcd, wait_for_completion(cfg_cmd->completion); + err = xhci_vendor_sync_dev_ctx(xhci, udev->slot_id); + if (err) + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, err); + xhci_free_command(xhci, cfg_cmd); cleanup: xhci_free_command(xhci, stop_cmd); @@ -3895,6 +3925,13 @@ static int xhci_discover_or_reset_device(struct usb_hcd *hcd, /* Wait for the Reset Device command to finish */ wait_for_completion(reset_device_cmd->completion); + ret = xhci_vendor_sync_dev_ctx(xhci, slot_id); + if (ret) { + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, ret); + goto command_cleanup; + } + /* The Reset Device command can't fail, according to the 0.95/0.96 spec, * unless we tried to reset a slot ID that wasn't enabled, * or the device wasn't in the addressed or configured state. @@ -4144,6 +4181,14 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev) xhci_warn(xhci, "Could not allocate xHCI USB device data structures\n"); goto disable_slot; } + + ret = xhci_vendor_sync_dev_ctx(xhci, slot_id); + if (ret) { + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, ret); + goto disable_slot; + } + vdev = xhci->devs[slot_id]; slot_ctx = xhci_get_slot_ctx(xhci, vdev->out_ctx); trace_xhci_alloc_dev(slot_ctx); @@ -4274,6 +4319,13 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev, /* ctrl tx can take up to 5 sec; XXX: need more time for xHC? */ wait_for_completion(command->completion); + ret = xhci_vendor_sync_dev_ctx(xhci, udev->slot_id); + if (ret) { + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, ret); + goto out; + } + /* FIXME: From section 4.3.4: "Software shall be responsible for timing * the SetAddress() "recovery interval" required by USB and aborting the * command on a timeout. @@ -4358,10 +4410,11 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev, return ret; } -static int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) +int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev) { return xhci_setup_device(hcd, udev, SETUP_CONTEXT_ADDRESS); } +EXPORT_SYMBOL_GPL(xhci_address_device); static int xhci_enable_device(struct usb_hcd *hcd, struct usb_device *udev) { @@ -4426,6 +4479,14 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci, return -ENOMEM; } + ret = xhci_vendor_sync_dev_ctx(xhci, udev->slot_id); + if (ret) { + spin_unlock_irqrestore(&xhci->lock, flags); + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, ret); + return ret; + } + xhci_slot_copy(xhci, command->in_ctx, virt_dev->out_ctx); spin_unlock_irqrestore(&xhci->lock, flags); @@ -4453,6 +4514,30 @@ static int __maybe_unused xhci_change_max_exit_latency(struct xhci_hcd *xhci, return ret; } +struct xhci_vendor_ops *xhci_vendor_get_ops(struct xhci_hcd *xhci) +{ + return xhci_to_priv(xhci)->vendor_ops; +} +EXPORT_SYMBOL_GPL(xhci_vendor_get_ops); + +int xhci_vendor_sync_dev_ctx(struct xhci_hcd *xhci, unsigned int slot_id) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->sync_dev_ctx) + return ops->sync_dev_ctx(xhci, slot_id); + return 0; +} + +bool xhci_vendor_usb_offload_skip_urb(struct xhci_hcd *xhci, struct urb *urb) +{ + struct xhci_vendor_ops *ops = xhci_vendor_get_ops(xhci); + + if (ops && ops->usb_offload_skip_urb) + return ops->usb_offload_skip_urb(xhci, urb); + return false; +} + #ifdef CONFIG_PM /* BESL to HIRD Encoding array for USB2 LPM */ @@ -5182,6 +5267,15 @@ int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, return -ENOMEM; } + ret = xhci_vendor_sync_dev_ctx(xhci, hdev->slot_id); + if (ret) { + xhci_warn(xhci, "%s: Failed to sync device context failed, err=%d", + __func__, ret); + xhci_free_command(xhci, config_cmd); + spin_unlock_irqrestore(&xhci->lock, flags); + return ret; + } + xhci_slot_copy(xhci, config_cmd->in_ctx, vdev->out_ctx); ctrl_ctx->add_flags |= cpu_to_le32(SLOT_FLAG); slot_ctx = xhci_get_slot_ctx(xhci, config_cmd->in_ctx); @@ -5525,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 65d67ee1a904..dbeba641e8e1 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1963,6 +1963,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 @@ -2083,6 +2091,7 @@ int xhci_endpoint_init(struct xhci_hcd *xhci, struct xhci_virt_device *virt_dev, struct xhci_ring *xhci_ring_alloc(struct xhci_hcd *xhci, unsigned int num_segs, unsigned int cycle_state, enum xhci_ring_type type, unsigned int max_packet, gfp_t flags); +void xhci_remove_stream_mapping(struct xhci_ring *ring); void xhci_ring_free(struct xhci_hcd *xhci, struct xhci_ring *ring); int xhci_ring_expansion(struct xhci_hcd *xhci, struct xhci_ring *ring, unsigned int num_trbs, gfp_t flags); @@ -2144,6 +2153,7 @@ int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev); void xhci_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev); int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, struct usb_tt *tt, gfp_t mem_flags); +int xhci_address_device(struct usb_hcd *hcd, struct usb_device *udev); int xhci_disable_slot(struct xhci_hcd *xhci, u32 slot_id); int xhci_ext_cap_init(struct xhci_hcd *xhci); @@ -2251,6 +2261,52 @@ static inline struct xhci_ring *xhci_urb_to_transfer_ring(struct xhci_hcd *xhci, urb->stream_id); } +/** + * struct xhci_vendor_ops - function callbacks for vendor specific operations + * @vendor_init: called for vendor init process + * @vendor_cleanup: called for vendor cleanup process + * @is_usb_offload_enabled: called to check if usb offload enabled + * @alloc_dcbaa: called when allocating vendor specific dcbaa + * @free_dcbaa: called to free vendor specific dcbaa + * @alloc_transfer_ring: called when remote transfer ring allocation is required + * @free_transfer_ring: called to free vendor specific transfer ring + * @sync_dev_ctx: called when synchronization for device context is required + * @usb_offload_skip_urb: skip urb control for offloading + * @alloc_container_ctx: called when allocating vendor specific container context + * @free_container_ctx: called to free vendor specific container context + */ +struct xhci_vendor_ops { + int (*vendor_init)(struct xhci_hcd *xhci); + void (*vendor_cleanup)(struct xhci_hcd *xhci); + bool (*is_usb_offload_enabled)(struct xhci_hcd *xhci, + struct xhci_virt_device *vdev, + unsigned int ep_index); + + struct xhci_device_context_array *(*alloc_dcbaa)(struct xhci_hcd *xhci, + gfp_t flags); + void (*free_dcbaa)(struct xhci_hcd *xhci); + + struct xhci_ring *(*alloc_transfer_ring)(struct xhci_hcd *xhci, + u32 endpoint_type, enum xhci_ring_type ring_type, + unsigned int max_packet, gfp_t mem_flags); + void (*free_transfer_ring)(struct xhci_hcd *xhci, + struct xhci_virt_device *virt_dev, unsigned int ep_index); + int (*sync_dev_ctx)(struct xhci_hcd *xhci, unsigned int slot_id); + bool (*usb_offload_skip_urb)(struct xhci_hcd *xhci, struct urb *urb); + 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); +}; + +struct xhci_vendor_ops *xhci_vendor_get_ops(struct xhci_hcd *xhci); + +int xhci_vendor_sync_dev_ctx(struct xhci_hcd *xhci, unsigned int slot_id); +bool xhci_vendor_usb_offload_skip_urb(struct xhci_hcd *xhci, struct urb *urb); +void xhci_vendor_free_transfer_ring(struct xhci_hcd *xhci, + struct xhci_virt_device *virt_dev, unsigned int ep_index); +bool xhci_vendor_is_usb_offload_enabled(struct xhci_hcd *xhci, + struct xhci_virt_device *virt_dev, unsigned int ep_index); + /* * TODO: As per spec Isochronous IDT transmissions are supported. We bypass * them anyways as we where unable to find a device that matches the 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..ab29e7687e3b 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; @@ -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); @@ -665,10 +667,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 +684,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 +914,6 @@ static int gh_rm_drv_probe(struct platform_device *pdev) 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 +928,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/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/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/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/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/gunyah_rsc_mgr.h b/include/linux/gunyah_rsc_mgr.h index 5453c90fbe6a..bc55be6d8d33 100644 --- a/include/linux/gunyah_rsc_mgr.h +++ b/include/linux/gunyah_rsc_mgr.h @@ -167,15 +167,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/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/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index b350d92136c8..a674221d151d 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h @@ -350,6 +350,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/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 5d809c626da0..8971ae89b3af 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 { @@ -1190,6 +1192,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) { \ @@ -1199,6 +1202,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 6017965c2a57..5eedd476a38d 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1468,6 +1468,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 @@ -2292,6 +2294,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/hooks/sched.h b/include/trace/hooks/sched.h index fc1a832ccac1..7b5ab104d7fe 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -161,8 +161,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), 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/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..c9d59630444a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6638,7 +6638,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++; /* 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/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 a25ab53e6210..ca42129f8f91 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_sync.c b/net/bluetooth/hci_sync.c index e8b78104a407..1805ddee0cd0 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); @@ -4484,6 +4492,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/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 @@ static void sk_psock_backlog(struct work_struct *work) 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 @@ static int sk_psock_verdict_recv(struct sock *sk, struct sk_buff *skb) 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..d38267201892 100644 --- a/net/core/sock_map.c +++ b/net/core/sock_map.c @@ -1624,9 +1624,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 5fd0ff5734e3..ebb737ac9e89 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 fd53279e638c..ed8dfd883c7d 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1570,7 +1570,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; @@ -1772,7 +1772,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; @@ -1786,14 +1785,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); @@ -3088,6 +3079,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 2e9547467edb..5f93918c063c 100644 --- a/net/ipv4/tcp_bpf.c +++ b/net/ipv4/tcp_bpf.c @@ -11,6 +11,24 @@ #include #include +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 @@ static int tcp_bpf_recvmsg_parser(struct sock *sk, 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 @@ int udp_read_skb(struct sock *sk, skb_read_actor_t recv_actor) } 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/unix/af_unix.c b/net/unix/af_unix.c index 70eb3bc67126..5b19b6c53a2c 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -2552,7 +2552,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 +2560,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 @@ -21,6 +21,11 @@ #include +#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 VM image file to load (e.g. a kernel Image) [Required]\n" " --dtb, -d Devicetree file to load [Required]\n" " --ramdisk, -r Ramdisk file to load\n" - " --base, -B
Set the base address of guest's memory [Default: 0x80000000]\n" - " --size, -S The number of bytes large to make the guest's memory [Default: 0x6400000 (100 MB)]\n" - " --image_offset, -I Offset into guest memory to load the VM image file [Default: 0x10000]\n" - " --dtb_offset, -D Offset into guest memory to load the DTB [Default: 0]\n" - " --ramdisk_offset, -R Offset into guest memory to load a ramdisk [Default: 0x4600000]\n" - , cmd); + " --base, -B
Set the base address of guest's memory [Default: 0x%08x]\n" + " --size, -S The number of bytes large to make the guest's memory [Default: 0x%08x]\n" + " --dtb_offset, -D Offset into guest memory to load the DTB [Default: 0x%08x]\n" + " --ramdisk_offset, -R 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/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..cc0903af6a7f 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/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