CVE-2023-54232

m68k: Only force 030 bus error if PC not in exception table

State
Published
Severity
Not scored
Published
Dec 30, 2025
Updated
May 11, 2026
Reserved
Dec 30, 2025

Read the record on cve.org

Description

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

m68k: Only force 030 bus error if PC not in exception table

__get_kernel_nofault() does copy data in supervisor mode when forcing a task backtrace log through /proc/sysrq_trigger. This is expected cause a bus error exception on e.g. NULL pointer dereferencing when logging a kernel task has no workqueue associated. This bus error ought to be ignored.

Our 030 bus error handler is ill equipped to deal with this:

Whenever ssw indicates a kernel mode access on a data fault, we don't even attempt to handle the fault and instead always send a SEGV signal (or panic). As a result, the check for exception handling at the fault PC (buried in send_sig_fault() which gets called from do_page_fault() eventually) is never used.

In contrast, both 040 and 060 access error handlers do not care whether a fault happened on supervisor mode access, and will call do_page_fault() on those, ultimately honoring the exception table.

Add a check in bus_error030 to call do_page_fault() in case we do have an entry for the fault PC in our exception table.

I had attempted a fix for this earlier in 2019 that did rely on testing pagefault_disabled() (see link below) to achieve the same thing, but this patch should be more generic.

Tested on 030 Atari Falcon.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before 1a6059f5ed57f48edfe7159404ff7d538d9d405bAffected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before f55cb52ec98b22125f5bda36391edb8894f7e8cfAffected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before 2100e374251a8fc00cce1916cfc50f3cb652cbe3Affected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before df1da53a7e98f0b2a0eb2241c154f148f2f2c1d8Affected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before 8bf8d5dade4c5e1d8a2386f29253ed28b5d87735Affected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before 54fa25ffab2b700df5abd58c136d64a912c53953Affected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before ec15405b80fc15ffc87a23d01378ae061c1aba07Affected
  • f2325ecebc5b7988fd49968bd3a660fd1594dc84 to before e36a82bebbf7da814530d5a179bef9df5934b717Affected
LinuxLinux
  • 2.6.18Affected
  • before 2.6.18Not affected
  • 4.14.312 through 4.14.*Not affected
  • 4.19.280 through 4.19.*Not affected
  • 5.4.240 through 5.4.*Not affected
  • 5.10.177 through 5.10.*Not affected
  • 5.15.105 through 5.15.*Not affected
  • 6.1.22 through 6.1.*Not affected
  • 6.2.9 through 6.2.*Not affected
  • 6.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.