2014-10-08 26 views
0

我试图在Linux内核中实现一个新的系统调用?系统调用参数的最大大小

作为参数传递给系统调用的数据是否有最大尺寸?

例如,一个参数是一个char指针,但我注意到如果我将大(数十KB)分配给该char数组,内核崩溃。

如果有限制,有什么办法?共享内存(但如何)?

+2

你真正的问题是“我做错了什么?”,这是没有代码就无法回答的。 – 2014-10-08 13:38:22

+0

如果您具体了解您正在探索的系统调用,那么最好。 – askb 2014-10-08 18:37:04

回答

0

您不应该将超过6个参数传递给系统调用。

如果你想要的话,你可以给一个指针并从内核访问指向的区域,但要注意使用正确的函数来做到这一点,就像uaccess.h中的一样(copy_to/from_user ...)或者使用映射或异步IO。