From: Qian Cai <quic_qiancai@quicinc.com>
To: Muchun Song <songmuchun@bytedance.com>
Cc: <dan.j.williams@intel.com>, <willy@infradead.org>, <jack@suse.cz>,
<viro@zeniv.linux.org.uk>, <akpm@linux-foundation.org>,
<apopple@nvidia.com>, <shy828301@gmail.com>,
<rcampbell@nvidia.com>, <hughd@google.com>,
<xiyuyang19@fudan.edu.cn>, <kirill.shutemov@linux.intel.com>,
<zwisler@kernel.org>, <hch@infradead.org>,
<linux-fsdevel@vger.kernel.org>, <nvdimm@lists.linux.dev>,
<linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>,
<duanxiongchun@bytedance.com>, <smuchun@gmail.com>
Subject: Re: [PATCH v5 0/6] Fix some bugs related to ramp and dax
Date: Thu, 31 Mar 2022 11:55:47 -0400 [thread overview]
Message-ID: <YkXPA69iLBDHFtjn@qian> (raw)
In-Reply-To: <20220318074529.5261-1-songmuchun@bytedance.com>
On Fri, Mar 18, 2022 at 03:45:23PM +0800, Muchun Song wrote:
> This series is based on next-20220225.
>
> Patch 1-2 fix a cache flush bug, because subsequent patches depend on
> those on those changes, there are placed in this series. Patch 3-4
> are preparation for fixing a dax bug in patch 5. Patch 6 is code cleanup
> since the previous patch remove the usage of follow_invalidate_pte().
Reverting this series fixed boot crashes.
KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f]
Mem abort info:
ESR = 0x96000004
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x04: level 0 translation fault
Data abort info:
ISV = 0, ISS = 0x00000004
CM = 0, WnR = 0
[dfff800000000003] address between user and kernel address ranges
Internal error: Oops: 96000004 [#1] PREEMPT SMP
Modules linked in: cdc_ether usbnet ipmi_devintf ipmi_msghandler cppc_cpufreq fuse ip_tables x_tables ipv6 btrfs blake2b_generic libcrc32c xor xor_neon raid6_pq zstd_compress dm_mod nouveau crct10dif_ce drm_ttm_helper mlx5_core ttm drm_dp_helper drm_kms_helper nvme mpt3sas nvme_core xhci_pci raid_class drm xhci_pci_renesas
CPU: 3 PID: 1707 Comm: systemd-udevd Not tainted 5.17.0-next-20220331-00004-g2d550916a6b9 #51
pstate: 104000c9 (nzcV daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : __lock_acquire
lr : lock_acquire.part.0
sp : ffff800030a16fd0
x29: ffff800030a16fd0 x28: ffffdd876c4e9f90 x27: 0000000000000018
x26: 0000000000000000 x25: 0000000000000018 x24: 0000000000000000
x23: ffff08022beacf00 x22: ffffdd8772507660 x21: 0000000000000000
x20: 0000000000000000 x19: 0000000000000000 x18: ffffdd8772417d2c
x17: ffffdd876c5bc2e0 x16: 1fffe100457d5b06 x15: 0000000000000094
x14: 000000000000f1f1 x13: 00000000f3f3f3f3 x12: ffff08022beacf08
x11: 1ffffbb0ee482fa5 x10: ffffdd8772417d28 x9 : 0000000000000000
x8 : 0000000000000003 x7 : ffffdd876c4e9f90 x6 : 0000000000000000
x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000000
x2 : 0000000000000000 x1 : 0000000000000003 x0 : dfff800000000000
Call trace:
__lock_acquire
lock_acquire.part.0
lock_acquire
_raw_spin_lock
page_vma_mapped_walk
try_to_migrate_one
rmap_walk_anon
try_to_migrate
__unmap_and_move
unmap_and_move
migrate_pages
migrate_misplaced_page
do_huge_pmd_numa_page
__handle_mm_fault
handle_mm_fault
do_translation_fault
do_mem_abort
el0_da
el0t_64_sync_handler
el0t_64_sync
Code: d65f03c0 d343ff61 d2d00000 f2fbffe0 (38e06820)
---[ end trace 0000000000000000 ]---
Kernel panic - not syncing: Oops: Fatal exception
SMP: stopping secondary CPUs
Kernel Offset: 0x5d8763da0000 from 0xffff800008000000
PHYS_OFFSET: 0x80000000
CPU features: 0x000,00085c0d,19801c82
Memory Limit: none
---[ end Kernel panic - not syncing: Oops: Fatal exception ]---
>
> v5:
> - Collect Reviewed-by from Dan Williams.
> - Fix panic reported by kernel test robot <oliver.sang@intel.com>.
> - Remove pmdpp parameter from follow_invalidate_pte() and fold it into follow_pte().
>
> v4:
> - Fix compilation error on riscv.
>
> v3:
> - Based on next-20220225.
>
> v2:
> - Avoid the overly long line in lots of places suggested by Christoph.
> - Fix a compiler warning reported by kernel test robot since pmd_pfn()
> is not defined when !CONFIG_TRANSPARENT_HUGEPAGE on powerpc architecture.
> - Split a new patch 4 for preparation of fixing the dax bug.
>
> Muchun Song (6):
> mm: rmap: fix cache flush on THP pages
> dax: fix cache flush on PMD-mapped pages
> mm: rmap: introduce pfn_mkclean_range() to cleans PTEs
> mm: pvmw: add support for walking devmap pages
> dax: fix missing writeprotect the pte entry
> mm: simplify follow_invalidate_pte()
>
> fs/dax.c | 82 +++++-----------------------------------------------
> include/linux/mm.h | 3 --
> include/linux/rmap.h | 3 ++
> mm/internal.h | 26 +++++++++++------
> mm/memory.c | 81 +++++++++++++++------------------------------------
> mm/page_vma_mapped.c | 16 +++++-----
> mm/rmap.c | 68 +++++++++++++++++++++++++++++++++++--------
> 7 files changed, 114 insertions(+), 165 deletions(-)
>
> --
> 2.11.0
>
next prev parent reply other threads:[~2022-03-31 15:58 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-18 7:45 [PATCH v5 0/6] Fix some bugs related to ramp and dax Muchun Song
2022-03-18 7:45 ` [PATCH v5 1/6] mm: rmap: fix cache flush on THP pages Muchun Song
2022-03-22 8:34 ` Christoph Hellwig
2022-03-18 7:45 ` [PATCH v5 2/6] dax: fix cache flush on PMD-mapped pages Muchun Song
2022-03-22 8:34 ` Christoph Hellwig
2022-03-18 7:45 ` [PATCH v5 3/6] mm: rmap: introduce pfn_mkclean_range() to cleans PTEs Muchun Song
2022-03-18 7:45 ` [PATCH v5 4/6] mm: pvmw: add support for walking devmap pages Muchun Song
2022-03-18 7:45 ` [PATCH v5 5/6] dax: fix missing writeprotect the pte entry Muchun Song
2022-03-22 8:37 ` Christoph Hellwig
2022-03-22 8:46 ` Muchun Song
2022-03-18 7:45 ` [PATCH v5 6/6] mm: simplify follow_invalidate_pte() Muchun Song
2022-03-22 8:35 ` Christoph Hellwig
2022-03-31 15:55 ` Qian Cai [this message]
2022-03-31 22:36 ` [PATCH v5 0/6] Fix some bugs related to ramp and dax Andrew Morton
2022-03-31 22:48 ` Stephen Rothwell
2022-04-01 3:44 ` Muchun Song
2022-04-01 8:50 ` Muchun Song
2022-04-01 11:07 ` Qian Cai
2022-04-02 15:22 ` Muchun Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YkXPA69iLBDHFtjn@qian \
--to=quic_qiancai@quicinc.com \
--cc=akpm@linux-foundation.org \
--cc=apopple@nvidia.com \
--cc=dan.j.williams@intel.com \
--cc=duanxiongchun@bytedance.com \
--cc=hch@infradead.org \
--cc=hughd@google.com \
--cc=jack@suse.cz \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nvdimm@lists.linux.dev \
--cc=rcampbell@nvidia.com \
--cc=shy828301@gmail.com \
--cc=smuchun@gmail.com \
--cc=songmuchun@bytedance.com \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.org \
--cc=xiyuyang19@fudan.edu.cn \
--cc=zwisler@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.