Commit Graph

975119 Commits

Author SHA1 Message Date
Nick Desaulniers
aa88d3d644 ANDROID: clang: update to 12.0.4
Bug: 183031914
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: I7b5219a9f91aa2554b6206d98f3c2140c9d24629
2021-03-22 14:57:21 -07:00
Liujie Xie
1e13e5d9b9 ANDROID: vendor_hooks: Add hooks for improving binder trans
Recognize important binder proc & binder thread and improve their sched
lantency.

Bug: 182952552
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I174949bf90a4215a6d27f24abbc7d324a321e662
2021-03-22 20:28:00 +00:00
Ram Chandrasekar
121264f1e0 ANDROID: GKI: Disable DTPM CPU device
Disable DTPM CPU device and keep the DTPM framework enabled to use the
framework to register mitigation devices.

Bug: 183374898
Change-Id: Ie729793ba5434789f36408b9333d239e37516e8d
Signed-off-by: Ram Chandrasekar <quic_rkumbako@quicinc.com>
2021-03-22 15:25:07 +00:00
Daniel Lezcano
60d643cb42 UPSTREAM: powercap/drivers/dtpm: Add the experimental label to the option description
The DTPM framework will evolve in the next cycles. Let's add a
temporary EXPERIMENTAL tag to the option so users will be aware
the API may change over time.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Link:
https://patchwork.kernel.org/project/linux-pm/patch/20210224183022.11846-2-daniel.lezcano@linaro.org/
Bug: 183374898
Change-Id: Icb0000fcc36ccac1f1166bbdc2a991a53cc67a2e
(cherry picked from commit 9e2be308f0)
Signed-off-by: Ram Chandrasekar <quic_rkumbako@quicinc.com>
2021-03-22 15:24:47 +00:00
Daniel Lezcano
11a3ee0438 UPSTREAM: powercap/drivers/dtpm: Fix root node initialization
The root node is not set to NULL when the dtpm root node is
removed. Consequently, it is not possible to create a new root
as it is already set.

Set the root node to NULL when the last node is removed.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Link: https://patchwork.kernel.org/project/linux-pm/patch/20210224183022.11846-1-daniel.lezcano@linaro.org/
Bug: 183374898
Change-Id: Idf56d61c16c451b9597d77c8e27372fbaede0ca3
(cherry picked from commit f3c1410579)
Signed-off-by: Ram Chandrasekar <quic_rkumbako@quicinc.com>
2021-03-22 15:24:05 +00:00
Greg Kroah-Hartman
2d118bc904 ANDROID: GKI: sched.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
pointer to struct signal_struct, struct sched_entity, struct
sched_rt_entity, and struct task_struct.

Based on a patch from Michal Marek <mmarek@suse.cz> from the SLES kernel

Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 3 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct sched_entity at sched.h:444:1' changed:
  type size changed from 3584 to 4096 (in bits)
  4 data member insertions:
    'u64 sched_entity::android_kabi_reserved1', at offset 3584 (in bits) at sched.h:481:1
    'u64 sched_entity::android_kabi_reserved2', at offset 3648 (in bits) at sched.h:482:1
    'u64 sched_entity::android_kabi_reserved3', at offset 3712 (in bits) at sched.h:483:1
    'u64 sched_entity::android_kabi_reserved4', at offset 3776 (in bits) at sched.h:484:1
  1435 impacted interfaces:

'struct sched_rt_entity at sched.h:481:1' changed:
  type size changed from 384 to 640 (in bits)
  4 data member insertions:
    'u64 sched_rt_entity::android_kabi_reserved1', at offset 384 (in bits) at sched.h:504:1
    'u64 sched_rt_entity::android_kabi_reserved2', at offset 448 (in bits) at sched.h:505:1
    'u64 sched_rt_entity::android_kabi_reserved3', at offset 512 (in bits) at sched.h:506:1
    'u64 sched_rt_entity::android_kabi_reserved4', at offset 576 (in bits) at sched.h:507:1
  1435 impacted interfaces:

'struct task_struct at sched.h:624:1' changed:
  type size changed from 28672 to 30208 (in bits)
  8 data member insertions:
    'u64 task_struct::android_kabi_reserved1', at offset 20992 (in bits) at sched.h:1294:1
    'u64 task_struct::android_kabi_reserved2', at offset 21056 (in bits) at sched.h:1295:1
    'u64 task_struct::android_kabi_reserved3', at offset 21120 (in bits) at sched.h:1296:1
    'u64 task_struct::android_kabi_reserved4', at offset 21184 (in bits) at sched.h:1297:1
    'u64 task_struct::android_kabi_reserved5', at offset 21248 (in bits) at sched.h:1298:1
    'u64 task_struct::android_kabi_reserved6', at offset 21312 (in bits) at sched.h:1299:1
    'u64 task_struct::android_kabi_reserved7', at offset 21376 (in bits) at sched.h:1300:1
    'u64 task_struct::android_kabi_reserved8', at offset 21440 (in bits) at sched.h:1301:1
  there are data member changes:
  1435 impacted interfaces:

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1449735b836399e9b356608727092334daf5c36b
2021-03-22 15:06:24 +00:00
Greg Kroah-Hartman
4fc524a08c ANDROID: GKI: module.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct module.

Based on a patch from Michal Marek <mmarek@suse.cz> from the SLES kernel

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct module at module.h:348:1' changed:
  type size hasn't changed
  4 data member insertions:
    'u64 module::android_kabi_reserved1', at offset 6720 (in bits) at module.h:518:1
    'u64 module::android_kabi_reserved2', at offset 6784 (in bits) at module.h:519:1
    'u64 module::android_kabi_reserved3', at offset 6848 (in bits) at module.h:520:1
    'u64 module::android_kabi_reserved4', at offset 6912 (in bits) at module.h:521:1

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2a764e9eac88f20e50d192112235da6d2f0f83bc
2021-03-22 15:05:55 +00:00
Greg Kroah-Hartman
4732d8cf82 ANDROID: GKI: sock.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct sock.

Based on a patch from Michal Marek <mmarek@suse.cz> from the SLES kernel

Leaf changes summary: 1 artifact changed
Changed leaf types summary: 1 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

'struct sock at sock.h:324:1' changed:
  type size changed from 6016 to 6528 (in bits)
  8 data member insertions:
    'u64 sock::android_kabi_reserved1', at offset 6016 (in bits) at sock.h:516:1
    'u64 sock::android_kabi_reserved2', at offset 6080 (in bits) at sock.h:517:1
    'u64 sock::android_kabi_reserved3', at offset 6144 (in bits) at sock.h:518:1
    'u64 sock::android_kabi_reserved4', at offset 6208 (in bits) at sock.h:519:1
    'u64 sock::android_kabi_reserved5', at offset 6272 (in bits) at sock.h:520:1
    'u64 sock::android_kabi_reserved6', at offset 6336 (in bits) at sock.h:521:1
    'u64 sock::android_kabi_reserved7', at offset 6400 (in bits) at sock.h:522:1
    'u64 sock::android_kabi_reserved8', at offset 6464 (in bits) at sock.h:523:1

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I61c3d6cf12c087345db71fc6d93ee6bd58969003
2021-03-22 15:05:31 +00:00
Choonghoon Park
f25741f047 ANDROID: sched/fair: Do not sync task util with SD_BALANCE_FORK
When android_rvh_select_task_rq_fair is enabled,
the woken-up new fair task's utilization is always updated in
a wakeup path (wake_up_new_task) although it doesn't have to be.
It is because sync_entity_load_avg() is always called in
select_task_rq_fair() with the hook enabled.

Let's see what happened:

The new task's sched_avg->last_update_time should be 0
unless it is updated in attach_entity_cfs_rq() in the wakeup path.

But because sync_entity_load_avg() is called,
sched_avg->last_update_time is updated with cfs_rq->avg.last_update_time
before attach_entity_cfs_rq() is called.

After updated, post_init_entity_util_avg() is called and the half of
spare capacity of rq which the task is assigned to is set to the task's
utilization.

Finally, update_load_avg() is called and check the task's
sched_avg->last_update_time, and update the task's utilization due to
non-zero last_update_time.

- wake_up_new_task()
  - select_task_rq() <-- task's sched_avg->last_update_time is set
  			 if android_rvh_select_task_rq_fair is enabled.
  - post_init_entity_util_avg() <-- task gets the half of spare cap.
    - attach_entity_cfs_rq()
      - update_load_avg <-- update task's utiliztion because
                            task's sched_avg->last_update_time is not 0.

Make sure not to call sync_entity_load_avg() in select_task_rq_fair()
when SD_BALANCE_FORK is also set with the hook.

Bug: 183306209

Signed-off-by: Choonghoon Park <choong.park@samsung.com>
Change-Id: I1fd70bf3d8e5fe1548f2237afd2d3d81134a68ee
2021-03-22 20:09:56 +09:00
David Brazdil
e26fd78761 FROMGIT: selinux: vsock: Set SID for socket returned by accept()
For AF_VSOCK, accept() currently returns sockets that are unlabelled.
Other socket families derive the child's SID from the SID of the parent
and the SID of the incoming packet. This is typically done as the
connected socket is placed in the queue that accept() removes from.

Reuse the existing 'security_sk_clone' hook to copy the SID from the
parent (server) socket to the child. There is no packet SID in this
case.

Fixes: d021c34405 ("VSOCK: Introduce VM Sockets")
Signed-off-by: David Brazdil <dbrazdil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 1f935e8e72
 https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git master)
Link: https://lore.kernel.org/r/20210319130541.2188184-1-dbrazdil@google.com
Bug: 130668487
Change-Id: Idb656917cc600df7cb83cb15a6c0f0499045d77f
2021-03-22 08:41:33 +00:00
Badhri Jagan Sridharan
abbebf1a3e ANDROID: usb: typec: tcpci: Migrate restricted vendor hook
Since the callbacks can potentially execute i2c transactions,
use restricted vendor hook instead of vendor hook.

BUG: scheduling while atomic: 6-0025/306/0x00000002
..
Call trace:
dump_backtrace+0x0/0x1d4
show_stack+0x1c/0x2c
dump_stack+0xd0/0x154
__schedule_bug+0x74/0xb0
__schedule+0x524/0x7bc
schedule+0xa0/0xe8
schedule_preempt_disabled+0x28/0x48
__mutex_lock+0x2e8/0x6c4
__mutex_lock_slowpath+0x18/0x28
mutex_lock+0x40/0x64
regmap_lock_mutex+0x14/0x24
regmap_raw_read+0xcc/0x264
__traceiter_android_vh_typec_tcpci_get_vbus+0x50/0x78
tcpci_get_vbus+0x100/0x128

OOT_bug:
Bug: 183149028
Bug: 168245874
Bug: 173252019
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: Ia61bd2b6a01b50e73e7a6d4e398146b819181e15
2021-03-21 13:24:36 -07:00
Harshdeep Dhatt
c4bd1c03ba ANDROID: qcom: Add is_dma_buf_file to ABI
Userspace can request kgsl to map a buffer to the GPU.
To map it appropriately, kgsl needs to check if the
buffer is a dma-buf or not.

Bug: 183140381
Signed-off-by: Harshdeep Dhatt <quic_hdhatt@quicinc.com>
Change-Id: I21b1a4770d764a89662644e51342a0613e05fb75
2021-03-20 09:48:47 +00:00
Greg Kroah-Hartman
268088c42e ANDROID: GKI: update .xml file
It has been a while since the .xml file is updated, and recent
changes caused a lot of churn:

Leaf changes summary: 2845 artifacts changed
Changed leaf types summary: 186 leaf types changed
Removed/Changed/Added functions summary: 1 Removed, 2606 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 51 Changed, 0 Added variable

1 Removed function:

  [D] 'function void __cfi_slowpath(uint64_t, void*, void*)'

1 Added function:

  [A] 'function void rproc_coredump_using_sections(rproc*)'

2606 functions with some sub-type change:

  [C] 'function void* PDE_DATA(const inode*)' at proc_fs.h:112:1 has some sub-type changes:
    CRC (modversions) changed from 0x9d4e937a to 0x8f0b8b7c

  [C] 'function void __ClearPageMovable(page*)' at compaction.c:138:1 has some sub-type changes:
    CRC (modversions) changed from 0xbca697b6 to 0xb9a01cb4

  [C] 'function void __SetPageMovable(page*, address_space*)' at compaction.c:130:1 has some sub-type changes:
    CRC (modversions) changed from 0xbae6e38b to 0x8981e72b

  ... 2603 omitted; 2606 symbols have only CRC changes

51 Changed variables:

  [C] 'const vm_operations_struct drm_gem_cma_vm_ops' was changed at drm_gem_cma_helper.c:263:1:
    size of symbol changed from 104 to 136
    CRC (modversions) changed from 0x9b789cc6 to 0x1fd71308
    type of variable changed:

  [C] 'net init_net' was changed at net_namespace.c:47:1:
    CRC (modversions) changed from 0xc99f4ef0 to 0x686f1ba0
    type of variable changed:
      type size hasn't changed
      there are data member changes:
        type 'struct netns_ipv6' of 'net::ipv6' changed:
          type size hasn't changed
          there are data member changes:
            type 'struct timer_list' of 'netns_ipv6::ip6_fib_timer' changed:
              type size changed from 320 to 448 (in bits)
              2 data member insertions:
                'u64 timer_list::android_kabi_reserved1', at offset 320 (in bits) at timer.h:26:1
                'u64 timer_list::android_kabi_reserved2', at offset 384 (in bits) at timer.h:27:1
              2630 impacted interfaces
            3 ('hlist_head* netns_ipv6::fib_table_hash' .. 'list_head netns_ipv6::fib6_walkers') offsets changed (by +128 bits)
          286 impacted interfaces
        type 'struct netns_ct' of 'net::ct' changed:
          type size changed from 2944 to 3072 (in bits)
          there are data member changes:
            type 'struct delayed_work' of 'netns_ct::ecache_dwork' changed:
              type size changed from 704 to 832 (in bits)
              there are data member changes:
                type 'struct timer_list' of 'delayed_work::timer' changed, as reported earlier
                2 ('workqueue_struct* delayed_work::wq' .. 'int delayed_work::cpu') offsets changed (by +128 bits)
              2620 impacted interfaces
            14 ('bool netns_ct::ecache_dwork_pending' .. 'nf_ip_net netns_ct::nf_ct_proto') offsets changed (by +128 bits)
          286 impacted interfaces
        7 ('netns_nf_frag net::nf_frag' .. 'netns_bpf net::bpf') offsets changed (by +128 bits)
      286 impacted interfaces

  [C] 'task_struct init_task' was changed at init_task.c:64:1:
    size of symbol changed from 4224 to 4288
    CRC (modversions) changed from 0x687cddf1 to 0x81ecaff
    type of variable changed:
      type size changed from 33792 to 34304 (in bits)
      there are data member changes:
        type 'struct sched_dl_entity' of 'task_struct::dl' changed:
          type size changed from 1792 to 1920 (in bits)
          there are data member changes:
            type 'struct hrtimer' of 'sched_dl_entity::dl_timer' changed:
              type size changed from 512 to 576 (in bits)
              1 data member insertion:
                'u64 hrtimer::android_kabi_reserved1', at offset 512 (in bits) at hrtimer.h:129:1
              2630 impacted interfaces
            type 'struct hrtimer' of 'sched_dl_entity::inactive_timer' changed, as reported earlier
            and offset changed from 1216 to 1280 (in bits) (by +64 bits)
            'sched_dl_entity* sched_dl_entity::pi_se' offset changed (by +128 bits)
          2620 impacted interfaces
        131 ('uclamp_se task_struct::uclamp_req[2]' .. 'tlbflush_unmap_batch task_struct::tlb_ubc') offsets changed (by +128 bits)
        while looking at anonymous data member 'union {refcount_t rcu_users; callback_head rcu;}':
        the internal name of that anonymous data member changed from:
         __anonymous_union__7
        to:
         __anonymous_union__42
         This is usually due to an anonymous member type being added or removed from the containing type
        and offset changed from 19520 to 19648 (in bits) (by +128 bits)
        19 ('pipe_inode_info* task_struct::splice_pipe' .. 'u64 task_struct::android_vendor_data1[64]') offsets changed (by +128 bits)
        type 'u64[2]' of 'task_struct::android_oem_data1' changed:
          type name changed from 'u64[2]' to 'u64[6]'
          array type size changed from 128 to 384
          array type subrange 1 changed length from 2 to 6
        and offset changed from 24896 to 25024 (in bits) (by +128 bits)
        'thread_struct task_struct::thread' offset changed (by +384 bits)
      2620 impacted interfaces

  [C] 'resource iomem_resource' was changed at resource.c:38:1:
    size of symbol changed from 64 to 96
    CRC (modversions) changed from 0x77358855 to 0xc7da062f
    type of variable changed:
      type size changed from 512 to 768 (in bits)
      4 data member insertions:
        'u64 resource::android_kabi_reserved1', at offset 512 (in bits) at ioport.h:29:1
        'u64 resource::android_kabi_reserved2', at offset 576 (in bits) at ioport.h:30:1
        'u64 resource::android_kabi_reserved3', at offset 640 (in bits) at ioport.h:31:1
        'u64 resource::android_kabi_reserved4', at offset 704 (in bits) at ioport.h:32:1
      114 impacted interfaces

  [C] 'rq runqueues' was changed at core.c:49:1:
    size of symbol changed from 4096 to 4160
    CRC (modversions) changed from 0xa7379acd to 0xc91ed962
    type of variable changed:
      type size changed from 32768 to 33280 (in bits)
      there are data member changes:
        type 'struct hrtimer' of 'rq::hrtick_timer' changed, as reported earlier
        12 ('ktime_t rq::hrtick_time' .. 'u64 rq::android_vendor_data1[96]') offsets changed (by +64 bits)
      2620 impacted interfaces

  [C] 'softnet_data softnet_data' was changed at dev.c:402:1:
    CRC (modversions) changed from 0x98b523ed to 0xf888d86c
    type of variable changed:
      type size hasn't changed
      there are data member changes:
        type 'struct napi_struct' of 'softnet_data::backlog' changed:
          type size changed from 3072 to 3392 (in bits)
          4 data member insertions:
            'u64 napi_struct::android_kabi_reserved1', at offset 3136 (in bits) at netdevice.h:355:1
            'u64 napi_struct::android_kabi_reserved2', at offset 3200 (in bits) at netdevice.h:356:1
            'u64 napi_struct::android_kabi_reserved3', at offset 3264 (in bits) at netdevice.h:357:1
            'u64 napi_struct::android_kabi_reserved4', at offset 3328 (in bits) at netdevice.h:358:1
          there are data member changes:
            type 'struct hrtimer' of 'napi_struct::timer' changed, as reported earlier
            3 ('list_head napi_struct::dev_list' .. 'unsigned int napi_struct::napi_id') offsets changed (by +64 bits)
          14 impacted interfaces
      one impacted interface

  [C] 'tracepoint __tracepoint_xdp_exception' was changed at xdp.h:28:1:
    CRC (modversions) changed from 0x17cc464 to 0x8b7a698b

  [C] 'bus_type amba_bustype' was changed at bus.c:215:1:
    CRC (modversions) changed from 0xca23025 to 0x51184ff2

  [C] 'const clk_ops clk_fixed_factor_ops' was changed at clk-fixed-factor.c:60:1:
    CRC (modversions) changed from 0x96009648 to 0x3c1cb271

  ... 42 omitted; 45 symbols have only CRC changes

