summaryrefslogtreecommitdiff
path: root/tools/lib/python/kdoc/python_version.py
diff options
context:
space:
mode:
authorShao-Fu Chen <shf.chen@mediatek.com>2026-09-18 18:10:46 +0800
committerJens Wiklander <jens.wiklander@oss.qualcomm.com>2026-10-02 16:08:05 +0200
commitc108feca0a096f8db25d1b69130035025e9e936d (patch)
tree7fe4f81ca5bd0b2bbbedcea4f8f82e7b97971de2 /tools/lib/python/kdoc/python_version.py
parent8d3ae59288f1e7d58d76558a6ee96d533bc5019f (diff)
downloadlinux-next-c108feca0a096f8db25d1b69130035025e9e936d.tar.gz
linux-next-c108feca0a096f8db25d1b69130035025e9e936d.zip
optee: register TEE devices only once fully initialized
optee_probe() called tee_device_register() on both the client and the supplicant device before the rest of struct optee had been initialized. tee_device_register() calls cdev_device_add(), which does two things at once: it creates /dev/tee0 and /dev/teepriv0, and it links the device into the tee class so that class_find_device() can find it. From that moment on the device is reachable both from user space via tee_open() and from kernel space via tee_client_open_context(). The only gate in teedev_open() is tee_device_get(), which merely checks that teedev->desc is non-NULL, which was already set by tee_device_alloc(). Therefore, there is effectively no gate at all. A context opened in that window can run against a struct optee where - optee->call_queue.mutex is not initialized by optee_cq_init() - optee->supp mutex and completions is not initialized by optee_supp_init() - optee->rpmb_dev_mutex is not initialized yet, - the message argument cache is not initialized by optee_shm_arg_cache_init() - optee->ctx is still NULL Any open session or invoke during this window takes uninitialized mutexes and dereferences a NULL pointer. Fix it by moving both tee_device_register() calls down to the point where all of struct optee is set up. Fixes: 4fb0a5eb364d ("tee: add OP-TEE driver") Cc: stable@vger.kernel.org Signed-off-by: Shao-Fu Chen <shf.chen@mediatek.com> [JW: adding fixes and cc] Signed-off-by: Jens Wiklander <jens.wiklander@oss.qualcomm.com>
Diffstat (limited to 'tools/lib/python/kdoc/python_version.py')
0 files changed, 0 insertions, 0 deletions