On Wed, Jul 12, 2023 at 09:18:42AM +0800, Su Hui wrote:Got it , I shouldn't remove it because the check may be useful in the future.
On 2023/7/11 19:13, Dan Carpenter wrote:We all see this and agree.
On Tue, Jul 11, 2023 at 05:00:31PM +0800, Su Hui wrote:Hi, Dan,
virtio_gpu_get_vbuf always be successful,No, just ignore the static checker false positive in this case. The
so remove the error judgment.
intent of the code is clear that if it did have an error it should
return an error pointer.
Function "virtio_gpu_get_vbuf" call "kmem_cache_zalloc (vgdev->vbufs,
GFP_KERNEL | __GFP_NOFAIL)" to
allocate memory. Adding the " __GFP_NOFAIL”flag make sure it won't fail. And
"virtio_gpu_get_vbuf" never
return an error code, so I think this is not a false positive.
However the check for if (IS_ERR()) is written deliberately because we
might change the code to return error pointers in the future. Static
checkers are looking for code that does something unintentional but in
this case the code was written that way deliberately.
regards,
dan carpenter