'struct Scsi_Host at scsi_host.h:524:1' changed (indirectly):
  type size changed from 17280 to 17920 (in bits)
  there are data member changes:
    type 'struct device' of 'Scsi_Host::shost_gendev' changed:
      type size changed from 5952 to 6272 (in bits)
      there are data member changes:
        type 'struct kobject' of 'device::kobj' changed:
          type size changed from 512 to 768 (in bits)
          4 data member insertions:
            'u64 kobject::android_kabi_reserved1', at offset 512 (in bits) at kobject.h:82:1
            'u64 kobject::android_kabi_reserved2', at offset 576 (in bits) at kobject.h:83:1
            'u64 kobject::android_kabi_reserved3', at offset 640 (in bits) at kobject.h:84:1
            'u64 kobject::android_kabi_reserved4', at offset 704 (in bits) at kobject.h:85:1
          2620 impacted interfaces
        10 ('device* device::parent' .. 'dev_links_info device::links') offsets changed (by +256 bits)
        type 'struct dev_pm_info' of 'device::power' changed:
          type size changed from 2432 to 2496 (in bits)
          there are data member changes:
            type 'struct hrtimer' of 'dev_pm_info::suspend_timer' changed, as reported earlier
            19 ('u64 dev_pm_info::timer_expires' .. 'dev_pm_qos* dev_pm_info::qos') offsets changed (by +64 bits)
          2620 impacted interfaces
        and offset changed from 1728 to 1984 (in bits) (by +256 bits)
        26 ('dev_pm_domain* device::pm_domain' .. 'dev_iommu* device::iommu') offsets changed (by +320 bits)
      2620 impacted interfaces
    type 'struct device' of 'Scsi_Host::shost_dev' changed, as reported earlier
    and offset changed from 11200 to 11520 (in bits) (by +320 bits)
    3 ('void* Scsi_Host::shost_data' .. 'unsigned long int Scsi_Host::hostdata[]') offsets changed (by +640 bits)
  29 impacted interfaces

'struct alarm at alarmtimer.h:42:1' changed (indirectly):
  type size changed from 960 to 1024 (in bits)
  there are data member changes:
    type 'struct hrtimer' of 'alarm::timer' changed, as reported earlier
    4 ('enum alarmtimer_restart (alarm*, typedef ktime_t)* alarm::function' .. 'void* alarm::data') offsets changed (by +64 bits)
  3 impacted interfaces

'struct amba_device at bus.h:64:1' changed (indirectly):
  type size changed from 7296 to 7872 (in bits)
  there are data member changes:
    type 'struct device' of 'amba_device::dev' changed, as reported earlier
    type 'struct resource' of 'amba_device::res' changed, as reported earlier
    and offset changed from 5952 to 6272 (in bits) (by +320 bits)
    7 ('clk* amba_device::pclk' .. 'char* amba_device::driver_override') offsets changed (by +576 bits)
  4 impacted interfaces

'struct backing_dev_info at backing-dev-defs.h:165:1' changed (indirectly):
  type size changed from 6208 to 6464 (in bits)
  there are data member changes:
    type 'struct bdi_writeback' of 'backing_dev_info::wb' changed:
      type size changed from 4096 to 4224 (in bits)
      there are data member changes:
        type 'struct delayed_work' of 'bdi_writeback::dwork' changed, as reported earlier
        2 ('unsigned long int bdi_writeback::dirty_sleep' .. 'list_head bdi_writeback::bdi_node') offsets changed (by +128 bits)
      2620 impacted interfaces
    5 ('list_head backing_dev_info::wb_list' .. 'device* backing_dev_info::owner') offsets changed (by +128 bits)
    type 'struct timer_list' of 'backing_dev_info::laptop_mode_wb_timer' changed, as reported earlier
    and offset changed from 5824 to 5952 (in bits) (by +128 bits)
    'dentry* backing_dev_info::debug_dir' offset changed (by +256 bits)
  2620 impacted interfaces

'struct backlight_device at backlight.h:280:1' changed (indirectly):
  type size changed from 7424 to 7744 (in bits)
  there are data member changes:
    type 'struct device' of 'backlight_device::dev' changed, as reported earlier
    2 ('bool backlight_device::fb_bl_on[32]' .. 'int backlight_device::use_count') offsets changed (by +320 bits)
  14 impacted interfaces

'struct bdi_writeback at backing-dev-defs.h:107:1' changed (indirectly):
  details were reported earlier

'struct bio at blk_types.h:204:1' changed:
  type size changed from 1024 to 1152 (in bits)
  2 data member insertions:
    'u64 bio::android_kabi_reserved1', at offset 1024 (in bits) at blk_types.h:265:1
    'u64 bio::android_kabi_reserved2', at offset 1088 (in bits) at blk_types.h:266:1
  there are data member changes:
    'bio_vec bio::bi_inline_vecs[]' offset changed (by +128 bits)
  2620 impacted interfaces

'struct blk_mq_ctx at blk-mq.h:18:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct kobject' of 'blk_mq_ctx::kobj' changed, as reported earlier
  2620 impacted interfaces

'struct blk_mq_ctxs at blk-mq.h:10:1' changed (indirectly):
  type size changed from 576 to 832 (in bits)
  there are data member changes:
    type 'struct kobject' of 'blk_mq_ctxs::kobj' changed, as reported earlier
    'blk_mq_ctx* blk_mq_ctxs::queue_ctx' offset changed (by +256 bits)
  2620 impacted interfaces

'struct blk_mq_hw_ctx at blk-mq.h:16:1' changed (indirectly):
  type size changed from 4608 to 5120 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'blk_mq_hw_ctx::run_work' changed, as reported earlier
    28 ('cpumask_var_t blk_mq_hw_ctx::cpumask' .. 'hlist_node blk_mq_hw_ctx::cpuhp_dead') offsets changed (by +128 bits)
    type 'struct kobject' of 'blk_mq_hw_ctx::kobj' changed, as reported earlier
    and offset changed from 3584 to 3712 (in bits) (by +128 bits)
    7 ('unsigned long int blk_mq_hw_ctx::poll_considered' .. 'srcu_struct blk_mq_hw_ctx::srcu[]') offsets changed (by +384 bits)
  2620 impacted interfaces

'struct blk_stat_callback at blk-stat.h:19:1' changed (indirectly):
  type size changed from 960 to 1088 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'blk_stat_callback::timer' changed, as reported earlier
    7 ('blk_rq_stat* blk_stat_callback::cpu_stat' .. 'callback_head blk_stat_callback::rcu') offsets changed (by +128 bits)
  2620 impacted interfaces

'struct cdev at cdev.h:14:1' changed (indirectly):
  type size changed from 832 to 1088 (in bits)
  there are data member changes:
    type 'struct kobject' of 'cdev::kobj' changed, as reported earlier
    5 ('module* cdev::owner' .. 'unsigned int cdev::count') offsets changed (by +256 bits)
  144 impacted interfaces

'struct cec_adapter at cec.h:201:1' changed (indirectly):
  type size changed from 11264 to 11840 (in bits)
  there are data member changes:
    type 'struct cec_devnode' of 'cec_adapter::devnode' changed:
      type size changed from 7232 to 7808 (in bits)
      there are data member changes:
        type 'struct device' of 'cec_devnode::dev' changed, as reported earlier
        type 'struct cdev' of 'cec_devnode::cdev' changed, as reported earlier
        and offset changed from 5952 to 6272 (in bits) (by +320 bits)
        5 ('int cec_devnode::minor' .. 'mutex cec_devnode::lock') offsets changed (by +576 bits)
      10 impacted interfaces
    36 ('mutex cec_adapter::lock' .. 'char cec_adapter::input_phys[32]') offsets changed (by +576 bits)
  10 impacted interfaces

'struct cec_data at cec.h:57:1' changed (indirectly):
  type size changed from 1856 to 1984 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'cec_data::work' changed, as reported earlier
    4 ('completion cec_data::c' .. 'bool cec_data::completed') offsets changed (by +128 bits)
  10 impacted interfaces

'struct cec_devnode at cec.h:39:1' changed (indirectly):
  details were reported earlier

'struct cgroup at cgroup-defs.h:356:1' changed (indirectly):
  type size changed from 19968 to 20480 (in bits)
  there are data member changes:
    type 'struct cgroup_file' of 'cgroup::procs_file' changed:
      type size changed from 448 to 576 (in bits)
      there are data member changes:
        type 'struct timer_list' of 'cgroup_file::notify_timer' changed, as reported earlier
      2620 impacted interfaces
    type 'struct cgroup_file' of 'cgroup::events_file' changed, as reported earlier
    and offset changed from 2496 to 2624 (in bits) (by +128 bits)
    19 ('u16 cgroup::subtree_control' .. 'work_struct cgroup::release_agent_work') offsets changed (by +256 bits)
    type 'struct psi_group' of 'cgroup::psi' changed:
      type size changed from 4800 to 5056 (in bits)
      there are data member changes:
        type 'struct delayed_work' of 'psi_group::avgs_work' changed, as reported earlier
        3 ('u64 psi_group::total[2][5]' .. 'task_struct* psi_group::poll_task') offsets changed (by +128 bits)
        type 'struct timer_list' of 'psi_group::poll_timer' changed, as reported earlier
        and offset changed from 3136 to 3264 (in bits) (by +128 bits)
        10 ('wait_queue_head_t psi_group::poll_wait' .. 'u64 psi_group::polling_until') offsets changed (by +256 bits)
      2620 impacted interfaces
    and offset changed from 5888 to 6144 (in bits) (by +256 bits)
    4 ('cgroup_bpf cgroup::bpf' .. 'u64 cgroup::ancestor_ids[]') offsets changed (by +512 bits)
  2620 impacted interfaces

'struct cgroup_file at cgroup-defs.h:124:1' changed (indirectly):
  details were reported earlier

'struct cgroup_root at cgroup-defs.h:494:1' changed (indirectly):
  type size changed from 53696 to 54208 (in bits)
  there are data member changes:
    type 'struct cgroup' of 'cgroup_root::cgrp' changed, as reported earlier
    6 ('u64 cgroup_root::cgrp_ancestor_id_storage' .. 'char cgroup_root::name[64]') offsets changed (by +512 bits)
  2620 impacted interfaces

'struct cpufreq_policy at cpufreq.h:51:1' changed (indirectly):
  type size changed from 5312 to 5568 (in bits)
  there are data member changes:
    type 'struct kobject' of 'cpufreq_policy::kobj' changed, as reported earlier
    18 ('completion cpufreq_policy::kobj_unregister' .. 'notifier_block cpufreq_policy::nb_max') offsets changed (by +256 bits)
  19 impacted interfaces

'struct delayed_work at workqueue.h:115:1' changed (indirectly):
  details were reported earlier

'struct dev_pm_info at pm.h:565:1' changed (indirectly):
  details were reported earlier

'struct devfreq at devfreq.h:172:1' changed (indirectly):
  type size changed from 15168 to 15744 (in bits)
  there are data member changes:
    type 'struct device' of 'devfreq::dev' changed, as reported earlier
    4 ('devfreq_dev_profile* devfreq::profile' .. 'notifier_block devfreq::nb') offsets changed (by +320 bits)
    type 'struct delayed_work' of 'devfreq::work' changed, as reported earlier
    and offset changed from 6784 to 7104 (in bits) (by +320 bits)
    12 ('unsigned long int devfreq::previous_freq' .. 'devfreq_stats devfreq::stats') offsets changed (by +448 bits)
    type 'struct srcu_notifier_head' of 'devfreq::transition_notifier_list' changed:
      type size changed from 5120 to 5248 (in bits)
      there are data member changes:
        type 'struct srcu_struct' of 'srcu_notifier_head::srcu' changed:
          type size changed from 4800 to 4928 (in bits)
          there are data member changes:
            type 'struct delayed_work' of 'srcu_struct::work' changed, as reported earlier
          2620 impacted interfaces
        'notifier_block* srcu_notifier_head::head' offset changed (by +128 bits)
      32 impacted interfaces
    and offset changed from 9664 to 10112 (in bits) (by +448 bits)
    2 ('notifier_block devfreq::nb_min' .. 'notifier_block devfreq::nb_max') offsets changed (by +576 bits)
  28 impacted interfaces

'struct device at device.h:457:1' changed (indirectly):
  details were reported earlier

'struct device_link at device.h:571:1' changed (indirectly):
  type size changed from 6656 to 6976 (in bits)
  there are data member changes:
    type 'struct device' of 'device_link::link_dev' changed, as reported earlier
    6 ('device_link_state device_link::status' .. 'bool device_link::supplier_preactivated') offsets changed (by +320 bits)
  2 impacted interfaces

