google / kmsan

KernelMemorySanitizer, a detector of uses of uninitialized memory in the Linux kernel
Other
406 stars 63 forks source link

Update __usbnet_{read|write}_cmd #79

Closed thazhemadam closed 4 years ago

thazhemadam commented 4 years ago

Often, the issue is __usbnet_{read|write}_cmd doesn't read/write fully, and unitialized data may be passed along in some cases. However, Greg recently created a new API (which Oliver updated a little) that allows only complete reads/writes to address this; and I believe this might just fix a bunch of issues.

google-cla[bot] commented 4 years ago

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

:memo: Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

thazhemadam commented 4 years ago

@googlebot I signed it!

google-cla[bot] commented 4 years ago

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

xairy commented 4 years ago

This doesn't look like anything KMSAN-specific. Should it rather be sent as a normal kernel patch?

thazhemadam commented 4 years ago

It is a normal patch, but it hasn't made its way to the upstream kernel yet. These patches contain new APIs that can fix a number of uninit bugs.

Since syzbot doesn't allow testing of KMSAN bugs on forks of the KMSAN kernel, I had asked @ramosian-glider if there was any way he could try to apply these patches so I could test the bug, and he asked me to open a PR.

dvyukov commented 4 years ago

Since syzbot doesn't allow testing of KMSAN bugs on forks of the KMSAN kernel

syzbot allows testing with a custom patch on top of the tree. So you can submit all this in a patch testing request for any syzbot bug. It will be applied on top of KMSAN tree and you will get the same effect.

thazhemadam commented 4 years ago

syzbot allows testing with a custom patch on top of the tree. So you can submit all this in a patch testing request for any syzbot bug. It will be applied on top of KMSAN tree and you will get the same effect.

I just thought since there seem to a few bugs that could be fixed with these patches, it might be generally helpful to have them (mainly the first 3 which are about the new API) applied to the KMSAN tree. No issues, I'll do that, instead.

dvyukov commented 4 years ago

I just thought since there seem to a few bugs that could be fixed with these patches, it might be generally helpful to have them

If they fix some very frequent crashers, then I guess we could apply them as a short-term fix. I will leave this to @ramosian-glider then, if he wants to maintain additional patches in the tree.