Loading arch/arm64/boot/dts/qcom/qcs405.dtsi +3 −0 Original line number Diff line number Diff line Loading @@ -1069,6 +1069,9 @@ qcom,hlos-num-ce-hw-instances = <1>; qcom,hlos-ce-hw-instance = <0>; qcom,qsee-ce-hw-instance = <0>; qcom,disk-encrypt-pipe-pair = <2>; qcom,support-fde; qcom,fde-key-size; qcom,no-clock-support; qcom,msm-bus,name = "qseecom-noc"; qcom,msm-bus,num-cases = <4>; Loading drivers/misc/compat_qseecom.c +33 −2 Original line number Diff line number Diff line /* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2017,2019 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -475,6 +475,18 @@ static int compat_put_qseecom_is_es_activated_req( return err; } static int compat_get_qseecom_ice_flag( struct compat_qseecom_ice_data_t __user *data32, struct qseecom_ice_data_t __user *data) { int err; compat_int_t ice_flag; err = get_user(ice_flag, &data32->flag); err |= put_user(ice_flag, &data->flag); return err; } static unsigned int convert_cmd(unsigned int cmd) { switch (cmd) { Loading Loading @@ -538,7 +550,8 @@ static unsigned int convert_cmd(unsigned int cmd) return QSEECOM_IOCTL_SEND_MODFD_CMD_64_REQ; case COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64: return QSEECOM_IOCTL_SEND_MODFD_RESP_64; case COMPAT_QSEECOM_IOCTL_SET_ICE_INFO: return QSEECOM_IOCTL_SET_ICE_INFO; default: return cmd; } Loading Loading @@ -914,6 +927,24 @@ long compat_qseecom_ioctl(struct file *file, (unsigned long)data); } break; case COMPAT_QSEECOM_IOCTL_SET_ICE_INFO: { struct compat_qseecom_ice_data_t __user *data32; struct qseecom_ice_data_t __user *data; int err; data32 = compat_ptr(arg); data = compat_alloc_user_space(sizeof(*data)); if (data == NULL) return -EFAULT; err = compat_get_qseecom_ice_flag(data32, data); if (err) return err; return qseecom_ioctl(file, convert_cmd(cmd), (unsigned long)data); } break; default: return -ENOIOCTLCMD; break; Loading drivers/misc/compat_qseecom.h +7 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,10 @@ struct compat_qseecom_qseos_version_req { compat_uint_t qseos_version; /* in */ }; struct compat_qseecom_ice_data_t { compat_int_t flag; /* in */ }; /* * struct compat_qseecom_qseos_app_load_query - verify if app is loaded in qsee * @app_name[MAX_APP_NAME_SIZE]- name of the app. Loading Loading @@ -329,5 +333,8 @@ extern long compat_qseecom_ioctl(struct file *file, _IOWR(QSEECOM_IOC_MAGIC, 42, \ struct compat_qseecom_ce_info_req) #define COMPAT_QSEECOM_IOCTL_SET_ICE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 43, struct qseecom_ice_data_t) #endif #endif /* _UAPI_COMPAT_QSEECOM_H_ */ Loading
arch/arm64/boot/dts/qcom/qcs405.dtsi +3 −0 Original line number Diff line number Diff line Loading @@ -1069,6 +1069,9 @@ qcom,hlos-num-ce-hw-instances = <1>; qcom,hlos-ce-hw-instance = <0>; qcom,qsee-ce-hw-instance = <0>; qcom,disk-encrypt-pipe-pair = <2>; qcom,support-fde; qcom,fde-key-size; qcom,no-clock-support; qcom,msm-bus,name = "qseecom-noc"; qcom,msm-bus,num-cases = <4>; Loading
drivers/misc/compat_qseecom.c +33 −2 Original line number Diff line number Diff line /* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2017,2019 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -475,6 +475,18 @@ static int compat_put_qseecom_is_es_activated_req( return err; } static int compat_get_qseecom_ice_flag( struct compat_qseecom_ice_data_t __user *data32, struct qseecom_ice_data_t __user *data) { int err; compat_int_t ice_flag; err = get_user(ice_flag, &data32->flag); err |= put_user(ice_flag, &data->flag); return err; } static unsigned int convert_cmd(unsigned int cmd) { switch (cmd) { Loading Loading @@ -538,7 +550,8 @@ static unsigned int convert_cmd(unsigned int cmd) return QSEECOM_IOCTL_SEND_MODFD_CMD_64_REQ; case COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64: return QSEECOM_IOCTL_SEND_MODFD_RESP_64; case COMPAT_QSEECOM_IOCTL_SET_ICE_INFO: return QSEECOM_IOCTL_SET_ICE_INFO; default: return cmd; } Loading Loading @@ -914,6 +927,24 @@ long compat_qseecom_ioctl(struct file *file, (unsigned long)data); } break; case COMPAT_QSEECOM_IOCTL_SET_ICE_INFO: { struct compat_qseecom_ice_data_t __user *data32; struct qseecom_ice_data_t __user *data; int err; data32 = compat_ptr(arg); data = compat_alloc_user_space(sizeof(*data)); if (data == NULL) return -EFAULT; err = compat_get_qseecom_ice_flag(data32, data); if (err) return err; return qseecom_ioctl(file, convert_cmd(cmd), (unsigned long)data); } break; default: return -ENOIOCTLCMD; break; Loading
drivers/misc/compat_qseecom.h +7 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,10 @@ struct compat_qseecom_qseos_version_req { compat_uint_t qseos_version; /* in */ }; struct compat_qseecom_ice_data_t { compat_int_t flag; /* in */ }; /* * struct compat_qseecom_qseos_app_load_query - verify if app is loaded in qsee * @app_name[MAX_APP_NAME_SIZE]- name of the app. Loading Loading @@ -329,5 +333,8 @@ extern long compat_qseecom_ioctl(struct file *file, _IOWR(QSEECOM_IOC_MAGIC, 42, \ struct compat_qseecom_ce_info_req) #define COMPAT_QSEECOM_IOCTL_SET_ICE_INFO \ _IOWR(QSEECOM_IOC_MAGIC, 43, struct qseecom_ice_data_t) #endif #endif /* _UAPI_COMPAT_QSEECOM_H_ */