'struct device_node at of.h:51:1' changed (indirectly):
  type size changed from 1664 to 1920 (in bits)
  there are data member changes:
    type 'struct kobject' of 'device_node::kobj' changed, as reported earlier
    2 ('unsigned long int device_node::_flags' .. 'void* device_node::data') offsets changed (by +256 bits)
  2620 impacted interfaces

'struct disk_events at genhd.c:1889:1' changed (indirectly):
  type size changed from 1408 to 1536 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'disk_events::dwork' changed, as reported earlier
  2620 impacted interfaces

'struct dma_buf at dma-buf.h:397:1' changed (indirectly):
  type size changed from 3072 to 3328 (in bits)
  there are data member changes:
    type 'struct vm_operations_struct' of 'dma_buf::vm_ops' changed:
      type size changed from 832 to 1088 (in bits)
      4 data member insertions:
        'u64 vm_operations_struct::android_kabi_reserved1', at offset 832 (in bits) at mm.h:643:1
        'u64 vm_operations_struct::android_kabi_reserved2', at offset 896 (in bits) at mm.h:644:1
        'u64 vm_operations_struct::android_kabi_reserved3', at offset 960 (in bits) at mm.h:645:1
        'u64 vm_operations_struct::android_kabi_reserved4', at offset 1024 (in bits) at mm.h:646:1
      2620 impacted interfaces
  42 impacted interfaces

'struct dma_buf_attach_sysfs_entry at dma-buf.h:509:1' changed (indirectly):
  type size changed from 576 to 832 (in bits)
  there are data member changes:
    type 'struct kobject' of 'dma_buf_attach_sysfs_entry::kobj' changed, as reported earlier
    'unsigned int dma_buf_attach_sysfs_entry::map_counter' offset changed (by +256 bits)
  42 impacted interfaces

'struct dma_buf_sysfs_entry at dma-buf.h:424:1' changed (indirectly):
  type size changed from 704 to 960 (in bits)
  there are data member changes:
    type 'struct kobject' of 'dma_buf_sysfs_entry::kobj' changed, as reported earlier
    3 ('dma_buf* dma_buf_sysfs_entry::dmabuf' .. 'kset* dma_buf_sysfs_entry::attach_stats_kset') offsets changed (by +256 bits)
  42 impacted interfaces

'struct dma_chan_dev at dmaengine.h:361:1' changed (indirectly):
  type size changed from 6080 to 6400 (in bits)
  there are data member changes:
    type 'struct device' of 'dma_chan_dev::device' changed, as reported earlier
    'int dma_chan_dev::dev_id' offset changed (by +320 bits)
  14 impacted interfaces

'struct dma_heap at dma-heap.c:37:1' changed (indirectly):
  type size changed from 1344 to 1600 (in bits)
  there are data member changes:
    type 'struct cdev' of 'dma_heap::heap_cdev' changed, as reported earlier
    2 ('kref dma_heap::refcount' .. 'device* dma_heap::heap_dev') offsets changed (by +256 bits)
  6 impacted interfaces

'struct dma_map_ops at dma-map-ops.h:14:1' changed:
  type size changed from 1472 to 1728 (in bits)
  4 data member insertions:
    'u64 dma_map_ops::android_kabi_reserved1', at offset 1472 (in bits) at dma-map-ops.h:74:1
    'u64 dma_map_ops::android_kabi_reserved2', at offset 1536 (in bits) at dma-map-ops.h:75:1
    'u64 dma_map_ops::android_kabi_reserved3', at offset 1600 (in bits) at dma-map-ops.h:76:1
    'u64 dma_map_ops::android_kabi_reserved4', at offset 1664 (in bits) at dma-map-ops.h:77:1
  2620 impacted interfaces

'struct dquot_operations at quota.h:322:1' changed:
  type size changed from 704 to 832 (in bits)
  2 data member insertions:
    'u64 dquot_operations::android_kabi_reserved1', at offset 704 (in bits) at quota.h:342:1
    'u64 dquot_operations::android_kabi_reserved2', at offset 768 (in bits) at quota.h:343:1
  2620 impacted interfaces

'struct drm_crtc_helper_funcs at drm_modeset_helper_vtables.h:61:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'int (drm_crtc*, drm_framebuffer*, int, int, enum mode_set_atomic)*' of 'drm_crtc_helper_funcs::mode_set_base_atomic' changed:
      pointer type changed from: 'int (drm_crtc*, drm_framebuffer*, int, int, enum mode_set_atomic)*' to: 'int (drm_crtc*, drm_framebuffer*, int, int, enum mode_set_atomic)*'
  246 impacted interfaces

'struct drm_device at drm_device.h:53:1' changed (indirectly):
  type size changed from 12672 to 12800 (in bits)
  there are data member changes:
    type 'struct drm_mode_config' of 'drm_device::mode_config' changed:
      type size changed from 8704 to 8832 (in bits)
      there are data member changes:
        type 'struct delayed_work' of 'drm_mode_config::output_poll_work' changed, as reported earlier
        72 ('mutex drm_mode_config::blob_lock' .. 'const drm_mode_config_helper_funcs* drm_mode_config::helper_private') offsets changed (by +128 bits)
      246 impacted interfaces
    6 ('mutex drm_device::object_name_lock' .. 'drm_fb_helper* drm_device::fb_helper') offsets changed (by +128 bits)
  246 impacted interfaces

'struct drm_dp_aux at drm_dp_helper.h:1580:1' changed (indirectly):
  type size changed from 10240 to 10688 (in bits)
  there are data member changes:
    type 'struct i2c_adapter' of 'drm_dp_aux::ddc' changed:
      type size changed from 8192 to 8512 (in bits)
      there are data member changes:
        type 'struct device' of 'i2c_adapter::dev' changed, as reported earlier
        9 ('unsigned long int i2c_adapter::locked_flags' .. 'irq_domain* i2c_adapter::host_notify_domain') offsets changed (by +320 bits)
      271 impacted interfaces
    8 ('device* drm_dp_aux::dev' .. 'unsigned int drm_dp_aux::i2c_defer_count') offsets changed (by +320 bits)
    type 'struct drm_dp_aux_cec' of 'drm_dp_aux::cec' changed:
      type size changed from 1088 to 1216 (in bits)
      there are data member changes:
        type 'struct delayed_work' of 'drm_dp_aux_cec::unregister_work' changed, as reported earlier
      23 impacted interfaces
    and offset changed from 9088 to 9408 (in bits) (by +320 bits)
    'bool drm_dp_aux::is_remote' offset changed (by +448 bits)
  23 impacted interfaces

'struct drm_dp_aux_cec at drm_dp_helper.h:1533:1' changed (indirectly):
  details were reported earlier

'struct drm_dp_mst_port at drm_dp_mst_helper.h:98:1' changed (indirectly):
  type size changed from 11072 to 11520 (in bits)
  there are data member changes:
    type 'struct drm_dp_aux' of 'drm_dp_mst_port::aux' changed, as reported earlier
    7 ('drm_dp_mst_branch* drm_dp_mst_port::parent' .. 'bool drm_dp_mst_port::fec_capable') offsets changed (by +448 bits)
  18 impacted interfaces

'struct drm_mode_config at drm_mode_config.h:358:1' changed (indirectly):
  details were reported earlier

'struct drm_vblank_crtc at drm_vblank.h:91:1' changed (indirectly):
  type size changed from 2432 to 2560 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'drm_vblank_crtc::disable_timer' changed, as reported earlier
    15 ('seqlock_t drm_vblank_crtc::seqlock' .. 'wait_queue_head_t drm_vblank_crtc::work_wait_queue') offsets changed (by +128 bits)
  246 impacted interfaces

'struct edac_device_block at edac_device.h:117:1' changed (indirectly):
  type size changed from 1024 to 1280 (in bits)
  there are data member changes:
    type 'struct kobject' of 'edac_device_block::kobj' changed, as reported earlier
  6 impacted interfaces

'struct edac_device_ctl_info at edac_device.h:151:1' changed (indirectly):
  type size changed from 3008 to 3392 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'edac_device_ctl_info::work' changed, as reported earlier
    12 ('void (edac_device_ctl_info*)* edac_device_ctl_info::edac_check' .. 'edac_device_counter edac_device_ctl_info::counters') offsets changed (by +128 bits)
    type 'struct kobject' of 'edac_device_ctl_info::kobj' changed, as reported earlier
    and offset changed from 2496 to 2624 (in bits) (by +128 bits)
  6 impacted interfaces

'struct edac_device_instance at edac_device.h:133:1' changed (indirectly):
  type size changed from 1024 to 1280 (in bits)
  there are data member changes:
    type 'struct kobject' of 'edac_device_instance::kobj' changed, as reported earlier
  6 impacted interfaces

'struct elevator_queue at elevator.h:101:1' changed (indirectly):
  type size changed from 5056 to 5312 (in bits)
  there are data member changes:
    type 'struct kobject' of 'elevator_queue::kobj' changed, as reported earlier
    2 ('mutex elevator_queue::sysfs_lock' .. 'hlist_head elevator_queue::hash[64]') offsets changed (by +256 bits)
  2620 impacted interfaces

'struct ethtool_ops at ethtool.h:421:1' changed:
  type size changed from 3904 to 4160 (in bits)
  4 data member insertions:
    'u64 ethtool_ops::android_kabi_reserved1', at offset 3904 (in bits) at ethtool.h:514:1
    'u64 ethtool_ops::android_kabi_reserved2', at offset 3968 (in bits) at ethtool.h:515:1
    'u64 ethtool_ops::android_kabi_reserved3', at offset 4032 (in bits) at ethtool.h:516:1
    'u64 ethtool_ops::android_kabi_reserved4', at offset 4096 (in bits) at ethtool.h:517:1
  286 impacted interfaces

'struct extcon_dev at extcon.h:41:1' changed (indirectly):
  type size changed from 7424 to 7744 (in bits)
  there are data member changes:
    type 'struct device' of 'extcon_dev::dev' changed, as reported earlier
    11 ('raw_notifier_head extcon_dev::nh_all' .. 'device_attribute* extcon_dev::d_attrs_muex') offsets changed (by +320 bits)
  6 impacted interfaces

'struct gendisk at genhd.h:167:1' changed:
  type size changed from 8512 to 9344 (in bits)
  4 data member insertions:
    'u64 gendisk::android_kabi_reserved1', at offset 9088 (in bits) at genhd.h:221:1
    'u64 gendisk::android_kabi_reserved2', at offset 9152 (in bits) at genhd.h:222:1
    'u64 gendisk::android_kabi_reserved3', at offset 9216 (in bits) at genhd.h:223:1
    'u64 gendisk::android_kabi_reserved4', at offset 9280 (in bits) at genhd.h:224:1
  there are data member changes:
    type 'struct hd_struct' of 'gendisk::part0' changed:
      type size changed from 6976 to 7552 (in bits)
      4 data member insertions:
        'u64 hd_struct::android_kabi_reserved1', at offset 7296 (in bits) at genhd.h:78:1
        'u64 hd_struct::android_kabi_reserved2', at offset 7360 (in bits) at genhd.h:79:1
        'u64 hd_struct::android_kabi_reserved3', at offset 7424 (in bits) at genhd.h:80:1
        'u64 hd_struct::android_kabi_reserved4', at offset 7488 (in bits) at genhd.h:81:1
      there are data member changes:
        type 'struct device' of 'hd_struct::__dev' changed, as reported earlier
        5 ('kobject* hd_struct::holder_dir' .. 'rcu_work hd_struct::rcu_work') offsets changed (by +320 bits)
      2620 impacted interfaces
    13 ('const block_device_operations* gendisk::fops' .. 'lockdep_map gendisk::lockdep_map') offsets changed (by +576 bits)
  2620 impacted interfaces

'struct generic_pm_domain at pm_domain.h:110:1' changed (indirectly):
  type size changed from 10560 to 10880 (in bits)
  there are data member changes:
    type 'struct device' of 'generic_pm_domain::dev' changed, as reported earlier
    39 ('dev_pm_domain generic_pm_domain::domain' .. 'const genpd_lock_ops* generic_pm_domain::lock_ops') offsets changed (by +320 bits)
    anonymous data member 'union {mutex mlock; struct {spinlock_t slock; unsigned long int lock_flags;};}' offset changed from 10304 to 10624 (in bits) (by +320 bits)
  6 impacted interfaces

'struct gnss_device at gnss.h:37:1' changed (indirectly):
  type size changed from 8384 to 8960 (in bits)
  there are data member changes:
    type 'struct device' of 'gnss_device::dev' changed, as reported earlier
    type 'struct cdev' of 'gnss_device::cdev' changed, as reported earlier
    and offset changed from 5952 to 6272 (in bits) (by +320 bits)
    11 ('int gnss_device::id' .. 'char* gnss_device::write_buf') offsets changed (by +576 bits)
  5 impacted interfaces

'struct gov_attr_set at cpufreq.h:636:1' changed (indirectly):
  type size changed from 960 to 1216 (in bits)
  there are data member changes:
    type 'struct kobject' of 'gov_attr_set::kobj' changed, as reported earlier
    3 ('list_head gov_attr_set::policy_list' .. 'int gov_attr_set::usage_count') offsets changed (by +256 bits)
  2 impacted interfaces

'struct gpio_device at gpiolib.h:46:1' changed (indirectly):
  type size changed from 8000 to 8576 (in bits)
  there are data member changes:
    type 'struct device' of 'gpio_device::dev' changed, as reported earlier
    type 'struct cdev' of 'gpio_device::chrdev' changed, as reported earlier
    and offset changed from 6016 to 6336 (in bits) (by +320 bits)
    11 ('device* gpio_device::mockdev' .. 'list_head gpio_device::pin_ranges') offsets changed (by +576 bits)
  20 impacted interfaces

'struct gro_cell at gro_cells.c:7:1' changed (indirectly):
  type size changed from 3264 to 3584 (in bits)
  there are data member changes:
    type 'struct napi_struct' of 'gro_cell::napi' changed, as reported earlier
  3 impacted interfaces

'struct hci_dev at hci_core.h:283:1' changed (indirectly):
  type size changed from 35968 to 37312 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'hci_dev::power_off' changed, as reported earlier
    2 ('work_struct hci_dev::error_reset' .. '__u16 hci_dev::discov_timeout') offsets changed (by +128 bits)
    type 'struct delayed_work' of 'hci_dev::discov_off' changed, as reported earlier
    and offset changed from 14720 to 14848 (in bits) (by +128 bits)
    type 'struct delayed_work' of 'hci_dev::service_cache' changed, as reported earlier
    and offset changed from 15424 to 15680 (in bits) (by +256 bits)
    type 'struct delayed_work' of 'hci_dev::cmd_timer' changed, as reported earlier
    and offset changed from 16128 to 16512 (in bits) (by +384 bits)
    8 ('work_struct hci_dev::rx_work' .. 'work_struct hci_dev::discoverable_update') offsets changed (by +512 bits)
    type 'struct delayed_work' of 'hci_dev::le_scan_disable' changed, as reported earlier
    and offset changed from 18880 to 19392 (in bits) (by +512 bits)
    type 'struct delayed_work' of 'hci_dev::le_scan_restart' changed, as reported earlier
    and offset changed from 19584 to 20224 (in bits) (by +640 bits)
    47 ('sk_buff_head hci_dev::rx_q' .. 'dentry* hci_dev::debugfs') offsets changed (by +768 bits)
    type 'struct device' of 'hci_dev::dev' changed, as reported earlier
    and offset changed from 26432 to 27200 (in bits) (by +768 bits)
    11 ('rfkill* hci_dev::rfkill' .. '__u16 hci_dev::adv_instance_timeout') offsets changed (by +1088 bits)
    type 'struct delayed_work' of 'hci_dev::adv_instance_expire' changed, as reported earlier
    and offset changed from 33280 to 34368 (in bits) (by +1088 bits)
    4 ('idr hci_dev::adv_monitors_idr' .. '__u32 hci_dev::rpa_timeout') offsets changed (by +1216 bits)
    type 'struct delayed_work' of 'hci_dev::rpa_expired' changed, as reported earlier
    and offset changed from 34368 to 35584 (in bits) (by +1216 bits)
    14 ('bdaddr_t hci_dev::rpa' .. 'typedef bool (hci_dev*)* hci_dev::prevent_wake') offsets changed (by +1344 bits)
  5 impacted interfaces

