| /linux/Documentation/filesystems/ |
| H A D | idmappings.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 ------------ 16 in userspace is:: 20 ``u`` indicates the first element in the upper idmapset ``U`` and ``k`` 21 indicates the first element in the lower idmapset ``K``. The ``r`` parameter 24 we're talking about an id in the upper or lower idmapset. 26 To see what this looks like in practice, let's take the following idmapping:: 32 u22 -> k10000 33 u23 -> k10001 34 u24 -> k10002 [all …]
|
| /linux/Documentation/process/ |
| H A D | howto.rst | 3 HOWTO do Linux kernel development 6 This is the be-all, end-all document on this topic. It contains 7 instructions on how to become a Linux kernel developer and how to learn 8 to work with the Linux kernel development community. It tries to not 9 contain anything related to the technical aspects of kernel programming, 10 but will help point you in the right direction for that. 12 If anything in this document becomes out of date, please send in patches 18 ------------ 20 So, you want to learn how to become a Linux kernel developer? Or you 27 The kernel is written mostly in C, with some architecture-dependent [all …]
|
| H A D | stable-api-nonsense.rst | 3 The Linux Kernel Driver Interface 8 Greg Kroah-Hartman <greg@kroah.com> 11 kernel interface, nor does it have a stable kernel interface**. 15 Please realize that this article describes the **in kernel** interfaces, not 16 the kernel to userspace interfaces. 18 The kernel to userspace interface is the one that application programs use, 21 kernel that still work just fine on the latest 2.6 kernel release. 27 ----------------- 28 You think you want a stable kernel interface, but you really do not, and 30 you get that only if your driver is in the main kernel tree. You also [all …]
|
| H A D | applying-patches.rst | 3 Applying Patches To The Linux Kernel 11 This document is obsolete. In most cases, rather than using ``patch`` 14 A frequently asked question on the Linux Kernel Mailing List is how to apply 15 a patch to the kernel or, more specifically, what base kernel a patch for 19 In addition to explaining how to apply and revert patches, a brief 20 description of the different kernel trees (and examples of how to apply 33 should both be present in the patch file metadata or be possible to deduce 41 (or patch) file and makes the changes to the source tree described in it. 43 Patches for the Linux kernel are generated relative to the parent directory 44 holding the kernel source dir. [all …]
|
| H A D | cve.rst | 8 regards to the kernel project, and CVE numbers were very often assigned 9 in inappropriate ways and for inappropriate reasons. Because of this, 10 the kernel development community has tended to avoid them. However, the 13 outside of the kernel community has made it clear that the kernel 16 The Linux kernel developer team does have the ability to assign CVEs for 17 potential Linux kernel security issues. This assignment is independent 18 of the :doc:`normal Linux kernel security bug reporting 19 process<../process/security-bugs>`. 21 A list of all assigned CVEs for the Linux kernel can be found in the 22 archives of the linux-cve mailing list, as seen on [all …]
|
| H A D | 3.Early-stage.rst | 3 Early-stage planning 6 When contemplating a Linux kernel development project, it can be tempting 7 to jump right in and start coding. As with any significant project, 9 line of code is written. Some time spent in early planning and 14 ---------------------- 16 Like any engineering project, a successful kernel enhancement starts with a 17 clear description of the problem to be solved. In some cases, this step is 19 example. In others, though, it is tempting to confuse the real problem 24 by excessive latency in the system. The solution they arrived at was a 25 kernel module intended to hook into the Linux Security Module (LSM) [all …]
|
| H A D | handling-regressions.rst | 1 .. SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0) 7 *We don't cause regressions* -- this document describes what this "first rule of 8 Linux kernel development" means in practice for developers. It complements 9 Documentation/admin-guide/reporting-regressions.rst, which covers the topic from a 16 #. Ensure subscribers of the `regression mailing list <https://lore.kernel.org/regressions/>`_ 21 loop by immediately sending at least a brief "Reply-all" with the list 24 * Forward or bounce any reports submitted in bug trackers to the list. 26 #. Make the Linux kernel regression tracking bot "regzbot" track the issue (this 30 introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions 31 list in CC) containing a paragraph like the following, which tells regzbot [all …]
|
| /linux/Documentation/arch/arm/ |
| H A D | booting.rst | 9 The following documentation is relevant to 2.4.18-rmk6 and beyond. 11 In order to boot ARM Linux, you require a boot loader, which is a small 12 program that runs before the main kernel. The boot loader is expected 13 to initialise various devices, and eventually call the Linux kernel, 14 passing information to the kernel. 22 4. Setup the kernel tagged list. 24 6. Call the kernel image. 28 --------------------------- 36 kernel will use for volatile data storage in the system. It performs 37 this in a machine dependent manner. (It may use internal algorithms [all …]
|
| /linux/Documentation/arch/x86/ |
| H A D | pti.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 countermeasure against attacks on the shared user/kernel address 16 the kernel is entered via syscalls, interrupts or exceptions, the 17 page tables are switched to the full "kernel" copy. When the system 20 The userspace page tables contain only a minimal amount of kernel 21 data: only what is needed to enter/exit the kernel such as the 25 comments in pti.c). 27 This approach helps to ensure that side-channel attacks leveraging 30 time. Once enabled at compile-time, it can be disabled at boot with 31 the 'nopti' or 'pti=' kernel parameters (see kernel-parameters.txt). [all …]
|
| H A D | boot.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 On the x86 platform, the Linux kernel uses a rather complicated boot 9 well as the desire in the early days to have the kernel itself be a 11 expectations in the PC industry caused by the effective demise of 12 real-mode DOS as a mainstream operating system. 20 Protocol 2.00 (Kernel 1.3.73) Added bzImage and initrd support, as 22 boot loader and the kernel. setup.S made relocatable, 26 Protocol 2.01 (Kernel 1.3.76) Added a heap overrun warning. 28 Protocol 2.02 (Kernel 2.4.0-test3-pre3) New command line protocol. 31 safe for systems which use the EBDA from SMM or 32-bit [all …]
|
| /linux/Documentation/admin-guide/ |
| H A D | tainted-kernels.rst | 2 --------------- 4 The kernel will mark itself as 'tainted' when something occurs that might be 6 most of the time it's not a problem to run a tainted kernel; the information is 8 cause might be the event that got the kernel tainted. That's why bug reports 10 problems with an untainted kernel. 12 Note the kernel will remain tainted even after you undo what caused the taint 13 (i.e. unload a proprietary kernel module), to indicate the kernel remains not 14 trustworthy. That's also why the kernel will print the tainted state when it 15 notices an internal problem (a 'kernel bug'), a recoverable error 16 ('kernel oops') or a non-recoverable error ('kernel panic') and writes debug [all …]
|
| H A D | reporting-regressions.rst | 1 .. SPDX-License-Identifier: (GPL-2.0+ OR CC-BY-4.0) 7 "*We don't cause regressions*" is the first rule of Linux kernel development; 11 This document describes what the rule means for users and how the Linux kernel's 13 for kernel developers are left to Documentation/process/handling-regressions.rst. 19 #. It's a regression if something running fine with one Linux kernel works worse 20 or not at all with a newer version. Note, the newer kernel has to be compiled 22 and other fine print in more detail. 24 #. Report your issue as outlined in Documentation/admin-guide/reporting-issues.rst, 28 <https://lore.kernel.org/regressions/>`_ (regressions@lists.linux.dev). 31 Linux kernel regression tracking bot "regzbot" track the issue by specifying [all …]
|
| /linux/include/uapi/linux/ |
| H A D | dm-log-userspace.h | 1 /* SPDX-License-Identifier: LGPL-2.0+ WITH Linux-syscall-note */ 3 * Copyright (C) 2006-2009 Red Hat, Inc. 12 #include <linux/dm-ioctl.h> /* For DM_UUID_LEN */ 15 * The device-mapper userspace log module consists of a kernel component and 16 * a user-space component. The kernel component implements the API defined 17 * in dm-dirty-log.h. Its purpose is simply to pass the parameters and 18 * return values of those API functions between kernel and user-space. 20 * Below are defined the 'request_types' - DM_ULOG_CTR, DM_ULOG_DTR, etc. 21 * These request types represent the different functions in the device-mapper 22 * dirty log API. Each of these is described in more detail below. [all …]
|
| /linux/Documentation/security/ |
| H A D | self-protection.rst | 2 Kernel Self-Protection 5 Kernel self-protection is the design and implementation of systems and 6 structures within the Linux kernel to protect against security flaws in 7 the kernel itself. This covers a wide range of issues, including removing 9 and actively detecting attack attempts. Not all topics are explored in 13 In the worst-case scenario, we assume an unprivileged local attacker 14 has arbitrary read and write access to the kernel's memory. In many 16 but with systems in place that defend against the worst case we'll 18 still be kept in mind, is protecting the kernel against a _privileged_ 21 kernel modules.) [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-devices-system-cpu | 2 Date: pre-git history 3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 7 Individual CPU attributes are contained in subdirectories 8 named by the kernel's logical CPU number, e.g.: 18 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 19 Description: CPU topology files that describe kernel limits related to 22 kernel_max: the maximum cpu index allowed by the kernel 27 kernel configuration (kernel_max above). 34 present: cpus that have been identified as being present in 37 See Documentation/admin-guide/cputopology.rst for more information. [all …]
|
| H A D | sysfs-bus-cxl | 4 Contact: linux-cxl@vger.kernel.org 6 (WO) If userspace manually unbinds a port the kernel schedules 14 Contact: linux-cxl@vger.kernel.org 17 Memory Device Output Payload in the CXL-2.0 24 Contact: linux-cxl@vger.kernel.org 26 (RO) Maximum size (in bytes) of the mailbox command payload 34 Contact: linux-cxl@vger.kernel.org 36 (RO) Size (in bytes) of the Label Storage Area (LSA). 42 Contact: linux-cxl@vger.kernel.org 45 identically named field in the Identify Memory Device Output [all …]
|
| /linux/lib/ |
| H A D | Kconfig.debug | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "Kernel hacking" 18 The behavior is also controlled by the kernel command line 19 parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst 26 in task context) or a caller "processor id" (if not in task context) 35 no option to enable/disable at the kernel command line parameter or 43 context in printk, such as task name and CPU number from where the 51 bool "Show build ID information in stacktraces" 54 Selecting this option adds build ID information for symbols in 59 kernel module where the function is located. [all …]
|
| /linux/Documentation/bpf/ |
| H A D | bpf_devel_QA.rst | 10 Documentation/process/submitting-patches.rst. This document only describes 20 Q: How do I report bugs for BPF kernel code? 21 -------------------------------------------- 22 A: Since all BPF kernel development as well as bpftool and iproute2 BPF 23 loader development happens through the bpf kernel mailing list, 27 bpf@vger.kernel.org 32 maintainers to Cc (from kernel ``MAINTAINERS`` file): 34 * Alexei Starovoitov <ast@kernel.org> 37 In case a buggy commit has already been identified, make sure to keep 38 the actual commit authors in Cc as well for the report. They can [all …]
|
| /linux/arch/arm/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 48 # https://github.com/llvm/llvm-project/commit/d130f402642fba3d065aacb506cb061c899558de 165 The ARM series is a line of low-power-consumption RISC chip designs 167 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer 168 manufactured, but legacy ARM-based PC hardware remains popular in 176 relocations. The combined range is -/+ 256 MiB, which is usually 269 Patch phys-to-virt and virt-to-phys translation functions at 271 kernel in system memory. 273 This can only be used with non-XIP MMU kernels where the base 277 this feature (eg, building a kernel for a single machine) and [all …]
|
| /linux/Documentation/translations/it_IT/process/ |
| H A D | 1.Intro.rst | 1 .. include:: ../disclaimer-ita.rst 12 ------------------ 14 Il resto di questa sezione riguarda il processo di sviluppo del kernel e 17 per il kernel debba essere incorporato nel kernel ufficiale, fra le quali: 18 disponibilità immediata agli utilizzatori, supporto della comunità in 20 del kernel. 21 Il codice che contribuisce al kernel Linux deve essere reso disponibile sotto 22 una licenza GPL-compatibile. 25 il ciclo di rilascio del kernel, ed i meccanismi della finestra 28 liste di discussione. Gli sviluppatori che sono in attesa di poter sviluppare [all …]
|
| /linux/Documentation/rust/ |
| H A D | testing.rst | 1 .. SPDX-License-Identifier: GPL-2.0 6 This document contains useful information how to test the Rust code in the 7 kernel. 11 - The KUnit tests. 12 - The ``#[test]`` tests. 13 - The Kselftests. 16 --------------- 18 These are the tests that come from the examples in the Rust documentation. They 27 ./tools/testing/kunit/kunit.py run --make_options LLVM=1 --arch x86_64 --kconfig_add CONFIG_RUST=y 29 Alternatively, KUnit can run them as kernel built-in at boot. Refer to [all …]
|
| /linux/arch/loongarch/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 256 # MIPS Loongson code, to preserve Loongson-specific code paths in drivers that 287 def_bool $(as-instr,x:pcalau12i \$t0$(comma)%pc_hi20(x)) 290 def_bool $(as-instr,movfcsr2gr \$t0$(comma)\$fcsr0) 293 def_bool $(cc-option,-Wa$(comma)-mthin-add-sub) || AS_IS_LLVM 296 def_bool $(as-instr,vld \$vr0$(comma)\$a0$(comma)0) 299 def_bool $(as-instr,xvld \$xr0$(comma)\$a0$(comma)0) 302 def_bool $(as-instr,movscr2gr \$a0$(comma)\$scr0) 305 def_bool $(as-instr,hvcl 0) 308 def_bool $(as-instr,sc.q \$t0$(comma)\$t1$(comma)\$t2) [all …]
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | kho.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 11 :ref:`concepts <kho-concepts>`. If you have not read 17 KHO is available when the kernel is compiled with ``CONFIG_KEXEC_HANDOVER`` 22 To use KHO, please boot the kernel with the ``kho=on`` command line 32 the :ref:`KHO finalization phase <kho-finalization-phase>` :: 34 $ echo 1 > /sys/kernel/debug/kho/out/finalize 36 After this command, the KHO FDT is available in 37 ``/sys/kernel/debug/kho/out/fdt``. Other subsystems may also register 39 ``/sys/kernel/debug/kho/out/sub_fdts/``. 42 use the ``-s`` parameter to use the in-kernel kexec file loader, as user [all …]
|
| /linux/init/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 This is used in unclear ways: 8 - Re-run Kconfig when the compiler is updated 10 CC_VERSION_TEXT so it is recorded in include/config/auto.conf.cmd. 13 - Ensure full rebuild when the compiler is updated 14 include/linux/compiler-version.h contains this option in the comment 16 auto-generated dependency. When the compiler is updated, syncconfig 20 def_bool $(success,test "$(cc-name)" = GCC) 24 default $(cc-version) if CC_IS_GCC 28 def_bool $(success,test "$(cc-name)" = Clang) [all …]
|
| /linux/drivers/base/firmware_loader/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 9 This enables the firmware loading facility in the kernel. The kernel 10 will first look for built-in firmware, if it has any. Next, it will 11 look for the requested firmware in a series of filesystem paths: 13 o firmware_class path module parameter or kernel boot param 19 Enabling this feature only increases your kernel image by about 23 You typically want this built-in (=y) but you can also enable this 24 as a module, in which case the firmware_class module will be built. 25 You also want to be sure to enable this built-in if you are going to 26 enable built-in firmware (CONFIG_EXTRA_FIRMWARE). [all …]
|