【发布时间】:2009-11-11 17:11:33
【问题描述】:
有什么方法可以计算函数的大小吗?我有一个指向函数的指针,我必须使用 memcpy 复制整个函数。我必须分配一些空间并知道 memcpy 的第三个参数 - 大小。我知道sizeof(function) 不起作用。你有什么建议吗?
【问题讨论】:
-
你想复制某个函数后面的汇编指令吗?请问为什么?
-
没有。 // 必需 - 至少 15 个字符
-
为什么 %$#@ 要将用户空间函数传递给内核?你没有从内核空间调用它的安全方法。
-
我同意 ehemient:这是一个非常糟糕的主意。听起来您希望用户空间客户端能够将任意代码块传递到内核空间驱动程序。这是一个巨大的安全漏洞。也许您应该解释一下您的客户将尝试使用他们的功能做什么——我猜您只需要为您的内核模块构建一个更全面的 API。
-
你在准备反汇编吗?你不是在准备利用,是吗? )
标签: c memory linux-kernel function-pointers memcpy