Системный вызов получает значения мусора - PullRequest
0 голосов
/ 06 февраля 2019

Я пытался реализовать системный вызов, который принимает int и long значение в качестве параметров и возвращает длинное значение.В своем пользовательском пространстве я называю это, используя

int x = 3; long y = 4;
syscall(335, x, y);

335, являющийся новым системным вызовом, который я реализую

Кроме того, в моем системном вызове у меня есть следующее:

asmlinkage long sys_first(int x, long y)
{
printk("%d %ld\n", x, y);
....
}

Напечатанные значения в dmesg показывают значения мусора вместо «3 4», что и должно быть.

Я сделал strace, а в syscall_0x14f он передает правильные значения.

Где этопрограмма идет не так?

...