Re: [linux-pm] [PATCH 3.0-rc3] PM: free memory bitmaps if opening /dev/snapshot fails

From: Rafael J. Wysocki
Date: Sat Jun 18 2011 - 16:43:58 EST


On Friday, June 17, 2011, Michal Kubecek wrote:
> From: Michal Kubecek <mkubecek@xxxxxxx>
>
> When opening /dev/snapshot device, snapshot_open() creates memory
> bitmaps which are freed in snapshot_release(). But if any of the
> callbacks called by pm_notifier_call_chain() returns NOTIFY_BAD, open()
> fails, snapshot_release() is never called and bitmaps are not freed.
> Next attempt to open /dev/snapshot then triggers BUG_ON() check in
> create_basic_memory_bitmaps(). This happens e.g. when vmwatchdog module
> is active on s390x.
>
> Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx>

Thanks, I'm going to push your patch for 3.0 + stable.

Rafael


> ---
>
> diff --git a/kernel/power/user.c b/kernel/power/user.c
> index 7d02d33..42ddbc6 100644
> --- a/kernel/power/user.c
> +++ b/kernel/power/user.c
> @@ -113,8 +113,10 @@ static int snapshot_open(struct inode *inode, struct file *filp)
> if (error)
> pm_notifier_call_chain(PM_POST_RESTORE);
> }
> - if (error)
> + if (error) {
> + free_basic_memory_bitmaps();
> atomic_inc(&snapshot_device_available);
> + }
> data->frozen = 0;
> data->ready = 0;
> data->platform_support = 0;
> _______________________________________________
> linux-pm mailing list
> linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linux-foundation.org/mailman/listinfo/linux-pm
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/