Message ID | 1454026152-5644-1-git-send-email-wuninsu@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 01/29/2016 10:12 AM, Insu Yun wrote: > > On Thu, Jan 28, 2016 at 7:08 PM, Ilia Mirkin <imirkin@alum.mit.edu > <mailto:imirkin@alum.mit.edu>> wrote: > > On Thu, Jan 28, 2016 at 7:09 PM, Insu Yun <wuninsu@gmail.com > <mailto:wuninsu@gmail.com>> wrote: > > drm_property_create_range can be failed in memory pressure. > > So, it needs to be handled. > > > > Signed-off-by: Insu Yun <wuninsu@gmail.com <mailto:wuninsu@gmail.com>> > > --- > > drivers/gpu/drm/nouveau/nouveau_display.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c > > index 24be27d..26b4902 100644 > > --- a/drivers/gpu/drm/nouveau/nouveau_display.c > > +++ b/drivers/gpu/drm/nouveau/nouveau_display.c > > @@ -443,6 +443,12 @@ nouveau_display_create_properties(struct drm_device *dev) > > /* -100..+100 */ > > disp->color_vibrance_property = > > drm_property_create_range(dev, 0, "color vibrance", 0, 200); > > + > > + if (!disp->underscan_hborder_property || > > + !disp->underscan_vborder_property || > > + !disp->vibrant_hue_property || > > + !disp->color_vibrance_property) > > + return; > > Aren't we at the end of the function anyways? > > > Sorry. it is not perfect patch > I found this by my static analyzer. > I have limited knowledge about this driver. > I don't want to mass up your driver. > What I want to do is to tell you there is a bug. > I think we need to return error to caller. I'm not so sure we do. We check for valid pointers for these when they're actually used, so no OOPS will occur. Worst case, the driver still loads correctly with some missing properties. Ben. > > > > > } > > > > int > > -- > > 1.9.1 > > > > > > > -- > Regards > Insu Yun
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index 24be27d..26b4902 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -443,6 +443,12 @@ nouveau_display_create_properties(struct drm_device *dev) /* -100..+100 */ disp->color_vibrance_property = drm_property_create_range(dev, 0, "color vibrance", 0, 200); + + if (!disp->underscan_hborder_property || + !disp->underscan_vborder_property || + !disp->vibrant_hue_property || + !disp->color_vibrance_property) + return; } int
drm_property_create_range can be failed in memory pressure. So, it needs to be handled. Signed-off-by: Insu Yun <wuninsu@gmail.com> --- drivers/gpu/drm/nouveau/nouveau_display.c | 6 ++++++ 1 file changed, 6 insertions(+)