nvidia: fix ioctl call and tsec operation

Using this patch we are fixing below 2 issues:-
1. Fixes below issue of invalid ioctl call.
  tnvvse_crypto_dev_ioctl(): invalid ioctl code(-1073440754[0xc004980e])
2. Fixes below crash issue once we introduced
[   50.137568] Unable to handle kernel paging request at virtual address
               ffffffffffffff80
l c00498[   50.172247] Mem abort info:
[   50.172248] printk: console [ttyS2]: printing thread stopped
[   50.172773]   ESR = 0x96000004
[   50.178757] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000081c8f000
[   50.202663] Hardware name: p3710-0010 (DT)
[   50.203353] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   50.204464] pc : tegra_ivc_notified+0x1c/0x160
[   50.205194] lr : tegra_ivc_notified+0x1c/0x160
[   50.205890] sp : ffff8000136733c0
[   50.218023] Call trace:
[   50.218425]  tegra_ivc_notified+0x1c/0x160
[   50.219088]  tegra_hv_ivc_channel_notified+0x24/0x1f0 [tegra_hv]
[   50.220077]  tegra_hv_vse_get_db+0x1f80/0x6680 [tegra_hv_vse_safety]
[   50.221129]  tegra_hv_vse_safety_tsec_get_keyload_status+0xf4/0x37c
                [tegra_hv_vse_safety]
[   50.222478]  tnvvse_crypto_dev_ioctl+0x23bc/0x277c [tegra_nvvse_cryptodev]

Bug 4030215
Bug 4031715

Change-Id: I25be3ab0708a5238daf342dcd20e8a948ee39508
Signed-off-by: Manish Bhardwaj <mbhardwaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2872785
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Kasinadha Dendukuri <kdendukuri@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
Reviewed-by: Ashutosh Patel <ashutoshp@nvidia.com>
Reviewed-by: Suresh Venkatachalam <skathirampat@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Manish Bhardwaj
2023-03-17 08:41:09 +00:00
committed by mobile promotions
parent c6c0a19357
commit a14b439800
2 changed files with 2 additions and 1 deletions

View File

@@ -372,7 +372,7 @@ struct tegra_nvvse_tsec_get_keyload_status {
/* NVVSE Error code */
uint32_t err_code;
};
#define NVVSE_IOCTL_CMDID_TSEC_GET_KEYLOAD_STATUS _IOW(TEGRA_NVVSE_IOC_MAGIC, \
#define NVVSE_IOCTL_CMDID_TSEC_GET_KEYLOAD_STATUS _IOWR(TEGRA_NVVSE_IOC_MAGIC, \
TEGRA_NVVSE_CMDID_TSEC_GET_KEYLOAD_STATUS, \
struct tegra_nvvse_tsec_get_keyload_status)