Hello, On Tue, Feb 28, 2023 at 11:43:27AM -0800, Munehisa Kamata wrote: > On Tue, 2023-02-28 10:15:58 +0000, Uwe Kleine-König wrote: > > > > This is just to ensure that .usage_power is properly initialized and > > doesn't contain random stack data. The other members of struct pwm_state > > should get a value assigned in a successful call to .get_state(). So in > > the absence of bugs in driver implementations, this is only a safe-guard > > and no fix. > > > > Reported-by: Munehisa Kamata <kamatam@xxxxxxxxxx> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > > --- > > drivers/pwm/core.c | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > Hello, > > > > On Sat, Feb 25, 2023 at 05:37:21PM -0800, Munehisa Kamata wrote: > > > Zero-initialize the on-stack structure to avoid unexpected behaviors. Some > > > drivers may not set or initialize all the values in pwm_state through their > > > .get_state() callback and therefore some random values may remain there and > > > be set into pwm->state eventually. > > > > > > This actually caused regression on ODROID-N2+ as reported in [1]; kernel > > > fails to boot due to random panic or hang-up. > > > > > > [1] https://forum.odroid.com/viewtopic.php?f=177&t=46360 > > > > > > Fixes: c73a3107624d ("pwm: Handle .get_state() failures") > > > Cc: stable@xxxxxxxxxxxxxxx # 6.2 > > > Signed-off-by: Munehisa Kamata <kamatam@xxxxxxxxxx> > > > > My patch is essentially the same as Munehisa's, just written a bit > > differently (to maybe make it easier for the compiler to optimize it?) > > and with an explaining comment. The actual motivation is different so > > the commit log is considerably different, too. > > > > I was unsure how to honor Munehisa's effort, I went with a > > "Reported-by". Please tell me if you want this to be different. > > I'm okay with that, thank you. > > Perhaps, you should also add Cc tag for the stable tree? I did that in my > patch and we're actually CCing to the stable list, but I'm not sure if it > can pick up your patch without the tag. This should be fixed in linux-6.2.y. IMHO the problem you reported should be fixed by adapting .get_state() in the meson driver. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |
Attachment:
signature.asc
Description: PGP signature