Commit Graph

978828 Commits

Author SHA1 Message Date
Jack Pham
505d41dcf1 FROMGIT: usb: dwc3: debugfs: Add and remove endpoint dirs dynamically
The DWC3 DebugFS directory and files are currently created once
during probe.  This includes creation of subdirectories for each
of the gadget's endpoints.  This works fine for peripheral-only
controllers, as dwc3_core_init_mode() calls dwc3_gadget_init()
just prior to calling dwc3_debugfs_init().

However, for dual-role controllers, dwc3_core_init_mode() will
instead call dwc3_drd_init() which is problematic in a few ways.
First, the initial state must be determined, then dwc3_set_mode()
will have to schedule drd_work and by then dwc3_debugfs_init()
could have already been invoked.  Even if the initial mode is
peripheral, dwc3_gadget_init() happens after the DebugFS files
are created, and worse so if the initial state is host and the
controller switches to peripheral much later.  And secondly,
even if the gadget endpoints' debug entries were successfully
created, if the controller exits peripheral mode, its dwc3_eps
are freed so the debug files would now hold stale references.

So it is best if the DebugFS endpoint entries are created and
removed dynamically at the same time the underlying dwc3_eps are.
Do this by calling dwc3_debugfs_create_endpoint_dir() as each
endpoint is created, and conversely remove the DebugFS entry when
the endpoint is freed.

Fixes: 41ce1456e1 ("usb: dwc3: core: make dwc3_set_mode() work properly")
Cc: stable <stable@vger.kernel.org>
Reviewed-by: Peter Chen <peter.chen@kernel.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Link: https://lore.kernel.org/r/20210529192932.22912-1-jackp@codeaurora.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 8d396bb0a5
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9fd3416cbec6722f1ab1dac95c225aec6136a135
2021-06-07 06:15:04 +00:00
Kyle Tso
4c323ffd1c FROMGIT: dt-bindings: connector: Add PD rev 2.0 VDO definition
Add the VDO definition for USB PD rev 2.0 in the bindings and define a
new property snk-vdos-v1 containing legacy VDOs as the responses to the
port partner which only supports PD rev 2.0.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Kyle Tso <kyletso@google.com>
Link: https://lore.kernel.org/r/20210601123151.3441914-3-kyletso@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 55b54c269b
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I674ab18f59d3a3bc17ae42e6966030abd3761d3f
2021-06-07 06:13:23 +00:00
Kyle Tso
bbdac2c2ad FROMGIT: usb: typec: tcpm: Correct the responses in SVDM Version 2.0 DFP
In USB PD Spec Rev 3.1 Ver 1.0, section "6.12.5 Applicability of
Structured VDM Commands", DFP is allowed and recommended to respond to
Discovery Identity with ACK. And in section "6.4.4.2.5.1 Commands other
than Attention", NAK should be returned only when receiving Messages
with invalid fields, Messages in wrong situation, or unrecognize
Messages.

Still keep the original design for SVDM Version 1.0 for backward
compatibilities.

Fixes: 193a68011f ("staging: typec: tcpm: Respond to Discover Identity commands")
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Kyle Tso <kyletso@google.com>
Link: https://lore.kernel.org/r/20210601123151.3441914-2-kyletso@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit f41bfc7e9c
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If1dd588040c1a3d403d29f0436f9ab23c740ea20
2021-06-07 06:12:48 +00:00
Alexandru Elisei
22116da321 FROMGIT: Revert "usb: dwc3: core: Add shutdown callback for dwc3"
This reverts commit 568262bf54.

The commit causes the following panic when shutting down a rockpro64-v2
board:

[..]
[   41.684569] xhci-hcd xhci-hcd.2.auto: USB bus 1 deregistered
[   41.686301] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a0
[   41.687096] Mem abort info:
[   41.687345]   ESR = 0x96000004
[   41.687615]   EC = 0x25: DABT (current EL), IL = 32 bits
[   41.688082]   SET = 0, FnV = 0
[   41.688352]   EA = 0, S1PTW = 0
[   41.688628] Data abort info:
[   41.688882]   ISV = 0, ISS = 0x00000004
[   41.689219]   CM = 0, WnR = 0
[   41.689481] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000073b2000
[   41.690046] [00000000000000a0] pgd=0000000000000000, p4d=0000000000000000
[   41.690654] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[   41.691143] Modules linked in:
[   41.691416] CPU: 5 PID: 1 Comm: shutdown Not tainted 5.13.0-rc4 #43
[   41.691966] Hardware name: Pine64 RockPro64 v2.0 (DT)
[   41.692409] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--)
[   41.692937] pc : down_read_interruptible+0xec/0x200
[   41.693373] lr : simple_recursive_removal+0x48/0x280
[   41.693815] sp : ffff800011fab910
[   41.694107] x29: ffff800011fab910 x28: ffff0000008fe480 x27: ffff0000008fe4d8
[   41.694736] x26: ffff800011529a90 x25: 00000000000000a0 x24: ffff800011edd030
[   41.695364] x23: 0000000000000080 x22: 0000000000000000 x21: ffff800011f23994
[   41.695992] x20: ffff800011f23998 x19: ffff0000008fe480 x18: ffffffffffffffff
[   41.696620] x17: 000c0400bb44ffff x16: 0000000000000009 x15: ffff800091faba3d
[   41.697248] x14: 0000000000000004 x13: 0000000000000000 x12: 0000000000000020
[   41.697875] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f x9 : 6f6c746364716e62
[   41.698502] x8 : 7f7f7f7f7f7f7f7f x7 : fefefeff6364626d x6 : 0000000000000440
[   41.699130] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 00000000000000a0
[   41.699758] x2 : 0000000000000001 x1 : 0000000000000000 x0 : 00000000000000a0
[   41.700386] Call trace:
[   41.700602]  down_read_interruptible+0xec/0x200
[   41.701003]  debugfs_remove+0x5c/0x80
[   41.701328]  dwc3_debugfs_exit+0x1c/0x6c
[   41.701676]  dwc3_remove+0x34/0x1a0
[   41.701988]  platform_remove+0x28/0x60
[   41.702322]  __device_release_driver+0x188/0x22c
[   41.702730]  device_release_driver+0x2c/0x44
[   41.703106]  bus_remove_device+0x124/0x130
[   41.703468]  device_del+0x16c/0x424
[   41.703777]  platform_device_del.part.0+0x1c/0x90
[   41.704193]  platform_device_unregister+0x28/0x44
[   41.704608]  of_platform_device_destroy+0xe8/0x100
[   41.705031]  device_for_each_child_reverse+0x64/0xb4
[   41.705470]  of_platform_depopulate+0x40/0x84
[   41.705853]  __dwc3_of_simple_teardown+0x20/0xd4
[   41.706260]  dwc3_of_simple_shutdown+0x14/0x20
[   41.706652]  platform_shutdown+0x28/0x40
[   41.706998]  device_shutdown+0x158/0x330
[   41.707344]  kernel_power_off+0x38/0x7c
[   41.707684]  __do_sys_reboot+0x16c/0x2a0
[   41.708029]  __arm64_sys_reboot+0x28/0x34
[   41.708383]  invoke_syscall+0x48/0x114
[   41.708716]  el0_svc_common.constprop.0+0x44/0xdc
[   41.709131]  do_el0_svc+0x28/0x90
[   41.709426]  el0_svc+0x2c/0x54
[   41.709698]  el0_sync_handler+0xa4/0x130
[   41.710045]  el0_sync+0x198/0x1c0
[   41.710342] Code: c8047c62 35ffff84 17fffe5f f9800071 (c85ffc60)
[   41.710881] ---[ end trace 406377df5178f75c ]---
[   41.711299] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[   41.712084] Kernel Offset: disabled
[   41.712391] CPU features: 0x10001031,20000846
[   41.712775] Memory Limit: none
[   41.713049] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---

As Felipe explained: "dwc3_shutdown() is just called dwc3_remove()
directly, then we end up calling debugfs_remove_recursive() twice."

Reverting the commit fixes the panic.

Fixes: 568262bf54 ("usb: dwc3: core: Add shutdown callback for dwc3")
Acked-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Link: https://lore.kernel.org/r/20210603151742.298243-1-alexandru.elisei@arm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 8f11fe7e40
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1ac96eac0672bfc15ec68df0b19e0298306de454
2021-06-07 06:11:53 +00:00
Jaegeuk Kim
4fa67303ce Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10
Early merge to fix bugs and address compression issues.

* aosp/upstream-f2fs-stable-linux-5.10.y:
  f2fs: introduce FI_COMPRESS_RELEASED instead of using IMMUTABLE bit
  f2fs: compress: remove unneeded preallocation
  f2fs: avoid attaching SB_ACTIVE flag during mount/remount
  f2fs: atgc: export entries for better tunability via sysfs
  f2fs: compress: fix to disallow temp extension
  f2fs: let's allow compression for mmap files
  f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
  f2fs: return success if there is no work to do
  f2fs: compress: clean up parameter of __f2fs_cluster_blocks()
  f2fs: compress: remove unneeded f2fs_put_dnode()
  f2fs: atgc: fix to set default age threshold
  f2fs: Prevent swap file in LFS mode
  f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances
  f2fs: restructure f2fs page.private layout
  f2fs: add cp_error check in f2fs_write_compressed_pages
  f2fs: compress: rename __cluster_may_compress

Bug: 188928405
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: I73c670648e352dc783731e4d80c1df9069c61d0c
2021-06-04 16:30:01 -07:00
Jiachiam Liu
5cf77864a3 ANDROID: arm scmi: add vendor hook to adjust the rx timeout.
Add a vendor hook in scmi transfer, to adjust the rx timeout
for performance tuning.

Bug: 189610155
Change-Id: Ic1687b3cf8568ca205f640fd97a7ce3bbfc61a36
Signed-off-by: Jiachiam Liu <jiachiam.liu@mediatek.com>
2021-06-04 21:59:37 +00:00
Gleb Fotengauer-Malinovskiy
89e44fb838 FROMGIT: userfaultfd: fix UFFDIO_CONTINUE ioctl request definition
This ioctl request reads from uffdio_continue structure which justifies
_IOC_READ flag.  See NOTEs in include/uapi/asm-generic/ioctl.h for more
information.

Link: https://lkml.kernel.org/r/20210601143432.1002481-1-glebfm@altlinux.org
Link: https://lkml.kernel.org/r/20210531140146.481553-1-glebfm@altlinux.org
Fixes: f619147104 ("userfaultfd: add UFFDIO_CONTINUE ioctl")
Signed-off-by: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Axel Rasmussen <axelrasmussen@google.com>
Cc: Daniel Colascione <dancol@google.com>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 3fe04bff515162ae8192d7eae77b9a92ed1aa945
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1439728/

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I85d83958a99e5c68e1118b6c189c78108e47be6c
2021-06-04 19:13:43 +00:00
Axel Rasmussen
72863addaa FROMGIT: userfaultfd/selftests: exercise minor fault handling shmem support
Enable test_uffdio_minor for test_type == TEST_SHMEM, and modify the test
slightly to pass in / check for the right feature flags.

Link: https://lkml.kernel.org/r/20210503180737.2487560-11-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 8d22398a3f8edcc720d94ef2677b310283a5422e
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420977/
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: Ic6a6aa2ea92bc6353f60d8f982c2aef78e4ce323
2021-06-04 19:13:36 +00:00
Axel Rasmussen
c2c081d009 BACKPORT: FROMGIT: userfaultfd/selftests: reinitialize test context in each test
Currently, the context (fds, mmap-ed areas, etc.) are global.  Each test
mutates this state in some way, in some cases really "clobbering it"
(e.g., the events test mremap-ing area_dst over the top of area_src, or
the minor faults tests overwriting the count_verify values in the test
areas).  We run the tests in a particular order, each test is careful to
make the right assumptions about its starting state, etc.

But, this is fragile.  It's better for a test's success or failure to not
depend on what some other prior test case did to the global state.

To that end, clear and reinitialize the test context at the start of each
test case, so whatever prior test cases did doesn't affect future tests.

This is particularly relevant to this series because the events test's
mremap of area_dst screws up assumptions the minor fault test was relying
on.  This wasn't a problem for hugetlb, as we don't mremap in that case.

Link: https://lkml.kernel.org/r/20210503180737.2487560-10-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 280ebe9abcb4a23a046be3ca261f6f926159768f
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420974/

Conflicts: tools/testing/selftests/vm/userfaultfd.c
(Manual rebase)

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I22969f388ef291d48c56a817ce0e9d2f4f1191f7
2021-06-04 19:13:28 +00:00
Axel Rasmussen
b96a58e012 FROMGIT: userfaultfd/selftests: create alias mappings in the shmem test
Previously, we just allocated two shm areas: area_src and area_dst.  With
this commit, change this so we also allocate area_src_alias, and
area_dst_alias.

area_*_alias and area_* (respectively) point to the same underlying
physical pages, but are different VMAs.  In a future commit in this
series, we'll leverage this setup to exercise minor fault handling support
for shmem, just like we do in the hugetlb_shared test.

Link: https://lkml.kernel.org/r/20210503180737.2487560-9-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 6ccce57a3ee4f20c6f7bd5234c381a34aaa32ed6
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420975/
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: Ic603af85181acc60ecf4c8767c86bf8e2bb5c72c
2021-06-04 19:13:23 +00:00
Axel Rasmussen
9f837b909a FROMGIT: userfaultfd/selftests: use memfd_create for shmem test type
This is a preparatory commit.  In the future, we want to be able to setup
alias mappings for area_src and area_dst in the shmem test, like we do in
the hugetlb_shared test.  With a VMA obtained via mmap(MAP_ANONYMOUS |
MAP_SHARED), it isn't clear how to do this.

So, mmap() with an fd, so we can create alias mappings.  Use memfd_create
instead of actually passing in a tmpfs path like hugetlb does, since it's
more convenient / simpler to run, and works just as well.

Future commits will:

1. Setup the alias mappings.
2. Extend our tests to actually take advantage of this, to test new
   userfaultfd behavior being introduced in this series.

Also, a small fix in the area we're changing: when the hugetlb setup fails
in main(), pass in the right argv[] so we actually print out the hugetlb
file path.

Link: https://lkml.kernel.org/r/20210503180737.2487560-8-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 1c0385e8406d9cc180275955f41e60f6d9e2a6af
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420976/
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: Id8fc463cef73e8e99190f0d748e4d92ada8541a4
2021-06-04 19:13:17 +00:00
Axel Rasmussen
0b161cf6fc FROMGIT: userfaultfd/shmem: modify shmem_mfill_atomic_pte to use install_pte()
In a previous commit, we added the mfill_atomic_install_pte() helper.
This helper does the job of setting up PTEs for an existing page, to map
it into a given VMA.  It deals with both the anon and shmem cases, as well
as the shared and private cases.

In other words, shmem_mfill_atomic_pte() duplicates a case it already
handles.  So, expose it, and let shmem_mfill_atomic_pte() use it directly,
to reduce code duplication.

This requires that we refactor shmem_mfill_atomic_pte() a bit:

Instead of doing accounting (shmem_recalc_inode() et al) part-way through
the PTE setup, do it afterward.  This frees up mfill_atomic_install_pte()
from having to care about this accounting, and means we don't need to e.g.
shmem_uncharge() in the error path.

A side effect is this switches shmem_mfill_atomic_pte() to use
lru_cache_add_inactive_or_unevictable() instead of just lru_cache_add().
This wrapper does some extra accounting in an exceptional case, if
appropriate, so it's actually the more correct thing to use.

Link: https://lkml.kernel.org/r/20210503180737.2487560-7-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 7ec5412f689eaa304395d3b6f857d98353ecc1d7
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420973/
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I130c9f7cdfe0404dbd7bed48f19eddec65ea1c48
2021-06-04 19:13:10 +00:00
Axel Rasmussen
6a41f38998 FROMGIT: userfaultfd/shmem: advertise shmem minor fault support
Now that the feature is fully implemented (the faulting path hooks exist
so userspace is notified, and the ioctl to resolve such faults is
available), advertise this as a supported feature.

Link: https://lkml.kernel.org/r/20210503180737.2487560-6-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Acked-by: Hugh Dickins <hughd@google.com>
Acked-by: Peter Xu <peterx@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit b9d806dac47cf75b80185fefb60a1fc54dda2b3e
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420971/
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I5fbab3783ff8671c0a5aa4826aead2d63f5cbbf3
2021-06-04 19:13:03 +00:00
Axel Rasmussen
81231b63ad FROMGIT: userfaultfd/shmem: support UFFDIO_CONTINUE for shmem
With this change, userspace can resolve a minor fault within a
shmem-backed area with a UFFDIO_CONTINUE ioctl.  The semantics for this
match those for hugetlbfs - we look up the existing page in the page
cache, and install a PTE for it.

This commit introduces a new helper: mfill_atomic_install_pte.

Why handle UFFDIO_CONTINUE for shmem in mm/userfaultfd.c, instead of in
shmem.c?  The existing userfault implementation only relies on shmem.c for
VM_SHARED VMAs.  However, minor fault handling / CONTINUE work just fine
for !VM_SHARED VMAs as well.  We'd prefer to handle CONTINUE for shmem in
one place, regardless of shared/private (to reduce code duplication).

Why add a new mfill_atomic_install_pte helper?  A problem we have with
continue is that shmem_mfill_atomic_pte() and mcopy_atomic_pte() are
*close* to what we want, but not exactly.  We do want to setup the PTEs in
a CONTINUE operation, but we don't want to e.g.  allocate a new page,
charge it (e.g.  to the shmem inode), manipulate various flags, etc.  Also
we have the problem stated above: shmem_mfill_atomic_pte() and
mcopy_atomic_pte() both handle one-half of the problem (shared / private)
continue cares about.  So, introduce mcontinue_atomic_pte(), to handle all
of the shmem continue cases.  Introduce the helper so it doesn't duplicate
code with mcopy_atomic_pte().

In a future commit, shmem_mfill_atomic_pte() will also be modified to use
this new helper.  However, since this is a bigger refactor, it seems most
clear to do it as a separate change.

Link: https://lkml.kernel.org/r/20210503180737.2487560-5-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Acked-by: Hugh Dickins <hughd@google.com>
Acked-by: Peter Xu <peterx@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit ddd01fd4033a660cd26964a7b81efe73d9d76b9d
https: //git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
akpm)
Link: https://lore.kernel.org/patchwork/patch/1420972/
Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I46eb835849e7798a9d23cf53959bd93655b926d4
2021-06-04 19:12:56 +00:00
Axel Rasmussen
0c959cd889 BACKPORT: FROMGIT: userfaultfd/shmem: support minor fault registration for shmem
This patch allows shmem-backed VMAs to be registered for minor faults.
Minor faults are appropriately relayed to userspace in the fault path, for
VMAs with the relevant flag.

