Linux 5.13 llega con soporte inicial para Apple M1, mejoras a controladores y mas
Después de dos meses de desarrollo, Linus Torvalds dado a conocer el lanzamiento del kernel de Linux 5.13 la cual se considera como la versión más grande de la historia, ya que recibió 17189 correcciones de 2150 desarrolladores y de los cuales los cambios afectaron a 12996 archivos, 794705 líneas de código agregadas, 399590 líneas eliminadas
Entre los cambios más notables se destaca el soporte inicial para chips Apple M1, controlador cgroup «misc», soporte descontinuado para /dev/kmem, soporte para nuevas GPU Intel y AMD, la capacidad de llamar directamente funciones del kernel desde programas BPF, aleatorización del kernel stack para cada llamada del sistema, la capacidad de construir en Clang con protección CFI (Control Flow Integrity), Landlock del módulo LSM para la limitación adicional de procesos y mas.
Principales novedades de Linux 5.13
En esta nueva versión del Kernel se destaca la introducción el soporte inicial para el chip ARM M1 de Apple, que cubre las funciones de controlador de interrupción, temporizador, UART, SMP, E/S y MMIO. Se menciona que la ingeniería inversa de la GPU aún no está completa, se proporciona soporte de consola serial y framebuffer para organizar la salida.
Otro de las novedades que se destaca es la integración continua en el núcleo MPTCP (MultiPath TCP), ya que en la nueva versión se agrega soporte para sockopt para configurar opciones TCP genéricas. Se implementó la capacidad de restablecer subflujos individuales.
Tambien se destaca un nuevo controlador de cgroup «Misc» (CONFIG_CGROUP_MISC), diseñado para limitar y rastrear recursos escalares que se pueden controlar usando un contador simple y limitado estableciendo los valores máximos permitidos. Como ejemplo se menciona la gestión de los identificadores de espacio de direcciones utilizados en el mecanismo AMD SEV (Secure Encrypted Virtualization).
Por otra parte tambien se destaca que en los programas de rastreo de BPF, se hizo posible utilizar un almacenamiento local de tareas para una tarea, lo que proporciona un mayor rendimiento al vincular datos a un manejador de BPF específico.
Además, tambien se destaca que después de 13 años en la rama de preparación, el controlador «comedi» ( una colección de controladores para una variedad de placas de adquisición de datos comunes. Los controladores se implementan como un módulo del núcleo de Linux que proporciona una funcionalidad común y módulos de controladores individuales de bajo nivel) se ha estabilizado y trasladado a la estructura principal para admitir los dispositivos de recopilación de datos.
En ext4, ahora se permite sobrescribir las entradas del directorio cuando se eliminan archivos para garantizar que se borren los nombres de los archivos eliminados. Al precargar mapas de bits de bloques, se mejoró el rendimiento del código para la asignación de bloques en FS recién montados. Ext4 también permite el uso simultáneo de cifrado y modo que no distingue entre mayúsculas y minúsculas.
Mientras que para XFS se agrega la capacidad de eliminar espacio del último grupo de distribución en el sistema de archivos, que fue el primer vínculo en la implementación de la función de reducir el tamaño de las particiones existentes con XFS FS. Se han realizado varias optimizaciones de rendimiento.
En Btrfs se ha agregado el uso de lectura anticipada en el comando de envío, lo que permitió reducir el tiempo para un envío completo en un 10% y uno incremental en un 25%. Para los dispositivos de bloques por zonas, se proporciona una redistribución automática en segundo plano de las zonas cuando se excede el umbral del 75% del espacio no utilizado.
Se eliminó el soporte para el archivo especial /dev/kmem, que se puede usar para acceder a todo el espacio de direcciones del kernel. Se ha descubierto que este archivo está desactualizado y causa problemas de seguridad.
Tambien podremos encontrar en esta nueva versión de Linux 5.13 que se agregó soporte para construir un kernel con la inclusión de un mecanismo de protección CFI (Control Flow Integrity) en el compilador de Clang, que agrega una función de verificación antes de cada llamada indirecta para identificar algunas formas de comportamiento indefinido que potencialmente pueden conducir a una violación de lo normal controlar el flujo como resultado de exploits, modificando punteros a funciones almacenadas en la memoria. Se propone el parámetro CONFIG_CFI_CLANG para habilitar CFI.
Finalmente por la parte de los controladores, ahora para GUD (Generic USB Display) el controlador proporciona propiedades DRM (Direct Rendering Manager) para rotación de imagen, control de brillo, acceso EDID, configuración de modo de video y conexión de TV, que se pueden utilizar como base para crear controladores específicos del dispositivo.
Mientras que para amdgpu se agrega soporte inicial para GPU Aldebaran (gfx90a) y se incluye soporte inicial para FreeSync Adaptive Sync para HDMI (anteriormente disponible para DisplayPort),
Mientras que para los controladores de Intel se destaca que se ha implementado un nuevo controlador para la gestión de la refrigeración, que permite reducir la frecuencia del procesador cuando existe peligro de sobrecalentamiento.
Descarga
Para los interesados en la nueva versión Linux 5.13 pueden realizar la descarga ya desde kernel.org