我正在尝试在Linux内核中实现一个新的系统调用?
是否有作为参数传递给系统调用的最大数据大小?
例如,一个参数是一个char指针,但我注意到如果我为该char数组分配大(几十KB),内核就会崩溃。
如果有限制,有什么方法可以解决?共享内存(但如何)?
答案 0 :(得分:0)
您不应将超过6个参数传递给系统调用。
如果你想要你可以给一个指针并从内核访问指向区域,但要注意使用正确的函数来执行此操作,如uaccess.h中的那个(copy_to / from_user ...)或使用映射或异步IO。