Commit Graph

979292 Commits

Author SHA1 Message Date
Eric Biggers
e886dd4c33 ANDROID: fips140: unregister existing DRBG algorithms
fips140_algorithms[] is a list of cra_names rather than
cra_driver_names, so to specify that the existing DRBG algorithms need
to be unregistered it needs to contain "stdrng".

Bug: 153614920
Bug: 188620248
Change-Id: Id655e74858ca6bff4eedaf761d54c3ae54c2260f
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-07-12 10:49:29 +00:00
Eric Biggers
634445a640 ANDROID: fips140: fix deadlock in unregister_existing_fips140_algos()
crypto_remove_final() calls crypto_alg_put() which can take
crypto_alg_sem again, via a call stack like:

    down_write(&crypto_alg_sem)
    crypto_drop_spawn()
    crypto_ccm_free()
    crypto_aead_free_instance()
    crypto_destroy_instance()
    crypto_alg_put() (inlined)
    crypto_remove_final()
    unregister_existing_fips140_algos()

That causes a deadlock because unregister_existing_fips140_algos() is
already holding crypto_alg_sem.

Fix this by reducing the scope of crypto_alg_sem to the actual list
traversal and not the crypto_alg_put().

Bug: 153614920
Bug: 188620248
Change-Id: Ia724d8b13480233dad051c538dc504cb27be8777
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-07-12 10:49:29 +00:00
Eric Biggers
0af06624ea ANDROID: fips140: check for errors from initcalls
Check for errors when executing the initcalls so that we can't fail to
register some algorithms without noticing.

Bug: 153614920
Bug: 188620248
Change-Id: I8e55de3d7624c6700f161c92705d0f6f874476d8
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-07-12 10:49:28 +00:00
Eric Biggers
92de53472e ANDROID: fips140: log already-live algorithms
It may be helpful to know whether the "already-live algorithms" code
path is being executed or not, and if so, with which algorithms.  Add a
log message for it.

Bug: 153614920
Bug: 188620248
Change-Id: Ie3757794b1e43f630d5dc8f888c6ad33acacbc4c
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-07-12 10:49:28 +00:00
Jing-Ting Wu
0a7da21583 ANDROID: Update new mtk gki symbol
Leaf changes summary: 6 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 3 Added variables

Added functions:

[A] 'function int __traceiter_android_vh_cgroup_attach(void*, cgroup_subsys*, cgroup_taskset*)'
[A] 'function int __traceiter_android_vh_is_fpsimd_save(void*, task_struct*, task_struct*)'
[A] 'function int __traceiter_task_newtask(void*, task_struct*, unsigned long int)'

3 Added variables:

[A] 'tracepoint __tracepoint_android_vh_cgroup_attach'
[A] 'tracepoint __tracepoint_android_vh_is_fpsimd_save'
[A] 'tracepoint __tracepoint_task_newtask'

Bug: 193159431
Signed-off-by: Jing-Ting Wu <Jing-Ting.Wu@mediatek.com>
Change-Id: I32b5b26b6f86463c5521a4b6cd7c43d195f6d672
2021-07-12 10:17:15 +00:00
Puma Hsu
98085b5dd8 ANDROID: usb: Add vendor hook for usb suspend and resume
Add the hook that vendor can design and bypass the suspend/resume.
When the bypass is set, skip the orignal suspend/resume methods.

In mobile, a co-processor can be used with USB audio, and ACPU may
be able to sleep in such condition to improve power consumption.
We will need vendor hook to support this.

Bug: 192774581
Signed-off-by: Puma Hsu <pumahsu@google.com>
Change-Id: Ic62a8a1e662bbe3fb0aa17af7491daace0b9f18a
2021-07-12 09:06:49 +00:00
Guangming Cao
956db89e71 BACKPORT: FROMLIST: dma-heap: Let dma heap use dma_map_attrs to map & unmap iova
For dma-heap users, they can't bypass cache sync when map/unmap iova
with dma heap. But they can do it by adding DMA_ATTR_SKIP_CPU_SYNC
into dma_alloc_attrs.

To keep alignment, at dma_heap side, also use
dma_buf_attachment.dma_map_attrs to do iova map & unmap.

This patch is a little different with linux patch, because ACK
has cached heap, and linux doesn't have it

