Commit Graph

979277 Commits

Author SHA1 Message Date
Kuan-Ying Lee
38abaebab7 ANDROID: syscall_check: add vendor hook for bpf syscall
Through this vendor hook, we can get the timing to check
current running task for the validation of its credential
and bpf operations.

Bug: 191291287

Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
Change-Id: Ie4ed8df7ad66df2486fc7e52a26d9191fc0c176e
2021-07-09 13:48:53 +00:00
Kuan-Ying Lee
a7a3b31d58 ANDROID: syscall_check: add vendor hook for open syscall
Through this vendor hook, we can get the timing to check
current running task for the validation of its credential
and open operation.

Bug: 191291287

Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
Change-Id: Ia644ceb02dbc230ee1d25cad3630c2c3f908e41a
2021-07-09 13:48:44 +00:00
Kuan-Ying Lee
a5543c9cd7 ANDROID: syscall_check: add vendor hook for mmap syscall
Through this vendor hook, we can get the timing to check
current running task for the validation of its credential
and related operations.

Bug: 191291287

Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com>
Change-Id: If20bd8bb8311ad10a374033734fbdc7ef61a7704
2021-07-09 13:48:33 +00:00
Chenggang Wang
1f0769279f ANDROID: GKI: Add symbol to symbol list
Leaf changes summary: 1 artifact changed (1 filtered out)
Changed leaf types summary: 0 (1 filtered out) leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function unsigned int stack_trace_save_tsk(task_struct*, unsigned long int*, unsigned int, unsigned int)'

Bug: 192766348

Change-Id: Iab695e36aadb028c9724dd09c713b2a871dbdaca
Signed-off-by: Chenggang Wang <wangchenggang@vivo.com>
Signed-off-by: Giuliano Procida <gprocida@google.com>
2021-07-09 12:50:18 +01:00
Bae Soukjin
2cff74e08c ANDROID: vendor_hooks: Add vendor hook to the net
android_vh_ptype_head:
    To add a debugging chain to ptype list

  android_vh_kfree_skb
    To sniff the dropped packet at kernel network

Bug: 163716381

Signed-off-by: Bae Soukjin <soukjin.bae@samsung.com>
Change-Id: Ide80bf0a129da31a1824d4a33026ac42be327361
(cherry picked from commit d88b2969cfa78608ad4563e5f4fa84497cc0ffa6)
(cherry picked from commit a8021ba684c584b8a4361d1680f6e466748ab012)
2021-07-09 05:02:33 +00:00
Bart Van Assche
25edba0d4d FROMLIST: scsi: ufs: Fix the SCSI abort handler
Make the following changes in ufshcd_abort():
- Return FAILED instead of SUCCESS if the abort handler notices that a SCSI
  command has already been completed. Returning SUCCESS in this case
  triggers a use-after-free and may trigger a kernel crash.
- Fix the code for aborting SCSI commands submitted to a WLUN.

The current approach for aborting SCSI commands that have been submitted to
a WLUN and that timed out is as follows:
- Report to the SCSI core that the command has completed successfully.
  Let the block layer free any data buffers associated with the command.
- Mark the command as outstanding in 'outstanding_reqs'.
- If the block layer tries to reuse the tag associated with the aborted
  command, busy-wait until the tag is freed.

This approach can result in:
- Memory corruption if the controller accesses the data buffer after the
  block layer has freed the associated data buffers.
- A race condition if ufshcd_queuecommand() or ufshcd_exec_dev_cmd()
  checks the bit that corresponds to an aborted command in 'outstanding_reqs'
  after it has been cleared and before it is reset.
- High energy consumption if ufshcd_queuecommand() repeatedly returns
  SCSI_MLQUEUE_HOST_BUSY.

Fix this by reporting to the SCSI error handler that aborting a SCSI
command failed if the SCSI command was submitted to a WLUN.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Stanley Chu <stanley.chu@mediatek.com>
Cc: Can Guo <cang@codeaurora.org>
Cc: Asutosh Das <asutoshd@codeaurora.org>
Cc: Avri Altman <avri.altman@wdc.com>
Fixes: 7a7e66c65d ("scsi: ufs: Fix a race condition between ufshcd_abort() and eh_work()")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/linux-scsi/20210701211224.17070-17-bvanassche@acm.org/
Change-Id: Ice5138ece51bf0e00dc0aa5fcd3ac74659b2afc0
BUG: 192807596
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2021-07-08 16:40:04 -07:00
xieliujie
c0efdc4a5e ANDROID: android: export kernel function vm_unmapped_area
In our vendor driver, we need to call the following function:
mm/mmap.c : unsigned long vm_unmapped_area(struct vm_unmapped_area_info *info);

Bug: 191439466
Signed-off-by: xieliujie <xieliujie@oppo.com>
Change-Id: I8eb0f8cc80ab7a0ebc9db3e3b217be94843da3ed
2021-07-08 22:12:00 +00:00
Charan Teja Reddy
964220d080 ANDROID: shmem: vendor hook in shmem_alloc_page
Some drivers can maintain its own pool of shmem pages that can reduce
the latencies in allocation of them by avoiding in getting a page from
buddy. To support this, add a vendor hook which first tries to get the
page from the driver maintained shmem pool when shmem_alloc_page is
called. If failed, it will simply fall back to the original path.

Bug: 187798288
Change-Id: I5deaf995b2e2ac40c2192096435954ee3f4a4fa8
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2021-07-08 22:06:18 +00:00
Isaac J. Manjarres
bd2ca0ba5b FROMLIST: pstore/ram: Rework logic for detecting ramoops reserved memory region
The reserved memory region for ramoops is assumed to be at a fixed
and known location when read from the devicetree. This is not desirable
in environments where it is preferred for the region to be dynamically
allocated at runtime, as opposed to it being fixed at compile time.

Change the logic for detecting the start and size of the ramoops
memory region by looking up the reserved memory region instead of
using platform_get_resource(), which assumes that the location
of the memory is known ahead of time.

Bug: 191636717
Link: https://lore.kernel.org/patchwork/patch/1451704/
Change-Id: I24066de9f4fe1f1575cb1bbb1687c37a2b1938a4
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
2021-07-08 18:16:31 +00:00
Charan Teja Reddy
daeabfe7fa ANDROID: mm: add reclaim_shmem_address_space() for faster reclaims
Add the functionality that allow users of shmem to reclaim its pages
without going through the kswapd/direct reclaim path. An example usecase
is: Say that device allocates a larger amount of shmem pages and shares
it with hardware. To faster reclaims such pages, drivers can register
the shrinkers and call reclaim_shmem_address_space().

The implementation of this function is mostly borrowed from
reclaim_address_space() implemented for per process reclaim[1].

[1] https://lore.kernel.org/patchwork/cover/378056/

Bug: 187798288
Change-Id: I03d2c3b9610612af977f89ddeabb63b8e9e50918
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2021-07-08 17:26:58 +00:00
Lopy Cheng
4c3dddf408 ANDROID: Update the generic ABI symbol list
Leaf changes summary: 1 artifact changed (1 filtered out)
Changed leaf types summary: 0 (1 filtered out) leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function int drm_atomic_set_mode_prop_for_crtc(drm_crtc_state*, drm_property_blob*)'

Bug: 143292884
Signed-off-by: Lopy Cheng <lopycheng@google.com>
Change-Id: I015c94326bf91c8fb4a44f28cc3e6933fe5c143a
Signed-off-by: Matthias Maennich <maennich@google.com>
2021-07-08 15:59:45 +01:00
Giuliano Procida
4c4d8cbdef ANDROID: GKI: refresh ABI XML
With abitidy, the XML is sorted and superfluous elements are removed.

Bug: 187831743
Change-Id: Ic6f593d448ee9abdc55ae90efe77147364c7132f
Signed-off-by: Giuliano Procida <gprocida@google.com>
2021-07-08 15:43:22 +01:00
Giuliano Procida
01e4a037d8 ANDROID: GKI: turn on TIDY_ABI
ABI XML will become smaller and nicer to diff.

Bug: 187831743
Change-Id: I9e1eb076299a9b408e9f12a81fafb111bdb0fc53
Signed-off-by: Giuliano Procida <gprocida@google.com>
2021-07-08 15:43:09 +01:00
Yang Yang
edf973fd24 ANDROID: Update symbol list for VIVO
Leaf changes summary: 20 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 20 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