'struct hd_struct at genhd.h:53:1' changed:
  details were reported earlier

'struct header_ops at netdevice.h:270:1' changed:
  type size changed from 384 to 512 (in bits)
  2 data member insertions:
    'u64 header_ops::android_kabi_reserved1', at offset 384 (in bits) at netdevice.h:283:1
    'u64 header_ops::android_kabi_reserved2', at offset 448 (in bits) at netdevice.h:284:1
  286 impacted interfaces

'struct hrtimer at hrtimer.h:118:1' changed:
  details were reported earlier

'struct i2c_adapter at i2c.h:695:1' changed (indirectly):
  details were reported earlier

'struct i2c_client at i2c.h:314:1' changed (indirectly):
  type size changed from 6400 to 6720 (in bits)
  there are data member changes:
    type 'struct device' of 'i2c_client::dev' changed, as reported earlier
    3 ('int i2c_client::init_irq' .. 'list_head i2c_client::detected') offsets changed (by +320 bits)
  13 impacted interfaces

'struct ifmcaddr6 at if_inet6.h:114:1' changed (indirectly):
  type size changed from 1152 to 1280 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'ifmcaddr6::mca_timer' changed, as reported earlier
    6 ('unsigned int ifmcaddr6::mca_flags' .. 'unsigned long int ifmcaddr6::mca_tstamp') offsets changed (by +128 bits)
  286 impacted interfaces

'struct iio_dev at iio.h:521:1' changed (indirectly):
  type size changed from 9216 to 9792 (in bits)
  there are data member changes:
    type 'struct device' of 'iio_dev::dev' changed, as reported earlier
    20 ('iio_buffer* iio_dev::buffer' .. 'const iio_buffer_setup_ops* iio_dev::setup_ops') offsets changed (by +320 bits)
    type 'struct cdev' of 'iio_dev::chrdev' changed, as reported earlier
    and offset changed from 7744 to 8064 (in bits) (by +320 bits)
    4 ('const attribute_group* iio_dev::groups[7]' .. 'void* iio_dev::priv') offsets changed (by +576 bits)
  5 impacted interfaces

'struct inet6_dev at if_inet6.h:163:1' changed (indirectly):
  type size changed from 4864 to 5632 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'inet6_dev::mc_gq_timer' changed, as reported earlier
    type 'struct timer_list' of 'inet6_dev::mc_ifc_timer' changed, as reported earlier
    and offset changed from 960 to 1088 (in bits) (by +128 bits)
    type 'struct timer_list' of 'inet6_dev::mc_dad_timer' changed, as reported earlier
    and offset changed from 1280 to 1536 (in bits) (by +256 bits)
    9 ('ifacaddr6* inet6_dev::ac_list' .. 'neigh_parms* inet6_dev::nd_parms') offsets changed (by +384 bits)
    type 'struct ipv6_devconf' of 'inet6_dev::cnf' changed:
      type size changed from 1856 to 2112 (in bits)
      4 data member insertions:
        'u64 ipv6_devconf::android_kabi_reserved1', at offset 1856 (in bits) at ipv6.h:83:1
        'u64 ipv6_devconf::android_kabi_reserved2', at offset 1920 (in bits) at ipv6.h:84:1
        'u64 ipv6_devconf::android_kabi_reserved3', at offset 1984 (in bits) at ipv6.h:85:1
        'u64 ipv6_devconf::android_kabi_reserved4', at offset 2048 (in bits) at ipv6.h:86:1
      286 impacted interfaces
    and offset changed from 2176 to 2560 (in bits) (by +384 bits)
    'ipv6_devstat inet6_dev::stats' offset changed (by +640 bits)
    type 'struct timer_list' of 'inet6_dev::rs_timer' changed, as reported earlier
    and offset changed from 4288 to 4928 (in bits) (by +640 bits)
    4 ('__s32 inet6_dev::rs_interval' .. 'callback_head inet6_dev::rcu') offsets changed (by +768 bits)
  286 impacted interfaces

'struct inet_frag_queue at inet_frag.h:77:1' changed (indirectly):
  type size changed from 1408 to 1536 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'inet_frag_queue::timer' changed, as reported earlier
    12 ('spinlock_t inet_frag_queue::lock' .. 'callback_head inet_frag_queue::rcu') offsets changed (by +128 bits)
  286 impacted interfaces

'struct input_dev at input.h:131:1' changed (indirectly):
  type size changed from 10944 to 11392 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'input_dev::timer' changed, as reported earlier
    16 ('int input_dev::rep[2]' .. 'bool input_dev::going_away') offsets changed (by +128 bits)
    type 'struct device' of 'input_dev::dev' changed, as reported earlier
    and offset changed from 4352 to 4480 (in bits) (by +128 bits)
    7 ('list_head input_dev::h_list' .. 'ktime_t input_dev::timestamp[3]') offsets changed (by +448 bits)
  80 impacted interfaces

'struct iommu_group at iommu.c:35:1' changed (indirectly):
  type size changed from 1920 to 2176 (in bits)
  there are data member changes:
    type 'struct kobject' of 'iommu_group::kobj' changed, as reported earlier
    11 ('kobject* iommu_group::devices_kobj' .. 'list_head iommu_group::entry') offsets changed (by +256 bits)
  2620 impacted interfaces

'struct iova_domain at iova.h:68:1' changed (indirectly):
  type size changed from 14976 to 15104 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'iova_domain::fq_timer' changed, as reported earlier
    2 ('atomic_t iova_domain::fq_timer_on' .. 'bool iova_domain::best_fit') offsets changed (by +128 bits)
  2 impacted interfaces

'struct ipv6_devconf at ipv6.h:12:1' changed:
  details were reported earlier

'struct irq_desc at irqdesc.h:55:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct kobject' of 'irq_desc::kobj' changed, as reported earlier
    4 ('mutex irq_desc::request_mutex' .. 'const char* irq_desc::name') offsets changed (by +256 bits)
  353 impacted interfaces

'struct irq_domain at irqdomain.h:162:1' changed:
  type size changed from 1152 to 1408 (in bits)
  4 data member insertions:
    'u64 irq_domain::android_kabi_reserved1', at offset 640 (in bits) at irqdomain.h:182:1
    'u64 irq_domain::android_kabi_reserved2', at offset 704 (in bits) at irqdomain.h:183:1
    'u64 irq_domain::android_kabi_reserved3', at offset 768 (in bits) at irqdomain.h:184:1
    'u64 irq_domain::android_kabi_reserved4', at offset 832 (in bits) at irqdomain.h:185:1
  there are data member changes:
    6 ('irq_hw_number_t irq_domain::hwirq_max' .. 'unsigned int irq_domain::linear_revmap[]') offsets changed (by +256 bits)
  353 impacted interfaces

'struct kernfs_ops at kernfs.h:217:1' changed:
  type size changed from 768 to 896 (in bits)
  2 data member insertions:
    'u64 kernfs_ops::android_kabi_reserved1', at offset 768 (in bits) at kernfs.h:278:1
    'u64 kernfs_ops::android_kabi_reserved2', at offset 832 (in bits) at kernfs.h:279:1
  2620 impacted interfaces

'struct kernfs_syscall_ops at kernfs.h:168:1' changed:
  type size changed from 320 to 576 (in bits)
  4 data member insertions:
    'u64 kernfs_syscall_ops::android_kabi_reserved1', at offset 320 (in bits) at kernfs.h:180:1
    'u64 kernfs_syscall_ops::android_kabi_reserved2', at offset 384 (in bits) at kernfs.h:181:1
    'u64 kernfs_syscall_ops::android_kabi_reserved3', at offset 448 (in bits) at kernfs.h:182:1
    'u64 kernfs_syscall_ops::android_kabi_reserved4', at offset 512 (in bits) at kernfs.h:183:1
  2620 impacted interfaces

'struct kmem_cache at slub_def.h:84:1' changed (indirectly):
  type size changed from 1856 to 2112 (in bits)
  there are data member changes:
    type 'struct kobject' of 'kmem_cache::kobj' changed, as reported earlier
    6 ('unsigned long int kmem_cache::random' .. 'kmem_cache_node* kmem_cache::node[1]') offsets changed (by +256 bits)
  2620 impacted interfaces

'struct kobj_type at kobject.h:138:1' changed:
  type size changed from 448 to 704 (in bits)
  4 data member insertions:
    'u64 kobj_type::android_kabi_reserved1', at offset 448 (in bits) at kobject.h:153:1
    'u64 kobj_type::android_kabi_reserved2', at offset 512 (in bits) at kobject.h:154:1
    'u64 kobj_type::android_kabi_reserved3', at offset 576 (in bits) at kobject.h:155:1
    'u64 kobj_type::android_kabi_reserved4', at offset 640 (in bits) at kobject.h:156:1
  2620 impacted interfaces

'struct kobject at kobject.h:64:1' changed:
  details were reported earlier

'struct kset at kobject.h:192:1' changed:
  type size changed from 768 to 1280 (in bits)
  4 data member insertions:
    'u64 kset::android_kabi_reserved1', at offset 1024 (in bits) at kobject.h:209:1
    'u64 kset::android_kabi_reserved2', at offset 1088 (in bits) at kobject.h:210:1
    'u64 kset::android_kabi_reserved3', at offset 1152 (in bits) at kobject.h:211:1
    'u64 kset::android_kabi_reserved4', at offset 1216 (in bits) at kobject.h:212:1
  there are data member changes:
    type 'struct kobject' of 'kset::kobj' changed, as reported earlier
    'const kset_uevent_ops* kset::uevent_ops' offset changed (by +256 bits)
  2620 impacted interfaces

'struct kthread_delayed_work at kthread.h:109:1' changed (indirectly):
  type size changed from 640 to 768 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'kthread_delayed_work::timer' changed, as reported earlier
  3 impacted interfaces

'struct led_classdev at leds.h:64:1' changed (indirectly):
  type size changed from 2880 to 3008 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'led_classdev::blink_timer' changed, as reported earlier
    12 ('int led_classdev::blink_brightness' .. 'mutex led_classdev::led_access') offsets changed (by +128 bits)
  114 impacted interfaces

'struct led_classdev_flash at led-class-flash.h:65:1' changed (indirectly):
  type size changed from 3520 to 3648 (in bits)
  there are data member changes:
    type 'struct led_classdev' of 'led_classdev_flash::led_cdev' changed, as reported earlier
    4 ('const led_flash_ops* led_classdev_flash::ops' .. 'const attribute_group* led_classdev_flash::sysfs_groups[5]') offsets changed (by +128 bits)
  2 impacted interfaces

'struct mbox_controller at mailbox_controller.h:74:1' changed (indirectly):
  type size changed from 1024 to 1088 (in bits)
  there are data member changes:
    type 'struct hrtimer' of 'mbox_controller::poll_hrt' changed, as reported earlier
    'list_head mbox_controller::node' offset changed (by +64 bits)
  9 impacted interfaces

'struct mdio_device at mdio.h:34:1' changed (indirectly):
  type size changed from 6720 to 7040 (in bits)
  there are data member changes:
    type 'struct device' of 'mdio_device::dev' changed, as reported earlier
    11 ('mii_bus* mdio_device::bus' .. 'unsigned int mdio_device::reset_deassert_delay') offsets changed (by +320 bits)
  10 impacted interfaces

'struct media_devnode at media-devnode.h:75:1' changed (indirectly):
  type size changed from 7168 to 7744 (in bits)
  there are data member changes:
    type 'struct device' of 'media_devnode::dev' changed, as reported earlier
    type 'struct cdev' of 'media_devnode::cdev' changed, as reported earlier
    and offset changed from 6080 to 6400 (in bits) (by +320 bits)
    4 ('device* media_devnode::parent' .. 'void (media_devnode*)* media_devnode::release') offsets changed (by +576 bits)
  45 impacted interfaces

'struct mii_bus at phy.h:301:1' changed (indirectly):
  type size changed from 21056 to 21376 (in bits)
  there are data member changes:
    type 'struct device' of 'mii_bus::dev' changed, as reported earlier
    10 ('mdio_device* mii_bus::mdio_map[32]' .. 'phy_package_shared* mii_bus::shared[32]') offsets changed (by +320 bits)
  10 impacted interfaces

'struct mipi_dsi_device at drm_mipi_dsi.h:188:1' changed (indirectly):
  type size changed from 6464 to 6784 (in bits)
  there are data member changes:
    type 'struct device' of 'mipi_dsi_device::dev' changed, as reported earlier
    7 ('char mipi_dsi_device::name[20]' .. 'unsigned long int mipi_dsi_device::lp_rate') offsets changed (by +320 bits)
  11 impacted interfaces

'struct mmc_card at card.h:244:1' changed (indirectly):
  type size changed from 13056 to 13376 (in bits)
  there are data member changes:
    type 'struct device' of 'mmc_card::dev' changed, as reported earlier
    42 ('u32 mmc_card::ocr' .. 'workqueue_struct* mmc_card::complete_wq') offsets changed (by +320 bits)
  81 impacted interfaces

'struct mmc_host at host.h:276:1' changed (indirectly):
  type size changed from 12800 to 13312 (in bits)
  there are data member changes:
    type 'struct device' of 'mmc_host::class_dev' changed, as reported earlier
    33 ('int mmc_host::index' .. 'unsigned int mmc_host::retune_period') offsets changed (by +320 bits)
    type 'struct timer_list' of 'mmc_host::retune_timer' changed, as reported earlier
    and offset changed from 7552 to 7872 (in bits) (by +320 bits)
    6 ('bool mmc_host::trigger_card_event' .. 'mmc_ctx mmc_host::default_ctx') offsets changed (by +448 bits)
    type 'struct delayed_work' of 'mmc_host::detect' changed, as reported earlier
    and offset changed from 8384 to 8832 (in bits) (by +448 bits)
    6 ('int mmc_host::detect_change' .. 'task_struct* mmc_host::sdio_irq_thread') offsets changed (by +576 bits)
    type 'struct delayed_work' of 'mmc_host::sdio_irq_work' changed, as reported earlier
    and offset changed from 9472 to 10048 (in bits) (by +576 bits)
    19 ('bool mmc_host::sdio_irq_pending' .. 'bool mmc_host::hsq_enabled') offsets changed (by +704 bits)
    'unsigned long int mmc_host::private[]' offset changed (by +512 bits)
  81 impacted interfaces

'struct mmc_request at core.h:144:1' changed:
  type size hasn't changed
  1 data member deletion:
    'u32 mmc_request::data_unit_num', at offset 1088 (in bits) at core.h:169:1
  there are data member changes:
    type 'typedef bool' of 'mmc_request::crypto_enabled' changed:
      entity changed from 'typedef bool' to 'const bio_crypt_ctx*'
      type size changed from 8 to 64 (in bits)
    and name of 'mmc_request::crypto_enabled' changed to 'mmc_request::crypto_ctx' at core.h:167:1
    'int mmc_request::crypto_key_slot' offset changed (by +32 bits)
  81 impacted interfaces

'struct module at module.h:366:1' changed:
  type size hasn't changed
  1 data member deletion:
    'cfi_check_fn module::cfi_check', at offset 1920 (in bits) at module.h:389:1
  there are data member changes:
    type 'struct module_kobject' of 'module::mkobj' changed:
      type size changed from 768 to 1024 (in bits)
      there are data member changes:
        type 'struct kobject' of 'module_kobject::kobj' changed, as reported earlier
        4 ('module* module_kobject::mod' .. 'completion* module_kobject::kobj_completion') offsets changed (by +256 bits)
      2620 impacted interfaces
    8 ('module_attribute* module::modinfo_attrs' .. 'unsigned int module::num_syms') offsets changed (by +256 bits)
    15 ('mutex module::param_lock' .. 'int ()* module::init') offsets changed (by +192 bits)
  2620 impacted interfaces

'struct module_kobject at module.h:47:1' changed (indirectly):
  details were reported earlier

'struct napi_struct at netdevice.h:324:1' changed:
  details were reported earlier

