mirror-linux/Documentation/driver-api
David Disseldorp 7c1f14f6e8
docs: initramfs: file data alignment via name padding
The existing cpio extraction logic reads (maximum PATH_MAX) name_len
bytes from the archive into the collected name buffer and ensures that
the trailing byte is a null-terminator. This allows the actual file name
to be shorter than name_len, with the name string simply zero-terminated
prior to the last byte.

Initramfs generators, such as dracut-cpio[1], can take advantage of name
zero-padding to align file data segments within the archive to
filesystem block boundaries. Block boundary alignment may allow the
copy_file_range syscall to reflink archive source and destination
extents.

Link: 300e4b116c [1]
Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://lore.kernel.org/r/20250819032607.28727-7-ddiss@suse.de
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2025-08-20 16:02:56 -07:00
..
80211
acpi
backlight
coco Merge branch 'for-6.16/tsm-mr' into tsm-next 2025-05-12 22:12:44 -07:00
crypto crypto: iaa - Fix IAA disabling that occurs when sync_mode is set to 'async' 2024-12-28 19:49:23 +08:00
cxl cxl: docs/devices Fix typos and clarify wording in device-types.rst 2025-06-30 16:36:06 -07:00
dmaengine dmaengine updates for v6.16 2025-06-05 08:49:30 -07:00
driver-model gpiolib: Remove unused devm_gpio_request() 2025-06-10 10:06:41 +02:00
early-userspace docs: initramfs: file data alignment via name padding 2025-08-20 16:02:56 -07:00
firmware docs: driver-api: firmware: clarify userspace requirements 2025-03-17 17:04:32 -06:00
fpga fpga: region: add owner module and take its refcount 2024-04-23 15:37:20 +08:00
gpio Documentation: treewide: Replace remaining spinics links with lore 2025-06-21 14:20:51 -06:00
hte
i3c
iio docs: iio: Allow creating cross-references ABI 2025-02-18 13:42:46 -07:00
md
media media: Documentation: Document new v4l2_ctrl_handler_free() behaviour 2025-06-30 08:47:41 +02:00
mei docs: driver-api: properly format ToC headings 2023-11-17 13:05:26 -07:00
memory-devices
mmc Documentation: mmc: Add mmc-test doc 2024-09-05 12:13:39 +02:00
mtd Docs: typos/spelling 2024-05-02 10:02:29 -06:00
nfc
nvdimm Documentation/driver-api: fixed spelling mistakes 2025-02-13 09:44:30 -07:00
pci PCI/TPH: Add TPH documentation 2024-10-21 16:19:32 -05:00
phy phy: core: Remove unused phy_pm_runtime_(allow|forbid) 2025-03-10 12:58:07 +05:30
pldmfw
pm Documentation/driver-api: fixed spelling mistakes 2025-02-13 09:44:30 -07:00
rapidio
serial serial: Remove unused uart_get_console 2025-06-19 13:24:16 +02:00
soundwire soundwire: update Intel BPT message length limitation 2025-06-09 21:42:18 +05:30
surface_aggregator lib: crc_ccitt_false() is identical to crc_itu_t() 2023-12-29 12:22:26 -08:00
thermal thermal: intel: int340x: Add throttling control interface to PTC 2025-06-16 14:03:09 +02:00
tty tty: fix tty_port_tty_*hangup() kernel-doc 2025-06-24 15:32:56 +01:00
usb usb: core: Remove unused usb_unlink_anchored_urbs 2025-06-19 12:27:02 +02:00
virtio virtio: store owner from modules with register_virtio_driver() 2024-04-08 04:11:04 -04:00
xilinx
aperture.rst
auxiliary_bus.rst drivers/base: Remove unused auxiliary_find_device 2024-10-14 08:21:09 +02:00
basics.rst Docs: driver-api/basics: add kobject_event interfaces 2025-05-19 08:02:14 -06:00
clk.rst
component.rst
connector.rst
console.rst
devfreq.rst
device-io.rst PCI: Move pci_iomap.c to drivers/pci/ 2024-02-12 10:35:40 -06:00
device_link.rst
dma-buf.rst doc: dma-buf: fix grammar typo 2024-04-18 16:20:48 +02:00
dpll.rst dpll: add reference-sync netlink attribute 2025-06-27 16:38:02 -07:00
edac.rst
eisa.rst alpha: remove DECpc AXP150 (Jensen) support 2024-05-03 22:09:50 +02:00
extcon.rst Documentation: extcon: add documentation for Extcon subsystem 2024-12-08 21:59:40 +09:00
firewire.rst firewire: core: expose kernel API to schedule work item to process isochronous context 2024-09-08 13:05:48 +09:00
frame-buffer.rst
generic-counter.rst docs: arm: generic-counter: Allow creating cross-references for ABI 2025-02-18 13:42:46 -07:00
hsi.rst
i2c.rst
index.rst tsm-mr: Add TVM Measurement Register support 2025-05-08 19:17:33 -07:00
infiniband.rst docs: driver-api/infiniband.rst: fix Kerneldoc markup 2025-03-04 09:47:38 -07:00
infrastructure.rst driver core: add a faux bus for use when a simple device/bus is needed 2025-02-13 16:58:51 +01:00
input.rst Add libps2 to the input section of driver-api 2024-07-03 16:20:49 -06:00
interconnect.rst
io-mapping.rst
io_ordering.rst
ioctl.rst
ipmb.rst
ipmi.rst docs: ipmi: fix spelling and grammar mistakes 2025-05-15 20:43:14 -05:00
isa.rst
libata.rst Documentation: driver-api: Update libata error handler information 2025-07-16 09:31:43 +02:00
mailbox.rst
men-chameleon-bus.rst
message-based.rst
misc_devices.rst
miscellaneous.rst
mtdnand.rst
ntb.rst Documentation: NTB: Fix typo 2025-05-19 09:04:21 -06:00
nvmem.rst nvmem: Remove unused nvmem cell table support 2025-05-21 14:28:27 +02:00
parport-lowlevel.rst
pin-control.rst docs/pinctrl: fix typo in mapping example 2024-07-16 11:11:14 -06:00
pps.rst Documentation: driver-api: pps: Add Intel Timed I/O PPS generator 2025-02-21 10:46:49 +01:00
ptp.rst
pwm.rst docs: pwm: Adapt Locking paragraph to reality 2025-07-07 08:39:36 +02:00
pwrseq.rst Documentation: pwrseq: Fix trivial misspellings 2024-11-22 10:36:53 -07:00
regulator.rst
reset.rst
rfkill.rst
s390-drivers.rst
scsi.rst scsi: driver-api: documentation: Change what is added to docbook 2025-01-10 15:15:25 -05:00
slimbus.rst
sm501.rst
spi.rst
switchtec.rst
sync_file.rst
target.rst
tee.rst Documentation: Destage TEE subsystem documentation 2023-12-08 15:45:10 -07:00
uio-howto.rst
vfio-mediated-device.rst
vfio-pci-device-specific-driver-acceptance.rst
vfio.rst vfio: remove an extra semicolon 2024-05-10 11:15:21 -06:00
vme.rst
w1.rst
wbrf.rst Docs: typos/spelling 2024-05-02 10:02:29 -06:00
wmi.rst platform/x86: wmi: Update WMI driver API documentation 2024-10-06 12:48:52 +02:00
xillybus.rst
zorro.rst