Short description: Serious, non-fatal error in the Linux kernel
Linux kernel oops on SPARCLinux 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
1Functioning
2See also
3References
4Further 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
↑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/.
↑"Documentation for /proc/sys/kernel/". https://docs.kernel.org/admin-guide/sysctl/kernel.html#oops-limit.
↑Corbet, Jonathan (18 November 2022). "Averting excessive oopses". LWN.net. https://lwn.net/Articles/914878/.
↑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.
↑"kerneloops(8) - Linux man page". https://linux.die.net/man/8/kerneloops.
↑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
Of 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