Message ID | 20240912-vkms-warnings-v1-1-59f3e13ea8e5@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vkms: Suppress context imbalance sparse warning | expand |
Hi Louis, > The functions `vkms_crtc_atomic_begin` and `vkms_crtc_atomic_flush` are > responsible for locking and unlocking a mutex, respectively. Add the > `__acquires` and `__releases` annotations to these functions to prevent > the associated sparse warning about context imbalance. > > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com> Thanks for fixing this warning. Tested it and I can confirm that these warnings are fixed now: drivers/gpu/drm/vkms/vkms_crtc.c:233:13: warning: context imbalance in 'vkms_crtc_atomic_begin' - wrong count at exit drivers/gpu/drm/vkms/vkms_crtc.c:262:39: warning: context imbalance in 'vkms_crtc_atomic_flush' - unexpected unlock Feel free to add: Reviewed-by: José Expósito <jose.exposito89@gmail.com> > --- > drivers/gpu/drm/vkms/vkms_crtc.c | 2 ++ > 1 file changed, 2 insertions(+) > > > --- > base-commit: d2194256049910d286cd6c308c2689df521d8842 > change-id: 20240912-vkms-warnings-e0e331bc5e6d > > Best regards, > > diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c > index 40b4d084e3ceef9e1e24b7338efdd9253afee8d6..2ad164b518fb93f5b6b86948116ff7ed97770b60 100644 > --- a/drivers/gpu/drm/vkms/vkms_crtc.c > +++ b/drivers/gpu/drm/vkms/vkms_crtc.c > @@ -232,6 +232,7 @@ static void vkms_crtc_atomic_disable(struct drm_crtc *crtc, > > static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, > struct drm_atomic_state *state) > + __acquires(&vkms_output->lock) > { > struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); > > @@ -243,6 +244,7 @@ static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, > > static void vkms_crtc_atomic_flush(struct drm_crtc *crtc, > struct drm_atomic_state *state) > + __releases(&vkms_output->lock) > { > struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); > >
Hi Louis, On 9/12/24 12:25, Louis Chauvet wrote: > The functions `vkms_crtc_atomic_begin` and `vkms_crtc_atomic_flush` are > responsible for locking and unlocking a mutex, respectively. Add the > `__acquires` and `__releases` annotations to these functions to prevent > the associated sparse warning about context imbalance. > > Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com> When I was applying this patch, I got the following warning: 137f51649b04 (HEAD -> drm-misc-next) drm/vkms: Suppress context imbalance sparse warning -:4: WARNING:EMAIL_SUBJECT: A patch subject line should describe the change not the tool that found it #4: Subject: [PATCH] drm/vkms: Suppress context imbalance sparse warning total: 0 errors, 1 warnings, 0 checks, 14 lines checked Therefore, before pushing the patch, I changed the commit title to "drm/vkms: Suppress context imbalance detected by sparse warning". Hope you don't mind. Applied to misc/kernel.git (drm-misc-next). Best Regards, - Maíra > --- > drivers/gpu/drm/vkms/vkms_crtc.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c > index 40b4d084e3ceef9e1e24b7338efdd9253afee8d6..2ad164b518fb93f5b6b86948116ff7ed97770b60 100644 > --- a/drivers/gpu/drm/vkms/vkms_crtc.c > +++ b/drivers/gpu/drm/vkms/vkms_crtc.c > @@ -232,6 +232,7 @@ static void vkms_crtc_atomic_disable(struct drm_crtc *crtc, > > static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, > struct drm_atomic_state *state) > + __acquires(&vkms_output->lock) > { > struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); > > @@ -243,6 +244,7 @@ static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, > > static void vkms_crtc_atomic_flush(struct drm_crtc *crtc, > struct drm_atomic_state *state) > + __releases(&vkms_output->lock) > { > struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); > > > --- > base-commit: d2194256049910d286cd6c308c2689df521d8842 > change-id: 20240912-vkms-warnings-e0e331bc5e6d > > Best regards,
diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c index 40b4d084e3ceef9e1e24b7338efdd9253afee8d6..2ad164b518fb93f5b6b86948116ff7ed97770b60 100644 --- a/drivers/gpu/drm/vkms/vkms_crtc.c +++ b/drivers/gpu/drm/vkms/vkms_crtc.c @@ -232,6 +232,7 @@ static void vkms_crtc_atomic_disable(struct drm_crtc *crtc, static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, struct drm_atomic_state *state) + __acquires(&vkms_output->lock) { struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc); @@ -243,6 +244,7 @@ static void vkms_crtc_atomic_begin(struct drm_crtc *crtc, static void vkms_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_atomic_state *state) + __releases(&vkms_output->lock) { struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc);
The functions `vkms_crtc_atomic_begin` and `vkms_crtc_atomic_flush` are responsible for locking and unlocking a mutex, respectively. Add the `__acquires` and `__releases` annotations to these functions to prevent the associated sparse warning about context imbalance. Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com> --- drivers/gpu/drm/vkms/vkms_crtc.c | 2 ++ 1 file changed, 2 insertions(+) --- base-commit: d2194256049910d286cd6c308c2689df521d8842 change-id: 20240912-vkms-warnings-e0e331bc5e6d Best regards,