This commit doesn't hook up the UFFDIO_CONTINUE ioctl for shmem-backed
minor faults, though, so userspace doesn't yet have a way to resolve such
faults.

Because of this, we also don't yet advertise this as a supported feature.
That will be done in a separate commit when the feature is fully
implemented.

Link: https://lkml.kernel.org/r/20210503180737.2487560-4-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Acked-by: Peter Xu <peterx@redhat.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 5e5c844fd6d406a47c921c54b99f023ee6e3da8b
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm)
Link: https://lore.kernel.org/patchwork/patch/1420970/

Conflicts: mm/shmem.c
(Manual rebase)

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: Ib8e3fe202feab7404742814f4250a0981065368c
2021-06-04 19:12:49 +00:00
Axel Rasmussen
5f6dc07839 BACKPORT: FROMGIT: userfaultfd/shmem: combine shmem_{mcopy_atomic,mfill_zeropage}_pte
Previously, we did a dance where we had one calling path in userfaultfd.c
(mfill_atomic_pte), but then we split it into two in shmem_fs.h
(shmem_{mcopy_atomic,mfill_zeropage}_pte), and then rejoined into a single
shared function in shmem.c (shmem_mfill_atomic_pte).

This is all a bit overly complex.  Just call the single combined shmem
function directly, allowing us to clean up various branches, boilerplate,
etc.

While we're touching this function, two other small cleanup changes:
- offset is equivalent to pgoff, so we can get rid of offset entirely.
- Split two VM_BUG_ON cases into two statements. This means the line
  number reported when the BUG is hit specifies exactly which condition
  was true.

Link: https://lkml.kernel.org/r/20210503180737.2487560-3-axelrasmussen@google.com
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Brian Geffon <bgeffon@google.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Joe Perches <joe@perches.com>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Lokesh Gidra <lokeshgidra@google.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Oliver Upton <oupton@google.com>
Cc: Shaohua Li <shli@fb.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Wang Qing <wangqing@vivo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
(cherry picked from commit 9d86e8f967c5dd2c8a31c02313be5be281b4026e
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm)
Link: https://lore.kernel.org/patchwork/patch/1420969/

Conflicts: mm/shmem.c
(Manual rebase)

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I8b443809643339b407d0bc06bf96146ecfc5a9fa
2021-06-04 19:12:40 +00:00
Lokesh Gidra
84330a5f50 Revert "BACKPORT: FROMGIT: userfaultfd: support minor fault handling for shmem"
This reverts commit d672123ec4 as an
updated version of the patch-set will be merged later.

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I765fe86a2dc0305482a0590c14143dee27840b8a
2021-06-04 19:12:31 +00:00
Lokesh Gidra
13e14ca0e0 Revert "FROMGIT: userfaultfd/selftests: use memfd_create for shmem test type"
This reverts commit 94f1573615 as an
updated version of the patch-set will be merged later.

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I808f6c58429c83f03eae2ad2cbe65a232b2505c8
2021-06-04 19:12:23 +00:00
Lokesh Gidra
72a3f935ad Revert "FROMGIT: userfaultfd/selftests: create alias mappings in the shmem test"
This reverts commit 4a460b5cba as an
updated version of the patch-set will be merged later.

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I13e7cac79661ef46882cc69ab60327fafd212093
2021-06-04 19:12:13 +00:00
Lokesh Gidra
8f6445acee Revert "BACKPORT: FROMGIT: userfaultfd/selftests: reinitialize test context in each test"
This reverts commit 91b66856b8 as an
updated version of the patch-set will be merged later.

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: I239e3f80e27d7e86dc9911cc3dd5640fc2d9bf94
2021-06-04 19:12:04 +00:00
Lokesh Gidra
442b6e0704 Revert "FROMGIT: userfaultfd/selftests: exercise minor fault handling shmem support"
This reverts commit 2039d96cb7 as an
updated version of the patch-set will be merged later.

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug 187930641
Change-Id: Iec5f001d559609b4b3a2239a2b92cd46778437ca
2021-06-04 19:11:56 +00:00
Lokesh Gidra
21a8683a8b Revert "FROMLIST: userfaultfd/shmem: fix minor fault page leak"
This reverts commit 02732576b1 as an
updated version of the patch-set will be merged later.

Signed-off-by: Lokesh Gidra <lokeshgidra@google.com>
Bug: 187930641
Change-Id: Ie6fe2a611d4cbb3bd103c62a90b84e6ba4e89af1
2021-06-04 19:11:30 +00:00
Todd Kjos
f57e3e5112 ANDROID: GKI: 6/4/2021 KMI update
Set KMI_GENERATION=6 for 6/4 KMI update

Leaf changes summary: 3671 artifacts changed (2 filtered out)
Changed leaf types summary: 231 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 3377 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 63 Changed, 0 Added variable

3377 functions with some sub-type change:

  [C] 'function void* PDE_DATA(const inode*)' at generic.c:799:1 has some sub-type changes:
    CRC (modversions) changed from 0xff685e4c to 0x121116eb

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

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

  ... 3374 omitted; 3377 symbols have only CRC changes

63 Changed variables:

  [C] 'net init_net' was changed at net_namespace.c:47:1:
    size of symbol changed from 4288 to 4416
    CRC (modversions) changed from 0x4d92180d to 0xef9d0459
    type of variable changed:
      type size changed from 34304 to 35328 (in bits)
      there are data member changes:
        type 'struct netns_packet' of 'net::packet' changed:
          type size changed from 320 to 448 (in bits)
          there are data member changes:
            type 'struct mutex' of 'netns_packet::sklist_lock' changed:
              type size changed from 256 to 384 (in bits)
              1 data member insertion:
                'u64 android_oem_data1[2]', at offset 256 (in bits) at mutex.h:67:1
              3738 impacted interfaces
            'hlist_head sklist' offset changed (by +128 bits)
          3723 impacted interfaces
        'netns_unix unx' offset changed (by +128 bits)
        type 'struct netns_nexthop' of 'net::nexthop' changed:
          type size changed from 640 to 768 (in bits)
          there are data member changes:
            type 'struct blocking_notifier_head' of 'netns_nexthop::notifier_chain' changed:
              type size changed from 448 to 576 (in bits)
              there are data member changes:
                type 'struct rw_semaphore' of 'blocking_notifier_head::rwsem' changed:
                  type size changed from 384 to 512 (in bits)
                  1 data member insertion:
                    'u64 android_oem_data1[2]', at offset 384 (in bits) at rwsem.h:56:1
                  3745 impacted interfaces
                'notifier_block* head' offset changed (by +128 bits)
              3734 impacted interfaces
          3723 impacted interfaces
        and offset changed from 4416 to 4544 (in bits) (by +128 bits)
        type 'struct netns_ipv4' of 'net::ipv4' changed:
          type size hasn't changed
          there are data member changes:
            type 'struct mutex' of 'netns_ipv4::ra_mutex' changed, as reported earlier
            96 ('fib_rules_ops* rules_ops' .. 'unsigned long int sysctl_tcp_comp_sack_slack_ns') offsets changed (by +128 bits)
          3723 impacted interfaces
        and offset changed from 5120 to 5632 (in bits) (by +512 bits)
        12 ('netns_ipv6 ipv6' .. 'netns_bpf bpf') offsets changed (by +512 bits)
        type 'struct netns_xfrm' of 'net::xfrm' changed:
          type size hasn't changed
          there are data member changes:
            type 'struct mutex' of 'netns_xfrm::xfrm_cfg_mutex' changed, as reported earlier
          3723 impacted interfaces
        and offset changed from 27136 to 27648 (in bits) (by +512 bits)
        'atomic64_t net_cookie' offset changed (by +512 bits)
        type 'struct netns_xdp' of 'net::xdp' changed:
          type size changed from 320 to 448 (in bits)
          there are data member changes:
            type 'struct mutex' of 'netns_xdp::lock' changed, as reported earlier
            'hlist_head list' offset changed (by +128 bits)
          3723 impacted interfaces
        and offset changed from 33856 to 34368 (in bits) (by +512 bits)
        'sock* diag_nlsk' offset changed (by +640 bits)
      3723 impacted interfaces

  [C] 'task_struct init_task' was changed at init_task.c:64:1:
    size of symbol changed from 4480 to 4672
    CRC (modversions) changed from 0x62435c95 to 0x700ac6a
    type of variable changed:
      type size changed from 35840 to 37376 (in bits)
      there are data member changes:
        type 'struct mutex' of 'task_struct::futex_exit_mutex' changed, as reported earlier
        2 ('unsigned int futex_state' .. 'perf_event_context* perf_event_ctxp[2]') offsets changed (by +128 bits)
        type 'struct mutex' of 'task_struct::perf_event_mutex' changed, as reported earlier
        and offset changed from 20160 to 20288 (in bits) (by +128 bits)
        2 ('list_head perf_event_list' .. 'tlbflush_unmap_batch tlb_ubc') offsets changed (by +256 bits)
        anonymous data member 'union {refcount_t rcu_users; callback_head rcu;}' offset changed from 20544 to 20800 (in bits) (by +256 bits)
        18 ('pipe_inode_info* splice_pipe' .. 'u64 android_vendor_data1[64]') offsets changed (by +256 bits)
        type 'u64[6]' of 'task_struct::android_oem_data1' changed:
          type name changed from 'u64[6]' to 'u64[32]'
          array type size changed from 384 to 2048
          array type subrange 1 changed length from 6 to 32
        and offset changed from 25856 to 26112 (in bits) (by +256 bits)
        9 ('u64 android_kabi_reserved1' .. 'thread_struct thread') offsets changed (by +1920 bits)
      3723 impacted interfaces

  [C] 'rq runqueues' was changed at core.c:54:1:
    size of symbol changed from 4416 to 4544
    CRC (modversions) changed from 0xe2c232cf to 0xc76a4ea1
    type of variable changed:
      type size changed from 35328 to 36352 (in bits)
      1 data member insertion:
        'u64 android_oem_data1[16]', at offset 34880 (in bits) at sched.h:1078:1
      there are data member changes:
        4 ('u64 android_kabi_reserved1' .. 'u64 android_kabi_reserved4') offsets changed (by +1024 bits)
      3723 impacted interfaces

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

  [C] 'neigh_table arp_tbl' was changed at arp.c:152:1:
    CRC (modversions) changed from 0xcf671bfd to 0x832f8bb5

  [C] 'const address_space_operations balloon_aops' was changed at balloon_compaction.c:253:1:
    CRC (modversions) changed from 0xab8331f2 to 0x31e6cab1

  ... 57 omitted; 60 symbols have only CRC changes

'enum android_debug_symbol at android_debug_symbols.h:9:1' changed:
  type size hasn't changed
  1 enumerator insertion:
    'android_debug_symbol::ADS_NR_SWAP_PAGES' value '14'
  1 enumerator change:
    'android_debug_symbol::ADS_END' from value '14' to '15' at android_debug_symbols.h:9:1
  one impacted interface

'enum cpuhp_state at cpuhotplug.h:25:1' changed:
  type size hasn't changed
  1 enumerator insertion:
    'cpuhp_state::CPUHP_AP_TI_GP_TIMER_STARTING' value '130'
  59 enumerator changes:
    'cpuhp_state::CPUHP_AP_HYPERV_TIMER_STARTING' from value '130' to '131' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_KVM_STARTING' from value '131' to '132' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_KVM_ARM_VGIC_INIT_STARTING' from value '132' to '133' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_KVM_ARM_VGIC_STARTING' from value '133' to '134' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_KVM_ARM_TIMER_STARTING' from value '134' to '135' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_DUMMY_TIMER_STARTING' from value '135' to '136' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ARM_XEN_STARTING' from value '136' to '137' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ARM_CORESIGHT_STARTING' from value '137' to '138' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ARM_CORESIGHT_CTI_STARTING' from value '138' to '139' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ARM64_ISNDEP_STARTING' from value '139' to '140' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_SMPCFD_DYING' from value '140' to '141' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_X86_TBOOT_DYING' from value '141' to '142' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ARM_CACHE_B15_RAC_DYING' from value '142' to '143' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ONLINE' from value '143' to '144' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_TEARDOWN_CPU' from value '144' to '145' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ONLINE_IDLE' from value '145' to '146' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_SMPBOOT_THREADS' from value '146' to '147' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_X86_VDSO_VMA_ONLINE' from value '147' to '148' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_IRQ_AFFINITY_ONLINE' from value '148' to '149' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_BLK_MQ_ONLINE' from value '149' to '150' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ARM_MVEBU_SYNC_CLOCKS' from value '150' to '151' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_X86_INTEL_EPB_ONLINE' from value '151' to '152' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ONLINE' from value '152' to '153' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_ONLINE' from value '153' to '154' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_UNCORE_ONLINE' from value '154' to '155' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_AMD_UNCORE_ONLINE' from value '155' to '156' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_AMD_POWER_ONLINE' from value '156' to '157' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_RAPL_ONLINE' from value '157' to '158' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_CQM_ONLINE' from value '158' to '159' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_X86_CSTATE_ONLINE' from value '159' to '160' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_S390_CF_ONLINE' from value '160' to '161' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_S390_SF_ONLINE' from value '161' to '162' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_CCI_ONLINE' from value '162' to '163' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_CCN_ONLINE' from value '163' to '164' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_HISI_DDRC_ONLINE' from value '164' to '165' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_HISI_HHA_ONLINE' from value '165' to '166' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_HISI_L3_ONLINE' from value '166' to '167' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_L2X0_ONLINE' from value '167' to '168' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_QCOM_L2_ONLINE' from value '168' to '169' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE' from value '169' to '170' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_APM_XGENE_ONLINE' from value '170' to '171' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_ARM_CAVIUM_TX2_UNCORE_ONLINE' from value '171' to '172' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_POWERPC_NEST_IMC_ONLINE' from value '172' to '173' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_POWERPC_CORE_IMC_ONLINE' from value '173' to '174' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_POWERPC_THREAD_IMC_ONLINE' from value '174' to '175' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE' from value '175' to '176' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE' from value '176' to '177' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE' from value '177' to '178' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_WATCHDOG_ONLINE' from value '178' to '179' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_WORKQUEUE_ONLINE' from value '179' to '180' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_RCUTREE_ONLINE' from value '180' to '181' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_BASE_CACHEINFO_ONLINE' from value '181' to '182' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ONLINE_DYN' from value '182' to '183' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ONLINE_DYN_END' from value '212' to '213' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_X86_HPET_ONLINE' from value '213' to '214' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_X86_KVM_CLK_ONLINE' from value '214' to '215' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_DTPM_CPU_ONLINE' from value '215' to '216' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_AP_ACTIVE' from value '216' to '217' at cpuhotplug.h:25:1
    'cpuhp_state::CPUHP_ONLINE' from value '217' to '218' at cpuhotplug.h:25:1
  5 impacted interfaces
'struct Scsi_Host at scsi_host.h:524:1' changed (indirectly):
  type size changed from 17920 to 18432 (in bits)
  there are data member changes:
    type 'struct mutex' of 'Scsi_Host::scan_mutex' changed, as reported earlier
    6 ('list_head eh_cmd_q' .. 'scsi_transport_template* transportt') offsets changed (by +128 bits)
    type 'struct blk_mq_tag_set' of 'Scsi_Host::tag_set' changed:
      type size changed from 2368 to 2496 (in bits)
      there are data member changes:
        type 'struct mutex' of 'blk_mq_tag_set::tag_list_lock' changed, as reported earlier
        'list_head tag_list' offset changed (by +128 bits)
      3723 impacted interfaces
    and offset changed from 1344 to 1472 (in bits) (by +128 bits)
    33 ('atomic_t host_blocked' .. 'scsi_host_state shost_state') offsets changed (by +256 bits)
    type 'struct device' of 'Scsi_Host::shost_gendev' changed:
      type size changed from 6272 to 6400 (in bits)
      there are data member changes:
        type 'struct mutex' of 'device::mutex' changed, as reported earlier
        'dev_links_info links' offset changed (by +128 bits)
        type 'struct dev_pm_info' of 'device::power' changed:
          type size hasn't changed
          1 data member insertion:
            'unsigned int needs_force_resume', at offset 6 (in bits) at pm.h:603:1
          there are data member changes:
            'unsigned int runtime_auto' offset changed (by +1 bits)
            'bool ignore_children' offset changed (by -7 bits)
            5 ('unsigned int no_callbacks' .. 'unsigned int memalloc_noio') offsets changed (by +1 bits)
          3723 impacted interfaces
        and offset changed from 1984 to 2112 (in bits) (by +128 bits)
        26 ('dev_pm_domain* pm_domain' .. 'dev_iommu* iommu') offsets changed (by +128 bits)
      3723 impacted interfaces
    and offset changed from 5248 to 5504 (in bits) (by +256 bits)
    type 'struct device' of 'Scsi_Host::shost_dev' changed, as reported earlier
    and offset changed from 11520 to 11904 (in bits) (by +384 bits)
    3 ('void* shost_data' .. 'unsigned long int hostdata[]') offsets changed (by +512 bits)
  63 impacted interfaces

'struct address_space at fs.h:451:1' changed (indirectly):
  type size changed from 1408 to 1536 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'address_space::i_mmap_rwsem' changed, as reported earlier
    9 ('unsigned long int nrpages' .. 'void* private_data') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct amba_device at bus.h:64:1' changed (indirectly):
  type size changed from 7872 to 8000 (in bits)
  there are data member changes:
    type 'struct device' of 'amba_device::dev' changed, as reported earlier
    8 ('resource res' .. 'char* driver_override') offsets changed (by +128 bits)
  4 impacted interfaces

'struct anon_vma at rmap.h:29:1' changed (indirectly):
  type size changed from 704 to 832 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'anon_vma::rwsem' changed, as reported earlier
    4 ('atomic_t refcount' .. 'rb_root_cached rb_root') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct backlight_device at backlight.h:280:1' changed (indirectly):
  type size changed from 7744 to 8128 (in bits)
  there are data member changes:
    type 'struct mutex' of 'backlight_device::update_lock' changed, as reported earlier
    type 'struct mutex' of 'backlight_device::ops_lock' changed, as reported earlier
    and offset changed from 512 to 640 (in bits) (by +128 bits)
    3 ('const backlight_ops* ops' .. 'list_head entry') offsets changed (by +256 bits)
    type 'struct device' of 'backlight_device::dev' changed, as reported earlier
    and offset changed from 1152 to 1408 (in bits) (by +256 bits)
    2 ('bool fb_bl_on[32]' .. 'int use_count') offsets changed (by +384 bits)
  17 impacted interfaces