20 Added functions:

  [A] 'function bool blk_bio_list_merge(request_queue*, list_head*, bio*, unsigned int)'
  [A] 'function int blk_mq_debugfs_rq_show(seq_file*, void*)'
  [A] 'function void blk_mq_run_hw_queue(blk_mq_hw_ctx*, bool)'
  [A] 'function void blk_mq_sched_request_inserted(request*)'
  [A] 'function void blk_stat_enable_accounting(request_queue*)'
  [A] 'function elevator_queue* elevator_alloc(request_queue*, elevator_type*)'
  [A] 'function int elv_register(elevator_type*)'
  [A] 'function void elv_unregister(elevator_type*)'
  [A] 'function void sbitmap_add_wait_queue(sbitmap_queue*, sbq_wait_state*, sbq_wait*)'
  [A] 'function bool sbitmap_any_bit_set(const sbitmap*)'
  [A] 'function void sbitmap_del_wait_queue(sbq_wait*)'
  [A] 'function int sbitmap_init_node(sbitmap*, unsigned int, int, gfp_t, int)'
  [A] 'function void sbitmap_queue_clear(sbitmap_queue*, unsigned int, unsigned int)'
  [A] 'function int sbitmap_queue_init_node(sbitmap_queue*, unsigned int, int, bool, gfp_t, int)'
  [A] 'function void sbitmap_queue_min_shallow_depth(sbitmap_queue*, unsigned int)'
  [A] 'function void sbitmap_queue_resize(sbitmap_queue*, unsigned int)'
  [A] 'function void sbitmap_queue_show(sbitmap_queue*, seq_file*)'
  [A] 'function list_head* seq_list_next(void*, list_head*, loff_t*)'
  [A] 'function list_head* seq_list_start(list_head*, loff_t)'
  [A] 'function int timer_reduce(timer_list*, unsigned long int)'

Bug: 193099837
Change-Id: I5d0220aaa2fd89f3641cfeb0bc4a2e18d051a4b3
Signed-off-by: Yang Yang <yang.yang@vivo.com>
2021-07-08 10:36:41 +00:00
Maciej Żenczykowski
1702d2c8b7 FROMGIT: net: cdc_ncm: switch to eth%d interface naming
[ Upstream commit c1a3d40673 ]

This is meant to make the host side cdc_ncm interface consistently
named just like the older CDC protocols: cdc_ether & cdc_ecm
(and even rndis_host), which all use 'FLAG_ETHER | FLAG_POINTTOPOINT'.

include/linux/usb/usbnet.h:
  #define FLAG_ETHER	0x0020		/* maybe use "eth%d" names */
  #define FLAG_WLAN	0x0080		/* use "wlan%d" names */
  #define FLAG_WWAN	0x0400		/* use "wwan%d" names */
  #define FLAG_POINTTOPOINT 0x1000	/* possibly use "usb%d" names */

drivers/net/usb/usbnet.c @ line 1711:
  strcpy (net->name, "usb%d");
  ...
  // heuristic:  "usb%d" for links we know are two-host,
  // else "eth%d" when there's reasonable doubt.  userspace
  // can rename the link if it knows better.
  if ((dev->driver_info->flags & FLAG_ETHER) != 0 &&
      ((dev->driver_info->flags & FLAG_POINTTOPOINT) == 0 ||
       (net->dev_addr [0] & 0x02) == 0))
          strcpy (net->name, "eth%d");
  /* WLAN devices should always be named "wlan%d" */
  if ((dev->driver_info->flags & FLAG_WLAN) != 0)
          strcpy(net->name, "wlan%d");
  /* WWAN devices should always be named "wwan%d" */
  if ((dev->driver_info->flags & FLAG_WWAN) != 0)
          strcpy(net->name, "wwan%d");

So by using ETHER | POINTTOPOINT the interface naming is
either usb%d or eth%d based on the global uniqueness of the
mac address of the device.

Without this 2.5gbps ethernet dongles which all seem to use the cdc_ncm
driver end up being called usb%d instead of eth%d even though they're
definitely not two-host.  (All 1gbps & 5gbps ethernet usb dongles I've
tested don't hit this problem due to use of different drivers, primarily
r8152 and aqc111)

Fixes tag is based purely on git blame, and is really just here to make
sure this hits LTS branches newer than v4.5.

Cc: Lorenzo Colitti <lorenzo@google.com>
Fixes: 4d06dd537f ("cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind")
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit 11fac7e912 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=11fac7e9127078fe3275642742cf5e2336fa934a)
Bug: 181923048
Change-Id: If746c35d6a91c3071afbbca68466438fcd7d8f55
2021-07-08 04:01:26 +00:00
Chanho Park
f4d6e8324c ANDROID: GKI: add allowed GKI symbol for Exynosauto SoC
This patch adds below 48 symbols for Exynosauto SoC.
Notable changes:
- *pci* symbols for PCIe EP(Endpoint)
- mdio / phy / posix_clock for Ethernet / Phy and PTP

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

48 Added functions:

  [A] 'function void __napi_schedule_irqoff(napi_struct*)'
  [A] 'function int device_get_phy_mode(device*)'
  [A] 'function void dql_completed(dql*, unsigned int)'
  [A] 'function void dql_reset(dql*)'
  [A] 'function int dw_pcie_ep_init(dw_pcie_ep*)'
  [A] 'function u32 dw_pcie_read_dbi(dw_pcie*, u32, size_t)'
  [A] 'function void dw_pcie_write_dbi(dw_pcie*, u32, size_t, u32)'
  [A] 'function void ktime_get_snapshot(system_time_snapshot*)'
  [A] 'function phy_device* mdiobus_get_phy(mii_bus*, int)'
  [A] 'function int mdiobus_read(mii_bus*, int, u32)'
  [A] 'function int mdiobus_write(mii_bus*, int, u32, u16)'
  [A] 'function void netdev_alert(const net_device*, const char*, ...)'
  [A] 'function void* of_get_mac_address(device_node*)'
  [A] 'function int of_mdiobus_register(mii_bus*, device_node*)'
  [A] 'function void of_phy_deregister_fixed_link(device_node*)'
  [A] 'function bool of_phy_is_fixed_link(device_node*)'
  [A] 'function int of_phy_register_fixed_link(device_node*)'
  [A] 'function void pci_epc_clear_bar(pci_epc*, u8, pci_epf_bar*)'
  [A] 'function int pci_epc_map_addr(pci_epc*, u8, phys_addr_t, u64, size_t)'
  [A] 'function void* pci_epc_mem_alloc_addr(pci_epc*, phys_addr_t*, size_t)'
  [A] 'function void pci_epc_mem_free_addr(pci_epc*, phys_addr_t, void*, size_t)'
  [A] 'function int pci_epc_set_bar(pci_epc*, u8, pci_epf_bar*)'
  [A] 'function void pci_epc_unmap_addr(pci_epc*, u8, phys_addr_t)'
  [A] 'function int pci_num_vf(pci_dev*)'
  [A] 'function int pcie_set_mps(pci_dev*, int)'
  [A] 'function void phy_attached_info(phy_device*)'
  [A] 'function int phy_ethtool_get_eee(phy_device*, ethtool_eee*)'
  [A] 'function void phy_ethtool_ksettings_get(phy_device*, ethtool_link_ksettings*)'
  [A] 'function int phy_ethtool_ksettings_set(phy_device*, const ethtool_link_ksettings*)'
  [A] 'function int phy_ethtool_set_eee(phy_device*, ethtool_eee*)'
  [A] 'function int phy_get_eee_err(phy_device*)'
  [A] 'function int phy_init_eee(phy_device*, bool)'
  [A] 'function void phy_mac_interrupt(phy_device*)'
  [A] 'function int phy_mii_ioctl(phy_device*, ifreq*, int)'
  [A] 'function int phy_resume(phy_device*)'
  [A] 'function int phy_start_aneg(phy_device*)'
  [A] 'function int phy_suspend(phy_device*)'
  [A] 'function int phylink_connect_phy(phylink*, phy_device*)'
  [A] 'function phylink* phylink_create(phylink_config*, fwnode_handle*, phy_interface_t, const phylink_mac_ops*)'
  [A] 'function void phylink_destroy(phylink*)'
  [A] 'function int phylink_of_phy_connect(phylink*, device_node*, u32)'
  [A] 'function void phylink_set_port_modes(unsigned long int*)'
  [A] 'function void phylink_start(phylink*)'
  [A] 'function int posix_clock_register(posix_clock*, device*)'
  [A] 'function void posix_clock_unregister(posix_clock*)'
  [A] 'function void snd_pcm_release_substream(snd_pcm_substream*)'
  [A] 'function int snd_soc_dai_set_tristate(snd_soc_dai*, int)'
  [A] 'function int ufshcd_init(ufs_hba*, void*, unsigned int)'

Bug: 192805988
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I284d37d32d1808f3f628e84bb2900f5f2f1bede5
2021-07-08 03:46:00 +00:00
Liangliang Li
444a0b7752 ANDROID: mm: add vendor hook for vmpressure
Add vendor hook for bypass vmpressure accounting when doing oem's
custom memory reclaim.

Bug: 191534577

Change-Id: I0c2263e03943596312aa6b01cf8506f2ae87213e
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
2021-07-07 23:23:10 +00:00
Eric Biggers
c799c6644b ANDROID: fips140: adjust some log messages
Downgrade some expected log messages from pr_warn() to pr_info().

Also remove "FIPS 140" from some log messages since the messages are
already prefixed with "fips140: " (the name of the module) which makes
it redundant.

