Message ID | 1413035186-11771-3-git-send-email-vladimir_zapolskiy@mentor.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, Oct 11, 2014 at 04:46:26PM +0300, Vladimir Zapolskiy wrote: > If PWM device is requested by means of legacy API pwm_request(), its > resources are not freed on module unbind, which may cause an oops on > access, e.g. by reading /sys/kernel/debug/pwm. > > Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> > Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> > --- > drivers/video/backlight/pwm_bl.c | 4 ++++ > 1 file changed, 4 insertions(+) <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read Documentation/stable_kernel_rules.txt for how to do this properly. </formletter> -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello Greg, Thierry, On 11.10.2014 17:21, Greg KH wrote: > On Sat, Oct 11, 2014 at 04:46:26PM +0300, Vladimir Zapolskiy wrote: >> If PWM device is requested by means of legacy API pwm_request(), its >> resources are not freed on module unbind, which may cause an oops on >> access, e.g. by reading /sys/kernel/debug/pwm. >> >> Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> >> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> >> --- >> drivers/video/backlight/pwm_bl.c | 4 ++++ >> 1 file changed, 4 insertions(+) > > <formletter> > > This is not the correct way to submit patches for inclusion in the > stable kernel tree. Please read Documentation/stable_kernel_rules.txt > for how to do this properly. > > </formletter> > -- could you please review the change? I believe it would be nice to have oops fix in v3.18. -- With best wishes, Vladimir -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Nov 07, 2014 at 12:10:25AM +0200, Vladimir Zapolskiy wrote: > Hello Greg, Thierry, > > On 11.10.2014 17:21, Greg KH wrote: > > On Sat, Oct 11, 2014 at 04:46:26PM +0300, Vladimir Zapolskiy wrote: > >> If PWM device is requested by means of legacy API pwm_request(), its > >> resources are not freed on module unbind, which may cause an oops on > >> access, e.g. by reading /sys/kernel/debug/pwm. > >> > >> Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> > >> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> > >> --- > >> drivers/video/backlight/pwm_bl.c | 4 ++++ > >> 1 file changed, 4 insertions(+) > > > > <formletter> > > > > This is not the correct way to submit patches for inclusion in the > > stable kernel tree. Please read Documentation/stable_kernel_rules.txt > > for how to do this properly. > > > > </formletter> > > -- > > could you please review the change? I believe it would be nice to have > oops fix in v3.18. drivers/video/ is not under my control, so there's nothing I can do here, sorry... -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 06 Nov 2014, Greg KH wrote: > On Fri, Nov 07, 2014 at 12:10:25AM +0200, Vladimir Zapolskiy wrote: > > Hello Greg, Thierry, > > > > On 11.10.2014 17:21, Greg KH wrote: > > > On Sat, Oct 11, 2014 at 04:46:26PM +0300, Vladimir Zapolskiy wrote: > > >> If PWM device is requested by means of legacy API pwm_request(), its > > >> resources are not freed on module unbind, which may cause an oops on > > >> access, e.g. by reading /sys/kernel/debug/pwm. > > >> > > >> Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> > > >> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> > > >> --- > > >> drivers/video/backlight/pwm_bl.c | 4 ++++ > > >> 1 file changed, 4 insertions(+) > > > > > > <formletter> > > > > > > This is not the correct way to submit patches for inclusion in the > > > stable kernel tree. Please read Documentation/stable_kernel_rules.txt > > > for how to do this properly. > > > > > > </formletter> > > > -- > > > > could you please review the change? I believe it would be nice to have > > oops fix in v3.18. > > drivers/video/ is not under my control, so there's nothing I can do > here, sorry... I can apply this with Thierry's Ack.
On Sat, Oct 11, 2014 at 04:46:26PM +0300, Vladimir Zapolskiy wrote: > If PWM device is requested by means of legacy API pwm_request(), its > resources are not freed on module unbind, which may cause an oops on > access, e.g. by reading /sys/kernel/debug/pwm. > > Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> > Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> > --- > drivers/video/backlight/pwm_bl.c | 4 ++++ > 1 file changed, 4 insertions(+) Hopefully this can soon go away when all users of the legacy API have been converted. Until then: Acked-by: Thierry Reding <thierry.reding@gmail.com>
On Sat, 11 Oct 2014, Vladimir Zapolskiy wrote: > If PWM device is requested by means of legacy API pwm_request(), its > resources are not freed on module unbind, which may cause an oops on > access, e.g. by reading /sys/kernel/debug/pwm. > > Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> > Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> > --- > drivers/video/backlight/pwm_bl.c | 4 ++++ > 1 file changed, 4 insertions(+) Applied with Thierry's Ack. > diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c > index dd7aaf7..40770dd 100644 > --- a/drivers/video/backlight/pwm_bl.c > +++ b/drivers/video/backlight/pwm_bl.c > @@ -34,6 +34,7 @@ struct pwm_bl_data { > struct regulator *power_supply; > struct gpio_desc *enable_gpio; > unsigned int scale; > + bool legacy; > int (*notify)(struct device *, > int brightness); > void (*notify_after)(struct device *, > @@ -274,6 +275,7 @@ static int pwm_backlight_probe(struct platform_device *pdev) > pb->pwm = devm_pwm_get(&pdev->dev, NULL); > if (IS_ERR(pb->pwm) && !pdev->dev.of_node) { > dev_err(&pdev->dev, "unable to request PWM, trying legacy API\n"); > + pb->legacy = true; > pb->pwm = pwm_request(data->pwm_id, "pwm-backlight"); > } > > @@ -339,6 +341,8 @@ static int pwm_backlight_remove(struct platform_device *pdev) > > if (pb->exit) > pb->exit(&pdev->dev); > + if (pb->legacy) > + pwm_free(pb->pwm); > > return 0; > }
diff --git a/drivers/video/backlight/pwm_bl.c b/drivers/video/backlight/pwm_bl.c index dd7aaf7..40770dd 100644 --- a/drivers/video/backlight/pwm_bl.c +++ b/drivers/video/backlight/pwm_bl.c @@ -34,6 +34,7 @@ struct pwm_bl_data { struct regulator *power_supply; struct gpio_desc *enable_gpio; unsigned int scale; + bool legacy; int (*notify)(struct device *, int brightness); void (*notify_after)(struct device *, @@ -274,6 +275,7 @@ static int pwm_backlight_probe(struct platform_device *pdev) pb->pwm = devm_pwm_get(&pdev->dev, NULL); if (IS_ERR(pb->pwm) && !pdev->dev.of_node) { dev_err(&pdev->dev, "unable to request PWM, trying legacy API\n"); + pb->legacy = true; pb->pwm = pwm_request(data->pwm_id, "pwm-backlight"); } @@ -339,6 +341,8 @@ static int pwm_backlight_remove(struct platform_device *pdev) if (pb->exit) pb->exit(&pdev->dev); + if (pb->legacy) + pwm_free(pb->pwm); return 0; }
If PWM device is requested by means of legacy API pwm_request(), its resources are not freed on module unbind, which may cause an oops on access, e.g. by reading /sys/kernel/debug/pwm. Reported-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com> Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> --- drivers/video/backlight/pwm_bl.c | 4 ++++ 1 file changed, 4 insertions(+)