Bug: 189986159
Link: https://lore.kernel.org/patchwork/patch/1455032/
Change-Id: I324712644688c29e55c9197efcde9283bbbd813b
Signed-off-by: Guangming Cao <Guangming.Cao@mediatek.com>
2021-07-10 09:34:39 +00:00
Charan Teja Reddy
749d6e7f2c ANDROID: abi_gki_aarch64_qcom: Add vendor hook for shmem_alloc_page
The commit 964220d080 ("ANDROID: shmem: vendor hook in
shmem_alloc_page") adds a vendor hook related to getting the page from
driver maintained pool first for the shmem pages. It also requires
already exported __mod_node_page_state function. Add these symbols to
the list.

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 void __mod_node_page_state(pglist_data*, node_stat_item,
long int)'

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_shmem_alloc_page'

Bug: 187798288
Change-Id: Id4859df62a401f9b10daf9388cdb91f4aec99b78
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2021-07-09 22:48:23 +00:00
Charan Teja Reddy
b05bbe48be ANDROID: abi_gki_aarch64_qcom: Add reclaim_shmem_address_space
Add reclaim_shmem_address_space to symbol list. This gerrit also
contains the changes resulted from changing the number of params in
shmem_mark_page_lazyfree function.

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

1 Added function:

  [A] 'function int reclaim_shmem_address_space(address_space*)'

1 function with some sub-type change:

  [C] 'function void shmem_mark_page_lazyfree(page*)' at shmem.c:4296:1
has some sub-type changes:
    CRC (modversions) changed from 0x81dbf5b0 to 0xd16d738a
    parameter 2 of type 'typedef bool' was added

Bug: 187798288
Change-Id: Ieebc6d0cb2211a80a126f39b46e3c7d3583dca60
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
2021-07-09 22:47:35 +00:00
xieliujie
d80c70d7a8 ANDROID: android: export kernel function arch_mmap_rnd
Vendor module needs arch_mmap_rnd() to generate new mm->mmap_base
when defining a custom mmap_layout.
More details in https://buganizer.corp.google.com/issues/191439466

Bug: 191439466
Signed-off-by: xieliujie <xieliujie@oppo.com>
Change-Id: I37644438b4e170732adc62810388450155c178a4
2021-07-09 20:51:14 +00:00
Charan Teja Reddy
25c7eb4932 ANDROID: mm: shmem: Fix build break with allnoconfig
With allnoconfig, build is breaking with below message, which is
introduced in commit daeabfe7fa ("ANDROID: mm: add
reclaim_shmem_address_space() for faster reclaims"). Fix it.

mm/shmem.c: In function ‘reclaim_shmem_address_space’:
mm/shmem.c:4321:7: error: implicit declaration of function
‘isolate_lru_page’ [-Werror=implicit-function-declaration]
   if (isolate_lru_page(page))

Bug: 187798288
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Change-Id: I27494b329e9b667869e1f5264bd319d94b8d2dd6
2021-07-09 18:34:15 +00:00
Liujie Xie
1cdcf76b15 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
2021-07-09 17:10:05 +00:00
Vignesh Saravanaperumal
726468dd4a ANDROID: GKI: add vendor padding variable in struct skb_shared_info
Some vendors want to add things to 'struct skb_shared_info', so give
them an array to place their data.

Bug: 171013716
Signed-off-by: Vignesh Saravanaperumal <vignesh1.s@samsung.com>
Change-Id: Ia0024e3e8de89f4ef335fa26208ec6c45abafb22
2021-07-09 15:37:13 +00:00
jongmin jeong
fc79c93657 FROMLIST: scsi: ufs: add quirk to enable host controller without interface configuration
samsung ExynosAuto SoC has two types of host controller interface to
support the virtualization of UFS Device.
One is the physical host(PH) that the same as conventaional UFSHCI,
and the other is the virtual host(VH) that support data transfer function only.

In this structure, the virtual host does not support like device management.
This patch skips the interface configuration part that cannot be performed
in the virtual host.

Signed-off-by: jongmin jeong <jjmin.jeong@samsung.com>
Link: https://lore.kernel.org/linux-scsi/20210709065711.25195-3-chanho61.park@samsung.com/
Bug: 190689163
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I65b56f898da9d57c627b5752535dd563e4fd3e8d
2021-07-09 14:27:51 +00:00
jongmin jeong
2d5ae6b787 FROMLIST: scsi: ufs: add quirk to handle broken UIC command
samsung ExynosAuto9 SoC has two types of host controller interface to
support the virtualization of UFS Device.
One is the physical host(PH) that the same as conventaional UFSHCI,
and the other is the virtual host(VH) that support data transfer function
only.

In this structure, the virtual host does not support UIC command.
To support this, we add the quirk and return 0 when the UIC command
send function is called.

Signed-off-by: jongmin jeong <jjmin.jeong@samsung.com>
Link: https://lore.kernel.org/linux-scsi/20210709065711.25195-2-chanho61.park@samsung.com/
Bug: 190689163
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: Ie528726b29bcb643149440bf1c90eaa5995c5ac1
2021-07-09 14:27:19 +00:00
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