gpt4 book ai didi

c - 在驱动程序中安全处理用户空间指针?

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:01 24 4
gpt4 key购买 nike

我正在编写一个 ioctl 驱动程序,它需要向用户空间读写数据。对于可视化,这是驱动程序调用中的典型参数:

typedef struct {
unsigned int* src;
unsigned int* dst;
unsigned int buffer_size;
unsigned int key[8];
} aes_data

我不太了解虚拟内存的工作原理,但我认为这里存在风险。用户空间进程可以提供一个指向它不拥有的内存的指针。提供的缓冲区大小也可能导致溢出到其他一些进程的内存中。我如何在我的驱动程序中负责任地处理这些用户空间指针?

最佳答案

How do I handle these userspace pointers responsibly in my driver?

你不这样做,只是因为没有办法检查指针是否指向任何有效的东西。由 ioctl() 的用户提供适当的参数。如果他们做不到这一点,那他们就倒霉了。

关于c - 在驱动程序中安全处理用户空间指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47305941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com