[roll] Roll fuchsia [roll] Roll llvm-project/libc [libc] Fix for SYS_mmap2 offset computation (#197413)

The comment implies that the offset argument is a multiple of page size,
but

[this](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/csky/kernel/syscall.c#L25)
[is](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/parisc/kernel/sys_parisc.c#L193)
[not](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/microblaze/kernel/sys_microblaze.c#L50)
[the](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/riscv/kernel/sys_riscv.c#L48)
[case](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/arm64/kernel/sys32.c#L47)
[for](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/sparc/kernel/sys_sparc_32.c#L113)
[almost](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/m68k/kernel/sys_m68k.c#L44)
[every](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/powerpc/kernel/syscalls.c#L56)
[architecture](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/sh/kernel/sys_sh.c#L46)
[supported](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/powerpc/kernel/syscalls.c#L56)
[by](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/mips/kernel/syscall.c#L76)
[linux](https://github.com/torvalds/linux/blob/1d5dcaa3bd65f2e8c9baa14a393d3a2dc5db7524/arch/arm/kernel/entry-common.S#L410).
Most architectures just use fixed 4k units instead.

x86 code does not reference the pages sizes anywhere, but x86 always has
a 4k (base) page size. The same is probably true for Nios II, though
information is a bit scarce on that one. I believe openrisc uses fixed
8k units, but this should be confirmed when/if we're porting to that
architecture.

Itanium had configurable page sizes and did not use fixed mmap2 scaling,
but itanium support was removed from the kernel two years ago. Hexagon
and ARC may be the only currently supported architectures that do the
same, but this is also best confirmed during porting.

This patch is a no-op for any architecture we currently support, but it
makes it clear that this behavior is deliberate, and not something to be
fixed. This code was introduced way back in
[2019](https://reviews.llvm.org/D71634) and while the review contained a
discussion on page sizes, it revolved around the right way to obtain it,
rather than the question of whether it is actually necessary.

GitOrigin-RevId: 146533e064441415210092c23832064ac4b38e80
Original-Original-Revision: 2114b98ef6a7d3a0958332318c199a7436c576f9

Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1612229
Original-Original-Revision: d6bf0c3619f35a3bbd3d8a464bd6768e8a2769ed
GitOrigin-RevId: e7147ea6c46d13a419c1bd003bdbb9a328655ef9
Change-Id: I201de0a61b8a246b9c9fd026485e7b3ac5fd0315
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1612388
Cr-Commit-Position: refs/heads/main@{#192670}
1 file changed
tree: 3ec51bb09e7ff9810025d3dc650e927adf845cf3
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.