Message ID | 20231003075512.2081141-1-milkfafa@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: nuvoton: npcm-video: Fix sleeping in atomic context | expand |
On 10/3/23 09:55, Marvin Lin wrote: > Fix sleeping in atomic context warnings reported by the Smatch static > analysis tool. Use GFP_ATOMIC instead of GFP_KERNEL in atomic context. > > Fixes: 70721089985c ("media: nuvoton: Add driver for NPCM video capture and encoding engine") > Reported-by: Dan Carpenter <dan.carpenter@linaro.org> > Signed-off-by: Marvin Lin <milkfafa@gmail.com> > --- > drivers/media/platform/nuvoton/npcm-video.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/platform/nuvoton/npcm-video.c b/drivers/media/platform/nuvoton/npcm-video.c > index ac8d73b794d3..5d160978f7b3 100644 > --- a/drivers/media/platform/nuvoton/npcm-video.c > +++ b/drivers/media/platform/nuvoton/npcm-video.c > @@ -412,7 +412,7 @@ static unsigned int npcm_video_add_rect(struct npcm_video *video, > struct rect_list *list = NULL; > struct v4l2_rect *r; > > - list = kzalloc(sizeof(*list), GFP_KERNEL); > + list = kzalloc(sizeof(*list), GFP_ATOMIC); > if (!list) > return 0; > > @@ -467,7 +467,7 @@ static struct rect_list *npcm_video_new_rect(struct npcm_video *video, > struct rect_list *list = NULL; > struct v4l2_rect *r; > > - list = kzalloc(sizeof(*list), GFP_KERNEL); > + list = kzalloc(sizeof(*list), GFP_ATOMIC); > if (!list) > return NULL; > I'm not really sure this is the right approach. Looking closer at the code I notice that npcm_video_irq is a threaded interrupt handler, so wouldn't it be easier to change the video->lock spinlock to a mutex? Regards, Hans
Hi Hans, Thanks for the review. > > - list = kzalloc(sizeof(*list), GFP_KERNEL); > > + list = kzalloc(sizeof(*list), GFP_ATOMIC); > > if (!list) > > return NULL; > > > > I'm not really sure this is the right approach. > > Looking closer at the code I notice that npcm_video_irq is a threaded > interrupt handler, so wouldn't it be easier to change the video->lock > spinlock to a mutex? > Agree it's better to use mutex. Will send v2 for this. Regards, Marvin
diff --git a/drivers/media/platform/nuvoton/npcm-video.c b/drivers/media/platform/nuvoton/npcm-video.c index ac8d73b794d3..5d160978f7b3 100644 --- a/drivers/media/platform/nuvoton/npcm-video.c +++ b/drivers/media/platform/nuvoton/npcm-video.c @@ -412,7 +412,7 @@ static unsigned int npcm_video_add_rect(struct npcm_video *video, struct rect_list *list = NULL; struct v4l2_rect *r; - list = kzalloc(sizeof(*list), GFP_KERNEL); + list = kzalloc(sizeof(*list), GFP_ATOMIC); if (!list) return 0; @@ -467,7 +467,7 @@ static struct rect_list *npcm_video_new_rect(struct npcm_video *video, struct rect_list *list = NULL; struct v4l2_rect *r; - list = kzalloc(sizeof(*list), GFP_KERNEL); + list = kzalloc(sizeof(*list), GFP_ATOMIC); if (!list) return NULL;
Fix sleeping in atomic context warnings reported by the Smatch static analysis tool. Use GFP_ATOMIC instead of GFP_KERNEL in atomic context. Fixes: 70721089985c ("media: nuvoton: Add driver for NPCM video capture and encoding engine") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Marvin Lin <milkfafa@gmail.com> --- drivers/media/platform/nuvoton/npcm-video.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)