aosp/android-mainline: update series (rebase onto v5.10-13264-g3b80dee70eaa)

up to 1e5e020b085d ("Merge 3b80dee70eaa ("Merge tag 'sched-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip") into android-mainline")

Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I4726e5a7992e01f00a4adc2f070830040826a59c
diff --git a/android-mainline/ANDROID-Add-vendor-hooks-to-the-scheduler.patch b/android-mainline/ANDROID-Add-vendor-hooks-to-the-scheduler.patch
index 248629a..1e25d6a 100644
--- a/android-mainline/ANDROID-Add-vendor-hooks-to-the-scheduler.patch
+++ b/android-mainline/ANDROID-Add-vendor-hooks-to-the-scheduler.patch
@@ -144,7 +144,7 @@
  
  	/*
  	 * If the node that the CPU is on has been offlined, cpu_to_node()
-@@ -4557,6 +4567,8 @@ void scheduler_tick(void)
+@@ -4543,6 +4553,8 @@ void scheduler_tick(void)
  	rq->idle_balance = idle_cpu(cpu);
  	trigger_load_balance(rq);
  #endif
diff --git a/android-mainline/ANDROID-Incremental-fs-Stress-tool.patch b/android-mainline/ANDROID-Incremental-fs-Stress-tool.patch
index e6fd9c7..a422863 100644
--- a/android-mainline/ANDROID-Incremental-fs-Stress-tool.patch
+++ b/android-mainline/ANDROID-Incremental-fs-Stress-tool.patch
@@ -18,7 +18,7 @@
 diff --git a/MAINTAINERS b/MAINTAINERS
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -8728,6 +8728,13 @@ F:	Documentation/hwmon/ina2xx.rst
+@@ -8729,6 +8729,13 @@ F:	Documentation/hwmon/ina2xx.rst
  F:	drivers/hwmon/ina2xx.c
  F:	include/linux/platform_data/ina2xx.h
  
diff --git a/android-mainline/ANDROID-Sched-Add-restricted-vendor-hooks-for-scheduler.patch b/android-mainline/ANDROID-Sched-Add-restricted-vendor-hooks-for-scheduler.patch
index 8169b85..4fbe47d 100644
--- a/android-mainline/ANDROID-Sched-Add-restricted-vendor-hooks-for-scheduler.patch
+++ b/android-mainline/ANDROID-Sched-Add-restricted-vendor-hooks-for-scheduler.patch
@@ -190,7 +190,7 @@
  
  	activate_task(rq, p, ENQUEUE_NOCLOCK);
  	trace_sched_wakeup_new(p);
-@@ -4267,6 +4277,7 @@ static struct rq *finish_task_switch(struct task_struct *prev)
+@@ -4253,6 +4263,7 @@ static struct rq *finish_task_switch(struct task_struct *prev)
  		 * task and put them back on the free list.
  		 */
  		kprobe_flush_task(prev);
@@ -198,7 +198,7 @@
  
  		/* Task is done with its stack. */
  		put_task_stack(prev);
-@@ -4578,6 +4589,7 @@ void scheduler_tick(void)
+@@ -4564,6 +4575,7 @@ void scheduler_tick(void)
  
  	rq_lock(rq, &rf);
  
@@ -206,7 +206,7 @@
  	update_rq_clock(rq);
  	thermal_pressure = arch_scale_thermal_pressure(cpu_of(rq));
  	update_thermal_load_avg(rq_clock_thermal(rq), rq, thermal_pressure);
-@@ -5084,6 +5096,7 @@ static void __sched notrace __schedule(bool preempt)
+@@ -5070,6 +5082,7 @@ static void __sched notrace __schedule(bool preempt)
  	clear_tsk_need_resched(prev);
  	clear_preempt_need_resched();
  
@@ -214,7 +214,7 @@
  	if (likely(prev != next)) {
  		rq->nr_switches++;
  		/*
-@@ -7581,6 +7594,7 @@ int sched_cpu_starting(unsigned int cpu)
+@@ -7571,6 +7584,7 @@ int sched_cpu_starting(unsigned int cpu)
  {
  	sched_rq_cpu_starting(cpu);
  	sched_tick_start(cpu);
@@ -222,7 +222,7 @@
  	return 0;
  }
  
-@@ -7632,6 +7646,8 @@ int sched_cpu_dying(unsigned int cpu)
+@@ -7622,6 +7636,8 @@ int sched_cpu_dying(unsigned int cpu)
  	BUG_ON(rq->nr_running != 1 || rq_has_pinned_tasks(rq));
  	rq_unlock_irqrestore(rq, &rf);
  
diff --git a/android-mainline/ANDROID-Sched-Export-scheduler-symbols-needed-by-vendor-modules.patch b/android-mainline/ANDROID-Sched-Export-scheduler-symbols-needed-by-vendor-modules.patch
index fad5601..b426040 100644
--- a/android-mainline/ANDROID-Sched-Export-scheduler-symbols-needed-by-vendor-modules.patch
+++ b/android-mainline/ANDROID-Sched-Export-scheduler-symbols-needed-by-vendor-modules.patch
@@ -88,7 +88,7 @@
  
  /*
   * task_rq_lock - lock p->pi_lock and lock the rq @p resides on.
-@@ -7690,7 +7691,9 @@ int in_sched_functions(unsigned long addr)
+@@ -7680,7 +7681,9 @@ int in_sched_functions(unsigned long addr)
   * Every task in system belongs to this group at bootup.
   */
  struct task_group root_task_group;
diff --git a/android-mainline/ANDROID-arm64-Add-support-for-asymmetric-AArch32-EL0-configurations.patch b/android-mainline/ANDROID-arm64-Add-support-for-asymmetric-AArch32-EL0-configurations.patch
index 647f320..06e1bf8 100644
--- a/android-mainline/ANDROID-arm64-Add-support-for-asymmetric-AArch32-EL0-configurations.patch
+++ b/android-mainline/ANDROID-arm64-Add-support-for-asymmetric-AArch32-EL0-configurations.patch
@@ -49,7 +49,7 @@
 diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -1898,6 +1898,20 @@ config DMI
+@@ -1899,6 +1899,20 @@ config DMI
  
  endmenu
  
diff --git a/android-mainline/ANDROID-arm64-Disallow-offlining-the-last-aarch32-cpu.patch b/android-mainline/ANDROID-arm64-Disallow-offlining-the-last-aarch32-cpu.patch
index 48bcfec..1d86b2c 100644
--- a/android-mainline/ANDROID-arm64-Disallow-offlining-the-last-aarch32-cpu.patch
+++ b/android-mainline/ANDROID-arm64-Disallow-offlining-the-last-aarch32-cpu.patch
@@ -28,7 +28,7 @@
 diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -1906,8 +1906,10 @@ config ASYMMETRIC_AARCH32
+@@ -1907,8 +1907,10 @@ config ASYMMETRIC_AARCH32
  	  CPU configurations. Once the AArch32 EL0 support is detected
  	  on a CPU, the feature is made available to user space to allow
  	  the execution of 32-bit (compat) applications by migrating
diff --git a/android-mainline/ANDROID-arm64-Enable-KVM-for-Asym-AArch32.patch b/android-mainline/ANDROID-arm64-Enable-KVM-for-Asym-AArch32.patch
index 94919dc..742ec66 100644
--- a/android-mainline/ANDROID-arm64-Enable-KVM-for-Asym-AArch32.patch
+++ b/android-mainline/ANDROID-arm64-Enable-KVM-for-Asym-AArch32.patch
@@ -17,7 +17,7 @@
 diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -1900,7 +1900,7 @@ endmenu
+@@ -1901,7 +1901,7 @@ endmenu
  
  config ASYMMETRIC_AARCH32
  	bool "Allow support for asymmetric AArch32 support"
diff --git a/android-mainline/ANDROID-arm64-Handle-AArch32-tasks-running-on-non-AArch32-cpu.patch b/android-mainline/ANDROID-arm64-Handle-AArch32-tasks-running-on-non-AArch32-cpu.patch
index ad5faf4..022ffe2 100644
--- a/android-mainline/ANDROID-arm64-Handle-AArch32-tasks-running-on-non-AArch32-cpu.patch
+++ b/android-mainline/ANDROID-arm64-Handle-AArch32-tasks-running-on-non-AArch32-cpu.patch
@@ -34,7 +34,7 @@
 diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -1905,10 +1905,9 @@ config ASYMMETRIC_AARCH32
+@@ -1906,10 +1906,9 @@ config ASYMMETRIC_AARCH32
  	  Enable this option to allow support for asymmetric AArch32 EL0
  	  CPU configurations. Once the AArch32 EL0 support is detected
  	  on a CPU, the feature is made available to user space to allow
diff --git a/android-mainline/ANDROID-dma-heap-Rework-allocation-calls-to-return-struct-dma_buf-instead-of-fd.patch b/android-mainline/ANDROID-dma-heap-Rework-allocation-calls-to-return-struct-dma_buf-instead-of-fd.patch
index cf82d6c..48ef527 100644
--- a/android-mainline/ANDROID-dma-heap-Rework-allocation-calls-to-return-struct-dma_buf-instead-of-fd.patch
+++ b/android-mainline/ANDROID-dma-heap-Rework-allocation-calls-to-return-struct-dma_buf-instead-of-fd.patch
@@ -98,7 +98,7 @@
 diff --git a/drivers/dma-buf/heaps/cma_heap.c b/drivers/dma-buf/heaps/cma_heap.c
 --- a/drivers/dma-buf/heaps/cma_heap.c
 +++ b/drivers/dma-buf/heaps/cma_heap.c
-@@ -267,10 +267,10 @@ static const struct dma_buf_ops cma_heap_buf_ops = {
+@@ -268,10 +268,10 @@ static const struct dma_buf_ops cma_heap_buf_ops = {
  	.release = cma_heap_dma_buf_release,
  };
  
@@ -113,7 +113,7 @@
  {
  	struct cma_heap *cma_heap = dma_heap_get_drvdata(heap);
  	struct cma_heap_buffer *buffer;
-@@ -285,7 +285,7 @@ static int cma_heap_allocate(struct dma_heap *heap,
+@@ -286,7 +286,7 @@ static int cma_heap_allocate(struct dma_heap *heap,
  
  	buffer = kzalloc(sizeof(*buffer), GFP_KERNEL);
  	if (!buffer)
@@ -122,7 +122,7 @@
  
  	INIT_LIST_HEAD(&buffer->attachments);
  	mutex_init(&buffer->lock);
-@@ -345,14 +345,7 @@ static int cma_heap_allocate(struct dma_heap *heap,
+@@ -346,14 +346,7 @@ static int cma_heap_allocate(struct dma_heap *heap,
  		goto free_pages;
  	}
  
@@ -138,7 +138,7 @@
  
  free_pages:
  	kfree(buffer->pages);
-@@ -361,7 +354,7 @@ static int cma_heap_allocate(struct dma_heap *heap,
+@@ -362,7 +355,7 @@ static int cma_heap_allocate(struct dma_heap *heap,
  free_buffer:
  	kfree(buffer);
  
diff --git a/android-mainline/ANDROID-ext4-Handle-casefolding-with-encryption.patch b/android-mainline/ANDROID-ext4-Handle-casefolding-with-encryption.patch
index 0275018..baf32e8 100644
--- a/android-mainline/ANDROID-ext4-Handle-casefolding-with-encryption.patch
+++ b/android-mainline/ANDROID-ext4-Handle-casefolding-with-encryption.patch
@@ -202,7 +202,7 @@
 diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
 --- a/fs/ext4/ext4.h
 +++ b/fs/ext4/ext4.h
-@@ -2165,6 +2165,17 @@ struct ext4_dir_entry {
+@@ -2195,6 +2195,17 @@ struct ext4_dir_entry {
  	char	name[EXT4_NAME_LEN];	/* File name */
  };
  
@@ -220,7 +220,7 @@
  /*
   * The new version of the directory entry.  Since EXT4 structures are
   * stored in intel byte order, and the name_len field could never be
-@@ -2179,6 +2190,22 @@ struct ext4_dir_entry_2 {
+@@ -2209,6 +2220,22 @@ struct ext4_dir_entry_2 {
  	char	name[EXT4_NAME_LEN];	/* File name */
  };
  
@@ -243,7 +243,7 @@
  /*
   * This is a bogus directory entry at the end of each leaf block that
   * records checksums.
-@@ -2220,10 +2247,24 @@ struct ext4_dir_entry_tail {
+@@ -2250,10 +2277,24 @@ struct ext4_dir_entry_tail {
   */
  #define EXT4_DIR_PAD			4
  #define EXT4_DIR_ROUND			(EXT4_DIR_PAD - 1)
@@ -270,7 +270,7 @@
  /*
   * If we ever get support for fs block sizes > page_size, we'll need
   * to remove the #if statements in the next two functions...
-@@ -2280,6 +2321,7 @@ static inline __le16 ext4_rec_len_to_disk(unsigned len, unsigned blocksize)
+@@ -2310,6 +2351,7 @@ static inline __le16 ext4_rec_len_to_disk(unsigned len, unsigned blocksize)
  #define DX_HASH_LEGACY_UNSIGNED		3
  #define DX_HASH_HALF_MD4_UNSIGNED	4
  #define DX_HASH_TEA_UNSIGNED		5
@@ -278,7 +278,7 @@
  
  static inline u32 ext4_chksum(struct ext4_sb_info *sbi, u32 crc,
  			      const void *address, unsigned int length)
-@@ -2334,6 +2376,7 @@ struct ext4_filename {
+@@ -2364,6 +2406,7 @@ struct ext4_filename {
  };
  
  #define fname_name(p) ((p)->disk_name.name)
@@ -286,7 +286,7 @@
  #define fname_len(p)  ((p)->disk_name.len)
  
  /*
-@@ -2675,21 +2718,22 @@ extern int __ext4_check_dir_entry(const char *, unsigned int, struct inode *,
+@@ -2705,21 +2748,22 @@ extern int __ext4_check_dir_entry(const char *, unsigned int, struct inode *,
  				  struct file *,
  				  struct ext4_dir_entry_2 *,
  				  struct buffer_head *, char *, int,
@@ -313,7 +313,7 @@
  			struct ext4_dir_entry_2 *de,
  			int buf_size,
  			struct ext4_filename *fname);
-@@ -2911,10 +2955,11 @@ extern int ext4_search_dir(struct buffer_head *bh,
+@@ -2941,10 +2985,11 @@ extern int ext4_search_dir(struct buffer_head *bh,
  			   int buf_size,
  			   struct inode *dir,
  			   struct ext4_filename *fname,
@@ -326,7 +326,7 @@
  				     struct buffer_head *bh,
  				     void *entry_buf,
  				     int buf_size,
-@@ -3472,9 +3517,6 @@ extern void ext4_initialize_dirent_tail(struct buffer_head *bh,
+@@ -3512,9 +3557,6 @@ extern void ext4_initialize_dirent_tail(struct buffer_head *bh,
  					unsigned int blocksize);
  extern int ext4_handle_dirty_dirblock(handle_t *handle, struct inode *inode,
  				      struct buffer_head *bh);
@@ -561,7 +561,7 @@
 diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
 --- a/fs/ext4/namei.c
 +++ b/fs/ext4/namei.c
-@@ -284,9 +284,11 @@ static int dx_make_map(struct inode *dir, struct ext4_dir_entry_2 *de,
+@@ -280,9 +280,11 @@ static int dx_make_map(struct inode *dir, struct ext4_dir_entry_2 *de,
  		       unsigned blocksize, struct dx_hash_info *hinfo,
  		       struct dx_map_entry map[]);
  static void dx_sort_map(struct dx_map_entry *map, unsigned count);
@@ -576,7 +576,7 @@
  static void dx_insert_block(struct dx_frame *frame,
  					u32 hash, ext4_lblk_t block);
  static int ext4_htree_next_block(struct inode *dir, __u32 hash,
-@@ -295,7 +297,7 @@ static int ext4_htree_next_block(struct inode *dir, __u32 hash,
+@@ -291,7 +293,7 @@ static int ext4_htree_next_block(struct inode *dir, __u32 hash,
  				 __u32 *start_hash);
  static struct buffer_head * ext4_dx_find_entry(struct inode *dir,
  		struct ext4_filename *fname,
@@ -585,7 +585,7 @@
  static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
  			     struct inode *dir, struct inode *inode);
  
-@@ -578,8 +580,9 @@ static inline void dx_set_limit(struct dx_entry *entries, unsigned value)
+@@ -574,8 +576,9 @@ static inline void dx_set_limit(struct dx_entry *entries, unsigned value)
  
  static inline unsigned dx_root_limit(struct inode *dir, unsigned infosize)
  {
@@ -597,7 +597,7 @@
  
  	if (ext4_has_metadata_csum(dir->i_sb))
  		entry_space -= sizeof(struct dx_tail);
-@@ -588,7 +591,8 @@ static inline unsigned dx_root_limit(struct inode *dir, unsigned infosize)
+@@ -584,7 +587,8 @@ static inline unsigned dx_root_limit(struct inode *dir, unsigned infosize)
  
  static inline unsigned dx_node_limit(struct inode *dir)
  {
@@ -607,7 +607,7 @@
  
  	if (ext4_has_metadata_csum(dir->i_sb))
  		entry_space -= sizeof(struct dx_tail);
-@@ -677,7 +681,10 @@ static struct stats dx_show_leaf(struct inode *dir,
+@@ -673,7 +677,10 @@ static struct stats dx_show_leaf(struct inode *dir,
  						name = fname_crypto_str.name;
  						len = fname_crypto_str.len;
  					}
@@ -619,7 +619,7 @@
  						       de->name_len, &h);
  					printk("%*.s:(E)%x.%u ", len, name,
  					       h.hash, (unsigned) ((char *) de
-@@ -693,7 +700,7 @@ static struct stats dx_show_leaf(struct inode *dir,
+@@ -689,7 +696,7 @@ static struct stats dx_show_leaf(struct inode *dir,
  				       (unsigned) ((char *) de - base));
  #endif
  			}
@@ -628,7 +628,7 @@
  			names++;
  		}
  		de = ext4_next_entry(de, size);
-@@ -765,11 +772,25 @@ dx_probe(struct ext4_filename *fname, struct inode *dir,
+@@ -761,11 +768,25 @@ dx_probe(struct ext4_filename *fname, struct inode *dir,
  	root = (struct dx_root *) frame->bh->b_data;
  	if (root->info.hash_version != DX_HASH_TEA &&
  	    root->info.hash_version != DX_HASH_HALF_MD4 &&
@@ -655,7 +655,7 @@
  	if (fname)
  		hinfo = &fname->hinfo;
  	hinfo->hash_version = root->info.hash_version;
-@@ -991,6 +1012,7 @@ static int htree_dirblock_to_tree(struct file *dir_file,
+@@ -987,6 +1008,7 @@ static int htree_dirblock_to_tree(struct file *dir_file,
  	struct ext4_dir_entry_2 *de, *top;
  	int err = 0, count = 0;
  	struct fscrypt_str fname_crypto_str = FSTR_INIT(NULL, 0), tmp_str;
@@ -663,7 +663,7 @@
  
  	dxtrace(printk(KERN_INFO "In htree dirblock_to_tree: block %lu\n",
  							(unsigned long)block));
-@@ -999,9 +1021,11 @@ static int htree_dirblock_to_tree(struct file *dir_file,
+@@ -995,9 +1017,11 @@ static int htree_dirblock_to_tree(struct file *dir_file,
  		return PTR_ERR(bh);
  
  	de = (struct ext4_dir_entry_2 *) bh->b_data;
@@ -676,7 +676,7 @@
  	/* Check if the directory is encrypted */
  	if (IS_ENCRYPTED(dir)) {
  		err = fscrypt_prepare_readdir(dir);
-@@ -1019,13 +1043,23 @@ static int htree_dirblock_to_tree(struct file *dir_file,
+@@ -1015,13 +1039,23 @@ static int htree_dirblock_to_tree(struct file *dir_file,
  
  	for (; de < top; de = ext4_next_entry(de, dir->i_sb->s_blocksize)) {
  		if (ext4_check_dir_entry(dir, NULL, de, bh,
@@ -702,7 +702,7 @@
  		if ((hinfo->hash < start_hash) ||
  		    ((hinfo->hash == start_hash) &&
  		     (hinfo->minor_hash < start_minor_hash)))
-@@ -1094,7 +1128,11 @@ int ext4_htree_fill_tree(struct file *dir_file, __u32 start_hash,
+@@ -1090,7 +1124,11 @@ int ext4_htree_fill_tree(struct file *dir_file, __u32 start_hash,
  		       start_hash, start_minor_hash));
  	dir = file_inode(dir_file);
  	if (!(ext4_test_inode_flag(dir, EXT4_INODE_INDEX))) {
@@ -715,7 +715,7 @@
  		if (hinfo.hash_version <= DX_HASH_TEA)
  			hinfo.hash_version +=
  				EXT4_SB(dir->i_sb)->s_hash_unsigned;
-@@ -1187,11 +1225,12 @@ int ext4_htree_fill_tree(struct file *dir_file, __u32 start_hash,
+@@ -1183,11 +1221,12 @@ int ext4_htree_fill_tree(struct file *dir_file, __u32 start_hash,
  static inline int search_dirblock(struct buffer_head *bh,
  				  struct inode *dir,
  				  struct ext4_filename *fname,
@@ -729,7 +729,7 @@
  }
  
  /*
-@@ -1212,7 +1251,10 @@ static int dx_make_map(struct inode *dir, struct ext4_dir_entry_2 *de,
+@@ -1208,7 +1247,10 @@ static int dx_make_map(struct inode *dir, struct ext4_dir_entry_2 *de,
  
  	while ((char *) de < base + blocksize) {
  		if (de->name_len && de->inode) {
@@ -741,7 +741,7 @@
  			map_tail--;
  			map_tail->hash = h.hash;
  			map_tail->offs = ((char *) de - base)>>2;
-@@ -1276,31 +1318,47 @@ static void dx_insert_block(struct dx_frame *frame, u32 hash, ext4_lblk_t block)
+@@ -1272,31 +1314,47 @@ static void dx_insert_block(struct dx_frame *frame, u32 hash, ext4_lblk_t block)
   * Returns: 0 if the directory entry matches, more than 0 if it
   * doesn't match or less than zero on error.
   */
@@ -801,7 +801,7 @@
  	return ret;
  }
  
-@@ -1309,7 +1367,8 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
+@@ -1305,7 +1363,8 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
  {
  	int len;
  
@@ -811,7 +811,7 @@
  		cf_name->name = NULL;
  		return;
  	}
-@@ -1336,14 +1395,11 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
+@@ -1332,14 +1391,11 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
   *
   * Return: %true if the directory entry matches, otherwise %false.
   */
@@ -828,7 +828,7 @@
  
  	if (!de->inode)
  		return false;
-@@ -1355,14 +1411,28 @@ static inline bool ext4_match(const struct inode *parent,
+@@ -1351,14 +1407,28 @@ static inline bool ext4_match(const struct inode *parent,
  #endif
  
  #ifdef CONFIG_UNICODE
@@ -861,7 +861,7 @@
  	}
  #endif
  
-@@ -1374,7 +1444,8 @@ static inline bool ext4_match(const struct inode *parent,
+@@ -1370,7 +1440,8 @@ static inline bool ext4_match(const struct inode *parent,
   */
  int ext4_search_dir(struct buffer_head *bh, char *search_buf, int buf_size,
  		    struct inode *dir, struct ext4_filename *fname,
@@ -871,7 +871,7 @@
  {
  	struct ext4_dir_entry_2 * de;
  	char * dlimit;
-@@ -1390,7 +1461,7 @@ int ext4_search_dir(struct buffer_head *bh, char *search_buf, int buf_size,
+@@ -1386,7 +1457,7 @@ int ext4_search_dir(struct buffer_head *bh, char *search_buf, int buf_size,
  			/* found a match - just to be sure, do
  			 * a full check */
  			if (ext4_check_dir_entry(dir, NULL, de, bh, search_buf,
@@ -880,7 +880,7 @@
  				return -1;
  			*res_dir = de;
  			return 1;
-@@ -1436,7 +1507,7 @@ static int is_dx_internal_node(struct inode *dir, ext4_lblk_t block,
+@@ -1432,7 +1503,7 @@ static int is_dx_internal_node(struct inode *dir, ext4_lblk_t block,
  static struct buffer_head *__ext4_find_entry(struct inode *dir,
  					     struct ext4_filename *fname,
  					     struct ext4_dir_entry_2 **res_dir,
@@ -889,7 +889,7 @@
  {
  	struct super_block *sb;
  	struct buffer_head *bh_use[NAMEI_RA_SIZE];
-@@ -1460,6 +1531,8 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
+@@ -1456,6 +1527,8 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
  		int has_inline_data = 1;
  		ret = ext4_find_inline_entry(dir, fname, res_dir,
  					     &has_inline_data);
@@ -898,7 +898,7 @@
  		if (has_inline_data) {
  			if (inlined)
  				*inlined = 1;
-@@ -1478,7 +1551,7 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
+@@ -1474,7 +1547,7 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
  		goto restart;
  	}
  	if (is_dx(dir)) {
@@ -907,7 +907,7 @@
  		/*
  		 * On success, or if the error was file not found,
  		 * return.  Otherwise, fall back to doing a search the
-@@ -1544,9 +1617,11 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
+@@ -1540,9 +1613,11 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
  			goto cleanup_and_exit;
  		}
  		set_buffer_verified(bh);
@@ -920,7 +920,7 @@
  			EXT4_I(dir)->i_dir_start_lookup = block;
  			ret = bh;
  			goto cleanup_and_exit;
-@@ -1581,7 +1656,7 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
+@@ -1577,7 +1652,7 @@ static struct buffer_head *__ext4_find_entry(struct inode *dir,
  static struct buffer_head *ext4_find_entry(struct inode *dir,
  					   const struct qstr *d_name,
  					   struct ext4_dir_entry_2 **res_dir,
@@ -929,7 +929,7 @@
  {
  	int err;
  	struct ext4_filename fname;
-@@ -1593,7 +1668,7 @@ static struct buffer_head *ext4_find_entry(struct inode *dir,
+@@ -1589,7 +1664,7 @@ static struct buffer_head *ext4_find_entry(struct inode *dir,
  	if (err)
  		return ERR_PTR(err);
  
@@ -938,7 +938,7 @@
  
  	ext4_fname_free_filename(&fname);
  	return bh;
-@@ -1614,7 +1689,7 @@ static struct buffer_head *ext4_lookup_entry(struct inode *dir,
+@@ -1610,7 +1685,7 @@ static struct buffer_head *ext4_lookup_entry(struct inode *dir,
  	if (err)
  		return ERR_PTR(err);
  
@@ -947,7 +947,7 @@
  
  	ext4_fname_free_filename(&fname);
  	return bh;
-@@ -1622,7 +1697,7 @@ static struct buffer_head *ext4_lookup_entry(struct inode *dir,
+@@ -1618,7 +1693,7 @@ static struct buffer_head *ext4_lookup_entry(struct inode *dir,
  
  static struct buffer_head * ext4_dx_find_entry(struct inode *dir,
  			struct ext4_filename *fname,
@@ -956,7 +956,7 @@
  {
  	struct super_block * sb = dir->i_sb;
  	struct dx_frame frames[EXT4_HTREE_LEVEL], *frame;
-@@ -1638,11 +1713,13 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir,
+@@ -1634,11 +1709,13 @@ static struct buffer_head * ext4_dx_find_entry(struct inode *dir,
  		return (struct buffer_head *) frame;
  	do {
  		block = dx_get_block(frame->at);
@@ -971,7 +971,7 @@
  					 block << EXT4_BLOCK_SIZE_BITS(sb),
  					 res_dir);
  		if (retval == 1)
-@@ -1737,7 +1814,7 @@ struct dentry *ext4_get_parent(struct dentry *child)
+@@ -1733,7 +1810,7 @@ struct dentry *ext4_get_parent(struct dentry *child)
  	struct ext4_dir_entry_2 * de;
  	struct buffer_head *bh;
  
@@ -980,7 +980,7 @@
  	if (IS_ERR(bh))
  		return ERR_CAST(bh);
  	if (!bh)
-@@ -1759,7 +1836,8 @@ struct dentry *ext4_get_parent(struct dentry *child)
+@@ -1755,7 +1832,8 @@ struct dentry *ext4_get_parent(struct dentry *child)
   * Returns pointer to last entry moved.
   */
  static struct ext4_dir_entry_2 *
@@ -990,7 +990,7 @@
  		unsigned blocksize)
  {
  	unsigned rec_len = 0;
-@@ -1767,7 +1845,8 @@ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count,
+@@ -1763,7 +1841,8 @@ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count,
  	while (count--) {
  		struct ext4_dir_entry_2 *de = (struct ext4_dir_entry_2 *)
  						(from + (map->offs<<2));
@@ -1000,7 +1000,7 @@
  		memcpy (to, de, rec_len);
  		((struct ext4_dir_entry_2 *) to)->rec_len =
  				ext4_rec_len_to_disk(rec_len, blocksize);
-@@ -1782,7 +1861,8 @@ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count,
+@@ -1778,7 +1857,8 @@ dx_move_dirents(char *from, char *to, struct dx_map_entry *map, int count,
   * Compact each dir entry in the range to the minimal rec_len.
   * Returns pointer to last entry in range.
   */
@@ -1010,7 +1010,7 @@
  {
  	struct ext4_dir_entry_2 *next, *to, *prev, *de = (struct ext4_dir_entry_2 *) base;
  	unsigned rec_len = 0;
-@@ -1791,7 +1871,7 @@ static struct ext4_dir_entry_2* dx_pack_dirents(char *base, unsigned blocksize)
+@@ -1787,7 +1867,7 @@ static struct ext4_dir_entry_2* dx_pack_dirents(char *base, unsigned blocksize)
  	while ((char*)de < base + blocksize) {
  		next = ext4_next_entry(de, blocksize);
  		if (de->inode && de->name_len) {
@@ -1019,7 +1019,7 @@
  			if (de > to)
  				memmove(to, de, rec_len);
  			to->rec_len = ext4_rec_len_to_disk(rec_len, blocksize);
-@@ -1809,13 +1889,12 @@ static struct ext4_dir_entry_2* dx_pack_dirents(char *base, unsigned blocksize)
+@@ -1805,13 +1885,12 @@ static struct ext4_dir_entry_2* dx_pack_dirents(char *base, unsigned blocksize)
   * Returns pointer to de in block into which the new entry will be inserted.
   */
  static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
@@ -1035,7 +1035,7 @@
  	u32 hash2;
  	struct dx_map_entry *map;
  	char *data1 = (*bh)->b_data, *data2;
-@@ -1827,7 +1906,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+@@ -1823,7 +1902,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
  	if (ext4_has_metadata_csum(dir->i_sb))
  		csum_size = sizeof(struct ext4_dir_entry_tail);
  
@@ -1044,7 +1044,7 @@
  	if (IS_ERR(bh2)) {
  		brelse(*bh);
  		*bh = NULL;
-@@ -1881,9 +1960,9 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+@@ -1877,9 +1956,9 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
  					hash2, split, count-split));
  
  	/* Fancy dance to stay within two buffers */
@@ -1056,7 +1056,7 @@
  	de->rec_len = ext4_rec_len_to_disk(data1 + (blocksize - csum_size) -
  					   (char *) de,
  					   blocksize);
-@@ -1905,7 +1984,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+@@ -1901,7 +1980,7 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
  		swap(*bh, bh2);
  		de = de2;
  	}
@@ -1065,7 +1065,7 @@
  	err = ext4_handle_dirty_dirblock(handle, dir, bh2);
  	if (err)
  		goto journal_error;
-@@ -1925,13 +2004,14 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
+@@ -1921,13 +2000,14 @@ static struct ext4_dir_entry_2 *do_split(handle_t *handle, struct inode *dir,
  }
  
  int ext4_find_dest_de(struct inode *dir, struct inode *inode,
@@ -1081,7 +1081,7 @@
  	int nlen, rlen;
  	unsigned int offset = 0;
  	char *top;
-@@ -1940,11 +2020,11 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
+@@ -1936,11 +2016,11 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
  	top = buf + buf_size - reclen;
  	while ((char *) de <= top) {
  		if (ext4_check_dir_entry(dir, NULL, de, bh,
@@ -1095,7 +1095,7 @@
  		rlen = ext4_rec_len_from_disk(de->rec_len, buf_size);
  		if ((de->inode ? rlen - nlen : rlen) >= reclen)
  			break;
-@@ -1958,7 +2038,8 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
+@@ -1954,7 +2034,8 @@ int ext4_find_dest_de(struct inode *dir, struct inode *inode,
  	return 0;
  }
  
@@ -1105,7 +1105,7 @@
  			struct ext4_dir_entry_2 *de,
  			int buf_size,
  			struct ext4_filename *fname)
-@@ -1966,7 +2047,7 @@ void ext4_insert_dentry(struct inode *inode,
+@@ -1962,7 +2043,7 @@ void ext4_insert_dentry(struct inode *inode,
  
  	int nlen, rlen;
  
@@ -1114,7 +1114,7 @@
  	rlen = ext4_rec_len_from_disk(de->rec_len, buf_size);
  	if (de->inode) {
  		struct ext4_dir_entry_2 *de1 =
-@@ -1980,6 +2061,17 @@ void ext4_insert_dentry(struct inode *inode,
+@@ -1976,6 +2057,17 @@ void ext4_insert_dentry(struct inode *inode,
  	ext4_set_de_type(inode->i_sb, de, inode->i_mode);
  	de->name_len = fname_len(fname);
  	memcpy(de->name, fname_name(fname), fname_len(fname));
@@ -1132,7 +1132,7 @@
  }
  
  /*
-@@ -1993,6 +2085,7 @@ void ext4_insert_dentry(struct inode *inode,
+@@ -1989,6 +2081,7 @@ void ext4_insert_dentry(struct inode *inode,
  static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
  			     struct inode *dir,
  			     struct inode *inode, struct ext4_dir_entry_2 *de,
@@ -1140,7 +1140,7 @@
  			     struct buffer_head *bh)
  {
  	unsigned int	blocksize = dir->i_sb->s_blocksize;
-@@ -2003,7 +2096,7 @@ static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
+@@ -1999,7 +2092,7 @@ static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
  		csum_size = sizeof(struct ext4_dir_entry_tail);
  
  	if (!de) {
@@ -1149,7 +1149,7 @@
  					blocksize - csum_size, fname, &de);
  		if (err)
  			return err;
-@@ -2016,7 +2109,7 @@ static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
+@@ -2012,7 +2105,7 @@ static int add_dirent_to_buf(handle_t *handle, struct ext4_filename *fname,
  	}
  
  	/* By now the buffer is marked for journaling */
@@ -1158,7 +1158,7 @@
  
  	/*
  	 * XXX shouldn't update any times until successful
-@@ -2108,11 +2201,16 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
+@@ -2104,11 +2197,16 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
  
  	/* Initialize the root; the dot dirents already exist */
  	de = (struct ext4_dir_entry_2 *) (&root->dotdot);
@@ -1178,7 +1178,7 @@
  	entries = root->entries;
  	dx_set_block(entries, 1);
  	dx_set_count(entries, 1);
-@@ -2123,7 +2221,12 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
+@@ -2119,7 +2217,12 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
  	if (fname->hinfo.hash_version <= DX_HASH_TEA)
  		fname->hinfo.hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
  	fname->hinfo.seed = EXT4_SB(dir->i_sb)->s_hash_seed;
@@ -1192,7 +1192,7 @@
  
  	memset(frames, 0, sizeof(frames));
  	frame = frames;
-@@ -2138,13 +2241,13 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
+@@ -2134,13 +2237,13 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
  	if (retval)
  		goto out_frames;	
  
@@ -1208,7 +1208,7 @@
  out_frames:
  	/*
  	 * Even if the block split failed, we have to properly write
-@@ -2244,7 +2347,7 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
+@@ -2240,7 +2343,7 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
  			goto out;
  		}
  		retval = add_dirent_to_buf(handle, &fname, dir, inode,
@@ -1217,7 +1217,7 @@
  		if (retval != -ENOSPC)
  			goto out;
  
-@@ -2271,7 +2374,7 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
+@@ -2267,7 +2370,7 @@ static int ext4_add_entry(handle_t *handle, struct dentry *dentry,
  	if (csum_size)
  		ext4_initialize_dirent_tail(bh, blocksize);
  
@@ -1226,7 +1226,7 @@
  out:
  	ext4_fname_free_filename(&fname);
  	brelse(bh);
-@@ -2293,6 +2396,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
+@@ -2289,6 +2392,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
  	struct ext4_dir_entry_2 *de;
  	int restart;
  	int err;
@@ -1234,7 +1234,7 @@
  
  again:
  	restart = 0;
-@@ -2301,7 +2405,8 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
+@@ -2297,7 +2401,8 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
  		return PTR_ERR(frame);
  	entries = frame->entries;
  	at = frame->at;
@@ -1244,7 +1244,7 @@
  	if (IS_ERR(bh)) {
  		err = PTR_ERR(bh);
  		bh = NULL;
-@@ -2313,7 +2418,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
+@@ -2309,7 +2414,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
  	if (err)
  		goto journal_error;
  
@@ -1253,7 +1253,7 @@
  	if (err != -ENOSPC)
  		goto cleanup;
  
-@@ -2433,12 +2538,12 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
+@@ -2429,12 +2534,12 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
  			goto journal_error;
  		}
  	}
@@ -1268,7 +1268,7 @@
  	goto cleanup;
  
  journal_error:
-@@ -2460,6 +2565,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
+@@ -2456,6 +2561,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
   */
  int ext4_generic_delete_entry(struct inode *dir,
  			      struct ext4_dir_entry_2 *de_del,
@@ -1276,7 +1276,7 @@
  			      struct buffer_head *bh,
  			      void *entry_buf,
  			      int buf_size,
-@@ -2474,7 +2580,7 @@ int ext4_generic_delete_entry(struct inode *dir,
+@@ -2470,7 +2576,7 @@ int ext4_generic_delete_entry(struct inode *dir,
  	de = (struct ext4_dir_entry_2 *)entry_buf;
  	while (i < buf_size - csum_size) {
  		if (ext4_check_dir_entry(dir, NULL, de, bh,
@@ -1285,7 +1285,7 @@
  			return -EFSCORRUPTED;
  		if (de == de_del)  {
  			if (pde)
-@@ -2499,6 +2605,7 @@ int ext4_generic_delete_entry(struct inode *dir,
+@@ -2495,6 +2601,7 @@ int ext4_generic_delete_entry(struct inode *dir,
  static int ext4_delete_entry(handle_t *handle,
  			     struct inode *dir,
  			     struct ext4_dir_entry_2 *de_del,
@@ -1293,7 +1293,7 @@
  			     struct buffer_head *bh)
  {
  	int err, csum_size = 0;
-@@ -2519,7 +2626,7 @@ static int ext4_delete_entry(handle_t *handle,
+@@ -2515,7 +2622,7 @@ static int ext4_delete_entry(handle_t *handle,
  	if (unlikely(err))
  		goto out;
  
@@ -1302,7 +1302,7 @@
  					dir->i_sb->s_blocksize, csum_size);
  	if (err)
  		goto out;
-@@ -2716,7 +2823,7 @@ struct ext4_dir_entry_2 *ext4_init_dot_dotdot(struct inode *inode,
+@@ -2712,7 +2819,7 @@ struct ext4_dir_entry_2 *ext4_init_dot_dotdot(struct inode *inode,
  {
  	de->inode = cpu_to_le32(inode->i_ino);
  	de->name_len = 1;
@@ -1311,7 +1311,7 @@
  					   blocksize);
  	strcpy(de->name, ".");
  	ext4_set_de_type(inode->i_sb, de, S_IFDIR);
-@@ -2726,11 +2833,12 @@ struct ext4_dir_entry_2 *ext4_init_dot_dotdot(struct inode *inode,
+@@ -2722,11 +2829,12 @@ struct ext4_dir_entry_2 *ext4_init_dot_dotdot(struct inode *inode,
  	de->name_len = 2;
  	if (!dotdot_real_len)
  		de->rec_len = ext4_rec_len_to_disk(blocksize -
@@ -1326,7 +1326,7 @@
  	strcpy(de->name, "..");
  	ext4_set_de_type(inode->i_sb, de, S_IFDIR);
  
-@@ -2862,7 +2970,8 @@ bool ext4_empty_dir(struct inode *inode)
+@@ -2858,7 +2966,8 @@ bool ext4_empty_dir(struct inode *inode)
  	}
  
  	sb = inode->i_sb;
@@ -1336,7 +1336,7 @@
  		EXT4_ERROR_INODE(inode, "invalid size");
  		return true;
  	}
-@@ -2874,7 +2983,7 @@ bool ext4_empty_dir(struct inode *inode)
+@@ -2870,7 +2979,7 @@ bool ext4_empty_dir(struct inode *inode)
  		return true;
  
  	de = (struct ext4_dir_entry_2 *) bh->b_data;
@@ -1345,7 +1345,7 @@
  				 0) ||
  	    le32_to_cpu(de->inode) != inode->i_ino || strcmp(".", de->name)) {
  		ext4_warning_inode(inode, "directory missing '.'");
-@@ -2883,7 +2992,7 @@ bool ext4_empty_dir(struct inode *inode)
+@@ -2879,7 +2988,7 @@ bool ext4_empty_dir(struct inode *inode)
  	}
  	offset = ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize);
  	de = ext4_next_entry(de, sb->s_blocksize);
@@ -1354,7 +1354,7 @@
  				 offset) ||
  	    le32_to_cpu(de->inode) == 0 || strcmp("..", de->name)) {
  		ext4_warning_inode(inode, "directory missing '..'");
-@@ -2907,7 +3016,7 @@ bool ext4_empty_dir(struct inode *inode)
+@@ -2903,7 +3012,7 @@ bool ext4_empty_dir(struct inode *inode)
  		de = (struct ext4_dir_entry_2 *) (bh->b_data +
  					(offset & (sb->s_blocksize - 1)));
  		if (ext4_check_dir_entry(inode, NULL, de, bh,
@@ -1363,7 +1363,7 @@
  			offset = (offset | (sb->s_blocksize - 1)) + 1;
  			continue;
  		}
-@@ -3102,6 +3211,8 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
+@@ -3098,6 +3207,8 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
  	struct buffer_head *bh;
  	struct ext4_dir_entry_2 *de;
  	handle_t *handle = NULL;
@@ -1372,7 +1372,7 @@
  
  	if (unlikely(ext4_forced_shutdown(EXT4_SB(dir->i_sb))))
  		return -EIO;
-@@ -3116,7 +3227,7 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
+@@ -3112,7 +3223,7 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
  		return retval;
  
  	retval = -ENOENT;
@@ -1381,7 +1381,7 @@
  	if (IS_ERR(bh))
  		return PTR_ERR(bh);
  	if (!bh)
-@@ -3143,7 +3254,7 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
+@@ -3139,7 +3250,7 @@ static int ext4_rmdir(struct inode *dir, struct dentry *dentry)
  	if (IS_DIRSYNC(dir))
  		ext4_handle_sync(handle);
  
@@ -1390,7 +1390,7 @@
  	if (retval)
  		goto end_rmdir;
  	if (!EXT4_DIR_LINK_EMPTY(inode))
-@@ -3192,8 +3303,9 @@ int __ext4_unlink(handle_t *handle, struct inode *dir, const struct qstr *d_name
+@@ -3188,8 +3299,9 @@ int __ext4_unlink(handle_t *handle, struct inode *dir, const struct qstr *d_name
  	struct buffer_head *bh;
  	struct ext4_dir_entry_2 *de;
  	int skip_remove_dentry = 0;
@@ -1401,7 +1401,7 @@
  	if (IS_ERR(bh))
  		return PTR_ERR(bh);
  
-@@ -3216,7 +3328,7 @@ int __ext4_unlink(handle_t *handle, struct inode *dir, const struct qstr *d_name
+@@ -3212,7 +3324,7 @@ int __ext4_unlink(handle_t *handle, struct inode *dir, const struct qstr *d_name
  		ext4_handle_sync(handle);
  
  	if (!skip_remove_dentry) {
@@ -1410,7 +1410,7 @@
  		if (retval)
  			goto out;
  		dir->i_ctime = dir->i_mtime = current_time(dir);
-@@ -3522,6 +3634,7 @@ struct ext4_renament {
+@@ -3518,6 +3630,7 @@ struct ext4_renament {
  	int dir_nlink_delta;
  
  	/* entry for "dentry" */
@@ -1418,7 +1418,7 @@
  	struct buffer_head *bh;
  	struct ext4_dir_entry_2 *de;
  	int inlined;
-@@ -3609,12 +3722,13 @@ static int ext4_find_delete_entry(handle_t *handle, struct inode *dir,
+@@ -3605,12 +3718,13 @@ static int ext4_find_delete_entry(handle_t *handle, struct inode *dir,
  	int retval = -ENOENT;
  	struct buffer_head *bh;
  	struct ext4_dir_entry_2 *de;
@@ -1434,7 +1434,7 @@
  		brelse(bh);
  	}
  	return retval;
-@@ -3638,7 +3752,8 @@ static void ext4_rename_delete(handle_t *handle, struct ext4_renament *ent,
+@@ -3634,7 +3748,8 @@ static void ext4_rename_delete(handle_t *handle, struct ext4_renament *ent,
  		retval = ext4_find_delete_entry(handle, ent->dir,
  						&ent->dentry->d_name);
  	} else {
@@ -1444,7 +1444,7 @@
  		if (retval == -ENOENT) {
  			retval = ext4_find_delete_entry(handle, ent->dir,
  							&ent->dentry->d_name);
-@@ -3751,7 +3866,8 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
+@@ -3747,7 +3862,8 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
  			return retval;
  	}
  
@@ -1454,7 +1454,7 @@
  	if (IS_ERR(old.bh))
  		return PTR_ERR(old.bh);
  	/*
-@@ -3765,7 +3881,7 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
+@@ -3761,7 +3877,7 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
  		goto end_rename;
  
  	new.bh = ext4_find_entry(new.dir, &new.dentry->d_name,
@@ -1463,7 +1463,7 @@
  	if (IS_ERR(new.bh)) {
  		retval = PTR_ERR(new.bh);
  		new.bh = NULL;
-@@ -3971,7 +4087,7 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry,
+@@ -3967,7 +4083,7 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry,
  		return retval;
  
  	old.bh = ext4_find_entry(old.dir, &old.dentry->d_name,
@@ -1472,7 +1472,7 @@
  	if (IS_ERR(old.bh))
  		return PTR_ERR(old.bh);
  	/*
-@@ -3985,7 +4101,7 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry,
+@@ -3981,7 +4097,7 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry,
  		goto end_rename;
  
  	new.bh = ext4_find_entry(new.dir, &new.dentry->d_name,
@@ -1484,7 +1484,7 @@
 diff --git a/fs/ext4/super.c b/fs/ext4/super.c
 --- a/fs/ext4/super.c
 +++ b/fs/ext4/super.c
-@@ -4288,12 +4288,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
+@@ -4251,12 +4251,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
  		struct unicode_map *encoding;
  		__u16 encoding_flags;
  
diff --git a/android-mainline/ANDROID-ext4-Optimize-match-for-casefolded-encrypted-dirs.patch b/android-mainline/ANDROID-ext4-Optimize-match-for-casefolded-encrypted-dirs.patch
index 7e36ded..c29338b 100644
--- a/android-mainline/ANDROID-ext4-Optimize-match-for-casefolded-encrypted-dirs.patch
+++ b/android-mainline/ANDROID-ext4-Optimize-match-for-casefolded-encrypted-dirs.patch
@@ -21,7 +21,7 @@
 diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
 --- a/fs/ext4/ext4.h
 +++ b/fs/ext4/ext4.h
-@@ -2607,9 +2607,9 @@ extern unsigned ext4_free_clusters_after_init(struct super_block *sb,
+@@ -2637,9 +2637,9 @@ extern unsigned ext4_free_clusters_after_init(struct super_block *sb,
  ext4_fsblk_t ext4_inode_to_goal_block(struct inode *);
  
  #ifdef CONFIG_UNICODE
@@ -33,7 +33,7 @@
  #endif
  
  #ifdef CONFIG_FS_ENCRYPTION
-@@ -2640,9 +2640,9 @@ static inline int ext4_fname_setup_filename(struct inode *dir,
+@@ -2670,9 +2670,9 @@ static inline int ext4_fname_setup_filename(struct inode *dir,
  	ext4_fname_from_fscrypt_name(fname, &name);
  
  #ifdef CONFIG_UNICODE
@@ -45,7 +45,7 @@
  }
  
  static inline int ext4_fname_prepare_lookup(struct inode *dir,
-@@ -2659,9 +2659,9 @@ static inline int ext4_fname_prepare_lookup(struct inode *dir,
+@@ -2689,9 +2689,9 @@ static inline int ext4_fname_prepare_lookup(struct inode *dir,
  	ext4_fname_from_fscrypt_name(fname, &name);
  
  #ifdef CONFIG_UNICODE
@@ -57,7 +57,7 @@
  }
  
  static inline void ext4_fname_free_filename(struct ext4_filename *fname)
-@@ -2686,15 +2686,16 @@ static inline int ext4_fname_setup_filename(struct inode *dir,
+@@ -2716,15 +2716,16 @@ static inline int ext4_fname_setup_filename(struct inode *dir,
  					    int lookup,
  					    struct ext4_filename *fname)
  {
@@ -79,7 +79,7 @@
 diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
 --- a/fs/ext4/namei.c
 +++ b/fs/ext4/namei.c
-@@ -797,7 +797,9 @@ dx_probe(struct ext4_filename *fname, struct inode *dir,
+@@ -793,7 +793,9 @@ dx_probe(struct ext4_filename *fname, struct inode *dir,
  	if (hinfo->hash_version <= DX_HASH_TEA)
  		hinfo->hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
  	hinfo->seed = EXT4_SB(dir->i_sb)->s_hash_seed;
@@ -90,7 +90,7 @@
  		ext4fs_dirhash(dir, fname_name(fname), fname_len(fname), hinfo);
  	hash = hinfo->hash;
  
-@@ -1362,20 +1364,22 @@ static int ext4_ci_compare(const struct inode *parent, const struct qstr *name,
+@@ -1358,20 +1360,22 @@ static int ext4_ci_compare(const struct inode *parent, const struct qstr *name,
  	return ret;
  }
  
@@ -117,7 +117,7 @@
  
  	len = utf8_casefold(dir->i_sb->s_encoding,
  			    iname, cf_name->name,
-@@ -1383,10 +1387,18 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
+@@ -1379,10 +1383,18 @@ void ext4_fname_setup_ci_filename(struct inode *dir, const struct qstr *iname,
  	if (len <= 0) {
  		kfree(cf_name->name);
  		cf_name->name = NULL;
@@ -137,7 +137,7 @@
  }
  #endif
  
-@@ -1417,16 +1429,12 @@ static bool ext4_match(struct inode *parent,
+@@ -1413,16 +1425,12 @@ static bool ext4_match(struct inode *parent,
  			struct qstr cf = {.name = fname->cf_name.name,
  					  .len = fname->cf_name.len};
  			if (IS_ENCRYPTED(parent)) {
@@ -159,7 +159,7 @@
  			}
  			return !ext4_ci_compare(parent, &cf, de->name,
  							de->name_len, true);
-@@ -2062,15 +2070,11 @@ void ext4_insert_dentry(struct inode *dir,
+@@ -2058,15 +2066,11 @@ void ext4_insert_dentry(struct inode *dir,
  	de->name_len = fname_len(fname);
  	memcpy(de->name, fname_name(fname), fname_len(fname));
  	if (ext4_hash_in_dirent(dir)) {
@@ -178,7 +178,7 @@
  	}
  }
  
-@@ -2221,10 +2225,9 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
+@@ -2217,10 +2221,9 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
  	if (fname->hinfo.hash_version <= DX_HASH_TEA)
  		fname->hinfo.hash_version += EXT4_SB(dir->i_sb)->s_hash_unsigned;
  	fname->hinfo.seed = EXT4_SB(dir->i_sb)->s_hash_seed;
diff --git a/android-mainline/ANDROID-fs-FS-tracepoints-to-track-IO.patch b/android-mainline/ANDROID-fs-FS-tracepoints-to-track-IO.patch
index 58da0c2..296d297 100644
--- a/android-mainline/ANDROID-fs-FS-tracepoints-to-track-IO.patch
+++ b/android-mainline/ANDROID-fs-FS-tracepoints-to-track-IO.patch
@@ -87,7 +87,7 @@
  
  static __u32 ext4_inode_csum(struct inode *inode, struct ext4_inode *raw,
  			      struct ext4_inode_info *ei)
-@@ -1135,6 +1136,16 @@ static int ext4_write_begin(struct file *file, struct address_space *mapping,
+@@ -1144,6 +1145,16 @@ static int ext4_write_begin(struct file *file, struct address_space *mapping,
  	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))
  		return -EIO;
  
@@ -104,7 +104,7 @@
  	trace_ext4_write_begin(inode, pos, len, flags);
  	/*
  	 * Reserve one block more for addition to orphan list in case
-@@ -1277,6 +1288,7 @@ static int ext4_write_end(struct file *file,
+@@ -1286,6 +1297,7 @@ static int ext4_write_end(struct file *file,
  	int inline_data = ext4_has_inline_data(inode);
  	bool verity = ext4_verity_in_progress(inode);
  
@@ -112,7 +112,7 @@
  	trace_ext4_write_end(inode, pos, len, copied);
  	if (inline_data) {
  		ret = ext4_write_inline_data_end(inode, pos, len,
-@@ -1387,6 +1399,7 @@ static int ext4_journalled_write_end(struct file *file,
+@@ -1396,6 +1408,7 @@ static int ext4_journalled_write_end(struct file *file,
  	int inline_data = ext4_has_inline_data(inode);
  	bool verity = ext4_verity_in_progress(inode);
  
@@ -120,7 +120,7 @@
  	trace_ext4_journalled_write_end(inode, pos, len, copied);
  	from = pos & (PAGE_SIZE - 1);
  	to = from + len;
-@@ -2953,6 +2966,16 @@ static int ext4_da_write_begin(struct file *file, struct address_space *mapping,
+@@ -2962,6 +2975,16 @@ static int ext4_da_write_begin(struct file *file, struct address_space *mapping,
  					len, flags, pagep, fsdata);
  	}
  	*fsdata = (void *)0;
@@ -137,7 +137,7 @@
  	trace_ext4_da_write_begin(inode, pos, len, flags);
  
  	if (ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) {
-@@ -3071,6 +3094,7 @@ static int ext4_da_write_end(struct file *file,
+@@ -3080,6 +3103,7 @@ static int ext4_da_write_end(struct file *file,
  		return ext4_write_end(file, mapping, pos,
  				      len, copied, page, fsdata);
  
diff --git a/android-mainline/ANDROID-sched-Add-rvh-for-cpu-controller-cgroup-attach.patch b/android-mainline/ANDROID-sched-Add-rvh-for-cpu-controller-cgroup-attach.patch
index 69eb791..8d9e19f 100644
--- a/android-mainline/ANDROID-sched-Add-rvh-for-cpu-controller-cgroup-attach.patch
+++ b/android-mainline/ANDROID-sched-Add-rvh-for-cpu-controller-cgroup-attach.patch
@@ -49,7 +49,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -8386,6 +8386,8 @@ static void cpu_cgroup_attach(struct cgroup_taskset *tset)
+@@ -8376,6 +8376,8 @@ static void cpu_cgroup_attach(struct cgroup_taskset *tset)
  
  	cgroup_taskset_for_each(task, css, tset)
  		sched_move_task(task);
diff --git a/android-mainline/ANDROID-sched-Export-few-scheduler-symbols-for-vendor-modules.patch b/android-mainline/ANDROID-sched-Export-few-scheduler-symbols-for-vendor-modules.patch
index 7765fe8..0aed9f4 100644
--- a/android-mainline/ANDROID-sched-Export-few-scheduler-symbols-for-vendor-modules.patch
+++ b/android-mainline/ANDROID-sched-Export-few-scheduler-symbols-for-vendor-modules.patch
@@ -63,7 +63,7 @@
 diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
 --- a/kernel/sched/sched.h
 +++ b/kernel/sched/sched.h
-@@ -1405,8 +1405,6 @@ enum numa_faults_stats {
+@@ -1406,8 +1406,6 @@ enum numa_faults_stats {
  };
  extern void sched_setnuma(struct task_struct *p, int node);
  extern int migrate_task_to(struct task_struct *p, int cpu);
@@ -72,13 +72,13 @@
  extern void init_numa_balancing(unsigned long clone_flags, struct task_struct *p);
  #else
  static inline void
-@@ -1417,6 +1415,9 @@ init_numa_balancing(unsigned long clone_flags, struct task_struct *p)
+@@ -1418,6 +1416,9 @@ init_numa_balancing(unsigned long clone_flags, struct task_struct *p)
  
  #ifdef CONFIG_SMP
  
 +extern int migrate_swap(struct task_struct *p, struct task_struct *t,
 +			int cpu, int scpu);
 +
- #define BALANCE_WORK	0x01
- #define BALANCE_PUSH	0x02
- 
+ static inline void
+ queue_balance_callback(struct rq *rq,
+ 		       struct callback_head *head,
diff --git a/android-mainline/ANDROID-sched-Export-sched_setattr_nocheck.patch b/android-mainline/ANDROID-sched-Export-sched_setattr_nocheck.patch
index 891e4d5..3795a39 100644
--- a/android-mainline/ANDROID-sched-Export-sched_setattr_nocheck.patch
+++ b/android-mainline/ANDROID-sched-Export-sched_setattr_nocheck.patch
@@ -16,7 +16,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -6127,6 +6127,7 @@ int sched_setattr_nocheck(struct task_struct *p, const struct sched_attr *attr)
+@@ -6113,6 +6113,7 @@ int sched_setattr_nocheck(struct task_struct *p, const struct sched_attr *attr)
  {
  	return __sched_setscheduler(p, attr, false, true);
  }
diff --git a/android-mainline/ANDROID-sched-Introduce-uclamp-latency-and-boost-wrapper.patch b/android-mainline/ANDROID-sched-Introduce-uclamp-latency-and-boost-wrapper.patch
index 94c0627..d6435cc 100644
--- a/android-mainline/ANDROID-sched-Introduce-uclamp-latency-and-boost-wrapper.patch
+++ b/android-mainline/ANDROID-sched-Introduce-uclamp-latency-and-boost-wrapper.patch
@@ -20,7 +20,7 @@
 diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
 --- a/kernel/sched/sched.h
 +++ b/kernel/sched/sched.h
-@@ -2523,6 +2523,11 @@ unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util,
+@@ -2520,6 +2520,11 @@ unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util,
  	return clamp(util, min_util, max_util);
  }
  
@@ -32,7 +32,7 @@
  /*
   * When uclamp is compiled in, the aggregation at rq level is 'turned off'
   * by default in the fast path and only gets turned on once userspace performs
-@@ -2543,12 +2548,36 @@ unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util,
+@@ -2540,12 +2545,36 @@ unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util,
  	return util;
  }
  
diff --git a/android-mainline/ANDROID-sched-Use-normal-vendor-hook-in-scheduler-tick.patch b/android-mainline/ANDROID-sched-Use-normal-vendor-hook-in-scheduler-tick.patch
index 58310cd..0cd5e0d 100644
--- a/android-mainline/ANDROID-sched-Use-normal-vendor-hook-in-scheduler-tick.patch
+++ b/android-mainline/ANDROID-sched-Use-normal-vendor-hook-in-scheduler-tick.patch
@@ -56,7 +56,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -4575,7 +4575,7 @@ void scheduler_tick(void)
+@@ -4561,7 +4561,7 @@ void scheduler_tick(void)
  	trigger_load_balance(rq);
  #endif
  
diff --git a/android-mainline/ANDROID-sched-add-vendor-hooks-to-handle-scheduling-priority.patch b/android-mainline/ANDROID-sched-add-vendor-hooks-to-handle-scheduling-priority.patch
index f72a2cf..db4d98e 100644
--- a/android-mainline/ANDROID-sched-add-vendor-hooks-to-handle-scheduling-priority.patch
+++ b/android-mainline/ANDROID-sched-add-vendor-hooks-to-handle-scheduling-priority.patch
@@ -92,7 +92,7 @@
  
  	/*
  	 * The child is not yet in the pid-hash so no cgroup attach races,
-@@ -5405,6 +5407,7 @@ void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task)
+@@ -5391,6 +5393,7 @@ void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task)
  	struct rq_flags rf;
  	struct rq *rq;
  
@@ -100,7 +100,7 @@
  	/* XXX used to be waiter->prio, not waiter->task->prio */
  	prio = __rt_effective_prio(pi_task, p->normal_prio);
  
-@@ -5539,6 +5542,7 @@ void set_user_nice(struct task_struct *p, long nice)
+@@ -5525,6 +5528,7 @@ void set_user_nice(struct task_struct *p, long nice)
  	 */
  	rq = task_rq_lock(p, &rf);
  	update_rq_clock(rq);
@@ -108,7 +108,7 @@
  
  	/*
  	 * The RT priorities are set via sched_setscheduler(), but we still
-@@ -5761,6 +5765,8 @@ static void __setscheduler(struct rq *rq, struct task_struct *p,
+@@ -5747,6 +5751,8 @@ static void __setscheduler(struct rq *rq, struct task_struct *p,
  		p->sched_class = &rt_sched_class;
  	else
  		p->sched_class = &fair_sched_class;
diff --git a/android-mainline/ANDROID-sched-avoid-placing-RT-threads-on-cores-handling-softirqs.patch b/android-mainline/ANDROID-sched-avoid-placing-RT-threads-on-cores-handling-softirqs.patch
index 23af3f1..b021d45 100644
--- a/android-mainline/ANDROID-sched-avoid-placing-RT-threads-on-cores-handling-softirqs.patch
+++ b/android-mainline/ANDROID-sched-avoid-placing-RT-threads-on-cores-handling-softirqs.patch
@@ -203,7 +203,7 @@
 diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
 --- a/kernel/sched/sched.h
 +++ b/kernel/sched/sched.h
-@@ -2747,3 +2747,15 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
+@@ -2744,3 +2744,15 @@ static inline bool is_per_cpu_kthread(struct task_struct *p)
  
  void swake_up_all_locked(struct swait_queue_head *q);
  void __prepare_to_swait(struct swait_queue_head *q, struct swait_queue *wait);
diff --git a/android-mainline/ANDROID-sched-core-Add-a-latency-sensitive-flag-to-uclamp.patch b/android-mainline/ANDROID-sched-core-Add-a-latency-sensitive-flag-to-uclamp.patch
index b46f6f1..d650385 100644
--- a/android-mainline/ANDROID-sched-core-Add-a-latency-sensitive-flag-to-uclamp.patch
+++ b/android-mainline/ANDROID-sched-core-Add-a-latency-sensitive-flag-to-uclamp.patch
@@ -26,7 +26,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -8495,6 +8495,27 @@ static int cpu_uclamp_max_show(struct seq_file *sf, void *v)
+@@ -8485,6 +8485,27 @@ static int cpu_uclamp_max_show(struct seq_file *sf, void *v)
  	cpu_uclamp_print(sf, UCLAMP_MAX);
  	return 0;
  }
@@ -54,7 +54,7 @@
  #endif /* CONFIG_UCLAMP_TASK_GROUP */
  
  #ifdef CONFIG_FAIR_GROUP_SCHED
-@@ -8863,6 +8884,12 @@ static struct cftype cpu_legacy_files[] = {
+@@ -8853,6 +8874,12 @@ static struct cftype cpu_legacy_files[] = {
  		.seq_show = cpu_uclamp_max_show,
  		.write = cpu_uclamp_max_write,
  	},
@@ -67,7 +67,7 @@
  #endif
  	{ }	/* Terminate */
  };
-@@ -9044,6 +9071,12 @@ static struct cftype cpu_files[] = {
+@@ -9034,6 +9061,12 @@ static struct cftype cpu_files[] = {
  		.seq_show = cpu_uclamp_max_show,
  		.write = cpu_uclamp_max_write,
  	},
diff --git a/android-mainline/ANDROID-sched-core-Add-vendor-hook-to-change-task-affinity.patch b/android-mainline/ANDROID-sched-core-Add-vendor-hook-to-change-task-affinity.patch
index dee3c7c..cd4b17f 100644
--- a/android-mainline/ANDROID-sched-core-Add-vendor-hook-to-change-task-affinity.patch
+++ b/android-mainline/ANDROID-sched-core-Add-vendor-hook-to-change-task-affinity.patch
@@ -51,7 +51,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -6557,6 +6557,9 @@ long sched_setaffinity(pid_t pid, const struct cpumask *in_mask)
+@@ -6543,6 +6543,9 @@ long sched_setaffinity(pid_t pid, const struct cpumask *in_mask)
  			goto again;
  		}
  	}
diff --git a/android-mainline/ANDROID-sched-core-Export-symbols-needed-by-modules.patch b/android-mainline/ANDROID-sched-core-Export-symbols-needed-by-modules.patch
index d45b489..6f1e1bd 100644
--- a/android-mainline/ANDROID-sched-core-Export-symbols-needed-by-modules.patch
+++ b/android-mainline/ANDROID-sched-core-Export-symbols-needed-by-modules.patch
@@ -26,7 +26,7 @@
  
  /*
   * When a task is enqueued on a rq, the clamp bucket currently defined by the
-@@ -5682,6 +5683,7 @@ int idle_cpu(int cpu)
+@@ -5668,6 +5669,7 @@ int idle_cpu(int cpu)
  
  	return 1;
  }
diff --git a/android-mainline/ANDROID-sched-gki-add-padding-to-some-structs-to-support-WALT.patch b/android-mainline/ANDROID-sched-gki-add-padding-to-some-structs-to-support-WALT.patch
index ad3b890..918c764 100644
--- a/android-mainline/ANDROID-sched-gki-add-padding-to-some-structs-to-support-WALT.patch
+++ b/android-mainline/ANDROID-sched-gki-add-padding-to-some-structs-to-support-WALT.patch
@@ -105,7 +105,7 @@
  };
  
  extern void init_defrootdomain(void);
-@@ -1063,6 +1068,8 @@ struct rq {
+@@ -1062,6 +1067,8 @@ struct rq {
  #endif
  	unsigned int		push_busy;
  	struct cpu_stop_work	push_work;
diff --git a/android-mainline/ANDROID-vendor_hooks-add-waiting-information-for-blocked-tasks.patch b/android-mainline/ANDROID-vendor_hooks-add-waiting-information-for-blocked-tasks.patch
index cb986b0..0c9cdda 100644
--- a/android-mainline/ANDROID-vendor_hooks-add-waiting-information-for-blocked-tasks.patch
+++ b/android-mainline/ANDROID-vendor_hooks-add-waiting-information-for-blocked-tasks.patch
@@ -234,7 +234,7 @@
  
  /*
   * Export tracepoints that act as a bare tracehook (ie: have no trace event
-@@ -7016,6 +7017,7 @@ void sched_show_task(struct task_struct *p)
+@@ -7002,6 +7003,7 @@ void sched_show_task(struct task_struct *p)
  
  	print_worker_info(KERN_INFO, p);
  	print_stop_info(KERN_INFO, p);
diff --git a/android-mainline/FROMLIST-HID-nintendo-add-nintendo-switch-controller-driver.patch b/android-mainline/FROMLIST-HID-nintendo-add-nintendo-switch-controller-driver.patch
index 665a0b0..068947d 100644
--- a/android-mainline/FROMLIST-HID-nintendo-add-nintendo-switch-controller-driver.patch
+++ b/android-mainline/FROMLIST-HID-nintendo-add-nintendo-switch-controller-driver.patch
@@ -32,7 +32,7 @@
 diff --git a/MAINTAINERS b/MAINTAINERS
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -12569,6 +12569,12 @@ W:	http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
+@@ -12570,6 +12570,12 @@ W:	http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
  F:	Documentation/scsi/NinjaSCSI.rst
  F:	drivers/scsi/nsp32*
  
diff --git a/android-mainline/Revert-sched-Remove-sched_setscheduler-EXPORTs.patch b/android-mainline/Revert-sched-Remove-sched_setscheduler-EXPORTs.patch
index 036cb21..f9314c8 100644
--- a/android-mainline/Revert-sched-Remove-sched_setscheduler-EXPORTs.patch
+++ b/android-mainline/Revert-sched-Remove-sched_setscheduler-EXPORTs.patch
@@ -18,7 +18,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -6058,11 +6058,13 @@ int sched_setscheduler(struct task_struct *p, int policy,
+@@ -6044,11 +6044,13 @@ int sched_setscheduler(struct task_struct *p, int policy,
  {
  	return _sched_setscheduler(p, policy, param, true);
  }
@@ -32,7 +32,7 @@
  
  int sched_setattr_nocheck(struct task_struct *p, const struct sched_attr *attr)
  {
-@@ -6087,6 +6089,7 @@ int sched_setscheduler_nocheck(struct task_struct *p, int policy,
+@@ -6073,6 +6075,7 @@ int sched_setscheduler_nocheck(struct task_struct *p, int policy,
  {
  	return _sched_setscheduler(p, policy, param, false);
  }
diff --git a/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch b/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch
index 60bf172..e754dc4 100644
--- a/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch
+++ b/android-mainline/Revert-sched-core-Prevent-race-condition-between-cpuset-and-__sched_setscheduler.patch
@@ -75,7 +75,7 @@
 diff --git a/kernel/sched/core.c b/kernel/sched/core.c
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -5874,9 +5874,6 @@ static int __sched_setscheduler(struct task_struct *p,
+@@ -5860,9 +5860,6 @@ static int __sched_setscheduler(struct task_struct *p,
  			return retval;
  	}
  
@@ -85,7 +85,7 @@
  	/*
  	 * Make sure no PI-waiters arrive (or leave) while we are
  	 * changing the priority of the task:
-@@ -5951,8 +5948,6 @@ static int __sched_setscheduler(struct task_struct *p,
+@@ -5937,8 +5934,6 @@ static int __sched_setscheduler(struct task_struct *p,
  	if (unlikely(oldpolicy != -1 && oldpolicy != p->policy)) {
  		policy = oldpolicy = -1;
  		task_rq_unlock(rq, p, &rf);
@@ -94,7 +94,7 @@
  		goto recheck;
  	}
  
-@@ -6014,10 +6009,8 @@ static int __sched_setscheduler(struct task_struct *p,
+@@ -6000,10 +5995,8 @@ static int __sched_setscheduler(struct task_struct *p,
  	head = splice_balance_callbacks(rq);
  	task_rq_unlock(rq, p, &rf);
  
@@ -106,7 +106,7 @@
  
  	/* Run balance callbacks after we've adjusted the PI chain: */
  	balance_callbacks(rq, head);
-@@ -6027,8 +6020,6 @@ static int __sched_setscheduler(struct task_struct *p,
+@@ -6013,8 +6006,6 @@ static int __sched_setscheduler(struct task_struct *p,
  
  unlock:
  	task_rq_unlock(rq, p, &rf);
@@ -115,7 +115,7 @@
  	return retval;
  }
  
-@@ -6157,14 +6148,9 @@ do_sched_setscheduler(pid_t pid, int policy, struct sched_param __user *param)
+@@ -6143,14 +6134,9 @@ do_sched_setscheduler(pid_t pid, int policy, struct sched_param __user *param)
  	rcu_read_lock();
  	retval = -ESRCH;
  	p = find_process_by_pid(pid);
diff --git a/android-mainline/series b/android-mainline/series
index 1cb121e..45b849e 100644
--- a/android-mainline/series
+++ b/android-mainline/series
@@ -1,8 +1,8 @@
 #
 # android-mainline patches
 #
-# Applies onto upstream 614cb5894306 Linux v5.10-12913-g614cb5894306
-# Matches android-mainline 1bc25c60c18b ("Merge 614cb5894306 ("Merge tag 'acpi-5.11-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm") into android-mainline")
+# Applies onto upstream 3b80dee70eaa Linux v5.10-13264-g3b80dee70eaa
+# Matches android-mainline 1e5e020b085d ("Merge 3b80dee70eaa ("Merge tag 'sched-urgent-2020-12-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip") into android-mainline")
 #
 Revert-Merge-345b17acb1aa-Merge-tag-for-linus-5.11-rc1-of-git-git.kernel.org-pub-scm-linux-kernel-git-rw-uml-into-android-mainline.patch
 Revert-block-grant-IOPRIO_CLASS_RT-to-CAP_SYS_NICE.patch