On Sat, 2009-04-25 at 05:28 -0600, Paul Walmsley wrote: > During regulator registration, any error after device_register() will > cause a double-free on the struct regulator_dev 'rdev'. The bug is in > drivers/regulator/core.c:regulator_register(): > > ... > scrub: > device_unregister(&rdev->dev); > clean: > kfree(rdev); <--- > rdev = ERR_PTR(ret); > goto out; > ... > > device_unregister() calls regulator_dev_release() which frees rdev. The > subsequent kfree corrupts memory and causes some OMAP3 systems to oops on > boot in regulator_get(). > > Applies against 2.6.30-rc3. > > Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> > --- > drivers/regulator/core.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > Applied. Thanks Liam -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html