'struct nd_region at nd.h:138:1' changed (indirectly):
  type size changed from 8064 to 8384 (in bits)
  there are data member changes:
    type 'struct device' of 'nd_region::dev' changed, as reported earlier
    25 ('ida nd_region::ns_ida' .. 'nd_mapping nd_region::mapping[]') offsets changed (by +320 bits)
  one impacted interface

'struct neigh_table at neighbour.h:194:1' changed (indirectly):
  type size changed from 3904 to 4160 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'neigh_table::gc_work' changed, as reported earlier
    type 'struct timer_list' of 'neigh_table::proxy_timer' changed, as reported earlier
    and offset changed from 2880 to 3008 (in bits) (by +128 bits)
    9 ('sk_buff_head neigh_table::proxy_queue' .. 'pneigh_entry** neigh_table::phash_buckets') offsets changed (by +256 bits)
  286 impacted interfaces

'struct neighbour at neighbour.h:134:1' changed (indirectly):
  type size changed from 2816 to 2944 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'neighbour::timer' changed, as reported earlier
    16 ('unsigned long int neighbour::used' .. 'u8 neighbour::primary_key[]') offsets changed (by +128 bits)
  286 impacted interfaces

'struct net at net_namespace.h:56:1' changed (indirectly):
  details were reported earlier

'struct net_device at netdevice.h:1858:1' changed:
  type size changed from 17920 to 18944 (in bits)
  8 data member insertions:
    'u64 net_device::android_kabi_reserved1', at offset 18112 (in bits) at netdevice.h:2201:1
    'u64 net_device::android_kabi_reserved2', at offset 18176 (in bits) at netdevice.h:2202:1
    'u64 net_device::android_kabi_reserved3', at offset 18240 (in bits) at netdevice.h:2203:1
    'u64 net_device::android_kabi_reserved4', at offset 18304 (in bits) at netdevice.h:2204:1
    'u64 net_device::android_kabi_reserved5', at offset 18368 (in bits) at netdevice.h:2205:1
    'u64 net_device::android_kabi_reserved6', at offset 18432 (in bits) at netdevice.h:2206:1
    'u64 net_device::android_kabi_reserved7', at offset 18496 (in bits) at netdevice.h:2207:1
    'u64 net_device::android_kabi_reserved8', at offset 18560 (in bits) at netdevice.h:2208:1
  there are data member changes:
    type 'struct timer_list' of 'net_device::watchdog_timer' changed, as reported earlier
    9 ('int net_device::watchdog_timeo' .. 'void (net_device*)* net_device::priv_destructor') offsets changed (by +128 bits)
    type 'typedef possible_net_t' of 'net_device::nd_net' changed:
      underlying type 'struct {net* net;}' at net_namespace.h:314:1 changed:
    and offset changed from 9536 to 9664 (in bits) (by +128 bits)
    while looking at anonymous data member 'union {void* ml_priv; pcpu_lstats* lstats; pcpu_sw_netstats* tstats; pcpu_dstats* dstats;}':
    the internal name of that anonymous data member changed from:
     __anonymous_union__26
    to:
     __anonymous_union__27
     This is usually due to an anonymous member type being added or removed from the containing type
    and offset changed from 9600 to 9728 (in bits) (by +128 bits)
    type 'struct device' of 'net_device::dev' changed, as reported earlier
    and offset changed from 9664 to 9792 (in bits) (by +128 bits)
    17 ('const attribute_group* net_device::sysfs_groups[4]' .. 'bpf_xdp_entity net_device::xdp_state[3]') offsets changed (by +448 bits)
  286 impacted interfaces

'struct net_device_ops at netdevice.h:1283:1' changed:
  type size changed from 4480 to 4992 (in bits)
  8 data member insertions:
    'u64 net_device_ops::android_kabi_reserved1', at offset 4480 (in bits) at netdevice.h:1515:1
    'u64 net_device_ops::android_kabi_reserved2', at offset 4544 (in bits) at netdevice.h:1516:1
    'u64 net_device_ops::android_kabi_reserved3', at offset 4608 (in bits) at netdevice.h:1517:1
    'u64 net_device_ops::android_kabi_reserved4', at offset 4672 (in bits) at netdevice.h:1518:1
    'u64 net_device_ops::android_kabi_reserved5', at offset 4736 (in bits) at netdevice.h:1519:1
    'u64 net_device_ops::android_kabi_reserved6', at offset 4800 (in bits) at netdevice.h:1520:1
    'u64 net_device_ops::android_kabi_reserved7', at offset 4864 (in bits) at netdevice.h:1521:1
    'u64 net_device_ops::android_kabi_reserved8', at offset 4928 (in bits) at netdevice.h:1522:1
  286 impacted interfaces

'struct netdev_queue at netdevice.h:584:1' changed:
  type size changed from 2560 to 3584 (in bits)
  4 data member insertions:
    'u64 netdev_queue::android_kabi_reserved1', at offset 3072 (in bits) at netdevice.h:634:1
    'u64 netdev_queue::android_kabi_reserved2', at offset 3136 (in bits) at netdevice.h:635:1
    'u64 netdev_queue::android_kabi_reserved3', at offset 3200 (in bits) at netdevice.h:636:1
    'u64 netdev_queue::android_kabi_reserved4', at offset 3264 (in bits) at netdevice.h:637:1
  there are data member changes:
    type 'struct kobject' of 'netdev_queue::kobj' changed, as reported earlier
    4 ('unsigned long int netdev_queue::tx_maxrate' .. 'xsk_buff_pool* netdev_queue::pool') offsets changed (by +256 bits)
    5 ('spinlock_t netdev_queue::_xmit_lock' .. 'dql netdev_queue::dql') offsets changed (by +512 bits)
  286 impacted interfaces

'struct netdev_rx_queue at netdevice.h:736:1' changed:
  type size hasn't changed
  4 data member insertions:
    'u64 netdev_rx_queue::android_kabi_reserved1', at offset 1600 (in bits) at netdevice.h:762:1
    'u64 netdev_rx_queue::android_kabi_reserved2', at offset 1664 (in bits) at netdevice.h:763:1
    'u64 netdev_rx_queue::android_kabi_reserved3', at offset 1728 (in bits) at netdevice.h:764:1
    'u64 netdev_rx_queue::android_kabi_reserved4', at offset 1792 (in bits) at netdevice.h:765:1
  there are data member changes:
    type 'struct kobject' of 'netdev_rx_queue::kobj' changed, as reported earlier
    'net_device* netdev_rx_queue::dev' offset changed (by +256 bits)
  286 impacted interfaces

'struct netns_ct at conntrack.h:95:1' changed (indirectly):
  details were reported earlier

'struct netns_ipv6 at ipv6.h:56:1' changed (indirectly):
  details were reported earlier

'struct nf_conn at nf_conntrack.h:58:1' changed:
  type size changed from 2048 to 2176 (in bits)
  2 data member insertions:
    'u64 nf_conn::android_kabi_reserved1', at offset 2048 (in bits) at nf_conntrack.h:110:1
    'u64 nf_conn::android_kabi_reserved2', at offset 2112 (in bits) at nf_conntrack.h:111:1
  286 impacted interfaces

'struct nf_conntrack_expect at nf_conntrack_expect.h:18:1' changed (indirectly):
  type size changed from 1728 to 1856 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'nf_conntrack_expect::timeout' changed, as reported earlier
    7 ('refcount_t nf_conntrack_expect::use' .. 'callback_head nf_conntrack_expect::rcu') offsets changed (by +128 bits)
  286 impacted interfaces

'struct nvdimm at nd-core.h:31:1' changed (indirectly):
  type size changed from 7488 to 7936 (in bits)
  there are data member changes:
    type 'struct device' of 'nvdimm::dev' changed, as reported earlier
    6 ('atomic_t nvdimm::busy' .. 'struct {const nvdimm_security_ops* ops; unsigned long int flags; unsigned long int ext_flags; unsigned int overwrite_tmo; kernfs_node* overwrite_state;} nvdimm::sec') offsets changed (by +320 bits)
    type 'struct delayed_work' of 'nvdimm::dwork' changed, as reported earlier
    and offset changed from 6720 to 7040 (in bits) (by +320 bits)
    'const nvdimm_fw_ops* nvdimm::fw_ops' offset changed (by +448 bits)
  3 impacted interfaces

'struct nvdimm_bus at nd-core.h:19:1' changed (indirectly):
  type size changed from 7040 to 7360 (in bits)
  there are data member changes:
    type 'struct device' of 'nvdimm_bus::dev' changed, as reported earlier
    6 ('int nvdimm_bus::id' .. 'badrange nvdimm_bus::badrange') offsets changed (by +320 bits)
  3 impacted interfaces

'struct nvdimm_drvdata at nd.h:28:1' changed (indirectly):
  type size changed from 896 to 1152 (in bits)
  there are data member changes:
    type 'struct resource' of 'nvdimm_drvdata::dpa' changed, as reported earlier
    'kref nvdimm_drvdata::kref' offset changed (by +256 bits)
  one impacted interface

'struct nvmem_device at core.c:22:1' changed (indirectly):
  type size changed from 7232 to 7552 (in bits)
  there are data member changes:
    type 'struct device' of 'nvmem_device::dev' changed, as reported earlier
    16 ('int nvmem_device::stride' .. 'void* nvmem_device::priv') offsets changed (by +320 bits)
  9 impacted interfaces

'struct pci_bus at pci.h:605:1' changed:
  type size changed from 8512 to 9344 (in bits)
  4 data member insertions:
    'u64 pci_bus::android_kabi_reserved1', at offset 9088 (in bits) at pci.h:646:1
    'u64 pci_bus::android_kabi_reserved2', at offset 9152 (in bits) at pci.h:647:1
    'u64 pci_bus::android_kabi_reserved3', at offset 9216 (in bits) at pci.h:648:1
    'u64 pci_bus::android_kabi_reserved4', at offset 9280 (in bits) at pci.h:649:1
  there are data member changes:
    type 'struct resource' of 'pci_bus::busn_res' changed, as reported earlier
    13 ('pci_ops* pci_bus::ops' .. 'device* pci_bus::bridge') offsets changed (by +256 bits)
    type 'struct device' of 'pci_bus::dev' changed, as reported earlier
    and offset changed from 2368 to 2624 (in bits) (by +256 bits)
    2 ('bin_attribute* pci_bus::legacy_io' .. 'bin_attribute* pci_bus::legacy_mem') offsets changed (by +576 bits)
  65 impacted interfaces

'struct pci_dev at pci.h:309:1' changed:
  type size changed from 15744 to 19136 (in bits)
  4 data member insertions:
    'u64 pci_dev::android_kabi_reserved1', at offset 18880 (in bits) at pci.h:505:1
    'u64 pci_dev::android_kabi_reserved2', at offset 18944 (in bits) at pci.h:506:1
    'u64 pci_dev::android_kabi_reserved3', at offset 19008 (in bits) at pci.h:507:1
    'u64 pci_dev::android_kabi_reserved4', at offset 19072 (in bits) at pci.h:508:1
  there are data member changes:
    type 'struct device' of 'pci_dev::dev' changed, as reported earlier
    2 ('int pci_dev::cfg_size' .. 'unsigned int pci_dev::irq') offsets changed (by +320 bits)
    'resource pci_dev::resource[11]' offset changed (by +2816 bits)
    17 ('bool pci_dev::match_driver' .. 'unsigned long int pci_dev::priv_flags') offsets changed (by +3136 bits)
  65 impacted interfaces

'struct pci_driver at pci.h:858:1' changed:
  type size changed from 2112 to 2368 (in bits)
  4 data member insertions:
    'u64 pci_driver::android_kabi_reserved1', at offset 2112 (in bits) at pci.h:884:1
    'u64 pci_driver::android_kabi_reserved2', at offset 2176 (in bits) at pci.h:885:1
    'u64 pci_driver::android_kabi_reserved3', at offset 2240 (in bits) at pci.h:886:1
    'u64 pci_driver::android_kabi_reserved4', at offset 2304 (in bits) at pci.h:887:1
  65 impacted interfaces

'struct pci_host_bridge at pci.h:524:1' changed (indirectly):
  type size changed from 7168 to 7680 (in bits)
  there are data member changes:
    type 'struct device' of 'pci_host_bridge::dev' changed, as reported earlier
    13 ('pci_bus* pci_host_bridge::bus' .. 'typedef resource_size_t (pci_dev*, const resource*, typedef resource_size_t, typedef resource_size_t, typedef resource_size_t)* pci_host_bridge::align_resource') offsets changed (by +320 bits)
    'unsigned long int pci_host_bridge::private[]' offset changed (by +512 bits)
  2 impacted interfaces

'struct pci_slot at pci.h:69:1' changed (indirectly):
  type size changed from 832 to 1088 (in bits)
  there are data member changes:
    type 'struct kobject' of 'pci_slot::kobj' changed, as reported earlier
  65 impacted interfaces

'struct perf_cpu_context at perf_event.h:859:1' changed (indirectly):
  type size changed from 3136 to 3200 (in bits)
  there are data member changes:
    type 'struct hrtimer' of 'perf_cpu_context::hrtimer' changed, as reported earlier
    7 ('ktime_t perf_cpu_context::hrtimer_interval' .. 'perf_event* perf_cpu_context::heap_default[2]') offsets changed (by +64 bits)
  20 impacted interfaces

'struct phy at phy.h:138:1' changed (indirectly):
  type size changed from 6592 to 6912 (in bits)
  there are data member changes:
    type 'struct device' of 'phy::dev' changed, as reported earlier
    7 ('int phy::id' .. 'regulator* phy::pwr') offsets changed (by +320 bits)
  33 impacted interfaces

'struct phy_device at phy.h:539:1' changed (indirectly):
  type size changed from 10560 to 11008 (in bits)
  there are data member changes:
    type 'struct mdio_device' of 'phy_device::mdio' changed, as reported earlier
    24 ('phy_driver* phy_device::drv' .. 'nlattr* phy_device::nest') offsets changed (by +320 bits)
    type 'struct delayed_work' of 'phy_device::state_queue' changed, as reported earlier
    and offset changed from 9088 to 9408 (in bits) (by +320 bits)
    10 ('mutex phy_device::lock' .. 'void (net_device*)* phy_device::adjust_link') offsets changed (by +448 bits)
  6 impacted interfaces

'struct platform_device at platform_device.h:22:1' changed (indirectly):
  type size changed from 6592 to 6912 (in bits)
  there are data member changes:
    type 'struct device' of 'platform_device::dev' changed, as reported earlier
    8 ('u64 platform_device::platform_dma_mask' .. 'pdev_archdata platform_device::archdata') offsets changed (by +320 bits)
  33 impacted interfaces

'struct power_supply at power_supply.h:279:1' changed (indirectly):
  type size changed from 8256 to 8704 (in bits)
  there are data member changes:
    type 'struct device' of 'power_supply::dev' changed, as reported earlier
    'work_struct power_supply::changed_work' offset changed (by +320 bits)
    type 'struct delayed_work' of 'power_supply::deferred_register_work' changed, as reported earlier
    and offset changed from 6656 to 6976 (in bits) (by +320 bits)
    17 ('spinlock_t power_supply::changed_lock' .. 'char* power_supply::charging_blink_full_solid_trig_name') offsets changed (by +448 bits)
  16 impacted interfaces

'struct proto_ops at net.h:139:1' changed:
  type size changed from 1792 to 2048 (in bits)
  4 data member insertions:
    'u64 proto_ops::android_kabi_reserved1', at offset 1792 (in bits) at net.h:208:1
    'u64 proto_ops::android_kabi_reserved2', at offset 1856 (in bits) at net.h:209:1
    'u64 proto_ops::android_kabi_reserved3', at offset 1920 (in bits) at net.h:210:1
    'u64 proto_ops::android_kabi_reserved4', at offset 1984 (in bits) at net.h:211:1
  286 impacted interfaces

'struct psi_group at psi_types.h:136:1' changed (indirectly):
  details were reported earlier

