In the Linux kernel, the following vulnerability has been resolved:
x86/mm/pat: fix VM_PAT handling in COW mappings
PAT handling won't do the right thing in COW mappings: the first PTE (or, in fact, all PTEs) can be replaced during write faults to point at anon folios. Reliably recovering the correct PFN and cachemode using follow_phys() from PTEs will not work in COW mappings.
Using followphys(), we might just get the address+protection of the anon folio (which is very wrong), or fail on swap/nonswap entries, failing followphys() and triggering a WARNONONCE() in untrackpfn() and trackpfncopy(), not properly calling freepfn_range().
In freepfnrange(), we either wouldn't call memtype_free() or would call it with the wrong range, possibly leaking memory.
To fix that, let's update followphys() to refuse returning anon folios, and fallback to using the stored PFN inside vma->vmpgoff for COW mappings if we run into that.
We will now properly handle untrackpfn() with COW mappings, where we don't need the cachemode. We'll have to fail fork()->trackpfn_copy() if the first page was replaced by an anon folio, though: we'd have to store the cachemode in the VMA to make this work, likely growing the VMA size.
For now, lets keep it simple and let trackpfncopy() just fail in that case: it would have failed in the past with swap/nonswap entries already, and it would have done the wrong thing with anon folios.
Simple reproducer to trigger the WARNONONCE() in untrack_pfn():
<--- C reproducer ---> #include <stdio.h> #include <sys/mman.h> #include <unistd.h> #include <liburing.h>
int main(void) { struct iouringparams p = {}; int ringfd; sizet size; char *map;
ring_fd = io_uring_setup(1, &p);
if (ring_fd < 0) {
perror("io_uring_setup");
return 1;
}
size = p.sq_off.array + p.sq_entries * sizeof(unsigned);
/* Map the submission queue ring MAP_PRIVATE */
map = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE,
ring_fd, IORING_OFF_SQ_RING);
if (map == MAP_FAILED) {
perror("mmap");
return 1;
}
/* We have at least one page. Let's COW it. */
*map = 0;
pause();
return 0;
} <--- C reproducer --->
On a system with 16 GiB RAM and swap configured: # ./iouring & # memhog 16G # killall iouring [ 301.552930] ------------[ cut here ]------------ [ 301.553285] WARNING: CPU: 7 PID: 1402 at arch/x86/mm/pat/memtype.c:1060 untrackpfn+0xf4/0x100 [ 301.553989] Modules linked in: binfmtmisc nftfibinet nftfibipv4 nftfibipv6 nftfib nftrejectg [ 301.558232] CPU: 7 PID: 1402 Comm: iouring Not tainted 6.7.5-100.fc38.x8664 #1 [ 301.558772] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebu4 [ 301.559569] RIP: 0010:untrackpfn+0xf4/0x100 [ 301.559893] Code: 75 c4 eb cf 48 8b 43 10 8b a8 e8 00 00 00 3b 6b 28 74 b8 48 8b 7b 30 e8 ea 1a f7 000 [ 301.561189] RSP: 0018:ffffba2c0377fab8 EFLAGS: 00010282 [ 301.561590] RAX: 00000000ffffffea RBX: ffff9208c8ce9cc0 RCX: 000000010455e047 [ 301.562105] RDX: 07fffffff0eb1e0a RSI: 0000000000000000 RDI: ffff9208c391d200 [ 301.562628] RBP: 0000000000000000 R08: ffffba2c0377fab8 R09: 0000000000000000 [ 301.563145] R10: ffff9208d2292d50 R11: 0000000000000002 R12: 00007fea890e0000 [ 301.563669] R13: 0000000000000000 R14: ffffba2c0377fc08 R15: 0000000000000000 [ 301.564186] FS: 0000000000000000(0000) GS:ffff920c2fbc0000(0000) knlGS:0000000000000000 [ 301.564773] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 301.565197] CR2: 00007fea88ee8a20 CR3: 00000001033a8000 CR4: 0000000000750ef0 [ 301.565725] PKRU: 55555554 [ 301.565944] Call Trace: [ 301.566148] <TASK> [ 301.566325] ? untrackpfn+0xf4/0x100 [ 301.566618] ? _warn+0x81/0x130 [ 301.566876] ? untrackpfn+0xf4/0x100 [ 3 ---truncated---
{ "vanir_signatures": [ { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-05a85cd7", "digest": { "length": 554.0, "function_hash": "273949850540862393065355399215541031438" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-061f4707", "digest": { "threshold": 0.9, "line_hashes": [ "17944982618576470889002944279916999683", "283328586130271074874013199316815486912", "263878311931615199486301020093965666969" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-1d8eebbb", "digest": { "threshold": 0.9, "line_hashes": [ "241533577972863377988540851407859973320", "124931148811890992196904984946273736585", "49218493089833332051679120304482154318" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-20ea8d63", "digest": { "threshold": 0.9, "line_hashes": [ "7583860417665958920827356065464482106", "246331511756829122839814127179007729923", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "3348333940903904108655646565704595117", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-21b0cd14", "digest": { "length": 554.0, "function_hash": "273949850540862393065355399215541031438" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-292a5e4d", "digest": { "length": 521.0, "function_hash": "15422934379796553929513342081523611638" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-298c14b7", "digest": { "length": 452.0, "function_hash": "201765609184818048844011521059799384066" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-2b6fd230", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-2bb9b3fd", "digest": { "length": 521.0, "function_hash": "15422934379796553929513342081523611638" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-3336e792", "digest": { "length": 554.0, "function_hash": "273949850540862393065355399215541031438" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-368112cf", "digest": { "length": 452.0, "function_hash": "201765609184818048844011521059799384066" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-3bc4cac5", "digest": { "length": 452.0, "function_hash": "201765609184818048844011521059799384066" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-4a39538a", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-552cc141", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-56de2ad1", "digest": { "length": 565.0, "function_hash": "141932495868108111775039908256015472262" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-5fde6683", "digest": { "threshold": 0.9, "line_hashes": [ "7583860417665958920827356065464482106", "246331511756829122839814127179007729923", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "3348333940903904108655646565704595117", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-6189b5f1", "digest": { "threshold": 0.9, "line_hashes": [ "17944982618576470889002944279916999683", "283328586130271074874013199316815486912", "263878311931615199486301020093965666969" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-6ab90f8c", "digest": { "length": 554.0, "function_hash": "273949850540862393065355399215541031438" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-72b8978b", "digest": { "length": 565.0, "function_hash": "141932495868108111775039908256015472262" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-78db9462", "digest": { "length": 521.0, "function_hash": "15422934379796553929513342081523611638" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-7a4916be", "digest": { "threshold": 0.9, "line_hashes": [ "17944982618576470889002944279916999683", "283328586130271074874013199316815486912", "263878311931615199486301020093965666969" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-806bdce2", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-8e3e3fe4", "digest": { "length": 565.0, "function_hash": "141932495868108111775039908256015472262" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-91ae9820", "digest": { "threshold": 0.9, "line_hashes": [ "219279439219564462601664159074596424119", "51639675950769751238801562331015146905", "5072036085111511048072196594892814731", "279857654804554525958386022557170162366", "223760763471761822201550707249514496292", "91925841046705571839421944741666790113", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "135607954443692649492158233797537665770", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-9698df6b", "digest": { "length": 452.0, "function_hash": "201765609184818048844011521059799384066" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-96f3fa33", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-98fb494d", "digest": { "threshold": 0.9, "line_hashes": [ "17944982618576470889002944279916999683", "283328586130271074874013199316815486912", "263878311931615199486301020093965666969" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-a21828b8", "digest": { "threshold": 0.9, "line_hashes": [ "7583860417665958920827356065464482106", "246331511756829122839814127179007729923", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "135607954443692649492158233797537665770", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-a3a20250", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-ac969360", "digest": { "threshold": 0.9, "line_hashes": [ "105104852413216876742386470953899401320", "164024651997007069023431485787365616535", "230652497996742279036804180300700341246", "249580242151867128450258358761541296870", "7583860417665958920827356065464482106", "246331511756829122839814127179007729923", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "135607954443692649492158233797537665770", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-adb6af0e", "digest": { "threshold": 0.9, "line_hashes": [ "7583860417665958920827356065464482106", "246331511756829122839814127179007729923", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "3348333940903904108655646565704595117", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-c210fc54", "digest": { "threshold": 0.9, "line_hashes": [ "241533577972863377988540851407859973320", "124931148811890992196904984946273736585", "49218493089833332051679120304482154318" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-c9cdfab4", "digest": { "threshold": 0.9, "line_hashes": [ "17944982618576470889002944279916999683", "283328586130271074874013199316815486912", "263878311931615199486301020093965666969" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-da55f5d7", "digest": { "threshold": 0.9, "line_hashes": [ "241533577972863377988540851407859973320", "124931148811890992196904984946273736585", "49218493089833332051679120304482154318" ] }, "target": { "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-df96a527", "digest": { "threshold": 0.9, "line_hashes": [ "219279439219564462601664159074596424119", "51639675950769751238801562331015146905", "5072036085111511048072196594892814731", "279857654804554525958386022557170162366", "223760763471761822201550707249514496292", "91925841046705571839421944741666790113", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "135607954443692649492158233797537665770", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-e2290d8a", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-eedac71b", "digest": { "length": 363.0, "function_hash": "270922335389573660386627971158776222734" }, "target": { "function": "track_pfn_copy", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-f5ac2749", "digest": { "length": 554.0, "function_hash": "273949850540862393065355399215541031438" }, "target": { "function": "follow_phys", "file": "mm/memory.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f" }, { "signature_type": "Line", "deprecated": false, "id": "CVE-2024-35877-fc884df3", "digest": { "threshold": 0.9, "line_hashes": [ "7583860417665958920827356065464482106", "246331511756829122839814127179007729923", "301000552016520786918190805370366248551", "144965880417725551357717133544906895467", "183879820421198288242953049636884322486", "177860808319521015298229674057342223088", "187816880581114404124943919517382548593", "142748451950292476201047618332800047561", "17322812933369686083851474970135415962", "310049585079406987419198005526029987808", "115514191677609962972191700257702604727", "333279013486628746922847358953078621190", "193119701333771121583101536820983005022", "8216563273143333529883687878058121831", "198829160909181739090385007617368088593", "135607954443692649492158233797537665770", "9504152801410779861782627889068783928", "118925021329472145288313473661029069675", "100161643345796744405909645477473582457", "50473474588642092808922179325776723446", "171586210140815180319411698873723633511", "127014321761666347327866028923938428758", "235295937685991101630079971968364319285", "97185071675829165591746309027608863495", "233149881706982882528101804517989347408", "306366787398827295063800585158727568812" ] }, "target": { "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a" }, { "signature_type": "Function", "deprecated": false, "id": "CVE-2024-35877-fd04ed22", "digest": { "length": 452.0, "function_hash": "201765609184818048844011521059799384066" }, "target": { "function": "untrack_pfn", "file": "arch/x86/mm/pat/memtype.c" }, "signature_version": "v1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a" } ] }