diff mbox

[v2] drm/omap: Don't dereference list head when the connectors list is empty

Message ID 1387886281-32483-1-git-send-email-laurent.pinchart@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart Dec. 24, 2013, 11:58 a.m. UTC
The connectors list iterator returns the list head when the list is
empty. Fix it by returning NULL in that case.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/gpu/drm/omapdrm/omap_fb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Changes since v1:

- Use list_first_entry_or_null

Comments

Laurent Pinchart March 28, 2014, 9:56 p.m. UTC | #1
Hi Rob,

On Tuesday 24 December 2013 12:58:01 Laurent Pinchart wrote:
> The connectors list iterator returns the list head when the list is
> empty. Fix it by returning NULL in that case.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Could you please take this patch in your tree ?

> ---
>  drivers/gpu/drm/omapdrm/omap_fb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> Changes since v1:
> 
> - Use list_first_entry_or_null
> 
> diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c
> b/drivers/gpu/drm/omapdrm/omap_fb.c index f2b8f06..2c3acb3 100644
> --- a/drivers/gpu/drm/omapdrm/omap_fb.c
> +++ b/drivers/gpu/drm/omapdrm/omap_fb.c
> @@ -302,7 +302,8 @@ struct drm_connector
> *omap_framebuffer_get_next_connector( struct drm_connector *connector =
> from;
> 
>  	if (!from)
> -		return list_first_entry(connector_list, typeof(*from), head);
> +		return list_first_entry_or_null(connector_list, typeof(*from),
> +						head);
> 
>  	list_for_each_entry_from(connector, connector_list, head) {
>  		if (connector != from) {
Rob Clark March 28, 2014, 11:37 p.m. UTC | #2
On Fri, Mar 28, 2014 at 5:56 PM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> Hi Rob,
>
> On Tuesday 24 December 2013 12:58:01 Laurent Pinchart wrote:
>> The connectors list iterator returns the list head when the list is
>> empty. Fix it by returning NULL in that case.
>>
>> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> Could you please take this patch in your tree ?

Tomi has been sending pull-req's for omapdrm, so it should probably go
via his tree.

(Tomi, I'll be sending a pull-req in a couple days, so if you don't
have anything queued up for 3.15 it isn't a problem for me to toss
this in, fwiw)

In either case, the patch is:

Reviewed-by: Rob Clark <robdclark@gmail.com>

>
>> ---
>>  drivers/gpu/drm/omapdrm/omap_fb.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> Changes since v1:
>>
>> - Use list_first_entry_or_null
>>
>> diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c
>> b/drivers/gpu/drm/omapdrm/omap_fb.c index f2b8f06..2c3acb3 100644
>> --- a/drivers/gpu/drm/omapdrm/omap_fb.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_fb.c
>> @@ -302,7 +302,8 @@ struct drm_connector
>> *omap_framebuffer_get_next_connector( struct drm_connector *connector =
>> from;
>>
>>       if (!from)
>> -             return list_first_entry(connector_list, typeof(*from), head);
>> +             return list_first_entry_or_null(connector_list, typeof(*from),
>> +                                             head);
>>
>>       list_for_each_entry_from(connector, connector_list, head) {
>>               if (connector != from) {
>
> --
> Regards,
>
> Laurent Pinchart
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c b/drivers/gpu/drm/omapdrm/omap_fb.c
index f2b8f06..2c3acb3 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -302,7 +302,8 @@  struct drm_connector *omap_framebuffer_get_next_connector(
 	struct drm_connector *connector = from;
 
 	if (!from)
-		return list_first_entry(connector_list, typeof(*from), head);
+		return list_first_entry_or_null(connector_list, typeof(*from),
+						head);
 
 	list_for_each_entry_from(connector, connector_list, head) {
 		if (connector != from) {