【发布时间】:2017-10-04 17:55:06
【问题描述】:
我有一个 32 位用户空间软件和一个 64 位内核。 US 部分通过 netlink 和 ioctls 与内核部分通信。我在将指针从 64 位转换为 32 位并在 netlink 中转换回 64 位时遇到问题。
我只需要保持指针大小和相关转换相同的假设是否正确?还有更多吗?我可以使用内核或 OSS 源代码中的任何内容作为示例吗?
在您建议之前 - 不,我无法使用 64 位工具链重新编译 US 部分,其中涉及二进制文件。
【问题讨论】:
-
内核不能信任用户空间提供的指针无论如何,所以它必须使用一些(检查过的)映射。
标签: linux-kernel arm 64-bit