[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20151202144556.c21211967d835f5607a909bb@linux-foundation.org>
Date: Wed, 2 Dec 2015 14:45:56 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Seth Jennings <sjennings@...iantweb.net>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrew Banman <abanman@....com>, Russ Anderson <rja@....com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] drivers: memory: prohibit offlining of memory
blocks with missing sections
On Wed, 2 Dec 2015 09:07:01 -0600 Seth Jennings <sjennings@...iantweb.net> wrote:
> bdee237c and 982792c7 introduced large block sizes for x86.
> This made it possible to have multiple sections per memory
> block where previously, there was a only every one section
> per block.
>
> Since blocks consist of contiguous ranges of section, there
> can be holes in the blocks where sections are not present.
> If one attempts to offline such a block, a crash occurs since
> the code is not designed to deal with this.
>
> This patch is a quick fix to gaurd against the crash by
> not allowing blocks with non-present sections to be offlined.
>
> ...
>
> --- a/drivers/base/memory.c
> +++ b/drivers/base/memory.c
> @@ -303,6 +303,10 @@ static int memory_subsys_offline(struct device *dev)
> if (mem->state == MEM_OFFLINE)
> return 0;
>
> + /* Can't offline block with non-present sections */
> + if (mem->section_count != sections_per_block)
> + return -EINVAL;
> +
> return memory_block_change_state(mem, MEM_OFFLINE, MEM_ONLINE);
> }
[3/3] fixes a kernel crash so I've tagged it for -stable and shall move
it ahead of [1/2] and [2/2], which are merely cleanups.
This assumes that [3/3] is independent of the other two patches. I'll
eat my hat if it isn't.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists