Message ID | 20230711090030.692551-1-suhui@nfschina.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/virtio: remove some redundant code | expand |
> virtio_gpu_get_vbuf always be successful, > so remove the error judgment. How do you think about to improve this change description any more? Regards, Markus
On Tue, Jul 11, 2023 at 05:00:31PM +0800, Su Hui wrote: > virtio_gpu_get_vbuf always be successful, > so remove the error judgment. > No, just ignore the static checker false positive in this case. The intent of the code is clear that if it did have an error it should return an error pointer. regards, dan carpenter
On 2023/7/11 19:13, Dan Carpenter wrote: > On Tue, Jul 11, 2023 at 05:00:31PM +0800, Su Hui wrote: >> virtio_gpu_get_vbuf always be successful, >> so remove the error judgment. >> > No, just ignore the static checker false positive in this case. The > intent of the code is clear that if it did have an error it should > return an error pointer. Hi, Dan, 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. Su Hui > > regards, > dan carpenter >
On 2023/7/11 17:33, Markus Elfring wrote: >> virtio_gpu_get_vbuf always be successful, >> so remove the error judgment. > How do you think about to improve this change description any more? Hi, virtio_gpu_get_vbuf use "__GFP_NOFAIL" flag to allocate memory, this make sure it won't fail, and virtio_gpu_get_vbuf never return error code, so remove the error judgment. How about this one? Thanks for your advice. Su Hui > Regards, > Markus
On Wed, Jul 12, 2023 at 09:18:42AM +0800, Su Hui wrote: > On 2023/7/11 19:13, Dan Carpenter wrote: > > On Tue, Jul 11, 2023 at 05:00:31PM +0800, Su Hui wrote: > > > virtio_gpu_get_vbuf always be successful, > > > so remove the error judgment. > > > > > No, just ignore the static checker false positive in this case. The > > intent of the code is clear that if it did have an error it should > > return an error pointer. > > Hi, Dan, > > 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. We all see this and agree. 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
On 2023/7/12 14:36, Dan Carpenter wrote: > On Wed, Jul 12, 2023 at 09:18:42AM +0800, Su Hui wrote: >> On 2023/7/11 19:13, Dan Carpenter wrote: >>> On Tue, Jul 11, 2023 at 05:00:31PM +0800, Su Hui wrote: >>>> virtio_gpu_get_vbuf always be successful, >>>> so remove the error judgment. >>>> >>> No, just ignore the static checker false positive in this case. The >>> intent of the code is clear that if it did have an error it should >>> return an error pointer. >> Hi, Dan, >> >> 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. > We all see this and agree. > > 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. Got it , I shouldn't remove it because the check may be useful in the future. Thanks for your explanation. Su Hui > > regards, > dan carpenter >
diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c b/drivers/gpu/drm/virtio/virtgpu_vq.c index b1a00c0c25a7..7a2680b3f1a7 100644 --- a/drivers/gpu/drm/virtio/virtgpu_vq.c +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c @@ -129,10 +129,6 @@ virtio_gpu_alloc_cursor(struct virtio_gpu_device *vgdev, vbuf = virtio_gpu_get_vbuf (vgdev, sizeof(struct virtio_gpu_update_cursor), 0, NULL, NULL); - if (IS_ERR(vbuf)) { - *vbuffer_p = NULL; - return ERR_CAST(vbuf); - } *vbuffer_p = vbuf; return (struct virtio_gpu_update_cursor *)vbuf->buf; }
virtio_gpu_get_vbuf always be successful, so remove the error judgment. Signed-off-by: Su Hui <suhui@nfschina.com> --- drivers/gpu/drm/virtio/virtgpu_vq.c | 4 ---- 1 file changed, 4 deletions(-)