'struct quota_format_ops at quota.h:310:1' changed:
  type size changed from 512 to 640 (in bits)
  2 data member insertions:
    'u64 quota_format_ops::android_kabi_reserved1', at offset 512 (in bits) at quota.h:320:1
    'u64 quota_format_ops::android_kabi_reserved2', at offset 576 (in bits) at quota.h:321:1
  2620 impacted interfaces

'struct quotactl_ops at quota.h:428:1' changed:
  type size changed from 704 to 832 (in bits)
  2 data member insertions:
    'u64 quotactl_ops::android_kabi_reserved1', at offset 704 (in bits) at quota.h:448:1
    'u64 quotactl_ops::android_kabi_reserved2', at offset 768 (in bits) at quota.h:449:1
  2620 impacted interfaces

'struct rc_dev at rc-core.h:162:1' changed (indirectly):
  type size changed from 17152 to 18304 (in bits)
  there are data member changes:
    type 'struct device' of 'rc_dev::dev' changed, as reported earlier
    27 ('bool rc_dev::managed_alloc' .. 'unsigned long int rc_dev::keyup_jiffies') offsets changed (by +320 bits)
    type 'struct timer_list' of 'rc_dev::timer_keyup' changed, as reported earlier
    and offset changed from 8128 to 8448 (in bits) (by +320 bits)
    type 'struct timer_list' of 'rc_dev::timer_repeat' changed, as reported earlier
    and offset changed from 8448 to 8896 (in bits) (by +448 bits)
    9 ('u32 rc_dev::last_keycode' .. 'u32 rc_dev::tx_resolution') offsets changed (by +576 bits)
    type 'struct device' of 'rc_dev::lirc_dev' changed, as reported earlier
    and offset changed from 9088 to 9664 (in bits) (by +576 bits)
    type 'struct cdev' of 'rc_dev::lirc_cdev' changed, as reported earlier
    and offset changed from 15040 to 15936 (in bits) (by +896 bits)
    20 ('ktime_t rc_dev::gap_start' .. 'int (rc_dev*, unsigned int)* rc_dev::s_timeout') offsets changed (by +1152 bits)
  10 impacted interfaces

'struct regulator_dev at driver.h:437:1' changed (indirectly):
  type size changed from 8832 to 9280 (in bits)
  there are data member changes:
    type 'struct device' of 'regulator_dev::dev' changed, as reported earlier
    4 ('regulation_constraints* regulator_dev::constraints' .. 'regmap* regulator_dev::regmap') offsets changed (by +320 bits)
    type 'struct delayed_work' of 'regulator_dev::disable_work' changed, as reported earlier
    and offset changed from 7808 to 8128 (in bits) (by +320 bits)
    4 ('void* regulator_dev::reg_data' .. 'unsigned long int regulator_dev::last_off_jiffy') offsets changed (by +448 bits)
  32 impacted interfaces

'struct request_queue at blkdev.h:396:1' changed (indirectly):
  type size changed from 14592 to 15104 (in bits)
  there are data member changes:
    type 'struct kobject' of 'request_queue::kobj' changed, as reported earlier
    12 ('kobject* request_queue::mq_kobj' .. 'blk_rq_stat request_queue::poll_stat[16]') offsets changed (by +256 bits)
    type 'struct timer_list' of 'request_queue::timeout' changed, as reported earlier
    and offset changed from 7168 to 7424 (in bits) (by +256 bits)
    15 ('work_struct request_queue::timeout_work' .. 'spinlock_t request_queue::requeue_lock') offsets changed (by +384 bits)
    type 'struct delayed_work' of 'request_queue::requeue_work' changed, as reported earlier
    and offset changed from 9728 to 10112 (in bits) (by +384 bits)
    18 ('mutex request_queue::sysfs_lock' .. 'u64 request_queue::write_hints[5]') offsets changed (by +512 bits)
  2620 impacted interfaces

'struct request_sock at request_sock.h:53:1' changed (indirectly):
  type size changed from 1792 to 1920 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'request_sock::rsk_timer' changed, as reported earlier
    5 ('const request_sock_ops* request_sock::rsk_ops' .. 'u32 request_sock::peer_secid') offsets changed (by +128 bits)
  286 impacted interfaces

'struct resource at ioport.h:20:1' changed:
  details were reported earlier

'struct rfkill at core.c:37:1' changed (indirectly):
  type size changed from 8320 to 8768 (in bits)
  there are data member changes:
    type 'struct device' of 'rfkill::dev' changed, as reported earlier
    'list_head rfkill::node' offset changed (by +320 bits)
    type 'struct delayed_work' of 'rfkill::poll_work' changed, as reported earlier
    and offset changed from 7104 to 7424 (in bits) (by +320 bits)
    3 ('work_struct rfkill::uevent_work' .. 'char rfkill::name[]') offsets changed (by +448 bits)
  10 impacted interfaces

'struct rpmsg_device at rpmsg.h:51:1' changed (indirectly):
  type size changed from 6528 to 6848 (in bits)
  there are data member changes:
    type 'struct device' of 'rpmsg_device::dev' changed, as reported earlier
    7 ('rpmsg_device_id rpmsg_device::id' .. 'const rpmsg_device_ops* rpmsg_device::ops') offsets changed (by +320 bits)
  8 impacted interfaces

'struct rproc at remoteproc.h:518:1' changed (indirectly):
  type size changed from 9600 to 10176 (in bits)
  there are data member changes:
    type 'struct device' of 'rproc::dev' changed, as reported earlier
    28 ('atomic_t rproc::power' .. 'u16 rproc::elf_machine') offsets changed (by +320 bits)
    type 'struct cdev' of 'rproc::cdev' changed, as reported earlier
    and offset changed from 8704 to 9024 (in bits) (by +320 bits)
    'bool rproc::cdev_put_on_release' offset changed (by +576 bits)
  16 impacted interfaces

'struct rq at sched.h:897:1' changed (indirectly):
  details were reported earlier

'struct rtc_device at rtc.h:84:1' changed (indirectly):
  type size changed from 10304 to 10944 (in bits)
  there are data member changes:
    type 'struct device' of 'rtc_device::dev' changed, as reported earlier
    4 ('module* rtc_device::owner' .. 'mutex rtc_device::ops_lock') offsets changed (by +320 bits)
    type 'struct cdev' of 'rtc_device::char_dev' changed, as reported earlier
    and offset changed from 6400 to 6720 (in bits) (by +320 bits)
    10 ('unsigned long int rtc_device::flags' .. 'rtc_timer rtc_device::uie_rtctimer') offsets changed (by +576 bits)
    type 'struct hrtimer' of 'rtc_device::pie_timer' changed, as reported earlier
    and offset changed from 8896 to 9472 (in bits) (by +576 bits)
    12 ('int rtc_device::pie_enabled' .. 'bool rtc_device::set_start_time') offsets changed (by +640 bits)
  4 impacted interfaces

'struct sched_dl_entity at sched.h:508:1' changed (indirectly):
  details were reported earlier

'struct scsi_cmnd at scsi_cmnd.h:68:1' changed (indirectly):
  type size changed from 3136 to 3264 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'scsi_cmnd::abort_work' changed, as reported earlier
    25 ('callback_head scsi_cmnd::rcu' .. 'unsigned int scsi_cmnd::extra_len') offsets changed (by +128 bits)
  29 impacted interfaces

'struct scsi_device at scsi_device.h:101:1' changed (indirectly):
  type size changed from 16128 to 16768 (in bits)
  there are data member changes:
    type 'struct device' of 'scsi_device::sdev_gendev' changed, as reported earlier
    type 'struct device' of 'scsi_device::sdev_dev' changed, as reported earlier
    and offset changed from 8960 to 9280 (in bits) (by +320 bits)
    11 ('execute_work scsi_device::ew' .. 'unsigned long int scsi_device::sdev_data[]') offsets changed (by +640 bits)
  29 impacted interfaces

'struct scsi_target at scsi_device.h:289:1' changed (indirectly):
  type size changed from 6656 to 6976 (in bits)
  there are data member changes:
    type 'struct device' of 'scsi_target::dev' changed, as reported earlier
    11 ('kref scsi_target::reap_ref' .. 'unsigned long int scsi_target::starget_data[]') offsets changed (by +320 bits)
  29 impacted interfaces

'struct sdhci_host at sdhci.h:361:1' changed (indirectly):
  type size changed from 9216 to 9728 (in bits)
  there are data member changes:
    type 'struct led_classdev' of 'sdhci_host::led' changed, as reported earlier
    35 ('char sdhci_host::led_name[32]' .. 'work_struct sdhci_host::complete_work') offsets changed (by +128 bits)
    type 'struct timer_list' of 'sdhci_host::timer' changed, as reported earlier
    and offset changed from 7424 to 7552 (in bits) (by +128 bits)
    type 'struct timer_list' of 'sdhci_host::data_timer' changed, as reported earlier
    and offset changed from 7744 to 8000 (in bits) (by +256 bits)
    24 ('u32 sdhci_host::caps' .. 'u64 sdhci_host::data_timeout') offsets changed (by +384 bits)
    'unsigned long int sdhci_host::private[]' offset changed (by +512 bits)
  11 impacted interfaces

'struct sdio_func at sdio_func.h:34:1' changed (indirectly):
  type size changed from 6592 to 6912 (in bits)
  there are data member changes:
    type 'struct device' of 'sdio_func::dev' changed, as reported earlier
    15 ('sdio_irq_handler_t* sdio_func::irq_handler' .. 'sdio_func_tuple* sdio_func::tuples') offsets changed (by +320 bits)
  15 impacted interfaces

'struct serdev_controller at serdev.h:103:1' changed (indirectly):
  type size changed from 6144 to 6464 (in bits)
  there are data member changes:
    type 'struct device' of 'serdev_controller::dev' changed, as reported earlier
    3 ('unsigned int serdev_controller::nr' .. 'const serdev_controller_ops* serdev_controller::ops') offsets changed (by +320 bits)
  7 impacted interfaces

'struct serdev_device at serdev.h:41:1' changed (indirectly):
  type size changed from 6656 to 6976 (in bits)
  there are data member changes:
    type 'struct device' of 'serdev_device::dev' changed, as reported earlier
    5 ('int serdev_device::nr' .. 'mutex serdev_device::write_lock') offsets changed (by +320 bits)
  7 impacted interfaces

'struct serio at serio.h:20:1' changed (indirectly):
  type size changed from 8896 to 9216 (in bits)
  there are data member changes:
    type 'struct device' of 'serio::dev' changed, as reported earlier
    2 ('list_head serio::node' .. 'mutex* serio::ps2_cmd_mutex') offsets changed (by +320 bits)
  20 impacted interfaces

'struct sk_buff at skbuff.h:713:1' changed:
  type size changed from 1792 to 1920 (in bits)
  2 data member insertions:
    'u64 sk_buff::android_kabi_reserved1', at offset 1472 (in bits) at skbuff.h:912:1
    'u64 sk_buff::android_kabi_reserved2', at offset 1536 (in bits) at skbuff.h:913:1
  there are data member changes:
    7 ('sk_buff_data_t sk_buff::tail' .. 'skb_ext* sk_buff::extensions') offsets changed (by +128 bits)
  344 impacted interfaces

'struct snd_card at core.h:79:1' changed (indirectly):
  type size changed from 17792 to 18432 (in bits)
  there are data member changes:
    type 'struct device' of 'snd_card::ctl_dev' changed, as reported earlier
    15 ('unsigned int snd_card::last_numid' .. 'device* snd_card::dev') offsets changed (by +320 bits)
    type 'struct device' of 'snd_card::card_dev' changed, as reported earlier
    and offset changed from 10752 to 11072 (in bits) (by +320 bits)
    8 ('const attribute_group* snd_card::dev_groups[4]' .. 'wait_queue_head_t snd_card::power_sleep') offsets changed (by +640 bits)
  107 impacted interfaces

'struct snd_compr at compress_driver.h:146:1' changed (indirectly):
  type size changed from 6592 to 6912 (in bits)
  there are data member changes:
    type 'struct device' of 'snd_compr::dev' changed, as reported earlier
    6 ('snd_compr_ops* snd_compr::ops' .. 'int snd_compr::device') offsets changed (by +320 bits)
  43 impacted interfaces

'struct snd_compr_stream at compress_driver.h:73:1' changed (indirectly):
  type size changed from 1472 to 1600 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'snd_compr_stream::error_work' changed, as reported earlier
    6 ('snd_compr_direction snd_compr_stream::direction' .. 'snd_dma_buffer snd_compr_stream::dma_buffer') offsets changed (by +128 bits)
  43 impacted interfaces

'struct snd_pcm at pcm.h:509:1' changed (indirectly):
  type size changed from 14656 to 15296 (in bits)
  there are data member changes:
    'snd_pcm_str snd_pcm::streams[2]' size changed from 12544 to 13184 (in bits) (by +640 bits)
    7 ('mutex snd_pcm::open_mutex' .. 'bool snd_pcm::no_device_suspend') offsets changed (by +640 bits)
  65 impacted interfaces

'struct snd_pcm_str at pcm.h:488:1' changed (indirectly):
  type size changed from 6272 to 6592 (in bits)
  there are data member changes:
    type 'struct device' of 'snd_pcm_str::dev' changed, as reported earlier
  65 impacted interfaces

'struct snd_soc_jack_gpio at soc.h:679:1' changed (indirectly):
  type size changed from 1472 to 1600 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'snd_soc_jack_gpio::work' changed, as reported earlier
    4 ('notifier_block snd_soc_jack_gpio::pm_notifier' .. 'int (void*)* snd_soc_jack_gpio::jack_status_check') offsets changed (by +128 bits)
  one impacted interface

'struct snd_soc_pcm_runtime at soc.h:1132:1' changed (indirectly):
  type size changed from 13632 to 13760 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'snd_soc_pcm_runtime::delayed_work' changed, as reported earlier
    7 ('void (snd_soc_pcm_runtime*)* snd_soc_pcm_runtime::close_delayed_work_func' .. 'snd_soc_component* snd_soc_pcm_runtime::components[]') offsets changed (by +128 bits)
  43 impacted interfaces

'struct snd_usb_endpoint at card.h:54:1' changed:
  type size changed from 44736 to 44992 (in bits)
  4 data member insertions:
    'u64 snd_usb_endpoint::android_kabi_reserved1', at offset 44736 (in bits) at card.h:118:1
    'u64 snd_usb_endpoint::android_kabi_reserved2', at offset 44800 (in bits) at card.h:119:1
    'u64 snd_usb_endpoint::android_kabi_reserved3', at offset 44864 (in bits) at card.h:120:1
    'u64 snd_usb_endpoint::android_kabi_reserved4', at offset 44928 (in bits) at card.h:121:1
  2 impacted interfaces

'struct soc_device at soc.c:24:1' changed (indirectly):
  type size changed from 6080 to 6400 (in bits)
  there are data member changes:
    type 'struct device' of 'soc_device::dev' changed, as reported earlier
    2 ('soc_device_attribute* soc_device::attr' .. 'int soc_device::soc_dev_num') offsets changed (by +320 bits)
  2 impacted interfaces

'struct sock at sock.h:347:1' changed (indirectly):
  type size changed from 6016 to 6144 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'sock::sk_timer' changed, as reported earlier
    49 ('__u32 sock::sk_priority' .. 'callback_head sock::sk_rcu') offsets changed (by +128 bits)
  286 impacted interfaces

'struct softnet_data at netdevice.h:3181:1' changed (indirectly):
  details were reported earlier

'struct spi_controller at spi.h:466:1' changed (indirectly):
  type size changed from 11840 to 12160 (in bits)
  there are data member changes:
    type 'struct device' of 'spi_controller::dev' changed, as reported earlier
    66 ('list_head spi_controller::list' .. 'unsigned long int spi_controller::irq_flags') offsets changed (by +320 bits)
  16 impacted interfaces

'struct spi_device at spi.h:159:1' changed (indirectly):
  type size changed from 8704 to 9024 (in bits)
  there are data member changes:
    type 'struct device' of 'spi_device::dev' changed, as reported earlier
    16 ('spi_controller* spi_device::controller' .. 'spi_statistics spi_device::statistics') offsets changed (by +320 bits)
  16 impacted interfaces