Bug: 153614920
Bug: 188620248
Change-Id: I94055d7a5a86a770fcf38e958e7d7497b4bafdf0
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-07-07 20:12:46 +00:00
Eric Biggers
091338cb39 ANDROID: fips140: add missing static keyword to fips140_init()
Avoid a compiler warning about there being no previous declaration for
fips140_init().

Bug: 153614920
Bug: 188620248
Change-Id: I8192c597d16ff6f43a0e9cb45a89969666b3875e
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-07-07 18:25:26 +00:00
Chanho Park
70bfd6a7e0 ANDROID: GKI: update allowed list for exynosauto SoC
This patch is for updating GKI allowed symbol list without adding any
new symbol. Next patch will introduce newly added symbols for Exynosauto
SoC GKI vendor modules.

Bug: 192805988
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I6afec1983c83c032d9bd34bb330faecfd0140bc4
2021-07-07 16:36:39 +00:00
Lee Jones
3e3147b280 UPSTREAM: scsi: ufs: ufshcd: Fix some function doc-rot
Fixes the following W=1 kernel build warning(s):

 drivers/scsi/ufs/ufshcd.c:6603: warning: Function parameter or member 'hba' not described in 'ufshcd_try_to_abort_task'
 drivers/scsi/ufs/ufshcd.c:6603: warning: Function parameter or member 'tag' not described in 'ufshcd_try_to_abort_task'
 drivers/scsi/ufs/ufshcd.c:6603: warning: Excess function parameter 'cmd' description in 'ufshcd_try_to_abort_task'

Link: https://lore.kernel.org/r/20201102142359.561122-12-lee.jones@linaro.org
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Avri Altman <avri.altman@wdc.com>
Cc: Santosh Yaraganavi <santosh.sy@samsung.com>
Cc: Vinayak Holikatti <h.vinayak@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit d23ec0b610 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master)
Change-Id: I9540b80ceb7cd28629e86101b3b0b561762b6cde
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2021-07-07 09:06:07 -07:00
jintae jang
2c553e754f UPSTREAM: scsi: ufs: Adjust ufshcd_hold() during sending attribute requests
Invalidation check of arguments should have been checked before
ufshcd_hold(). This can help to prevent ufshcd_hold()/ ufshcd_release()
from being invoked unnecessarily.

[mkp: removed unused out: labels]

Link: https://lore.kernel.org/r/1606973132-5937-1-git-send-email-user@jang-Samsung-DeskTop-System
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: jintae jang <jt77.jang@samsung.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 8ca1a40b9f git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master)
Signed-off-by: Bart Van Assche <bvanassche@google.com>
Change-Id: Iad1eaf4ddaf38091e68e7298c432a22abcce9d50
2021-07-07 09:06:07 -07:00
Elliot Berman
52ccdf90b9 FROMLIST: lockdep: Remove console_verbose when disable lock debugging
debug_locks_off can be called in scenarios where the kernel doesn't
immediately panic. For instance, debug_locks_off is called with a
mismatched preempt_count or when registering an improper lockdep map
and fails the sanity check for lock-class key [1]. Both of these issues
were discovered in vendor kernel code and were fixed.

When console_verbose is enabled, we have found that kernel tends to be
unstable because it is spending much of its time printing to the serial
log, so the system may miss watchdog pats. We explicitly set our system
to reduce the loglevel in order to prevent such scenarios, however
lockdep can circumvent the commandline setting. Thus, when we ran into
the kernel bugs, we first ended up trying to debug why the kernel wasn't
able to respond to watchdog pets and why it was spending all of its time
flushing the console, which did not quickly lead us to the "real"
lock dependency issue.

Remove the console_verbose when turning off lock debugging. Other debug
facilities, such as KASAN, KFENCE, SPINLOCK_DEBUG, and DEBUG_OBJECTS
don't set console_verbose when issues are detected. Current other uses
for console_verbose are in situations where kernel is in a panic path.

[1]: kernel/locking/lockdep.c:lockdep_init_map_waits:4617

Signed-off-by: Elliot Berman <eberman@codeaurora.org>

Link: https://lore.kernel.org/lkml/20210623045559.15750-1-eberman@codeaurora.org/
Bug: 191903062
Change-Id: If33587c49d316155a1745c9e0ef1a9ce23410a2b
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2021-07-07 15:25:28 +00:00
Elliot Berman
4458494476 ANDROID: ABI: qcom: Add symbols for 80211
Add symbols missing from qcom symbol list for 80211 configs.

All of these symbols were already added in commit 7d8c327a64
("ANDROID: ABI: gki_defconfig: Make cfg80211 and mac80211 modules"), but
now add them explicitly to abi_gki_aarch64_qcom symbol list.

Bug: 189918667
Change-Id: I3ada83f8bbdc0edc4b9778cccb0ff07f68ee2aac
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2021-07-07 09:17:03 +00:00
Jing-Ting Wu
5c51579fde ANDROID: fork: Export task_newtask tracepoint
android_rvh_sched_fork() and android_rvh_sched_fork_init()
already let us register probes during fork(), but those are
invoked *before* the new task is added to the tasklist, which
can lead to some undesired races when a module is trying to
initialize vendor-specific task_struct fields.

Export the task_newtask tracepoint to register probes to run
during fork() but *after* the task has been inserted into the
tasklist.

Bug: 192873984
Signed-off-by: Jing-Ting Wu <Jing-Ting.Wu@mediatek.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Change-Id: Ifef14819264385b5e955a5966b4e4f66d50da5e3
2021-07-06 21:24:20 +00:00
Todd Kjos
e2a90797e8 ANDROID: Fix kernelci warnings for indentation in smp.c
Fix warnings reported by kernelci due to incorrect indentatio:

    kernel/smp.c:982:3: warning: this ‘if’ clause does not guard

