Re: FAILED: patch "[PATCH] mm/mempolicy: fix set_mempolicy_home_node() previous VMA" failed to apply to 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Added Michal to the Cc as I'm referencing his patch below.

* gregkh@xxxxxxxxxxxxxxxxxxx <gregkh@xxxxxxxxxxxxxxxxxxx> [231027 08:14]:
> 
> The patch below does not apply to the 6.1-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@xxxxxxxxxxxxxxx>.
> 
> To reproduce the conflict and resubmit, you may use the following commands:
> 
> git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
> git checkout FETCH_HEAD
> git cherry-pick -x 51f625377561e5b167da2db5aafb7ee268f691c5
> # <resolve conflicts, build, test, etc.>
> git commit -s
> git send-email --to '<stable@xxxxxxxxxxxxxxx>' --in-reply-to '2023102704-surrogate-dole-2888@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^..
> 
> Possible dependencies:

Can we add this patch to the dependency list?  It will allow my patch to
be applied cleanly, and looks like it is close to a valid backport
itself.

e976936cfc66 ("mm/mempolicy: do not duplicate policy if it is not
applicable for set_mempolicy_home_node")

If you don't agree, I can rework my patch to work without it.

Thanks,
Liam

...

> ------------------ original commit in Linus's tree ------------------
> 
> From 51f625377561e5b167da2db5aafb7ee268f691c5 Mon Sep 17 00:00:00 2001
> From: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>
> Date: Thu, 28 Sep 2023 13:24:32 -0400
> Subject: [PATCH] mm/mempolicy: fix set_mempolicy_home_node() previous VMA
>  pointer
> 
> The two users of mbind_range() are expecting that mbind_range() will
> update the pointer to the previous VMA, or return an error.  However,
> set_mempolicy_home_node() does not call mbind_range() if there is no VMA
> policy.  The fix is to update the pointer to the previous VMA prior to
> continuing iterating the VMAs when there is no policy.
> 
> Users may experience a WARN_ON() during VMA policy updates when updating
> a range of VMAs on the home node.
> 
> Link: https://lkml.kernel.org/r/20230928172432.2246534-1-Liam.Howlett@xxxxxxxxxx
> Link: https://lore.kernel.org/linux-mm/CALcu4rbT+fMVNaO_F2izaCT+e7jzcAciFkOvk21HGJsmLcUuwQ@xxxxxxxxxxxxxx/
> Fixes: f4e9e0e69468 ("mm/mempolicy: fix use-after-free of VMA iterator")
> Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
> Reported-by: Yikebaer Aizezi <yikebaer61@xxxxxxxxx>
> Closes: https://lore.kernel.org/linux-mm/CALcu4rbT+fMVNaO_F2izaCT+e7jzcAciFkOvk21HGJsmLcUuwQ@xxxxxxxxxxxxxx/
> Reviewed-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> 
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index f1b00d6ac7ee..29ebf1e7898c 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -1543,8 +1543,10 @@ SYSCALL_DEFINE4(set_mempolicy_home_node, unsigned long, start, unsigned long, le
>  		 * the home node for vmas we already updated before.
>  		 */
>  		old = vma_policy(vma);
> -		if (!old)
> +		if (!old) {
> +			prev = vma;
>  			continue;
> +		}
>  		if (old->mode != MPOL_BIND && old->mode != MPOL_PREFERRED_MANY) {
>  			err = -EOPNOTSUPP;
>  			break;
> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux