gpt4 book ai didi

c - copy_from_user 是否修改用户指针?

转载 作者:太空狗 更新时间:2023-10-29 12:05:57 24 4
gpt4 key购买 nike

在 uaccess.h 中声明的 copy_from_user 函数是否修改了 (void __user *)from 指针?该指针在函数声明中未声明为 const,仅声明其指向的内容。

我问的原因是我想使用 copy_from_user 两次,第二次 copy_from_user 从第一个完成的地方复制。

我正计划做这样的事情,它能保证有效吗?

//buf is a user pointer that is already defined
copy_from_user(my_first_alloced_region, buf, some_size);
//do stuff
copy_from_user(my_second_alloced_region, buf + some_size, some_other_size);

提前致谢。

最佳答案

被调用函数不能修改指针本身,因为您只是将指针值作为参数传递给函数。如果参数被声明为指向 const 类型的指针,则被调用者不能修改指向的内容(至少在没有强制转换会丢弃 const-指针的特性)。在调用者自身中修改指针值的唯一方法是向被调用者传递一个指向指针的指针类型。

关于c - copy_from_user 是否修改用户指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469782/

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