CVE-2024-42251

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-42251
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-42251.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-42251
Downstream
Published
2024-08-08T08:46:27Z
Modified
2025-10-17T10:16:06.677748Z
Summary
mm: page_ref: remove folio_try_get_rcu()
Details

In the Linux kernel, the following vulnerability has been resolved:

mm: pageref: remove foliotrygetrcu()

The below bug was reported on a non-SMP kernel:

[ 275.267158][ T4335] ------------[ cut here ]------------ [ 275.267949][ T4335] kernel BUG at include/linux/pageref.h:275! [ 275.268526][ T4335] invalid opcode: 0000 [#1] KASAN PTI [ 275.269001][ T4335] CPU: 0 PID: 4335 Comm: trinity-c3 Not tainted 6.7.0-rc4-00061-gefa7df3e3bb5 #1 [ 275.269787][ T4335] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 275.270679][ T4335] RIP: 0010:trygetfolio (include/linux/pageref.h:275 (discriminator 3) mm/gup.c:79 (discriminator 3)) [ 275.272813][ T4335] RSP: 0018:ffffc90005dcf650 EFLAGS: 00010202 [ 275.273346][ T4335] RAX: 0000000000000246 RBX: ffffea00066e0000 RCX: 0000000000000000 [ 275.274032][ T4335] RDX: fffff94000cdc007 RSI: 0000000000000004 RDI: ffffea00066e0034 [ 275.274719][ T4335] RBP: ffffea00066e0000 R08: 0000000000000000 R09: fffff94000cdc006 [ 275.275404][ T4335] R10: ffffea00066e0037 R11: 0000000000000000 R12: 0000000000000136 [ 275.276106][ T4335] R13: ffffea00066e0034 R14: dffffc0000000000 R15: ffffea00066e0008 [ 275.276790][ T4335] FS: 00007fa2f9b61740(0000) GS:ffffffff89d0d000(0000) knlGS:0000000000000000 [ 275.277570][ T4335] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 275.278143][ T4335] CR2: 00007fa2f6c00000 CR3: 0000000134b04000 CR4: 00000000000406f0 [ 275.278833][ T4335] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 275.279521][ T4335] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 275.280201][ T4335] Call Trace: [ 275.280499][ T4335] <TASK> [ 275.280751][ T4335] ? die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434 arch/x86/kernel/dumpstack.c:447) [ 275.281087][ T4335] ? dotrap (arch/x86/kernel/traps.c:112 arch/x86/kernel/traps.c:153) [ 275.281463][ T4335] ? trygetfolio (include/linux/pageref.h:275 (discriminator 3) mm/gup.c:79 (discriminator 3)) [ 275.281884][ T4335] ? trygetfolio (include/linux/pageref.h:275 (discriminator 3) mm/gup.c:79 (discriminator 3)) [ 275.282300][ T4335] ? doerrortrap (arch/x86/kernel/traps.c:174) [ 275.282711][ T4335] ? trygetfolio (include/linux/pageref.h:275 (discriminator 3) mm/gup.c:79 (discriminator 3)) [ 275.283129][ T4335] ? handleinvalidop (arch/x86/kernel/traps.c:212) [ 275.283561][ T4335] ? trygetfolio (include/linux/pageref.h:275 (discriminator 3) mm/gup.c:79 (discriminator 3)) [ 275.283990][ T4335] ? excinvalidop (arch/x86/kernel/traps.c:264) [ 275.284415][ T4335] ? asmexcinvalidop (arch/x86/include/asm/idtentry.h:568) [ 275.284859][ T4335] ? trygetfolio (include/linux/pageref.h:275 (discriminator 3) mm/gup.c:79 (discriminator 3)) [ 275.285278][ T4335] trygrabfolio (mm/gup.c:148) [ 275.285684][ T4335] getuserpages (mm/gup.c:1297 (discriminator 1)) [ 275.286111][ T4335] ? _pfxgetuserpages (mm/gup.c:1188) [ 275.286579][ T4335] ? pfxvalidatechain (kernel/locking/lockdep.c:3825) [ 275.287034][ T4335] ? marklock (kernel/locking/lockdep.c:4656 (discriminator 1)) [ 275.287416][ T4335] _guplongtermlocked (mm/gup.c:1509 mm/gup.c:2209) [ 275.288192][ T4335] ? _pfxguplongtermlocked (mm/gup.c:2204) [ 275.288697][ T4335] ? pfxlockacquire (kernel/locking/lockdep.c:5722) [ 275.289135][ T4335] ? _pfxmightresched (kernel/sched/core.c:10106) [ 275.289595][ T4335] pinuserpagesremote (mm/gup.c:3350) [ 275.290041][ T4335] ? _pfxpinuserpagesremote (mm/gup.c:3350) [ 275.290545][ T4335] ? findheldlock (kernel/locking/lockdep.c:5244 (discriminator 1)) [ 275.290961][ T4335] ? mmaccess (kernel/fork.c:1573) [ 275.291353][ T4335] processvmrwsinglevec+0x142/0x360 [ 275.291900][ T4335] ? _pfxprocessvmrwsinglevec+0x10/0x10 [ 275.292471][ T4335] ? mmaccess (kernel/fork.c:1573) [ 275.292859][ T4335] processvmrwcore+0x272/0x4e0 [ 275.293384][ T4335] ? hlockclass (a ---truncated---

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
57edfcfd3419b4799353d8cbd6ce49da075cfdbd
Fixed
16380f52b72166d6a33b508cc2509716f436253f
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
57edfcfd3419b4799353d8cbd6ce49da075cfdbd
Fixed
e7db2762ea3e69f215b3ec4db666006deccc37b4
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
57edfcfd3419b4799353d8cbd6ce49da075cfdbd
Fixed
fa2690af573dfefb47ba6eef888797a64b6b5f3c

Affected versions

v6.*

v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.5
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.33
v6.6.34
v6.6.35
v6.6.36
v6.6.37
v6.6.38
v6.6.39
v6.6.4
v6.6.40
v6.6.41
v6.6.5
v6.6.6
v6.6.7
v6.6.8
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7
v6.9.1
v6.9.10
v6.9.2
v6.9.3
v6.9.4
v6.9.5
v6.9.6
v6.9.7
v6.9.8
v6.9.9

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.42
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.9.11