mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
f64cd19a00c189bf4f8e937177f2cf55765f30c4
android12-5.10-lts
Sync up with android12-5.10 for the following commits:503435dc8cFROMGIT: usb: gadget: uvc: allow for application to cleanly shutdown3736ae703bFROMGIT: usb: dwc3: gadget: increase tx fifo size for ss isoc endpoints300cec3502UPSTREAM: usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()a35bc53848FROMGIT: usb: gadget: uvc: remove pause flag use36aa07174bFROMGIT: usb: gadget: uvc: allow changing interface name via configfs74b55107d0UPSTREAM: usb: gadget: uvc: Fix crash when encoding data for usb request53129aceecUPSTREAM: usb: gadget: uvc: test if ep->desc is valid on ep_queue23cca7ad30UPSTREAM: usb: gadget: uvc: only pump video data if necessary6692312df6UPSTREAM: usb: gadget: uvc: only schedule stream in streaming state1c14550b60UPSTREAM: usb: dwc3: gadget: Give some time to schedule isoc5d084e9710UPSTREAM: usb: gadget: uvc: make uvc_num_requests depend on gadget speed15a663ebbeUPSTREAM: usb: gadget: composite: Show warning if function driver's descriptors are incomplete.3172c95582FROMLIST: kbuild: Add environment variables for userprogs flagsa07b60e85cANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree0d752f78b2BACKPORT: staging: ion: Prevent incorrect reference counting behavour1e037dd790FROMGIT: net: fix wrong network header lengtha37eec78a6UPSTREAM: mm: fix unexpected zeroed page mapping with zram swap2f55d5cbe2ANDROID: vendor_hooks: Add hooks for mutex0780756946UPSTREAM: usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback1a73ed4b2eUPSTREAM: usb: dwc3: Issue core soft reset before enabling run/stopfe513e1c26UPSTREAM: usb: dwc3: gadget: Wait for ep0 xfers to complete during dequeue75059d208eANDROID: Update QCOM symbol list for trace_map/unmap7c9d15f68bANDROID: fix KCFLAGS override by __ANDROID_COMMON_KERNEL__e5b4949bfcANDROID: vendor_hooks: tune reclaim scan type for specified mem_cgroupeb80a7e84fANDROID: vendor_hooks: Add hooks for rwsem5558db2674ANDROID: Add flag to indicate compiling against ACKbb18f818eeANDROID: GKI: build damon reclaim0453acd7fbFROMLIST: mm/damon/reclaim: Fix the timer always stays active2522f6c4daBACKPORT: treewide: Add missing includes masked by cgroup -> bpf dependency70ff0aeea7UPSTREAM: mm/damon: modify damon_rand() macro to static inline function3ecd29b57bUPSTREAM: mm/damon: add 'age' of region tracepoint support94006b8a3aUPSTREAM: mm/damon: hide kernel pointer from tracepoint event4c350065aaUPSTREAM: mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure logc44028a162UPSTREAM: mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging98dcd2427cUPSTREAM: mm/damon/dbgfs: remove an unnecessary variable21dc18f9a0UPSTREAM: mm/damon: move the implementation of damon_insert_region to damon.h73faa856e9UPSTREAM: mm/damon: add access checking for hugetlb pagesb0cf3ac6d3UPSTREAM: mm/damon/dbgfs: support all DAMOS stats1c400b8796UPSTREAM: mm/damon/reclaim: provide reclamation statisticsf755f1a2bcUPSTREAM: mm/damon/schemes: account how many times quota limit has exceeded7cecfab158UPSTREAM: mm/damon/schemes: account scheme actions that successfully applied943c0cd13fUPSTREAM: mm/damon: convert macro functions to static inline functions947d088b1fUPSTREAM: mm/damon: move damon_rand() definition into damon.hb45423116eUPSTREAM: mm/damon/schemes: add the validity judgment of thresholdsb198e86d5aUPSTREAM: mm/damon/vaddr: remove swap_ranges() and replace it with swap()9a8de9c702UPSTREAM: mm/damon: remove some unneeded function definitions in damon.h07045a0e5aUPSTREAM: mm/damon/core: use abs() instead of diff_of()8b02bed759UPSTREAM: mm/damon: unified access_check function naming rulesd4d20c7ef5UPSTREAM: mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'c3939031fbUPSTREAM: mm/damon/dbgfs: protect targets destructions with kdamond_lock82bb332bf0UPSTREAM: mm/damon/vaddr-test: remove unnecessary variables4f0e48e5e9UPSTREAM: mm/damon/vaddr-test: split a test function having >1024 bytes frame size90af7e344bUPSTREAM: mm/damon/vaddr: remove an unnecessary warning message4e19846848UPSTREAM: mm/damon/core: remove unnecessary error messagesa7969dac5aUPSTREAM: mm/damon/dbgfs: remove an unnecessary error messagef37ab7f595UPSTREAM: mm/damon/core: use better timer mechanisms selection threshold63e8bc85e6UPSTREAM: mm/damon/core: fix fake load reports due to uninterruptible sleepsa9ec7ed936BACKPORT: timers: implement usleep_idle_range()2581464867UPSTREAM: mm/damon/dbgfs: fix missed use of damon_dbgfs_lockdbbff9155cUPSTREAM: mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation55a2d2f5a7UPSTREAM: mm/damon: remove return value from before_terminate callbackb48f28f49cUPSTREAM: mm/damon: fix a few spelling mistakes in comments and a pr_debug messagebb15a07842UPSTREAM: mm/damon: simplify stop mechanismf1456aa48dUPSTREAM: mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on8c2db14f3fUPSTREAM: mm/damon: remove unnecessary variable initialization4d321b786fUPSTREAM: mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM)57b0fb6229UPSTREAM: selftests/damon: support watermarks88d44101dfUPSTREAM: mm/damon/dbgfs: support watermarksfb7d5f3b1aUPSTREAM: mm/damon/schemes: activate schemes based on a watermarks mechanismd4ba5298beUPSTREAM: tools/selftests/damon: update for regions prioritization of schemeseb9cf87aa8UPSTREAM: mm/damon/dbgfs: support prioritization weights798e889699UPSTREAM: mm/damon/vaddr,paddr: support pageout prioritizationdd1947047eUPSTREAM: mm/damon/schemes: prioritize regions within the quotas1990bcb746UPSTREAM: mm/damon/selftests: support schemes quotas8c491daa0fUPSTREAM: mm/damon/dbgfs: support quotas of schemes2c090a6bc6UPSTREAM: mm/damon/schemes: implement time quota8c0c30e2f0UPSTREAM: mm/damon/schemes: skip already charged targets and regionsa9af0008beUPSTREAM: mm/damon/schemes: implement size quota for schemes application speed control780cd6f930UPSTREAM: mm/damon/paddr: support the pageout scheme71a23818caUPSTREAM: mm/damon/dbgfs: remove unnecessary variables1d68b96800UPSTREAM: mm/damon/vaddr: constify static mm_walk_ops932c8c61e1UPSTREAM: mm/damon/dbgfs: support physical memory monitoringf348ba2256UPSTREAM: mm/damon: implement primitives for physical address space monitoring3c4a2c1428UPSTREAM: mm/damon/vaddr: separate commonly usable functionsc7f64c7f78UPSTREAM: mm/damon/dbgfs-test: add a unit test case for 'init_regions'27b2b8d255UPSTREAM: mm/damon/dbgfs: allow users to set initial monitoring target regionscc2e33ff7cUPSTREAM: selftests/damon: add 'schemes' debugfs testsef678357b3UPSTREAM: mm/damon/schemes: implement statistics feature5203491dbbUPSTREAM: mm/damon/dbgfs: support DAMON-based Operation Schemescad23cd779UPSTREAM: mm/damon/vaddr: support DAMON-based Operation Schemes2a437378a5UPSTREAM: mm/damon/core: implement DAMON-based Operation Schemes (DAMOS)3d9ce6d28bUPSTREAM: mm/damon/core: account age of target regionsb1209ff347UPSTREAM: mm/damon/core: nullify pointer ctx->kdamond with a NULLe0fad2fbbeUPSTREAM: mm/damon: needn't hold kdamond_lock to print pid of kdamondbcf5bbcaf4UPSTREAM: mm/damon: remove unnecessary do_exit() from kdamond526b5029adUPSTREAM: mm/damon/core: print kdamond start log in debug mode only6239bbbceaUPSTREAM: include/linux/damon.h: fix kernel-doc comments for 'damon_callback'8c5ef4d641UPSTREAM: mm/damon: grammar s/works/work/e31da16e69UPSTREAM: mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()'b25e76d9c3UPSTREAM: mm/damon: don't use strnlen() with known-bogus source lengthc1a4fca349UPSTREAM: mm/damon: add kunit testsb5131d9c10UPSTREAM: mm/damon: add user space selftestsfe62a24792UPSTREAM: mm/damon/dbgfs: support multiple contexts562b676ce9UPSTREAM: mm/damon/dbgfs: export kdamond pid to the user spacec10dc7808eUPSTREAM: mm/damon: implement a debugfs-based user space interface3ea808dca1UPSTREAM: mm/damon: add a tracepoint2afdd88030UPSTREAM: mm/damon: implement primitives for the virtual memory address spaces75e13bad97UPSTREAM: mm/idle_page_tracking: make PG_idle reusable0f1bc2a61dUPSTREAM: mm/damon: adaptively adjust regions488e19fc91UPSTREAM: mm/damon/core: implement region-based samplingbc19dd9a51UPSTREAM: mm: introduce Data Access MONitor (DAMON)35a697cab4BACKPORT: net/packet: fix slab-out-of-bounds access in packet_recvmsg()24d464d38bBACKPORT: fuse: fix pipe buffer lifetime for direct_io2e3c211e7eBACKPORT: dm: fix NULL pointer issue when free bioaed2e27d51UPSTREAM: kfence, x86: fix preemptible warning on KPTI-enabled systemse0513ed978ANDROID: ABI: Update allowed list for galaxy6ed058a9bfANDROID: abi_gki_aarch64.xml: update based on proper LTO=full setting46f414b1c2BACKPORT: virtio-blk: Use blk_validate_block_size() to validate block sizef06daa5a0bANDROID: add for tuning readahead size6def3a5ed8BACKPORT: media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls31beefbf14BACKPORT: nl80211: correctly check NL80211_ATTR_REG_ALPHA2 sizeb07625698eBACKPORT: ext4: don't BUG if someone dirty pages without asking ext4 first3628acf6b8ANDROID: GKI: Update symbols to abi_gki_aarch64_oplusb8bb3b43a4BACKPORT: iommu: Extend mutex lock scope in iommu_probe_device()00f2b55cc4BACKPORT: iommu: Fix race condition during default domain allocation0dcfc2c036ANDROID: GKI: Update symbols to symbol list9608dc38a0FROMLIST: remoteproc: Use unbounded workqueue for recovery workb5bcf0d667UPSTREAM: xfrm: fix tunnel model fragmentation behavior20e11d7969ANDROID: GKI: Enable CRYPTO_DESeff1ffbf0cANDROID: GKI: set more vfs-only exports into their own namespace3c06a5ce5eANDROID: Split ANDROID_STRUCT_PADDING into separate configs5b1bb43708ANDROID: selftests: incfs: skip large_file_test test is not enough free space3b25a439ceANDROID: selftests: incfs: Add -fno-omit-frame-pointer3e45af8a72ANDROID: incremental-fs: limit mount stack depthd8fade2b40ANDROID: GKI: Update symbols to abi_gki_aarch64_oplusceb6918d1dANDROID: vendor_hooks: Reduce pointless modversions CRC churn002528dfb5UPSTREAM: locking/lockdep: Avoid potential access of invalid memory in lock_class404df4751aANDROID: mm: Fix implicit declaration of function 'isolate_lru_page'e2c0e8502eANDROID: GKI: Update symbols to symbol list51513a1775ANDROID: GKI: Update symbols to symbol list7b7125914cANDROID: GKI: Add hook symbol to symbol list7a7eadac58Revert "ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree"cb7c1a4c78ANDROID: vendor_hooks: Add hooks to for free_unref_page_commita2485b8abdANDROID: vendor_hooks: Add hooks to for alloc_contig_rangebc159fee3dANDROID: GKI: Update symbols to symbol list95380146ceANDROID: vendor_hooks: Add hook in shrink_node_memcgsa3f112353cANDROID: GKI: Add symbols to symbol listec48b1892eFROMGIT: iommu/iova: Improve 32-bit free space estimated9845e9e5cANDROID: export walk_page_range and swp_swap_info71d560e017ANDROID: vendor_hooks: export shrink_slab74720dae8bANDROID: usb: gadget: f_accessory: add compat_ioctl supporte7f39d0aa2UPSTREAM: sr9700: sanity check for packet length6282531a84UPSTREAM: io_uring: return back safer resurrect87c1f135bfUPSTREAM: Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"ff0000fe82UPSTREAM: usb: gadget: don't release an existing dev->buf590a98d5d1UPSTREAM: 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-nextfor 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.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%