Commit Graph

1058152 Commits

Author SHA1 Message Date
Ramji Jiyani
b519faae30 ANDROID: ABI: gki_defconfig: disable cfg80211 and mac80211
Remove CONFIG_CFG80211 and CONFIG_MAC80211 from gki_defconfig
to allow vendors to incorporate features that lands upstream
after KMI freeze.

Also need to update symbol lists since the related 80211
symbols are no longer exported from the core kernel.

Bug: 227176212
Test: TH
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Ia680c2b38d5f13263e318f8c5eaa42f591385736
(cherry picked from commit b24cd8be89c6b6ede275e63d2ce44f6735864236)
Signed-off-by: Carlos Llamas <cmllamas@google.com>
2022-07-19 12:47:39 +00:00
Giuliano Procida
9a19ce82a2 ANDROID: GKI: forward declare struct cgroup_taskset in vendor hooks
The inclusion of the internal kernel/cgroup/cgroup-internal.h header
broke some androidci builds.

Bug: 233047575
Fixes: d5f809c84dc6 ("ANDROID: GKI: use public type definitions in vendor hooks")
Change-Id: Iacca4b8518b9a9c45c927a58621383e66022cb5a
Signed-off-by: Giuliano Procida <gprocida@google.com>
2022-07-19 12:47:39 +00:00
Florian Fainelli
9738c794d6 ANDROID: Fix build error with CONFIG_UCLAMP_TASK disabled
After 7b26719a77c4 ("ANDROID: GKI: use internal type definitions in
vendor hooks") we stopped providing a forward declaration of 'struct
uclamp_se' and instead relied on pulling its definition from
linux/sched.h. the 'uclamp_se' structure is conditionally defined based
upon CONFIG_UCLAMP_TASK therefore causing a build error to show up for
the android_rvh_uclamp_eff_get trace point.

Fix this by providing a forward declaration of 'struct uclamp_se' like
before.

Fixes: 7b26719a77c4 ("ANDROID: GKI: use internal type definitions in vendor hooks")
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Change-Id: Iaa803d149150c1703435f9cfa52ea1406a9521fd
2022-07-19 12:47:39 +00:00
Chao Yu
a568f5bd64 ANDROID: GKI: add PG_oem_reserved in enum pageflags
Add PG_oem_reserved in enum pageflags to indicate more
status of page for OEM, this flag will be visible only
in 64bit platform.

Bug: 235673196

Change-Id: I6a8324a5110d13cdb993c1d366824c057cd133dd
Signed-off-by: Chao Yu <chao@kernel.org>
2022-07-19 12:47:39 +00:00
heshuai1
69b8778f42 ANDROID: power: Add ANDROID_OEM_DATA_ARRAY in freq_qos_request.
add ANDROID_OEM_DATA_ARRAY for implement of oem gki.

Bug: 235925535
Signed-off-by: heshuai1 <heshuai1@xiaomi.com>
Change-Id: Ie2bfc7251266e22a5ee69b226dfd85d6e9cac2f5
2022-07-19 12:47:39 +00:00
Tejun Heo
6b20eb3f7f FROMGIT: cgroup: Use separate src/dst nodes when preloading css_sets for migration
Each cset (css_set) is pinned by its tasks. When we're moving tasks around
across csets for a migration, we need to hold the source and destination
csets to ensure that they don't go away while we're moving tasks about. This
is done by linking cset->mg_preload_node on either the
mgctx->preloaded_src_csets or mgctx->preloaded_dst_csets list. Using the
same cset->mg_preload_node for both the src and dst lists was deemed okay as
a cset can't be both the source and destination at the same time.

Unfortunately, this overloading becomes problematic when multiple tasks are
involved in a migration and some of them are identity noop migrations while
others are actually moving across cgroups. For example, this can happen with
the following sequence on cgroup1:

 #1> mkdir -p /sys/fs/cgroup/misc/a/b
 #2> echo $$ > /sys/fs/cgroup/misc/a/cgroup.procs
 #3> RUN_A_COMMAND_WHICH_CREATES_MULTIPLE_THREADS &
 #4> PID=$!
 #5> echo $PID > /sys/fs/cgroup/misc/a/b/tasks
 #6> echo $PID > /sys/fs/cgroup/misc/a/cgroup.procs

the process including the group leader back into a. In this final migration,
non-leader threads would be doing identity migration while the group leader
is doing an actual one.

After #3, let's say the whole process was in cset A, and that after #4, the
leader moves to cset B. Then, during #6, the following happens:

 1. cgroup_migrate_add_src() is called on B for the leader.

 2. cgroup_migrate_add_src() is called on A for the other threads.

 3. cgroup_migrate_prepare_dst() is called. It scans the src list.

 4. It notices that B wants to migrate to A, so it tries to A to the dst
    list but realizes that its ->mg_preload_node is already busy.

 5. and then it notices A wants to migrate to A as it's an identity
    migration, it culls it by list_del_init()'ing its ->mg_preload_node and
    putting references accordingly.

 6. The rest of migration takes place with B on the src list but nothing on
    the dst list.

This means that A isn't held while migration is in progress. If all tasks
leave A before the migration finishes and the incoming task pins it, the
cset will be destroyed leading to use-after-free.

This is caused by overloading cset->mg_preload_node for both src and dst
preload lists. We wanted to exclude the cset from the src list but ended up
inadvertently excluding it from the dst list too.

This patch fixes the issue by separating out cset->mg_preload_node into
->mg_src_preload_node and ->mg_dst_preload_node, so that the src and dst
preloadings don't interfere with each other.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Mukesh Ojha <quic_mojha@quicinc.com>
Reported-by: shisiyuan <shisiyuan19870131@gmail.com>
Link: http://lkml.kernel.org/r/1654187688-27411-1-git-send-email-shisiyuan@xiaomi.com
Link: https://www.spinics.net/lists/cgroups/msg33313.html
Fixes: f817de9851 ("cgroup: prepare migration path for unified hierarchy")
Cc: stable@vger.kernel.org # v3.16+
(cherry picked from commit 07fd5b6cdf
 https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-5.19-fixes)
Bug: 235577024
Change-Id: Ieaf1c0c8fc23753570897fd6e48a54335ab939ce
Signed-off-by: Steve Muckle <smuckle@google.com>
2022-07-19 12:47:39 +00:00
Liujie Xie
94f9adb4d0 ANDROID: vendor_hooks: export hooks of mem_cgroup subsystem
Forgot export hooks for driver, fix it.

Fixes: 1cdcf76b15 ("ANDROID: vendor_hooks: add hooks in mem_cgroup subsystem")
Bug: 192052083

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I79779406b4dab52ceca02bd5de909d3a0c127cb9
(cherry picked from commit 69c931581f)
2022-07-19 12:47:38 +00:00
Liujie Xie
9fa4706bf4 ANDROID: vendor_hooks: add a field in pglist_data
Add a pglist_data field to record additional node parameters.

Bug: 192052083

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I3d764ab298c71ab9aba245867ee529045551aef4
(cherry picked from commit 65115fdbf8)
2022-07-19 12:47:38 +00:00
Liujie Xie
1ed025b9a1 ANDROID: Allow vendor module to reclaim a memcg
Export try_to_free_mem_cgroup_pages function to allow vendor modules to reclaim a memory cgroup.

Bug: 192052083

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: Iec6ef50f5c71c62d0c9aa6de90e56a143dac61c1
(cherry picked from commit a8385d61f2)
2022-07-19 12:47:38 +00:00
Liujie Xie
bf24c43b7f ANDROID: Export memcg functions to allow module to add new files
Export cgroup_add_legacy_cftypes and a helper function to allow vendor module to expose additional files in the memory cgroup hierarchy.

Bug: 192052083

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: Ie2b936b3e77c7ab6d740d1bb6d70e03c70a326a7
(cherry picked from commit f41a95eadc)
2022-07-19 12:47:38 +00:00
Liujie Xie
7af5027889 ANDROID: vendor_hooks: add hooks in mem_cgroup subsystem
Add hooks to tune memory policy based on mem_cgroup.

Bug: 192052083

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: Ica1a5409eed86fbd466edd2c7557f94972a40175
(cherry picked from commit 1cdcf76b15)
2022-07-19 12:47:38 +00:00
Raghu Bankapur
216566d02a ANDROID: ASoC: core- Add vendor data fields to support hostless DAI
Allow DAI's to be hostless so that no PCM data is sent between DAI
and CPU. This allows for power savings as there is no DMA or CPU
interaction required

vendor hooks will be developed using this fields to enable
hostless

Bug: 234791256

Signed-off-by: Raghu Bankapur <quic_rbankapu@quicinc.com>
Change-Id: Ib926c4e76e9f76d54f3c1402dba676adc49bcf7c
2022-07-19 12:47:38 +00:00
Weichao Guo
82e5f364f2 ANDROID: GKI: Add ANDROID_OEM_DATA_ARRAY() in struct ufs_hba
Add ANDROID_OEM_DATA_ARRAY() in struct ufs_hba to
support customized features.

Bug: 235673196
Signed-off-by: Weichao Guo <guoweichao@oppo.corp-partner.google.com>
Change-Id: I30d479d090256447b8e93157e30fc9db92563e46
2022-07-19 12:47:38 +00:00
Neeraj Upadhyay
fbee76aa8d ANDROID: gic-v3: Update vendor hook to set affinity in GIC v3
Update android_rvh_gic_v3_set_affinity vendor hook to pass
redistributor information. This allows configuring affinity
controls in the GIC redistributor space.

Bug: 180471389
Change-Id: I7325fea4338b39b65027e310a0461b7e7d32e6aa
Signed-off-by: Neeraj Upadhyay <quic_neeraju@quicinc.com>
Signed-off-by: Yogesh Lal <quic_ylal@quicinc.com>
2022-07-19 12:47:38 +00:00
Chao Yu
ca0873cf96 ANDROID: GKI: add ANDROID_OEM_DATA in struct bio
Add ANDROID_OEM_DATA(1) in struct bio for more fields recording.

Bug: 235673196
Change-Id: Ib56e9e5690d85f20088bf289642544ef9feddc58
Signed-off-by: Chao Yu <chao@kernel.org>
2022-07-19 12:47:37 +00:00
Veerendranath Jakkam
65dbe4adb8 BACKPORT: FROMLIST: cfg80211: Increase akm_suites array size in cfg80211_crypto_settings
Increase akm_suites array size in struct cfg80211_crypto_settings to 10
and advertise the capability to userspace. This allows userspace to send
more than two AKMs to driver in netlink commands such as
NL80211_CMD_CONNECT.

This capability is needed for implementing WPA3-Personal transition mode
correctly with any driver that handles roaming internally. Currently,
the possible AKMs for multi-AKM connect can include PSK, PSK-SHA-256,
SAE, FT-PSK and FT-SAE. Since the count is already 5, increasing
the akm_suites array size to 10 should be reasonable for future
usecases.

Contains a fix for the issue:
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>

Bug: 233387627
Change-Id: Ief3648fda9195c1fa6b9bf881aae36da74b9738b
Link: https://lore.kernel.org/linux-wireless/1653312358-12321-1-git-send-email-quic_vjakkam@quicinc.com/
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2022-07-19 12:47:37 +00:00
Veerendranath Jakkam
816e633095 ANDROID: nl80211/cfg80211: Add support to do API changes after GKI freeze
Reserve sufficient nl80211 attributes in enum nl80211_commands and enum
nl80211_attr to backport upstream UAPI changes.

Reserve data fields for upstream backport changes and vendor hooks.
Also, add vendor hooks to set/get additional info from driver based on
the cfg80211 current context. These APIs can be used to configure/fetch
data of the new params added in upstream cfg80211_op calls.

Ex:
upstream kernel added a new param to existing cfg80211_op "add_key()".
The addtional param info added in the upstream kernel can be configured
using "android_vh_cfg80211_set_context" before calling "add_key".

Bug: 233387627
Change-Id: I99f696ad291ae5965fc6d91bf565cc0c9d423dd5
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2022-07-19 12:47:37 +00:00
Veerendranath Jakkam
99e56ef5c6 ANDROID: Add macros to create reserved data fields to backport upstream changes
Adds various macros to create reserved data fields in kernel data
structures before the freeze and to use reserved data fields to backport
upstream changes after the freeze.

Bug: 233387627
Change-Id: Ifbf8444861fa805593ce9b4837cd2653b7b7a0b0
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2022-07-19 12:47:37 +00:00
Johannes Berg
d902158498 UPSTREAM: wil6210: remove 'freq' debugfs
This is completely racy, remove it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20220506095451.9852305a92c8.I05155824a1b9059eb59beccde81786dc69de354a@changeid

Bug: 233387627
Change-Id: Ibf164291a9c560bf58d8ae6f705803af8181e36d
(cherry picked from commit 4255a07a98)
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
2022-07-19 12:47:37 +00:00
Chao Yu
1307a01289 ANDROID: GKI: Add ANDROID_OEM_DATA() in struct queue_limits
Add ANDROID_OEM_DATA(1) in struct queue_limits to support more limits
recording.

Bug: 235673196

Signed-off-by: Chao Yu <chao@kernel.org>
Change-Id: Ic8b3007607cf39b0d2a12079a38ef9c20dc3a636
2022-07-19 12:47:37 +00:00
Raghu Bankapur
fe35157d50 FROMLIST: ALSA: control: Use xarray for faster
lookups

The control elements are managed in a single linked list and we
traverse the whole list for matching each numid or ctl id per every
inquiry of a control element.  This is OK-ish for a small number of
elements but obviously it doesn't scale.  Especially the matching with
the ctl id takes time because it checks each field of the snd_ctl_id
element, e.g. the name string is matched with strcmp().

This patch adds the hash tables with Xarray for improving the lookup
speed of a control element.  There are two xarray tables added to the
card; one for numid and another for ctl id.  For the numid, we use the
numid as the index, while for the ctl id, we calculate a hash key.

The lookup is done via a single xa_load() execution.  As long as the
given control element is found on the Xarray table, that's fine, we
can give back a quick lookup result.  The problem is when no entry
hits on the table, and for this case, we have a slight optimization.
Namely, the driver checks whether we had a collision on Xarray table,
and do a fallback search (linear lookup of the full entries) only if a
hash key collision happened beforehand.
So, in theory, the inquiry for a non-existing element might take still
time even with this patch in a worst case, but this must be pretty
rare.

The feature is enabled via CONFIG_SND_CTL_FAST_LOOKUP, which is turned
on as default.  For simplicity, the option can be turned off only when
CONFIG_EXPERT is set ("You are expert? Then you manage 1000 knobs").

Link: https://lore.kernel.org/r/20220609180504.775-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>

Bug: 234796421

Signed-off-by: Raghu Bankapur <quic_rbankapu@quicinc.com>
Change-Id: Ic70ba31da655abb1a4287e1bd2a6109d6042b916
2022-07-19 12:47:37 +00:00
Liujie Xie
45fabbd8e3 ANDROID: vendor_hooks: add a field in mem_cgroup
Add a field in mem_cgroup to record additional per-cgroup information
for memory policy tuning.

Bug: 192052083

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I28c8bc1c2455d53e68a05555b57b76ded27af98a
2022-07-19 12:47:37 +00:00
Giuliano Procida
76ed7e5d56 ANDROID: GKI: use internal type definitions in vendor hooks
This change is intended to reduce the chance of a missed ABI break
involving vendor hooks.

The following types are now fully defined in ABI XML.

* `struct binder_transaction`
* `struct binder_thread`
* `struct binder_proc`
* `struct printk_ringbuffer`
* `struct printk_record`

symbol '__alloc_pages' changed
  CRC changed from 0x6497cbd to 0x230fd8e5

symbol '__find_vma' changed
  CRC changed from 0xf11b619f to 0xb0069a61

symbol '__free_pages' changed
  CRC changed from 0xba5eeb68 to 0xdc394265

... 195 omitted; 198 symbols have only CRC changes

Bug: 233047575
Change-Id: I807227f6161f0a44ec3657dc8cdb8a3fdffc40b3
Signed-off-by: Giuliano Procida <gprocida@google.com>
2022-07-19 12:47:36 +00:00
Giuliano Procida
45d3ead9a8 ANDROID: GKI: use public type definitions in vendor hooks
This change is intended to reduce the chance of a missed ABI break
involving vendor hooks.

The following type is now fully defined in ABI XML.

* `struct timekeeper`

symbol '__traceiter_android_rvh_account_irq' changed
  CRC changed from 0x18e0dccf to 0x4e82c102

symbol '__traceiter_android_rvh_after_dequeue_task' changed
  CRC changed from 0x7efc419b to 0x1c0066e1

symbol '__traceiter_android_rvh_after_enqueue_task' changed
  CRC changed from 0xd6f0f603 to 0xf7eaafb8

... 75 omitted; 78 symbols have only CRC changes

Bug: 233047575
Change-Id: I8c04eede1b9d9e788abce95cb31dbd19916774ef
Signed-off-by: Giuliano Procida <gprocida@google.com>
2022-07-19 12:47:36 +00:00
Chao Yu
04a07173c7 ANDROID: GKI: add ANDROID_OEM_DATA() in struct request_queue
Add ANDROID_OEM_DATA(1) in struct request_queue to support more
request queue's status.

Bug: 235673196

Change-Id: Ib55941790f8c9627e47abae044eb7d7ebe658f21
Signed-off-by: Chao Yu <chao@kernel.org>
2022-07-19 12:47:36 +00:00
rongqianfeng
8da6ee328b 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>
2022-07-19 12:47:36 +00:00
Stanley Chu
0f825a1e77 FROMLIST: scsi: ufs: Export regulator functions
Export below regulator functions to allow vendors to
customize regulator configuration in their own platforms.

int ufshcd_populate_vreg(struct device *dev, const char *name,
			 struct ufs_vreg **out_vreg);
int ufshcd_get_vreg(struct device *dev, struct ufs_vreg *vreg);

Bug: 235550312
Link: https://lore.kernel.org/linux-scsi/20220614141655.14409-10-stanley.chu@mediatek.com/
Change-Id: I9990d2e5eb580f160b0c8b4a95b687d754d0767b
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
2022-07-19 12:47:36 +00:00
Greg Kroah-Hartman
bd0f157b65 ANDROID: GKI: timer.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct timer_list.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I74673e2271cd757c4871c9bcb69fd73bb22a722b
2022-07-19 12:47:36 +00:00
Greg Kroah-Hartman
b9068da8af ANDROID: GKI: USB: add Android ABI padding to some structures
To try to mitigate potential future USB api changes, add some padding to
the following structures:
	struct usb_interface
	struct usb_host_bos
	struct usb_bus
	struct usb_device
	struct usb_driver
	struct urb
	struct usb_hcd
	struct hc_driver
	struct usb_tt
	struct usbnet
	struct driver_info (for usbnet driver)

Based on a patch from Oliver Neukum <oneukum@suse.de> from the SLES
kernel.

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

'struct driver_info at usbnet.h:94:1' changed:
  type size changed from 1152 to 1280 (in bits)
  2 data member insertions:
    'u64 driver_info::android_kabi_reserved1', at offset 1152 (in bits) at usbnet.h:183:1
    'u64 driver_info::android_kabi_reserved2', at offset 1216 (in bits) at usbnet.h:184:1
  10 impacted interfaces:

'struct hc_driver at hcd.h:249:1' changed:
  type size changed from 2880 to 3136 (in bits)
  4 data member insertions:
    'u64 hc_driver::android_kabi_reserved1', at offset 2880 (in bits) at hcd.h:419:1
    'u64 hc_driver::android_kabi_reserved2', at offset 2944 (in bits) at hcd.h:420:1
    'u64 hc_driver::android_kabi_reserved3', at offset 3008 (in bits) at hcd.h:421:1
    'u64 hc_driver::android_kabi_reserved4', at offset 3072 (in bits) at hcd.h:422:1
  16 impacted interfaces:

'struct urb at usb.h:1550:1' changed:
  type size changed from 1472 to 1728 (in bits)
  4 data member insertions:
    'u64 urb::android_kabi_reserved1', at offset 1472 (in bits) at usb.h:1613:1
    'u64 urb::android_kabi_reserved2', at offset 1536 (in bits) at usb.h:1614:1
    'u64 urb::android_kabi_reserved3', at offset 1600 (in bits) at usb.h:1615:1
    'u64 urb::android_kabi_reserved4', at offset 1664 (in bits) at usb.h:1616:1
  39 impacted interfaces:

'struct usb_bus at usb.h:424:1' changed:
  type size changed from 1024 to 1280 (in bits)
  4 data member insertions:
    'u64 usb_bus::android_kabi_reserved1', at offset 1024 (in bits) at usb.h:480:1
    'u64 usb_bus::android_kabi_reserved2', at offset 1088 (in bits) at usb.h:481:1
    'u64 usb_bus::android_kabi_reserved3', at offset 1152 (in bits) at usb.h:482:1
    'u64 usb_bus::android_kabi_reserved4', at offset 1216 (in bits) at usb.h:483:1
  54 impacted interfaces:

'struct usb_device at usb.h:631:1' changed:
  type size changed from 11712 to 11968 (in bits)
  4 data member insertions:
    'u64 usb_device::android_kabi_reserved1', at offset 11712 (in bits) at usb.h:728:1
    'u64 usb_device::android_kabi_reserved2', at offset 11776 (in bits) at usb.h:729:1
    'u64 usb_device::android_kabi_reserved3', at offset 11840 (in bits) at usb.h:730:1
    'u64 usb_device::android_kabi_reserved4', at offset 11904 (in bits) at usb.h:731:1
  54 impacted interfaces:

'struct usb_driver at usb.h:1183:1' changed:
  type size changed from 2432 to 2688 (in bits)
  4 data member insertions:
    'u64 usb_driver::android_kabi_reserved1', at offset 2432 (in bits) at usb.h:1232:1
    'u64 usb_driver::android_kabi_reserved2', at offset 2496 (in bits) at usb.h:1233:1
    'u64 usb_driver::android_kabi_reserved3', at offset 2560 (in bits) at usb.h:1234:1
    'u64 usb_driver::android_kabi_reserved4', at offset 2624 (in bits) at usb.h:1235:1
  4 impacted interfaces:

'struct usb_hcd at hcd.h:81:1' changed:
  type size changed from 4736 to 5248 (in bits)
  4 data member insertions:
    'u64 usb_hcd::android_kabi_reserved1', at offset 4992 (in bits) at hcd.h:229:1
    'u64 usb_hcd::android_kabi_reserved2', at offset 5056 (in bits) at hcd.h:230:1
    'u64 usb_hcd::android_kabi_reserved3', at offset 5120 (in bits) at hcd.h:231:1
    'u64 usb_hcd::android_kabi_reserved4', at offset 5184 (in bits) at hcd.h:232:1
  16 impacted interfaces:

'struct usb_host_bos at usb.h:396:1' changed:
  type size changed from 384 to 640 (in bits)
  4 data member insertions:
    'u64 usb_host_bos::android_kabi_reserved1', at offset 384 (in bits) at usb.h:412:1
    'u64 usb_host_bos::android_kabi_reserved2', at offset 448 (in bits) at usb.h:413:1
    'u64 usb_host_bos::android_kabi_reserved3', at offset 512 (in bits) at usb.h:414:1
    'u64 usb_host_bos::android_kabi_reserved4', at offset 576 (in bits) at usb.h:415:1
  54 impacted interfaces:

'struct usb_interface at usb.h:232:1' changed:
  type size changed from 7360 to 7616 (in bits)
  4 data member insertions:
    'u64 usb_interface::android_kabi_reserved1', at offset 7360 (in bits) at usb.h:262:1
    'u64 usb_interface::android_kabi_reserved2', at offset 7424 (in bits) at usb.h:263:1
    'u64 usb_interface::android_kabi_reserved3', at offset 7488 (in bits) at usb.h:264:1
    'u64 usb_interface::android_kabi_reserved4', at offset 7552 (in bits) at usb.h:265:1
  73 impacted interfaces:

'struct usbnet at usbnet.h:27:1' changed:
  type size changed from 4736 to 4992 (in bits)
  4 data member insertions:
    'u64 usbnet::android_kabi_reserved1', at offset 4736 (in bits) at usbnet.h:89:1
    'u64 usbnet::android_kabi_reserved2', at offset 4800 (in bits) at usbnet.h:90:1
    'u64 usbnet::android_kabi_reserved3', at offset 4864 (in bits) at usbnet.h:91:1
    'u64 usbnet::android_kabi_reserved4', at offset 4928 (in bits) at usbnet.h:92:1
  10 impacted interfaces:

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Signed-off-by: Sandeep Patil <sspatil@google.com>
Change-Id: Ie9e246d9333ac70fc9cc2b0bf7cb466a8ffdb6de
2022-07-19 12:47:36 +00:00
Greg Kroah-Hartman
b2e389364a ANDROID: GKI: sched.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
pointer to struct signal_struct, struct sched_entity, struct
sched_rt_entity, and struct task_struct.

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

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

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

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

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1449735b836399e9b356608727092334daf5c36b
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
e4dba38ed5 ANDROID: GKI: module.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct module.

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

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

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2a764e9eac88f20e50d192112235da6d2f0f83bc
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
97f7825ae5 ANDROID: GKI: sock.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct sock.

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

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

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I61c3d6cf12c087345db71fc6d93ee6bd58969003
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
65368888fa ANDROID: GKI: sched: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding
padding to a number of core internal scheduler structures.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0ef2f8dd5f3259dcf443c5045aa1e8505ed78a76
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
3312f58067 ANDROID: GKI: mount.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct vfsmount.

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

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

'struct vfsmount at mount.h:68:1' changed:
  type size changed from 256 to 512 (in bits)
  4 data member insertions:
    'u64 vfsmount::android_kabi_reserved1', at offset 192 (in bits) at mount.h:73:1
    'u64 vfsmount::android_kabi_reserved2', at offset 256 (in bits) at mount.h:74:1
    'u64 vfsmount::android_kabi_reserved3', at offset 320 (in bits) at mount.h:75:1
    'u64 vfsmount::android_kabi_reserved4', at offset 384 (in bits) at mount.h:76:1
  there are data member changes:
    'void* vfsmount::data' offset changed from 192 to 448 (in bits) (by +256 bits)
  8 impacted interfaces:
    function vfsmount* mntget(vfsmount*)
    function int notify_change2(vfsmount*, dentry*, iattr*, inode**)
    function int vfs_create2(vfsmount*, inode*, dentry*, umode_t, bool)
    function int vfs_mkdir2(vfsmount*, inode*, dentry*, umode_t)
    function int vfs_path_lookup(dentry*, vfsmount*, const char*, unsigned int, path*)
    function int vfs_rename2(vfsmount*, inode*, dentry*, inode*, dentry*, inode**, unsigned int)
    function int vfs_rmdir2(vfsmount*, inode*, dentry*)
    function int vfs_unlink2(vfsmount*, inode*, dentry*, inode**)

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9ce1b63f05c90af168eeea1312ac88d3cc5cfdf3
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
9d31ebf633 ANDROID: GKI: mm: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to stuct vm_area_struct and struct zone.

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

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

'struct vm_area_struct at mm_types.h:292:1' changed:
  type size changed from 1472 to 1728 (in bits)
  4 data member insertions:
    'u64 vm_area_struct::android_kabi_reserved1', at offset 1472 (in bits) at mm_types.h:365:1
    'u64 vm_area_struct::android_kabi_reserved2', at offset 1536 (in bits) at mm_types.h:366:1
    'u64 vm_area_struct::android_kabi_reserved3', at offset 1600 (in bits) at mm_types.h:367:1
    'u64 vm_area_struct::android_kabi_reserved4', at offset 1664 (in bits) at mm_types.h:368:1
  1435 impacted interfaces:

'struct zone at mmzone.h:420:1' changed:
  type size changed from 12800 to 13312 (in bits)
  4 data member insertions:
    'u64 zone::android_kabi_reserved1', at offset 12672 (in bits) at mmzone.h:569:1
    'u64 zone::android_kabi_reserved2', at offset 12736 (in bits) at mmzone.h:570:1
    'u64 zone::android_kabi_reserved3', at offset 12800 (in bits) at mmzone.h:571:1
    'u64 zone::android_kabi_reserved4', at offset 12864 (in bits) at mmzone.h:572:1
  624 impacted interfaces:

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I81702aa833f419928e0e32e9609722b98592c171
2022-07-19 12:47:35 +00:00
Saravana Kannan
122baa8669 ANDROID: GKI: add some padding to some driver core structures
These structures are fundamental to implementing fw_devlink and
sync_state(). Since they are still evolving, add some padding in case we
need to backport any important bug fixes.

	struct device_link
	struct class
	struct fwnode_handle
	struct fwnode_link

Bug: 183615740
Signed-off-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id9daf7cf9ae5d94fb0134144f8220a241ccbaef8
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
3ccd62e306 ANDROID: GKI: add padding to struct hid_device
struct hid_device was not being tracked as a "stable" symbol in the
past, but that looks to change with some future abi requirements.  So
add needed padding now, to ensure that we can support this over the
long-term.

This does not change the existing api at all as this symbol was not
supported yet.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8c3064fb7a19006a29dabbaf25c9ed1737f62e75
2022-07-19 12:47:35 +00:00
Greg Kroah-Hartman
85456f0581 ANDROID: GKI: USB: XHCI: add Android ABI padding to lots of xhci structures
Given that the xhci driver seems to be one of the more "modified" by
vendors, and that the xhci core is going to be built into the kernel in
the GKI 2 Android kernel, the xhci "platform" api is now a stable
boundry.

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

Bug: 151154716
Bug: 182336717
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I55c8cad8c8c51330fc2d72df41a1f04229a22e98
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
ca9bf220f8 ANDROID: GKI: dwc3: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding
padding to a number of dwc3 structures.

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1826d885e3acf1f378d0e30b1ca2ddc56b16a9e4
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
7fb8bdacb2 ANDROID: GKI: sound/usb/card.h: add Android ABI padding to struct snd_usb_endpoint
There seems to be lots of people wanting to change this structure, and
while it feels internal, due to some SoC patches, there's an ABI that
needs to be preserved here over time.

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

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I21cb3abbdca2961e33a94b2bc48b49f3fadbd206
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
d4b44faa76 ANDROID: GKI: user_namespace.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct user_namespace.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2c41281b191cd252db2ddc792699d869ce8d7a4d
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
075f69c5bb ANDROID: GKI: quota.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct quota_format_ops, struct dquot_operations, and struct
quotactl_ops.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia957d2f8d9b1a6939cddedc16a7481e9de1a8866
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
451a87818d ANDROID: GKI: mmu_notifier.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct mmu_notifier_ops and struct mmu_notifier.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: If631445abf20c22830a1c764ff2ccd662a7bd204
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
ae3c0ab383 ANDROID: GKI: mm.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct vm_operations_struct.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I78f84148ef4d3524bd6c5b78e53e06503a4ac3ae
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
f3fb488d59 ANDROID: GKI: kobject.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct kobject, struct kobj_type, and struct kset.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3c28826dc314c7f1b5c9bb167be82089d53768bb
2022-07-19 12:47:34 +00:00
Greg Kroah-Hartman
3ae94b1d60 ANDROID: GKI: kernfs.h: add Android ABI padding to some structures
Try to mitigate potential future driver core api changes by adding a
padding to struct kernfs_syscall_ops and struct kernfs_ops.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1fcb0b81c3ea7d5300da283b275391f95d6d4ec8
2022-07-19 12:47:33 +00:00
Greg Kroah-Hartman
60b228eece ANDROID: GKI: irqdomain.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct irq_domain.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8ff0c2162ca5f7f0b6c7a51bf341c6b1b1c856e8
2022-07-19 12:47:33 +00:00
Greg Kroah-Hartman
6085db79f1 ANDROID: GKI: ioport.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct resource.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5ff4401c540be7d095f1db27370281b7220af030
2022-07-19 12:47:33 +00:00
Greg Kroah-Hartman
10757a98c3 ANDROID: GKI: iomap.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct iomap_ops.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1803d5163f7a1d0320f567b983a8241777284c5e
2022-07-19 12:47:33 +00:00
Greg Kroah-Hartman
6e65645918 ANDROID: GKI: hrtimer.h: add Android ABI padding to a structure
Try to mitigate potential future driver core api changes by adding a
padding to struct hrtimer.

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

Bug: 151154716
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5432e05386265281d993199599c6f9dcd17a9daf
2022-07-19 12:47:33 +00:00