'struct spmi_controller at spmi.h:80:1' changed (indirectly):
  type size changed from 6208 to 6528 (in bits)
  there are data member changes:
    type 'struct device' of 'spmi_controller::dev' changed, as reported earlier
    4 ('unsigned int spmi_controller::nr' .. 'int (spmi_controller*, typedef u8, typedef u8, typedef u16, const u8*, typedef size_t)* spmi_controller::write_cmd') offsets changed (by +320 bits)
  11 impacted interfaces

'struct spmi_device at spmi.h:39:1' changed (indirectly):
  type size changed from 6080 to 6400 (in bits)
  there are data member changes:
    type 'struct device' of 'spmi_device::dev' changed, as reported earlier
    2 ('spmi_controller* spmi_device::ctrl' .. 'u8 spmi_device::usid') offsets changed (by +320 bits)
  8 impacted interfaces

'struct srcu_data at srcutree.h:24:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct timer_list' of 'srcu_data::delay_work' changed, as reported earlier
    6 ('work_struct srcu_data::work' .. 'srcu_struct* srcu_data::ssp') offsets changed (by +128 bits)
  2620 impacted interfaces

'struct srcu_notifier_head at notifier.h:74:1' changed (indirectly):
  details were reported earlier

'struct srcu_struct at srcutree.h:64:1' changed (indirectly):
  details were reported earlier

'struct task_struct at sched.h:641:1' changed:
  details were reported earlier

'struct thermal_cooling_device at thermal.h:93:1' changed (indirectly):
  type size changed from 6976 to 7296 (in bits)
  there are data member changes:
    type 'struct device' of 'thermal_cooling_device::device' changed, as reported earlier
    8 ('device_node* thermal_cooling_device::np' .. 'list_head thermal_cooling_device::node') offsets changed (by +320 bits)
  37 impacted interfaces

'struct thermal_zone_device at thermal.h:150:1' changed (indirectly):
  type size changed from 8896 to 9344 (in bits)
  there are data member changes:
    type 'struct device' of 'thermal_zone_device::device' changed, as reported earlier
    26 ('attribute_group thermal_zone_device::trips_attribute_group' .. 'list_head thermal_zone_device::node') offsets changed (by +320 bits)
    type 'struct delayed_work' of 'thermal_zone_device::poll_queue' changed, as reported earlier
    and offset changed from 8128 to 8448 (in bits) (by +320 bits)
    'thermal_notify_event thermal_zone_device::notify_event' offset changed (by +448 bits)
  29 impacted interfaces

'struct timer_list at timer.h:11:1' changed:
  details were reported earlier

'struct typec_altmode at typec_altmode.h:24:1' changed (indirectly):
  type size changed from 6208 to 6528 (in bits)
  there are data member changes:
    type 'struct device' of 'typec_altmode::dev' changed, as reported earlier
    5 ('u16 typec_altmode::svid' .. 'const typec_altmode_ops* typec_altmode::ops') offsets changed (by +320 bits)
  19 impacted interfaces

'struct typec_mux at bus.h:43:1' changed (indirectly):
  type size changed from 6016 to 6336 (in bits)
  there are data member changes:
    type 'struct device' of 'typec_mux::dev' changed, as reported earlier
    type 'typedef typec_mux_set_fn_t' of 'typec_mux::set' changed:
      underlying type 'int (typec_mux*, typec_mux_state*)*' changed:
    and offset changed from 5952 to 6272 (in bits) (by +320 bits)
  15 impacted interfaces

'struct typec_partner at class.c:33:1' changed (indirectly):
  type size changed from 6400 to 6720 (in bits)
  there are data member changes:
    type 'struct device' of 'typec_partner::dev' changed, as reported earlier
    6 ('usb_pd_identity* typec_partner::identity' .. 'usb_pd_svdm_ver typec_partner::svdm_version') offsets changed (by +320 bits)
  10 impacted interfaces

'struct typec_port at class.c:44:1' changed (indirectly):
  type size changed from 6912 to 7232 (in bits)
  there are data member changes:
    type 'struct device' of 'typec_port::dev' changed, as reported earlier
    13 ('ida typec_port::mode_ids' .. 'const typec_operations* typec_port::ops') offsets changed (by +320 bits)
  15 impacted interfaces

'struct typec_switch at bus.h:38:1' changed (indirectly):
  type size changed from 6016 to 6336 (in bits)
  there are data member changes:
    type 'struct device' of 'typec_switch::dev' changed, as reported earlier
    type 'typedef typec_switch_set_fn_t' of 'typec_switch::set' changed:
      underlying type 'int (typec_switch*, enum typec_orientation)*' changed:
    and offset changed from 5952 to 6272 (in bits) (by +320 bits)
  15 impacted interfaces

'struct ufs_clk_gating at ufshcd.h:355:1' changed (indirectly):
  type size changed from 1792 to 1920 (in bits)
  there are data member changes:
    type 'struct delayed_work' of 'ufs_clk_gating::gate_work' changed, as reported earlier
    9 ('work_struct ufs_clk_gating::ungate_work' .. 'workqueue_struct* ufs_clk_gating::clk_gating_workq') offsets changed (by +128 bits)
  16 impacted interfaces

'struct ufs_hba at ufshcd.h:708:1' changed (indirectly):
  type size changed from 31872 to 32448 (in bits)
  there are data member changes:
    type 'struct ufs_clk_gating' of 'ufs_hba::clk_gating' changed, as reported earlier
    9 ('u32 ufs_hba::caps' .. 'atomic_t ufs_hba::scsi_block_reqs_cnt') offsets changed (by +128 bits)
    type 'struct device' of 'ufs_hba::bsg_dev' changed, as reported earlier
    and offset changed from 23424 to 23552 (in bits) (by +128 bits)
    3 ('request_queue* ufs_hba::bsg_queue' .. 'bool ufs_hba::wb_enabled') offsets changed (by +448 bits)
    type 'struct delayed_work' of 'ufs_hba::rpm_dev_flush_recheck_work' changed, as reported earlier
    and offset changed from 29504 to 29952 (in bits) (by +448 bits)
    4 ('ufs_crypto_capabilities ufs_hba::crypto_capabilities' .. 'blk_keyslot_manager ufs_hba::ksm') offsets changed (by +576 bits)
  16 impacted interfaces

'struct uio_device at uio_driver.h:69:1' changed (indirectly):
  type size changed from 6784 to 7104 (in bits)
  there are data member changes:
    type 'struct device' of 'uio_device::dev' changed, as reported earlier
    8 ('int uio_device::minor' .. 'kobject* uio_device::portio_dir') offsets changed (by +320 bits)
  2 impacted interfaces

'struct uio_map at uio.c:42:1' changed (indirectly):
  type size changed from 576 to 832 (in bits)
  there are data member changes:
    type 'struct kobject' of 'uio_map::kobj' changed, as reported earlier
    'uio_mem* uio_map::mem' offset changed (by +256 bits)
  2 impacted interfaces

'struct uio_portio at uio.c:125:1' changed (indirectly):
  type size changed from 576 to 832 (in bits)
  there are data member changes:
    type 'struct kobject' of 'uio_portio::kobj' changed, as reported earlier
    'uio_port* uio_portio::port' offset changed (by +256 bits)
  2 impacted interfaces

'struct usb_device at usb.h:631:1' changed (indirectly):
  type size changed from 11008 to 11328 (in bits)
  there are data member changes:
    type 'struct device' of 'usb_device::dev' changed, as reported earlier
    29 ('usb_device_descriptor usb_device::descriptor' .. 'u16 usb_device::hub_delay') offsets changed (by +320 bits)
  52 impacted interfaces

'struct usb_gadget at gadget.h:406:1' changed:
  type size changed from 7040 to 7616 (in bits)
  4 data member insertions:
    'u64 usb_gadget::android_kabi_reserved1', at offset 7360 (in bits) at gadget.h:449:1
    'u64 usb_gadget::android_kabi_reserved2', at offset 7424 (in bits) at gadget.h:450:1
    'u64 usb_gadget::android_kabi_reserved3', at offset 7488 (in bits) at gadget.h:451:1
    'u64 usb_gadget::android_kabi_reserved4', at offset 7552 (in bits) at gadget.h:452:1
  there are data member changes:
    type 'struct device' of 'usb_gadget::dev' changed, as reported earlier
    6 ('unsigned int usb_gadget::isoch_delay' .. 'int usb_gadget::irq') offsets changed (by +320 bits)
  23 impacted interfaces

'struct usb_hcd at hcd.h:81:1' changed (indirectly):
  type size changed from 4736 to 4864 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'usb_hcd::rh_timer' changed, as reported earlier
    23 ('urb* usb_hcd::status_urb' .. 'unsigned long int usb_hcd::hcd_priv[]') offsets changed (by +128 bits)
  14 impacted interfaces

'struct usb_interface at usb.h:232:1' changed (indirectly):
  type size changed from 6656 to 6976 (in bits)
  there are data member changes:
    type 'struct device' of 'usb_interface::dev' changed, as reported earlier
    2 ('device* usb_interface::usb_dev' .. 'work_struct usb_interface::reset_ws') offsets changed (by +320 bits)
  60 impacted interfaces

'struct usb_role_switch at class.c:19:1' changed (indirectly):
  type size changed from 6656 to 6976 (in bits)
  there are data member changes:
    type 'struct device' of 'usb_role_switch::dev' changed, as reported earlier
    5 ('mutex usb_role_switch::lock' .. 'device* usb_role_switch::udc') offsets changed (by +320 bits)
    type 'typedef usb_role_switch_set_t' of 'usb_role_switch::set' changed:
      underlying type 'int (usb_role_switch*, enum usb_role)*' changed:
    and offset changed from 6464 to 6784 (in bits) (by +320 bits)
    type 'typedef usb_role_switch_get_t' of 'usb_role_switch::get' changed:
      underlying type 'enum usb_role (usb_role_switch*)*' changed:
    and offset changed from 6528 to 6848 (in bits) (by +320 bits)
    'bool usb_role_switch::allow_userspace_control' offset changed (by +320 bits)
  15 impacted interfaces

'struct usb_udc at core.c:37:1' changed (indirectly):
  type size changed from 6272 to 6592 (in bits)
  there are data member changes:
    type 'struct device' of 'usb_udc::dev' changed, as reported earlier
    3 ('list_head usb_udc::list' .. 'bool usb_udc::started') offsets changed (by +320 bits)
  23 impacted interfaces

'struct usbnet at usbnet.h:27:1' changed (indirectly):
  type size changed from 4736 to 4864 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'usbnet::delay' changed, as reported earlier
    20 ('const char* usbnet::padding_pkt' .. 'unsigned long int usbnet::flags') offsets changed (by +128 bits)
  10 impacted interfaces

'struct user_namespace at user_namespace.h:56:1' changed:
  type size changed from 4288 to 4416 (in bits)
  2 data member insertions:
    'u64 user_namespace::android_kabi_reserved1', at offset 4288 (in bits) at user_namespace.h:92:1
    'u64 user_namespace::android_kabi_reserved2', at offset 4352 (in bits) at user_namespace.h:93:1
  2620 impacted interfaces

'struct video_device at v4l2-dev.h:263:1' changed (indirectly):
  type size changed from 11008 to 11328 (in bits)
  there are data member changes:
    type 'struct device' of 'video_device::dev' changed, as reported earlier
    21 ('cdev* video_device::cdev' .. 'mutex* video_device::lock') offsets changed (by +320 bits)
  24 impacted interfaces

'struct virtio_device at virtio.h:107:1' changed (indirectly):
  type size changed from 6528 to 6848 (in bits)
  there are data member changes:
    type 'struct device' of 'virtio_device::dev' changed, as reported earlier
    6 ('virtio_device_id virtio_device::id' .. 'void* virtio_device::priv') offsets changed (by +320 bits)
  33 impacted interfaces

'struct vm_operations_struct at mm.h:581:1' changed:
  details were reported earlier

'struct vsock_sock at af_vsock.h:27:1' changed (indirectly):
  type size changed from 9664 to 10176 (in bits)
  there are data member changes:
    type 'struct sock' of 'vsock_sock::sk' changed, as reported earlier
    14 ('const vsock_transport* vsock_sock::transport' .. 'bool vsock_sock::rejected') offsets changed (by +128 bits)
    type 'struct delayed_work' of 'vsock_sock::connect_work' changed, as reported earlier
    and offset changed from 7168 to 7296 (in bits) (by +128 bits)
    type 'struct delayed_work' of 'vsock_sock::pending_work' changed, as reported earlier
    and offset changed from 7872 to 8128 (in bits) (by +256 bits)
    type 'struct delayed_work' of 'vsock_sock::close_work' changed, as reported earlier
    and offset changed from 8576 to 8960 (in bits) (by +384 bits)
    8 ('bool vsock_sock::close_work_scheduled' .. 'void* vsock_sock::trans') offsets changed (by +512 bits)
  30 impacted interfaces

'struct wakeup_source at pm_wakeup.h:43:1' changed (indirectly):
  type size changed from 1536 to 1664 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'wakeup_source::timer' changed, as reported earlier
    12 ('unsigned long int wakeup_source::timer_expires' .. 'device* wakeup_source::dev') offsets changed (by +128 bits)
  2620 impacted interfaces

'struct wiphy at cfg80211.h:4892:1' changed (indirectly):
  type size changed from 9984 to 10496 (in bits)
  there are data member changes:
    type 'struct device' of 'wiphy::dev' changed, as reported earlier
    5 ('bool wiphy::registered' .. 'list_head wiphy::wdev_list') offsets changed (by +320 bits)
    type 'typedef possible_net_t' of 'wiphy::_net' changed, as reported earlier
    and offset changed from 9024 to 9344 (in bits) (by +320 bits)
    16 ('const wiphy_coalesce_support* wiphy::coalesce' .. 'u8 wiphy::max_data_retry_count') offsets changed (by +320 bits)
    'char wiphy::priv[]' offset changed (by +512 bits)
  67 impacted interfaces

'struct worker_pool at workqueue.c:151:1' changed (indirectly):
  type size changed from 6656 to 7168 (in bits)
  there are data member changes:
    type 'struct timer_list' of 'worker_pool::idle_timer' changed, as reported earlier
    type 'struct timer_list' of 'worker_pool::mayday_timer' changed, as reported earlier
    and offset changed from 896 to 1024 (in bits) (by +128 bits)
    8 ('hlist_head worker_pool::busy_hash[64]' .. 'int worker_pool::refcnt') offsets changed (by +256 bits)
    2 ('atomic_t worker_pool::nr_running' .. 'callback_head worker_pool::rcu') offsets changed (by +512 bits)
  2620 impacted interfaces

'struct wq_device at workqueue.c:5384:1' changed (indirectly):
  type size changed from 6016 to 6336 (in bits)
  there are data member changes:
    type 'struct device' of 'wq_device::dev' changed, as reported earlier
  2620 impacted interfaces

Bug: 180569593
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I48185ab6e47f6e8e33de016dcccfd7f4969a1e52
2021-03-20 09:27:33 +00:00
Alexander Potapenko
a7f3a36529 ANDROID: GKI: enable KFENCE by setting the sample interval to 500ms
This change effectively enables KFENCE in GKI kernels with a sample
interval of 500ms.
It is still possible to disable KFENCE at boot time using
kfence.sample_interval=0.

Bug: 176228452
Test: kernel builds, device boots normally
Test: TreeHugger

Signed-off-by: Alexander Potapenko <glider@google.com>
Change-Id: I69cb0fc8fdebba36c9166b275ad245240314d811
2021-03-19 21:38:56 +01:00
Jack Pham
9d1c78d623 ANDROID: abi_gki_aarch64_qcom: Add xhci symbols to list
Add xhci symbols needed for additional vendor ring management.

Bug: 182336717
Change-Id: I5e05d0a410cc8c9271262b3a5e7e5c4fff31451d
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2021-03-19 15:44:10 +00:00
Sami Tolvanen
5896d00f9c ANDROID: vmlinux.lds.h: Define SANITIZER_DISCARDS with CONFIG_CFI_CLANG
Clang generates an .eh_frame section with CFI, which produces orphan
section warnings:

ld.lld: warning: <internal>:(.eh_frame) is being placed in '.eh_frame'