Fixes: f0b280c395 ("ANDROID: cpuidle: Update cpuidle_uninstall_idle_handler()
to wakeup all online CPUs")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ide771342558de321154696f9fe1272750a773853
2021-07-06 21:17:01 +00:00
Maulik Shah
bac33eaebf ANDROID: irqchip: gic-v3: Move struct gic_chip_data to header
Struct gic_chip_data definition is not visible to vendor modules
however its passed as parameter to trace_android_vh_gic_resume().

Move struct gic_chip_data definition to gic-v3 header so that vendor
hook can access member variables.

Bug: 192660047
Fixes: cb99d1b88c ("ANDROID: gic: change  gic resume vendor hook para")
Change-Id: I4d1f4adb5b6cb932876650feacb69950d0d686bc
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
2021-07-06 21:05:45 +00:00
Sahitya Tummala
bdac4418bf ANDROID: abi_gki_aarch64_qcom: Add android_vh_ufs_clock_scaling
Add android_vh_ufs_clock_scaling symbol so that vendor module can
use to influence UFS clock scaling policy.

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

1 Added function:

  [A] 'function int __traceiter_android_vh_ufs_clock_scaling(void*, ufs_hba*, bool*, bool*, bool*)'

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_ufs_clock_scaling'

Bug: 192050146
Change-Id: I4a908e60f1d79814fd3e2ac12512f80e33b1b748
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
2021-07-06 18:48:44 +00:00
Denis Hsu
65c1de0f06 ANDROID: Update symbol list for mtk
Leaf changes summary: 15 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 15 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

15 Added functions:

  [A] 'function int fsg_common_create_luns(fsg_common*, fsg_config*)'
  [A] 'function int fsg_common_set_cdev(fsg_common*, usb_composite_dev*, bool)'
  [A] 'function void fsg_common_set_inquiry_string(fsg_common*, const char*, const char*)'
  [A] 'function void fsg_common_set_sysfs(fsg_common*, bool)'
  [A] 'function void fsg_config_from_params(fsg_config*, const fsg_module_parameters*, unsigned int)'
  [A] 'function int usb_add_config(usb_composite_dev*, usb_configuration*, int (usb_configuration*)*)'
  [A] 'function int usb_composite_probe(usb_composite_driver*)'
  [A] 'function void usb_composite_unregister(usb_composite_driver*)'
  [A] 'function int usb_gadget_connect(usb_gadget*)'
  [A] 'function int usb_gadget_disconnect(usb_gadget*)'
  [A] 'function int usb_gadget_set_selfpowered(usb_gadget*)'
  [A] 'function usb_function* usb_get_function(usb_function_instance*)'
  [A] 'function usb_function_instance* usb_get_function_instance(const char*)'
  [A] 'function void usb_put_function(usb_function*)'
  [A] 'function void usb_remove_function(usb_configuration*, usb_function*)'


Bug: 192917827
Change-Id: I57e493a76aaa13c3a953c869a6a9b9e85865e18e
Signed-off-by: Denis Hsu <denis.hsu@mediatek.com>
2021-07-06 17:23:21 +00:00
Bumyong Lee
d4d02ab9b0 UPSTREAM: swiotlb: manipulate orig_addr when tlb_addr has offset
commit 5f89468e2f upstream.

in case of driver wants to sync part of ranges with offset,
swiotlb_tbl_sync_single() copies from orig_addr base to tlb_addr with
offset and ends up with data mismatch.

It was removed from
"swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single",
but said logic has to be added back in.

From Linus's email:
"That commit which the removed the offset calculation entirely, because the old

        (unsigned long)tlb_addr & (IO_TLB_SIZE - 1)

was wrong, but instead of removing it, I think it should have just
fixed it to be

        (tlb_addr - mem->start) & (IO_TLB_SIZE - 1);

instead. That way the slot offset always matches the slot index calculation."

(Unfortunatly that broke NVMe).

The use-case that drivers are hitting is as follow:

1. Get dma_addr_t from dma_map_single()

dma_addr_t tlb_addr = dma_map_single(dev, vaddr, vsize, DMA_TO_DEVICE);

    |<---------------vsize------------->|
    +-----------------------------------+
    |                                   | original buffer
    +-----------------------------------+
  vaddr

 swiotlb_align_offset
     |<----->|<---------------vsize------------->|
     +-------+-----------------------------------+
     |       |                                   | swiotlb buffer
     +-------+-----------------------------------+
          tlb_addr

2. Do something
3. Sync dma_addr_t through dma_sync_single_for_device(..)

dma_sync_single_for_device(dev, tlb_addr + offset, size, DMA_TO_DEVICE);

  Error case.
    Copy data to original buffer but it is from base addr (instead of
  base addr + offset) in original buffer:

 swiotlb_align_offset
     |<----->|<- offset ->|<- size ->|
     +-------+-----------------------------------+
     |       |            |##########|           | swiotlb buffer
     +-------+-----------------------------------+
          tlb_addr

    |<- size ->|
    +-----------------------------------+
    |##########|                        | original buffer
    +-----------------------------------+
  vaddr

The fix is to copy the data to the original buffer and take into
account the offset, like so:

 swiotlb_align_offset
     |<----->|<- offset ->|<- size ->|
     +-------+-----------------------------------+
     |       |            |##########|           | swiotlb buffer
     +-------+-----------------------------------+
          tlb_addr

    |<- offset ->|<- size ->|
    +-----------------------------------+
    |            |##########|           | original buffer
    +-----------------------------------+
  vaddr

[One fix which was Linus's that made more sense to as it created a
symmetry would break NVMe. The reason for that is the:
 unsigned int offset = (tlb_addr - mem->start) & (IO_TLB_SIZE - 1);

would come up with the proper offset, but it would lose the
alignment (which this patch contains).]

Bug: 192521392
Fixes: 16fc3cef33 ("swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single")
Signed-off-by: Bumyong Lee <bumyong.lee@samsung.com>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reported-by: Dominique MARTINET <dominique.martinet@atmark-techno.com>
Reported-by: Horia Geantă <horia.geanta@nxp.com>
Tested-by: Horia Geantă <horia.geanta@nxp.com>
CC: stable@vger.kernel.org
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit e6108147dd of
linux-5.10.47)
Change-Id: Ib03e81080ab029d37e6ff54a3e2cb526d3a30e10
2021-07-06 16:30:01 +00:00
Subash Abhinov Kasiviswanathan
58aa0f2832 ANDROID: qcom: Add net related symbol
Add netif_receive_skb_core which is needed by rmnet modules.

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

1 Added function:

  [A] 'function int netif_receive_skb_core(sk_buff*)'

Bug: 192384227
Change-Id: I5e3f564ec1a28c804c7017b37fc2e3ccf9eabb28
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2021-07-05 10:24:13 +00:00
Donghoon Yu
2f9f816445 ANDROID: Update the exynos symbol list
Leaf changes summary: 52 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 47 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 5 Added variables
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 1 Added variable symbol not referenced by debug info

47 Added functions:

  [A] 'function void __devm_release_region(device*, resource*, resource_size_t, resource_size_t)'
  [A] 'function buffer_head* __getblk_gfp(block_device*, sector_t, unsigned int, gfp_t)'
  [A] 'function void __lock_buffer(buffer_head*)'
  [A] 'function sk_buff* __pskb_copy_fclone(sk_buff*, int, gfp_t, bool)'
  [A] 'function int __sync_dirty_buffer(buffer_head*, int)'
  [A] 'function int __traceiter_android_rvh_find_new_ilb(void*, cpumask*, int*)'
  [A] 'function int __traceiter_dwc3_ep_queue(void*, dwc3_request*)'
  [A] 'function void __wait_on_buffer(buffer_head*)'
  [A] 'function void __wake_up_locked_key(wait_queue_head*, unsigned int, void*)'
  [A] 'function int _raw_write_trylock(rwlock_t*)'
  [A] 'function int blk_ksm_init(blk_keyslot_manager*, unsigned int)'
  [A] 'function void console_lock()'
  [A] 'function int cpufreq_frequency_table_get_index(cpufreq_policy*, unsigned int)'
  [A] 'function cpuidle_driver* cpuidle_get_cpu_driver(cpuidle_device*)'
  [A] 'function int dev_vprintk_emit(int, const device*, const char*, va_list)'
  [A] 'function void* devm_krealloc(device*, void*, size_t, gfp_t)'
  [A] 'function bool drm_mode_match(const drm_display_mode*, const drm_display_mode*, unsigned int)'
  [A] 'function drm_property* drm_property_create_signed_range(drm_device*, u32, const char*, int64_t, int64_t)'
  [A] 'function void end_buffer_read_sync(buffer_head*, int)'
  [A] 'function int hmm_range_fault(hmm_range*)'
  [A] 'function const cpumask* housekeeping_cpumask(hk_flags)'
  [A] 'function void i2c_clients_command(i2c_adapter*, unsigned int, void*)'
  [A] 'function iio_dev* iio_device_alloc(device*, int)'
  [A] 'function void iio_device_free(iio_dev*)'
  [A] 'function int is_console_locked()'
  [A] 'function int media_device_register_entity(media_device*, media_entity*)'
  [A] 'function __kernel_old_timeval ns_to_kernel_old_timeval(const s64)'
  [A] 'function int of_alias_get_highest_id(const char*)'
  [A] 'function int of_get_videomode(device_node*, videomode*, int)'
  [A] 'function int phy_reset(phy*)'
  [A] 'function proc_dir_entry* proc_create_seq_private(const char*, umode_t, proc_dir_entry*, const seq_operations*, unsigned int, void*)'
  [A] 'function int rtc_set_time(rtc_device*, rtc_time*)'
  [A] 'function void scsi_eh_ready_devs(Scsi_Host*, list_head*, list_head*)'
  [A] 'function int snd_soc_tplg_component_load(snd_soc_component*, snd_soc_tplg_ops*, const firmware*, u32)'
  [A] 'function int snd_soc_tplg_component_remove(snd_soc_component*, u32)'
  [A] 'function int snd_soc_tplg_widget_bind_event(snd_soc_dapm_widget*, const snd_soc_tplg_widget_events*, int, u16)'
  [A] 'function char* stpcpy(char* restrict, const char* restrict)'
  [A] 'function int sysfs_merge_group(kobject*, const attribute_group*)'
  [A] 'function void v4l2_ctrl_auto_cluster(unsigned int, v4l2_ctrl**, u8, bool)'
  [A] 'function __poll_t v4l2_ctrl_poll(file*, poll_table_struct*)'
  [A] 'function int v4l2_device_set_name(v4l2_device*, const char*, atomic_t*)'
  [A] 'function void v4l2_i2c_subdev_init(v4l2_subdev*, i2c_client*, const v4l2_subdev_ops*)'
  [A] 'function bool v4l2_match_dv_timings(const v4l2_dv_timings*, const v4l2_dv_timings*, unsigned int, bool)'
  [A] 'function void v4l2_spi_subdev_init(v4l2_subdev*, spi_device*, const v4l2_subdev_ops*)'
  [A] 'function int vb2_prepare_buf(vb2_queue*, media_device*, v4l2_buffer*)'
  [A] 'function loff_t vfs_llseek(file*, loff_t, int)'
  [A] 'function int vprintk_emit(int, int, const dev_printk_info*, const char*, va_list)'

5 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_find_new_ilb'
  [A] 'tracepoint __tracepoint_dwc3_ep_queue'
  [A] 'int console_printk[4]'
  [A] 'atomic_t ignore_console_lock_warning'
  [A] 'kmem_cache* names_cachep'

1 Added variable symbol not referenced by debug info:

  [A] fb_mode_option

Bug: 192480263
Signed-off-by: Donghoon Yu <hoony.yu@samsung.com>
Change-Id: I7269a0646108b05a815f1ea0fa4dfcc6aa5be864
2021-07-03 20:24:02 +09:00
Chun-Hung Wu
b2a9471239 ANDROID: Update symbol list for mtk
1. Generated with:
  BUILD_CONFIG=common/build.config.gki.aarch64 build/build_abi.sh --update

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

