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---
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-05a85cd7",
"digest": {
"length": 554.0,
"function_hash": "273949850540862393065355399215541031438"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-061f4707",
"digest": {
"threshold": 0.9,
"line_hashes": [
"17944982618576470889002944279916999683",
"283328586130271074874013199316815486912",
"263878311931615199486301020093965666969"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-1d8eebbb",
"digest": {
"threshold": 0.9,
"line_hashes": [
"241533577972863377988540851407859973320",
"124931148811890992196904984946273736585",
"49218493089833332051679120304482154318"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec",
"target": {
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-21b0cd14",
"digest": {
"length": 554.0,
"function_hash": "273949850540862393065355399215541031438"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-292a5e4d",
"digest": {
"length": 521.0,
"function_hash": "15422934379796553929513342081523611638"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-298c14b7",
"digest": {
"length": 452.0,
"function_hash": "201765609184818048844011521059799384066"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-2b6fd230",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-2bb9b3fd",
"digest": {
"length": 521.0,
"function_hash": "15422934379796553929513342081523611638"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-3336e792",
"digest": {
"length": 554.0,
"function_hash": "273949850540862393065355399215541031438"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-368112cf",
"digest": {
"length": 452.0,
"function_hash": "201765609184818048844011521059799384066"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-3bc4cac5",
"digest": {
"length": 452.0,
"function_hash": "201765609184818048844011521059799384066"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-4a39538a",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-552cc141",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-56de2ad1",
"digest": {
"length": 565.0,
"function_hash": "141932495868108111775039908256015472262"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6",
"target": {
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-6189b5f1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"17944982618576470889002944279916999683",
"283328586130271074874013199316815486912",
"263878311931615199486301020093965666969"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-6ab90f8c",
"digest": {
"length": 554.0,
"function_hash": "273949850540862393065355399215541031438"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-72b8978b",
"digest": {
"length": 565.0,
"function_hash": "141932495868108111775039908256015472262"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-78db9462",
"digest": {
"length": 521.0,
"function_hash": "15422934379796553929513342081523611638"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-7a4916be",
"digest": {
"threshold": 0.9,
"line_hashes": [
"17944982618576470889002944279916999683",
"283328586130271074874013199316815486912",
"263878311931615199486301020093965666969"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-806bdce2",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-8e3e3fe4",
"digest": {
"length": 565.0,
"function_hash": "141932495868108111775039908256015472262"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f18681daaec9665a15c5e7e0f591aad5d0ac622b",
"target": {
"file": "arch/x86/mm/pat.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-9698df6b",
"digest": {
"length": 452.0,
"function_hash": "201765609184818048844011521059799384066"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-96f3fa33",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-98fb494d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"17944982618576470889002944279916999683",
"283328586130271074874013199316815486912",
"263878311931615199486301020093965666969"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f",
"target": {
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-a3a20250",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4",
"target": {
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221",
"target": {
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1341e4b32e1fb1b0acd002ccd56f07bd32f2abc6",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-c210fc54",
"digest": {
"threshold": 0.9,
"line_hashes": [
"241533577972863377988540851407859973320",
"124931148811890992196904984946273736585",
"49218493089833332051679120304482154318"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-c9cdfab4",
"digest": {
"threshold": 0.9,
"line_hashes": [
"17944982618576470889002944279916999683",
"283328586130271074874013199316815486912",
"263878311931615199486301020093965666969"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51b7841f3fe84606ec0bd8da859d22e05e5419ec",
"target": {
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-da55f5d7",
"digest": {
"threshold": 0.9,
"line_hashes": [
"241533577972863377988540851407859973320",
"124931148811890992196904984946273736585",
"49218493089833332051679120304482154318"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@09e6bb53217bf388a0d2fd7fb21e74ab9dffc173",
"target": {
"file": "arch/x86/mm/pat.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c2b2430b48f3c9eaccd2c3d2ad75bb540d4952f4",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-e2290d8a",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@04c35ab3bdae7fefbd7c7a7355f29fa03a035221",
"target": {
"function": "track_pfn_copy",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-eedac71b",
"digest": {
"length": 363.0,
"function_hash": "270922335389573660386627971158776222734"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@97e93367e82752e475a33839a80b33bdbef1209f",
"target": {
"function": "follow_phys",
"file": "mm/memory.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-f5ac2749",
"digest": {
"length": 554.0,
"function_hash": "273949850540862393065355399215541031438"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a",
"target": {
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"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"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cfee26d1950250b14c5cb0a37b142f3fcc6396a",
"target": {
"function": "untrack_pfn",
"file": "arch/x86/mm/pat/memtype.c"
},
"deprecated": false,
"signature_version": "v1",
"id": "CVE-2024-35877-fd04ed22",
"digest": {
"length": 452.0,
"function_hash": "201765609184818048844011521059799384066"
},
"signature_type": "Function"
}
]