Define SANITIZER_DISCARDS to drop .eh_frame also with CFI.

Bug: 145210207
Link: https://github.com/ClangBuiltLinux/linux/issues/1227
Change-Id: I383f1d87920894440a234f8fca56f48119777042
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2021-03-19 14:32:06 +00:00
Badhri Jagan Sridharan
ffacd097fc ANDROID: usb: typec: tcpci: Add vendor hook to mask vbus present
This hook is for addressing hardware anomalies where
TCPC_POWER_STATUS_VBUS_PRES bit can return 0 even before falling
below sSinkDisconnect threshold.

Handler has to set bypass to override the value that would otherwise
be returned by this function.
Handler can set vbus or clear vbus to indicate vbus present or absent

OOT_bug:
Bug: 183149028
Bug: 168245874
Bug: 173252019
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: I2ca994d49b37bf8600c5913b892fde9acd0dc896
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-03-19 12:03:09 +01:00
Badhri Jagan Sridharan
1a93d556d7 ANDROID: usb: typce: tcpci: Add vendor hook for chip specific features
Needed to implement chip specific features that are not defined
in the Type-C spec.

OOT_bug:
Bug: 169213252
Bug: 168245874
Bug: 173252019
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: Ibd7b9171f105321c3010fb5b0a67d76a91224800
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-03-19 12:03:09 +01:00
Badhri Jagan Sridharan
08879ea0d6 ANDROID: usb: typec: tcpci: Add vendor hooks for tcpci interface
Needed to implement chip specific features that are not defined
in the Type-C spec.

OOT_bug:
Bug: 169213252
Bug: 168245874
Bug: 173252019
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: I36fe75dddd8cd4e2054db01ed4fee7ea08dd8702
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-03-19 12:03:09 +01:00
Daeho Jeong
892e618852 FROMGIT: f2fs: add sysfs nodes to get runtime compression stat
I've added new sysfs nodes to show runtime compression stat since mount.
compr_written_block - show the block count written after compression
compr_saved_block - show the saved block count with compression
compr_new_inode - show the count of inode newly enabled for compression

Bug: 173482046
(cherry picked from commit c0b6572dfc3c507a5292f7db01a57bac8f11958d
 git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev)
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Change-Id: I5afcafb709369d4e11e44fc6dc183f1383b2ec51
2021-03-19 09:05:58 +00:00
John Stultz
58f0e25d0d ANDROID: dma-buf: Fix error path on system heaps use of the page pool
Daniel Mentz relayed to me that Janghyuck Kim noted that
dma_buf_page_pool_create() returns NULL on error, so the
IS_ERR() check on the return value will never be true.

This patch fixes up the checking so we look for NULL instead and
properly return ENOMEM in that case.

Cc: Daniel Mentz <danielmentz@google.com>
Reported-by: Janghyuck Kim <janghyuck.kim@samsung.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Fixes: 23762f02e1 ("ANDROID: dma-buf: system_heap: Add pagepool support to system heap")
Change-Id: Ia428e262cda5cc6bd39a3fbcddade7877473a563
2021-03-19 09:04:07 +00:00
John Stultz
958c19b19b ANDROID: usb: typec: tcpm: Fix event storm caused by error in backport
As noted by Badhri, the patch
  https://lore.kernel.org/linux-usb/20210317181249.1062995-1-badhri@google.com/

Adds the power_supply_changed() to tcpm_psy_set_prop(), but the
patch submitted to Gerrit added it in tcpm_psy_get_prop()

This causes a uevent storm which results in lots of strange
behavior and error messages.

Thus, as suggested by Badhri, this patch removes the
power_supply_changed() call in the tcpm_psy_get_prop(), and adds
it to the tcpm_psy_get_prop() function to match the original
patch.

Debugged-and-Suggested-by: Badhri Jagan Sridharan <badhri@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Fixes: 6f85b7e0f8 ("UPSTREAM: usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy-")
Change-Id: Ib161d15b82ef0fad541cda79f8832145218fb137
2021-03-19 08:38:26 +00:00
Greg Kroah-Hartman
0b6fadd02e ANDROID: GKI: USB: XHCI: add Android ABI padding to lots of xhci structures
Given that the xhci driver seems to be one of the more "modified" by
vendors, and that the xhci core is going to be built into the kernel in
the GKI 2 Android kernel, the xhci "platform" api is now a stable
boundry.

Try to handle any future changes in this api by adding some kabi padding
fields to allow for room to grow and change over the next 5+ years as
needed.

Bug: 151154716
Bug: 182336717
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I55c8cad8c8c51330fc2d72df41a1f04229a22e98
2021-03-19 08:38:00 +00:00
Marc Zyngier
6f00446c76 FROMGIT: KVM: arm64: Fix host's ZCR_EL2 restore on nVHE
We re-enter the EL1 host with CPTR_EL2.TZ set in order to
be able to lazily restore ZCR_EL2 when required.

However, the same CPTR_EL2 configuration also leads to trapping
when ZCR_EL2 is accessed from EL2. Duh!

Clear CPTR_EL2.TZ *before* writing to ZCR_EL2.

Fixes: beed09067b ("KVM: arm64: Trap host SVE accesses when the FPSIMD state is dirty")
Reported-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 5b08709313
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: Iea1c43f91edc32d176e351b80fd860d5f473fa19
2021-03-19 08:24:37 +00:00
Marc Zyngier
b0671cd753 FROMGIT: KVM: arm64: Force SCTLR_EL2.WXN when running nVHE
As the EL2 nVHE object is nicely split into sections and that
we already use differenciating permissions for data and code,
we can enable SCTLR_EL2.WXN so that we don't have to worry
about misconfiguration of the page tables.

Flip the WXN bit and get the ball running!

Acked-by: Will Deacon <will@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit c8a4b35f50
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I46464dc9ca6281d2cc2c4f23447c46240e7abced
2021-03-19 08:24:24 +00:00
Marc Zyngier
8f25c7432f FROMGIT: KVM: arm64: Turn SCTLR_ELx_FLAGS into INIT_SCTLR_EL2_MMU_ON
Only the nVHE EL2 code is using this define, so let's make it
plain that it is EL2 only, and refactor it to contain all the
bits we need when configuring the EL2 MMU, and only those.

Acked-by: Will Deacon <will@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit fe2c8d1918
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I43b562a2a0100b970910da06e2823b5e3858c06f
2021-03-19 08:24:13 +00:00
Marc Zyngier
f47a4d91e5 FROMGIT: KVM: arm64: Use INIT_SCTLR_EL2_MMU_OFF to disable the MMU on KVM teardown
Instead of doing a RMW on SCTLR_EL2 to disable the MMU, use the
existing define that loads the right set of bits.

Acked-by: Will Deacon <will@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit bc6ddaa67a
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I4e2538939f1306953cdd28e2a696d659fc8479ad
2021-03-19 08:24:00 +00:00
Marc Zyngier
3ff7250562 FROMGIT: arm64: Use INIT_SCTLR_EL1_MMU_OFF to disable the MMU on CPU restart
Instead of doing a RMW on SCTLR_EL1 to disable the MMU, use the
existing define that loads the right set of bits.

Acked-by: Will Deacon <will@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 45879a5775
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I246b40baab912669d05bf493d1e8b6b60338f693
2021-03-19 08:22:53 +00:00
Daniel Kiss
a8a9fadaf8 FROMGIT: KVM: arm64: Enable SVE support for nVHE
Now that KVM is equipped to deal with SVE on nVHE, remove the code
preventing it from being used as well as the bits of documentation
that were mentioning the incompatibility.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Daniel Kiss <daniel.kiss@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 6e94095c55
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: Icf772a2d620f8c139417d01fe0bba439c28e500f
2021-03-19 08:22:06 +00:00
Marc Zyngier
b0e15c8c44 FROMGIT: KVM: arm64: Save/restore SVE state for nVHE
Implement the SVE save/restore for nVHE, following a similar
logic to that of the VHE implementation:

- the SVE state is switched on trap from EL1 to EL2

- no further changes to ZCR_EL2 occur as long as the guest isn't
  preempted or exit to userspace

- ZCR_EL2 is reset to its default value on the first SVE access from
  the host EL1, and ZCR_EL1 restored to the default guest value in
  vcpu_put()

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 8c8010d69c
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: Ia1065d343be955c5ab4859a1a2faf371d27d257c
2021-03-19 08:21:55 +00:00
Marc Zyngier
194fd166b5 BACKPORT: FROMGIT: KVM: arm64: Trap host SVE accesses when the FPSIMD state is dirty
ZCR_EL2 controls the upper bound for ZCR_EL1, and is set to
a potentially lower limit when the guest uses SVE. In order
to restore the SVE state on the EL1 host, we must first
reset ZCR_EL2 to its original value.

To make it as lazy as possible on the EL1 host side, set
the SVE trapping in place when exiting from the guest.
On the first EL1 access to SVE, ZCR_EL2 will be restored
to its full glory.

Suggested-by: Andrew Scull <ascull@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit beed09067b
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
[will: Fixed trivial conflicts with host stage-2 series]
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I4e43e3ea710f105fe15b08825678109ac5ee2b78
2021-03-19 08:21:18 +00:00
Marc Zyngier
507e10616c FROMGIT: KVM: arm64: Save guest's ZCR_EL1 before saving the FPSIMD state
Make sure the guest's ZCR_EL1 is saved before we save/flush the
state. This will be useful in later patches.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit b145a8437a
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I1e3ee364780d9f63436d246431cd82e651dc6571
2021-03-19 08:21:05 +00:00
Marc Zyngier
4cb78b26ea FROMGIT: KVM: arm64: Map SVE context at EL2 when available
When running on nVHE, and that the vcpu supports SVE, map the
SVE state at EL2 so that KVM can access it.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 0a9a98fda3
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: Iacc17d38754d40ed36be2c1ff5e5104b75974415
2021-03-19 08:20:55 +00:00
Marc Zyngier
1105b4d1ce BACKPORT: FROMGIT: KVM: arm64: Rework SVE host-save/guest-restore
In order to keep the code readable, move the host-save/guest-restore
sequences in their own functions, with the following changes:
- the hypervisor ZCR is now set from C code
- ZCR_EL2 is always used as the EL2 accessor

This results in some minor assembler macro rework.
No functional change intended.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 52029198c1
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
[will: Fixed trivial context conflict with host stage-2 series in switch.h]
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: Ibcacce83e2eb142ae5c5672b534def83892060bc
2021-03-19 08:20:43 +00:00
Marc Zyngier
57171b3636 FROMGIT: arm64: sve: Provide a conditional update accessor for ZCR_ELx
A common pattern is to conditionally update ZCR_ELx in order
to avoid the "self-synchronizing" effect that writing to this
register has.

Let's provide an accessor that does exactly this.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 71ce1ae56e
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I50af5ed0a57182d038f26c12a6ca9e733ac97ba4
2021-03-19 08:20:11 +00:00
Marc Zyngier
ac5f5708bb FROMGIT: KVM: arm64: Introduce vcpu_sve_vq() helper
The KVM code contains a number of "sve_vq_from_vl(vcpu->arch.sve_max_vl)"
instances, and we are about to add more.

Introduce vcpu_sve_vq() as a shorthand for this expression.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 468f3477ef
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: Ibfa1776c63b84c5b83504b94f76905d4da0dd979
2021-03-19 08:19:49 +00:00
Marc Zyngier
f9bab75599 FROMGIT: KVM: arm64: Let vcpu_sve_pffr() handle HYP VAs
The vcpu_sve_pffr() returns a pointer, which can be an interesting
thing to do on nVHE. Wrap the pointer with kern_hyp_va(), and
take this opportunity to remove the unnecessary casts (sve_state
being a void *).

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 985d3a1bea
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I01203df5e118b35c62f502652da6e6db7f521f7b
2021-03-19 08:19:37 +00:00
Marc Zyngier
c2469fa4b4 FROMGIT: KVM: arm64: Use {read,write}_sysreg_el1 to access ZCR_EL1
Switch to the unified EL1 accessors for ZCR_EL1, which will make
things easier for nVHE support.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 83857371d4
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I33aeccbd0cf915db9fbc0cac8543394134de490e
2021-03-19 08:19:26 +00:00
Marc Zyngier
f5e060d65e FROMGIT: KVM: arm64: Provide KVM's own save/restore SVE primitives
as we are about to change the way KVM deals with SVE, provide
KVM with its own save/restore SVE primitives.

No functional change intended.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 297b8603e3
 git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next)
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 178098380
Test: atest VirtualizationHostTestCases on an EL2-enabled device
Change-Id: I77414def3e06f71324eec25f5a204d04e6c5c328
2021-03-19 08:19:15 +00:00
Greg Kroah-Hartman
af855ca1c9 ANDROID: GKI: USB: Gadget: add Android ABI padding to struct usb_gadget
Over time, this structure is being changed a bunch to fix issues found
in the gadget code as more and more people stress it.  So add padding to
handle any needed future changes that might occur.

Of course, now that the padding is there, there never will be any need
to change this structure again...

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I496797469268cc5d3cfafdb19c141b6b6196fe72
2021-03-19 06:18:51 +00:00
Liujie Xie
24149445ad ANDROID: vendor_hooks: Add hooks for memory when debug
Add vendors hooks for recording memory used

Bug: 182443489
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I62d8bb2b6650d8b187b433f97eb833ef0b784df1
2021-03-19 04:54:07 +00:00
duwenchao
00185a421a ANDROID: vendor_hooks: Add hooks for ufs scheduler
Add hooks to support oem's ufs scheduler feature.

Bug: 183085044
Signed-off-by: duwenchao <duwenchao@xiaomi.com>
Change-Id: I09bf9cba33412c81e4da83292772c0e95cf32022
2021-03-18 18:26:18 +00:00
Greg Kroah-Hartman
b8981993c2 ANDROID: GKI: sound/usb/card.h: add Android ABI padding to struct snd_usb_endpoint
There seems to be lots of people wanting to change this structure, and
while it feels internal, due to some SoC patches, there's an ABI that
needs to be preserved here over time.

So add some padding to struct snd_usb_endpoint so that we can maintain
this succesfully in the future.

Of course, now that the padding is there, there never will be any need
to change this structure again...

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I21cb3abbdca2961e33a94b2bc48b49f3fadbd206
2021-03-18 16:21:14 +01:00
Greg Kroah-Hartman
5a56f5119e ANDROID: GKI: user_namespace.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct user_namespace.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2c41281b191cd252db2ddc792699d869ce8d7a4d
2021-03-18 16:20:44 +01:00
Greg Kroah-Hartman
599e75fcfd ANDROID: GKI: timer.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct timer_list.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I74673e2271cd757c4871c9bcb69fd73bb22a722b
2021-03-18 16:20:25 +01:00
Greg Kroah-Hartman
303a28f485 ANDROID: GKI: quota.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct quota_format_ops, struct dquot_operations, and struct
quotactl_ops.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia957d2f8d9b1a6939cddedc16a7481e9de1a8866
2021-03-18 16:20:07 +01:00
Greg Kroah-Hartman
a06d91262a ANDROID: GKI: mmu_notifier.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct mmu_notifier_ops and struct mmu_notifier.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If631445abf20c22830a1c764ff2ccd662a7bd204
2021-03-18 16:19:39 +01:00
Greg Kroah-Hartman
8faaa07702 ANDROID: GKI: mm.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct vm_operations_struct.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I78f84148ef4d3524bd6c5b78e53e06503a4ac3ae
2021-03-18 16:18:52 +01:00
Greg Kroah-Hartman
f21777c57f ANDROID: GKI: kobject.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct kobject, struct kobj_type, and struct kset.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3c28826dc314c7f1b5c9bb167be82089d53768bb
2021-03-18 16:18:19 +01:00
Greg Kroah-Hartman
31f6b7a1ae ANDROID: GKI: kernfs.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct kernfs_syscall_ops and struct kernfs_ops.

Based on a change made to the RHEL/CENTOS 8 kernel.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1fcb0b81c3ea7d5300da283b275391f95d6d4ec8
2021-03-18 16:18:05 +01:00