[PATCH v2 02/70] radix tree test suite: Add support for fallthrough attribute

2021-01-12 Thread Liam R. Howlett
Add support for fallthrough on case statements. Note this does *NOT* check for missing fallthrough, but does allow compiling of code with fallthrough in case statements. Signed-off-by: Liam R. Howlett --- tools/testing/radix-tree/linux/kernel.h | 7 +++ 1 file changed, 7 insertions(+) diff

[PATCH v2 12/70] mm: Remove rb tree.

2021-01-12 Thread Liam R. Howlett
Remove the RB tree and start using the maple tree for vm_area_struct tracking. Signed-off-by: Liam R. Howlett --- arch/x86/kernel/tboot.c| 1 - drivers/firmware/efi/efi.c | 1 - include/linux/mm.h | 4 - include/linux/mm_types.h | 27 +- kernel/fork.c | 8 - m

[PATCH v2 10/70] mm/mmap: Change unmapped_area and unmapped_area_topdown to use maple tree

2021-01-12 Thread Liam R. Howlett
Use the new maple tree data structure to find an unmapped area. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 249 ++ 1 file changed, 27 insertions(+), 222 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index f123f9c97dfe8..3b3084ee309b7 100

[PATCH v2 15/70] mm/mmap: Change vm_brk_flags() to use mm_populate_vma()

2021-01-12 Thread Liam R. Howlett
Skip searching for the vma to populate after creating it by passing in a pointer. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index f500d5e490f1c..cab665a6daa05 100644 --- a/mm/mmap.c +++ b/mm/mmap.c

[PATCH v2 20/70] mm/mmap: Change __do_munmap() to avoid unnecessary lookups.

2021-01-12 Thread Liam R. Howlett
As there is no longer a vmacache, find_vma() is more expensive and so avoid doing them Signed-off-by: Liam R. Howlett --- mm/mmap.c | 115 -- 1 file changed, 59 insertions(+), 56 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index cc9d0c524d

[PATCH v2 36/70] arch/xtensa: Use maple tree iterators for unmapped area

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- arch/xtensa/kernel/syscall.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/xtensa/kernel/syscall.c b/arch/xtensa/kernel/syscall.c index 2c415fce6801a..26ec2e67879ad 100644 --- a/arch/xtensa/kernel/syscall.c +++ b/arch/xtensa/kernel/s

