mbox series

[GIT,PULL] arm64 fixes for -rc3

Message ID 20200221160126.GB19330@willie-the-truck (mailing list archive)
State Mainlined
Commit 63f01d852c75366fb4d15ce217d12c48b69a4bcc
Headers show
Series [GIT,PULL] arm64 fixes for -rc3 | expand

Pull-request

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

Message

Will Deacon Feb. 21, 2020, 4:01 p.m. UTC
Hi Linus,

Please pull these arm64 fixes for -rc3.

It's all straightforward apart from the changes to mmap()/mremap() in
relation to their handling of address arguments from userspace with
non-zero tag bits in the upper byte. The change to brk() is necessary
to fix a nasty user-visible regression in malloc(), but we tightened up
mmap() and mremap() at the same time because they also allow the user to
create virtual aliases by accident. It's much less likely than brk() to
matter in practice, but enforcing the principle of "don't permit the
creation of mappings using tagged addresses" leads to a straightforward
ABI without having to worry about the "but what if a crazy program did
foo?" aspect of things.

That said, this is core code and I know you'd prefer to limit the change
to brk(), so the patch is sitting on top of the branch in case you prefer
not to include it. If you decide to tweak it manually, please can you
update the docs at the same time?

Cheers,

Will

--->8

The following changes since commit d91771848f0ae2eec250a9345926a1a3558fa943:

  arm64: time: Replace <linux/clk-provider.h> by <linux/of_clk.h> (2020-02-12 17:26:38 +0000)

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

  mm: Avoid creating virtual address aliases in brk()/mmap()/mremap() (2020-02-20 10:03:14 +0000)

----------------------------------------------------------------
arm64 fixes for -rc3

- Fix regression in malloc() caused by ignored address tags in brk()

- Add missing brackets around argument to untagged_addr() macro

- Fix clang build when using binutils assembler

- Fix silly typo in virtual memory map documentation

----------------------------------------------------------------
Catalin Marinas (1):
      mm: Avoid creating virtual address aliases in brk()/mmap()/mremap()

Scott Branden (1):
      docs: arm64: fix trivial spelling enought to enough in memory.rst

Vincenzo Frascino (1):
      arm64: lse: Fix LSE atomics with LLVM

Will Deacon (1):
      arm64: memory: Add missing brackets to untagged_addr() macro

 Documentation/arm64/memory.rst             |  2 +-
 Documentation/arm64/tagged-address-abi.rst | 11 +++++++++--
 arch/arm64/include/asm/lse.h               |  2 +-
 arch/arm64/include/asm/memory.h            |  2 +-
 mm/mmap.c                                  |  4 ----
 mm/mremap.c                                |  1 -
 6 files changed, 12 insertions(+), 10 deletions(-)

Comments

Linus Torvalds Feb. 22, 2020, 12:07 a.m. UTC | #1
On Fri, Feb 21, 2020 at 8:01 AM Will Deacon <will@kernel.org> wrote:
>
> That said, this is core code and I know you'd prefer to limit the change
> to brk(), so the patch is sitting on top of the branch in case you prefer
> not to include it. If you decide to tweak it manually, please can you
> update the docs at the same time?

I've taken it as-is, since I don't think any of the solutions were wrong.

The mremap() case looks odd, with the _old_ address untagged, but the
new one not. I see the logic, but because it looks so odd I think it
might be worth a comment.

Not a big deal, and more of a "if you get around to it later" note.

            Linus
pr-tracker-bot@kernel.org Feb. 22, 2020, 12:15 a.m. UTC | #2
The pull request you sent on Fri, 21 Feb 2020 16:01:26 +0000:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/63f01d852c75366fb4d15ce217d12c48b69a4bcc

Thank you!