10 Added functions:

  [A] 'function blk_status_t blk_insert_cloned_request(request_queue*, request*)'
  [A] 'function int class_create_file_ns(class*, const class_attribute*, void*)'
  [A] 'function void class_remove_file_ns(class*, const class_attribute*, void*)'
  [A] 'function rc_dev* devm_rc_allocate_device(device*, rc_driver_type)'
  [A] 'function int devm_rc_register_device(device*, rc_dev*)'
  [A] 'function int snd_soc_component_test_bits(snd_soc_component*, unsigned int, unsigned int, unsigned int)'
  [A] 'function void v4l2_m2m_buf_copy_metadata(const vb2_v4l2_buffer*, vb2_v4l2_buffer*, bool)'
  [A] 'function int v4l2_m2m_register_media_controller(v4l2_m2m_dev*, video_device*, int)'
  [A] 'function void v4l2_m2m_request_queue(media_request*)'
  [A] 'function void v4l2_m2m_unregister_media_controller(v4l2_m2m_dev*)'

Bug: 192041645
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
Change-Id: I3bbfe65e0bf8832feedbbe638c7dfd0e8341c9fb
2021-07-03 05:42:06 +00:00
Thinh Nguyen
7c9599e204 FROMGIT: usb: dwc3: Create helper function getting MDWIDTH
Different controller IPs check different HW parameters for MDWIDTH.
To help with maintainability, create a helper function to consolidate
the logic in a single place.

Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/456329d36e8c188df5c234f3282595b630bf1470.1616892233.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d00be779cc
 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8b3b47c564d20d24e06dae2c70b423d4b42363f7
2021-07-03 05:07:50 +00:00
xieliujie
0a24affb86 ANDROID: vendor_hooks: modify the function name
int the commit: https://android-review.googlesource.com/c/kernel/common/+/1699406/
When we build  our vendor driver, report two errors:
1) Symbol too long "trace_android_vh_get_unmapped_area_from_anti_fragment_pool"
2) Symbol too long "trace_android_vh_get_unmapped_area_include_reserved_zone"

So, I shorten the function names:
android_vh_get_unmapped_area_from_anti_fragment_pool  -->  android_vh_get_from_fragment_pool
android_vh_get_unmapped_area_include_reserved_zone    -->  android_vh_include_reserved_zone

Bug: 191439466
Signed-off-by: xieliujie <xieliujie@oppo.com>
Change-Id: Icee4faa24df4fe1fc29434cd205c4dea82b4fba5
2021-07-02 20:42:14 +00:00
Chenggang Wang
d686d5ffc6 ANDROID: GKI: Add some symbols to symbol list
Leaf changes summary: 7 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 6 Added
functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added
variable

6 Added functions:

  [A] 'function int __sbitmap_queue_get(sbitmap_queue*)'
  [A] 'function int __traceiter_android_vh_ufs_update_sdev(void*,
scsi_device*)'
  [A] 'function int bio_add_pc_page(request_queue*, bio*, page*,
unsigned int, unsigned int)'
  [A] 'function void bio_reset(bio*)'
  [A] 'function void blk_mq_sched_mark_restart_hctx(blk_mq_hw_ctx*)'
  [A] 'function int blk_rq_append_bio(request*, bio**)'

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_ufs_update_sdev'

Bug: 191903080

Change-Id: Id181bf494dac59f1063759cf6e69f6a077861b49
Signed-off-by: Chenggang Wang <wangchenggang@vivo.com>
2021-07-02 20:12:55 +00:00
Maulik Shah
bdfb11230b ANDROID: cpuidle: Allow for an early exit from cpuidle_enter_state()
Vendor hook may modify index to negative to force an early
exit from idle entry. Add support for the same.

Bug: 192436062
Change-Id: I82b822296d06b122e3f154b2c8af2128136023d5
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
2021-07-02 19:45:07 +00:00
Maulik Shah
f0b280c395 ANDROID: cpuidle: Update cpuidle_uninstall_idle_handler() to wakeup all online CPUs
wake_up_all_idle_cpus() will not wakeup paused CPUs since they are removed
from cpu_active_mask but paused CPUs can be in deep cpu idle and hence must
wakeup when uninstalling idle handler.

This change fixes this by introducing wake_up_all_online_idle_cpus() to
unconditionally wakeup all online idle CPUs and invoking same when uninstalling
cpu idle handler.

Bug: 192436062
Fixes: 683010f555 ("ANDROID: cpu/hotplug: add pause/resume_cpus interface")
Change-Id: I4afd4b7a17b87f9cc495e7009c9537888387f9ef
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
2021-07-02 19:44:56 +00:00
Nitin Rawat
14dd90ab37 ANDROID: scsi: ufs: Add hook to influence the UFS clock scaling policy
Add a vendor hook in ufshcd_devfreq_target() to allow vendor modules to
influence the UFS clock scaling policy.

Bug: 192050146
Change-Id: Ice3e629e132460d240e07c2eba01307317d5aeca
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
2021-07-02 19:33:14 +00:00
Maciej Żenczykowski
00aec39e2e FROMGIT: bpf: Support all gso types in bpf_skb_change_proto()
Since we no longer modify gso_size, it is now theoretically
safe to not set SKB_GSO_DODGY and reset gso_segs to zero.

This also means the skb_is_gso_tcp() check should no longer
be necessary.

Unfortunately we cannot remove the skb_{decrease,increase}_gso_size()
helpers, as they are still used elsewhere:

  bpf_skb_net_grow() without BPF_F_ADJ_ROOM_FIXED_GSO
  bpf_skb_net_shrink() without BPF_F_ADJ_ROOM_FIXED_GSO
  net/core/lwt_bpf.c's handle_gso_type()

Signed-off-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Dongseok Yi <dseok.yi@samsung.com>
Cc: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/bpf/20210617000953.2787453-3-zenczykowski@gmail.com
(cherry picked from commit 0bc919d3e0 https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=0bc919d3e0b8149a60d2444c6a8e2b5974556522)
Test: builds, TreeHugger
Bug: 188690383
Change-Id: I46036bbacae9d1af7364ec0623dd75f0df5845fa
2021-07-02 11:28:32 +00:00
Todd Kjos
4e90d52c82 ANDROID: GKI: 7/2/2021 KMI update
Set KMI_GENERATION=8 for 7/2 KMI update

Leaf changes summary: 3604 artifacts changed (2 filtered out)
Changed leaf types summary: 18 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 121 Removed, 3342 Changed, 55 Added functions
Removed/Changed/Added variables summary: 3 Removed, 62 Changed, 3 Added variables

