我正在尝试vvar.h
在我的新 VDSO 函数附近声明一个新变量并定义它。这样我就可以在我的 vdso 函数中使用这个变量。
我有一个关于 VVar 的问题。根据 中的描述arch/x86/include/asm/vvar.h
,当我在这里声明一个新变量为DECLARE_VVAR(0, int, count)
时,我应该使用DEFINE_VVAR(type, name)
在其他地方定义这个变量。
问题是在我在其他地方定义了这个变量之后,比如DEFINE_VVAR(int, count)
,当我试图为这个变量分配一个整数值时count
,它失败了。这是因为在内核版本 5.2#define DEFINE_VVAR(type, name)
更改#define DEFINE_VVAR(type, name) type name
为#define DEFINE_VVAR(type, name) type name[CS_BASES]
. 现在这个变量count
是一个整数数组而不是整数类型。因此我不能给它分配一个整数值。你知道如何解决吗?
VVAR.h:https ://elixir.bootlin.com/linux/v5.12/source/arch/x86/include/asm/vvar.h#L43