This reverts commit 796ae71391.
This commit is being reverted due to build conflicts
with other teams
CRS-Fixed: 3354563
Change-Id: I915cc5bd0e718a1b82641ac02d2f0184f2fa1f37
Release memory object from userspace when a call to release comes in
kernel to prevent the memory leaks in the cases where mem objects
are passed as a response inside a callback call.
Change-Id: I5ce57b6be90e71e255a890895d5f2859312ba1e4
Signed-off-by: Anmolpreet Kaur <quic_anmolpre@quicinc.com>
We are exposing headers present in "include/linux" for the rest of the kernel DLKM's.
These changes allow for other kernel teams to access these headers.
CRS-Fixed: 3338788
Change-Id: I5926ddeee8541398b32010db0b01af529b19fa3e
1. While waiting for callback response instead of waiting uninterruptibly for
1sec split wait timeout to 100ms and increase number of retries to 50.
2. If a wait is interrupted due to signal, continue to wait if callback server
is in a good state.
Change-Id: I15faf27ebdb98e2df4a0c75695643a611ad9889d
expose ITrustedCameraDriver header file to camera so that
camera kernel driver can trigger protect/unprotect call.
CRS-Fixed: 3343680
Change-Id: I011f17a93f9d7c32140835406488def34429f983
Using ksize to calculate buffer sizes during memset
is causing buffer overflows due to incorrect
calculations, replace this to directly use malloced
buffer sizes.
Change-Id: I9bfdfb63022ddd18a7f39450dc96b363fb4d20c3
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Relocating three header files to the linux folder.
Updated SPDX-License-Identifier comment in each file.
CRS-Fixed: 3317072
Change-Id: I4fe6b46c9f97c0d32b573a1488c5ab48120d3b0b
Using genrule and cc_library_headers we expose three smcinvoke headers.
We use Android.bp edits to accomplish this.
CRS-Fixed: 3317072
Change-Id: I1d946d5a23e22e3b525c99c7223e6109aab8c059
Return OBJECT_ERROR_BUSY if the Object is busy.
Return OBJECT_ERROR_KMEM if Out of memory.
Return OBJECT_ERROR_UNAVAIL if the request could not be processed.
Change-Id: I17b9ecd7dd817b445d84cb7d01b019497248a2a3
Add following changes.
Fix switch case
latest compiler throwing error where CASE statement does
not have break or return under all the execution paths.
Rename size_add to size_add_
There is a name collision between this one and one coming from
overflow.h. Hence renaming it.
Modify IRQ handling for qce50 module
Change PDE_DATA to pde_data
Signed-off-by: Smita Ghosh <quic_smitag@quicinc.com>
Change-Id: I4226fb41df12273b45d2e114f1aad2709dc36eb7
Signed-off-by: Smita Ghosh <quic_smitag@quicinc.com>
Add qseecom support for Auto GVM platform.
Change-Id: I9b386486961e36b571498bf6c495c8c786df64c3
Signed-off-by: venkata sateesh <quic_vencher@quicinc.com>
Disable the clock gating feature till some of the stability
issues concerning it is resolved.
Change-Id: I7c7832a843240a75b426ca9187fd02dc1488d0ca
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Currently, there is no lock held when doing crypto
housekeeping when a timeout occurs. Use a lock in this
scenario to avoid concurrent scenario timing errors.
Change-Id: I60c243e0dfde5a716df772177ab4cd75d9b5b7cc
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
1. Add qseecom_dlkm.ko based on Khaje and AUTO arch type
2. Restructure conf file into multiple conf files
to enable feature based conf file.
Change-Id: I8bc0472667aebc35e8d1afa37eaca5c3353fd191
Signed-off-by: Jayasri Bhattacharyya <quic_jbhattac@quicinc.com>
1. When invoke thread have resumed from freezing to running or is
killed, the interruption signals will always interrupt the
smcinvoke callback calls. this will lead the QTEE and listener
to be out of sync.
2. To fix this issue, we remove the signal interruption, this solution
will prevent the smcinvoke from being out of sync.
Change-Id: I8f0cd7342784564ce12e617dc4076638f365aba9
Signed-off-by: wenji <quic_wenji@quicinc.com>
check the num_fds passed into unmap buf ioctl,
or else it can lead to an out of bounds access.
Change-Id: Ief209a60a6b7dc1ea4be485eaf5cf51d2955a980
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
During Callback request from TZ, smcinvoke in and out buffers need
explicit cache operation with legacy smcinvoke.
Change-Id: I3eacd69901c1ce117017b2d59a28dfab83b5f3f9
Since TZ already votes at nominal, voting at nominal from
HLOS will cause aggregate to cross Turbo, so vote at lowSVS
by default from HLOS.
Change-Id: I662fecfa1c8dd29e71eb3c59e2c03d58710ca387
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Support to have multiple qcedev requests at a time in
the driver.
Change-Id: I2ba8f22e2b659db04db348dfa3b06b70bf234d0b
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
smcinvoke.c:578:10: error: implicit declaration of function 'kthread_should_stop'
while (!kthread_should_stop()) {
smcinvoke.c:617:43: error: implicit declaration of function 'kthread_run'
smcinvoke[i].postprocess_kthread_task = kthread_run(
Change-Id: Id6a8b6844ec7ae00b55c81d3760a91da9d49a9ad
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
This change will compile and generate qce50 object
only when QCEDEV(QTI Crypto Engine driver) is
compiled.
Test: Nominal, Stress, Adversial and Repetitive Test passed.
Change-Id: I00f41c825d516dcf6e974a7e0333899a746f696f
Signed-off-by: Anvisha <quic_anvisriv@quicinc.com>
Because the device node of smcinvoke is published at the
beginning of the smcinvoke_probe(), the device node will
be ready while the smcinvoke is not initialized completely.
Hence the smcinvoke_release probably is called when the
smcinvoke driver is not ready. this case will lead to
smcinvoke crash issue.
To avoid this concurrency issue, we create the device node
at the end of the smcinvoke_probe.
Change-Id: I930685a24fb744893017c90c1881f13e2f2c3d7c
Signed-off-by: wenji <quic_wenji@quicinc.com>
Use DTSI values to vote for clocks instead of using
fixed values. This enables to vote for crypto clocks
on a per target basis.
Change-Id: I05c9e55f4aa0ec876903f1963f859ecf1fc929ab
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
1. When there is a large shambridge memory which is not
deleted in time, The shambridge in QTEE might be out of
memory. we met this issue in the TVM TUI unit test.
TrustedUISampleTest -vm --gtest_filter=*Basic_TUIStartStop*
2. To avoid being out of shambridge memory, we should postpone
the deletion of shambridge created by smcinvoke itself.
Change-Id: I2ef837339881c1dcd78a0da10fc848488c9819ca
Signed-off-by: wenji <quic_wenji@quicinc.com>
Current wait times for crypto is too high which might cause
concurerency issues for other EEs. Reduce this to what is
required.
Also, reset the offload error for every new IOCTL call.
Change-Id: I43dd2e59e3f30706c87cdc4f633d8132dc8410c9
Signed-off-by: Gaurav Kashyap <quic_gaurkash@quicinc.com>
Changing the kernel error messages to Info message for unsupported sys-call in TZ.
Test: Compiled tested and validated on device.
Change-Id: Iced52a7c0ac40717de11d6b07923d414b380c40f