展开数组linux内核模块

Moh*_*mal 4 c linux-kernel

我有一个阵列

char* temp;
temp=kmalloc(3,GFP_KERNEL);
Run Code Online (Sandbox Code Playgroud)

我需要在每次调用此函数时展开此数组注意:Realloc不能在linux内核中使用我不知道它是否存在

Bur*_*rad 6

滚动你自己的realloc但要注意realloc是一个设计不佳的函数接口.只需使用kmalloc分配一个新缓冲区并将旧数据memcpy到新缓冲区中; 如果它不能扩展缓冲区,那基本上就是realloc的所有功能.

  • 我不会继续做3字节的kmallocs和memcpy.只需在像1K这样的较大块中使用kmalloc,那么你只需要偶尔进行一次realloc (2认同)