Hello,
I have a question concerning the DSPLink. To be more precise, this is about accessing (dereferencing) a user space pointer from within the DSPLink driver (Linux kernel space). Let's look on the CMD_MSGQ_LOCATE. The MSGQ_Queue *msgqQueue is such a pointer. Created and assigned in the user space, the pointer is subsequently passed to the driver and is finally dereferenced in ZCPYMQT_locate. On the way, DRV_Ioctl copies the command's arguments with the copy_from_user. But no conversion is done to the pointer itself - it is just copied byte-by-byte. How is it done in DSPLink, that the pointer (address) from the user space is still valid and can be dereferenced in the kernel space? Shouldn't it be marshalled with an extra copy_from_user/get_user, etc.? The platform is OMAP L138.
Thank you in advance for any info on it,
Piotr.