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

Fault Injection connect question #6

Open
Wmingyu opened this issue Nov 22, 2024 · 17 comments
Open

Fault Injection connect question #6

Wmingyu opened this issue Nov 22, 2024 · 17 comments

Comments

@Wmingyu
Copy link

Wmingyu commented Nov 22, 2024

when i perform fault Injection test,i failed to connection qemu and reply Boot with module {device} failed!.How can i to solve?

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Nov 22, 2024

Could you please show me how to reproduce the problem or a screenshot of it to help me locate it?

@Wmingyu
Copy link
Author

Wmingyu commented Nov 22, 2024 via email

@wmy-yyy
Copy link

wmy-yyy commented Nov 22, 2024

In the fault injection part, I did not generate a success message, and all were crashes
1
2
3

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 3, 2024

As acknowledged in the paper, PrIntFuzz’s solution does not guarantee 100% success rate, there will be some cases that fail. You can test it on all drivers and then observe the examples in the success folder.

@Wmingyu
Copy link
Author

Wmingyu commented Dec 4, 2024

Thank you. We only have 11 successful parts of PCI, most of which are failures, enter a failed emulation device to see that its driver is in use, what is the cause of this situation?
1

2

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 4, 2024

Sorry, I cannot reproduce the problem, everything is fine in my environment. Could you please provide the completed log from scratch so that I can locate the problem? BTW, "in use" means that the device emulation was successful, but it was misclassified.

@Wmingyu
Copy link
Author

Wmingyu commented Dec 5, 2024

We have some problems with the fault injection part. When judging the success or not, "Kernel driver in use" cannot be output, but it can be viewed after entering the virtual device. Could you please explain what caused it?

image

image

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 5, 2024

This is weird. It looks like the lspci command reported an error in the first image but not in the second, can you confirm the reason for the error, please?

@Wmingyu
Copy link
Author

Wmingyu commented Dec 6, 2024

Thank you very much for your reply, but so far I have not found the reason for the error. Let me try again and see if I can solve this problem.

@Wmingyu
Copy link
Author

Wmingyu commented Dec 7, 2024

I'm sorry to bother you again, but I still have some questions to ask you.
I can't get the system call list for the interrupt section, and I can't find the 'new_fake_{device_name}.txt' and 'new_qemu_{device_name}.txt' files. How can I get the information about the interrupt section?

image

image

image

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 9, 2024

Thanks for reporting. This version only included the device emulation code, excluding the interrupt system call descriptions, I'll update the code as soon as you needed.

@Wmingyu
Copy link
Author

Wmingyu commented Dec 9, 2024

Thank you. Now when I go to execute the "fuzz.py -s -f" script, output the message "SYZFAIL: Open print_fuzz failed" in the 'syzkaller.out' file. And should I check the final results in the "syzkaller_workdir/crashes report"?

image

image

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 9, 2024

No, you should check why the "printfuzz" module does not work. You can check whether the module is compiled to the kernel and the permission of the module.

@Wmingyu
Copy link
Author

Wmingyu commented Dec 10, 2024

I'm sorry to bother you again. I re-did step 7 -"Build the disk image for fuzzing", and I checked for the "print_fuzz.o" file in the "build/linux/linux_fuzz" directory. Meanwhile, I did not find an operation in the python script to add "printfuzz" to the kernel. What should I do to make sure that the "printfuzz" module is included in the kernel? Or how do I check if “printfuzz” is in the kernel?

image

@Wmingyu
Copy link
Author

Wmingyu commented Dec 12, 2024

I'm sorry to bother you again. Could you give us some examples of interruptions, even just one? I would really appreciate it, because it would be very helpful to our work

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 12, 2024

It looks like the module is compiled in, it could be something else, you need more detailed logs to locate the issue. Please double-check the cause of the error, an error reported by syzkaller is insufficient.

@ZheyuMa
Copy link
Collaborator

ZheyuMa commented Dec 12, 2024

What kind of examples of interruptions do you want? The syzkaller description or something else. BTW, if there are any other questions please start a new issue, it looks clearer, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants