[GIT,PULL] arm64: fixes for -rc6

Submitted by Will Deacon on April 7, 2017, 4:02 p.m.

Details

Message ID 20170407160239.GS19342@arm.com
State New
Headers show

Pull-request

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

Commit Message

Will Deacon April 7, 2017, 4:02 p.m.
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(-)

Comments

Jon Masters April 11, 2017, 7:12 p.m.
On 04/07/2017 12:02 PM, Will Deacon wrote:

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

> - 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.
Will Deacon April 12, 2017, 9:14 a.m.
Hi Jon,

On Tue, Apr 11, 2017 at 03:12:57PM -0400, Jon Masters wrote:
> On 04/07/2017 12:02 PM, Will Deacon wrote:
> 
> > 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>
> 
> > - 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
Punit Agrawal April 12, 2017, 10:18 a.m.
On 12/04/17 10:14, Will Deacon wrote:
> Hi Jon,
>
> On Tue, Apr 11, 2017 at 03:12:57PM -0400, Jon Masters wrote:
>> On 04/07/2017 12:02 PM, Will Deacon wrote:
>>
>>> 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>
>>
>>> - 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).

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.