Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

executor: kMaxArgs > 10 behaves weirdly #4482

Open
israelsucks opened this issue Feb 2, 2024 · 0 comments
Open

executor: kMaxArgs > 10 behaves weirdly #4482

israelsucks opened this issue Feb 2, 2024 · 0 comments

Comments

@israelsucks
Copy link

israelsucks commented Feb 2, 2024

Describe the bug
To fuzz an interface defined as a pseudo syscall which expect 11 arguments, I've increased the related maxArgs fields in both executor.cc and prog/types.go. However, for some unknown reason, the 11th argument becomes a pointer to the syscall name ("syz_my_target_iface").

To Reproduce
Define a bogus pseudo syscall with 11 arguments. Then do the following in it:

	char buf[100];
	memcpy(buf, (int*)arg11, 100);
	printf("11th argument: 0x%lx points to: %s\n", arg11, buf);

Then call it e.g ./syz-execprog -debug -threaded=0 mytest

Expected behavior
kMaxArgs of executor.cc and maxArgs of prog/types.go should have been enough to alter the max args support.

Regards

@israelsucks israelsucks added the bug label Feb 2, 2024
@dvyukov dvyukov added enhancement and removed bug labels Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants