Linus Torvalds dio a conocer el lanzamiento de la nueva version del Kernel de Linux 5.8 y en esta nueva entrega entre los cambios más notables son el detector de racecondition KCSAN, un mecanismo universal para enviar notificaciones al espacio del usuario, soporte de hardware para encriptación en línea, mecanismos de protección avanzados para ARM64, soporte para el procesador ruso Baikal-T1, la capacidad de montar por separado instancias de proceso, implementación de mecanismos de protección Shadow para ARM64 Call Stack y BTI.
Esta nueva version del Kernel se convirtió en el más grande en términos de la cantidad de cambios de todos los núcleos durante toda la existencia del proyecto. Al mismo tiempo, los cambios no están asociados con ningún subsistema, sino que cubren diferentes partes del núcleo y están relacionados principalmente con el procesamiento interno y la limpieza.
Principales novedades de Linux 5.8
En esta nueva version del Kernel de Linux 5.8 se proporciona el bloqueo de los módulos de kernel de carga que tienen secciones con código, en el que se establecen simultáneamente bits que permiten la ejecución y la escritura.
Ahora es posible crear instancias de proceso separadas, permitiendo múltiples puntos de montaje de proceso, montados con diferentes opciones, pero reflejando el mismo espacio de nombres pid.
Para la plataforma ARM64, se implementa el soporte para el mecanismo Shadow-Call Stack, proporcionado por el compilador Clang para proteger contra la sobrescritura de la dirección de retorno de una función en caso de un desbordamiento del búfer en la pila.
Además de que también se agregó soporte para las instrucciones ARMv8.5-BTI (Branch Target Indicator) para proteger la ejecución de conjuntos de instrucciones que no deberían ramificarse.
Se agregó soporte de hardware para el cifrado en línea de dispositivos de bloque, con lo cual los dispositivos de cifrado en línea que generalmente están integrados en la unidad se puedan colocar lógicamente entre la memoria del sistema y el disco, realizando un cifrado y descifrado transparente según las claves y el algoritmo de cifrado especificado por el núcleo.
Además, en esta nueva version se incluyeron las recomendaciones sobre el uso de terminología inclusiva que se adoptan en el documento que define las reglas para la codificación.
Por otra parte, también se destaca la nueva herramienta de depuración KCSAN (Kernel Concurrency Sanitizer), diseñada para identificar dinámicamente las condiciones de carrera dentro del núcleo. El enfoque principal en el desarrollo de KCSAN es la prevención de falsos positivos, la escalabilidad y la facilidad de uso.
Otro cambio importante es que se ha agregado un nuevo controlador dm-ebs a Device Mapper, que se puede usar para emular un tamaño de bloque lógico más pequeño (por ejemplo, para emular sectores de 512 bytes en unidades con un tamaño de sector 4K).
Btrfs ha mejorado el manejo de las operaciones de lectura en modo directo. Al montar, la comprobación acelerada de las subclaves y directorios eliminados se dejó sin un padre.
Ext4 ha mejorado el manejo de errores de ENOSPC cuando se usa el subprocesamiento múltiple . Xattr agrega soporte para el gnu. * Espacio de nombres utilizado por GNU Hurd.
Para Ext4 y XFS, se incluye soporte para operaciones DAX (acceso directo a sistemas de archivos sin pasar por el caché de la página sin usar el nivel de dispositivo de bloqueo) en relación con archivos y directorios individuales.
Además se agregó soporte a la utilidad kernel y ethtool para probar el cable de red conectado y el autodiagnóstico de los dispositivos de red.
Mientras que para la pila IPv6 agrega soporte para el algoritmo MPLS (Conmutación de etiquetas multiprotocolo) para enrutar paquetes usando la conmutación de etiquetas multiprotocolo (para IPv4, MPLS fue compatible anteriormente).
Finalmente para el hardware en esta nueva version podremos encontrar que:
- El controlador DRM para la tarjeta de video Intel i915 está habilitado de forma predeterminada
- Soporte para chips Intel Tiger Lake (GEN12)
- El controlador amdgpu agrega soporte para el formato de píxeles FP16 e implementa la capacidad de trabajar con buffers cifrados en la memoria de video
- Soporte para los sensores de potencia del procesador AMD Zen y Zen2 y los sensores de temperatura AMD Ryzen 4000 Renoir.
- Se agregó soporte para el formato modificador NVIDIA al controlador Nouveau.
- El controlador MSM (Qualcomm) agrega soporte para GPU Adreno A405, A640 y A650.
- Marco interno agregado para administrar recursos DRM (Direct Rendering Manager).
- Se agregó soporte para los teléfonos inteligentes Xiaomi Redmi Note 7 y Samsung Galaxy S2, así como para los Chromebooks Elm / Hana.
- Controladores adicionales para paneles LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
- Soporte agregado para plataformas y placas ARM Renesas «RZ / G1H», Realtek
- Soporte agregado para el procesador MIPS Loongson-2K