Re: [PATCH] Don't explode on swsusp failure to find swap

From: Benjamin Herrenschmidt (benh_at_kernel.crashing.org)
Date: 06/01/05

  • Next message: Roman Zippel: "Re: [patch 1/1] kconfig: trivial cleanup"
    To: Pavel Machek <pavel@ucw.cz>
    Date:	Wed, 01 Jun 2005 09:50:03 +1000
    
    

    On Wed, 2005-06-01 at 00:45 +1000, Benjamin Herrenschmidt wrote:
    > On Tue, 2005-05-31 at 12:36 +0200, Pavel Machek wrote:
    > > Hi!
    > >
    > > > If we specify a swap device for swsusp using resume= kernel argument and
    > > > that device doesn't exist in the swap list, we end up calling
    > > > swsusp_free() before we have allocated pagedir_save. That causes us to
    > > > explode when trying to free it.
    > > >
    > > > Pavel, does that look right ?
    > >
    > > It looks like a workaround. We should not call swsusp_free in case
    > > device does not exists. Quick look did not reveal where the bug comes
    > > from, can you try to trace it?
    > > Pavel
    >
    > Well, the bug comes from arch code calling swsusp_save() which fails,
    > then we call swsusp_free()

    More specifically, arch suspend calls swsusp_save().

    It fails and returns the error to the arch asm code, which itself
    returns it to it's caller swsusp_suspend(), which does that:

             if ((error = swsusp_arch_suspend()))
                    swsusp_free();

    Ben.

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


  • Next message: Roman Zippel: "Re: [patch 1/1] kconfig: trivial cleanup"

    Relevant Pages