Re: [PATCH v2 11/19] mm/mmap: Make vm_special_mapping::mremap return void

From: Christophe Leroy
Date: Tue Nov 24 2020 - 01:25:49 EST




Le 24/11/2020 à 01:29, Dmitry Safonov a écrit :
Previously .mremap() callback needed (int) return to provide way to
restrict resizing of a special mapping. Now it's restricted by
providing .may_split = special_mapping_split.

Removing (int) return simplifies further changes to
special_mapping_mremap() as it won't need save ret code from the
callback. Also, it removes needless `return 0` from callbacks.

Signed-off-by: Dmitry Safonov <dima@xxxxxxxxxx>
---
arch/arm/kernel/process.c | 3 +--
arch/arm64/kernel/vdso.c | 4 +---
arch/mips/vdso/genvdso.c | 3 +--
arch/x86/entry/vdso/vma.c | 4 +---
include/linux/mm_types.h | 2 +-
mm/mmap.c | 2 +-
6 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 65df8abd90bd..95a257927dae 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -780,7 +780,7 @@ struct vm_special_mapping {
struct vm_area_struct *vma,
struct vm_fault *vmf);
- int (*mremap)(const struct vm_special_mapping *sm,
+ void (*mremap)(const struct vm_special_mapping *sm,
struct vm_area_struct *new_vma);

Second line should be aligned to first line's parenthesis I think.

};
diff --git a/mm/mmap.c b/mm/mmap.c
index d0d458632c1b..17fe59a9780b 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3433,7 +3433,7 @@ static int special_mapping_mremap(struct vm_area_struct *new_vma,
return -EFAULT;
if (sm->mremap)
- return sm->mremap(sm, new_vma);
+ sm->mremap(sm, new_vma);
return 0;
}