121 Removed functions:

  [D] 'function sk_buff* __cfg80211_alloc_event_skb(wiphy*, wireless_dev*, nl80211_commands, nl80211_attrs, unsigned int, int, int, gfp_t)'
  [D] 'function sk_buff* __cfg80211_alloc_reply_skb(wiphy*, nl80211_commands, nl80211_attrs, int)'
  [D] 'function void __cfg80211_send_event_skb(sk_buff*, gfp_t)'
  [D] 'function void __ieee80211_schedule_txq(ieee80211_hw*, ieee80211_txq*, bool)'
  [D] 'function int __traceiter_android_vh_force_compatible_post(void*, void*)'
  [D] 'function int __traceiter_android_vh_force_compatible_pre(void*, void*)'
  [D] 'function void cfg80211_cac_event(net_device*, const cfg80211_chan_def*, nl80211_radar_event, gfp_t)'
  [D] 'function u32 cfg80211_calculate_bitrate(rate_info*)'
  [D] 'function void cfg80211_ch_switch_notify(net_device*, cfg80211_chan_def*)'
  [D] 'function void cfg80211_chandef_create(cfg80211_chan_def*, ieee80211_channel*, nl80211_channel_type)'
  [D] 'function unsigned int cfg80211_classify8021d(sk_buff*, cfg80211_qos_map*)'
  [D] 'function void cfg80211_connect_done(net_device*, cfg80211_connect_resp_params*, gfp_t)'
  [D] 'function void cfg80211_del_sta_sinfo(net_device*, const u8*, station_info*, gfp_t)'
  [D] 'function void cfg80211_disconnected(net_device*, u16, const u8*, size_t, bool, gfp_t)'
  [D] 'function int cfg80211_external_auth_request(net_device*, cfg80211_external_auth_params*, gfp_t)'
  [D] 'function const element* cfg80211_find_elem_match(u8, const u8*, unsigned int, const u8*, unsigned int, unsigned int)'
  [D] 'function const element* cfg80211_find_vendor_elem(unsigned int, int, const u8*, unsigned int)'
  [D] 'function void cfg80211_ft_event(net_device*, cfg80211_ft_event_params*)'
  [D] 'function cfg80211_bss* cfg80211_get_bss(wiphy*, ieee80211_channel*, const u8*, const u8*, size_t, ieee80211_bss_type, ieee80211_privacy)'
  [D] 'function void cfg80211_gtk_rekey_notify(net_device*, const u8*, const u8*, gfp_t)'
  [D] 'function void cfg80211_ibss_joined(net_device*, const u8*, ieee80211_channel*, gfp_t)'
  [D] 'function cfg80211_bss* cfg80211_inform_bss_data(wiphy*, cfg80211_inform_bss*, cfg80211_bss_frame_type, const u8*, u64, u16, u16, const u8*, size_t, gfp_t)'
  [D] 'function cfg80211_bss* cfg80211_inform_bss_frame_data(wiphy*, cfg80211_inform_bss*, ieee80211_mgmt*, size_t, gfp_t)'
  [D] 'function void cfg80211_mgmt_tx_status(wireless_dev*, u64, const u8*, size_t, bool, gfp_t)'
  [D] 'function void cfg80211_michael_mic_failure(net_device*, const u8*, nl80211_key_type, int, const u8*, gfp_t)'
  [D] 'function void cfg80211_new_sta(net_device*, const u8*, station_info*, gfp_t)'
  [D] 'function void cfg80211_pmksa_candidate_notify(net_device*, int, const u8*, bool, gfp_t)'
  [D] 'function void cfg80211_port_authorized(net_device*, const u8*, gfp_t)'
  [D] 'function void cfg80211_put_bss(wiphy*, cfg80211_bss*)'
  [D] 'function void cfg80211_radar_event(wiphy*, cfg80211_chan_def*, gfp_t)'
  [D] 'function void cfg80211_ready_on_channel(wireless_dev*, u64, ieee80211_channel*, unsigned int, gfp_t)'
  [D] 'function void cfg80211_remain_on_channel_expired(wireless_dev*, u64, ieee80211_channel*, gfp_t)'
  [D] 'function void cfg80211_roamed(net_device*, cfg80211_roam_info*, gfp_t)'
  [D] 'function bool cfg80211_rx_mgmt_khz(wireless_dev*, int, int, const u8*, size_t, u32)'
  [D] 'function void cfg80211_rx_unprot_mlme_mgmt(net_device*, const u8*, size_t)'
  [D] 'function void cfg80211_scan_done(cfg80211_scan_request*, cfg80211_scan_info*)'
  [D] 'function void cfg80211_sched_scan_results(wiphy*, u64)'
  [D] 'function void cfg80211_sched_scan_stopped(wiphy*, u64)'
  [D] 'function void cfg80211_sched_scan_stopped_rtnl(wiphy*, u64)'
  [D] 'function void cfg80211_stop_iface(wiphy*, wireless_dev*, gfp_t)'
  [D] 'function void cfg80211_tdls_oper_request(net_device*, const u8*, nl80211_tdls_operation, u16, gfp_t)'
  [D] 'function void cfg80211_unlink_bss(wiphy*, cfg80211_bss*)'
  [D] 'function void cfg80211_unregister_wdev(wireless_dev*)'
  [D] 'function void cfg80211_update_owe_info_event(net_device*, cfg80211_update_owe_info*, gfp_t)'
  [D] 'function int cfg80211_vendor_cmd_reply(sk_buff*)'
  [D] 'function const ieee80211_reg_rule* freq_reg_info(wiphy*, u32)'
  [D] 'function ieee80211_hw* ieee80211_alloc_hw_nm(size_t, const ieee80211_ops*, const char*)'
  [D] 'function sk_buff* ieee80211_ap_probereq_get(ieee80211_hw*, ieee80211_vif*)'
  [D] 'function bool ieee80211_beacon_cntdwn_is_complete(ieee80211_vif*)'
  [D] 'function sk_buff* ieee80211_beacon_get_template(ieee80211_hw*, ieee80211_vif*, ieee80211_mutable_offsets*)'
  [D] 'function sk_buff* ieee80211_beacon_get_tim(ieee80211_hw*, ieee80211_vif*, u16*, u16*)'
  [D] 'function void ieee80211_beacon_loss(ieee80211_vif*)'
  [D] 'function u8 ieee80211_beacon_update_cntdwn(ieee80211_vif*)'
  [D] 'function const element* ieee80211_bss_get_elem(cfg80211_bss*, u8)'
  [D] 'function u32 ieee80211_channel_to_freq_khz(int, nl80211_band)'
  [D] 'function void ieee80211_chswitch_done(ieee80211_vif*, bool)'
  [D] 'function void ieee80211_connection_loss(ieee80211_vif*)'
  [D] 'function void ieee80211_cqm_beacon_loss_notify(ieee80211_vif*, gfp_t)'
  [D] 'function void ieee80211_cqm_rssi_notify(ieee80211_vif*, nl80211_cqm_rssi_threshold_event, s32, gfp_t)'
  [D] 'function void ieee80211_csa_finish(ieee80211_vif*)'
  [D] 'function ieee80211_sta* ieee80211_find_sta(ieee80211_vif*, const u8*)'
  [D] 'function ieee80211_sta* ieee80211_find_sta_by_ifaddr(ieee80211_hw*, const u8*, const u8*)'
  [D] 'function void ieee80211_free_hw(ieee80211_hw*)'
  [D] 'function void ieee80211_free_txskb(ieee80211_hw*, sk_buff*)'
  [D] 'function int ieee80211_freq_khz_to_channel(u32)'
  [D] 'function sk_buff* ieee80211_get_buffered_bc(ieee80211_hw*, ieee80211_vif*)'
  [D] 'function ieee80211_channel* ieee80211_get_channel_khz(wiphy*, u32)'
  [D] 'function unsigned int ieee80211_get_hdrlen_from_skb(const sk_buff*)'
  [D] 'function void ieee80211_get_tx_rates(ieee80211_vif*, ieee80211_sta*, sk_buff*, ieee80211_tx_rate*, int)'
  [D] 'function unsigned int ieee80211_hdrlen(__le16)'
  [D] 'function void ieee80211_iter_chan_contexts_atomic(ieee80211_hw*, void (ieee80211_hw*, ieee80211_chanctx_conf*, void*)*, void*)'
  [D] 'function void ieee80211_iterate_active_interfaces_atomic(ieee80211_hw*, u32, void (void*, u8*, ieee80211_vif*)*, void*)'
  [D] 'function void ieee80211_iterate_interfaces(ieee80211_hw*, u32, void (void*, u8*, ieee80211_vif*)*, void*)'
  [D] 'function void ieee80211_iterate_stations_atomic(ieee80211_hw*, void (void*, ieee80211_sta*)*, void*)'
  [D] 'function void ieee80211_manage_rx_ba_offl(ieee80211_vif*, const u8*, unsigned int)'
  [D] 'function ieee80211_txq* ieee80211_next_txq(ieee80211_hw*, u8)'
  [D] 'function sk_buff* ieee80211_nullfunc_get(ieee80211_hw*, ieee80211_vif*, bool)'
  [D] 'function sk_buff* ieee80211_probereq_get(ieee80211_hw*, const u8*, const u8*, size_t, size_t)'
  [D] 'function sk_buff* ieee80211_proberesp_get(ieee80211_hw*, ieee80211_vif*)'
  [D] 'function sk_buff* ieee80211_pspoll_get(ieee80211_hw*, ieee80211_vif*)'
  [D] 'function void ieee80211_queue_delayed_work(ieee80211_hw*, delayed_work*, unsigned long int)'
  [D] 'function void ieee80211_queue_work(ieee80211_hw*, work_struct*)'
  [D] 'function void ieee80211_radar_detected(ieee80211_hw*)'
  [D] 'function void ieee80211_ready_on_channel(ieee80211_hw*)'
  [D] 'function int ieee80211_register_hw(ieee80211_hw*)'
  [D] 'function void ieee80211_remain_on_channel_expired(ieee80211_hw*)'
  [D] 'function void ieee80211_report_low_ack(ieee80211_sta*, u32)'
  [D] 'function void ieee80211_restart_hw(ieee80211_hw*)'
  [D] 'function void ieee80211_rx_irqsafe(ieee80211_hw*, sk_buff*)'
  [D] 'function void ieee80211_rx_napi(ieee80211_hw*, ieee80211_sta*, sk_buff*, napi_struct*)'
  [D] 'function void ieee80211_scan_completed(ieee80211_hw*, cfg80211_scan_info*)'
  [D] 'function void ieee80211_sched_scan_results(ieee80211_hw*)'
  [D] 'function void ieee80211_sched_scan_stopped(ieee80211_hw*)'
  [D] 'function int ieee80211_sta_ps_transition(ieee80211_sta*, bool)'
  [D] 'function void ieee80211_sta_register_airtime(ieee80211_sta*, u8, u32, u32)'
  [D] 'function void ieee80211_stop_queue(ieee80211_hw*, int)'
  [D] 'function void ieee80211_stop_queues(ieee80211_hw*)'
  [D] 'function void ieee80211_stop_rx_ba_session(ieee80211_vif*, u16, const u8*)'
  [D] 'function void ieee80211_stop_tx_ba_cb_irqsafe(ieee80211_vif*, const u8*, u16)'
  [D] 'function void ieee80211_tdls_oper_request(ieee80211_vif*, const u8*, nl80211_tdls_operation, u16, gfp_t)'
  [D] 'function sk_buff* ieee80211_tx_dequeue(ieee80211_hw*, ieee80211_txq*)'
  [D] 'function void ieee80211_tx_rate_update(ieee80211_hw*, ieee80211_sta*, ieee80211_tx_info*)'
  [D] 'function void ieee80211_tx_status(ieee80211_hw*, sk_buff*)'
  [D] 'function void ieee80211_tx_status_irqsafe(ieee80211_hw*, sk_buff*)'
  [D] 'function void ieee80211_txq_get_depth(ieee80211_txq*, unsigned long int*, unsigned long int*)'
  [D] 'function bool ieee80211_txq_may_transmit(ieee80211_hw*, ieee80211_txq*)'
  [D] 'function void ieee80211_txq_schedule_start(ieee80211_hw*, u8)'
  [D] 'function void ieee80211_unregister_hw(ieee80211_hw*)'
  [D] 'function void ieee80211_wake_queue(ieee80211_hw*, int)'
  [D] 'function void ieee80211_wake_queues(ieee80211_hw*)'
  [D] 'function const char* reg_initiator_name(nl80211_reg_initiator)'
  [D] 'function int regulatory_hint(wiphy*, const char*)'
  [D] 'function int regulatory_set_wiphy_regd(wiphy*, ieee80211_regdomain*)'
  [D] 'function void wiphy_apply_custom_regulatory(wiphy*, const ieee80211_regdomain*)'
  [D] 'function void wiphy_free(wiphy*)'
  [D] 'function wiphy* wiphy_new_nm(const cfg80211_ops*, int, const char*)'
  [D] 'function void wiphy_read_of_freq_limits(wiphy*)'
  [D] 'function int wiphy_register(wiphy*)'
  [D] 'function void wiphy_rfkill_set_hw_state(wiphy*, bool)'
  [D] 'function ieee80211_hw* wiphy_to_ieee80211_hw(wiphy*)'
  [D] 'function void wiphy_unregister(wiphy*)'

