Google envía el parche mseal() syscall al kernel de Linux

Los ingenieros de Google enviaron recientemente un nuevo parche para el kernel de Linux , con la esperanza de agregar una llamada al sistema "mseal() syscall " denominada mseal().

Según los informes, la llamada al sistema independiente de la arquitectura de Google fue utilizada originalmente por el navegador Chrome en Chrome OS. En ese momento, Glibc también estaba realizando experimentos similares en el enlazador dinámico para encapsular todos los segmentos no grabables al inicio.

mseal() evita que las llamadas al sistema modifiquen los metadatos de las direcciones virtuales . El soporte inicial es para la encapsulación de llamadas mprotect/pkey_mprotect, munmap, mmap y mremap. Para brindar una mejor protección en los motores JavaScript Chrome y V8, los desarrolladores buscan hacer que los metadatos de las regiones de memoria virtual sean inmutables.

La solución de Glibc es agregar encapsulación en el enlazador dinámico para que todos los segmentos que no se pueden escribir se encapsulen al inicio, lo que también beneficiará automáticamente a todas las aplicaciones.

Linus Torvalds expresó reservas sobre el modelo propuesto por mseal() syscall. En la actualidad, esta propuesta no ha sido aceptada directamente y debe revisarse para evolucionar a una forma adecuada para upstream.

Linus dijo:

"No tengo ningún problema en agregar algún tipo de modelo de 'bloqueo de asignaciones de memoria', pero ese no es el caso.

Primero, el problema más obvio es que la información enviada no tiene valor.

Además, el problema más fundamental es mucho más grave: "ON_BEHALF_OF_KERNEL" y "ON_BEHALF_OF_USERSPACE" son completamente ilógicos en su conjunto y es necesario reescribir todo el concepto. Porque esta es la definición de llamada al sistema "literal" de remap_file_pages(). "

Supongo que te gusta

Origin www.oschina.net/news/262326
Recomendado
Clasificación