Oracle Corporation første stabile udgivelse (UEK R6), en udvidet kernebygning af Linux, der er positioneret til brug i Oracle Linux-distributionen som et alternativ til den standardpakke med kerne fra Red Hat Enterprise Linux. Kernen er kun tilgængelig for arkitekturerne x86_64 og ARM64 (aarch64). Kildekoderne til kernen, inklusive opdelingen i separate patches, i Oracle's offentlige Git-repository.
Unbreakable Enterprise Kernel 6-pakken er baseret på kernen (UEK R5 var baseret på kernen 4.14), som er blevet tilføjet nye funktioner, optimeringer og fejlrettelser, samt testet for kompatibilitet med de fleste applikationer, der kører på RHEL og specielt optimeret til brug med industrielt software og hardware fra Oracle. Installations- og src-pakker med kernen UEK R6 er klargjort til Oracle Linux og . Understøttelsen af 6.x-grenen er ophørt, for at anvende UEK R6 skal systemet opdateres til Oracle Linux 7 (der er ingen forhindringer for at bruge denne kerne i tilsvarende versioner af RHEL, CentOS og Scientific Linux).
Nøglepunkter Unbreakable Enterprise Kernel 6:
- Udvidet support til systemer baseret på 64-bit arkitektur ARM (aarch64).
- Support for alle funktioner i Cgroup v2 er implementeret.
- ktask-rammeværket til parralelisering af opgaver i kernen, der kræver betydelige CPU-ressourcer, er implementeret. For eksempel kan ktask bruges til at organisere parralelisering af operationer til rydning af hukommelsesområder eller behandling af inode-lister;
- En parralel version af kswapd er inkluderet til behandling af hukommelsesudskiftning operationer i asynkront mode, hvilket reducerer antallet af direkte (synkrone) udskiftningsoperationer. Når antallet af frie hukommelsessider falder, udfører kswapd scanning for at identificere ubrugte sider, der kan frigives.
- Understøttelse af verifikation af integriteten af kerneaftryk og firmware ved digital signatur, når kernen indlæses ved hjælp af Kexec-mekanismer (indlæsning af kernen fra et allerede indlæst system).
- Optimering af ydeevnen af det virtuelle hukommelsessystem er gennemført, effektiviteten af rydning af hukommelsessider og cachen er forbedret, og behandling af henvisninger til ikke-allokerede hukommelsessider (page faults) er forbedret.
- Udvidet support for NVDIMM, den angivne ikke-flygtige hukommelse kan nu bruges som traditionelt RAM.
- Overgangen til DTrace 2.0 dynamisk fejlfinding er gennemført, som til brugen af eBPF-kernelunderdelssystemet. DTrace fungerer nu oven på eBPF, ligesom eksisterende sporingsværktøjer i Linux gør det.
- Forbedringer er blevet foretaget i OCFS2 (Oracle Cluster File System).
- Forbedret support for Btrfs-filsystemet. Mulighed for at anvende Btrfs på roddrev er tilføjet. Installationsprogrammet har fået en mulighed for at vælge Btrfs ved formatering af enheder. Mulighed for at placere swap-filer på Btrfs-partitioner er tilføjet. Btrfs understøtter nu komprimering ved hjælp af ZStandard-algoritmen.
- Tilføjet understøttelse af et interface til asynkron I/O — io_uring, der bemærkes for sin understøttelse af I/O-polling og muligheden for at arbejde både med og uden buffervirksomhed. Med hensyn til ydeevne er io_uring meget tæt på SPDK og overgår libaio betydeligt i arbejder med aktiv polling. Til brug af io_uring i slutapplikationer, der arbejder i brugerområdet, er der forberedt et bibliotek, liburing, som giver en høj-niveau indpakning over kernel-interface.
- Tilføjet støtte til tilstand til hurtig kryptering af lagringsenheder.
- Tilføjet understøttelse af kompression ved hjælp af (zstd).
- I ext4-filsystemet anvendes 64-bit tidsstempler i superblokfelter.
- XFS har fået værktøjer til at informere om filsystemets integritet under drift og til at få status om udførelsen af fsck i realtid.
- TCP-stakken er som standard ændret til modellen "" i stedet for "As Fast As Possible" ved pakkeafsendelse. For UDP er der tilføjet støtte til GRO (Generic Receive Offload). Der er tilføjet støtte til modtagelse og afsendelse af TCP-pakker i zero-copy tilstand.
- Implementeringen af TLS-protokollen på kernel-niveau (KTLS) er aktiveret, og kan nu anvendes ikke kun til afsendte, men også til modtagne data.
- Som backend til firewall er der valgt
nftables som standard. Valgfrit er der tilføjet støtte til . - Tilføjet støtte til XDP (eXpress Data Path) subsystemet, der tillader kørsel af BPF-programmer på netværksdriverens niveau i Linux, med mulighed for direkte adgang til DMA-pakkebuffer og på et stadium før tildeling af skbuff-buffer af netværksstakken.
- Forbedret og aktiveret ved brug af UEFI Secure Boot-tilstand. , som begrænser root-brugerens adgang til kernen og blokerer for omgåelse af UEFI Secure Boot. For eksempel, i lockdown-tilstand begrænses adgangen til /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes debug-tilstand, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), samt nogle ACPI-interfaces og CPU MSR-registere, kald til kexec_file og kexec_load blokeres, søvnstatus forhindres, brugen af DMA for PCI-enheder begrænses, import af ACPI-kode fra EFI-variabler forbydes, manipulation med input/output-porte, inklusive ændring af interruptionsnummer og input/output-porte til den serielle port er ikke tilladt.
- Der er tilføjet støtte til udvidede IBRS-instruktioner (Enhanced Indirect Branch Restricted Speculation), som gør det muligt adaptivt at tillade og forbyde spekulativ udførelse af instruktioner under behandling af afbrydelser, systemopkald og konteksskift. Når der er støtte for Enhanced IBRS, anvendes denne metode til beskyttelse mod Spectre V2-angreb i stedet for Retpoline, da den muliggør højere ydeevne.
- Beskyttelsen er forbedret i kataloger, der er skriveadgang til for alle. I sådanne kataloger er det forbudt at oprette FIFO-filer og filer, der tilhører brugere, som ikke stemmer overens med katalogets ejer med sticky-flag.
- Som standard er adresserumrandorisering aktiveret for kernen på ARM-systemer (KASLR). For Aarch64 er pointerautentifikation aktiveret.
- Støtte til 'NVMe over Fabrics TCP' er tilføjet.
- Virtio-pmem-driveren er tilføjet, hvilket giver adgang til lagringsenheder, der afspejles i det fysiske adresseområde, såsom NVDIMM.
Kilde: opennet.ru
