lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1363114106-30251-1-git-send-email-gerald.schaefer@de.ibm.com>
Date:	Tue, 12 Mar 2013 19:48:25 +0100
From:	Gerald Schaefer <gerald.schaefer@...ibm.com>
To:	Andrew Morton <akpm@...ux-foundation.org>,
	Mel Gorman <mgorman@...e.de>, Hugh Dickins <hughd@...gle.com>,
	Hillf Danton <dhillf@...il.com>, Michal Hocko <mhocko@...e.cz>,
	Tony Luck <tony.luck@...el.com>,
	Fenghua Yu <fenghua.yu@...el.com>,
	Ralf Baechle <ralf@...ux-mips.org>,
	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Paul Mackerras <paulus@...ba.org>,
	Paul Mundt <lethal@...ux-sh.org>,
	"David S. Miller" <davem@...emloft.net>,
	Chris Metcalf <cmetcalf@...era.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...hat.com>,
	"H. Peter Anvin" <hpa@...or.com>
Cc:	linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
	linux-mm@...ck.org, Martin Schwidefsky <schwidefsky@...ibm.com>,
	Heiko Carstens <heiko.carstens@...ibm.com>,
	Gerald Schaefer <gerald.schaefer@...ibm.com>
Subject: [PATCH 0/1] mm/hugetlb: add more arch-defined huge_pte_xxx functions

Using pte_t and pte_xxx functions in mm/hugetlbfs.c for "huge ptes" has
always been confusing and error-prone on architectures that have a
different layout for the pte/pmd/... level entries. That was the reason
for the individual arch header files in <arch>/include/asm/hugetlb.h
containing implementations for various huge_pte_xxx versions of the
original pte_xxx functions, if needed.

Commit abf09bed3c "s390/mm: implement software dirty bits" introduced
another difference in the pte layout vs. the pmd layout on s390,
thoroughly breaking the s390 support for hugetlbfs. This requires
replacing some more pte_xxx functions in mm/hugetlbfs.c with a
huge_pte_xxx version.

This patch introduces those huge_pte_xxx functions and their
implementation on all architectures supporting hugetlbfs. This change
will be a no-op for all architectures other than s390.

I am also thinking about a more complete clean-up patch, replacing all
remaining pte_xxx invocations in mm/hugetlbfs.c and maybe also
introducing a separate type like hpte_t to make this issue more
transparent and prevent future problems. But that may also require some
functional changes, and it probably won't be ready in time for Kernel
3.9. So for now, this patch only fixes the impact of the software dirty
bit changes on s390, hoping that it can be included in Kernel 3.9,
since that will be the first release including the sw dirty bits.

Gerald Schaefer (1):
  mm/hugetlb: add more arch-defined huge_pte_xxx functions

 arch/ia64/include/asm/hugetlb.h    | 36 ++++++++++++++++++++++++
 arch/mips/include/asm/hugetlb.h    | 36 ++++++++++++++++++++++++
 arch/powerpc/include/asm/hugetlb.h | 36 ++++++++++++++++++++++++
 arch/s390/include/asm/hugetlb.h    | 56 +++++++++++++++++++++++++++++++++++++-
 arch/s390/include/asm/pgtable.h    | 20 --------------
 arch/s390/mm/hugetlbpage.c         |  2 +-
 arch/sh/include/asm/hugetlb.h      | 36 ++++++++++++++++++++++++
 arch/sparc/include/asm/hugetlb.h   | 36 ++++++++++++++++++++++++
 arch/tile/include/asm/hugetlb.h    | 36 ++++++++++++++++++++++++
 arch/x86/include/asm/hugetlb.h     | 36 ++++++++++++++++++++++++
 mm/hugetlb.c                       | 23 ++++++++--------
 11 files changed, 320 insertions(+), 33 deletions(-)

-- 
1.7.12.4

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