Skip to contentSkip to conversation

arm64: fixes for -rc6

GIT PULL Will Deacon 3 participants 4 messages Apr 7, 2017 – Apr 12, 2017

lore
Share & tools
lore
#0 lore raw

Hi Linus,

Please pull these two arm64 fixes for -rc6. We've got a regression fix for the signal raised when userspace makes an unsupported unaligned access and a revert of the contiguous (hugepte) support for hugetlb, which has once again been found to be broken. One day, maybe, we'll get it right.

Cheers,

Will

--->8

The following changes since commit a71c9a1c779f2499fb2afc0553e543f18aff6edf:

Linux 4.11-rc5 (2017-04-02 17:23:54 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-fixes

for you to fetch changes up to 6ae979ab39a368c18ceb0424bf824d172d6ab56f:

Revert "Revert "arm64: hugetlb: partial revert of 66b3923a1a0f"" (2017-04-07 12:27:29 +0100)

----------------------------------------------------------------
arm64 fixes:

- Restore previous SIGBUS behaviour for unhandled unaligned user accesses

- Revert broken support for the contiguous bit in hugetlb (again...)

----------------------------------------------------------------
Victor Kamensky (1):
arm64: mm: unaligned access by user-land should be received as SIGBUS

Will Deacon (1):
Revert "Revert "arm64: hugetlb: partial revert of 66b3923a1a0f""

 arch/arm64/mm/fault.c       | 42 ++++++++++++++++++++++++------------------
 arch/arm64/mm/hugetlbpage.c | 14 --------------
 2 files changed, 24 insertions(+), 32 deletions(-)
#1 lore raw
Quoted 4 lines · Will Deacon

Please pull these two arm64 fixes for -rc6. We've got a regression fix for the signal raised when userspace makes an unsupported unaligned access and a revert of the contiguous (hugepte) support for hugetlb, which has once again been found to be broken. One day, maybe, we'll get it right.

<snip>

Quoted 1 line

- Revert broken support for the contiguous bit in hugetlb (again...)

Quick aside: is this being worked on for 4.12? If not, should we ping Linaro and look to get some focus on this? It's right to disable this, but also painful to those wanting to work on various NFV use cases.

Jon.

Signature · 1 line
Computer Architect | Sent from my Fedora powered laptop
#2 lore raw

Hi Jon,

Quoted 7 lines · Jon Masters
Quoted 4 lines · Will Deacon

Please pull these two arm64 fixes for -rc6. We've got a regression fix for the signal raised when userspace makes an unsupported unaligned access and a revert of the contiguous (hugepte) support for hugetlb, which has once again been found to be broken. One day, maybe, we'll get it right.

Quoted 7 lines

<snip>

Quoted 1 line

- Revert broken support for the contiguous bit in hugetlb (again...)

Quick aside: is this being worked on for 4.12? If not, should we ping Linaro and look to get some focus on this? It's right to disable this, but also painful to those wanting to work on various NFV use cases.

I think Punit and Steve (CC'd) are working on this, but the issues run beyond the lack of break-before-make. The core GUP code, for example, doesn't even support hugeptes. There are also dormant issues with hugeptes and swap/migration entries, which would hit if somebody flipped CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION. Hell, even the pte_huge macro is bogus if you're using contiguous ptes (granted, it's seldom used, but if the above are fixed maybe it will be).

Will

#3 lore raw
Quoted 18 lines · Will Deacon

Hi Jon,

Quoted 7 lines · Jon Masters
Quoted 4 lines · Will Deacon

Please pull these two arm64 fixes for -rc6. We've got a regression fix for the signal raised when userspace makes an unsupported unaligned access and a revert of the contiguous (hugepte) support for hugetlb, which has once again been found to be broken. One day, maybe, we'll get it right.

Quoted 7 lines

<snip>

Quoted 1 line

- Revert broken support for the contiguous bit in hugetlb (again...)

Quick aside: is this being worked on for 4.12? If not, should we ping Linaro and look to get some focus on this? It's right to disable this, but also painful to those wanting to work on various NFV use cases.

Quoted 7 lines

I think Punit and Steve (CC'd) are working on this, but the issues run beyond the lack of break-before-make. The core GUP code, for example, doesn't even support hugeptes. There are also dormant issues with hugeptes and swap/migration entries, which would hit if somebody flipped CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION. Hell, even the pte_huge macro is bogus if you're using contiguous ptes (granted, it's seldom used, but if the above are fixed maybe it will be).

Steve has a fix for the break-before-make[0].

I've posted some fixes for contiguous hugepages support in preparation for enabling memory failure handling[1] but as the changes touch multiple architectures, it may take some time to merge.

I'll take a look at the GUP code next but no promises on a timeframe yet.

Thanks,
Punit

[0]
http://lists.infradead.org/pipermail/linux-arm-kernel/2017-March/497027.html
[1] https://lwn.net/Articles/718974/
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.