[PATCH v2 51/70] kernel/sys: Use maple tree iterators instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- kernel/sys.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sys.c b/kernel/sys.c index a730c03ee607c..fe061c54a5a46 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1858,9 +1858,10 @@ static int prctl_set_mm_exe_file(struct mm_struc

[PATCH v2 42/70] fs/exec: Use vma_next() instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- fs/exec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/exec.c b/fs/exec.c index aa466921d6a97..6eb585ea1b841 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -712,7 +712,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned

[PATCH v2 21/70] mm/mmap: Move mmap_region() below do_munmap()

2021-01-12 Thread Liam R. Howlett
Relocation of code for the next commit. There should be no changes here. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 490 ++ 1 file changed, 240 insertions(+), 250 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index af426972c9dd2..07aec9

[PATCH v2 45/70] fs/userfaultfd: Stop using vma linked list.

2021-01-12 Thread Liam R. Howlett
Don't use the mm_struct linked list or the vma->vm_next in prep for removal Signed-off-by: Liam R. Howlett --- fs/userfaultfd.c | 24 +--- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index 000b457ad0876..b0eac6fb3e8e2 100

[PATCH v2 68/70] mm/util: Remove __vma_link_list() and __vma_unlink_list()

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/util.c | 40 1 file changed, 40 deletions(-) diff --git a/mm/util.c b/mm/util.c index 48c79f2784eca..74888472a0848 100644 --- a/mm/util.c +++ b/mm/util.c @@ -271,46 +271,6 @@ void *memdup_user_nul(const void __user *s

[PATCH v2 57/70] mm/memcontrol: Stop using mm->highest_vm_end

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/memcontrol.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 29459a6ce1c7a..7fe753d6a81f1 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5892,7 +5892,7 @@ static unsigned long mem_cgrou

[PATCH v2 63/70] mm/nommu: Use maple tree iterators instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/nommu.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mm/nommu.c b/mm/nommu.c index 0faf39b32cdb9..4e5cc63728b65 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -677,6 +677,7 @@ static void delete_vma(struct mm_struct *mm, struct

[PATCH v2 70/70] mm/mmap: Convert __insert_vm_struct to use mas, convert vma_link to use vma_mas_link()

2021-01-12 Thread Liam R. Howlett
Drop unused vma_store() Signed-off-by: Liam R. Howlett --- mm/mmap.c | 24 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index ce8857b9abd89..b4ed8be4899b8 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -514,21 +514,9 @@ static void vma_

[PATCH v2 33/70] arch/s390: Use maple tree iterators instead of linked list.

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- arch/s390/mm/gmap.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c index 64795d0349263..8f7ed79583b29 100644 --- a/arch/s390/mm/gmap.c +++ b/arch/s390/mm/gmap.c @@ -2502,8 +2502,9 @@ static con

[PATCH v2 43/70] fs/proc/base: Use maple tree iterators in place of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- fs/proc/base.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/proc/base.c b/fs/proc/base.c index b362523a9829a..0a7d4d3d6ae9b 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -2316,6 +2316,7 @@ proc_map_files_readdir(struct file *f

Re: [RFC PATCH v2 15/26] of/fdt: Introduce early_init_dt_add_memory_hyp()

2021-01-12 Thread Quentin Perret
On Tuesday 12 Jan 2021 at 09:53:36 (-0600), Rob Herring wrote: > On Tue, Jan 12, 2021 at 8:26 AM Quentin Perret wrote: > > > > On Tuesday 12 Jan 2021 at 08:10:47 (-0600), Rob Herring wrote: > > > On Tue, Jan 12, 2021 at 3:51 AM Quentin Perret wrote: > > > > > > > > On Monday 11 Jan 2021 at 08:45:

[PATCH v2 31/70] arch/powerpc: Remove mmap linked list from mm/book2s32/subpage_prot

2021-01-12 Thread Liam R. Howlett
Start using the maple tree Signed-off-by: Liam R. Howlett --- arch/powerpc/mm/book3s64/subpage_prot.c | 13 ++--- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c index 60c6ea16a972a..ada1531

[PATCH v2 66/70] mm/swapfile: Use maple tree iterator instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/swapfile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/swapfile.c b/mm/swapfile.c index d58361109066d..10e1d60ff6f89 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -2104,9 +2104,10 @@ static int unuse_mm(struct mm_struct *mm, u

[PATCH v2 62/70] mm/msync: Use vma_next() instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/msync.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/msync.c b/mm/msync.c index 69c6d20295318..8100ad5b12eb8 100644 --- a/mm/msync.c +++ b/mm/msync.c @@ -100,7 +100,7 @@ SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int,

[PATCH v2 18/70] mm/mmap: Drop munmap_vma_range()

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mmap.c | 23 --- 1 file changed, 23 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index d3dfea031c0d5..1cef158c31909 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -483,29 +483,6 @@ static inline struct vm_area_struct *vma_next(struct mm_st

[PATCH] crypto: keembay - CRYPTO_DEV_KEEMBAY_OCS_HCU should depend on ARCH_KEEMBAY

2021-01-12 Thread Geert Uytterhoeven
The Intel Keem Bay Offload and Crypto Subsystem (OCS) Hash Control Unit (HCU) is only present on Intel Keem Bay SoCs. Hence add a dependency on ARCH_KEEMBAY, to prevent asking the user about this driver when configuring a kernel without Intel Keem Bay platform support. Fixes: 472b0cd39e16 ("c

[PATCH v2 08/70] mm/mmap: Change find_vma() to use the maple tree

2021-01-12 Thread Liam R. Howlett
Start using the maple tree to find VMA entries in an mm_struct. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 29 +++-- 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 65789b188c380..ab1cb0efc4c65 100644 --- a/mm/mmap.c +++ b/m

[PATCH v2 19/70] mm: Remove vmacache

2021-01-12 Thread Liam R. Howlett
The maple tree is able to find a VMA quick enough to no longer need the vma cache. Remove the vmacache to reduce work in keeping it up to date and code complexity. Signed-off-by: Liam R. Howlett --- fs/exec.c | 3 - fs/proc/task_mmu.c| 1 - include/linux/mm_t

[PATCH v2 04/70] radix tree test suite: Add keme_cache_alloc_bulk() support

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- tools/testing/radix-tree/linux.c | 51 +++ tools/testing/radix-tree/linux/slab.h | 1 + 2 files changed, 52 insertions(+) diff --git a/tools/testing/radix-tree/linux.c b/tools/testing/radix-tree/linux.c index 380bbc0a48d6f..fb19a40

[PATCH v2 26/70] mmap: make remove_vma_list() inline

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/mmap.c b/mm/mmap.c index f750e85d4dc2c..964582c0f16ee 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2294,7 +2294,8 @@ EXPORT_SYMBOL_GPL(find_extend_vma); * * Called with the mm s

[PATCH v2 30/70] arch/powerpc: Remove mmap linked list from mm/book2s32/tlb

2021-01-12 Thread Liam R. Howlett
Start using the maple tree Signed-off-by: Liam R. Howlett --- arch/powerpc/mm/book3s32/tlb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/mm/book3s32/tlb.c b/arch/powerpc/mm/book3s32/tlb.c index b6c7427daa6fe..be595b36dc4cd 100644 --- a/arch/powerpc/mm/book3

[PATCH v2 35/70] arch/x86: Use maple tree iterators for vdso/vma

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- arch/x86/entry/vdso/vma.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c index 9185cb1d13b9b..f531efb00ba35 100644 --- a/arch/x86/entry/vdso/vma.c +++ b/arch/x86/entry/vdso/vma.c @

[PATCH v2 34/70] arch/um: Use maple tree iterators instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- arch/um/kernel/tlb.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/arch/um/kernel/tlb.c b/arch/um/kernel/tlb.c index 61776790cd678..e40dd6deb1d21 100644 --- a/arch/um/kernel/tlb.c +++ b/arch/um/kernel/tlb.c @@ -590,21 +590,19

[PATCH v2 69/70] mm: Remove vma linked list.

2021-01-12 Thread Liam R. Howlett
The vma linked list has been replaced by the maple tree iterators and vma_next() vma_prev() functions. A part of this change is also the iterators free_pgd_range(), zap_page_range(), and unmap_single_vma() Signed-off-by: Liam R. Howlett --- include/linux/mm_types.h | 8 +- kernel/fork.c

[PATCH v2 50/70] kernel/sched/fair: Use maple tree iterators instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- kernel/sched/fair.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ae7ceba8fd4f2..1cb3a245ffd85 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -2723,6 +2723,7 @@ stati

Re: [PATCH] arm64: PCI: Enable SMC conduit

2021-01-12 Thread Vidya Sagar
On 1/5/2021 10:27 AM, Jeremy Linton wrote: External email: Use caution opening links or attachments Given that most arm64 platform's PCI implementations needs quirks to deal with problematic config accesses, this is a good place to apply a firmware abstraction. The ARM PCI SMMCCC spec detail

[PATCH v2 60/70] mm/mprotect: Use maple tree navigation instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mprotect.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mm/mprotect.c b/mm/mprotect.c index 56c02beb60414..a6208b872336e 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -518,6 +518,7 @@ static int do_mprotect_pkey(unsigned lon

[PATCH v2 59/70] mm/mlock: Use maple tree iterators instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mlock.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/mm/mlock.c b/mm/mlock.c index 884b1216da6a6..2c27597ebcf6b 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -591,6 +591,7 @@ static int apply_vma_lock_flags(unsigned

[PATCH v2 67/70] mm/nommu: Stop inserting into the vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/nommu.c | 4 1 file changed, 4 deletions(-) diff --git a/mm/nommu.c b/mm/nommu.c index 4e5cc63728b65..a3f97a612f16a 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -617,8 +617,6 @@ static void add_vma_to_mm(struct mm_struct *mm, struct vm_area_struct *vma)

[PATCH v2 65/70] mm/pagewalk: Use vma_next() instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/pagewalk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/pagewalk.c b/mm/pagewalk.c index e81640d9f1770..20bd8d14d0425 100644 --- a/mm/pagewalk.c +++ b/mm/pagewalk.c @@ -408,7 +408,7 @@ int walk_page_range(struct mm_struct *mm, unsign

[PATCH v2 41/70] fs/coredump: Use maple tree iterators in place of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- fs/coredump.c | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/coredump.c b/fs/coredump.c index c6acfc694f658..a69f281a08afb 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -1040,10 +1040,10 @@ static unsigned long vma_dump_

[PATCH v2 64/70] mm/oom_kill: Use maple tree iterators instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/oom_kill.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 8b84661a64109..a5e2045ec2763 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -514,6 +514,7 @@ bool __oom_reap_task_mm(struct mm_struct *mm)

Re: [RFC] perf/x86: Only expose userspace rdpmc for events on current CPU

2021-01-12 Thread Rob Herring
On Tue, Jan 12, 2021 at 9:33 AM Peter Zijlstra wrote: > > On Thu, Jan 07, 2021 at 05:01:36PM -0700, Rob Herring wrote: > > Userspace access using rdpmc only makes sense if the event is valid for > > the current CPU. However, cap_user_rdpmc is currently set no matter which > > CPU the event is asso

[PATCH v2 61/70] mm/mremap: Use vma_next() instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mremap.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/mremap.c b/mm/mremap.c index a7526a8c1fe5a..3b6e7f0324635 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -465,7 +465,7 @@ static unsigned long move_vma(struct vm_area_struct

[PATCH v2 53/70] mm/huge_memory: Use vma_next() instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/huge_memory.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index ec2bb93f74314..4005beb23daf9 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2304,12 +2304,12 @@ void vma_adjust_trans_h

Re: [PATCH 2/2] selftests/bpf: add verifier test for PTR_TO_MEM spill

2021-01-12 Thread KP Singh
On Tue, Jan 12, 2021 at 4:43 PM Daniel Borkmann wrote: > > On 1/12/21 4:35 PM, Gilad Reti wrote: > > On Tue, Jan 12, 2021 at 4:56 PM KP Singh wrote: > >> On Tue, Jan 12, 2021 at 10:16 AM Gilad Reti wrote: > >>> > >>> Add test to check that the verifier is able to recognize spilling of > >>> PTR_

[PATCH v2 28/70] arch/arm64: Remove mmap linked list from vdso.

2021-01-12 Thread Liam R. Howlett
Start using the maple tree Signed-off-by: Liam R. Howlett --- arch/arm64/kernel/vdso.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c index debb8995d57fb..caa7d8f6b99db 100644 --- a/arch/arm64/kernel/vdso.c +++ b/arch/a

[PATCH v2 58/70] mm/mempolicy: Use maple tree iterators instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mempolicy.c | 33 - 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 3ca4898f3f249..e0b8e658f18eb 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -404,9 +404,10 @@ void m

Re: [PATCH 7/9] KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write]

2021-01-12 Thread Alexandru Elisei
Hi Eric, On 1/12/21 4:04 PM, Alexandru Elisei wrote: > Hi Eric, > > On 12/12/20 6:50 PM, Eric Auger wrote: >> Instead of converting the vgic_io_device handle to a kvm_io_device >> handled and then do the oppositive, pass a vgic_io_device pointer all >> along the call chain. > To me, it looks like

[PATCH v2 09/70] mm/mmap: Change find_vma_prev() to use maple tree

2021-01-12 Thread Liam R. Howlett
Change the implementation of find_vma_prev to use the new maple tree data structure. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index ab1cb0efc4c65..f123f9c97dfe8 100644 ---

[PATCH v2 46/70] ipc/shm: Stop using the vma linked list

2021-01-12 Thread Liam R. Howlett
When searching for a VMA, a maple state can be used instead of the linked list in the mm_struct Signed-off-by: Liam R. Howlett --- ipc/shm.c | 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ipc/shm.c b/ipc/shm.c index e25c7c6106bcf..4ad8788352099 100644 --- a/ip

[PATCH v2 24/70] mmap: Remove __do_munmap() in favour of do_mas_munmap()

2021-01-12 Thread Liam R. Howlett
Export new interface and use it in place of old interface. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 4 ++-- mm/mmap.c | 16 mm/mremap.c| 7 --- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/include/linux/mm.h b/include/lin

[PATCH v2 03/70] radix tree test suite: Add support for kmem_cache_free_bulk

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- tools/testing/radix-tree/linux.c | 9 + tools/testing/radix-tree/linux/slab.h | 1 + 2 files changed, 10 insertions(+) diff --git a/tools/testing/radix-tree/linux.c b/tools/testing/radix-tree/linux.c index 93f7de81fbe87..380bbc0a48d6f 100644 --- a/

[PATCH v2 55/70] mm/ksm: Use maple tree iterators instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/ksm.c | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/mm/ksm.c b/mm/ksm.c index 0960750bb316d..9aa579cef7614 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -975,10 +975,12 @@ static int unmerge_and_remove_all_rmap_items(void)

[PATCH v2 22/70] mm/mmap: Add do_mas_munmap() and wraper for __do_munmap()

2021-01-12 Thread Liam R. Howlett
To avoid extra tree work, it is necessary to support passing in a maple state to key functions. Start this work with __do_munmap(). Signed-off-by: Liam R. Howlett --- mm/mmap.c | 102 ++ 1 file changed, 72 insertions(+), 30 deletions(-) diff

[PATCH v2 40/70] fs/binfmt_elf: Use maple tree iterators for fill_files_note()

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- fs/binfmt_elf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index fa50e8936f5fc..92b67b914bf96 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1609,6 +1609,7 @@ static int fill_files_note(struct

[PATCH v2 23/70] mmap: Use find_vma_intersection in do_mmap() for overlap

2021-01-12 Thread Liam R. Howlett
When detecting a conflict with MAP_FIXED_NOREPLACE, using the new interface avoids the need for a temp variable Signed-off-by: Liam R. Howlett --- mm/mmap.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 8bc4ee7cc2fff..c0a64c4726b67 100644 ---

[PATCH v2 49/70] kernel/events/uprobes: Use maple tree iterators instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- kernel/events/uprobes.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 00b0358739ab3..b0aa05be2a61d 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -356,8

[PATCH v2 32/70] arch/powerpc: Optimize cell spu task sync.

2021-01-12 Thread Liam R. Howlett
Use the vma api to look up the spu reference instead of walking the linked list. Signed-off-by: Liam R. Howlett --- arch/powerpc/oprofile/cell/spu_task_sync.c | 22 ++ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/oprofile/cell/spu_task_sync.c

[PATCH v2 44/70] fs/proc/task_mmu: Stop using linked list and highest_vm_end

2021-01-12 Thread Liam R. Howlett
Remove references to mm_struct linked list and highest_vm_end for when they are removed Signed-off-by: Liam R. Howlett --- fs/proc/task_mmu.c | 42 -- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c

[PATCH v2 48/70] kernel/events/core: Use maple tree iterators instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- kernel/events/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index dc568ca295bdc..767bec30c395f 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -9888,8 +9888,9 @@ static vo

[PATCH v2 25/70] mm/mmap: Change do_brk_munmap() to use do_mas_align_munmap()

2021-01-12 Thread Liam R. Howlett
do_brk_munmap() already has aligned addresses. Signed-off-by: Liam R. Howlett --- mm/mmap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 9be91b47db6b4..f750e85d4dc2c 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -3004,12 +3004,13 @@ static int

[PATCH v2 47/70] kernel/acct: Use maple tree iterators instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- kernel/acct.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kernel/acct.c b/kernel/acct.c index f175df8f6aa4a..bcfe2cf7c7c0f 100644 --- a/kernel/acct.c +++ b/kernel/acct.c @@ -537,16 +537,14 @@ void acct_collect(long exitcode, int gro

[PATCH v2 56/70] mm/madvise: Use vma_next instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/madvise.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/madvise.c b/mm/madvise.c index 13f5677b93222..0da3c9a5f5b82 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -1151,7 +1151,7 @@ int do_madvise(struct mm_struct *mm, unsigned long

[PATCH v2 52/70] mm/gup: Use maple tree navigation instead of linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/gup.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index b06e2a6d90187..20392efb2d9ba 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -1465,6 +1465,7 @@ int __mm_populate(unsigned long start, unsigned long len, int i

[PATCH v2 38/70] drivers/oprofile: Lookup address in tree instead of linked list.

2021-01-12 Thread Liam R. Howlett
Use the vma interface to find the vma if one exists instead of the linked list Signed-off-by: Liam R. Howlett --- drivers/oprofile/buffer_sync.c | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/oprofile/buffer_sync.c b/drivers/oprofile/buffer_sync.c ind

[PATCH v2 16/70] mm: Move find_vma_intersection to mmap.c and change implementation to maple tree.

2021-01-12 Thread Liam R. Howlett
When searching for a vma within a range, it is easier to use the maple tree interface. This means the find_vma() call changes to a special case of the find_vma_intersection(). Exported for kvm module. Signed-off-by: Liam R. Howlett --- include/linux/mm.h | 10 ++ mm/mmap.c | 4

[PATCH v2 29/70] arch/parsic: Remove mmap linked list from kernel/cache

2021-01-12 Thread Liam R. Howlett
Start using the maple tree Signed-off-by: Liam R. Howlett --- arch/parisc/kernel/cache.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index 86a1a63563fd5..288a25e1b1c29 100644 --- a/arch/parisc/kernel/cache.c

[PATCH v2 37/70] drivers/misc/cxl: Use maple tree iterators for cxl_prefault_vma()

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- drivers/misc/cxl/fault.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/misc/cxl/fault.c b/drivers/misc/cxl/fault.c index 01153b74334a1..47951b84f2cda 100644 --- a/drivers/misc/cxl/fault.c +++ b/drivers/misc/cxl/fault.c @@ -313,6 +

[PATCH v2 07/70] mm/mmap: Introduce unlock_range() for code cleanup

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/mmap.c | 37 ++--- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index bf0de273161e1..65789b188c380 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2983,6 +2983,20 @@ int split_vma(struct mm_s

Re: [PATCH] mm/userfaultfd: fix memory corruption due to writeprotect

2021-01-12 Thread Peter Zijlstra
On Tue, Jan 05, 2021 at 01:03:48PM -0500, Andrea Arcangeli wrote: > On Tue, Jan 05, 2021 at 04:37:27PM +0100, Peter Zijlstra wrote: > > (your other email clarified this point; the COW needs to copy while > > holding the PTL and we need TLBI under PTL if we're to change this) > > The COW doesn't ne

[PATCH v2 39/70] drivers/tee/optee: Use maple tree iterators for __check_mem_type()

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- drivers/tee/optee/call.c | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/tee/optee/call.c b/drivers/tee/optee/call.c index c981757ba0d40..94acf379eaeeb 100644 --- a/drivers/tee/optee/call.c +++ b/drivers/tee/optee/call.c

[PATCH v2 01/70] radix tree test suite: Enhancements for Maple Tree

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett Signed-off-by: Matthew Wilcox (Oracle) --- tools/testing/radix-tree/linux.c| 16 +++- tools/testing/radix-tree/linux/kernel.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/testing/radix-tree/linux.c b/tools/testing

[PATCH v2 54/70] mm/khugepaged: Use maple tree iterators instead of vma linked list

2021-01-12 Thread Liam R. Howlett
Signed-off-by: Liam R. Howlett --- mm/khugepaged.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mm/khugepaged.c b/mm/khugepaged.c index 4e3dff13eb70c..fbfcee552da6c 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -2049,6 +2049,7 @@ static unsigned int khugepage

Re: [RFC PATCH v3 00/16] CXL 2.0 Support

2021-01-12 Thread Bjorn Helgaas
On Tue, Jan 12, 2021 at 10:55:50PM +0800, 刘乐乐(乐了) wrote: > Ben, > > Thanks for your hard work. I have compiled this patch(aff2b059786d , > cxl-2.0v3) together qemu emulator v3, this is the first time I see a CXL > device in linux. > > Still I have problems, I can saw the CXL device with `lspci -v

Re: [PATCH v2 29/48] soc/tegra: pmc: Link domains to the parent Core domain

2021-01-12 Thread Dmitry Osipenko
12.01.2021 16:30, Ulf Hansson пишет: > - trimmed cc-list > > On Thu, 17 Dec 2020 at 19:07, Dmitry Osipenko wrote: >> >> The Core domain is a parent of PMC power domains, hence PMC domains >> should be set up as a sub-domains of the parent (Core) domain if >> "power-domains" phandle presents in a

Re: [PATCH 2/2] selftests/bpf: add verifier test for PTR_TO_MEM spill

2021-01-12 Thread Gilad Reti
On Tue, Jan 12, 2021 at 6:17 PM KP Singh wrote: > > On Tue, Jan 12, 2021 at 4:43 PM Daniel Borkmann wrote: > > > > On 1/12/21 4:35 PM, Gilad Reti wrote: > > > On Tue, Jan 12, 2021 at 4:56 PM KP Singh wrote: > > >> On Tue, Jan 12, 2021 at 10:16 AM Gilad Reti wrote: > > >>> > > >>> Add test to ch

omapfb removal (was: Re: [PATCHv1] video: omapfb2: Make standard and custom DSI command mode panel driver mutually exclusive)

2021-01-12 Thread Sebastian Reichel
[dropped linux-next from Cc] Hi, On Tue, Jan 12, 2021 at 03:10:56PM +0200, Tomi Valkeinen wrote: > >> But why is it it we need omapfb at all when we have omapdrm? > > > > I think there are two reasons omapfb has not been killed yet. One > > reason was missing support for manually updated DSI pan

Re: [PATCH] ARM: fix link warning with XIP + frame-pointer

2021-01-12 Thread Nathan Chancellor
On Tue, Jan 12, 2021 at 04:46:40PM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann > > When frame pointers are used instead of the ARM unwinder, > and the kernel is built using clang with an external assembler > and CONFIG_XIP_KERNEL, every file produces two warnings > like: > > arm-linux-gnue

Re: [PATCH v10 8/8] selinux: include a consumer of the new IMA critical data hook

2021-01-12 Thread Paul Moore
On Thu, Jan 7, 2021 at 11:07 PM Tushar Sugandhi wrote: > From: Lakshmi Ramasubramanian > > SELinux stores the active policy in memory, so the changes to this data > at runtime would have an impact on the security guarantees provided > by SELinux. Measuring in-memory SELinux policy through IMA su

Re: omapfb removal (was: Re: [PATCHv1] video: omapfb2: Make standard and custom DSI command mode panel driver mutually exclusive)

2021-01-12 Thread Laurent Pinchart
Hi Sebastian, On Tue, Jan 12, 2021 at 05:24:54PM +0100, Sebastian Reichel wrote: > [dropped linux-next from Cc] > > Hi, > > On Tue, Jan 12, 2021 at 03:10:56PM +0200, Tomi Valkeinen wrote: > > >> But why is it it we need omapfb at all when we have omapdrm? > > > > > > I think there are two reaso

[PATCH] mm: memcontrol: prevent starvation when writing memory.high

2021-01-12 Thread Johannes Weiner
When a value is written to a cgroup's memory.high control file, the write() context first tries to reclaim the cgroup to size before putting the limit in place for the workload. Concurrent charges from the workload can keep such a write() looping in reclaim indefinitely. In the past, a write to me

Re: [PATCH bpf-next 1/4] bpf: enable task local storage for tracing programs

2021-01-12 Thread Yonghong Song
On 1/11/21 3:45 PM, Song Liu wrote: On Jan 11, 2021, at 1:58 PM, Martin Lau wrote: On Mon, Jan 11, 2021 at 10:35:43PM +0100, KP Singh wrote: On Mon, Jan 11, 2021 at 7:57 PM Martin KaFai Lau wrote: On Fri, Jan 08, 2021 at 03:19:47PM -0800, Song Liu wrote: [ ... ] diff --git a/kernel

Re: [PATCH v2] arm64: perf: Fix access percpu variables in preemptible context

2021-01-12 Thread Mark Rutland
On Tue, Jan 12, 2021 at 03:07:36PM +, Will Deacon wrote: > On Fri, Jan 08, 2021 at 08:55:27PM +0800, Lecopzer Chen wrote: > > > On Mon, 21 Dec 2020 at 21:53, Lecopzer Chen > > > wrote: > > > > > > > > commit 367c820ef08082 ("arm64: Enable perf events based hard lockup > > > > detector") > >

Re: [PATCH v2 0/5] Optimize iommu_map_sg() performance

2021-01-12 Thread Christoph Hellwig
On Tue, Jan 12, 2021 at 04:00:59PM +, Robin Murphy wrote: > Out of curiosity, how much of the difference is attributable to actual > indirect call overhead vs. the additional massive reduction in visits to > arm_smmu_rpm_{get,put} that you fail to mention? There are ways to optimise > indirect

Re: [PATCH 2/2] ASoC: cros_ec_codec: Reset I2S RX when probing

2021-01-12 Thread Enric Balletbo i Serra
Hi Yu-Hsuan, Thank you for the patch. On 7/1/21 9:59, Yu-Hsuan Hsu wrote: > It is not guaranteed that I2S RX is disabled when the kernel booting. > For example, if the kernel crashes while it is enabled, it will keep > enabled until the next time EC reboots. Reset I2S RX when probing to > fix thi

Re: SLUB: percpu partial object count is highly inaccurate, causing some memory wastage and maybe also worse tail latencies?

2021-01-12 Thread Christoph Lameter
On Tue, 12 Jan 2021, Jann Horn wrote: > [This is not something I intend to work on myself. But since I > stumbled over this issue, I figured I should at least document/report > it, in case anyone is willing to pick it up.] Well yeah all true. There is however a slabinfo tool that has an -s option

Re: [PATCH bpf-next] bpf: Clarify return value of probe str helpers

2021-01-12 Thread Yonghong Song
On 1/12/21 4:34 AM, Brendan Jackman wrote: When the buffer is too small to contain the input string, these helpers return the length of the buffer, not the length of the original string. This tries to make the docs totally clear about that, since "the length of the [copied ]string" could also

Re: [PATCH 3/4] workqueue: Tag bound workers with KTHREAD_IS_PER_CPU

2021-01-12 Thread Lai Jiangshan
On Tue, Jan 12, 2021 at 10:51 PM Peter Zijlstra wrote: > > Mark the per-cpu workqueue workers as KTHREAD_IS_PER_CPU. > > Workqueues have unfortunate semantics in that per-cpu workers are not > default flushed and parked during hotplug, however a subset does > manual flush on hotplug and hard relie

Re: [PATCH 1/2] cros_ec_commands: Add EC_CODEC_I2S_RX_RESET

2021-01-12 Thread Enric Balletbo i Serra
Hi, On 12/1/21 15:10, Mark Brown wrote: > On Mon, Jan 11, 2021 at 05:52:31PM -0800, Guenter Roeck wrote: >> On Mon, Jan 11, 2021 at 4:42 PM Mark Brown wrote: > >>> TBH that seems like a big enough change to split out from this and done >>> as a separate series, I'd be perfectly happy to apply yo

[PATCH RFC 1/3] media: i2c: adv7842: remove open coded version of SMBus block write

2021-01-12 Thread Wolfram Sang
The version here is identical to the one in the I2C core, so use a define to keep the original name within the driver but call the I2C core function instead. Signed-off-by: Wolfram Sang --- drivers/media/i2c/adv7842.c | 14 +- 1 file changed, 1 insertion(+), 13 deletions(-) diff --g

[PATCH RFC 0/3] treewide: remove open coded SMBus block transfers

2021-01-12 Thread Wolfram Sang
The bigger picture is that I want to extend the maximum block length for SMBus block transfers from 32 (SMBus2) to 255 (SMBus3). That needs some cleanups and refactoring first. To make that easier, it would be helpful if all in-kernel users would call the helper functions of the I2C core for SMBus

[PATCH RFC 3/3] ipmi: remove open coded version of SMBus block write

2021-01-12 Thread Wolfram Sang
The block-write function of the core was not used because there was no client-struct to use. However, in this case it seems apropriate to use a temporary client struct. Because we are answering a request we recieved when being a client ourselves. So, convert the code to use a temporary client and u

[PATCH RFC 2/3] media: i2c: adv7842: remove open coded version of SMBus block read

2021-01-12 Thread Wolfram Sang
The open coded version differs from the one in the core in one way: the buffer will be always copied back, even when the transfer failed. It looks like it is expected that the sanity check for a correct CRC and header will bail out later. Use the block read from the I2C core and propagate a potent

Re: [PATCH V3] arch: x86: kernel: cpu: Takes a letter away and append a colon to match below stuc member

2021-01-12 Thread Reinette Chatre
Hi Bhaskar, Thank you for fixing this. Could you please fix the subject line to: 1) have correct prefix of "x86/resctrl:". You can see the custom by running "git log arch/x86/kernel/cpu/resctrl". 2) fix the typo: stuc -> struct On 1/12/2021 3:01 AM, Bhaskar Chowdhury wrote: s/kernlfs/kernfs/

Re: [PATCH bpf-next] bpf: Fix a verifier message for alloc size helper arg

2021-01-12 Thread Yonghong Song
On 1/12/21 4:39 AM, Brendan Jackman wrote: The error message here is misleading, the argument will be rejected unless it is a known constant. Signed-off-by: Brendan Jackman Okay, this is for bpf_ringbuf_reserve() helper where the size must be a constant. Acked-by: Yonghong Song

[PATCH 0/2] KVM: SVM: Track physical cpu and asid_generation via the vmcb

2021-01-12 Thread Cathy Avery
In the cases where vmcbs change processors from one vmrun to another updated information in the vmcb from a prior run can potentially be lost. By tracking the physical cpu and asid_generation per vmcb instead of svm->vcpu the following scenario illustrated by Paolo can be avoided. ---

Re: [PATCH] spi: rpc-if: Gaurd .pm assignment with CONFIG_PM_SLEEP #ifdef check

2021-01-12 Thread Mark Brown
On Thu, 7 Jan 2021 14:53:29 +, Lad Prabhakar wrote: > With CONFIG_PM_SLEEP disabled the rpcif_spi_pm_ops variable is still > referenced and thus increasing the size of kernel. > > Fix this issue by adding CONFIG_PM_SLEEP #ifdef check around the .pm > assignment (image size is critical on RZ/A

[PATCH 1/2] KVM: nSVM: Track the physical cpu of the vmcb vmrun through the vmcb

2021-01-12 Thread Cathy Avery
This patch moves the physical cpu tracking from the vcpu to the vmcb in svm_switch_vmcb. If either vmcb01 or vmcb02 change physical cpus from one vmrun to the next the vmcb's previous cpu is preserved for comparison with the current cpu and the vmcb is marked dirty if different. This prevents the p

[PATCH 2/2] KVM: nSVM: Track the ASID generation of the vmcb vmrun through the vmcb

2021-01-12 Thread Cathy Avery
This patch moves the asid_generation from the vcpu to the vmcb in order to track the ASID generation that was active the last time the vmcb was run. If sd->asid_generation changes between two runs, the old ASID is invalid and must be changed. Suggested-by: Paolo Bonzini Signed-off-by: Cathy Avery

Re: [PATCH] ASoC: adau17x1: Remove redundant null check before clk_disable_unprepare

2021-01-12 Thread Mark Brown
On Fri, 8 Jan 2021 08:44:56 +, Xu Wang wrote: > Because clk_disable_unprepare() already checked NULL clock parameter, > so the additional check is unnecessary, just remove it. Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: adau17

Re: [PATCH RFC 2/3] media: i2c: adv7842: remove open coded version of SMBus block read

2021-01-12 Thread Wolfram Sang
On Tue, Jan 12, 2021 at 05:41:28PM +0100, Wolfram Sang wrote: > The open coded version differs from the one in the core in one way: the > buffer will be always copied back, even when the transfer failed. It > looks like it is expected that the sanity check for a correct CRC and > header will bail o

Re: [RFC 2/2] clk: vc5: Add support for optional load capacitance

2021-01-12 Thread Luca Ceresoli
Hi Adam, On 11/01/21 17:40, Adam Ford wrote: > On Sat, Jan 9, 2021 at 12:02 PM Luca Ceresoli wrote: >> >> Hi Adam, >> >> On 09/01/21 04:00, Adam Ford wrote: >>> On Fri, Jan 8, 2021 at 4:49 PM Luca Ceresoli wrote: Hi Adam, On 06/01/21 18:39, Adam Ford wrote: > There are tw

Re: [RFC PATCH v2 15/26] of/fdt: Introduce early_init_dt_add_memory_hyp()

2021-01-12 Thread Rob Herring
On Tue, Jan 12, 2021 at 10:15 AM Quentin Perret wrote: > > On Tuesday 12 Jan 2021 at 09:53:36 (-0600), Rob Herring wrote: > > On Tue, Jan 12, 2021 at 8:26 AM Quentin Perret wrote: > > > > > > On Tuesday 12 Jan 2021 at 08:10:47 (-0600), Rob Herring wrote: > > > > On Tue, Jan 12, 2021 at 3:51 AM Qu

<    4   5   6   7   8   9   10   11   12   13   >