Messages in this thread | | | Date | Sun, 23 Apr 2023 10:33:29 +0800 | Subject | Re: [PATCH] Input: xpad - fix GPF in xpad_probe | From | Dongliang Mu <> |
| |
On 2023/4/23 03:48, Dan Carpenter wrote: > The warnings from this are quite promising. > > When you're writing a check, you start with a simple idea and then try > it and then filter out the common false positives. > > The first 10 warnings are from loops like: > > p = NULL; > > for (i = 0; i < limit; i++) { > if (i == 0) > p = non_null(); > else > *p = something(); > } > > Smatch doesn't handle loops correctly. (I know how to fix this but I've > never gotten around to it because it would make Smatch slow)... > > So instead of that maybe I would do a hack to silence this type of > warning. Not sure what... > > drivers/usb/gadget/udc/amd5536udc_pci.c:61 udc_pci_remove() warn: pointer dereferenced without being set '&udc->gadget' > This one is interesting. Seems like a real bug. > > drivers/mtd/ubi/block.c:391 ubiblock_create() warn: pointer dereferenced without being set 'dev->gd' > > This one too. So maybe we could make this a separate warning where > NULL dereferences happen on error paths. Or maybe when they happen in > printks. > > So there are ways to take this first draft and massage it and get > fewer false positives, by filtering false positives or taking things > which work and creating new checks instead.
Hi Dan,
thanks for your efforts. After finishing the current task list, we can first ask senior students to check this result quickly and then assign highly-to-be True Positive to students.
BTW, do you have any plans to improve the code readability, directory orgranization, documentation etc. of Smatch? It's hard even for senior students to start with.
> Anyway, results attached. > > regards, > dan carpenter >
| |