'struct binder_alloc at binder_alloc.h:101:1' changed (indirectly):
  type size changed from 1088 to 1216 (in bits)
  there are data member changes:
    type 'struct mutex' of 'binder_alloc::mutex' changed, as reported earlier
    13 ('vm_area_struct* vma' .. 'bool oneway_spam_detected') offsets changed (by +128 bits)
  5 impacted interfaces

'struct binder_context at binder_internal.h:18:1' changed (indirectly):
  type size changed from 448 to 576 (in bits)
  there are data member changes:
    type 'struct mutex' of 'binder_context::context_mgr_node_lock' changed, as reported earlier
    2 ('kuid_t binder_context_mgr_uid' .. 'const char* name') offsets changed (by +128 bits)
  5 impacted interfaces

'struct binder_proc at binder_internal.h:439:1' changed (indirectly):
  type size changed from 4672 to 4800 (in bits)
  there are data member changes:
    type 'struct binder_alloc' of 'binder_proc::alloc' changed, as reported earlier
    5 ('binder_context* context' .. 'bool oneway_spam_detection_enabled') offsets changed (by +128 bits)
  5 impacted interfaces

'struct blk_keyslot_manager at keyslot-manager.h:52:1' changed (indirectly):
  type size changed from 1472 to 1600 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'blk_keyslot_manager::lock' changed, as reported earlier
    6 ('wait_queue_head_t idle_slots_wait_queue' .. 'blk_ksm_keyslot* slots') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct blk_mq_tag_set at blk-mq.h:249:1' changed (indirectly):
  details were reported earlier

'struct block_device at blk_types.h:23:1' changed (indirectly):
  type size changed from 1536 to 1792 (in bits)
  there are data member changes:
    type 'struct mutex' of 'block_device::bd_mutex' changed, as reported earlier
    13 ('void* bd_claiming' .. 'int bd_fsfreeze_count') offsets changed (by +128 bits)
    type 'struct mutex' of 'block_device::bd_fsfreeze_mutex' changed, as reported earlier
    and offset changed from 1216 to 1344 (in bits) (by +128 bits)
    'super_block* bd_fsfreeze_sb' offset changed (by +256 bits)
  3723 impacted interfaces

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

'struct bpf_local_storage_map at bpf_local_storage.h:42:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct bpf_map' of 'bpf_local_storage_map::map' changed:
      type size hasn't changed
      there are data member changes:
        type 'struct mutex' of 'bpf_map::freeze_mutex' changed, as reported earlier
        'u64 writecnt' offset changed (by +128 bits)
      3723 impacted interfaces
  3723 impacted interfaces

'struct bpf_map at bpf.h:142:1' changed (indirectly):
  details were reported earlier

'struct bpf_offloaded_map at bpf.h:223:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct bpf_map' of 'bpf_offloaded_map::map' changed, as reported earlier
  3723 impacted interfaces

'struct bpf_prog_aux at bpf.h:774:1' changed (indirectly):
  type size changed from 5056 to 5312 (in bits)
  there are data member changes:
    type 'struct mutex' of 'bpf_prog_aux::dst_mutex' changed, as reported earlier
    20 ('bpf_prog* dst_prog' .. 'bpf_map** used_maps') offsets changed (by +128 bits)
    type 'struct mutex' of 'bpf_prog_aux::used_maps_mutex' changed, as reported earlier
    and offset changed from 3392 to 3520 (in bits) (by +128 bits)
    18 ('bpf_prog* prog' .. 'bpf_prog_stats* stats') offsets changed (by +256 bits)
    anonymous data member 'union {work_struct work; callback_head rcu;}' offset changed from 4800 to 5056 (in bits) (by +256 bits)
  3723 impacted interfaces

'struct bpf_trampoline at bpf.h:602:1' changed (indirectly):
  type size changed from 1280 to 1408 (in bits)
  there are data member changes:
    type 'struct mutex' of 'bpf_trampoline::mutex' changed, as reported earlier
    8 ('refcount_t refcnt' .. 'u64 selector') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct cec_adapter at cec.h:201:1' changed (indirectly):
  type size changed from 11840 to 12224 (in bits)
  there are data member changes:
    type 'struct cec_devnode' of 'cec_adapter::devnode' changed:
      type size changed from 7808 to 8064 (in bits)
      there are data member changes:
        type 'struct device' of 'cec_devnode::dev' changed, as reported earlier
        5 ('cdev cdev' .. 'list_head fhs') offsets changed (by +128 bits)
        type 'struct mutex' of 'cec_devnode::lock' changed, as reported earlier
        and offset changed from 7552 to 7680 (in bits) (by +128 bits)
      34 impacted interfaces
    type 'struct mutex' of 'cec_adapter::lock' changed, as reported earlier
    and offset changed from 8128 to 8384 (in bits) (by +256 bits)
    35 ('rc_dev* rc' .. 'char input_phys[32]') offsets changed (by +384 bits)
  34 impacted interfaces

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

'struct cec_fh at cec.h:83:1' changed (indirectly):
  type size changed from 3776 to 3904 (in bits)
  there are data member changes:
    type 'struct mutex' of 'cec_fh::lock' changed, as reported earlier
    6 ('list_head events[8]' .. 'unsigned int queued_msgs') offsets changed (by +128 bits)
  34 impacted interfaces

'struct cgroup at cgroup-defs.h:356:1' changed (indirectly):
  type size changed from 20480 to 20864 (in bits)
  there are data member changes:
    type 'struct mutex' of 'cgroup::pidlist_mutex' changed, as reported earlier
    2 ('wait_queue_head_t offline_waitq' .. 'work_struct release_agent_work') offsets changed (by +128 bits)
    type 'struct psi_group' of 'cgroup::psi' changed:
      type size changed from 5056 to 5312 (in bits)
      there are data member changes:
        type 'struct mutex' of 'psi_group::avgs_lock' changed, as reported earlier
        11 ('psi_group_cpu* pcpu' .. 'atomic_t poll_wakeup') offsets changed (by +128 bits)
        type 'struct mutex' of 'psi_group::trigger_lock' changed, as reported earlier
        and offset changed from 3968 to 4096 (in bits) (by +128 bits)
        7 ('list_head triggers' .. 'u64 polling_until') offsets changed (by +256 bits)
      3723 impacted interfaces
    and offset changed from 6144 to 6272 (in bits) (by +128 bits)
    4 ('cgroup_bpf bpf' .. 'u64 ancestor_ids[]') offsets changed (by +384 bits)
  3723 impacted interfaces

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

'struct cma at cma.h:13:1' changed:
  type size changed from 1472 to 1856 (in bits)
  1 data member insertion:
    'u64 android_oem_data1[4]', at offset 1600 (in bits) at cma.h:34:1
  there are data member changes:
    type 'struct mutex' of 'cma::lock' changed, as reported earlier
    7 ('hlist_head mem_head' .. 'cma_kobject* cma_kobj') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct configfs_subsystem at configfs.h:226:1' changed (indirectly):
  type size changed from 1344 to 1472 (in bits)
  there are data member changes:
    type 'struct mutex' of 'configfs_subsystem::su_mutex' changed, as reported earlier
  19 impacted interfaces

'struct cpufreq_policy at cpufreq.h:51:1' changed (indirectly):
  type size changed from 5568 to 5952 (in bits)
  there are data member changes:
    type 'struct freq_constraints' of 'cpufreq_policy::constraints' changed:
      type size changed from 1536 to 1792 (in bits)
      there are data member changes:
        type 'struct blocking_notifier_head' of 'freq_constraints::min_freq_notifiers' changed, as reported earlier
        'pm_qos_constraints max_freq' offset changed (by +128 bits)
        type 'struct blocking_notifier_head' of 'freq_constraints::max_freq_notifiers' changed, as reported earlier
        and offset changed from 1088 to 1216 (in bits) (by +128 bits)
      3727 impacted interfaces
    7 ('freq_qos_request* min_freq_req' .. 'completion kobj_unregister') offsets changed (by +256 bits)
    type 'struct rw_semaphore' of 'cpufreq_policy::rwsem' changed, as reported earlier
    and offset changed from 4096 to 4352 (in bits) (by +256 bits)
    16 ('bool fast_switch_possible' .. 'notifier_block nb_max') offsets changed (by +384 bits)
  31 impacted interfaces

'struct dev_iommu at iommu.h:388:1' changed (indirectly):
  type size changed from 512 to 640 (in bits)
  there are data member changes:
    type 'struct mutex' of 'dev_iommu::lock' changed, as reported earlier
    4 ('iommu_fault_param* fault_param' .. 'void* priv') offsets changed (by +128 bits)
  3723 impacted interfaces

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

'struct dev_pm_qos at pm_qos.h:117:1' changed (indirectly):
  type size changed from 2560 to 2816 (in bits)
  there are data member changes:
    type 'struct freq_constraints' of 'dev_pm_qos::freq' changed, as reported earlier
    4 ('pm_qos_flags flags' .. 'dev_pm_qos_request* flags_req') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct devfreq at devfreq.h:172:1' changed (indirectly):
  type size changed from 15744 to 16512 (in bits)
  there are data member changes:
    type 'struct mutex' of 'devfreq::lock' changed, as reported earlier
    type 'struct device' of 'devfreq::dev' changed, as reported earlier
    and offset changed from 384 to 512 (in bits) (by +128 bits)
    17 ('devfreq_dev_profile* profile' .. 'devfreq_stats stats') offsets changed (by +256 bits)
    type 'struct srcu_notifier_head' of 'devfreq::transition_notifier_list' changed:
      type size changed from 5248 to 5760 (in bits)
      there are data member changes:
        type 'struct mutex' of 'srcu_notifier_head::mutex' changed, as reported earlier
        type 'struct srcu_struct' of 'srcu_notifier_head::srcu' changed:
          type size changed from 4928 to 5312 (in bits)
          there are data member changes:
            type 'struct mutex' of 'srcu_struct::srcu_cb_mutex' changed, as reported earlier
            'spinlock_t lock' offset changed (by +128 bits)
            type 'struct mutex' of 'srcu_struct::srcu_gp_mutex' changed, as reported earlier
            and offset changed from 2816 to 2944 (in bits) (by +128 bits)
            7 ('unsigned int srcu_idx' .. 'unsigned long int srcu_barrier_seq') offsets changed (by +256 bits)
            type 'struct mutex' of 'srcu_struct::srcu_barrier_mutex' changed, as reported earlier
            and offset changed from 3520 to 3776 (in bits) (by +256 bits)
            3 ('completion srcu_barrier_completion' .. 'delayed_work work') offsets changed (by +384 bits)
          3723 impacted interfaces
        and offset changed from 256 to 384 (in bits) (by +128 bits)
        'notifier_block* head' offset changed (by +512 bits)
      63 impacted interfaces
    and offset changed from 10112 to 10368 (in bits) (by +256 bits)
    2 ('notifier_block nb_min' .. 'notifier_block nb_max') offsets changed (by +768 bits)
  59 impacted interfaces

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

'struct device_link at device.h:572:1' changed:
  type size changed from 7104 to 7488 (in bits)
  1 data member insertion:
    'work_struct rm_work', at offset 7040 (in bits) at device.h:586:1
  there are data member changes:
    type 'struct device' of 'device_link::link_dev' changed, as reported earlier
    5 ('device_link_state status' .. 'callback_head callback_head') offsets changed (by +128 bits)
    3 ('bool supplier_preactivated' .. 'u64 android_kabi_reserved2') offsets changed (by +384 bits)
  2 impacted interfaces

'struct disk_events at genhd.c:1887:1' changed (indirectly):
  type size changed from 1536 to 1664 (in bits)
  there are data member changes:
    type 'struct mutex' of 'disk_events::block_mutex' changed, as reported earlier
    5 ('int block' .. 'delayed_work dwork') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct dma_buf at dma-buf.h:397:1' changed (indirectly):
  type size changed from 3392 to 3520 (in bits)
  there are data member changes:
    type 'struct mutex' of 'dma_buf::lock' changed, as reported earlier
    16 ('unsigned int vmapping_counter' .. 'vm_operations_struct vm_ops') offsets changed (by +128 bits)
  442 impacted interfaces

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

'struct dma_device at dmaengine.h:849:1' changed (indirectly):
  type size changed from 3264 to 3392 (in bits)
  there are data member changes:
    type 'struct mutex' of 'dma_device::chan_mutex' changed, as reported earlier
    33 ('u32 src_addr_widths' .. 'dentry* dbg_dev_root') offsets changed (by +128 bits)
  37 impacted interfaces

'struct dma_resv at dma-resv.h:70:1' changed (indirectly):
  type size changed from 512 to 640 (in bits)
  there are data member changes:
    type 'struct ww_mutex' of 'dma_resv::lock' changed:
      type size changed from 320 to 448 (in bits)
      there are data member changes:
        type 'struct mutex' of 'ww_mutex::base' changed, as reported earlier
        'ww_acquire_ctx* ctx' offset changed (by +128 bits)
      806 impacted interfaces
    3 ('seqcount_ww_mutex_t seq' .. 'dma_resv_list* fence') offsets changed (by +128 bits)
  452 impacted interfaces

'struct dmabuf_page_pool at page_pool.h:40:1' changed (indirectly):
  type size changed from 768 to 896 (in bits)
  there are data member changes:
    type 'struct mutex' of 'dmabuf_page_pool::mutex' changed, as reported earlier
    3 ('gfp_t gfp_mask' .. 'list_head list') offsets changed (by +128 bits)
  4 impacted interfaces

'struct dquot at quota.h:294:1' changed (indirectly):
  type size changed from 1664 to 1792 (in bits)
  there are data member changes:
    type 'struct mutex' of 'dquot::dq_lock' changed, as reported earlier
    7 ('spinlock_t dq_dqb_lock' .. 'mem_dqblk dq_dqb') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct drm_bridge at drm_bridge.h:706:1' changed (indirectly):
  type size changed from 1920 to 2176 (in bits)
  there are data member changes:
    type 'struct drm_private_obj' of 'drm_bridge::base' changed:
      type size changed from 704 to 832 (in bits)
      there are data member changes:
        type 'struct drm_modeset_lock' of 'drm_private_obj::lock' changed:
          type size changed from 448 to 576 (in bits)
          there are data member changes:
            type 'struct ww_mutex' of 'drm_modeset_lock::mutex' changed, as reported earlier
            'list_head head' offset changed (by +128 bits)
          340 impacted interfaces
        2 ('drm_private_state* state' .. 'const drm_private_state_funcs* funcs') offsets changed (by +128 bits)
      333 impacted interfaces
    12 ('drm_device* dev' .. 'i2c_adapter* ddc') offsets changed (by +128 bits)
    type 'struct mutex' of 'drm_bridge::hpd_mutex' changed, as reported earlier
    and offset changed from 1536 to 1664 (in bits) (by +128 bits)
    2 ('void (void*, enum drm_connector_status)* hpd_cb' .. 'void* hpd_data') offsets changed (by +256 bits)
  14 impacted interfaces

'struct drm_client_dev at drm_client.h:70:1' changed (indirectly):
  type size changed from 704 to 832 (in bits)
  there are data member changes:
    type 'struct mutex' of 'drm_client_dev::modeset_mutex' changed, as reported earlier
    'drm_mode_set* modesets' offset changed (by +128 bits)
  333 impacted interfaces

'struct drm_connector at drm_connector.h:1170:1' changed (indirectly):
  type size changed from 14464 to 14592 (in bits)
  there are data member changes:
    type 'struct mutex' of 'drm_connector::mutex' changed, as reported earlier
    52 ('unsigned int index' .. 'hdr_sink_metadata hdr_sink_metadata') offsets changed (by +128 bits)
  333 impacted interfaces

'struct drm_crtc at drm_crtc.h:939:1' changed (indirectly):
  type size changed from 13120 to 13248 (in bits)
  there are data member changes:
    type 'struct drm_modeset_lock' of 'drm_crtc::mutex' changed, as reported earlier
    26 ('drm_mode_object base' .. 'drm_self_refresh_data* self_refresh_data') offsets changed (by +128 bits)
  333 impacted interfaces

'struct drm_device at drm_device.h:53:1' changed (indirectly):
  type size changed from 12800 to 14080 (in bits)
  there are data member changes:
    type 'struct mutex' of 'drm_device::struct_mutex' changed, as reported earlier
    type 'struct mutex' of 'drm_device::master_mutex' changed, as reported earlier
    and offset changed from 1344 to 1472 (in bits) (by +128 bits)
    'atomic_t open_count' offset changed (by +256 bits)
    type 'struct mutex' of 'drm_device::filelist_mutex' changed, as reported earlier
    and offset changed from 1664 to 1920 (in bits) (by +256 bits)
    2 ('list_head filelist' .. 'list_head filelist_internal') offsets changed (by +384 bits)
    type 'struct mutex' of 'drm_device::clientlist_mutex' changed, as reported earlier
    and offset changed from 2176 to 2560 (in bits) (by +384 bits)
    13 ('list_head clientlist' .. 'unsigned int num_crtcs') offsets changed (by +512 bits)
    type 'struct drm_mode_config' of 'drm_device::mode_config' changed:
      type size changed from 8832 to 9472 (in bits)
      there are data member changes:
        type 'struct mutex' of 'drm_mode_config::mutex' changed, as reported earlier
        type 'struct drm_modeset_lock' of 'drm_mode_config::connection_mutex' changed, as reported earlier
        and offset changed from 256 to 384 (in bits) (by +128 bits)
        'drm_modeset_acquire_ctx* acquire_ctx' offset changed (by +256 bits)
        type 'struct mutex' of 'drm_mode_config::idr_mutex' changed, as reported earlier
        and offset changed from 768 to 1024 (in bits) (by +256 bits)
        2 ('idr object_idr' .. 'idr tile_idr') offsets changed (by +384 bits)
        type 'struct mutex' of 'drm_mode_config::fb_lock' changed, as reported earlier
        and offset changed from 1408 to 1792 (in bits) (by +384 bits)
        26 ('int num_fb' .. 'delayed_work output_poll_work') offsets changed (by +512 bits)
        type 'struct mutex' of 'drm_mode_config::blob_lock' changed, as reported earlier
        and offset changed from 4480 to 4992 (in bits) (by +512 bits)
        71 ('list_head property_blob_list' .. 'const drm_mode_config_helper_funcs* helper_private') offsets changed (by +640 bits)
      333 impacted interfaces
    and offset changed from 3264 to 3776 (in bits) (by +512 bits)
    type 'struct mutex' of 'drm_device::object_name_lock' changed, as reported earlier
    and offset changed from 12096 to 13248 (in bits) (by +1152 bits)
    5 ('idr object_name_idr' .. 'drm_fb_helper* fb_helper') offsets changed (by +1280 bits)
  333 impacted interfaces

