1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-29 12:03:03 +00:00
freebsd/sys
Kirk McKusick 0eabe33087 Updates to UFS/FFS superblock integrity checks when reading a superblock.
Have to add a check that the computed cylinder group size does not
exceed the block size of the filesystem.

It is also necessary to validate additional parameters when a
superblock is going to be used in read-only mode if its supplementary
information is going to be read in to ensure that the size and
location of the supplementary information is valid. Also when a
warning is raised let it be accepted, but bound the flagged field
to the value checked by the warning.

No legitimate superblocks should fail as a result of these changes.

Reported by:  Bob Prohaska, John-Mark Gurney, and Mark Millard
Tested by:    Peter Holm
Reviewed by:  Peter Holm
MFC after:    2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D38668
2023-03-07 15:02:19 -08:00
..
amd64 linux(4): Drop unncessary struct l_ifconf declaration from amd64/linux 2023-03-04 12:11:38 +03:00
arm Mechanically convert dwc(4) to IfAPI 2023-03-07 09:49:11 -05:00
arm64 arm64: fix the LINT-ACPI build 2023-03-07 11:37:31 -06:00
bsm
cam
cddl
compat linux: Use the if_name() accessor to get loopback name 2023-03-07 09:47:01 -05:00
conf abstract out the vm detection via smbios.. 2023-03-02 16:54:21 -08:00
contrib powerpc64*: port mlx5, OFED, KTLS and krping 2023-02-26 23:38:33 +01:00
crypto
ddb
dev Mechanically convert cxgb(4) and cxgbe(4) to IfAPI 2023-03-07 15:31:48 -05:00
dts
fs tarfs: Set mountedfrom correctly. 2023-03-07 17:20:49 +00:00
gdb
geom g_part_ebr: always create "compat" aliases 2023-03-01 13:44:01 -05:00
gnu
i386 linux(4): Reduce code duplication between MD files 2023-03-04 12:11:38 +03:00
isa
kern ktls: Use IfAPI accessors to get capabilities 2023-03-07 09:47:00 -05:00
kgssapi nfsd: Enable the NFSD_VNET vnet front end macros 2023-02-18 14:59:36 -08:00
libkern
modules sys/modules: Make use of SRCS.${KERN_OPT}. 2023-03-01 10:32:30 -08:00
net iflib: Further convert to use IfAPI accessors 2023-03-07 09:47:00 -05:00
net80211 net80211: ieee80211_swscan_bg_scan() track return variable under lock 2023-02-23 21:12:23 +00:00
netgraph ipfw: garbage collect ip_fw_chk_ptr 2023-03-03 10:30:15 -08:00
netinet netinet: Tighten checks for unspecified source addresses 2023-03-06 15:06:00 -05:00
netinet6 netinet: Tighten checks for unspecified source addresses 2023-03-06 15:06:00 -05:00
netipsec
netlink netlink: cleanup netlink_writer code 2023-03-07 17:45:31 +00:00
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
powerpc powerpc64*: port mlx5, OFED, KTLS and krping 2023-02-26 23:38:33 +01:00
riscv riscv kernel config: clean up whitespace 2023-02-24 08:36:29 -06:00
rpc svc_rpcsec_gss.c: Separate out the non-vnet initialization 2023-03-01 15:29:25 -08:00
security
sys time: s/ppsratecheck/eventratecheck 2023-02-24 19:26:36 +00:00
teken
tests
tools
ufs Updates to UFS/FFS superblock integrity checks when reading a superblock. 2023-03-07 15:02:19 -08:00
vm
x86 abstract out the vm detection via smbios.. 2023-03-02 16:54:21 -08:00
xdr
xen
Makefile
README.md note that some arch independent code can live in dev (e.g. SMBios) 2023-03-03 01:54:07 -08:00

FreeBSD Kernel Source:

This directory contains the source files and build glue that make up the FreeBSD kernel and its modules, including both original and contributed software.

Kernel configuration files are located in the conf/ subdirectory of each architecture. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries. LINT is a compile-only configuration used to maximize build coverage and detect regressions.

Source Roadmap:

Directory Description
amd64 AMD64 (64-bit x86) architecture support
arm 32-bit ARM architecture support
arm64 64-bit ARM (AArch64) architecture support
cam Common Access Method storage subsystem - cam(4) and ctl(4)
cddl CDDL-licensed optional sources such as DTrace
conf kernel build glue
compat Linux compatibility layer, FreeBSD 32-bit compatibility
contrib 3rd-party imported software such as OpenZFS
crypto crypto drivers
ddb interactive kernel debugger - ddb(4)
fs most filesystems, excluding UFS, NFS, and ZFS
dev device drivers and other arch independent code
gdb kernel remote GDB stub - gdb(4)
geom GEOM framework - geom(4)
i386 i386 (32-bit x86) architecture support
kern main part of the kernel
libkern libc-like and other support functions for kernel use
modules kernel module infrastructure
net core networking code
net80211 wireless networking (IEEE 802.11) - net80211(4)
netgraph graph-based networking subsystem - netgraph(4)
netinet IPv4 protocol implementation - inet(4)
netinet6 IPv6 protocol implementation - inet6(4)
netipsec IPsec protocol implementation - ipsec(4)
netpfil packet filters - ipfw(4), pf(4), and ipfilter(4)
opencrypto OpenCrypto framework - crypto(7)
powerpc PowerPC/POWER (32 and 64-bit) architecture support
riscv 64-bit RISC-V architecture support
security security facilities - audit(4) and mac(4)
sys kernel headers
tests kernel unit tests
ufs Unix File System - ffs(7)
vm virtual memory system
x86 code shared by AMD64 and i386 architectures