User space user can call DMA_BUF_SET_NAME to set dma_buf.name,
but until now we can't set it at kernel side, it's difficult to debug
kernel dma_buf users.
There are some kernel users of dma_heap also need it at MTK,
such as camera, it's also have a allocator for other camera part,
unlike most case in userspace, it's in kernel.
For debug buffer owner, we need add it to let it can set debug name
for each dmabuf, so that we can know dmabuf owner by dma_buf.name.
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 long int dma_buf_set_name(dma_buf*, const char*)'
Bug: 223353875
Link: https://lore.kernel.org/patchwork/patch/1459719/
Change-Id: Iac5c6b8838b9b4d976f4525d000e17a3abab94f6
Signed-off-by: Guangming Cao <Guangming.Cao@mediatek.com>
Signed-off-by: Georgi Djakov <quic_c_gdjako@quicinc.com>
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
A previous change [1] inlined find_vma function, resulting in its
removal from the exported kernel symbols and replacement with
__find_vma. This function is implemented in the header file and is
still available to drivers, but exported function is changed to
__find_vma. This causes ABI breakage with the following error:
ERROR: Differences between ksymtab and symbol list detected!
Symbols missing from ksymtab:
- find_vma
Replace find_vma with new __find_vma in the symbol lists.
[1] https://lore.kernel.org/all/20220128131006.67712-13-michel@lespinasse.org/
Bug: 161210518
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I23fdb68b7fd4d907354fc5902dca9ddec8060319
Linux 5.15.28 extended the size of the cpu_hwcaps structure to handle
the spectre-bhb issue. Because of this, the ABI "changes" to extend the
structures to grow to handle this. No driver will be affected by this
at all as there is just a new field at the end of these arrays.
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 2 Changed, 0 Added variable
2 Changed variables:
[C] 'static_key_false cpu_hwcap_keys[65]' was changed to 'static_key_false cpu_hwcap_keys[66]' at cpufeature.c:158:1:
size of symbol changed from 1040 to 1056
CRC (modversions) changed from 0xc3fa40cc to 0xd14fef22
type of variable changed:
type name changed from 'static_key_false[65]' to 'static_key_false[66]'
array type size changed from 8320 to 8448
array type subrange 1 changed length from 65 to 66
[C] 'unsigned long int cpu_hwcaps[2]' was changed at cpufeature.c:106:1:
CRC (modversions) changed from 0x856092f6 to 0x77c1b75a
Fixes: aa79753319 ("Linux 5.15.28")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Idbe93c443c7c4e72ef1ae6bba9e550355e9e32c5
To meet FIPS 140 requirements, add support for building a kernel module
"fips140.ko" that contains various cryptographic algorithms built from
existing kernel source files. At load time, the module checks its own
integrity and self-tests its algorithms, then registers the algorithms
with the crypto API to supersede the original algorithms provided by the
kernel itself.
[ebiggers: this commit originated from "ANDROID: crypto: fips140 -
perform load time integrity check", but I've folded many later commits
into it to make forward porting easier. See below]
Original commits from android12-5.10:
* 6be141eb36fe ("ANDROID: crypto: fips140 - perform load time integrity check")
* 868be244bbed ("ANDROID: inject correct HMAC digest into fips140.ko at build time")
* 091338cb398e ("ANDROID: fips140: add missing static keyword to fips140_init()")
* c799c6644b52 ("ANDROID: fips140: adjust some log messages")
* 92de53472e68 ("ANDROID: fips140: log already-live algorithms")
* 0af06624eadc ("ANDROID: fips140: check for errors from initcalls")
* 634445a640a4 ("ANDROID: fips140: fix deadlock in unregister_existing_fips140_algos()")
* e886dd4c339e ("ANDROID: fips140: unregister existing DRBG algorithms")
* b7397e89db29 ("ANDROID: fips140: add power-up cryptographic self-tests")
* 50661975be74 ("ANDROID: fips140: add/update module help text")
* b397a0387cb2 ("ANDROID: fips140: test all implementations")
* 17ccefe14021 ("ANDROID: fips140: use full 16-byte IV")
* 1be58af0776a ("ANDROID: fips140: remove non-prediction-resistant DRBG test")
* 2b5843ae2d90 ("ANDROID: fips140: add AES-CBC-CTS")
* 2ee56aad318c ("ANDROID: fips140: add AES-CMAC")
* 960ebb2b565b ("ANDROID: fips140: add jitterentropy to fips140 module")
* e5b14396f9d2 ("ANDROID: fips140: take into account AES-GCM not being approvable")
* 52b70d491bd4 ("ANDROID: fips140: use FIPS140_CFLAGS when compiling fips140-selftests.c")
* 6b995f5a5403 ("ANDROID: fips140: preserve RELA sections without relying on the module loader")
* e45108ecff64 ("ANDROID: fips140: block crypto operations until tests complete")
* ecf9341134d1 ("ANDROID: fips140: remove in-place updating of live algorithms")
* 482b0323cf29 ("ANDROID: fips140: zeroize temporary values from integrity check")
* 64d769e53f20 ("ANDROID: fips140: add service indicators")
* 8d7f609cdaa4 ("ANDROID: fips140: add name and version, and a function to retrieve them")
* 6b7c37f6c449 ("ANDROID: fips140: use UTS_RELEASE as FIPS version")
* 903e97a0ca6d ("ANDROID: fips140: refactor evaluation testing support")
* 97fb2104fe22 ("ANDROID: fips140: add support for injecting integrity error")
* 109f31ac23f5 ("ANDROID: fips140: add userspace interface for evaluation testing")
Bug: 153614920
Bug: 188620248
Test: tested that the module builds and can be loaded on raven.
Change-Id: I3fde49dbc3d16b149b072a27ba5b4c6219015c94
Signed-off-by: Ard Biesheuvel <ardb@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Add three new symbols to the aarch64 kernel ABI. These are to be
called from vendor modules to register an IOMMU with pKVM and
notify the hypervisor about its PM events.
New symbols:
- pkvm_iommu_s2mpu_register
- pkvm_iommu_suspend
- pkvm_iommu_resume
Bug: 190463801
Signed-off-by: David Brazdil <dbrazdil@google.com>
Change-Id: I9797326a54cba6abd1b233682379de10139c2303
Set KMI_GENERATION=1 for 3/9 KMI update
Leaf changes summary: 2579 artifacts changed (1 filtered out)
Changed leaf types summary: 9 (1 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 2521 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 49 Changed, 0 Added variable
2521 functions with some sub-type change:
[C] 'function void* PDE_DATA(const inode*)' at generic.c:794:1 has some sub-type changes:
CRC (modversions) changed from 0x17465176 to 0x1c3e2a86
[C] 'function void __ClearPageMovable(page*)' at compaction.c:138:1 has some sub-type changes:
CRC (modversions) changed from 0x8331b3e3 to 0x734edab3
[C] 'function void __SetPageMovable(page*, address_space*)' at compaction.c:130:1 has some sub-type changes:
CRC (modversions) changed from 0xe56f361 to 0x891f9c1d
... 2518 omitted; 2521 symbols have only CRC changes
49 Changed variables:
[C] 'bus_type amba_bustype' was changed at bus.c:313:1:
CRC (modversions) changed from 0xe555ebeb to 0x517f2d17
[C] 'const address_space_operations balloon_aops' was changed at balloon_compaction.c:253:1:
CRC (modversions) changed from 0xa9866f1a to 0x89a77b8c
[C] 'const clk_ops clk_divider_ops' was changed at clk-divider.c:522:1:
CRC (modversions) changed from 0xca4154fa to 0x5a75cc1
... 46 omitted; 49 symbols have only CRC changes
'enum nl80211_attrs at nl80211.h:2666:1' changed:
type size hasn't changed
1 enumerator insertion:
'nl80211_attrs::NL80211_ATTR_EHT_CAPABILITY' value '310'
3 enumerator changes:
'nl80211_attrs::NL80211_ATTR_MAX' from value '309' to '310' at nl80211.h:2670:1
'nl80211_attrs::NUM_NL80211_ATTR' from value '310' to '311' at nl80211.h:2670:1
'nl80211_attrs::__NL80211_ATTR_AFTER_LAST' from value '310' to '311' at nl80211.h:2670:1
2 impacted interfaces
'struct ieee80211_sband_iftype_data at cfg80211.h:378:1' changed:
type size changed from 640 to 1024 (in bits)
1 data member insertion:
'ieee80211_sta_eht_cap eht_cap', at offset 472 (in bits) at cfg80211.h:431:1
there are data member changes:
'struct {const u8* data; unsigned int len;} vendor_elems' offset changed (by +384 bits)
3084 impacted interfaces
'struct iommu_dma_cookie at dma-iommu.c:41:1' changed (indirectly):
type size changed from 15360 to 15424 (in bits)
there are data member changes:
type 'union {iova_domain iovad; dma_addr_t msi_iova;}' of 'anonymous data member' changed:
type size changed from 15104 to 15168 (in bits)
there are data member changes:
type 'struct iova_domain' of '__anonymous_union__::iovad' changed:
type size changed from 15104 to 15168 (in bits)
1 data member insertion:
'bool best_fit', at offset 15104 (in bits) at iova.h:99:1
3086 impacted interfaces
2 ('list_head msi_page_list' .. 'iommu_domain* fq_domain') offsets changed (by +64 bits)
3084 impacted interfaces
'struct iova_domain at iova.h:68:1' changed:
details were reported earlier
'struct module at module.h:364:1' changed:
type size hasn't changed
2 data member insertions:
'unsigned int btf_data_size', at offset 6016 (in bits) at module.h:477:1
'void* btf_data', at offset 6080 (in bits) at module.h:478:1
there are data member changes:
18 ('jump_entry* jump_entries' .. 'unsigned int num_ei_funcs') offsets changed (by +128 bits)
3084 impacted interfaces
'struct rate_info at cfg80211.h:1580:1' changed:
type size changed from 80 to 96 (in bits)
2 data member insertions:
'u8 eht_gi', at offset 80 (in bits) at cfg80211.h:1673:1
'u8 eht_ru_alloc', at offset 88 (in bits) at cfg80211.h:1674:1
5 impacted interfaces
'struct station_info at cfg80211.h:1743:1' changed (indirectly):
type size changed from 1792 to 1856 (in bits)
there are data member changes:
type 'struct rate_info' of 'station_info::txrate' changed, as reported earlier
type 'struct rate_info' of 'station_info::rxrate' changed, as reported earlier
and offset changed from 528 to 544 (in bits) (by +16 bits)
8 ('u32 rx_packets' .. 'int generation') offsets changed (by +32 bits)
21 ('const u8* assoc_req_ies' .. 'u8 connected_to_as') offsets changed (by +64 bits)
4 impacted interfaces
'struct station_parameters at cfg80211.h:1421:1' changed:
type size changed from 1280 to 1408 (in bits)
2 data member insertions:
'const ieee80211_eht_cap_elem* eht_capa', at offset 1280 (in bits) at cfg80211.h:1525:1
'u8 eht_capa_len', at offset 1344 (in bits) at cfg80211.h:1526:1
one impacted interface
'struct virtio_config_ops at virtio_config.h:77:1' changed:
type size changed from 896 to 960 (in bits)
1 data member insertion:
'void (virtio_device*)* enable_cbs', at offset 0 (in bits) at virtio_config.h:80:1
there are data member changes:
14 ('void (virtio_device*, unsigned int, void*, unsigned int)* get' .. 'typedef bool (virtio_device*, virtio_shm_region*, typedef u8)* get_shm_region') offsets changed (by +64 bits)
35 impacted interfaces
Bug: 222115076
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I1aac74111756444ff6bff92b843a5133f3c7541c
Adds vb2_dma_sg_memops to the symbol list now that VIDEOBUF2_DMA_SG is
built-in to the GKI kernel.
Bug: 219998156
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I59af06d1da835e21751636dd758ac25d9d00c8b1
Add android/abi_gki_aarch64.xml as initial ABI representation of the KMI
and start enforcing KMI. While this is hard enforcement in the code
base, we still allow controlled changes to the ABI until KMI freeze.
Bug: 220181989
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: Icfdc0a05899667db3a45dca2977edce0cde9b600
These new symbols add support for the scheduler vendor hooks on P21
mainline.
Bug: 218524554
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I9c93946459858ef5a4cbf49b84acb73091f5439c
Update QCOM symbol list to include vhost symbols.
Bug: 217278607
Change-Id: I4ae6aa941f3a2adc0f7594fbffb3da464a5b4602
Signed-off-by: Neeraj Upadhyay <quic_neeraju@quicinc.com>
Reason for revert: need alternative deployment path for test modules
Change-Id: I2b27bb5451a3338e5d5cdb1e67440290cd42df44
Bug: 181024194
Signed-off-by: Steve Muckle <smuckle@google.com>
Use rvh instead of vh for the iommu_setup_dma_ops to prevent
sleeping while atomic bugs as mutexes are used to serialize
access to iova regions.
Bug: 216657571
Change-Id: If90d0714576ed6ca4b014b1447a1518f05a7ed0b
Signed-off-by: Georgi Djakov <quic_c_gdjako@quicinc.com>
Update QCOM symbol list in android/abi_gki_aarch64_qcom.
Bug: 217106866
Change-Id: I6359eef212a1212c2a01e81de289c86b2d188850
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Sort the symbols in QCOM symbol list with the below command.
LANG=C sort -o android/abi_gki_aarch64_qcom android/abi_gki_aarch64_qcom
Bug: 217106866
Change-Id: I4f13563e2dd5becdc2cfaf69b8816ac7b689b67c
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Update QCOM symbol list in android/abi_gki_aarch64_qcom.
Bug: 211744078
Change-Id: I7a22e4948c2fd5071cd53c2dc754b2ebfd0e93d0
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
The list is updated based on the branch "aosp/android13-gs-raviole-5.15".
The only new symbols (not in any symbol list) are:
* __rt_mutex_init
* __wake_up_sync
* bpf_trace_run11
Bug: 215745244
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I42f939b467fc3e544ed5c9cb4c3568b1b3d3c8a8
Update symbol list after making the DMA-BUF heap page-pool helper
library built-in.
Bug: 183902174
Change-Id: I855e034942e2cbaf935e855d0db8882ccefb0395
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Add CONFIG_MODULE_SIG_PROTECT to enable lookup for the protected
symbols and exports from the build time generated list of symbols
and exports.
Module loading behavior will change as follows:
- Allows Android GKI Modules signed using MODULE_SIG_ALL during build.
- Allows other modules to load if they don't violate the access to
Android GKI protected symbols and do not export the symbols already
exported by the Android GKI modules. Loading will fail and return
-EACCES (Permission denied) if symbol access contidions are not met.
Bug: 200082547
Test: Treehugger
Signed-off-by: Ramji Jiyani <ramjiyani@google.com>
Change-Id: Iedb99d8434db82a9c7f18ffd363d84f4b2316c5b
(cherry picked from commit 9ab6a242258a9ac17506b74c6ed7332703d536f4)
This symbol list was generated based off of the
aosp/gs-android-gs-raviole-mainline repo project for Pixel 6.
Bug: 212476972
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I5ce2e97408b98596c6284ad054f5588142fd4c44
Commit 5a960e533c ("timers: implement usleep_idle_range()") changed
the usleep_range() call to be an inline function that calls
usleep_range_state() instead. So fix up the few usages of this symbol
in the symbol list so the build starts to work again.
Fixes: 5a960e533c ("timers: implement usleep_idle_range()")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1692276e3c7d42e4f8a72c508843ff8fc28c9196
Reorder vlan symbols and put under the right module comment.
Bug: 210119134
Signed-off-by: Victor Shutemov <victor@haleytek.com>
Change-Id: Ie1ea9c7ded3fec99cb2951a8f5129a8b5a16a88d
VLAN_8021Q is needed for haleytek vehicle projects.
It's not possible to add as a vendor module since
building as module changes built-in data structures.
Bug: 210119134
Signed-off-by: Victor Shutemov <victor@haleytek.com>
Change-Id: I2098a3bc2fe25bfb3cc69cac947ab4b94c1f5e7f
The symbol list file for db845c was dropped
so this patch re-adds it so we can boot the
GKI target kernels
Bug: 146449535
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Idca2363a335dca54c605d5ed292f20c0ba8d3e48