55 Added functions:

  [A] 'function void __hw_addr_init(netdev_hw_addr_list*)'
  [A] 'function int __hw_addr_sync(netdev_hw_addr_list*, netdev_hw_addr_list*, int)'
  [A] 'function void __hw_addr_unsync(netdev_hw_addr_list*, netdev_hw_addr_list*, int)'
  [A] 'function void __put_net(net*)'
  [A] 'function int __sock_create(net*, int, int, int, socket**, int)'
  [A] 'function int __traceiter_android_vh_rproc_recovery(void*, rproc*)'
  [A] 'function sk_buff* alloc_can_err_skb(net_device*, can_frame**)'
  [A] 'function sk_buff* alloc_can_skb(net_device*, can_frame**)'
  [A] 'function net_device* alloc_candev_mqs(int, unsigned int, unsigned int, unsigned int)'
  [A] 'function void arc4_crypt(arc4_ctx*, u8*, const u8*, unsigned int)'
  [A] 'function int arc4_setkey(arc4_ctx*, const u8*, unsigned int)'
  [A] 'function int can_change_mtu(net_device*, int)'
  [A] 'function void can_free_echo_skb(net_device*, unsigned int)'
  [A] 'function unsigned int can_get_echo_skb(net_device*, unsigned int)'
  [A] 'function int can_put_echo_skb(sk_buff*, net_device*, unsigned int)'
  [A] 'function void close_candev(net_device*)'
  [A] 'function u32 crc32_be(u32, const unsigned char*, size_t)'
  [A] 'function dentry* debugfs_rename(dentry*, dentry*, dentry*, const char*)'
  [A] 'function int dev_change_net_namespace(net_device*, net*, const char*)'
  [A] 'function void dev_fetch_sw_netstats(rtnl_link_stats64*, const pcpu_sw_netstats*)'
  [A] 'function void free_candev(net_device*)'
  [A] 'function int genlmsg_multicast_allns(const genl_family*, sk_buff*, u32, unsigned int, gfp_t)'
  [A] 'function net* get_net_ns_by_fd(int)'
  [A] 'function net* get_net_ns_by_pid(pid_t)'
  [A] 'function int inet_csk_get_port(sock*, unsigned short int)'
  [A] 'function void kernel_param_lock(module*)'
  [A] 'function void kernel_param_unlock(module*)'
  [A] 'function key_ref_t key_create_or_update(key_ref_t, const char*, const char*, void*, size_t, key_perm_t, unsigned long int)'
  [A] 'function void key_put(key*)'
  [A] 'function key* keyring_alloc(const char*, kuid_t, kgid_t, const cred*, key_perm_t, unsigned long int, key_restriction*, key*)'
  [A] 'function ktime_t ktime_get_coarse_with_offset(tk_offsets)'
  [A] 'function void netdev_set_default_ethtool_ops(net_device*, const ethtool_ops*)'
  [A] 'function int open_candev(net_device*)'
  [A] 'function int register_candev(net_device*)'
  [A] 'function bool rfkill_blocked(rfkill*)'
  [A] 'function void rfkill_pause_polling(rfkill*)'
  [A] 'function void rfkill_resume_polling(rfkill*)'
  [A] 'function bool rfkill_set_hw_state(rfkill*, bool)'
  [A] 'function void rhashtable_free_and_destroy(rhashtable*, void (void*, void*)*, void*)'
  [A] 'function int rhltable_init(rhltable*, const rhashtable_params*)'
  [A] 'function unsigned long int round_jiffies(unsigned long int)'
  [A] 'function void rproc_coredump(rproc*)'
  [A] 'function void rproc_coredump_cleanup(rproc*)'
  [A] 'function int skb_checksum_help(sk_buff*)'
  [A] 'function sk_buff* skb_clone_sk(sk_buff*)'
  [A] 'function void skb_complete_wifi_ack(sk_buff*, bool)'
  [A] 'function void sock_efree(sk_buff*)'
  [A] 'function void tty_hangup(tty_struct*)'
  [A] 'function int tty_mode_ioctl(tty_struct*, file*, unsigned int, unsigned long int)'
  [A] 'function void unregister_candev(net_device*)'
  [A] 'function void usb_anchor_urb(urb*, usb_anchor*)'
  [A] 'function void usb_kill_anchored_urbs(usb_anchor*)'
  [A] 'function void usb_unanchor_urb(urb*)'
  [A] 'function int verify_pkcs7_signature(void*, size_t, void*, size_t, key*, key_being_used_for, int (void*, void*, typedef size_t, typedef size_t)*, void*)'
  [A] 'function void wireless_nlevent_flush()'

3342 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 0x1c3ef274 to 0xf1429f7e

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

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

  ... 3339 omitted; 3342 symbols have only CRC changes

3 Removed variables:

  [D] 'tracepoint __tracepoint_android_vh_force_compatible_post'
  [D] 'tracepoint __tracepoint_android_vh_force_compatible_pre'
  [D] 'const unsigned char rfc1042_header[6]'

3 Added variables:

  [A] 'tracepoint __tracepoint_android_vh_rproc_recovery'
  [A] 'const char hex_asc_upper[17]'
  [A] 'const kobj_ns_type_operations net_ns_type_operations'

62 Changed variables:

  [C] 'net init_net' was changed at net_namespace.c:47:1:
    size of symbol changed from 4416 to 4544
    CRC (modversions) changed from 0x144cd521 to 0x661d880a
    type of variable changed:
      type size changed from 35328 to 36352 (in bits)
      1 data member insertion:
        'netns_can can', at offset 34368 (in bits) at net_namespace.h:183:1
      there are data member changes:
        2 ('netns_xdp xdp' .. 'sock* diag_nlsk') offsets changed (by +1408 bits)
      3735 impacted interfaces

  [C] 'rq runqueues' was changed at core.c:56:1:
    size of symbol changed from 4544 to 4672
    CRC (modversions) changed from 0x3e534b4f to 0x27777ba4
    type of variable changed:
      type size changed from 36352 to 37376 (in bits)
      there are data member changes:
        type 'struct cfs_rq' of 'rq::cfs' changed:
          type size changed from 3072 to 4096 (in bits)
          1 data member insertion:
            'u64 android_vendor_data1[16]', at offset 2752 (in bits) at sched.h:617:1
          3735 impacted interfaces
        61 ('rt_rq rt' .. 'u64 android_kabi_reserved4') offsets changed (by +1024 bits)
      3735 impacted interfaces

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

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

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

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

'enum attr_idn at ufs.h:128:1' changed:
  type size hasn't changed
  1 enumerator deletion:
    'attr_idn::QUERY_ATTR_IDN_RESERVED' value '1'
  1 enumerator insertion:
    'attr_idn::QUERY_ATTR_IDN_MAX_HPB_SINGLE_CMD' value '1'
  2 impacted interfaces
