linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [Fwd: mmotm: swap overflow warning patch: mangled description and missing review tag]
@ 2013-07-21 16:30 Raymond Jennings
  0 siblings, 0 replies; only message in thread
From: Raymond Jennings @ 2013-07-21 16:30 UTC (permalink / raw)
  To: linux-mm

[-- Attachment #1: Type: text/plain, Size: 51 bytes --]

Screwed up and used the wrong domain for linux-mm.

[-- Attachment #2: Forwarded message - mmotm: swap overflow warning patch: mangled description and missing review tag --]
[-- Type: message/rfc822, Size: 3344 bytes --]

From: Raymond Jennings <shentino@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Valdis Kletnieks <valdis.kletnieks@vt.edu>, Rik van Riel <riel@redhat.com>,  Hugh Dickins <hughd@google.com>, linux-kernel@vger.kernel.org, linux-mm@vger.kernel.org
Subject: mmotm: swap overflow warning patch: mangled description and missing review tag
Date: Sun, 21 Jul 2013 09:29:27 -0700
Message-ID: <1374424167.14112.4.camel@localhost>

I checked the mmotm queue and it seems that my mid-air corrections got
the patch mangled when it was saved to your mail queue, and in addition
to a missing correction of a typo in my testing log, Rik van Riel's
Reviewed-By tag vanished

http://www.ozlabs.org/~akpm/mmotm/broken-out/swap-warn-when-a-swap-area-overflows-the-maximum-size.patch

If you could fix my test transcript and properly credit Rik for
reviewing my patch before you ship it to linus I'd appreciate it.

The correctly formatted patch and description with corrections and tags
follows:
----
From: Raymond Jennings <shentino@gmail.com>
Subject: swap: warn when a swap area overflows the maximum size

It is possible to swapon a swap area that is too big for the pte width
to handle.

Presently this failure happens silently.

Instead, emit a diagnostic to warn the user.

Testing results, root prompt commands and kernel log messages:

# lvresize /dev/system/swap --size 16G
# mkswap /dev/system/swap
# swapon /dev/system/swap

Jul  7 04:27:22 warfang kernel: Adding 16777212k swap
on /dev/mapper/system-swap.  Priority:-1 extents:1 across:16777212k 

# lvresize /dev/system/swap --size 64G
# mkswap /dev/system/swap
# swapon /dev/system/swap

Jul  7 04:27:22 warfang kernel: Truncating oversized swap area, only
using 33554432k out of 67108860k
Jul  7 04:27:22 warfang kernel: Adding 33554428k swap
on /dev/mapper/system-swap.  Priority:-1 extents:1 across:33554428k 

Signed-off-by: Raymond Jennings <shentino@gmail.com>
Acked-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 mm/swapfile.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff -puN
mm/swapfile.c~swap-warn-when-a-swap-area-overflows-the-maximum-size
mm/swapfile.c
---
a/mm/swapfile.c~swap-warn-when-a-swap-area-overflows-the-maximum-size
+++ a/mm/swapfile.c
@@ -1953,6 +1953,12 @@ static unsigned long read_swap_header(st
 	 */
 	maxpages = swp_offset(pte_to_swp_entry(
 			swp_entry_to_pte(swp_entry(0, ~0UL)))) + 1;
+	if (swap_header->info.last_page > maxpages) {
+		printk(KERN_WARNING
+			"Truncating oversized swap area, only using %luk out of %luk\n",
+			maxpages << (PAGE_SHIFT - 10),
+			swap_header->info.last_page << (PAGE_SHIFT - 10));
+	}
 	if (maxpages > swap_header->info.last_page) {
 		maxpages = swap_header->info.last_page + 1;
 		/* p->max is an unsigned int: don't overflow it */



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-07-21 16:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-21 16:30 [Fwd: mmotm: swap overflow warning patch: mangled description and missing review tag] Raymond Jennings

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).