Skip to content
Snippets Groups Projects
  1. Jul 04, 2024
    • Mostafa Saleh's avatar
      arm64/dts: gs201: Add AoC S2MPU · d913e04f
      Mostafa Saleh authored
      
      AoC is only controlled by TZ.
      
      However, SysMMU has an emulation feature that can be misused to read
      from arbitrary memory locations, and with SysMMU under the control of
      the kernel, we need to configure S2MPU to block such potentially
      malicious transactions.
      
      Add the AoC S2MPU with the new flag “deny-all” which would mainly
      unmap the S2MPU interface and configure it to deny all traffic.
      
      Bug: 342511931
      Change-Id: I38a1a2af556eaca83be3bd93db1b5dd400034255
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      d913e04f
    • Mostafa Saleh's avatar
      arm64/s2mpu: Add deny-all support · 0f1c59c0
      Mostafa Saleh authored
      
      Add "deny-all" propery for S2MPUs, this has the same purpose as other
      branches but implemented in a slightly different way.
      
      Mainly, we want to ensure that this device is not accessible from
      host and in deny-all state, at probe the device is set to deny state
      and then all PM calls are blocked so the hypervisor would never touch
      any of its MMIO
      But they are registered with the hypervisor so they are not accessible
      from host.
      
      Bug: 342511931
      Change-Id: Id8a38b38310ec950841074b288797041355a3ec7
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      0f1c59c0
  2. Jun 25, 2024
    • Woody Lin's avatar
      watchdog: s3c2410_wdt: Assign s3c_wdt[] until probe complete · d69b4928
      Woody Lin authored
      
      Assigns device data to `s3c_wdt[cluster_index]` only when probe function
      completes. Several functions of s3c2410_wdt use the existence of
      `s3c_wdt[*]` to decide whether the device data is ready to be accessed.
      This causes an invalid access issue as long as the probe function puts
      device data to `s3c_wdt[cluster_index]` before completely preparing the
      content. Fixes the issue by rearranging the assignment order.
      
      Bug: 342585125
      Change-Id: Idb4c3b71fb2e0518725c697db01e708aa0c7c86b
      Signed-off-by: default avatarWoody Lin <woodylin@google.com>
      (cherry picked from commit d7bd15571d51e658a081d98dfbcc17e3aa104585)
      d69b4928
  3. Jun 21, 2024
  4. Jun 14, 2024
    • Kalesh Singh's avatar
      ANDROID: 16K: Only check basename of linker context · 28a6e1ad
      Kalesh Singh authored
      
      Depending on the platform binary being executed, the linker
      (interpreter) requested can be one of:
      
          1) /system/bin/bootstrap/linker64
          2) /system/bin/linker64
          3) /apex/com.android.runtime/bin/linker64
      
      Relax the check to the basename (linker64), instead of the path.
      
      Bug: 330767927
      Bug: 335584973
      Bug: 347106837
      Change-Id: I4a1f95b7cecd126f85ad8cefd9ff10d272947f9e
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      (cherry picked from commit 38965378)
      28a6e1ad
  5. Jun 11, 2024
  6. Jun 06, 2024
  7. Jun 05, 2024
  8. Jun 04, 2024
  9. Jun 03, 2024
  10. May 29, 2024
  11. May 25, 2024
  12. May 24, 2024
  13. May 23, 2024
  14. May 21, 2024
  15. May 15, 2024
  16. May 14, 2024
  17. May 10, 2024
  18. May 09, 2024
    • Rick Yiu's avatar
      vh: sched: Add min_load_cpu as another default target · 42f37cd1
      Rick Yiu authored
      
      When all allowed cpus of a task are fully busy such that there is
      no cpu with spare capacity > 0 and all are group_overutilize, we
      will keep the last cpu as most_spare_cap_cpu. If there are no
      other candidates, it will use the most_spare_cap_cpu as default
      target. This may cause many tasks wake up on the same cpu.
      
      To solve it, we add min_load_cpu as another default target if there
      is no cpu with spare capacity > 0.
      
      Bug: 335875684
      Change-Id: I96d104ea6867cef9599b20e54c5c3e9d2b741d0e
      Signed-off-by: default avatarRick Yiu <rickyiu@google.com>
      42f37cd1
  19. May 03, 2024
    • Zheng Pan's avatar
      Set i2c pinctrl to recovery state before recovery · 15357f74
      Zheng Pan authored
      
      i2c recovery need to toggle gpio pins and set i2c pins to gpio.
      Pinctrl isn't aware of this change and cannot set back to default.
      Change state to recovery before making the change and set back to
      default after recovery.
      
      Print slave address when error happens.
      
      Bug: 326506937
      Test: Trigger i2c recovery and make sure i2c bus pinctrl is
            set back to default.
      
      Change-Id: I7e29db694da0e52edc9a058da733127b51857d07
      Signed-off-by: default avatarZheng Pan <zhengpan@google.com>
      (cherry picked from commit ec57fa228b92bd577003d4b682a8dde79b8300af)
      15357f74
  20. May 02, 2024
    • Kalesh Singh's avatar
      ANDROID: 16K: Fix show maps CFI failure · 4399b7da
      Kalesh Singh authored
      
      If the kernel is built CONFIG_CFI_CLANG=y, reading smaps
      may cause a panic. This is due to a failed CFI check; which
      is triggered becuase the signature of the function pointer for
      printing smaps padding VMAs does not match exactly with that
      for show_smap().
      
      Fix this by casting the function pointer to the expected type
      based on whether printing maps or smaps padding.
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: I65564a547dacbc4131f8557344c8c96e51f90cd5
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      4399b7da
    • Kalesh Singh's avatar
      ANDROID: 16K: Handle pad VMA splits and merges · 8a4d40f2
      Kalesh Singh authored
      
      In some cases a VMA with padding representation may be split, and
      therefore the padding flags must be updated accordingly.
      
      There are 3 cases to handle:
      
      Given:
          | DDDDPPPP |
      
      where:
          - D represents 1 page of data;
          - P represents 1 page of padding;
          - | represents the boundaries (start/end) of the VMA
      
      1) Split exactly at the padding boundary
      
          | DDDDPPPP | --> | DDDD | PPPP |
      
          - Remove padding flags from the first VMA.
          - The second VMA is all padding
      
      2) Split within the padding area
      
          | DDDDPPPP | --> | DDDDPP | PP |
      
          - Subtract the length of the second VMA from the first VMA's
            padding.
          - The second VMA is all padding, adjust its padding length (flags)
      
      3) Split within the data area
      
          | DDDDPPPP | --> | DD | DDPPPP |
      
          - Remove padding flags from the first VMA.
          - The second VMA is has the same padding as from before the split.
      
      To simplify the semantics merging of padding VMAs is not allowed.
      
      If a split produces a VMA that is entirely padding, show_[s]maps()
      only outputs the padding VMA entry (as the data entry is of length 0).
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: Ie2628ced5512e2c7f8af25fabae1f38730c8bb1a
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      8a4d40f2
    • Kalesh Singh's avatar
      ANDROID: 16K: madvise_vma_pad_pages: Remove filemap_fault check · fda5f612
      Kalesh Singh authored
      
      Some file systems like F2FS use a custom filemap_fault ops. Remove this
      check, as checking vm_file is sufficient.
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: Id6a584d934f06650c0a95afd1823669fc77ba2c2
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      fda5f612
    • Kalesh Singh's avatar
      ANDROID: 16K: Only madvise padding from dynamic linker context · 115d1ca5
      Kalesh Singh authored
      
      Only preform padding advise from the execution context on bionic's
      dynamic linker. This ensures that madvise() doesn't have unwanted
      side effects.
      
      Also rearrange the order of fail checks in madvise_vma_pad_pages()
      in order of ascending cost.
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: I3e05b8780c6eda78007f86b613f8c11dd18ac28f
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      115d1ca5
    • Kalesh Singh's avatar
      ANDROID: 16K: Separate padding from ELF LOAD segment mappings · 634ea3b4
      Kalesh Singh authored
      
      In has been found that some in-field apps depend on the output of
      /proc/*/maps to determine the address ranges of other operations.
      
      With the extension of LOAD segments VMAs to be contiguous in memory,
      the apps may perform operations on an area that is not backed by the
      underlying file, which results in a SIGBUS. Other apps have crashed
      with yet unindentified reasons.
      
      To avoid breaking in-field apps, maintain the output of /proc/*/[s]maps
      with PROT_NONE VMAs for the padding pages of LOAD segmetns instead of
      showing the segment extensions.
      
      NOTE: This does not allocate actual backing VMAs for the shown
            PROT_NONE mappings.
      
      This approach maintains 2 possible assumptions that userspace (apps)
      could be depending on:
         1) That LOAD segment mappings are "contiguous" (not speparated by
            unrelated mappings) in memory.
         2) That no virtual address space is available between mappings of
            consecutive LOAD segments for the same ELF.
      
      For example the output of /proc/*/[s]maps before and after this change
      is shown below. Segments maintain PROT_NONE gaps ("[page size compat]")
      for app compatiblity but these are not backed by actual slab VMA memory.
      
      Maps Before:
      
      7fb03604d000-7fb036051000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
      7fb036051000-7fb036055000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
      7fb036055000-7fb036059000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
      7fb036059000-7fb03605a000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so
      
      Maps After:
      
      7fc707390000-7fc707393000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
      7fc707393000-7fc707394000 ---p 00000000 00:00 0                          [page size compat]
      7fc707394000-7fc707398000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
      7fc707398000-7fc707399000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
      7fc707399000-7fc70739c000 ---p 00000000 00:00 0                          [page size compat]
      7fc70739c000-7fc70739d000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so
      
      Smaps Before:
      
      7fb03604d000-7fb036051000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                 16 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                  16 kB
      Pss:                   0 kB
      Pss_Dirty:             0 kB
      Shared_Clean:         16 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         0 kB
      Referenced:           16 kB
      Anonymous:             0 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd mr mw me
      7fb036051000-7fb036055000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                 16 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                  16 kB
      Pss:                   0 kB
      Pss_Dirty:             0 kB
      Shared_Clean:         16 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         0 kB
      Referenced:           16 kB
      Anonymous:             0 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd ex mr mw me
      7fb036055000-7fb036059000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                 16 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                   4 kB
      Pss:                   4 kB
      Pss_Dirty:             4 kB
      Shared_Clean:          0 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         4 kB
      Referenced:            4 kB
      Anonymous:             4 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd mr mw me ac
      7fb036059000-7fb03605a000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                  4 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                   4 kB
      Pss:                   4 kB
      Pss_Dirty:             4 kB
      Shared_Clean:          0 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         4 kB
      Referenced:            4 kB
      Anonymous:             4 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd wr mr mw me ac
      
      Smaps After:
      
      7fc707390000-7fc707393000 r--p 00000000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                 12 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                  12 kB
      Pss:                   0 kB
      Shared_Clean:         12 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         0 kB
      Referenced:           12 kB
      Anonymous:             0 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd mr mw me ??
      7fc707393000-7fc707394000 ---p 00000000 00:00 0                          [page size compat]
      Size:                  4 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                   0 kB
      Pss:                   0 kB
      Shared_Clean:          0 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         0 kB
      Referenced:            0 kB
      Anonymous:             0 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: mr mw me
      7fc707394000-7fc707398000 r-xp 00004000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                 16 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                  16 kB
      Pss:                   0 kB
      Shared_Clean:         16 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         0 kB
      Referenced:           16 kB
      Anonymous:             0 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd ex mr mw me
      7fc707398000-7fc707399000 r--p 00008000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                  4 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                   4 kB
      Pss:                   4 kB
      Shared_Clean:          0 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         4 kB
      Referenced:            4 kB
      Anonymous:             4 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd mr mw me ac ?? ??
      7fc707399000-7fc70739c000 ---p 00000000 00:00 0                          [page size compat]
      Size:                 12 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                   0 kB
      Pss:                   0 kB
      Shared_Clean:          0 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         0 kB
      Referenced:            0 kB
      Anonymous:             0 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: mr mw me ac
      7fc70739c000-7fc70739d000 rw-p 0000c000 fe:09 21935719                   /system/lib64/libnetd_client.so
      Size:                  4 kB
      KernelPageSize:        4 kB
      MMUPageSize:           4 kB
      Rss:                   4 kB
      Pss:                   4 kB
      Shared_Clean:          0 kB
      Shared_Dirty:          0 kB
      Private_Clean:         0 kB
      Private_Dirty:         4 kB
      Referenced:            4 kB
      Anonymous:             4 kB
      LazyFree:              0 kB
      AnonHugePages:         0 kB
      ShmemPmdMapped:        0 kB
      FilePmdMapped:         0 kB
      Shared_Hugetlb:        0 kB
      Private_Hugetlb:       0 kB
      Swap:                  0 kB
      SwapPss:               0 kB
      Locked:                0 kB
      THPeligible:    0
      VmFlags: rd wr mr mw me ac
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: I12bf2c106fafc74a500d79155b81dde5db42661e
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      634ea3b4
    • Kalesh Singh's avatar
      ANDROID: 16K: Exclude ELF padding for fault around range · 3cbf5a28
      Kalesh Singh authored
      
      Userspace apps often analyze memory consumption by the use of mm
      rss_stat counters -- via the kmem/rss_stat trace event or from
      /proc/<pid>/statm.
      
      rss_stat counters are only updated when the PTEs are updated. What this
      means is that pages can be present in the page cache from readahead but
      not visible to userspace (not attributed to the app) as there is no
      corresponding VMA (PTEs) for the respective page cache pages.
      
      A side effect of the loader now extending ELF LOAD segments to be
      contiguously mapped in the virtual address space, means that the VMA is
      extended to cover the padding pages.
      
      When filesystems, such as f2fs and ext4, that implement
      vm_ops->map_pages() attempt to perform a do_fault_around() the extent of
      the fault around is restricted by the area of the enclosing VMA. Since
      the loader extends LOAD segment VMAs to be contiguously mapped, the extent
      of the fault around is also increased. The result of which, is that the
      PTEs corresponding to the padding pages are updated and reflected in the
      rss_stat counters.
      
      It is not common that userspace application developers be aware of this
      nuance in the kernel's memory accounting. To avoid apparent regressions
      in memory usage to userspace, restrict the fault around range to only
      valid data pages (i.e. exclude the padding pages at the end of the VMA).
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: I2c7a39ec1b040be2b9fb47801f95042f5dbf869d
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      3cbf5a28
    • Kalesh Singh's avatar
      ANDROID: 16K: Use MADV_DONTNEED to save VMA padding pages. · 7699c552
      Kalesh Singh authored
      
      When performing LOAD segment extension, the dynamic linker knows what
      portion of the VMA is padding. In order for the kernel to implement
      mitigations that ensure app compatibility, the extent of the padding
      must be made available to the kernel.
      
      To achieve this, reuse MADV_DONTNEED on single VMAs to hint the padding
      range to the kernel. This information is then stored in vm_flag bits.
      This allows userspace (dynamic linker) to set the padding pages on the
      VMA without a need for new out-of-tree UAPI.
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: I3421de32ab38ad3cb0fbce73ecbd8f7314287cde
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      7699c552
    • Kalesh Singh's avatar
      ANDROID: 16K: Introduce ELF padding representation for VMAs · f2822b2e
      Kalesh Singh authored
      
      The dynamic linker may extend ELF LOAD segment mappings to be contiguous
      in memory when loading a 16kB compatible ELF on a 4kB page-size system.
      This is done to reduce the use of unreclaimable VMA slab memory for the
      otherwise necessary "gap" VMAs. The extended portion of the mapping
      (VMA) can be viewed as "padding", meaning that the mapping in that range
      corresponds to an area of the file that does not contain contents of the
      respective segments (maybe zero's depending on how the ELF is built).
      
      For some compatibility mitigations, the region of a VMA corresponding to
      these padding sections need to be known.
      
      In order to represent such regions without adding addtional overhead or
      breaking ABI, some upper bits of vm_flags are used.
      
      Add the VMA padding pages representation and the necessary APIs to
      manipulate it.
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: Ieb9fa98e30ec9b0bec62256624f14e3ed6062a75
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      f2822b2e
    • Kalesh Singh's avatar
      ANDROID: 16K: Introduce /sys/kernel/mm/pgsize_miration/enabled · a002ae8d
      Kalesh Singh authored
      
      Migrating from 4kB to 16kB page-size in Android requires first making
      the platform page-agnostic, which involves increasing Android-ELFs'
      max-page-size (p_align) from 4kB to 16kB.
      
      Increasing the ELF max-page-size was found to cause compatibility issues
      in apps that use obfuscation or depend on the ELF segments being mapped
      based on 4kB-alignment.
      
      Working around these compatibility issues involves both kernel and
      userspace (dynamic linker) changes.
      
      Introduce a knob for userspace (dynamic linker) to determine whether the
      kernel supports the mitigations needed for page-size migration compatibility.
      
      The knob also allows for userspace to turn on or off these mitigations
      by writing 1 or 0 to /sys/kernel/mm/pgsize_miration/enabled:
      
          echo 1 > /sys/kernel/mm//pgsize_miration/enabled  # Enable
          echo 0 > /sys/kernel/mm//pgsize_miration/enabled  # Disable
      
      Bug: 330117029
      Bug: 327600007
      Bug: 330767927
      Bug: 328266487
      Bug: 329803029
      Change-Id: I9ac1d15d397b8226b27827ecffa30502da91e10e
      Signed-off-by: default avatarKalesh Singh <kaleshsingh@google.com>
      a002ae8d
  21. Apr 29, 2024
  22. Apr 26, 2024
  23. Apr 25, 2024
  24. Apr 19, 2024
  25. Apr 17, 2024
Loading