'struct drm_dp_aux at drm_dp_helper.h:1580:1' changed (indirectly):
  type size changed from 10688 to 11200 (in bits)
  there are data member changes:
    type 'struct i2c_adapter' of 'drm_dp_aux::ddc' changed:
      type size changed from 8512 to 8768 (in bits)
      there are data member changes:
        type 'struct device' of 'i2c_adapter::dev' changed, as reported earlier
        4 ('unsigned long int locked_flags' .. 'completion dev_released') offsets changed (by +128 bits)
        type 'struct mutex' of 'i2c_adapter::userspace_clients_lock' changed, as reported earlier
        and offset changed from 7936 to 8064 (in bits) (by +128 bits)
        4 ('list_head userspace_clients' .. 'irq_domain* host_notify_domain') offsets changed (by +256 bits)
      369 impacted interfaces
    2 ('device* dev' .. 'drm_crtc* crtc') offsets changed (by +256 bits)
    type 'struct mutex' of 'drm_dp_aux::hw_mutex' changed, as reported earlier
    and offset changed from 8704 to 8960 (in bits) (by +256 bits)
    5 ('work_struct crc_work' .. 'unsigned int i2c_defer_count') offsets changed (by +384 bits)
    type 'struct drm_dp_aux_cec' of 'drm_dp_aux::cec' changed:
      type size changed from 1216 to 1344 (in bits)
      there are data member changes:
        type 'struct mutex' of 'drm_dp_aux_cec::lock' changed, as reported earlier
        3 ('cec_adapter* adap' .. 'delayed_work unregister_work') offsets changed (by +128 bits)
      24 impacted interfaces
    and offset changed from 9408 to 9792 (in bits) (by +384 bits)
    'bool is_remote' offset changed (by +512 bits)
  24 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 11520 to 12032 (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* parent' .. 'bool fec_capable') offsets changed (by +512 bits)
  18 impacted interfaces

'struct drm_dp_mst_topology_mgr at drm_dp_mst_helper.h:568:1' changed (indirectly):
  type size changed from 10240 to 11136 (in bits)
  there are data member changes:
    type 'struct drm_private_obj' of 'drm_dp_mst_topology_mgr::base' changed, as reported earlier
    8 ('drm_device* dev' .. 'drm_dp_sideband_msg_rx down_rep_recv') offsets changed (by +128 bits)
    type 'struct mutex' of 'drm_dp_mst_topology_mgr::lock' changed, as reported earlier
    and offset changed from 6272 to 6400 (in bits) (by +128 bits)
    type 'struct mutex' of 'drm_dp_mst_topology_mgr::probe_lock' changed, as reported earlier
    and offset changed from 6528 to 6784 (in bits) (by +256 bits)
    5 ('drm_dp_mst_branch* mst_primary' .. 'const drm_private_state_funcs* funcs') offsets changed (by +384 bits)
    type 'struct mutex' of 'drm_dp_mst_topology_mgr::qlock' changed, as reported earlier
    and offset changed from 7168 to 7552 (in bits) (by +384 bits)
    'list_head tx_msg_downq' offset changed (by +512 bits)
    type 'struct mutex' of 'drm_dp_mst_topology_mgr::payload_lock' changed, as reported earlier
    and offset changed from 7552 to 8064 (in bits) (by +512 bits)
    9 ('drm_dp_vcpi** proposed_vcpis' .. 'list_head destroy_branch_device_list') offsets changed (by +640 bits)
    type 'struct mutex' of 'drm_dp_mst_topology_mgr::delayed_destroy_lock' changed, as reported earlier
    and offset changed from 9024 to 9664 (in bits) (by +640 bits)
    3 ('workqueue_struct* delayed_destroy_wq' .. 'list_head up_req_list') offsets changed (by +768 bits)
    type 'struct mutex' of 'drm_dp_mst_topology_mgr::up_req_lock' changed, as reported earlier
    and offset changed from 9728 to 10496 (in bits) (by +768 bits)
    'work_struct up_req_work' offset changed (by +896 bits)
  18 impacted interfaces

'struct drm_fb_helper at drm_fb_helper.h:114:1' changed (indirectly):
  type size changed from 2624 to 2880 (in bits)
  there are data member changes:
    type 'struct drm_client_dev' of 'drm_fb_helper::client' changed, as reported earlier
    10 ('drm_client_buffer* buffer' .. 'work_struct resume_work') offsets changed (by +128 bits)
    type 'struct mutex' of 'drm_fb_helper::lock' changed, as reported earlier
    and offset changed from 2176 to 2304 (in bits) (by +128 bits)
    4 ('list_head kernel_fb_list' .. 'int preferred_bpp') offsets changed (by +256 bits)
  333 impacted interfaces

'struct drm_file at drm_file.h:159:1' changed (indirectly):
  type size changed from 2752 to 3136 (in bits)
  there are data member changes:
    type 'struct mutex' of 'drm_file::fbs_lock' changed, as reported earlier
    5 ('list_head blobs' .. 'int event_space') offsets changed (by +128 bits)
    type 'struct mutex' of 'drm_file::event_read_lock' changed, as reported earlier
    and offset changed from 2112 to 2240 (in bits) (by +128 bits)
    type 'struct drm_prime_file_private' of 'drm_file::prime' changed:
      type size changed from 384 to 512 (in bits)
      there are data member changes:
        type 'struct mutex' of 'drm_prime_file_private::lock' changed, as reported earlier
        2 ('rb_root dmabufs' .. 'rb_root handles') offsets changed (by +128 bits)
      333 impacted interfaces
    and offset changed from 2368 to 2624 (in bits) (by +256 bits)
  333 impacted interfaces

'struct drm_gem_cma_object at drm_gem_cma_helper.h:20:1' changed (indirectly):
  type size changed from 2816 to 2944 (in bits)
  there are data member changes:
    type 'struct drm_gem_object' of 'drm_gem_cma_object::base' changed:
      type size changed from 2624 to 2752 (in bits)
      there are data member changes:
        type 'struct dma_resv' of 'drm_gem_object::_resv' changed, as reported earlier
        'const drm_gem_object_funcs* funcs' offset changed (by +128 bits)
      333 impacted interfaces
    3 ('dma_addr_t paddr' .. 'void* vaddr') offsets changed (by +128 bits)
  one impacted interface

'struct drm_gem_object at drm_gem.h:184:1' changed (indirectly):
  details were reported earlier

'struct drm_gem_shmem_object at drm_gem_shmem_helper.h:23:1' changed (indirectly):
  type size changed from 3648 to 4032 (in bits)
  there are data member changes:
    type 'struct drm_gem_object' of 'drm_gem_shmem_object::base' changed, as reported earlier
    type 'struct mutex' of 'drm_gem_shmem_object::pages_lock' changed, as reported earlier
    and offset changed from 2624 to 2752 (in bits) (by +128 bits)
    5 ('page** pages' .. 'sg_table* sgt') offsets changed (by +256 bits)
    type 'struct mutex' of 'drm_gem_shmem_object::vmap_lock' changed, as reported earlier
    and offset changed from 3264 to 3520 (in bits) (by +256 bits)
    3 ('void* vaddr' .. 'bool map_cached') offsets changed (by +384 bits)
  one impacted interface

'struct drm_minor at drm_file.h:70:1' changed (indirectly):
  type size changed from 640 to 768 (in bits)
  there are data member changes:
    type 'struct mutex' of 'drm_minor::debugfs_lock' changed, as reported earlier
  333 impacted interfaces

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

'struct drm_modeset_lock at drm_modeset_lock.h:76:1' changed (indirectly):
  details were reported earlier

'struct drm_plane at drm_plane.h:575:1' changed (indirectly):
  type size changed from 10368 to 10496 (in bits)
  there are data member changes:
    type 'struct drm_modeset_lock' of 'drm_plane::mutex' changed, as reported earlier
    22 ('drm_mode_object base' .. 'drm_property* color_range_property') offsets changed (by +128 bits)
  333 impacted interfaces

'struct drm_prime_file_private at drm_prime.h:45:1' changed (indirectly):
  details were reported earlier

'struct drm_private_obj at drm_atomic.h:252:1' changed (indirectly):
  details were reported earlier

'struct drm_writeback_connector at drm_writeback.h:21:1' changed (indirectly):
  type size changed from 16064 to 16192 (in bits)
  there are data member changes:
    type 'struct drm_connector' of 'drm_writeback_connector::base' changed, as reported earlier
    8 ('drm_encoder encoder' .. 'char timeline_name[32]') offsets changed (by +128 bits)
  333 impacted interfaces

'struct dwc3 at core.h:1099:1' changed (indirectly):
  type size changed from 9984 to 10112 (in bits)
  there are data member changes:
    type 'struct mutex' of 'dwc3::mutex' changed, as reported earlier
    71 ('device* dev' .. 'u64 android_kabi_reserved4') offsets changed (by +128 bits)
  2 impacted interfaces

'struct elevator_mq_ops at elevator.h:29:1' changed:
  type size hasn't changed
  there are data member changes:
    type 'typedef bool (blk_mq_hw_ctx*, bio*, unsigned int)*' of 'elevator_mq_ops::bio_merge' changed:
      pointer type changed from: 'typedef bool (blk_mq_hw_ctx*, bio*, unsigned int)*' to: 'typedef bool (request_queue*, bio*, unsigned int)*'
  3723 impacted interfaces

'struct elevator_queue at elevator.h:101:1' changed (indirectly):
  type size changed from 5312 to 5440 (in bits)
  there are data member changes:
    type 'struct mutex' of 'elevator_queue::sysfs_lock' changed, as reported earlier
    'hlist_head hash[64]' offset changed (by +128 bits)
  3723 impacted interfaces

'struct elevator_type at elevator.h:66:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct elevator_mq_ops' of 'elevator_type::ops' changed, as reported earlier
  3723 impacted interfaces

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

'struct fb_info at fb.h:437:1' changed (indirectly):
  type size changed from 6144 to 6400 (in bits)
  there are data member changes:
    type 'struct mutex' of 'fb_info::lock' changed, as reported earlier
    type 'struct mutex' of 'fb_info::mm_lock' changed, as reported earlier
    and offset changed from 384 to 512 (in bits) (by +128 bits)
    13 ('fb_var_screeninfo var' .. 'int class_flag') offsets changed (by +256 bits)
    anonymous data member 'union {char* screen_base; char* screen_buffer;}' offset changed from 5632 to 5888 (in bits) (by +256 bits)
    7 ('unsigned long int screen_size' .. 'bool skip_vt_switch') offsets changed (by +256 bits)
  340 impacted interfaces

'struct ff_device at input.h:534:1' changed (indirectly):
  type size changed from 960 to 1088 (in bits)
  there are data member changes:
    type 'struct mutex' of 'ff_device::mutex' changed, as reported earlier
    3 ('int max_effects' .. 'file* effect_owners[]') offsets changed (by +128 bits)
  137 impacted interfaces

'struct file at fs.h:916:1' changed (indirectly):
  type size changed from 2048 to 2176 (in bits)
  there are data member changes:
    type 'struct mutex' of 'file::f_pos_lock' changed, as reported earlier
    12 ('loff_t f_pos' .. 'errseq_t f_sb_err') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct fqdir at inet_frag.h:9:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct rhashtable' of 'fqdir::rhashtable' changed:
      type size changed from 1088 to 1216 (in bits)
      there are data member changes:
        type 'struct mutex' of 'rhashtable::mutex' changed, as reported earlier
        2 ('spinlock_t lock' .. 'atomic_t nelems') offsets changed (by +128 bits)
      3727 impacted interfaces
  3723 impacted interfaces

'struct freq_constraints at pm_qos.h:85:1' changed (indirectly):
  details were reported earlier

'struct fs_context at fs_context.h:90:1' changed (indirectly):
  type size changed from 1280 to 1408 (in bits)
  there are data member changes:
    type 'struct mutex' of 'fs_context::uapi_mutex' changed, as reported earlier
    15 ('file_system_type* fs_type' .. 'unsigned int lsm_flags') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct gendisk at genhd.h:176:1' changed (indirectly):
  type size changed from 9344 to 9600 (in bits)
  there are data member changes:
    type 'struct hd_struct' of 'gendisk::part0' changed:
      type size changed from 7552 to 7680 (in bits)
      there are data member changes:
        type 'struct device' of 'hd_struct::__dev' changed, as reported earlier
        9 ('kobject* holder_dir' .. 'u64 android_kabi_reserved4') offsets changed (by +128 bits)
      3723 impacted interfaces
    5 ('const block_device_operations* fops' .. 'unsigned long int state') offsets changed (by +128 bits)
    type 'struct rw_semaphore' of 'gendisk::lookup_sem' changed, as reported earlier
    and offset changed from 8320 to 8448 (in bits) (by +128 bits)
    11 ('kobject* slave_dir' .. 'u64 android_kabi_reserved4') offsets changed (by +256 bits)
  3723 impacted interfaces

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

'struct gnss_device at gnss.h:37:1' changed (indirectly):
  type size changed from 8960 to 9472 (in bits)
  there are data member changes:
    type 'struct device' of 'gnss_device::dev' changed, as reported earlier
    4 ('cdev cdev' .. 'unsigned long int flags') offsets changed (by +128 bits)
    type 'struct rw_semaphore' of 'gnss_device::rwsem' changed, as reported earlier
    and offset changed from 7488 to 7616 (in bits) (by +128 bits)
    2 ('const gnss_operations* ops' .. 'unsigned int count') offsets changed (by +256 bits)
    type 'struct mutex' of 'gnss_device::read_mutex' changed, as reported earlier
    and offset changed from 8000 to 8256 (in bits) (by +256 bits)
    2 ('kfifo read_fifo' .. 'wait_queue_head_t read_queue') offsets changed (by +384 bits)
    type 'struct mutex' of 'gnss_device::write_mutex' changed, as reported earlier
    and offset changed from 8640 to 9024 (in bits) (by +384 bits)
    'char* write_buf' offset changed (by +512 bits)
  5 impacted interfaces

'struct gov_attr_set at cpufreq.h:636:1' changed (indirectly):
  type size changed from 1216 to 1344 (in bits)
  there are data member changes:
    type 'struct mutex' of 'gov_attr_set::update_lock' changed, as reported earlier
    'int usage_count' offset changed (by +128 bits)
  3 impacted interfaces

'struct gpio_device at gpiolib.h:46:1' changed (indirectly):
  type size changed from 8576 to 8832 (in bits)
  there are data member changes:
    type 'struct device' of 'gpio_device::dev' changed, as reported earlier
    10 ('cdev chrdev' .. 'list_head list') offsets changed (by +128 bits)
    type 'struct blocking_notifier_head' of 'gpio_device::notifier' changed, as reported earlier
    and offset changed from 8000 to 8128 (in bits) (by +128 bits)
    'list_head pin_ranges' offset changed (by +256 bits)
  3723 impacted interfaces

'struct gs_port at u_serial.c:98:1' changed (indirectly):
  type size changed from 5184 to 5568 (in bits)
  there are data member changes:
    type 'struct tty_port' of 'gs_port::port' changed:
      type size changed from 2816 to 3200 (in bits)
      there are data member changes:
        type 'struct tty_bufhead' of 'tty_port::buf' changed:
          type size changed from 1088 to 1216 (in bits)
          there are data member changes:
            type 'struct mutex' of 'tty_bufhead::lock' changed, as reported earlier
            6 ('atomic_t priority' .. 'tty_buffer* tail') offsets changed (by +128 bits)
          3723 impacted interfaces
        11 ('tty_struct* tty' .. 'unsigned long int iflags') offsets changed (by +128 bits)
        type 'struct mutex' of 'tty_port::mutex' changed, as reported earlier
        and offset changed from 2048 to 2176 (in bits) (by +128 bits)
        type 'struct mutex' of 'tty_port::buf_mutex' changed, as reported earlier
        and offset changed from 2304 to 2560 (in bits) (by +256 bits)
        6 ('unsigned char* xmit_buf' .. 'void* client_data') offsets changed (by +384 bits)
      3723 impacted interfaces
    19 ('spinlock_t port_lock' .. 'usb_cdc_line_coding port_line_coding') offsets changed (by +384 bits)
  2 impacted interfaces

'struct hci_dev at hci_core.h:283:1' changed (indirectly):
  type size changed from 37312 to 37696 (in bits)
  there are data member changes:
    type 'struct mutex' of 'hci_dev::lock' changed, as reported earlier
    154 ('char name[8]' .. 'sk_buff* sent_cmd') offsets changed (by +128 bits)
    type 'struct mutex' of 'hci_dev::req_lock' changed, as reported earlier
    and offset changed from 21696 to 21824 (in bits) (by +128 bits)
    42 ('wait_queue_head_t req_wait_q' .. 'dentry* debugfs') offsets changed (by +256 bits)
    type 'struct device' of 'hci_dev::dev' changed, as reported earlier
    and offset changed from 27200 to 27456 (in bits) (by +256 bits)
    31 ('rfkill* rfkill' .. 'typedef bool (hci_dev*)* prevent_wake') offsets changed (by +384 bits)
  5 impacted interfaces

'struct hd_struct at genhd.h:54:1' changed (indirectly):
  details were reported earlier

'struct hid_device at hid.h:549:1' changed (indirectly):
  type size changed from 61376 to 61632 (in bits)
  there are data member changes:
    type 'struct device' of 'hid_device::dev' changed, as reported earlier
    2 ('hid_driver* driver' .. 'hid_ll_driver* ll_driver') offsets changed (by +128 bits)
    type 'struct mutex' of 'hid_device::ll_open_lock' changed, as reported earlier
    and offset changed from 57216 to 57344 (in bits) (by +128 bits)
    32 ('unsigned int ll_open_count' .. 'wait_queue_head_t debug_wait') offsets changed (by +256 bits)
  5 impacted interfaces

'struct hvc_struct at hvc_console.h:35:1' changed (indirectly):
  type size changed from 3776 to 4160 (in bits)
  there are data member changes:
    type 'struct tty_port' of 'hvc_struct::port' changed, as reported earlier
    14 ('spinlock_t lock' .. 'unsigned long int flags') offsets changed (by +384 bits)
  5 impacted interfaces

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

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

'struct iio_dev at iio.h:521:1' changed (indirectly):
  type size changed from 9792 to 10176 (in bits)
  there are data member changes:
    type 'struct device' of 'iio_dev::dev' changed, as reported earlier
    2 ('iio_buffer* buffer' .. 'int scan_bytes') offsets changed (by +128 bits)
    type 'struct mutex' of 'iio_dev::mlock' changed, as reported earlier
    and offset changed from 6592 to 6720 (in bits) (by +128 bits)
    15 ('const unsigned long int* available_scan_masks' .. 'clockid_t clock_id') offsets changed (by +256 bits)
    type 'struct mutex' of 'iio_dev::info_exist_lock' changed, as reported earlier
    and offset changed from 7744 to 8000 (in bits) (by +256 bits)
    6 ('const iio_buffer_setup_ops* setup_ops' .. 'void* priv') offsets changed (by +384 bits)
  17 impacted interfaces

'struct inode at fs.h:610:1' changed (indirectly):
  type size changed from 4864 to 5120 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'inode::i_rwsem' changed, as reported earlier
    7 ('unsigned long int dirtied_when' .. 'list_head i_wb_list') offsets changed (by +128 bits)
    anonymous data member 'union {hlist_head i_dentry; callback_head i_rcu;}' offset changed from 2432 to 2560 (in bits) (by +128 bits)
    6 ('atomic64_t i_version' .. 'atomic_t i_readcount') offsets changed (by +128 bits)
    anonymous data member 'union {const file_operations* i_fop; void (inode*)* free_inode;}' offset changed from 2816 to 2944 (in bits) (by +128 bits)
    'file_lock_context* i_flctx' offset changed (by +128 bits)
    type 'struct address_space' of 'inode::i_data' changed, as reported earlier
    and offset changed from 2944 to 3072 (in bits) (by +128 bits)
    'list_head i_devices' offset changed (by +256 bits)
    anonymous data member 'union {pipe_inode_info* i_pipe; block_device* i_bdev; cdev* i_cdev; char* i_link; unsigned int i_dir_seq;}' offset changed from 4480 to 4736 (in bits) (by +256 bits)
    6 ('__u32 i_generation' .. 'void* i_private') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct input_dev at input.h:131:1' changed (indirectly):
  type size changed from 11392 to 11648 (in bits)
  there are data member changes:
    type 'struct mutex' of 'input_dev::mutex' changed, as reported earlier
    2 ('unsigned int users' .. 'bool going_away') offsets changed (by +128 bits)
    type 'struct device' of 'input_dev::dev' changed, as reported earlier
    and offset changed from 4480 to 4608 (in bits) (by +128 bits)
    7 ('list_head h_list' .. 'ktime_t timestamp[3]') offsets changed (by +256 bits)
  137 impacted interfaces

'struct iommu_fault_param at iommu.h:370:1' changed (indirectly):
  type size changed from 512 to 640 (in bits)
  there are data member changes:
    type 'struct mutex' of 'iommu_fault_param::lock' changed, as reported earlier
  3723 impacted interfaces

'struct iommu_group at iommu.c:36:1' changed (indirectly):
  type size changed from 2176 to 2432 (in bits)
  there are data member changes:
    type 'struct mutex' of 'iommu_group::mutex' changed, as reported earlier
    type 'struct blocking_notifier_head' of 'iommu_group::notifier' changed, as reported earlier
    and offset changed from 1216 to 1344 (in bits) (by +128 bits)
    7 ('void* iommu_data' .. 'list_head entry') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct irq_desc at irqdesc.h:55:1' changed (indirectly):
  type size changed from 3584 to 4096 (in bits)
  there are data member changes:
    type 'struct mutex' of 'irq_desc::request_mutex' changed, as reported earlier
    3 ('int parent_irq' .. 'const char* name') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct irq_domain at irqdomain.h:163:1' changed (indirectly):
  type size changed from 1408 to 1536 (in bits)
  there are data member changes:
    type 'struct mutex' of 'irq_domain::revmap_tree_mutex' changed, as reported earlier
    'unsigned int linear_revmap[]' offset changed (by +128 bits)
  3723 impacted interfaces

'struct kernfs_open_file at kernfs.h:203:1' changed (indirectly):
  type size changed from 1216 to 1472 (in bits)
  there are data member changes:
    type 'struct mutex' of 'kernfs_open_file::mutex' changed, as reported earlier
    type 'struct mutex' of 'kernfs_open_file::prealloc_mutex' changed, as reported earlier
    and offset changed from 512 to 640 (in bits) (by +128 bits)
    5 ('int event' .. 'const vm_operations_struct* vm_ops') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct key at key.h:189:1' changed (indirectly):
  type size changed from 1792 to 1920 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'key::sem' changed, as reported earlier
    2 ('key_user* user' .. 'void* security') offsets changed (by +128 bits)
    anonymous data member 'union {time64_t expiry; time64_t revoked_at;}' offset changed from 768 to 896 (in bits) (by +128 bits)
    8 ('time64_t last_used_at' .. 'unsigned long int flags') offsets changed (by +128 bits)
    anonymous data member 'union {keyring_index_key index_key; struct {unsigned long int hash; unsigned long int len_desc; key_type* type; key_tag* domain_tag; char* description;};}' offset changed from 1152 to 1280 (in bits) (by +128 bits)
    anonymous data member 'union {key_payload payload; struct {list_head name_link; assoc_array keys;};}' offset changed from 1472 to 1600 (in bits) (by +128 bits)
    'key_restriction* restrict_link' offset changed (by +128 bits)
  3723 impacted interfaces

'struct led_classdev at leds.h:64:1' changed (indirectly):
  type size changed from 3008 to 3264 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'led_classdev::trigger_lock' changed, as reported earlier
    5 ('led_trigger* trigger' .. 'led_hw_trigger_type* trigger_type') offsets changed (by +128 bits)
    type 'struct mutex' of 'led_classdev::led_access' changed, as reported earlier
    and offset changed from 2752 to 2880 (in bits) (by +128 bits)
  159 impacted interfaces

'struct led_classdev_flash at led-class-flash.h:65:1' changed (indirectly):
  type size changed from 3648 to 3904 (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* ops' .. 'const attribute_group* sysfs_groups[5]') offsets changed (by +256 bits)
  6 impacted interfaces

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

'struct media_device at media-device.h:144:1' changed (indirectly):
  type size changed from 5312 to 5568 (in bits)
  there are data member changes:
    type 'struct mutex' of 'media_device::graph_mutex' changed, as reported earlier
    5 ('media_graph pm_count_walk' .. 'const media_device_ops* ops') offsets changed (by +128 bits)
    type 'struct mutex' of 'media_device::req_queue_mutex' changed, as reported earlier
    and offset changed from 4992 to 5120 (in bits) (by +128 bits)
    'atomic_t request_id' offset changed (by +256 bits)
  86 impacted interfaces

'struct media_devnode at media-devnode.h:75:1' changed (indirectly):
  type size changed from 7744 to 7872 (in bits)
  there are data member changes:
    type 'struct device' of 'media_devnode::dev' changed, as reported earlier
    5 ('cdev cdev' .. 'void (media_devnode*)* release') offsets changed (by +128 bits)
  86 impacted interfaces

'struct media_link at media-entity.h:132:1' changed:
  type size changed from 704 to 768 (in bits)
  1 data member insertion:
    'u64 android_vendor_data1', at offset 704 (in bits) at media-entity.h:149:1
  86 impacted interfaces

'struct mii_bus at phy.h:301:1' changed (indirectly):
  type size changed from 21376 to 21760 (in bits)
  there are data member changes:
    type 'struct mutex' of 'mii_bus::mdio_lock' changed, as reported earlier
    2 ('device* parent' .. '__anonymous_enum__ state') offsets changed (by +128 bits)
    type 'struct device' of 'mii_bus::dev' changed, as reported earlier
    and offset changed from 9472 to 9600 (in bits) (by +128 bits)
    8 ('mdio_device* mdio_map[32]' .. '__anonymous_enum__1 probe_capabilities') offsets changed (by +256 bits)
    type 'struct mutex' of 'mii_bus::shared_lock' changed, as reported earlier
    and offset changed from 19072 to 19328 (in bits) (by +256 bits)
    'phy_package_shared* shared[32]' offset changed (by +384 bits)
  3723 impacted interfaces

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

'struct mm_struct at mm_types.h:407:1' changed (indirectly):
  type size changed from 7296 to 7424 (in bits)
  there are data member changes:
    type 'struct {vm_area_struct* mmap; rb_root mm_rb; u64 vmacache_seqnum; rwlock_t mm_rb_lock; unsigned long int (file*, unsigned long int, unsigned long int, unsigned long int, unsigned long int)* get_unmapped_area; unsigned long int mmap_base; unsigned long int mmap_legacy_base; unsigned long int task_size; unsigned long int highest_vm_end; pgd_t* pgd; atomic_t membarrier_state; atomic_t mm_users; atomic_t mm_count; atomic_t has_pinned; seqcount_t write_protect_seq; atomic_long_t pgtables_bytes; int map_count; spinlock_t page_table_lock; rw_semaphore mmap_lock; list_head mmlist; unsigned long int hiwater_rss; unsigned long int hiwater_vm; unsigned long int total_vm; unsigned long int locked_vm; atomic64_t pinned_vm; unsigned long int data_vm; unsigned long int exec_vm; unsigned long int stack_vm; unsigned long int def_flags; spinlock_t arg_lock; unsigned long int start_code; unsigned long int end_code; unsigned long int start_data; unsigned long int end_data; unsigned long int start_brk; unsigned long int brk; unsigned long int start_stack; unsigned long int arg_start; unsigned long int arg_end; unsigned long int env_start; unsigned long int env_end; unsigned long int saved_auxv[46]; mm_rss_stat rss_stat; linux_binfmt* binfmt; mm_context_t context; unsigned long int flags; core_state* core_state; spinlock_t ioctx_lock; kioctx_table* ioctx_table; user_namespace* user_ns; file* exe_file; mmu_notifier_subscriptions* notifier_subscriptions; atomic_t tlb_flush_pending; uprobes_state uprobes_state; work_struct async_put_work; u32 pasid;}' of 'anonymous data member' changed:
      type size changed from 7296 to 7424 (in bits)
      there are data member changes:
        type 'struct rw_semaphore' of '__anonymous_struct__::mmap_lock' changed, as reported earlier
        37 ('list_head mmlist' .. 'u32 pasid') offsets changed (by +128 bits)
    'unsigned long int cpu_bitmap[]' offset changed (by +128 bits)
  3723 impacted interfaces

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

'struct mmc_host at host.h:279:1' changed (indirectly):
  type size changed from 13312 to 13824 (in bits)
  there are data member changes:
    type 'struct device' of 'mmc_host::class_dev' changed, as reported earlier
    64 ('int index' .. 'bool cqe_on') offsets changed (by +128 bits)
    type 'struct blk_keyslot_manager' of 'mmc_host::ksm' changed, as reported earlier
    and offset changed from 11648 to 11776 (in bits) (by +128 bits)
    2 ('bool hsq_enabled' .. 'u64 android_oem_data1') offsets changed (by +256 bits)
    'unsigned long int private[]' offset changed (by +512 bits)
  89 impacted interfaces

'struct module at module.h:367:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct mutex' of 'module::param_lock' changed, as reported earlier
    14 ('kernel_param* kp' .. 'int ()* init') offsets changed (by +128 bits)
  3723 impacted interfaces

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

'struct nd_mapping at nd.h:122:1' changed (indirectly):
  type size changed from 704 to 832 (in bits)
  there are data member changes:
    type 'struct mutex' of 'nd_mapping::lock' changed, as reported earlier
    'nvdimm_drvdata* ndd' offset changed (by +128 bits)
  one impacted interface

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

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

'struct net_device at netdevice.h:1898:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device' of 'net_device::dev' changed, as reported earlier
    25 ('const attribute_group* sysfs_groups[4]' .. 'u64 android_kabi_reserved8') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct netns_ipv4 at ipv4.h:43:1' changed (indirectly):
  details were reported earlier

'struct netns_nexthop at nexthop.h:11:1' changed (indirectly):
  details were reported earlier

'struct netns_packet at packet.h:11:1' changed (indirectly):
  details were reported earlier

'struct netns_xdp at xdp.h:8:1' changed (indirectly):
  details were reported earlier

'struct netns_xfrm at xfrm.h:32:1' changed (indirectly):
  details were reported earlier

'struct nvdimm at nd-core.h:31:1' changed (indirectly):
  type size changed from 7936 to 8064 (in bits)
  there are data member changes:
    type 'struct device' of 'nvdimm::dev' changed, as reported earlier
    8 ('atomic_t busy' .. 'const nvdimm_fw_ops* fw_ops') offsets changed (by +128 bits)
  3 impacted interfaces

'struct nvdimm_bus at nd-core.h:19:1' changed (indirectly):
  type size changed from 7360 to 7616 (in bits)
  there are data member changes:
    type 'struct device' of 'nvdimm_bus::dev' changed, as reported earlier
    4 ('int id' .. 'list_head mapping_list') offsets changed (by +128 bits)
    type 'struct mutex' of 'nvdimm_bus::reconfig_mutex' changed, as reported earlier
    and offset changed from 6912 to 7040 (in bits) (by +128 bits)
    'badrange badrange' offset changed (by +256 bits)
  3 impacted interfaces

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

'struct opp_table at opp.h:168:1' changed (indirectly):
  type size changed from 4672 to 5056 (in bits)
  there are data member changes:
    type 'struct blocking_notifier_head' of 'opp_table::head' changed, as reported earlier
    3 ('list_head dev_list' .. 'kref kref') offsets changed (by +128 bits)
    type 'struct mutex' of 'opp_table::lock' changed, as reported earlier
    and offset changed from 896 to 1024 (in bits) (by +128 bits)
    6 ('device_node* np' .. 'dev_pm_opp* suspend_opp') offsets changed (by +256 bits)
    type 'struct mutex' of 'opp_table::genpd_virt_dev_lock' changed, as reported earlier
    and offset changed from 1472 to 1728 (in bits) (by +256 bits)
    18 ('device** genpd_virt_devs' .. 'char dentry_name[255]') offsets changed (by +384 bits)
  26 impacted interfaces

'struct pci_bus at pci.h:611:1' changed (indirectly):
  type size changed from 9344 to 9472 (in bits)
  there are data member changes:
    type 'struct device' of 'pci_bus::dev' changed, as reported earlier
    6 ('bin_attribute* legacy_io' .. 'u64 android_kabi_reserved4') offsets changed (by +128 bits)
  422 impacted interfaces

'struct pci_dev at pci.h:310:1' changed:
  type size changed from 19136 to 19328 (in bits)
  2 data member insertions:
    'u16 aer_cap', at offset 592 (in bits) at pci.h:328:1
    'aer_stats* aer_stats', at offset 640 (in bits) at pci.h:329:1
  there are data member changes:
    6 ('u8 pcie_cap' .. 'u16 pcie_flags_reg') offsets changed (by +112 bits)
    11 ('unsigned long int* dma_alias_mask' .. 'pci_channel_state_t error_state') offsets changed (by +64 bits)
    type 'struct device' of 'pci_dev::dev' changed, as reported earlier
    and offset changed from 1408 to 1472 (in bits) (by +64 bits)
    23 ('int cfg_size' .. 'u64 android_kabi_reserved4') offsets changed (by +192 bits)
  422 impacted interfaces

'struct pci_host_bridge at pci.h:530:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device' of 'pci_host_bridge::dev' changed, as reported earlier
    13 ('pci_bus* bus' .. 'typedef resource_size_t (pci_dev*, const resource*, typedef resource_size_t, typedef resource_size_t, typedef resource_size_t)* align_resource') offsets changed (by +128 bits)
  6 impacted interfaces

'struct perf_cpu_context at perf_event.h:861:1' changed (indirectly):
  type size changed from 3392 to 3520 (in bits)
  there are data member changes:
    type 'struct perf_event_context' of 'perf_cpu_context::ctx' changed:
      type size changed from 2048 to 2176 (in bits)
      there are data member changes:
        type 'struct mutex' of 'perf_event_context::mutex' changed, as reported earlier
        23 ('list_head active_ctx_list' .. 'callback_head callback_head') offsets changed (by +128 bits)
      3723 impacted interfaces
    13 ('perf_event_context* task_ctx' .. 'perf_event* heap_default[2]') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct perf_event at perf_event.h:627:1' changed (indirectly):
  type size changed from 7936 to 8192 (in bits)
  there are data member changes:
    type 'struct mutex' of 'perf_event::child_mutex' changed, as reported earlier
    6 ('list_head child_list' .. 'task_struct* owner') offsets changed (by +128 bits)
    type 'struct mutex' of 'perf_event::mmap_mutex' changed, as reported earlier
    and offset changed from 5312 to 5440 (in bits) (by +128 bits)
    21 ('atomic_t mmap_count' .. 'typedef u64 ()* clock') offsets changed (by +256 bits)
    type 'typedef perf_overflow_handler_t' of 'perf_event::overflow_handler' changed:
      underlying type 'void (perf_event*, perf_sample_data*, pt_regs*)*' changed:
    and offset changed from 7360 to 7616 (in bits) (by +256 bits)
    'void* overflow_handler_context' offset changed (by +256 bits)
    type 'typedef perf_overflow_handler_t' of 'perf_event::orig_overflow_handler' changed, as reported earlier
    and offset changed from 7488 to 7744 (in bits) (by +256 bits)
    5 ('bpf_prog* prog' .. 'list_head sb_list') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct perf_event_context at perf_event.h:795:1' changed (indirectly):
  details were reported earlier

'struct phy at phy.h:138:1' changed (indirectly):
  type size changed from 6912 to 7168 (in bits)
  there are data member changes:
    type 'struct device' of 'phy::dev' changed, as reported earlier
    2 ('int id' .. 'const phy_ops* ops') offsets changed (by +128 bits)
    type 'struct mutex' of 'phy::mutex' changed, as reported earlier
    and offset changed from 6400 to 6528 (in bits) (by +128 bits)
    4 ('int init_count' .. 'regulator* pwr') offsets changed (by +256 bits)
  68 impacted interfaces

'struct phy_device at phy.h:540:1' changed (indirectly):
  type size changed from 11072 to 11328 (in bits)
  there are data member changes:
    type 'struct mdio_device' of 'phy_device::mdio' changed, as reported earlier
    26 ('phy_driver* drv' .. 'delayed_work state_queue') offsets changed (by +128 bits)
    type 'struct mutex' of 'phy_device::lock' changed, as reported earlier
    and offset changed from 10304 to 10432 (in bits) (by +128 bits)
    9 ('bool sfp_bus_attached' .. 'void (net_device*)* adjust_link') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct pinctrl_dev at core.h:42:1' changed (indirectly):
  type size changed from 1536 to 1664 (in bits)
  there are data member changes:
    type 'struct mutex' of 'pinctrl_dev::mutex' changed, as reported earlier
    'dentry* device_root' offset changed (by +128 bits)
  15 impacted interfaces

'struct pipe_inode_info at pipe_fs_i.h:57:1' changed (indirectly):
  type size changed from 1280 to 1408 (in bits)
  there are data member changes:
    type 'struct mutex' of 'pipe_inode_info::mutex' changed, as reported earlier
    17 ('wait_queue_head_t rd_wait' .. 'user_struct* user') offsets changed (by +128 bits)
  3723 impacted interfaces

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

'struct power_supply at power_supply.h:279:1' changed (indirectly):
  type size changed from 8704 to 8832 (in bits)
  there are data member changes:
    type 'struct device' of 'power_supply::dev' changed, as reported earlier
    19 ('work_struct changed_work' .. 'char* charging_blink_full_solid_trig_name') offsets changed (by +128 bits)
  42 impacted interfaces

'struct ps2dev at libps2.h:33:1' changed (indirectly):
  type size changed from 704 to 832 (in bits)
  there are data member changes:
    type 'struct mutex' of 'ps2dev::cmd_mutex' changed, as reported earlier
    5 ('wait_queue_head_t wait' .. 'u8 nak') offsets changed (by +128 bits)
  10 impacted interfaces

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

'struct quota_info at quota.h:527:1' changed (indirectly):
  type size changed from 2560 to 2688 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'quota_info::dqio_sem' changed, as reported earlier
    3 ('inode* files[3]' .. 'const quota_format_ops* ops[3]') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct rc_dev at rc-core.h:162:1' changed (indirectly):
  type size changed from 18304 to 18688 (in bits)
  there are data member changes:
    type 'struct device' of 'rc_dev::dev' changed, as reported earlier
    8 ('bool managed_alloc' .. 'rc_map rc_map') offsets changed (by +128 bits)
    type 'struct mutex' of 'rc_dev::lock' changed, as reported earlier
    and offset changed from 7296 to 7424 (in bits) (by +128 bits)
    29 ('unsigned int minor' .. 'u32 tx_resolution') offsets changed (by +256 bits)
    type 'struct device' of 'rc_dev::lirc_dev' changed, as reported earlier
    and offset changed from 9664 to 9920 (in bits) (by +256 bits)
    21 ('cdev lirc_cdev' .. 'int (rc_dev*, unsigned int)* s_timeout') offsets changed (by +384 bits)
  34 impacted interfaces

'struct regmap at internal.h:49:1' changed (indirectly):
  type size changed from 4992 to 5248 (in bits)
  there are data member changes:
    type 'union {mutex mutex; struct {spinlock_t spinlock; unsigned long int spinlock_flags;};}' of 'anonymous data member' changed:
      type size changed from 256 to 384 (in bits)
      there are data member changes:
        type 'struct mutex' of '__anonymous_union__::mutex' changed, as reported earlier
    23 ('regmap_lock lock' .. 'list_head debugfs_off_cache') offsets changed (by +128 bits)
    type 'struct mutex' of 'regmap::cache_lock' changed, as reported earlier
    and offset changed from 2368 to 2496 (in bits) (by +128 bits)
    47 ('unsigned int max_register' .. 'bool can_sleep') offsets changed (by +256 bits)
  424 impacted interfaces

'struct regmap_irq_chip_data at regmap-irq.c:20:1' changed (indirectly):
  type size changed from 3520 to 3648 (in bits)
  there are data member changes:
    type 'struct mutex' of 'regmap_irq_chip_data::lock' changed, as reported earlier
    17 ('irq_chip irq_chip' .. 'unsigned int type_reg_stride') offsets changed (by +128 bits)
  6 impacted interfaces

'struct regulator_dev at driver.h:437:1' changed (indirectly):
  type size changed from 9280 to 9664 (in bits)
  there are data member changes:
    type 'struct blocking_notifier_head' of 'regulator_dev::notifier' changed, as reported earlier
    type 'struct ww_mutex' of 'regulator_dev::mutex' changed, as reported earlier
    and offset changed from 1088 to 1216 (in bits) (by +128 bits)
    3 ('task_struct* mutex_owner' .. 'module* owner') offsets changed (by +256 bits)
    type 'struct device' of 'regulator_dev::dev' changed, as reported earlier
    and offset changed from 1600 to 1856 (in bits) (by +256 bits)
    9 ('regulation_constraints* constraints' .. 'unsigned long int last_off_jiffy') offsets changed (by +384 bits)
  377 impacted interfaces

'struct request_queue at blkdev.h:396:1' changed (indirectly):
  type size changed from 15104 to 15616 (in bits)
  there are data member changes:
    type 'struct mutex' of 'request_queue::debugfs_mutex' changed, as reported earlier
    4 ('blk_flush_queue* fq' .. 'delayed_work requeue_work') offsets changed (by +128 bits)
    type 'struct mutex' of 'request_queue::sysfs_lock' changed, as reported earlier
    and offset changed from 10944 to 11072 (in bits) (by +128 bits)
    type 'struct mutex' of 'request_queue::sysfs_dir_lock' changed, as reported earlier
    and offset changed from 11200 to 11456 (in bits) (by +256 bits)
    6 ('list_head unused_hctx_list' .. 'wait_queue_head_t mq_freeze_wq') offsets changed (by +384 bits)
    type 'struct mutex' of 'request_queue::mq_freeze_lock' changed, as reported earlier
    and offset changed from 12224 to 12608 (in bits) (by +384 bits)
    9 ('blk_mq_tag_set* tag_set' .. 'u64 write_hints[5]') offsets changed (by +512 bits)
  3723 impacted interfaces

'struct rfkill at core.c:37:1' changed (indirectly):
  type size changed from 8768 to 8896 (in bits)
  there are data member changes:
    type 'struct device' of 'rfkill::dev' changed, as reported earlier
    5 ('list_head node' .. 'char name[]') offsets changed (by +128 bits)
  10 impacted interfaces

'struct rhashtable at rhashtable-types.h:81:1' changed (indirectly):
  details were reported earlier

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

'struct rpmsg_endpoint at rpmsg.h:90:1' changed (indirectly):
  type size changed from 704 to 832 (in bits)
  there are data member changes:
    type 'struct mutex' of 'rpmsg_endpoint::cb_lock' changed, as reported earlier
    type 'typedef rpmsg_rx_sig_t' of 'rpmsg_endpoint::sig_cb' changed:
      underlying type 'int (rpmsg_device*, void*, typedef u32, typedef u32)*' changed:
    and offset changed from 448 to 576 (in bits) (by +128 bits)
    3 ('u32 addr' .. 'const rpmsg_endpoint_ops* ops') offsets changed (by +128 bits)
  10 impacted interfaces

'struct rproc at remoteproc.h:520:1' changed (indirectly):
  type size changed from 10176 to 10432 (in bits)
  there are data member changes:
    type 'struct device' of 'rproc::dev' changed, as reported earlier
    3 ('atomic_t power' .. 'rproc_dump_mechanism dump_conf') offsets changed (by +128 bits)
    type 'struct mutex' of 'rproc::lock' changed, as reported earlier
    and offset changed from 6848 to 6976 (in bits) (by +128 bits)
    26 ('dentry* dbg_dir' .. 'bool cdev_put_on_release') offsets changed (by +256 bits)
  19 impacted interfaces

'struct rq at sched.h:914:1' changed:
  details were reported earlier

'struct rtc_device at rtc.h:84:1' changed (indirectly):
  type size changed from 10944 to 11200 (in bits)
  there are data member changes:
    type 'struct device' of 'rtc_device::dev' changed, as reported earlier
    3 ('module* owner' .. 'const rtc_class_ops* ops') offsets changed (by +128 bits)
    type 'struct mutex' of 'rtc_device::ops_lock' changed, as reported earlier
    and offset changed from 6464 to 6592 (in bits) (by +128 bits)
    24 ('cdev char_dev' .. 'bool set_start_time') offsets changed (by +256 bits)
  9 impacted interfaces

'struct rw_semaphore at rwsem.h:36:1' changed:
  details were reported earlier

'struct scmi_device at scmi_protocol.h:650:1' changed (indirectly):
  type size changed from 6464 to 6592 (in bits)
  there are data member changes:
    type 'struct device' of 'scmi_device::dev' changed, as reported earlier
    'scmi_handle* handle' offset changed (by +128 bits)
  2 impacted interfaces

'struct scsi_device at scsi_device.h:101:1' changed (indirectly):
  type size changed from 16768 to 17280 (in bits)
  there are data member changes:
    type 'struct mutex' of 'scsi_device::inquiry_mutex' changed, as reported earlier
    23 ('unsigned char inquiry_len' .. 'atomic_t ioerr_cnt') offsets changed (by +128 bits)
    type 'struct device' of 'scsi_device::sdev_gendev' changed, as reported earlier
    and offset changed from 3008 to 3136 (in bits) (by +128 bits)
    type 'struct device' of 'scsi_device::sdev_dev' changed, as reported earlier
    and offset changed from 9280 to 9536 (in bits) (by +256 bits)
    7 ('execute_work ew' .. 'unsigned char access_state') offsets changed (by +384 bits)
    type 'struct mutex' of 'scsi_device::state_mutex' changed, as reported earlier
    and offset changed from 16384 to 16768 (in bits) (by +384 bits)
    3 ('scsi_device_state sdev_state' .. 'unsigned long int sdev_data[]') offsets changed (by +512 bits)
  63 impacted interfaces

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

'struct sdhci_host at sdhci.h:361:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct led_classdev' of 'sdhci_host::led' changed, as reported earlier
    61 ('char led_name[32]' .. 'u64 data_timeout') offsets changed (by +256 bits)
  11 impacted interfaces

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

'struct seq_file at seq_file.h:16:1' changed (indirectly):
  type size changed from 960 to 1088 (in bits)
  there are data member changes:
    type 'struct mutex' of 'seq_file::lock' changed, as reported earlier
    4 ('const seq_operations* op' .. 'void* private') offsets changed (by +128 bits)
  3723 impacted interfaces

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

'struct serdev_device at serdev.h:41:1' changed (indirectly):
  type size changed from 6976 to 7232 (in bits)
  there are data member changes:
    type 'struct device' of 'serdev_device::dev' changed, as reported earlier
    4 ('int nr' .. 'completion write_comp') offsets changed (by +128 bits)
    type 'struct mutex' of 'serdev_device::write_lock' changed, as reported earlier
    and offset changed from 6720 to 6848 (in bits) (by +128 bits)
  7 impacted interfaces

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

'struct shrink_control at shrinker.h:12:1' changed:
  type size changed from 256 to 448 (in bits)
  1 data member insertion:
    'u64 android_oem_data1[3]', at offset 256 (in bits) at shrinker.h:36:1
  3725 impacted interfaces

'struct signal_struct at signal.h:83:1' changed (indirectly):
  type size changed from 8704 to 8960 (in bits)
  there are data member changes:
    type 'struct mutex' of 'signal_struct::cred_guard_mutex' changed, as reported earlier
    type 'struct rw_semaphore' of 'signal_struct::exec_update_lock' changed, as reported earlier
    and offset changed from 8064 to 8192 (in bits) (by +128 bits)
    4 ('u64 android_kabi_reserved1' .. 'u64 android_kabi_reserved4') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct snd_card at core.h:79:1' changed (indirectly):
  type size changed from 18432 to 18944 (in bits)
  there are data member changes:
    type 'struct device' of 'snd_card::ctl_dev' changed, as reported earlier
    'unsigned int last_numid' offset changed (by +128 bits)
    type 'struct rw_semaphore' of 'snd_card::controls_rwsem' changed, as reported earlier
    and offset changed from 9792 to 9920 (in bits) (by +128 bits)
    13 ('rwlock_t ctl_files_rwlock' .. 'device* dev') offsets changed (by +256 bits)
    type 'struct device' of 'snd_card::card_dev' changed, as reported earlier
    and offset changed from 11072 to 11328 (in bits) (by +256 bits)
    5 ('const attribute_group* dev_groups[4]' .. 'size_t total_pcm_alloc_bytes') offsets changed (by +384 bits)
    type 'struct mutex' of 'snd_card::memory_mutex' changed, as reported earlier
    and offset changed from 17920 to 18304 (in bits) (by +384 bits)
    2 ('unsigned int power_state' .. 'wait_queue_head_t power_sleep') offsets changed (by +512 bits)
  152 impacted interfaces

'struct snd_compr at compress_driver.h:146:1' changed (indirectly):
  type size changed from 6912 to 7168 (in bits)
  there are data member changes:
    type 'struct device' of 'snd_compr::dev' changed, as reported earlier
    4 ('snd_compr_ops* ops' .. 'unsigned int direction') offsets changed (by +128 bits)
    type 'struct mutex' of 'snd_compr::lock' changed, as reported earlier
    and offset changed from 6592 to 6720 (in bits) (by +128 bits)
    'int device' offset changed (by +256 bits)
  70 impacted interfaces

'struct snd_hwdep at hwdep.h:39:1' changed (indirectly):
  type size changed from 8832 to 9088 (in bits)
  there are data member changes:
    type 'struct device' of 'snd_hwdep::dev' changed, as reported earlier
    type 'struct mutex' of 'snd_hwdep::open_mutex' changed, as reported earlier
    and offset changed from 8448 to 8576 (in bits) (by +128 bits)
    2 ('int used' .. 'unsigned int dsp_loaded') offsets changed (by +256 bits)
  one impacted interface

'struct snd_info_entry at info.h:60:1' changed (indirectly):
  type size changed from 1216 to 1344 (in bits)
  there are data member changes:
    type 'struct mutex' of 'snd_info_entry::access' changed, as reported earlier
    2 ('list_head children' .. 'list_head list') offsets changed (by +128 bits)
  155 impacted interfaces

'struct snd_pcm at pcm.h:509:1' changed (indirectly):
  type size changed from 15296 to 15680 (in bits)
  there are data member changes:
    'snd_pcm_str streams[2]' size changed from 13184 to 13440 (in bits) (by +256 bits)
    type 'struct mutex' of 'snd_pcm::open_mutex' changed, as reported earlier
    and offset changed from 14656 to 14912 (in bits) (by +256 bits)
    6 ('wait_queue_head_t open_wait' .. 'bool no_device_suspend') offsets changed (by +384 bits)
  97 impacted interfaces

'struct snd_pcm_group at pcm.h:433:1' changed (indirectly):
  type size changed from 512 to 640 (in bits)
  there are data member changes:
    type 'struct mutex' of 'snd_pcm_group::mutex' changed, as reported earlier
    2 ('list_head substreams' .. 'refcount_t refs') offsets changed (by +128 bits)
  97 impacted interfaces

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

'struct snd_pcm_substream at pcm.h:442:1' changed (indirectly):
  type size changed from 2816 to 2944 (in bits)
  there are data member changes:
    type 'struct snd_pcm_group' of 'snd_pcm_substream::self_group' changed, as reported earlier
    6 ('snd_pcm_group* group' .. 'pid* pid') offsets changed (by +128 bits)
  97 impacted interfaces

'struct snd_soc_card at soc.h:982:1' changed (indirectly):
  type size changed from 5824 to 6208 (in bits)
  there are data member changes:
    type 'struct mutex' of 'snd_soc_card::mutex' changed, as reported earlier
    type 'struct mutex' of 'snd_soc_card::dapm_mutex' changed, as reported earlier
    and offset changed from 960 to 1088 (in bits) (by +128 bits)
    type 'struct mutex' of 'snd_soc_card::pcm_mutex' changed, as reported earlier
    and offset changed from 1216 to 1472 (in bits) (by +256 bits)
    47 ('snd_soc_pcm_subclass pcm_subclass' .. 'void* drvdata') offsets changed (by +384 bits)
  69 impacted interfaces

'struct snd_soc_component at soc-component.h:182:1' changed (indirectly):
  type size changed from 2560 to 2688 (in bits)
  there are data member changes:
    type 'struct mutex' of 'snd_soc_component::io_mutex' changed, as reported earlier
    8 ('list_head dobj_list' .. 'const char* debugfs_prefix') offsets changed (by +128 bits)
  69 impacted interfaces

'struct snd_soc_jack at soc.h:700:1' changed (indirectly):
  type size changed from 1152 to 1408 (in bits)
  there are data member changes:
    type 'struct mutex' of 'snd_soc_jack::mutex' changed, as reported earlier
    4 ('snd_jack* jack' .. 'int status') offsets changed (by +128 bits)
    type 'struct blocking_notifier_head' of 'snd_soc_jack::notifier' changed, as reported earlier
    and offset changed from 576 to 704 (in bits) (by +128 bits)
    'list_head jack_zones' offset changed (by +256 bits)
  69 impacted interfaces

'struct snd_usb_audio at usbaudio.h:24:1' changed (indirectly):
  type size changed from 3264 to 3520 (in bits)
  there are data member changes:
    type 'struct mutex' of 'snd_usb_audio::mutex' changed, as reported earlier
    20 ('unsigned int system_suspend' .. 'media_intf_devnode* ctl_intf_media_devnode') offsets changed (by +128 bits)
    type 'struct mutex' of 'snd_usb_audio::dev_lock' changed, as reported earlier
    and offset changed from 2880 to 3008 (in bits) (by +128 bits)
    2 ('int card_num' .. 'void (snd_usb_audio*)* disconnect_cb') offsets changed (by +256 bits)
  3 impacted interfaces

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

'struct spi_controller at spi.h:466:1' changed (indirectly):
  type size changed from 12160 to 12544 (in bits)
  there are data member changes:
    type 'struct device' of 'spi_controller::dev' changed, as reported earlier
    13 ('list_head list' .. 'typedef size_t (spi_device*)* max_message_size') offsets changed (by +128 bits)
    type 'struct mutex' of 'spi_controller::io_mutex' changed, as reported earlier
    and offset changed from 6784 to 6912 (in bits) (by +128 bits)
    'spinlock_t bus_lock_spinlock' offset changed (by +256 bits)
    type 'struct mutex' of 'spi_controller::bus_lock_mutex' changed, as reported earlier
    and offset changed from 7104 to 7360 (in bits) (by +256 bits)
    50 ('bool bus_lock_flag' .. 'unsigned long int irq_flags') offsets changed (by +384 bits)
  17 impacted interfaces

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

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

'struct spmi_device at spmi.h:39:1' changed (indirectly):
  type size changed from 6400 to 6528 (in bits)
  there are data member changes:
    type 'struct device' of 'spmi_device::dev' changed, as reported earlier
    2 ('spmi_controller* ctrl' .. 'u8 usid') offsets changed (by +128 bits)
  8 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 subsys_private at base.h:40:1' changed (indirectly):
  type size changed from 4352 to 4608 (in bits)
  there are data member changes:
    type 'struct mutex' of 'subsys_private::mutex' changed, as reported earlier
    3 ('kset* drivers_kset' .. 'klist klist_drivers') offsets changed (by +128 bits)
    type 'struct blocking_notifier_head' of 'subsys_private::bus_notifier' changed, as reported earlier
    and offset changed from 2432 to 2560 (in bits) (by +128 bits)
    3 ('bus_type* bus' .. 'class* class') offsets changed (by +256 bits)
  3723 impacted interfaces

'struct super_block at fs.h:1416:1' changed (indirectly):
  type size changed from 11264 to 11776 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'super_block::s_umount' changed, as reported earlier
    16 ('int s_count' .. 'unsigned int s_quota_types') offsets changed (by +128 bits)
    type 'struct quota_info' of 'super_block::s_dquot' changed, as reported earlier
    and offset changed from 2368 to 2496 (in bits) (by +128 bits)
    11 ('sb_writers s_writers' .. 'fmode_t s_mode') offsets changed (by +256 bits)
    type 'struct mutex' of 'super_block::s_vfs_rename_mutex' changed, as reported earlier
    and offset changed from 8320 to 8576 (in bits) (by +256 bits)
    15 ('const char* s_subtype' .. 'work_struct destroy_work') offsets changed (by +384 bits)
    type 'struct mutex' of 'super_block::s_sync_lock' changed, as reported earlier
    and offset changed from 10112 to 10496 (in bits) (by +384 bits)
    5 ('int s_stack_depth' .. 'list_head s_inodes_wb') offsets changed (by +512 bits)
  3723 impacted interfaces

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

'struct tcf_block at sch_generic.h:444:1' changed (indirectly):
  type size changed from 10176 to 10560 (in bits)
  there are data member changes:
    type 'struct mutex' of 'tcf_block::lock' changed, as reported earlier
    6 ('list_head chain_list' .. 'Qdisc* q') offsets changed (by +128 bits)
    type 'struct rw_semaphore' of 'tcf_block::cb_lock' changed, as reported earlier
    and offset changed from 640 to 768 (in bits) (by +128 bits)
    9 ('flow_block flow_block' .. 'hlist_head proto_destroy_ht[128]') offsets changed (by +256 bits)
    type 'struct mutex' of 'tcf_block::proto_destroy_lock' changed, as reported earlier
    and offset changed from 9920 to 10176 (in bits) (by +256 bits)
  3723 impacted interfaces

'struct tcf_chain at sch_generic.h:428:1' changed (indirectly):
  type size changed from 896 to 1024 (in bits)
  there are data member changes:
    type 'struct mutex' of 'tcf_chain::filter_chain_lock' changed, as reported earlier
    11 ('tcf_proto* filter_chain' .. 'callback_head rcu') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct tcpc_dev at tcpm.h:124:1' changed:
  type size changed from 1472 to 1536 (in bits)
  1 data member insertion:
    'int (tcpc_dev*, enum typec_cc_status, enum typec_cc_polarity)* apply_rc', at offset 320 (in bits) at tcpm.h:133:1
  there are data member changes:
    18 ('int (tcpc_dev*, typec_cc_status*, typec_cc_status*)* get_cc' .. 'void (tcpc_dev*, typedef bool)* set_partner_usb_comm_capable') offsets changed (by +64 bits)
  17 impacted interfaces

'struct tcpci at tcpci.c:42:1' changed (indirectly):
  type size changed from 1792 to 1856 (in bits)
  there are data member changes:
    type 'struct tcpc_dev' of 'tcpci::tcpc' changed, as reported earlier
    'tcpci_data* data' offset changed (by +64 bits)
  7 impacted interfaces

'struct tcpm_port at tcpm.c:298:1' changed (indirectly):
  type size changed from 98944 to 99328 (in bits)
  there are data member changes:
    type 'struct mutex' of 'tcpm_port::lock' changed, as reported earlier
    51 ('kthread_worker* wq' .. 'tcpm_transmit_status tx_status') offsets changed (by +128 bits)
    type 'struct mutex' of 'tcpm_port::swap_lock' changed, as reported earlier
    and offset changed from 6656 to 6784 (in bits) (by +128 bits)
    56 ('bool swap_pending' .. 'dentry* dentry') offsets changed (by +256 bits)
    type 'struct mutex' of 'tcpm_port::logbuffer_lock' changed, as reported earlier
    and offset changed from 33088 to 33344 (in bits) (by +256 bits)
    3 ('int logbuffer_head' .. 'u8* logbuffer[1024]') offsets changed (by +384 bits)
  17 impacted interfaces

'struct thermal_cooling_device at thermal.h:93:1' changed (indirectly):
  type size changed from 7296 to 7552 (in bits)
  there are data member changes:
    type 'struct device' of 'thermal_cooling_device::device' changed, as reported earlier
    5 ('device_node* np' .. 'bool updated') offsets changed (by +128 bits)
    type 'struct mutex' of 'thermal_cooling_device::lock' changed, as reported earlier
    and offset changed from 6784 to 6912 (in bits) (by +128 bits)
    2 ('list_head thermal_instances' .. 'list_head node') offsets changed (by +256 bits)
  99 impacted interfaces

'struct thermal_zone_device at thermal.h:150:1' changed (indirectly):
  type size changed from 9344 to 9600 (in bits)
  there are data member changes:
    type 'struct device' of 'thermal_zone_device::device' changed, as reported earlier
    24 ('attribute_group trips_attribute_group' .. 'ida ida') offsets changed (by +128 bits)
    type 'struct mutex' of 'thermal_zone_device::lock' changed, as reported earlier
    and offset changed from 8064 to 8192 (in bits) (by +128 bits)
    3 ('list_head node' .. 'thermal_notify_event notify_event') offsets changed (by +256 bits)
  60 impacted interfaces

'struct trace_iterator at trace_events.h:79:1' changed (indirectly):
  type size changed from 67584 to 67712 (in bits)
  there are data member changes:
    type 'struct mutex' of 'trace_iterator::mutex' changed, as reported earlier
    16 ('ring_buffer_iter** buffer_iter' .. 'long int idx') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct ttm_buffer_object at ttm_bo_api.h:119:1' changed (indirectly):
  type size changed from 4352 to 4480 (in bits)
  there are data member changes:
    type 'struct drm_gem_object' of 'ttm_buffer_object::base' changed, as reported earlier
    16 ('ttm_bo_device* bdev' .. 'sg_table* sg') offsets changed (by +128 bits)
  28 impacted interfaces

'struct tty_bufhead at tty.h:85:1' changed (indirectly):
  details were reported earlier

'struct tty_port at tty.h:230:1' changed (indirectly):
  details were reported earlier

'struct tty_struct at tty.h:285:1' changed (indirectly):
  type size changed from 5696 to 6336 (in bits)
  there are data member changes:
    type 'struct mutex' of 'tty_struct::atomic_write_lock' changed, as reported earlier
    type 'struct mutex' of 'tty_struct::legacy_mutex' changed, as reported earlier
    and offset changed from 1024 to 1152 (in bits) (by +128 bits)
    type 'struct mutex' of 'tty_struct::throttle_mutex' changed, as reported earlier
    and offset changed from 1280 to 1536 (in bits) (by +256 bits)
    type 'struct rw_semaphore' of 'tty_struct::termios_rwsem' changed, as reported earlier
    and offset changed from 1536 to 1920 (in bits) (by +384 bits)
    type 'struct mutex' of 'tty_struct::winsize_mutex' changed, as reported earlier
    and offset changed from 1920 to 2432 (in bits) (by +512 bits)
    28 ('spinlock_t ctrl_lock' .. 'tty_port* port') offsets changed (by +640 bits)
  3723 impacted interfaces

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

'struct typec_mux at bus.h:43:1' changed (indirectly):
  type size changed from 6336 to 6464 (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 6272 to 6400 (in bits) (by +128 bits)
  37 impacted interfaces

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

'struct typec_port at class.c:44:1' changed (indirectly):
  type size changed from 7232 to 7488 (in bits)
  there are data member changes:
    type 'struct device' of 'typec_port::dev' changed, as reported earlier
    7 ('ida mode_ids' .. 'typec_port_type port_type') offsets changed (by +128 bits)
    type 'struct mutex' of 'typec_port::port_type_lock' changed, as reported earlier
    and offset changed from 6656 to 6784 (in bits) (by +128 bits)
    5 ('typec_orientation orientation' .. 'const typec_operations* ops') offsets changed (by +256 bits)
  34 impacted interfaces

'struct typec_switch at bus.h:38:1' changed (indirectly):
  type size changed from 6336 to 6464 (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 6272 to 6400 (in bits) (by +128 bits)
  37 impacted interfaces

'struct uart_state at serial_core.h:286:1' changed (indirectly):
  type size changed from 3328 to 3712 (in bits)
  there are data member changes:
    type 'struct tty_port' of 'uart_state::port' changed, as reported earlier
    5 ('uart_pm_state pm_state' .. 'uart_port* uart_port') offsets changed (by +384 bits)
  21 impacted interfaces

'struct ucsi at ucsi.h:280:1' changed (indirectly):
  type size changed from 1088 to 1216 (in bits)
  there are data member changes:
    type 'struct mutex' of 'ucsi::ppm_lock' changed, as reported earlier
    2 ('u64 ntfy' .. 'unsigned long int flags') offsets changed (by +128 bits)
  7 impacted interfaces

'struct ucsi_connector at ucsi.h:313:1' changed (indirectly):
  type size changed from 6720 to 6848 (in bits)
  there are data member changes:
    type 'struct mutex' of 'ucsi_connector::lock' changed, as reported earlier
    16 ('work_struct work' .. 'usb_role_switch* usb_role_sw') offsets changed (by +128 bits)
  7 impacted interfaces

'struct ufs_clk_gating at ufshcd.h:381:1' changed:
  type size hasn't changed
  1 data member insertion:
    'bool is_initialized', at offset 1800 (in bits) at ufshcd.h:394:1
  37 impacted interfaces

'struct ufs_clk_scaling at ufshcd.h:417:1' changed:
  type size changed from 1408 to 1472 (in bits)
  3 data member insertions:
    'u32 min_gear', at offset 1344 (in bits) at ufshcd.h:437:1
    'bool is_enabled', at offset 1376 (in bits) at ufshcd.h:438:1
    'bool is_initialized', at offset 1392 (in bits) at ufshcd.h:440:1
  there are data member changes:
    'bool is_allowed' offset changed (by +40 bits)
    2 ('bool is_busy_started' .. 'bool is_suspended') offsets changed (by +48 bits)
  37 impacted interfaces

'struct ufs_dev_cmd at ufshcd.h:242:1' changed (indirectly):
  type size changed from 832 to 960 (in bits)
  there are data member changes:
    type 'struct mutex' of 'ufs_dev_cmd::lock' changed, as reported earlier
    2 ('completion* complete' .. 'ufs_query query') offsets changed (by +128 bits)
  37 impacted interfaces

'struct ufs_hba at ufshcd.h:705:1' changed:
  type size changed from 33344 to 34176 (in bits)
  1 data member deletion:
    'semaphore eh_sem', at offset 5184 (in bits) at ufshcd.h:775:1
  2 data member insertions:
    'bool shutting_down', at offset 5432 (in bits) at ufshcd.h:790:1
    'semaphore host_sem', at offset 5440 (in bits) at ufshcd.h:791:1
  there are data member changes:
    type 'struct blk_mq_tag_set' of 'ufs_hba::tmf_tag_set' changed, as reported earlier
    2 ('request_queue* tmf_queue' .. 'uic_command* active_uic_cmd') offsets changed (by +128 bits)
    type 'struct mutex' of 'ufs_hba::uic_cmd_mutex' changed, as reported earlier
    and offset changed from 4736 to 4864 (in bits) (by +128 bits)
    17 ('completion* uic_async_done' .. 'bool silence_err_logs') offsets changed (by +256 bits)
    type 'struct ufs_dev_cmd' of 'ufs_hba::dev_cmd' changed, as reported earlier
    and offset changed from 18048 to 18304 (in bits) (by +256 bits)
    10 ('ktime_t last_dme_cmd_tstamp' .. 'ufs_pwr_mode_info max_pwr_info') offsets changed (by +384 bits)
    type 'struct ufs_clk_gating' of 'ufs_hba::clk_gating' changed, as reported earlier
    and offset changed from 20288 to 20672 (in bits) (by +384 bits)
    2 ('u32 caps' .. 'devfreq* devfreq') offsets changed (by +384 bits)
    type 'struct ufs_clk_scaling' of 'ufs_hba::clk_scaling' changed, as reported earlier
    and offset changed from 22336 to 22720 (in bits) (by +384 bits)
    3 ('bool is_sys_suspended' .. 'bool is_urgent_bkops_lvl_checked') offsets changed (by +448 bits)
    type 'struct rw_semaphore' of 'ufs_hba::clk_scaling_lock' changed, as reported earlier
    and offset changed from 23872 to 24320 (in bits) (by +448 bits)
    2 ('unsigned char desc_size[10]' .. 'atomic_t scsi_block_reqs_cnt') offsets changed (by +576 bits)
    type 'struct device' of 'ufs_hba::bsg_dev' changed, as reported earlier
    and offset changed from 24384 to 24960 (in bits) (by +576 bits)
    7 ('request_queue* bsg_queue' .. 'u32 crypto_cfg_register') offsets changed (by +704 bits)
    type 'struct blk_keyslot_manager' of 'ufs_hba::ksm' changed, as reported earlier
    and offset changed from 31808 to 32512 (in bits) (by +704 bits)
    'dentry* debugfs_root' offset changed (by +832 bits)
  37 impacted interfaces

'struct ufs_hba_variant_ops at ufshcd.h:321:1' changed:
  type size changed from 1408 to 1472 (in bits)
  1 data member insertion:
    'void (ufs_hba*, enum ufs_event_type, void*)* event_notify', at offset 1408 (in bits) at ufshcd.h:356:1
  37 impacted interfaces

'struct ufs_vreg at ufs.h:512:1' changed:
  type size hasn't changed
  1 data member insertion:
    'bool always_on', at offset 128 (in bits) at ufs.h:515:1
  there are data member changes:
    'bool enabled' offset changed (by +8 bits)
  37 impacted interfaces

'struct uio_device at uio_driver.h:69:1' changed (indirectly):
  type size changed from 7104 to 7360 (in bits)
  there are data member changes:
    type 'struct device' of 'uio_device::dev' changed, as reported earlier
    5 ('int minor' .. 'uio_info* info') offsets changed (by +128 bits)
    type 'struct mutex' of 'uio_device::info_lock' changed, as reported earlier
    and offset changed from 6720 to 6848 (in bits) (by +128 bits)
    2 ('kobject* map_dir' .. 'kobject* portio_dir') offsets changed (by +256 bits)
  2 impacted interfaces

'struct usb_bus at usb.h:424:1' changed (indirectly):
  type size changed from 1024 to 1152 (in bits)
  there are data member changes:
    type 'struct mutex' of 'usb_bus::devnum_next_mutex' changed, as reported earlier
    7 ('usb_devmap devmap' .. 'unsigned int resuming_ports') offsets changed (by +128 bits)
  86 impacted interfaces

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

'struct usb_gadget at gadget.h:407:1' changed (indirectly):
  type size changed from 7616 to 7744 (in bits)
  there are data member changes:
    type 'struct device' of 'usb_gadget::dev' changed, as reported earlier
    10 ('unsigned int isoch_delay' .. 'u64 android_kabi_reserved4') offsets changed (by +128 bits)
  79 impacted interfaces

'struct usb_hcd at hcd.h:81:1' changed (indirectly):
  type size changed from 4864 to 4992 (in bits)
  there are data member changes:
    type 'struct usb_bus' of 'usb_hcd::self' changed, as reported earlier
    28 ('kref kref' .. 'unsigned long int hcd_priv[]') offsets changed (by +128 bits)
  43 impacted interfaces

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

'struct usb_role_switch at class.c:19:1' changed (indirectly):
  type size changed from 6976 to 7232 (in bits)
  there are data member changes:
    type 'struct device' of 'usb_role_switch::dev' changed, as reported earlier
    type 'struct mutex' of 'usb_role_switch::lock' changed, as reported earlier
    and offset changed from 6272 to 6400 (in bits) (by +128 bits)
    4 ('usb_role role' .. 'device* udc') offsets changed (by +256 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 6784 to 7040 (in bits) (by +256 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 6848 to 7104 (in bits) (by +256 bits)
    'bool allow_userspace_control' offset changed (by +256 bits)
  34 impacted interfaces

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

'struct usbnet at usbnet.h:27:1' changed (indirectly):
  type size changed from 4864 to 5120 (in bits)
  there are data member changes:
    type 'struct mutex' of 'usbnet::phy_mutex' changed, as reported earlier
    24 ('unsigned char suspend_count' .. 'unsigned int interrupt_count') offsets changed (by +128 bits)
    type 'struct mutex' of 'usbnet::interrupt_mutex' changed, as reported earlier
    and offset changed from 3456 to 3584 (in bits) (by +128 bits)
    5 ('usb_anchor deferred' .. 'unsigned long int flags') offsets changed (by +256 bits)
  10 impacted interfaces

'struct user_namespace at user_namespace.h:57:1' changed (indirectly):
  type size changed from 4480 to 4608 (in bits)
  there are data member changes:
    type 'struct rw_semaphore' of 'user_namespace::keyring_sem' changed, as reported earlier
    7 ('work_struct work' .. 'u64 android_kabi_reserved2') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct v4l2_ctrl_handler at v4l2-ctrls.h:363:1' changed (indirectly):
  type size changed from 1600 to 1728 (in bits)
  there are data member changes:
    type 'struct mutex' of 'v4l2_ctrl_handler::_lock' changed, as reported earlier
    5 ('mutex* lock' .. 'v4l2_ctrl_ref** buckets') offsets changed (by +128 bits)
    type 'typedef v4l2_ctrl_notify_fnc' of 'v4l2_ctrl_handler::notify' changed:
      underlying type 'void (v4l2_ctrl*, void*)*' changed:
    and offset changed from 704 to 832 (in bits) (by +128 bits)
    7 ('void* notify_priv' .. 'media_request_object req_obj') offsets changed (by +128 bits)
  41 impacted interfaces

'struct v4l2_fh at v4l2-fh.h:42:1' changed (indirectly):
  type size changed from 1152 to 1280 (in bits)
  there are data member changes:
    type 'struct mutex' of 'v4l2_fh::subscribe_lock' changed, as reported earlier
    5 ('list_head subscribed' .. 'v4l2_m2m_ctx* m2m_ctx') offsets changed (by +128 bits)
  33 impacted interfaces

'struct v4l2_m2m_ctx at v4l2-mem2mem.h:99:1' changed (indirectly):
  type size changed from 14848 to 15104 (in bits)
  there are data member changes:
    type 'struct v4l2_m2m_queue_ctx' of 'v4l2_m2m_ctx::cap_q_ctx' changed:
      type size changed from 7040 to 7168 (in bits)
      there are data member changes:
        type 'struct vb2_queue' of 'v4l2_m2m_queue_ctx::q' changed:
          type size changed from 6848 to 6976 (in bits)
          there are data member changes:
            type 'struct mutex' of 'vb2_queue::mmap_lock' changed, as reported earlier
            13 ('unsigned int memory' .. 'char name[32]') offsets changed (by +128 bits)
          70 impacted interfaces
        4 ('list_head rdy_queue' .. 'bool buffered') offsets changed (by +128 bits)
      54 impacted interfaces
    type 'struct v4l2_m2m_queue_ctx' of 'v4l2_m2m_ctx::out_q_ctx' changed, as reported earlier
    and offset changed from 7360 to 7488 (in bits) (by +128 bits)
    4 ('list_head queue' .. 'void* priv') offsets changed (by +256 bits)
  51 impacted interfaces

'struct v4l2_m2m_queue_ctx at v4l2-mem2mem.h:65:1' changed (indirectly):
  details were reported earlier

'struct v4l2_subdev_fh at v4l2-subdev.h:924:1' changed (indirectly):
  type size changed from 1280 to 1408 (in bits)
  there are data member changes:
    type 'struct v4l2_fh' of 'v4l2_subdev_fh::vfh' changed, as reported earlier
    2 ('module* owner' .. 'v4l2_subdev_pad_config* pad') offsets changed (by +128 bits)
  33 impacted interfaces

'struct vb2_queue at videobuf2-core.h:567:1' changed (indirectly):
  details were reported earlier

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

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

'struct wiphy at cfg80211.h:4892:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device' of 'wiphy::dev' changed, as reported earlier
    5 ('bool registered' .. 'list_head wdev_list') offsets changed (by +128 bits)
    type 'typedef possible_net_t' of 'wiphy::_net' changed:
      underlying type 'struct {net* net;}' at net_namespace.h:314:1 changed:
    and offset changed from 9344 to 9472 (in bits) (by +128 bits)
    16 ('const wiphy_coalesce_support* coalesce' .. 'u8 max_data_retry_count') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct wireless_dev at cfg80211.h:5250:1' changed (indirectly):
  type size changed from 3392 to 3520 (in bits)
  there are data member changes:
    type 'struct mutex' of 'wireless_dev::mtx' changed, as reported earlier
    34 ('bool use_4addr' .. 'unsigned long int unprot_beacon_reported') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct workqueue_struct at workqueue.c:243:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct mutex' of 'workqueue_struct::mutex' changed, as reported earlier
    15 ('int work_color' .. 'callback_head rcu') offsets changed (by +128 bits)
  3723 impacted interfaces

'struct wpan_phy at cfg802154.h:176:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct device' of 'wpan_phy::dev' changed, as reported earlier
    type 'typedef possible_net_t' of 'wpan_phy::_net' changed, as reported earlier
    and offset changed from 8192 to 8320 (in bits) (by +128 bits)
  7 impacted interfaces

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

'struct ww_mutex at mutex.h:71:1' changed (indirectly):
  details were reported earlier

'struct xhci_hcd at xhci.h:1753:1' changed (indirectly):
  type size changed from 59264 to 59392 (in bits)
  there are data member changes:
    type 'struct mutex' of 'xhci_hcd::mutex' changed, as reported earlier
    32 ('xhci_command* lpm_command' .. 'unsigned long int priv[]') offsets changed (by +128 bits)
  18 impacted interfaces

Bug: 190190047
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I8a917ac7eb25637e5efcfc024548e1c256b9be77
2021-06-04 11:38:35 -07:00
Louis Kuo
f1a161b019 ANDROID: media: v4l2-core: extend the v4l2 format to support request
This patch is to extend the related interface to support the request-based operations. We use extension fields in the parameters of MEDIA_IOC_SETUP_LINK, VIDIOC_S_FMT, VIDIOC_SUBDEV_S_SELECTION, VIDIOC_SUBDEV_S_FMT as request fd.
The driver uses media_request_get_by_fd() to retrieve the media request and save the pending change in it, so that we can apply the pending change in req_queue() callback then.
Besides, We also add three vendor hook functions to handle related changes in v4l2-framework.

Bug: 187480619

Signed-off-by: Louis Kuo <louis.kuo@mediatek.com>
Change-Id: I22762136f980afaec29be70c32cca8b04e0805a0
2021-06-04 11:15:20 -07:00
rongqianfeng
bf769b7216 ANDROID: vendor_hooks: add hook and OEM data for slab shrink
Some shrinker add lock in count_objects() may cause lock contention
issues and lead all task stall on slab shrink. Add vendor hook in
do_shrink_slab() for shrinker->count_objects() latency measuring.

Add 3 oem data in shrink_control struct. Two is for
shrinker->count_objects() and shrinker->scan_objects() latency
measuring, other one to store priority, some shrinker know the reclaimer
priority can control the memory reclaim more better.

Bug: 188684131

Change-Id: I80e9d90179bb52a99c54d9a067c6fcee835bb2ad
Signed-off-by: rongqianfeng <rongqianfeng@vivo.com>
2021-06-04 11:15:20 -07:00
Liangliang Li
0b76ef69f6 ANDROID: sched: Add oem data in struct rq
Add ANDROID_OEM_DATA to struct rq, which is used to implement oem's
scheduler tuning.

Bug: 188899490
Change-Id: I1904b4fd83effc4b309bfb98811e9718398504f4
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
2021-06-04 11:15:20 -07:00
Chinwen Chang
f88eb0d245 ANDROID: android: Add nr_swap_pages to debug_symbols driver
Add nr_swap_pages symbol which will be used by the memory
profiling module to debug_symbols driver.

Bug: 149040612
Change-Id: I444e53046cf83c91899360e82f817d38cd4fba40
Signed-off-by: Chinwen Chang <chinwen.chang@mediatek.com>
2021-06-04 11:15:20 -07:00
Hemant Kumar
9b5c870516 ANDROID: GKI: Enable CONFIG_PCIEAER for arm64 andx86_64
Allows PCIe device to enable Advanced Error Reporting.

Bug: 187530071
Change-Id: Id5a1bf6f8a2d791f686f44ef22c5d8ba5cde40c6
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2021-06-04 11:15:20 -07:00
Stanimir Varbanov
186313055b UPSTREAM: media: docs: Document CLL and Mastering display colorimetry controls
Document Content Light Level and Mastering Display v4l2 colorimetry
controls.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
(cherry picked from commit 5f8beb7d1e)
BUG: 175389589

Change-Id: I4b262af9464ee3d9f11eb0bfc3fdc372ab2a1e18
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
2021-06-04 11:15:20 -07:00
Stanimir Varbanov
43461c878a UPSTREAM: media: v4l: Add HDR10 static metadata controls
Introduce Content light level and Mastering display colour
volume Colorimetry compound controls with relevant payload
structures and validation.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
(cherry picked from commit 1ad0de78e7)
BUG: 175389589

Change-Id: Ic5985500f2b7bb51699998a4dbe82d4966c0704c
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
2021-06-04 11:15:19 -07:00
Dikshita Agarwal
683232ea4c UPSTREAM: media: uapi: Move the H264 stateless control types out of staging
Move the H264 stateless control types out of staging,
and re-number them to avoid any confusion.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Tested-by: Jernej Skrabec <jernej.skrabec@siol.net>
(cherry picked from commit a7ead39700)
BUG: 175389589

Change-Id: I13bcb5e8aa133f9134933fb2a16acb1a0f48cf69
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
2021-06-04 11:15:19 -07:00
Liangliang Li
372b24bad2 ANDROID: GKI: Add OEM data to mutex/rwsem
Reserve ANDROID_OEM_DATA in struct mutex/rw_semaphore for recoreding
informaition about the lock, which helps to do oem specific lock
optimization.

Bug: 188869548
Change-Id: I33f767a1823f854a8deb8ba9078079aa6a9d76ea
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
2021-06-04 11:15:19 -07:00
Wei Yongjun
b3df6eb195 FROMGIT: usb: typec: tcpci: Make symbol 'tcpci_apply_rc' static
The sparse tool complains as follows:

drivers/usb/typec/tcpm/tcpci.c:118:5: warning:
 symbol 'tcpci_apply_rc' was not declared. Should it be static?

This symbol is not used outside of tcpci.c, so marks it static.

Bug: 185300749
Fixes: 7257fbc7c5 ("usb: typec: tcpci: Implement callback for apply_rc")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Link: https://lore.kernel.org/r/20210524133704.2432555-1-weiyongjun1@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit a0765597c9
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: Ib9aea29a26bfcfee23557dde2bbcb1cd84dd2912
2021-06-04 11:15:19 -07:00
Badhri Jagan Sridharan
29be10211c FROMGIT: usb: typec: tcpci: Implement callback for apply_rc
APPLY RC is defined as ROLE_CONTROL.CC1 != ROLE_CONTROL.CC2 and
POWER_CONTROL.AutodischargeDisconnect is 0. When ROLE_CONTROL.CC1 ==
ROLE_CONTROL.CC2, set the other CC to OPEN.

Bug: 185300749
Fixes: f321a02cae ("usb: typec: tcpm: Implement enabling Auto Discharge disconnect support")
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210517192112.40934-4-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7257fbc7c5
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: Icbd80e146e677f4d0509a9e59da0afe1fdd31ef2
2021-06-04 11:15:19 -07:00
Badhri Jagan Sridharan
750135f7ae FROMGIT: usb: typec: tcpm: Move TCPC to APPLY_RC state during PR_SWAP
When vbus auto discharge is enabled, TCPCI based TCPC transitions
into Attached.SNK/Attached.SRC state. During PR_SWAP, TCPCI based
TCPC would disconnect when partner changes power roles. TCPC has
to be moved APPLY RC state during PR_SWAP. This is done by
ROLE_CONTROL.CC1 != ROLE_CONTROL.CC2 and
POWER_CONTROL.AutodischargeDisconnect is 0. Once the swap sequence
is done, AutoDischargeDisconnect is re-enabled.

Bug: 185300749
Fixes: f321a02cae ("usb: typec: tcpm: Implement enabling Auto Discharge disconnect support")
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Link: https://lore.kernel.org/r/20210517192112.40934-3-badhri@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 59d4d06c8a
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
Change-Id: I28b2307cb2c8ccaccc611303a95cfe00f9cae35a
2021-06-04 11:15:19 -07:00
Greg Kroah-Hartman
a7d161dc5a ANDROID: GKI: device.h: add rcu_head back to struct device_link
Commit 80dd33cf72 ("drivers: base: Fix device link removal") upstream
drops the rcu_head from struct device_link.  But we want to drag it back
here in the Android GKI kernel to be 'safe' for future changes where we
might want to switch back to the old method if testing does not work out
well.

This allows us to switch between the different methods in an ABI
compatible way.

Bug: 161946584
Reported-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If4a56bae6eebe3de5764052b603162071e81bce3
2021-06-04 11:15:18 -07:00
Rafael J. Wysocki
60ea20ed1e FROMGIT: drivers: base: Reduce device link removal code duplication
Reduce device link removal code duplication between the cases when
SRCU is enabled and when it is disabled by moving the only differing
piece of it (which is the removal of the link from the consumer and
supplier lists) into a separate wrapper function (defined differently
for each of the cases in question).

No intentional functional impact.

Reviewed-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/4326215.LvFx2qVVIh@kreacher
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 0c8713153f
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
 driver-core-linus)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0946e6bfa011e765551903683a4a11e87398273c
2021-06-04 11:15:18 -07:00
Rafael J. Wysocki
cead4664c2 FROMGIT: drivers: base: Fix device link removal
When device_link_free() drops references to the supplier and
consumer devices of the device link going away and the reference
being dropped turns out to be the last one for any of those
device objects, its ->release callback will be invoked and it
may sleep which goes against the SRCU callback execution
requirements.

To address this issue, make the device link removal code carry out
the device_link_free() actions preceded by SRCU synchronization from
a separate work item (the "long" workqueue is used for that, because
it does not matter when the device link memory is released and it may
take time to get to that point) instead of using SRCU callbacks.

While at it, make the code work analogously when SRCU is not enabled
to reduce the differences between the SRCU and non-SRCU cases.

Fixes: 843e600b8a ("driver core: Fix sleeping in invalid context during device link deletion")
Cc: stable <stable@vger.kernel.org>
Reported-by: chenxiang (M) <chenxiang66@hisilicon.com>
Tested-by: chenxiang (M) <chenxiang66@hisilicon.com>
Reviewed-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/5722787.lOV4Wx5bFT@kreacher
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 80dd33cf72
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
 driver-core-linus)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ied905bee2346bab71c8ebdc554e5f3f7836db516
2021-06-04 11:15:18 -07:00
Stanley Chu
fb57fa3d60 UPSTREAM: scsi: ufs-mediatek: Keep VCC always-on for specific devices
For some devices which need extra delay after VCC power down, VCC shall be
kept always-on in some MediaTek UFS platforms to ensure the stability of
such devices because the extra delay may not be enough in those platforms.

Bug: 188004633
Change-Id: I77a584101b7b4921fa1b7b91a6c5c4a05995a252
(cherry picked from commit b3f3d31a52)
Link: https://lore.kernel.org/r/20201207054955.24366-3-stanley.chu@mediatek.com
Reviewed-by: Andy Teng <andy.teng@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-06-04 11:15:18 -07:00
Stanley Chu
caa3c2bab0 UPSTREAM: scsi: ufs: Allow regulators being always-on
Introduce a flag "always_on" in struct ufs_vreg to allow vendors to keep
the regulator always-on.

Bug: 188004633
Change-Id: Ib54d7a19056e6fb4b9d3008ab7cbe0ab6fa23523
(cherry picked from commit f8162ac70e)
Link: https://lore.kernel.org/r/20201207054955.24366-2-stanley.chu@mediatek.com
Reviewed-by: Andy Teng <andy.teng@mediatek.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-06-04 11:15:18 -07:00
Zhen Lei
4ac5f3e178 UPSTREAM: scsi: ufs-mediatek: Use correct path to fix compile error
When the kernel is compiled with allmodconfig, the following error is
reported:

In file included from drivers/scsi/ufs/ufs-mediatek-trace.h:36:0,
                 from drivers/scsi/ufs/ufs-mediatek.c:28:
./include/trace/define_trace.h:95:42: fatal error: ./ufs-mediatek-trace.h: No such file or directory
 #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)

The comment in include/trace/define_trace.h specifies that:
TRACE_INCLUDE_PATH: Note, the path is relative to define_trace.h, not the
file including it. Full path names for out of tree modules must be used.

So without "CFLAGS_ufs-mediatek.o := -I$(src)", the current directory "."
is "include/trace/", the relative path of ufs-mediatek-trace.h is
"../../drivers/scsi/ufs/".

Bug: 188004633
Change-Id: Id7dfb7cce1ff0465bd417323e8be08f023a44cad
(cherry picked from commit 5213dc7940)
Link: https://lore.kernel.org/r/20201209063144.1840-2-thunder.leizhen@huawei.com
Fixes: ca1bb061d6 ("scsi: ufs-mediatek: Introduce event_notify implementation")
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Stanley Chu <Stanley.Chu@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-06-04 11:15:18 -07:00
Stanley Chu
1898121800 UPSTREAM: scsi: ufs-mediatek: Introduce event_notify implementation
Introduce event_notify implementation on MediaTek UFS platform. A
vendor-specific tracepoint is added that can be used for debugging
purposes.

Bug: 188004633
Change-Id: Ie3d1f3f3651b9e81a1d28f287459746b93381969
(cherry picked from commit ca1bb061d6)
Link: https://lore.kernel.org/r/20201205115901.26815-5-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-06-04 11:15:18 -07:00
Stanley Chu
c88e6599d2 BACKPORT: scsi: ufs: Introduce event_notify variant function
Introduce event_notify variant function to allow vendor to get notification
of important events and connect to any proprietary debugging facilities.

Bug: 188004633
Change-Id: I7e23fb0842c1c114be97286627ea1c241d66ea31
(cherry picked from commit 172614a9d0)
[Stanley: Resolved minor conflict in drivers/scsi/ufs/ufshcd.c]
Link: https://lore.kernel.org/r/20201205115901.26815-4-stanley.chu@mediatek.com
Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>
Reviewed-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-06-04 11:15:17 -07:00
Greg Kroah-Hartman
f92f904d55 Revert "Revert "clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940""
This reverts commit cb23d3ef63.

Bring back the commit in 5.10.38 that broke the kabi.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Icaf7981dd39bc96ba917c7010d8ea728e6f62a4b
2021-06-04 11:15:17 -07:00
Greg Kroah-Hartman
e86d688e51 Revert "Revert "PM: runtime: Fix unpaired parent child_count for force_resume""
This reverts commit 6120544b9b.

Bring back the commit in 5.10.38 that broke the kabi.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I35e82241cf4bb9c4c8dcb0f2b155e9008d2a9095
2021-06-04 11:15:17 -07:00
Greg Kroah-Hartman
df50ab971a Revert "Revert "kyber: fix out of bounds access when preempted""
This reverts commit 59870a78d4.

Bring back the commit in 5.10.38 that broke the kabi.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic93df6ad7bb79dda947aedc31d23d69fcd97b7d7
2021-06-04 11:15:17 -07:00
Greg Kroah-Hartman
a993cac61a Revert "Revert "usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4""
This reverts commit 4940c943b4.

Bring back the commit in 5.10.38 that broke the kabi.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I78d139da2a44bfbf81e2bf6127ce5bc7ea795c1f
2021-06-04 11:15:17 -07:00
Greg Kroah-Hartman
556758235b Revert "Revert "mm: fix struct page layout on 32-bit systems""
This reverts commit c34cd7750e.

Bring back the commit in 5.10.38 that broke the kabi.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I570fc31f9e1f196136bbbef479fb2413011ddf0e
2021-06-04 11:15:16 -07:00
Liangliang Li
e1611d8751 ANDROID: GKI: Enlarge OEM data reserved in task_struct
Enlarge OEM data reserved in struct task_struct to support OEM's
feature.

Bug: 188018141
Change-Id: I242459e0ecf327475bb4814110f89f160cca0ad1
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
2021-06-04 11:15:16 -07:00
rongqianfeng
474a726efd ANDROID: GKI: add OEM data in cma struct
Add OEM data in cma struct to store and report additional information
for cma memory leak debugging.

Bug: 187861160

Change-Id: Iffb772d23ac30087cb561d8a8b7ad821b41c3840
Signed-off-by: rongqianfeng <rongqianfeng@vivo.com>
2021-06-04 11:15:16 -07:00