2024-02-17 07:33:02

by Donet Tom

[permalink] [raw]
Subject: [PATCH 2/3] mm/mempolicy: Avoid the fallthrough with MPOLD_BIND in mpol_misplaced.

We will update MPOL_PREFERRED_MANY in the follow up patch. This change
is required for that.

Signed-off-by: Aneesh Kumar K.V (IBM) <[email protected]>
Signed-off-by: Donet Tom <[email protected]>
---
mm/mempolicy.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 8478574c000c..73d698e21dae 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2515,7 +2515,15 @@ int mpol_misplaced(struct folio *folio, struct vm_area_struct *vma,
break;
goto out;
}
- fallthrough;
+
+ if (node_isset(curnid, pol->nodes))
+ goto out;
+ z = first_zones_zonelist(
+ node_zonelist(thisnid, GFP_HIGHUSER),
+ gfp_zone(GFP_HIGHUSER),
+ &pol->nodes);
+ polnid = zone_to_nid(z->zone);
+ break;

case MPOL_PREFERRED_MANY:
/*
--
2.39.3



2024-02-19 12:03:48

by Michal Hocko

[permalink] [raw]
Subject: Re: [PATCH 2/3] mm/mempolicy: Avoid the fallthrough with MPOLD_BIND in mpol_misplaced.

On Sat 17-02-24 01:31:34, Donet Tom wrote:
> We will update MPOL_PREFERRED_MANY in the follow up patch. This change
> is required for that.

Why is it a separate patch then? Does it make review of the next patch
easier? If so make it explicit in the changelog.

>
> Signed-off-by: Aneesh Kumar K.V (IBM) <[email protected]>
> Signed-off-by: Donet Tom <[email protected]>
> ---
> mm/mempolicy.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index 8478574c000c..73d698e21dae 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -2515,7 +2515,15 @@ int mpol_misplaced(struct folio *folio, struct vm_area_struct *vma,
> break;
> goto out;
> }
> - fallthrough;
> +
> + if (node_isset(curnid, pol->nodes))
> + goto out;
> + z = first_zones_zonelist(
> + node_zonelist(thisnid, GFP_HIGHUSER),
> + gfp_zone(GFP_HIGHUSER),
> + &pol->nodes);
> + polnid = zone_to_nid(z->zone);
> + break;
>
> case MPOL_PREFERRED_MANY:
> /*
> --
> 2.39.3

--
Michal Hocko
SUSE Labs

2024-02-19 15:19:36

by Donet Tom

[permalink] [raw]
Subject: Re: [PATCH 2/3] mm/mempolicy: Avoid the fallthrough with MPOLD_BIND in mpol_misplaced.


On 2/19/24 17:32, Michal Hocko wrote:
> On Sat 17-02-24 01:31:34, Donet Tom wrote:
>> We will update MPOL_PREFERRED_MANY in the follow up patch. This change
>> is required for that.
> Why is it a separate patch then? Does it make review of the next patch
> easier? If so make it explicit in the changelog.

Hi Michal

In this patch there is no functional changes. This is just re-arrangement of code. Patch 3 is the actual fix .It will not look nice if we mix these patches. As you said it is easy for reviewing also. That's why we kept it as a separate patch.

Thanks
Donet Tom

>
>> Signed-off-by: Aneesh Kumar K.V (IBM) <[email protected]>
>> Signed-off-by: Donet Tom <[email protected]>
>> ---
>> mm/mempolicy.c | 10 +++++++++-
>> 1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
>> index 8478574c000c..73d698e21dae 100644
>> --- a/mm/mempolicy.c
>> +++ b/mm/mempolicy.c
>> @@ -2515,7 +2515,15 @@ int mpol_misplaced(struct folio *folio, struct vm_area_struct *vma,
>> break;
>> goto out;
>> }
>> - fallthrough;
>> +
>> + if (node_isset(curnid, pol->nodes))
>> + goto out;
>> + z = first_zones_zonelist(
>> + node_zonelist(thisnid, GFP_HIGHUSER),
>> + gfp_zone(GFP_HIGHUSER),
>> + &pol->nodes);
>> + polnid = zone_to_nid(z->zone);
>> + break;
>>
>> case MPOL_PREFERRED_MANY:
>> /*
>> --
>> 2.39.3