Linux kernel oops

Short description: Serious, non-fatal error in the Linux kernel

Linux kernel oops on SPARC Linux kernel oops on PA-RISC with a dead ASCII cow

In computing, an oops is a serious but non-fatal error in the Linux kernel. An oops may precede a kernel panic, but it may also allow continued operation with compromised reliability. The term does not stand for anything, other than that it is a simple mistake.

## Contents

* 1 Functioning
* 2 See also
* 3 References
* 4 Further reading

## Functioning

When the kernel detects a problem, it kills any offending processes and prints an oops message, which Linux kernel engineers can use in debugging the condition that created the oops and fixing the underlying programming error. After a system has experienced an oops, some internal resources may no longer be operational. Thus, even if the system appears to work correctly, undesirable side effects may have resulted from the active task being killed. A kernel oops often leads to a kernel panic when the system attempts to use resources that have been lost. Some kernels are configured to panic when many oopses (10,000 by default) have occurred.[1][2] This oops limit is due to the potential, for example, for attackers to repeatedly trigger an oops and an associated resource leak, which eventually overflows an integer and allows further exploitation.[3][4]

The official Linux kernel documentation regarding oops messages resides in the file Documentation/admin-guide/bug-hunting.rst[5] of the kernel sources. Some logger configurations may affect the ability to collect oops messages.[6] The `kerneloops` software can collect and submit kernel oopses to a repository such as the www.kerneloops.org website,[7] which provides statistics and public access to reported oopses.

For a person not familiar with technical details of computers and operating systems, an oops message might look confusing. Unlike other operating systems such as Windows or macOS, Linux chooses to present details explaining the crash of the kernel rather than display a simplified, user-friendly message, such as the BSoD on Windows. A simplified crash screen has been proposed a few times, however currently none are in development.[8]

## See also

* kdump (Linux) - Linux kernel's crash dump mechanism, which internally uses kexec
* System.map - contains mappings between symbol names and their addresses in memory, used to interpret oopses

## References

1. ↑ Horn, Jann (7 November 2022). "[PATCH exit: Put an upper limit on how often we can oops"]. https://lore.kernel.org/all/20221107201317.324457-1-jannh@google.com/.
2. ↑ "Documentation for /proc/sys/kernel/". https://docs.kernel.org/admin-guide/sysctl/kernel.html#oops-limit.
3. ↑ Corbet, Jonathan (18 November 2022). "Averting excessive oopses". LWN.net. https://lwn.net/Articles/914878/.
4. ↑ Jenkins, Seth (19 January 2023). "Exploiting null-dereferences in the Linux kernel". Google Project Zero. https://googleprojectzero.blogspot.com/2023/01/exploiting-null-dereferences-in-linux.html.
5. ↑ "bug-hunting". https://www.kernel.org/doc/Documentation/admin-guide/bug-hunting.rst.
6. ↑ "DevDocs/KernelOops". http://madwifi-project.org/wiki/DevDocs/KernelOops.
7. ↑ "kerneloops(8) - Linux man page". https://linux.die.net/man/8/kerneloops.
8. ↑ Larabel, Michael (10 March 2019). "A DRM-Based Linux Oops Viewer Is Being Proposed Again - Similar To Blue Screen of Death". https://www.phoronix.com/scan.php?page=news_item&px=Kernel-Oops-Viewer-2019.

## Further reading

* Linux Device Drivers, 3rd edition, Chapter 4.
* John Bradford (2003-03-08). "Re: what's an OOPS". LKML (Mailing list). Archived from the original on 2007-03-10. Retrieved 2006-05-22.
* Szakacsits Szabolcs (2003-03-08). "Re: what's an OOPS". LKML (Mailing list). Archived from the original on 2007-03-13. Retrieved 2006-05-22.
* Al Viro (2008-01-14). "OOPS report analysis". LKML (Mailing list). Archived from the original on 2008-04-21. Retrieved 2008-01-14.
* Kernel Oops Howto (the madwifi project) Useful information on configuration files and tools to help display oops messages. Also many other links.

* v
* t
* e

Linux kernel

Organization|

| Kernel|

* Linux Foundation
* Linux Mark Institute
* Linus's law
* Tanenbaum–Torvalds debate
* Tux
* SCO disputes
* Linaro
* GNU GPL v2
* menuconfig
* Supported computer architectures
* Kernel names
* Criticism

|

Support|

* Developers
* The Linux Programming Interface
* kernel.org
* LKML
* Linux conferences
* Users
* Linux User Group (LUG)

Technical|

| Debugging|

* CRIU
* ftrace
* kdump
* Linux kernel oops
* SystemTap
* BPF

|

Startup|

* vmlinux
* System.map
* dracut
* initrd
* initramfs

ABIs|

* Linux Standard Base
* x32 ABI

