kernel的内存分配接口

下面这三个分配的都是kernel内存,不是用户空间的内存
char *kstrdup(const char *s, gfp_t gfp);
功能: 分配一块内存空间(kmalloc + GFP_KERNEL),然后将s指向的字符串拷贝到这块内存,返回该内存的首地址

void *kmemdup(const void *src, size_t len, gfp_t gfp);
功能:分配一块长度为len的内存(kmalloc+GFP_KERNEL),然后将src到(src + len)内存的内容copy到新分配的内存,返回该内存的首地址

void *memdup_user(const void __user *src, size_t len);
功能: 分配一块长度为len的内存(kmalloc + GFP_KERNEL),然后将用户空间的地址src到(src+len)范围的内存使用copy_from_user的方式拷贝到新分配的内存中,返回新分配的内存的首地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值