'struct binder_transaction at binder_internal.h:547:1' changed:
  type size changed from 1280 to 1408 (in bits)
  1 data member insertion:
    'u64 android_oem_data1[2]', at offset 1280 (in bits) at binder_internal.h:575:1
  4 impacted interfaces

'struct bio at blk_types.h:205:1' changed:
  type size changed from 1152 to 1216 (in bits)
  1 data member insertion:
    'u64 bi_iocost_cost', at offset 704 (in bits) at blk_types.h:234:1
  there are data member changes:
    2 ('bio_crypt_ctx* bi_crypt_context' .. 'bool bi_skip_dm_default_key') offsets changed (by +64 bits)
    anonymous data member 'union {}' offset changed from 776 to 840 (in bits) (by +64 bits)
    8 ('unsigned short int bi_vcnt' .. 'bio_vec bi_inline_vecs[]') offsets changed (by +64 bits)
  3735 impacted interfaces

'struct blk_mq_ctx at blk-mq.h:18:1' changed:
  type size changed from 2048 to 2560 (in bits)
  1 data member insertion:
    'u64 android_oem_data1[2]', at offset 2048 (in bits) at blk-mq.h:39:1
  3735 impacted interfaces

'struct blk_mq_hw_ctx at blk-mq.h:16:1' changed:
  type size hasn't changed
  1 data member deletion:
    'atomic_t elevator_queued', at offset 3424 (in bits) at blk-mq.h:145:1
  3735 impacted interfaces

'struct blk_mq_tags at blk-mq-tag.h:8:1' changed:
  type size changed from 1600 to 1664 (in bits)
  1 data member insertion:
    'u64 android_oem_data1', at offset 1600 (in bits) at blk-mq-tag.h:30:1
  3735 impacted interfaces

'struct cfs_rq at sched.h:530:1' changed:
  details were reported earlier

'struct dma_buf at dma-buf.h:397:1' changed:
  type size changed from 3520 to 2240 (in bits)
  3 data member deletions:
    'int mmap_count', at offset 2240 (in bits) at dma-buf.h:430:1
    'const vm_operations_struct* exp_vm_ops', at offset 2304 (in bits) at dma-buf.h:431:1
    'vm_operations_struct vm_ops', at offset 2368 (in bits) at dma-buf.h:432:1
  456 impacted interfaces

'struct mm_struct at mm_types.h:407:1' changed:
  type size changed from 7424 to 7360 (in bits)
  there are data member changes:
    anonymous data member at offset 0 (in bits) changed from:
      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;}
    to:
      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; 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; seqcount_t write_protect_seq; 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;}
    and size changed from 7424 to 7360 (in bits) (by -64 bits)
    'unsigned long int cpu_bitmap[]' offset changed (by -64 bits)
  3735 impacted interfaces

'struct mmc_bus_ops at core.h:20:1' changed:
  type size changed from 768 to 896 (in bits)
  1 data member insertion:
    'u64 android_vendor_data1[2]', at offset 768 (in bits) at core.h:34:1
  89 impacted interfaces

'struct mmc_card at card.h:244:1' changed:
  type size changed from 13504 to 13568 (in bits)
  1 data member insertion:
    'u64 android_vendor_data1', at offset 13504 (in bits) at card.h:317:1
  89 impacted interfaces

'struct mmc_host at host.h:279:1' changed:
  type size hasn't changed
  1 data member insertion:
    'u64 android_vendor_data1', at offset 13440 (in bits) at host.h:488:1
  there are data member changes:
    'u64 android_oem_data1' offset changed (by +64 bits)
  89 impacted interfaces

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

'struct request at blkdev.h:127:1' changed:
  type size changed from 2304 to 2368 (in bits)
  1 data member insertion:
    'u64 alloc_time_ns', at offset 1408 (in bits) at blkdev.h:194:1
  there are data member changes:
    12 ('u64 start_time_ns' .. 'unsigned long int deadline') offsets changed (by +64 bits)
    anonymous data member 'union {__call_single_data csd; u64 fifo_time;}' offset changed from 1920 to 1984 (in bits) (by +64 bits)
    2 ('rq_end_io_fn* end_io' .. 'void* end_io_data') offsets changed (by +64 bits)
  3735 impacted interfaces

'struct request_queue at blkdev.h:396:1' changed:
  type size changed from 15616 to 15680 (in bits)
  1 data member insertion:
    'u64 android_oem_data1', at offset 15616 (in bits) at blkdev.h:592:1
  3735 impacted interfaces

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

'struct ufs_dev_info at ufs.h:529:1' changed:
  type size hasn't changed
  1 data member insertion:
    'bool hpb_enabled', at offset 304 (in bits) at ufs.h:596:1
  38 impacted interfaces

'struct ufs_hba at ufshcd.h:737:1' changed (indirectly):
  type size hasn't changed
  there are data member changes:
    type 'struct ufs_dev_info' of 'ufs_hba::dev_info' changed, as reported earlier
  38 impacted interfaces

Bug: 192107071
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ib0c3e59b2e33922b00a374801a8aa5d544047848
2021-07-01 22:51:06 -07:00
John Stultz
6ae626fd8e ANDROID: ABI: hikey960_gki.fragment: Add cfg80211 and mac80211 as modules
In change Iab3971cd0d78d669536b8eb0505c60caa3aafeee the
cfg80211 and mac80211 drivers were switched to modules, so we
need to add them as such to the hikey960_gki.fragment.

With this change, hikey960 boots and wifi comes up.

Bug: 189918667
Fixes: Iab3971cd0d78d669536b8eb0505c60caa3aafeee
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I8cd3dd3dc76852e270b7b4ba518323af92ff6dda
2021-07-01 22:32:07 -07:00
Todd Kjos
7d8c327a64 ANDROID: ABI: gki_defconfig: Make cfg80211 and mac80211 modules
Remove CONFIG_CFG80211 and CONFIG_MAC80211 from gki_defconfig
to allow vendors to incorporate features that have landed upstream.

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

Bug: 189918667
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Iab3971cd0d78d669536b8eb0505c60caa3aafeee
2021-07-01 22:32:06 -07:00
Todd Kjos
ee12781f0c Revert "ANDROID: GKI: Enable some necessary CFG80211 configs for WIFI"
This reverts commit bba0d8a87e.

CFG80211 changing to a module so these configs go into device-specific
defconfig fragments.

Bug: 189918667
Change-Id: Ie4b70407369da3c865541e4857c3ba18fec24587
2021-07-01 22:32:06 -07:00
Kalesh Singh
25c500f2dc Revert "ANDROID: dmabuf: Add mmap_count to struct dmabuf"
This reverts commit 9132fbe545.

Reason for revert: mmap_count is no longer used for reporting dma-bufs
and introduces subtle bugs related to changing the vm_ops

Bug: 192459295
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Change-Id: Id07802e5a3e18918c5c46e31b73be4a594f7dc26
2021-07-01 22:32:05 -07:00
Kalesh Singh
32f0fa685c Revert "ANDROID: dma-buf: Don't change vm_ops if vm_file changes"
This reverts commit fca37c251a.

Reason for revert: mmap_count is no longer used for reporting dma-bufs and introduces subtle bugs related to changing the vm_ops

Bug: 192459295
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Change-Id: I52fb55e1048a151fae7641c9646a231d59b3224d
2021-07-01 22:32:05 -07:00
Sahitya Tummala
f45304d091 ANDROID: GKI: mmc: add Android ABI padding to some structures
Add ABI padding to some of the data structures to accommodate
new eMMC features enablement later.

Bug: 192337957
Change-Id: Ica3f96ea004fb89e4b46ef9734864c655cdcd277
Signed-off-by: Sahitya Tummala <quic_stummala@quicinc.com>
2021-07-01 22:32:05 -07:00
Siddharth Gupta
00d9f57a69 ANDROID: GKI: Add rproc coredump APIs to symbol list
This change adds the rproc_coredump() and rproc_coredump_cleanup()
APIs to the qcom symbol list.

Bug: 188764827
Change-Id: I32a56f5d3caabc61ed94f6de0d7daa29becb490d
Signed-off-by: Siddharth Gupta <quic_sidgup@quicinc.com>
2021-07-01 22:32:05 -07:00
Siddharth Gupta
3136de9b19 ANDROID: GKI: Add remoteproc vendor hook symbols
Add the the symbols exported by the remoteproc vendor hook to the
qcom symbol list.

Change-Id: Iffd58aa5d367141de1c065488519b29fb802fd86
Signed-off-by: Siddharth Gupta <quic_sidgup@quicinc.com>
2021-07-01 22:32:04 -07:00
Siddharth Gupta
019990276b ANDROID: rproc: Add vendor hook for recovery
Add vendor hook for rproc recovery to allow vendor enhancements.

Bug: 188764827
Change-Id: If6f0846c141a4ad40748d552002f65b94d9c52d5
Signed-off-by: Siddharth Gupta <quic_sidgup@quicinc.com>
2021-07-01 22:32:04 -07:00