APIs|

| Of
userspace|

| FS,
daemons|

* devfs
* devpts
* debugfs
* procfs
* sysfs
* systemd
* udev
* Kmscon

|

Wrapper
libraries|

* C standard library
* glibc
* uClibc
* Bionic
* libhybris
* dietlibc
* EGLIBC
* klibc
* musl
* Newlib
* libcgroup
* libdrm
* libalsa
* libevdev
* libusb

kernel|

| System Call
Interface|

* POSIX
* ioctl
* select
* open
* read
* close
* sync
* …
* Linux-only
* futex
* epoll
* splice
* dnotify
* inotify
* readahead
* …

|

In-kernel|

* ALSA
* Crypto API
* DRM
* kernfs
* Memory barrier
* New API
* RCU
* Video4Linux

Components|

* Kernel modules
* BlueZ
* cgroups
* Console
* bcache
* Device mapper
* dm-cache
* dm-crypt
* DRM
* EDAC
* evdev
* Kernel same-page merging (KSM)
* LIO
* Framebuffer
* LVM
* KMS driver
* Netfilter
* Netlink
* nftables
* Network scheduler
* perf
* SLUB
* zram
* zswap

* Process and I/O schedulers:
* O(n) scheduler
* O(1) scheduler
* Completely Fair Scheduler (CFQ)
* Brain Fuck Scheduler
* Noop scheduler
* SCHED_DEADLINE

* Security Modules: AppArmor
* Exec Shield
* grsecurity
* PaX
* seccomp
* SELinux
* Smack
* Tomoyo Linux
* Linux PAM

* Device drivers
* 802.11
* graphics
* Raw device

* initramfs
* KernelCare
* kexec
* kGraft
* kpatch
* Ksplice

Variants|

* Mainline
* Linux kernel
* Linux-libre
* High-performance computing
* INK
* Compute Node Linux
* SLURM
* Real-time computing
* RTLinux
* RTAI
* Xenomai
* Carrier Grade Linux
* MMU-less
* μClinux
* PSXLinux

| Virtualization|

* Hypervisor
* KVM
* Xen
* OS-level virtualization
* Linux-VServer
* Lguest
* LXC
* OpenVZ
* Other
* L4Linux
* ELinOS
* User-mode Linux
* MkLinux
* coLinux

|

Adoption|

| Range
of use|

* Desktop
* Embedded
* Gaming
* Thin client:
* LTSP
* Thinstation
* Server:
* LAMP
* LYME-LYCE
* Devices

|

Adopters|

* List of Linux adopters
* GENIVI Alliance
* Proprietary software for Linux

* Category
* Commons
* Book
* Wikiversity
* Portal

* v
* t
* e

Linux

Linux kernel|

* History
* Kernel
* Linus's law
* Linux-libre
* Linux startup process
* Linux kernel oops
* Tux
* more…

Controversies|

* Criticism of Linux
* Criticism of desktop Linux
* GNU/Linux naming controversy
* Tanenbaum–Torvalds debate
* SCO and Linux

Distributions|

* General comparison
* Distributions list
* Netbook-specific comparison
* Distributions that run from RAM
* Lightweight
* Security-focused operating system
* Proprietary software for Linux
* Package manager
* Package format
* List of software package managers

Organizations|

* LinuxChix
* Linux Counter
* Linux Documentation Project
* Linux Foundation
* Linux Mark Institute
* Linux User Group (LUG)

Adoption|

* Adopters
* Desktop
* Embedded
* Gaming
* Mobile
* Range of use

Media|

* DistroWatch
* Free Software Magazine
* Full Circle
* Linux.com
* Linux Format
* Linux Gazette
* Linux Journal
* Linux Magazine
* LinuxUser
* Ubuntu User
* Linux Outlaws
* Linux Voice
* LugRadio
* LWN.net
* Open Source For You
* Phoronix
* Revolution OS
* The Code

* Linux
* Linux kernel features
* Portal
* WikiProject

* v
* t
* e

Error messages

System failure|

* Bomb icon
* Fatal system error
* Guru Meditation
* Kernel panic
* Linux kernel oops
* Red Ring of Death
* Sad Mac
* Screen of death
* Blue
* Black

Application failure|

* ABEND
* Fatal exception error
* Segmentation fault

Device and data errors|

* HTTP 403
* HTTP 404
* HTTP 500
* lp0 on fire
* Not a typewriter
* PC LOAD LETTER

Other|

* Abort, Retry, Fail?
* Bad command or file name
* Halt and Catch Fire
* HTTP 418
* Out of memory

Lists|

* List of HTTP status codes
* List of FTP server return codes

Related|

* Spinning pinwheel
* Windows wait cursor

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Linux kernel oops. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Linux_kernel_oops&oldid=227180"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template