On Mon, 3 Aug 2015, Krzysztof Kozlowski wrote: > During unbinding the driver was dereferencing a pointer to memory > already freed by power_supply_unregister(). > > Driver was freeing its internal description of battery through pointers > stored in power_supply structure. However, because the core owns the > power supply instance, after calling power_supply_unregister() this > memory is freed and the driver cannot access these members. > > Fix this by storing the pointer to internal description of battery in a > local variable before calling power_supply_unregister(), so the pointer > remains valid. > > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> > Reported-by: H.J. Lu <hjl.tools@xxxxxxxxx> > Fixes: 297d716f6260 ("power_supply: Change ownership from driver to core") > Cc: <stable@xxxxxxxxxxxxxxx> Applied to for-4.2/upstream-fixes-devm-fixed, and thanks again Dmitry for catching my mistake. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html