diff options
| author | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2024-12-09 09:56:45 -0500 |
|---|---|---|
| committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2024-12-09 09:59:47 -0500 |
| commit | bc893280751ab566892399fe4e81a9a67a4097be (patch) | |
| tree | b67f2114392d7888adb463a30fe2e368ccb90697 /mm/debug.c | |
| parent | 26bba754539a274fb4905cb07d244ca291bcc5d0 (diff) | |
| parent | fac04efc5c793dccbd07e2d59af9f90b7fc0dca4 (diff) | |
| download | lwn-bc893280751ab566892399fe4e81a9a67a4097be.tar.gz lwn-bc893280751ab566892399fe4e81a9a67a4097be.zip | |
Merge drm/drm-next into drm-xe-next
Catch up with -rc2 and fixing namespace conflict issue caused by
commit cdd30ebb1b9f ("module: Convert symbol namespace to string literal")
and commit 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices")
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'mm/debug.c')
| -rw-r--r-- | mm/debug.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/mm/debug.c b/mm/debug.c index aa57d3ffd4ed..95b6ab809c0e 100644 --- a/mm/debug.c +++ b/mm/debug.c @@ -124,19 +124,22 @@ static void __dump_page(const struct page *page) { struct folio *foliop, folio; struct page precise; + unsigned long head; unsigned long pfn = page_to_pfn(page); unsigned long idx, nr_pages = 1; int loops = 5; again: memcpy(&precise, page, sizeof(*page)); - foliop = page_folio(&precise); - if (foliop == (struct folio *)&precise) { + head = precise.compound_head; + if ((head & 1) == 0) { + foliop = (struct folio *)&precise; idx = 0; if (!folio_test_large(foliop)) goto dump; foliop = (struct folio *)page; } else { + foliop = (struct folio *)(head - 1); idx = folio_page_idx(foliop, page); } |
