f64cd19a00c189bf4f8e937177f2cf55765f30c4

android12-5.10-lts
Sync up with android12-5.10 for the following commits:503435dc8c
FROMGIT: usb: gadget: uvc: allow for application to cleanly shutdown3736ae703b
FROMGIT: usb: dwc3: gadget: increase tx fifo size for ss isoc endpoints300cec3502
UPSTREAM: usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()a35bc53848
FROMGIT: usb: gadget: uvc: remove pause flag use36aa07174b
FROMGIT: usb: gadget: uvc: allow changing interface name via configfs74b55107d0
UPSTREAM: usb: gadget: uvc: Fix crash when encoding data for usb request53129aceec
UPSTREAM: usb: gadget: uvc: test if ep->desc is valid on ep_queue23cca7ad30
UPSTREAM: usb: gadget: uvc: only pump video data if necessary6692312df6
UPSTREAM: usb: gadget: uvc: only schedule stream in streaming state1c14550b60
UPSTREAM: usb: dwc3: gadget: Give some time to schedule isoc5d084e9710
UPSTREAM: usb: gadget: uvc: make uvc_num_requests depend on gadget speed15a663ebbe
UPSTREAM: usb: gadget: composite: Show warning if function driver's descriptors are incomplete.3172c95582
FROMLIST: kbuild: Add environment variables for userprogs flagsa07b60e85c
ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree0d752f78b2
BACKPORT: staging: ion: Prevent incorrect reference counting behavour1e037dd790
FROMGIT: net: fix wrong network header lengtha37eec78a6
UPSTREAM: mm: fix unexpected zeroed page mapping with zram swap2f55d5cbe2
ANDROID: vendor_hooks: Add hooks for mutex0780756946
UPSTREAM: usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback1a73ed4b2e
UPSTREAM: usb: dwc3: Issue core soft reset before enabling run/stopfe513e1c26
UPSTREAM: usb: dwc3: gadget: Wait for ep0 xfers to complete during dequeue75059d208e
ANDROID: Update QCOM symbol list for trace_map/unmap7c9d15f68b
ANDROID: fix KCFLAGS override by __ANDROID_COMMON_KERNEL__e5b4949bfc
ANDROID: vendor_hooks: tune reclaim scan type for specified mem_cgroupeb80a7e84f
ANDROID: vendor_hooks: Add hooks for rwsem5558db2674
ANDROID: Add flag to indicate compiling against ACKbb18f818ee
ANDROID: GKI: build damon reclaim0453acd7fb
FROMLIST: mm/damon/reclaim: Fix the timer always stays active2522f6c4da
BACKPORT: treewide: Add missing includes masked by cgroup -> bpf dependency70ff0aeea7
UPSTREAM: mm/damon: modify damon_rand() macro to static inline function3ecd29b57b
UPSTREAM: mm/damon: add 'age' of region tracepoint support94006b8a3a
UPSTREAM: mm/damon: hide kernel pointer from tracepoint event4c350065aa
UPSTREAM: mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure logc44028a162
UPSTREAM: mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging98dcd2427c
UPSTREAM: mm/damon/dbgfs: remove an unnecessary variable21dc18f9a0
UPSTREAM: mm/damon: move the implementation of damon_insert_region to damon.h73faa856e9
UPSTREAM: mm/damon: add access checking for hugetlb pagesb0cf3ac6d3
UPSTREAM: mm/damon/dbgfs: support all DAMOS stats1c400b8796
UPSTREAM: mm/damon/reclaim: provide reclamation statisticsf755f1a2bc
UPSTREAM: mm/damon/schemes: account how many times quota limit has exceeded7cecfab158
UPSTREAM: mm/damon/schemes: account scheme actions that successfully applied943c0cd13f
UPSTREAM: mm/damon: convert macro functions to static inline functions947d088b1f
UPSTREAM: mm/damon: move damon_rand() definition into damon.hb45423116e
UPSTREAM: mm/damon/schemes: add the validity judgment of thresholdsb198e86d5a
UPSTREAM: mm/damon/vaddr: remove swap_ranges() and replace it with swap()9a8de9c702
UPSTREAM: mm/damon: remove some unneeded function definitions in damon.h07045a0e5a
UPSTREAM: mm/damon/core: use abs() instead of diff_of()8b02bed759
UPSTREAM: mm/damon: unified access_check function naming rulesd4d20c7ef5
UPSTREAM: mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'c3939031fb
UPSTREAM: mm/damon/dbgfs: protect targets destructions with kdamond_lock82bb332bf0
UPSTREAM: mm/damon/vaddr-test: remove unnecessary variables4f0e48e5e9
UPSTREAM: mm/damon/vaddr-test: split a test function having >1024 bytes frame size90af7e344b
UPSTREAM: mm/damon/vaddr: remove an unnecessary warning message4e19846848
UPSTREAM: mm/damon/core: remove unnecessary error messagesa7969dac5a
UPSTREAM: mm/damon/dbgfs: remove an unnecessary error messagef37ab7f595
UPSTREAM: mm/damon/core: use better timer mechanisms selection threshold63e8bc85e6
UPSTREAM: mm/damon/core: fix fake load reports due to uninterruptible sleepsa9ec7ed936
BACKPORT: timers: implement usleep_idle_range()2581464867
UPSTREAM: mm/damon/dbgfs: fix missed use of damon_dbgfs_lockdbbff9155c
UPSTREAM: mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation55a2d2f5a7
UPSTREAM: mm/damon: remove return value from before_terminate callbackb48f28f49c
UPSTREAM: mm/damon: fix a few spelling mistakes in comments and a pr_debug messagebb15a07842
UPSTREAM: mm/damon: simplify stop mechanismf1456aa48d
UPSTREAM: mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on8c2db14f3f
UPSTREAM: mm/damon: remove unnecessary variable initialization4d321b786f
UPSTREAM: mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM)57b0fb6229
UPSTREAM: selftests/damon: support watermarks88d44101df
UPSTREAM: mm/damon/dbgfs: support watermarksfb7d5f3b1a
UPSTREAM: mm/damon/schemes: activate schemes based on a watermarks mechanismd4ba5298be
UPSTREAM: tools/selftests/damon: update for regions prioritization of schemeseb9cf87aa8
UPSTREAM: mm/damon/dbgfs: support prioritization weights798e889699
UPSTREAM: mm/damon/vaddr,paddr: support pageout prioritizationdd1947047e
UPSTREAM: mm/damon/schemes: prioritize regions within the quotas1990bcb746
UPSTREAM: mm/damon/selftests: support schemes quotas8c491daa0f
UPSTREAM: mm/damon/dbgfs: support quotas of schemes2c090a6bc6
UPSTREAM: mm/damon/schemes: implement time quota8c0c30e2f0
UPSTREAM: mm/damon/schemes: skip already charged targets and regionsa9af0008be
UPSTREAM: mm/damon/schemes: implement size quota for schemes application speed control780cd6f930
UPSTREAM: mm/damon/paddr: support the pageout scheme71a23818ca
UPSTREAM: mm/damon/dbgfs: remove unnecessary variables1d68b96800
UPSTREAM: mm/damon/vaddr: constify static mm_walk_ops932c8c61e1
UPSTREAM: mm/damon/dbgfs: support physical memory monitoringf348ba2256
UPSTREAM: mm/damon: implement primitives for physical address space monitoring3c4a2c1428
UPSTREAM: mm/damon/vaddr: separate commonly usable functionsc7f64c7f78
UPSTREAM: mm/damon/dbgfs-test: add a unit test case for 'init_regions'27b2b8d255
UPSTREAM: mm/damon/dbgfs: allow users to set initial monitoring target regionscc2e33ff7c
UPSTREAM: selftests/damon: add 'schemes' debugfs testsef678357b3
UPSTREAM: mm/damon/schemes: implement statistics feature5203491dbb
UPSTREAM: mm/damon/dbgfs: support DAMON-based Operation Schemescad23cd779
UPSTREAM: mm/damon/vaddr: support DAMON-based Operation Schemes2a437378a5
UPSTREAM: mm/damon/core: implement DAMON-based Operation Schemes (DAMOS)3d9ce6d28b
UPSTREAM: mm/damon/core: account age of target regionsb1209ff347
UPSTREAM: mm/damon/core: nullify pointer ctx->kdamond with a NULLe0fad2fbbe
UPSTREAM: mm/damon: needn't hold kdamond_lock to print pid of kdamondbcf5bbcaf4
UPSTREAM: mm/damon: remove unnecessary do_exit() from kdamond526b5029ad
UPSTREAM: mm/damon/core: print kdamond start log in debug mode only6239bbbcea
UPSTREAM: include/linux/damon.h: fix kernel-doc comments for 'damon_callback'8c5ef4d641
UPSTREAM: mm/damon: grammar s/works/work/e31da16e69
UPSTREAM: mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()'b25e76d9c3
UPSTREAM: mm/damon: don't use strnlen() with known-bogus source lengthc1a4fca349
UPSTREAM: mm/damon: add kunit testsb5131d9c10
UPSTREAM: mm/damon: add user space selftestsfe62a24792
UPSTREAM: mm/damon/dbgfs: support multiple contexts562b676ce9
UPSTREAM: mm/damon/dbgfs: export kdamond pid to the user spacec10dc7808e
UPSTREAM: mm/damon: implement a debugfs-based user space interface3ea808dca1
UPSTREAM: mm/damon: add a tracepoint2afdd88030
UPSTREAM: mm/damon: implement primitives for the virtual memory address spaces75e13bad97
UPSTREAM: mm/idle_page_tracking: make PG_idle reusable0f1bc2a61d
UPSTREAM: mm/damon: adaptively adjust regions488e19fc91
UPSTREAM: mm/damon/core: implement region-based samplingbc19dd9a51
UPSTREAM: mm: introduce Data Access MONitor (DAMON)35a697cab4
BACKPORT: net/packet: fix slab-out-of-bounds access in packet_recvmsg()24d464d38b
BACKPORT: fuse: fix pipe buffer lifetime for direct_io2e3c211e7e
BACKPORT: dm: fix NULL pointer issue when free bioaed2e27d51
UPSTREAM: kfence, x86: fix preemptible warning on KPTI-enabled systemse0513ed978
ANDROID: ABI: Update allowed list for galaxy6ed058a9bf
ANDROID: abi_gki_aarch64.xml: update based on proper LTO=full setting46f414b1c2
BACKPORT: virtio-blk: Use blk_validate_block_size() to validate block sizef06daa5a0b
ANDROID: add for tuning readahead size6def3a5ed8
BACKPORT: media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls31beefbf14
BACKPORT: nl80211: correctly check NL80211_ATTR_REG_ALPHA2 sizeb07625698e
BACKPORT: ext4: don't BUG if someone dirty pages without asking ext4 first3628acf6b8
ANDROID: GKI: Update symbols to abi_gki_aarch64_oplusb8bb3b43a4
BACKPORT: iommu: Extend mutex lock scope in iommu_probe_device()00f2b55cc4
BACKPORT: iommu: Fix race condition during default domain allocation0dcfc2c036
ANDROID: GKI: Update symbols to symbol list9608dc38a0
FROMLIST: remoteproc: Use unbounded workqueue for recovery workb5bcf0d667
UPSTREAM: xfrm: fix tunnel model fragmentation behavior20e11d7969
ANDROID: GKI: Enable CRYPTO_DESeff1ffbf0c
ANDROID: GKI: set more vfs-only exports into their own namespace3c06a5ce5e
ANDROID: Split ANDROID_STRUCT_PADDING into separate configs5b1bb43708
ANDROID: selftests: incfs: skip large_file_test test is not enough free space3b25a439ce
ANDROID: selftests: incfs: Add -fno-omit-frame-pointer3e45af8a72
ANDROID: incremental-fs: limit mount stack depthd8fade2b40
ANDROID: GKI: Update symbols to abi_gki_aarch64_oplusceb6918d1d
ANDROID: vendor_hooks: Reduce pointless modversions CRC churn002528dfb5
UPSTREAM: locking/lockdep: Avoid potential access of invalid memory in lock_class404df4751a
ANDROID: mm: Fix implicit declaration of function 'isolate_lru_page'e2c0e8502e
ANDROID: GKI: Update symbols to symbol list51513a1775
ANDROID: GKI: Update symbols to symbol list7b7125914c
ANDROID: GKI: Add hook symbol to symbol list7a7eadac58
Revert "ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree"cb7c1a4c78
ANDROID: vendor_hooks: Add hooks to for free_unref_page_commita2485b8abd
ANDROID: vendor_hooks: Add hooks to for alloc_contig_rangebc159fee3d
ANDROID: GKI: Update symbols to symbol list95380146ce
ANDROID: vendor_hooks: Add hook in shrink_node_memcgsa3f112353c
ANDROID: GKI: Add symbols to symbol listec48b1892e
FROMGIT: iommu/iova: Improve 32-bit free space estimated9845e9e5c
ANDROID: export walk_page_range and swp_swap_info71d560e017
ANDROID: vendor_hooks: export shrink_slab74720dae8b
ANDROID: usb: gadget: f_accessory: add compat_ioctl supporte7f39d0aa2
UPSTREAM: sr9700: sanity check for packet length6282531a84
UPSTREAM: io_uring: return back safer resurrect87c1f135bf
UPSTREAM: Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"ff0000fe82
UPSTREAM: usb: gadget: don't release an existing dev->buf590a98d5d1
UPSTREAM: usb: gadget: clear related members when goto fail Update the abi.xml file with the following addtions that are now being tracked: Leaf changes summary: 184 artifacts changed Changed leaf types summary: 0 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 178 Added functions Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 6 Added variables 178 Added functions: [A] 'function int __cleancache_get_page(page*)' [A] 'function int __dquot_alloc_space(inode*, qsize_t, int)' [A] 'function void __dquot_free_space(inode*, qsize_t, int)' [A] 'function int __dquot_transfer(inode*, dquot**)' [A] 'function int __fscrypt_encrypt_symlink(inode*, const char*, unsigned int, fscrypt_str*)' [A] 'function bool __fscrypt_inode_uses_inline_crypto(const inode*)' [A] 'function int __fscrypt_prepare_link(inode*, inode*, dentry*)' [A] 'function int __fscrypt_prepare_lookup(inode*, dentry*, fscrypt_name*)' [A] 'function int __fscrypt_prepare_readdir(inode*)' [A] 'function int __fscrypt_prepare_rename(inode*, dentry*, inode*, dentry*, unsigned int)' [A] 'function int __fscrypt_prepare_setattr(dentry*, iattr*)' [A] 'function ssize_t __generic_file_write_iter(kiocb*, iov_iter*)' [A] 'function sock* __inet6_lookup_established(net*, inet_hashinfo*, const in6_addr*, const __be16, const in6_addr*, const u16, const int, const int)' [A] 'function sock* __inet_lookup_established(net*, inet_hashinfo*, const __be32, const __be16, const __be32, const u16, const int, const int)' [A] 'function unsigned long int __page_file_index(page*)' [A] 'function address_space* __page_file_mapping(page*)' [A] 'function int __percpu_counter_init(percpu_counter*, s64, gfp_t, lock_class_key*)' [A] 'function s64 __percpu_counter_sum(percpu_counter*)' [A] 'function int __traceiter_android_vh_cma_drain_all_pages_bypass(void*, unsigned int, bool*)' [A] 'function int __traceiter_android_vh_pcplist_add_cma_pages_bypass(void*, int, bool*)' [A] 'function int __traceiter_android_vh_shrink_node_memcgs(void*, mem_cgroup*, bool*)' [A] 'function int __traceiter_map(void*, unsigned long int, phys_addr_t, size_t)' [A] 'function int __traceiter_unmap(void*, unsigned long int, size_t, size_t)' [A] 'function void __xa_clear_mark(xarray*, unsigned long int, xa_mark_t)' [A] 'function int add_swap_extent(swap_info_struct*, unsigned long int, unsigned long int, sector_t)' [A] 'function int add_to_page_cache_lru(page*, address_space*, unsigned long int, gfp_t)' [A] 'function void bio_associate_blkg_from_css(bio*, cgroup_subsys_state*)' [A] 'function const char* blk_op_str(unsigned int)' [A] 'function int blkdev_issue_zeroout(block_device*, sector_t, sector_t, gfp_t, unsigned int)' [A] 'function void clear_nlink(inode*)' [A] 'function long int congestion_wait(int, long int)' [A] 'function dentry* d_find_alias(inode*)' [A] 'function void d_instantiate_new(dentry*, inode*)' [A] 'function void d_invalidate(dentry*)' [A] 'function void d_tmpfile(dentry*, inode*)' [A] 'function char* dentry_path_raw(dentry*, char*, int)' [A] 'function dquot* dqget(super_block*, kqid)' [A] 'function void dqput(dquot*)' [A] 'function int dquot_acquire(dquot*)' [A] 'function dquot* dquot_alloc(super_block*, int)' [A] 'function int dquot_alloc_inode(inode*)' [A] 'function int dquot_claim_space_nodirty(inode*, qsize_t)' [A] 'function int dquot_commit(dquot*)' [A] 'function int dquot_commit_info(super_block*, int)' [A] 'function void dquot_destroy(dquot*)' [A] 'function int dquot_disable(super_block*, int, unsigned int)' [A] 'function void dquot_drop(inode*)' [A] 'function int dquot_file_open(inode*, file*)' [A] 'function void dquot_free_inode(inode*)' [A] 'function int dquot_get_dqblk(super_block*, kqid, qc_dqblk*)' [A] 'function int dquot_get_next_dqblk(super_block*, kqid*, qc_dqblk*)' [A] 'function int dquot_get_next_id(super_block*, kqid*)' [A] 'function int dquot_get_state(super_block*, qc_state*)' [A] 'function int dquot_initialize(inode*)' [A] 'function bool dquot_initialize_needed(inode*)' [A] 'function int dquot_load_quota_inode(inode*, int, int, unsigned int)' [A] 'function int dquot_mark_dquot_dirty(dquot*)' [A] 'function int dquot_quota_off(super_block*, int)' [A] 'function int dquot_quota_on(super_block*, int, int, const path*)' [A] 'function int dquot_quota_on_mount(super_block*, char*, int, int)' [A] 'function int dquot_release(dquot*)' [A] 'function int dquot_resume(super_block*, int)' [A] 'function int dquot_set_dqblk(super_block*, kqid, qc_dqblk*)' [A] 'function int dquot_set_dqinfo(super_block*, int, qc_info*)' [A] 'function int dquot_transfer(inode*, iattr*)' [A] 'function int dquot_writeback_dquots(super_block*, int)' [A] 'function void evict_inodes(super_block*)' [A] 'function bool filemap_allow_speculation()' [A] 'function int filemap_check_errors(address_space*)' [A] 'function vm_fault_t filemap_map_pages(vm_fault*, unsigned long int, unsigned long int)' [A] 'function inode* find_inode_nowait(super_block*, unsigned long int, int (inode*, unsigned long int, void*)*, void*)' [A] 'function int freeze_bdev(block_device*)' [A] 'function int freeze_super(super_block*)' [A] 'function void fscrypt_decrypt_bio(bio*)' [A] 'function bool fscrypt_dio_supported(kiocb*, iov_iter*)' [A] 'function int fscrypt_drop_inode(inode*)' [A] 'function page* fscrypt_encrypt_pagecache_blocks(page*, unsigned int, unsigned int, gfp_t)' [A] 'function int fscrypt_file_open(inode*, file*)' [A] 'function int fscrypt_fname_alloc_buffer(u32, fscrypt_str*)' [A] 'function int fscrypt_fname_disk_to_usr(const inode*, u32, u32, const fscrypt_str*, fscrypt_str*)' [A] 'function void fscrypt_fname_free_buffer(fscrypt_str*)' [A] 'function u64 fscrypt_fname_siphash(const inode*, const qstr*)' [A] 'function void fscrypt_free_bounce_page(page*)' [A] 'function void fscrypt_free_inode(inode*)' [A] 'function const char* fscrypt_get_symlink(inode*, void*, unsigned int, delayed_call*)' [A] 'function int fscrypt_has_permitted_context(inode*, inode*)' [A] 'function int fscrypt_ioctl_add_key(file*, void*)' [A] 'function int fscrypt_ioctl_get_key_status(file*, void*)' [A] 'function int fscrypt_ioctl_get_nonce(file*, void*)' [A] 'function int fscrypt_ioctl_get_policy(file*, void*)' [A] 'function int fscrypt_ioctl_get_policy_ex(file*, void*)' [A] 'function int fscrypt_ioctl_remove_key(file*, void*)' [A] 'function int fscrypt_ioctl_remove_key_all_users(file*, void*)' [A] 'function int fscrypt_ioctl_set_policy(file*, void*)' [A] 'function bool fscrypt_match_name(const fscrypt_name*, const u8*, u32)' [A] 'function bool fscrypt_mergeable_bio(bio*, const inode*, u64)' [A] 'function int fscrypt_prepare_new_inode(inode*, inode*, bool*)' [A] 'function int fscrypt_prepare_symlink(inode*, const char*, unsigned int, unsigned int, fscrypt_str*)' [A] 'function void fscrypt_put_encryption_info(inode*)' [A] 'function void fscrypt_set_bio_crypt_ctx(bio*, const inode*, u64, gfp_t)' [A] 'function int fscrypt_set_context(inode*, void*)' [A] 'function int fscrypt_set_test_dummy_encryption(super_block*, const char*, fscrypt_dummy_policy*)' [A] 'function int fscrypt_setup_filename(inode*, const qstr*, int, fscrypt_name*)' [A] 'function void fscrypt_show_test_dummy_encryption(seq_file*, char, super_block*)' [A] 'function int fscrypt_symlink_getattr(const path*, kstat*)' [A] 'function int fscrypt_zeroout_range(const inode*, unsigned long int, sector_t, unsigned int)' [A] 'function void fsverity_cleanup_inode(inode*)' [A] 'function void fsverity_enqueue_verify_work(work_struct*)' [A] 'function int fsverity_file_open(inode*, file*)' [A] 'function int fsverity_ioctl_enable(file*, void*)' [A] 'function int fsverity_ioctl_measure(file*, void*)' [A] 'function int fsverity_ioctl_read_metadata(file*, void*)' [A] 'function int fsverity_prepare_setattr(dentry*, iattr*)' [A] 'function void fsverity_verify_bio(bio*)' [A] 'function bool fsverity_verify_page(page*)' [A] 'function void generate_random_uuid(unsigned char*)' [A] 'function dentry* generic_fh_to_dentry(super_block*, fid*, int, int, inode* (super_block*, typedef u64, typedef u32)*)' [A] 'function dentry* generic_fh_to_parent(super_block*, fid*, int, int, inode* (super_block*, typedef u64, typedef u32)*)' [A] 'function loff_t generic_file_llseek_size(file*, loff_t, int, loff_t, loff_t)' [A] 'function void generic_set_encrypted_ci_d_ops(dentry*)' [A] 'function int gpiochip_irqchip_add_key(gpio_chip*, irq_chip*, unsigned int, irq_flow_handler_t, unsigned int, bool, lock_class_key*, lock_class_key*)' [A] 'function void gpiochip_set_nested_irqchip(gpio_chip*, irq_chip*, unsigned int)' [A] 'function usb_request* gs_alloc_req(usb_ep*, unsigned int, gfp_t)' [A] 'function void gs_free_req(usb_ep*, usb_request*)' [A] 'function void gserial_free_line(unsigned char)' [A] 'function void gserial_resume(gserial*)' [A] 'function void gserial_suspend(gserial*)' [A] 'function void iget_failed(inode*)' [A] 'function inode* iget_locked(super_block*, unsigned long int)' [A] 'function inode* ilookup(super_block*, unsigned long int)' [A] 'function void inode_nohighmem(inode*)' [A] 'function int insert_inode_locked(inode*)' [A] 'function int kset_register(kset*)' [A] 'function char* match_strdup(const substring_t*)' [A] 'function void migrate_page_copy(page*, page*)' [A] 'function int migrate_page_move_mapping(address_space*, page*, page*, int)' [A] 'function void migrate_page_states(page*, page*)' [A] 'function void page_cache_ra_unbounded(readahead_control*, unsigned long int, unsigned long int)' [A] 'function void page_cache_sync_ra(readahead_control*, file_ra_state*, unsigned long int)' [A] 'function const char* page_get_link(dentry*, inode*, delayed_call*)' [A] 'function int page_symlink(inode*, const char*, int)' [A] 'function int pagecache_write_begin(file*, address_space*, loff_t, unsigned int, unsigned int, page**, void**)' [A] 'function int pagecache_write_end(file*, address_space*, loff_t, unsigned int, unsigned int, page*, void*)' [A] 'function void percpu_counter_add_batch(percpu_counter*, s64, s32)' [A] 'function void percpu_counter_destroy(percpu_counter*)' [A] 'function void percpu_counter_set(percpu_counter*, s64)' [A] 'function posix_acl* posix_acl_alloc(int, gfp_t)' [A] 'function int posix_acl_chmod(inode*, umode_t)' [A] 'function int posix_acl_equiv_mode(const posix_acl*, umode_t*)' [A] 'function unsigned int radix_tree_gang_lookup(const xarray*, void**, unsigned long int, unsigned int)' [A] 'function int radix_tree_preload(gfp_t)' [A] 'function page* read_cache_page_gfp(address_space*, unsigned long int, gfp_t)' [A] 'function void seq_escape(seq_file*, const char*, const char*)' [A] 'function void set_cached_acl(inode*, int, posix_acl*)' [A] 'function int set_task_ioprio(task_struct*, int)' [A] 'function void shrink_dcache_sb(super_block*)' [A] 'function unsigned long int shrink_slab(gfp_t, int, mem_cgroup*, int)' [A] 'function swap_info_struct* swp_swap_info(swp_entry_t)' [A] 'function void sync_inodes_sb(super_block*)' [A] 'function int thaw_bdev(block_device*)' [A] 'function int thaw_super(super_block*)' [A] 'function void truncate_inode_pages_range(address_space*, loff_t, loff_t)' [A] 'function void truncate_pagecache_range(inode*, loff_t, loff_t)' [A] 'function int utf8_casefold(const unicode_map*, const qstr*, unsigned char*, size_t)' [A] 'function unicode_map* utf8_load(const char*)' [A] 'function int utf8_strncasecmp_folded(const unicode_map*, const qstr*, const qstr*)' [A] 'function void utf8_unload(unicode_map*)' [A] 'function int utf8s_to_utf16s(const u8*, int, utf16_endian, wchar_t*, int)' [A] 'function int vfs_ioc_fssetxattr_check(inode*, const fsxattr*, fsxattr*)' [A] 'function int vfs_ioc_setflags_prepare(inode*, unsigned int, unsigned int)' [A] 'function loff_t vfs_setpos(file*, loff_t, loff_t)' [A] 'function void vm_unmap_aliases()' [A] 'function void wait_for_completion_io(completion*)' [A] 'function void wait_for_stable_page(page*)' [A] 'function void wait_on_page_writeback(page*)' [A] 'function int walk_page_range(mm_struct*, unsigned long int, unsigned long int, const mm_walk_ops*, void*)' [A] 'function void wbc_account_cgroup_owner(writeback_control*, page*, size_t)' [A] 'function bool xa_get_mark(xarray*, unsigned long int, xa_mark_t)' 6 Added variables: [A] 'tracepoint __tracepoint_android_vh_cma_drain_all_pages_bypass' [A] 'tracepoint __tracepoint_android_vh_pcplist_add_cma_pages_bypass' [A] 'tracepoint __tracepoint_android_vh_shrink_node_memcgs' [A] 'tracepoint __tracepoint_map' [A] 'tracepoint __tracepoint_unmap' [A] 'inet_hashinfo tcp_hashinfo' Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Id62d82c18aeac7b909440af67860c93969108553
ANDROID: GKI: fix crc issue with commit
ce1927b8cf
("block: don't merge across cgroup boundaries if blkcg is enabled")
How do I submit patches to Android Common Kernels
-
BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases. These patches will be merged automatically in the corresponding common kernels. If the patch is already in upstream Linux, post a backport of the patch that conforms to the patch requirements below.
- Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux,
additions of
EXPORT_SYMBOL_GPL()
require an in-tree modular driver that uses the symbol -- so include the new driver or changes to an existing driver in the same patchset as the export. - When sending patches upstream, the commit message must contain a clear case for why the patch is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not not a persuasive case.
- Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux,
additions of
-
LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are fixing an Android-specific bug, these are very unlikely to be accepted unless they have been coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the patch requirements below.
Common Kernel patch requirements
- All patches must conform to the Linux kernel coding standards and pass
script/checkpatch.pl
- Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures (see https://source.android.com/setup/build/building-kernels)
- If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch:
UPSTREAM:
,BACKPORT:
,FROMGIT:
,FROMLIST:
, orANDROID:
. - All patches must have a
Change-Id:
tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html) - If an Android bug has been assigned, there must be a
Bug:
tag. - All patches must have a
Signed-off-by:
tag by the author and the submitter
Additional requirements are listed below based on patch type
Requirements for backports from mainline Linux: UPSTREAM:
, BACKPORT:
- If the patch is a cherry-pick from Linux mainline with no changes at all
- tag the patch subject with
UPSTREAM:
. - add upstream commit information with a
(cherry picked from commit ...)
line - Example:
- if the upstream commit message is
- tag the patch subject with
important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <fred.jones@foo.org>
- then Joe Smith would upload the patch for the common kernel as
UPSTREAM: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <fred.jones@foo.org>
Bug: 135791357
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
(cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
Signed-off-by: Joe Smith <joe.smith@foo.org>
- If the patch requires any changes from the upstream version, tag the patch with
BACKPORT:
instead ofUPSTREAM:
.- use the same tags as
UPSTREAM:
- add comments about the changes under the
(cherry picked from commit ...)
line - Example:
- use the same tags as
BACKPORT: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <fred.jones@foo.org>
Bug: 135791357
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
(cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
[joe: Resolved minor conflict in drivers/foo/bar.c ]
Signed-off-by: Joe Smith <joe.smith@foo.org>
Requirements for other backports: FROMGIT:
, FROMLIST:
,
- If the patch has been merged into an upstream maintainer tree, but has not yet
been merged into Linux mainline
- tag the patch subject with
FROMGIT:
- add info on where the patch came from as
(cherry picked from commit <sha1> <repo> <branch>)
. This must be a stable maintainer branch (not rebased, so don't uselinux-next
for example). - if changes were required, use
BACKPORT: FROMGIT:
- Example:
- if the commit message in the maintainer tree is
- tag the patch subject with
important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <fred.jones@foo.org>
- then Joe Smith would upload the patch for the common kernel as
FROMGIT: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <fred.jones@foo.org>
Bug: 135791357
(cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <joe.smith@foo.org>
- If the patch has been submitted to LKML, but not accepted into any maintainer tree
- tag the patch subject with
FROMLIST:
- add a
Link:
tag with a link to the submittal on lore.kernel.org - add a
Bug:
tag with the Android bug (required for patches not accepted into a maintainer tree) - if changes were required, use
BACKPORT: FROMLIST:
- Example:
- tag the patch subject with
FROMLIST: important patch from upstream
This is the detailed description of the important patch
Signed-off-by: Fred Jones <fred.jones@foo.org>
Bug: 135791357
Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <joe.smith@foo.org>
Requirements for Android-specific patches: ANDROID:
- If the patch is fixing a bug to Android-specific code
- tag the patch subject with
ANDROID:
- add a
Fixes:
tag that cites the patch with the bug - Example:
- tag the patch subject with
ANDROID: fix android-specific bug in foobar.c
This is the detailed description of the important fix
Fixes: 1234abcd2468 ("foobar: add cool feature")
Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
Signed-off-by: Joe Smith <joe.smith@foo.org>
- If the patch is a new feature
- tag the patch subject with
ANDROID:
- add a
Bug:
tag with the Android bug (required for android-specific features)
- tag the patch subject with
Description
Languages
C
97.8%
Assembly
1.2%
Shell
0.3%
Makefile
0.3%
Python
0.2%
Other
0.1%