Skip to content
Snippets Groups Projects
  1. Nov 06, 2024
  2. Nov 04, 2024
  3. Nov 02, 2024
  4. Nov 01, 2024
  5. Oct 31, 2024
  6. Oct 30, 2024
  7. Oct 29, 2024
    • yipeng xiang's avatar
      ANDROID: vendor_hooks: add hooks for f2fs issue checkpoint · b910ce6b
      yipeng xiang authored
      
      Add hooks to solve the priority inversion. while the key thread needs
      to update fs data, it should wake and wait for f2fs checkpoint thread
      to complete the work. So one scheme is needed to ensure the priority
      of checkpoint thread especially in CPU high load scenarios.
      
      Bug: 375088532
      Change-Id: Iaa181cd1c8368310d9dd4c78adda6c7add5858b3
      Signed-off-by: default avataryipeng xiang <yipengxiang@honor.corp-partner.google.com>
      b910ce6b
    • Seiya Wang's avatar
      ANDROID: GKI: Update symbol list for mtk · 08deb99d
      Seiya Wang authored
      
      2 function symbol(s) added
        'int ptp_find_pin(struct ptp_clock*, enum ptp_pin_function, unsigned int)'
        'int ptp_schedule_worker(struct ptp_clock*, unsigned long)'
      
      Bug: 376165736
      Change-Id: I86c51cec072155cc2ec6eaf1bd54f0a93bec3329
      Signed-off-by: default avatarSeiya Wang <seiya.wang@mediatek.com>
      08deb99d
    • Yong Zhao's avatar
      ANDROID: ABI: Update pixel symbol list · 02b19dc5
      Yong Zhao authored
      
      Adding the following symbols:
        - __bio_add_page
        - bio_add_page
        - bio_alloc_bioset
        - bio_chain
        - bio_endio
        - bio_end_io_acct_remapped
        - bio_init
        - bio_put
        - bio_start_io_acct
        - __blk_alloc_disk
        - blk_check_plugged
        - blkdev_get_by_dev
        - blkdev_put
        - blk_queue_flag_clear
        - blk_queue_flag_set
        - blk_queue_io_min
        - blk_queue_io_opt
        - blk_queue_logical_block_size
        - blk_queue_max_discard_sectors
        - blk_queue_max_write_zeroes_sectors
        - blk_queue_physical_block_size
        - crypto_alloc_base
        - crypto_comp_compress
        - crypto_comp_decompress
        - del_gendisk
        - device_add_disk
        - file_path
        - filp_close
        - filp_open_block
        - flush_dcache_page
        - fs_bio_set
        - memset64
        - put_disk
        - __register_blkdev
        - set_capacity
        - set_capacity_and_notify
        - submit_bio
        - submit_bio_wait
        - sync_blockdev
        - thermal_cooling_device_register
        - __traceiter_android_rvh_sched_setaffinity
        - __tracepoint_android_rvh_sched_setaffinity
        - unregister_blkdev
        - vm_node_stat
        - zs_compact
        - zs_create_pool
        - zs_destroy_pool
        - zs_free
        - zs_get_total_pages
        - zs_huge_class_size
        - zs_malloc
        - zs_map_object
        - zs_pool_stats
        - zs_unmap_object
      
      Bug: 375507940
      Change-Id: Ieaf706f1efeaa357efdb5a5d0c7fb4313937bc9a
      Signed-off-by: default avatarYong Zhao <yozhao@google.com>
      02b19dc5
    • Giuliano Procida's avatar
      ANDROID: clean up CREATE_TRACE_POINTS in mm/compaction.c · 7fd90d6f
      Giuliano Procida authored
      
      This removes a stray #undef directive.
      
      Bug: 361520241
      Change-Id: I8c9b4990985b8b4c5a16bb21f9f1dbe40925b945
      Signed-off-by: default avatarGiuliano Procida <gprocida@google.com>
      7fd90d6f
    • Paul E. McKenney's avatar
      UPSTREAM: exit: Sleep at TASK_IDLE when waiting for application core dump · 9c5b1f14
      Paul E. McKenney authored
      Currently, the coredump_task_exit() function sets the task state
      to TASK_UNINTERRUPTIBLE|TASK_FREEZABLE, which usually works well.
      But a combination of large memory and slow (and/or highly contended)
      mass storage can cause application core dumps to take more than
      two minutes, which can cause check_hung_task(), which is invoked by
      check_hung_uninterruptible_tasks(), to produce task-blocked splats.
      There does not seem to be any reasonable benefit to getting these splats.
      
      Furthermore, as Oleg Nesterov points out, TASK_UNINTERRUPTIBLE could
      be misleading because the task sleeping in coredump_task_exit() really
      is killable, albeit indirectly.  See the check of signal->core_state
      in prepare_signal() and the check of fatal_signal_pending()
      in dump_interrupted(), which bypass the normal unkillability of
      TASK_UNINTERRUPTIBLE, resulting in coredump_finish() invoking
      wake_up_process() on any threads sleeping in coredump_task_exit().
      
      Therefore, change that TASK_UNINTERRUPTIBLE to TASK_IDLE.
      
      Bug: 375106936
      (cherry picked from commit b8e75312
       https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
      
       master)
      Reported-by: default avatarAnhad Jai Singh <ffledgling@meta.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Acked-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Christian Brauner <brauner@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
      Cc: Chris Mason <clm@fb.com>
      Cc: Rik van Riel <riel@surriel.com>
      Change-Id: I2c05f6dd74add156d1541d50d6e3147106c80036
      Signed-off-by: default avatarSeiya Wang <seiya.wang@mediatek.com>
      9c5b1f14
    • Mostafa Saleh's avatar
      ANDROID: drivers/arm-smmu-v3-kvm: Re-use CD table when possible · f9246448
      Mostafa Saleh authored
      
      At the moment, the CD table is allocated for each SID, which wastes
      memory for SIDs belonging to the same domain device (domain).
      
      Previously, the lifetime for a CD was allocated only once when the
      device was attached and it never got freed, and the CD would be reused
      for the next attach(s).
      
      As EL2 doesn't know which SIDs are part of the same device, it can use
      the domain as an indication to share the CD table between SIDs which makes
      the CD table ownership part of the domain. However that only works
      for devices that doesn't use pasid.
      
      The CD table lifecycles is as follows:
      For attach:
      - PASID != 0, the CD is read from the STE as PASID = 0 must be
        attached first, and it would allocate the CD table before.
      - PASID = 0 and PASID_BITs > 0: Devices that support pasids,
        allocate a new CD table as they can't be shared.
      - PASID_BITS = 0: Share the CDptr inside the domain if existing,
        otherwise allocate it.
      
      For detach:
      - PASID != 0: invalidate that the CD entry.
      - PASID = 0 and PASID_BITs > 0: Devices that support pasids, free the
        CD table and invalidate the STE
      - PASID_BITS = 0: invalidate the STE, the cd table is per domain would
        be freed at free_domain.
      
      Bug: 366562658
      Bug: 277989609
      Bug: 278749606
      
      Change-Id: Iffcd448e1802924917c19947d9d3f2abc942975b
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      f9246448
    • Mostafa Saleh's avatar
      ANDROID: drivers/arm-smmu-v3-kvm: Fix pgsize alignment for IDMAP · 85731f83
      Mostafa Saleh authored
      
      When mapping pages in the identity mapped domain,the driver chooses
      the most optimal page size based on the requested size.
      However, this must be also be aligned to the address.
      
      Bug: 277989609
      Bug: 278749606
      
      Change-Id: Id442198eaf33be6b18f3e5198e2f365e279ff6b5
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      85731f83
    • Mostafa Saleh's avatar
      ANDROID: KVM: iommu: Fix hyp share check in __pkvm_host_use_dma_page · ec55e52f
      Mostafa Saleh authored
      
      The hypervisor keeps track of mapped pages in the IOMMU page tables,
      and checks the ownership of the host overthese pages.
      There is also a hardening check to prevent mapping a page in the
      IOMMU that is shared with the hyp, this mainly an extra hardening
      as there shouldn't be such use case.
      
      However, there is a bug in this path where the address passed to the
      function was the physical address instead of virtual address. As this
      is a hardening check it should lead to security problems, but only
      failed IOMMU map pages which should have passed.
      
      Bug: 277989609
      Bug: 278749606
      
      Change-Id: Ib571e90c358b2ffd9545c83674c407d0ddc11cb2
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      ec55e52f
    • Mostafa Saleh's avatar
      ANDROID: drivers/arm-smmu-v3-kvm: Free io_pgtable struct on domain free · 04469eba
      Mostafa Saleh authored
      
      When a domain is freed, it should also free the page table struct
      "arm_lpae_io_pgtable" which is per domain, as the domain is freed
      and this memory would be leaked.
      
      Bug: 277989609
      Bug: 278749606
      
      Change-Id: I6eaf00977d613d203f3918485d4cd8618ec40c9e
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      04469eba
    • Mostafa Saleh's avatar
      ANDROID: drivers/arm-smmu-v3-kvm: Detach devices on release · a9beab09
      Mostafa Saleh authored
      
      When a device is removed from a bus, it calls "release_device"
      then frees the device domain if possible.
      However, as "kvm_arm_smmu_release_device" doesn't detach the
      device from the domain, it's still refcounted and wouldn't be freed.
      
      On release_device, call detach device to decrement the domain refcount
      and also puts the device in blocking state.
      
      Bug: 369495618
      Change-Id: I91dfdce7ab2ba4b0abc0569b6da081a3456ba2a8
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      a9beab09
  8. Oct 28, 2024
Loading