mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
96408beeef
Translate Documentation/process/maintainer-kvm-x86.rst into Spanish. Co-developed-by: Juan Embid <jembid@ucm.es> Signed-off-by: Juan Embid <jembid@ucm.es> Signed-off-by: Carlos Bilbao <carlos.bilbao.osdev@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> [jc: fixed apply- and build-time warnings] Link: https://lore.kernel.org/r/20240626221942.2780668-1-carlos.bilbao.osdev@gmail.com
466 lines
22 KiB
ReStructuredText
466 lines
22 KiB
ReStructuredText
.. include:: ../disclaimer-sp.rst
|
|
|
|
:Original: Documentation/process/maintainer-kvm-x86.rst
|
|
:Translator: Juan Embid <jembid@ucm.es>
|
|
|
|
KVM x86
|
|
=======
|
|
|
|
Prólogo
|
|
--------
|
|
KVM se esfuerza por ser una comunidad acogedora; las contribuciones de los
|
|
recién llegados son valoradas e incentivadas. Por favor, no se desanime ni
|
|
se sienta intimidado por la extensión de este documento y las numerosas
|
|
normas/directrices que contiene. Todos cometemos errores y todos hemos sido
|
|
principiantes en algún momento. Mientras haga un esfuerzo honesto por
|
|
seguir las directrices de KVM x86, sea receptivo a los comentarios, y
|
|
aprenda de los errores que cometa, será recibido con los brazos abiertos,
|
|
no con antorchas y horcas.
|
|
|
|
TL;DR
|
|
-----
|
|
Las pruebas son obligatorias. Sea coherente con los estilos y patrones
|
|
establecidos.
|
|
|
|
Árboles
|
|
-------
|
|
KVM x86 se encuentra actualmente en un período de transición de ser parte
|
|
del árbol principal de KVM, a ser "sólo otra rama de KVM". Como tal, KVM
|
|
x86 está dividido entre el árbol principal de KVM,
|
|
``git.kernel.org/pub/scm/virt/kvm/kvm.git``, y un árbol específico de KVM
|
|
x86, ``github.com/kvm-x86/linux.git``.
|
|
|
|
Por lo general, las correcciones para el ciclo en curso se aplican
|
|
directamente al árbol principal de KVM, mientras que todo el desarrollo
|
|
para el siguiente ciclo se dirige a través del árbol de KVM x86. En el
|
|
improbable caso de que una corrección para el ciclo actual se dirija a
|
|
través del árbol KVM x86, se aplicará a la rama ``fixes`` antes de llegar
|
|
al árbol KVM principal.
|
|
|
|
Tenga en cuenta que se espera que este periodo de transición dure bastante
|
|
tiempo, es decir, que será el statu quo en un futuro previsible.
|
|
|
|
Ramas
|
|
~~~~~
|
|
El árbol de KVM x86 está organizado en múltiples ramas por temas. El
|
|
propósito de utilizar ramas temáticas más específicas es facilitar el
|
|
control de un área de desarrollo, y para limitar los daños colaterales de
|
|
errores humanos y/o commits con errores, por ejemplo, borrar el commit HEAD
|
|
de una rama temática no tiene impacto en los hashes SHA1 de otros commit
|
|
en en camino, y tener que rechazar una solicitud de pull debido a errores
|
|
retrasa sólo esa rama temática.
|
|
|
|
Todas las ramas temáticas, excepto ``next`` y ``fixes``, se agrupan en
|
|
``next`` a través de un Cthulhu merge en función de las necesidades, es
|
|
decir, cuando se actualiza una rama temática. Como resultado, los push
|
|
forzados a ``next`` son comunes.
|
|
|
|
Ciclo de Vida
|
|
~~~~~~~~~~~~~
|
|
Las correcciones dirigidas a la versión actual, también conocida como
|
|
mainline, suelen aplicarse directamente al árbol principal de KVM, es
|
|
decir, no pasan por el árbol x86 de KVM.
|
|
|
|
Los cambios dirigidos a la siguiente versión se dirigen a través del árbol
|
|
KVM x86. Se envían pull requests (de KVM x86 a KVM main) para cada rama
|
|
temática de KVM x86, normalmente la semana antes de que Linus abra la
|
|
ventana de fusión, por ejemplo, la semana siguiente a rc7 para las
|
|
versiones "normales". Si todo va bien, las ramas temáticas son subidas en
|
|
el pull request principal de KVM enviado durante la ventana de fusión de
|
|
Linus.
|
|
|
|
El árbol de KVM x86 no tiene su propia ventana de fusión oficial, pero hay
|
|
un cierre suave alrededor de rc5 para nuevas características, y un cierre
|
|
suave alrededor de rc6 para correcciones (para la próxima versión; fíjese
|
|
más arriba para las correcciones dirigidas a la versión actual).
|
|
|
|
Cronología
|
|
~~~~~~~~~~
|
|
Normalmente, los envíos se revisan y aplican en orden FIFO, con cierto
|
|
margen de maniobra en función del tamaño de la serie, los parches que están
|
|
"calientes en caché", etc. Correcciones, especialmente para la versión
|
|
actual y/o árboles estables, consiguen saltar la cola. Los parches que se
|
|
lleven a través de un árbol que no sea KVM (la mayoría de las veces a
|
|
través del árbol de consejos) y/o que tengan otros acks/revisiones también
|
|
saltan la cola hasta cierto punto.
|
|
|
|
Tenga en cuenta que la mayor parte de la revisión se realiza entre rc1 y
|
|
rc6, más o menos. El periodo entre la rc6 y la siguiente rc1 se utiliza
|
|
para ponerse al día en otras tareas, es decir, la falta de envíos durante
|
|
este periodo no es inusual.
|
|
|
|
Los pings para obtener una actualización del estado son bienvenidos, pero
|
|
tenga en cuenta el calendario del ciclo de publicación actual y tenga
|
|
expectativas realistas. Si está haciendo ping para la aceptación, es decir,
|
|
no sólo para obtener comentarios o una actualización, por favor haga todo
|
|
lo posible, dentro de lo razonable, para asegurarse de que sus parches
|
|
están listos para ser fusionados. Los pings sobre series que rompen la
|
|
compilación o fallan en las pruebas provocan el descontento de los
|
|
mantenedores.
|
|
|
|
Desarrollo
|
|
-----------
|
|
|
|
Árbol base/Rama
|
|
~~~~~~~~~~~~~~~
|
|
Las correcciones dirigidas a la versión actual, también conocida como
|
|
mainline, deben basarse en
|
|
``git://git.kernel.org/pub/scm/virt/kvm/kvm.git master``. Tenga en cuenta
|
|
que las correcciones no garantizan automáticamente la inclusión en la
|
|
versión actual. No hay una regla única, pero normalmente sólo las
|
|
correcciones de errores urgentes, críticos y/o introducidos en la versión
|
|
actual deberían incluirse en la versión actual.
|
|
|
|
Todo lo demás debería basarse en ``kvm-x86/next``, es decir, no hay
|
|
necesidad de seleccionar una rama temática específica como base. Si hay
|
|
conflictos y/o dependencias entre ramas, es trabajo del mantenedor
|
|
resolverlos.
|
|
|
|
La única excepción al uso de ``kvm-x86/next`` como base es si un
|
|
parche/serie es una serie multi-arquitectura, es decir, tiene
|
|
modificaciones no triviales en el código común de KVM y/o tiene cambios más
|
|
que superficiales en el código de otras arquitecturas. Los parches/series
|
|
multi-arquitectura deberían basarse en un punto común y estable en la
|
|
historia de KVM, por ejemplo, la versión candidata en la que se basa
|
|
``kvm-x86 next``. Si no está seguro de si un parche/serie es realmente
|
|
multiarquitectura, sea precavido y trátelo como multiarquitectura, es
|
|
decir, utilice una base común.
|
|
|
|
Estilo del codigo
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
Cuando se trata de estilo, nomenclatura, patrones, etc., la coherencia es
|
|
la prioridad número uno en KVM x86. Si todo lo demás falla, haga coincidir
|
|
lo que ya existe.
|
|
|
|
Con algunas advertencias que se enumeran a continuación, siga las
|
|
recomendaciones de los responsables del árbol de consejos
|
|
:ref:`maintainer-tip-coding-style`, ya que los parches/series a menudo
|
|
tocan tanto archivos x86 KVM como no KVM, es decir, llaman la atención de
|
|
los mantenedores de KVM *y* del árbol de consejos.
|
|
|
|
El uso del abeto inverso, también conocido como árbol de Navidad inverso o
|
|
árbol XMAS inverso, para las declaraciones de variables no es estrictamente
|
|
necesario, aunque es preferible.
|
|
|
|
Excepto para unos pocos apuntes especiales, no utilice comentarios
|
|
kernel-doc para las funciones. La gran mayoría de las funciones "públicas"
|
|
de KVM no son realmente públicas, ya que están destinadas únicamente al
|
|
consumo interno de KVM (hay planes para privatizar las cabeceras y
|
|
exportaciones de KVM para reforzar esto).
|
|
|
|
Comentarios
|
|
~~~~~~~~~~~
|
|
Escriba los comentarios en modo imperativo y evite los pronombres. Utilice
|
|
los comentarios para ofrecer una visión general de alto nivel del código
|
|
y/o para explicar por qué el código hace lo que hace. No reitere lo que el
|
|
código hace literalmente; deje que el código hable por sí mismo. Si el
|
|
propio código es inescrutable, los comentarios no servirán de nada.
|
|
|
|
Referencias SDM y APM
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
Gran parte de la base de código de KVM está directamente vinculada al
|
|
comportamiento de la arquitectura definido en El Manual de Desarrollo de
|
|
Software (SDM) de Intel y el Manual del Programador de Arquitectura (APM)
|
|
de AMD. El uso de "SDM de Intel" y "APM de AMD", o incluso sólo "SDM" o
|
|
"APM", sin contexto adicional es correcto.
|
|
|
|
No haga referencia a secciones específicas, tablas, figuras, etc. por su
|
|
número, especialmente en los comentarios. En su lugar, si es necesario
|
|
(véase más abajo), copie y pegue el fragmento correspondiente y haga
|
|
referencia a las secciones/tablas/figuras por su nombre. Los diseños del
|
|
SDM y el APM cambian constantemente, por lo que los números/etiquetas no
|
|
son estables.
|
|
|
|
En general, no haga referencia explícita ni copie-pegue del SDM o APM en
|
|
los comentarios. Con pocas excepciones, KVM *debe* respetar el
|
|
comportamiento de la arquitectura, por lo que está implícito que el
|
|
comportamiento de KVM está emulando el comportamiento de SDM y/o APM. Tenga
|
|
en cuenta que hacer referencia al SDM/APM en los registros de cambios para
|
|
justificar el cambio y proporcionar contexto es perfectamente correcto y
|
|
recomendable.
|
|
|
|
Shortlog
|
|
~~~~~~~~
|
|
El formato de prefijo más recomendable es ``KVM: <topic>:``, donde
|
|
``<topic>`` es uno de los siguientes::
|
|
|
|
- x86
|
|
- x86/mmu
|
|
- x86/pmu
|
|
- x86/xen
|
|
- autocomprobaciones
|
|
- SVM
|
|
- nSVM
|
|
- VMX
|
|
- nVMX
|
|
|
|
**¡NO use x86/kvm!** ``x86/kvm`` se usa exclusivamente para cambios de
|
|
Linux virtualizado por KVM, es decir, para arch/x86/kernel/kvm.c. No use
|
|
nombres de archivos o archivos completos como prefijo de asunto/shortlog.
|
|
|
|
Tenga en cuenta que esto no coincide con las ramas temáticas (las ramas
|
|
temáticas se preocupan mucho más por los conflictos de código).
|
|
|
|
Todos los nombres distinguen entre mayúsculas y minúsculas. ``KVM: x86:``
|
|
es correcto, ``kvm: vmx:`` no lo es.
|
|
|
|
Escriba en mayúsculas la primera palabra de la descripción condensada del
|
|
parche, pero omita la puntuación final. Por ejemplo::
|
|
|
|
KVM: x86: Corregir una desviación de puntero nulo en function_xyz()
|
|
|
|
no::
|
|
|
|
kvm: x86: corregir una desviación de puntero nulo en function_xyz.
|
|
|
|
Si un parche afecta a varios temas, recorra el árbol conceptual hasta
|
|
encontrar el primer padre común (que suele ser simplemente ``x86``). En
|
|
caso de duda, ``git log path/to/file`` debería proporcionar una pista
|
|
razonable.
|
|
|
|
De vez en cuando surgen nuevos temas, pero le rogamos que inicie un debate
|
|
en la lista si desea proponer la introducción de un nuevo tema, es decir,
|
|
no se ande con rodeos.
|
|
|
|
Consulte :ref:`the_canonical_patch_format` para obtener más información,
|
|
con una enmienda: no trate el límite de 70-75 caracteres como un límite
|
|
absoluto y duro. En su lugar, utilice 75 caracteres como límite firme, pero
|
|
no duro, y 80 caracteres como límite duro. Es decir, deje que el registro
|
|
corto sobrepase en algunos caracteres el límite estándar si tiene una buena
|
|
razón para hacerlo.
|
|
|
|
Registro de cambios
|
|
~~~~~~~~~~~~~~~~~~~
|
|
Y lo que es más importante, escriba los registros de cambios en modo
|
|
imperativo y evite los pronombres.
|
|
|
|
Consulte :ref:`describe_changes` para obtener más información, con una
|
|
recomendación: comience con un breve resumen de los cambios reales y
|
|
continúe con el contexto y los antecedentes. Nota. Este orden entra en
|
|
conflicto directo con el enfoque preferido del árbol de sugerencias. Por
|
|
favor, siga el estilo preferido del árbol de sugerencias cuando envíe
|
|
parches. que se dirigen principalmente a código arch/x86 que _NO_ es código
|
|
KVM.
|
|
|
|
KVM x86 prefiere indicar lo que hace un parche antes de entrar en detalles
|
|
por varias razones. En primer lugar, el código que realmente se está
|
|
cambiando es posiblemente la información más importante, por lo que esa
|
|
información debe ser fácil de encontrar. Changelogs que entierran el "qué
|
|
está cambiando realmente" en una sola línea después de 3+ párrafos de fondo
|
|
hacen muy difícil encontrar esa información.
|
|
|
|
Para la revisión inicial, se podría argumentar que "lo que está roto" es
|
|
más importante, pero para hojear los registros y la arqueología git, los
|
|
detalles escabrosos importan cada vez menos. Por ejemplo, al hacer una
|
|
serie de "git blame", los detalles de cada cambio a lo largo del camino son
|
|
inútiles, los detalles sólo importan para el culpable. Proporcionar el "qué
|
|
ha cambiado" facilita determinar rápidamente si una confirmación puede ser
|
|
de interés o no.
|
|
|
|
Otra ventaja de decir primero "qué cambia" es que casi siempre es posible
|
|
decir "qué cambia" en una sola frase. A la inversa, todo menos los errores
|
|
más simples requieren varias frases o párrafos para describir el problema.
|
|
Si tanto "qué está cambiando" como "cuál es el fallo" son muy breves, el
|
|
orden no importa. Pero si uno es más corto (casi siempre el "qué está
|
|
cambiando"), entonces cubrir el más corto primero es ventajoso porque es
|
|
menos inconveniente para los lectores/revisores que tienen una preferencia
|
|
estricta de orden. Por ejemplo, tener que saltarse una frase para llegar al
|
|
contexto es menos doloroso que tener que saltarse tres párrafos para llegar
|
|
a "lo que cambia".
|
|
|
|
Arreglos
|
|
~~~~~~~~
|
|
Si un cambio corrige un error de KVM/kernel, añada una etiqueta Fixes:
|
|
incluso si el cambio no necesita ser retroportado a kernels estables, e
|
|
incluso si el cambio corrige un error en una versión anterior.
|
|
|
|
Por el contrario, si es necesario hacer una corrección, etiquete
|
|
explícitamente el parche con "Cc: stable@vger.kernel" (aunque no es
|
|
necesario que el correo electrónico incluya Cc: stable); KVM x86 opta por
|
|
excluirse del backporting Correcciones: por defecto. Algunos parches
|
|
seleccionados automáticamente se retroportan, pero requieren la aprobación
|
|
explícita de los mantenedores (busque MANUALSEL).
|
|
|
|
Referencias a Funciones
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
Cuando se mencione una función en un comentario, registro de cambios o
|
|
registro abreviado (o en cualquier otro lugar), utilice el formato
|
|
``nombre_de_la_función()``. Los paréntesis proporcionan contexto y
|
|
desambiguan la referencia.
|
|
|
|
Pruebas
|
|
~~~~~~~
|
|
Como mínimo, *todos* los parches de una serie deben construirse limpiamente
|
|
para KVM_INTEL=m KVM_AMD=m, y KVM_WERROR=y. Construir todas las
|
|
combinaciones posibles de Kconfigs no es factible, pero cuantas más mejor.
|
|
KVM_SMM, KVM_XEN, PROVE_LOCKING, y X86_64 son particularmente interesantes.
|
|
|
|
También es obligatorio ejecutar las autopruebas y las pruebas unitarias de
|
|
KVM (y, como es obvio, las pruebas deben pasar). La única excepción es para
|
|
los cambios que tienen una probabilidad insignificante de afectar al
|
|
comportamiento en tiempo de ejecución, por ejemplo, parches que sólo
|
|
modificar los comentarios. Siempre que sea posible y pertinente, se
|
|
recomienda encarecidamente realizar pruebas tanto en Intel como en AMD. Se
|
|
recomienda arrancar una máquina virtual real, pero no es obligatorio.
|
|
|
|
Para cambios que afecten al código de paginación en la sombra de KVM, es
|
|
obligatorio ejecutar con TDP (EPT/NPT) deshabilitado. Para cambios que
|
|
afecten al código MMU común de KVM, se recomienda encarecidamente ejecutar
|
|
con TDP deshabilitado. Para todos los demás cambios, si el código que se
|
|
está modificando depende de y/o interactúa con un parámetro del módulo, es
|
|
obligatorio realizar pruebas con la configuración correspondiente.
|
|
|
|
Tenga en cuenta que las autopruebas de KVM y las pruebas de unidad de KVM
|
|
tienen fallos conocidos. Si sospecha que un fallo no se debe a sus cambios,
|
|
verifique que el *exactamente el mismo* fallo se produce con y sin sus
|
|
cambios.
|
|
|
|
Los cambios que afecten a la documentación de texto reestructurado, es
|
|
decir, a los archivos .rst, deben generar htmldocs de forma limpia, es
|
|
decir, sin advertencias ni errores.
|
|
|
|
Si no puede probar completamente un cambio, por ejemplo, por falta de
|
|
hardware, indique claramente qué nivel de pruebas ha podido realizar, por
|
|
ejemplo, en la carta de presentación.
|
|
|
|
Novedades
|
|
~~~~~~~~~
|
|
Con una excepción, las nuevas características *deben* venir con cobertura
|
|
de pruebas. Las pruebas específicas de KVM no son estrictamente necesarias,
|
|
por ejemplo, si la cobertura se proporciona mediante la ejecución de una
|
|
prueba de VM huésped suficientemente habilitada, o ejecutando una
|
|
autoprueba de kernel relacionada en una VM, pero en todos los casos se
|
|
prefieren las pruebas KVM dedicadas. Los casos de prueba negativos en
|
|
particular son obligatorios para la habilitación de nuevas características
|
|
de hardware, ya que los flujos de errores y excepciones rara vez se
|
|
ejercitan simplemente ejecutando una VM.
|
|
|
|
La única excepción a esta regla es si KVM está simplemente anunciando
|
|
soporte para un a través de KVM_GET_SUPPORTED_CPUID, es decir, para
|
|
instrucciones/funciones que KVM no puede impedir que utilice una VM y
|
|
para las que no existe una verdadera habilitación.
|
|
|
|
Tenga en cuenta que "nuevas características" no significa sólo "nuevas
|
|
características de hardware". Las nuevas funcionalidades que no puedan ser
|
|
validadas usando las pruebas existentes de KVM y/o las pruebas unitarias de
|
|
KVM deben venir con pruebas.
|
|
|
|
Es más que bienvenido el envío de nuevos desarrollos de características sin
|
|
pruebas para obtener un feedback temprano, pero tales envíos deben ser
|
|
etiquetados como RFC, y la carta de presentación debe indicar claramente
|
|
qué tipo de feedback se solicita/espera. No abuse del proceso de RFC; las
|
|
RFC no suelen recibir una revisión en profundidad.
|
|
|
|
Corrección de Errores
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
Salvo en el caso de fallos "obvios" detectados por inspección, las
|
|
correcciones deben ir acompañadas de un reproductor del fallo corregido. En
|
|
muchos casos, el reproductor está implícito, por ejemplo, para errores de
|
|
compilación y fallos de prueba, pero debe quedar claro para lectores qué es
|
|
lo que no funciona y cómo verificar la solución. Se concede cierto margen a
|
|
los errores detectados mediante cargas de trabajo/pruebas no públicas, pero
|
|
se recomienda encarecidamente que se faciliten pruebas de regresión para
|
|
dichos errores.
|
|
|
|
En general, las pruebas de regresión son preferibles para cualquier fallo
|
|
que no sea trivial de encontrar. Por ejemplo, incluso si el error fue
|
|
encontrado originalmente por un fuzzer como syzkaller, una prueba de
|
|
regresión dirigida puede estar justificada si el error requiere golpear una
|
|
condición de carrera de tipo uno en un millón.
|
|
|
|
Recuerde que los fallos de KVM rara vez son urgentes *y* no triviales de
|
|
reproducir. Pregúntate si un fallo es realmente el fin del mundo antes de
|
|
publicar una corrección sin un reproductor.
|
|
|
|
Publicación
|
|
-----------
|
|
|
|
Enlaces
|
|
~~~~~~~
|
|
No haga referencia explícita a informes de errores, versiones anteriores de
|
|
un parche/serie, etc. mediante cabeceras ``In-Reply-To:``. Usar
|
|
``In-Reply-To:`` se convierte en un lío para grandes series y/o cuando el
|
|
número de versiones es alto, y ``In-Reply-To:`` es inútil para cualquiera
|
|
que no tenga el mensaje original, por ejemplo, si alguien no recibió un Cc
|
|
en el informe de error o si la lista de destinatarios cambia entre
|
|
versiones.
|
|
|
|
Para enlazar con un informe de error, una versión anterior o cualquier cosa
|
|
de interés, utiliza enlaces lore. Para hacer referencia a versiones
|
|
anteriores, en general no incluya un Enlace: en el registro de cambios, ya
|
|
que no hay necesidad de registrar la historia en git, es decir, ponga el
|
|
enlace en la carta de presentación o en la sección que git ignora.
|
|
Proporcione un Enlace: formal para los informes de errores y/o discusiones
|
|
que condujeron al parche. El contexto de por qué se hizo un cambio es muy
|
|
valioso para futuros lectores.
|
|
|
|
Basado en Git
|
|
~~~~~~~~~~~~~
|
|
Si utilizas la versión 2.9.0 o posterior de git (Googlers, ¡os incluimos a
|
|
todos!), utilice ``git format-patch`` con el indicador ``--base`` para
|
|
incluir automáticamente la información del árbol base en los parches
|
|
generados.
|
|
|
|
Tenga en cuenta que ``--base=auto`` funciona como se espera si y sólo si el
|
|
upstream de una rama se establece en la rama temática base, por ejemplo,
|
|
hará lo incorrecto si su upstream se establece en su repositorio personal
|
|
con fines de copia de seguridad. Una solución "automática" alternativa es
|
|
derivar los nombres de tus ramas de desarrollo basándose en su KVM x86, e
|
|
introdúzcalo en ``--base``. Por ejemplo, ``x86/pmu/mi_nombre_de_rama``, y
|
|
luego escribir un pequeño wrapper para extraer ``pmu`` del nombre de la
|
|
rama actual para obtener ``--base=x/pmu``, donde ``x`` es el nombre que su
|
|
repositorio utiliza para rastrear el remoto KVM x86.
|
|
|
|
Tests de Co-Publicación
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
Las autopruebas de KVM asociadas a cambios de KVM, por ejemplo, pruebas de
|
|
regresión para correcciones de errores, deben publicarse junto con los
|
|
cambios de KVM como una única serie. Se aplicarán las reglas estándar del
|
|
núcleo para la bisección, es decir, los cambios de KVM que provoquen fallos
|
|
en las pruebas se ordenarán después de las actualizaciones de las
|
|
autopruebas, y viceversa. Las pruebas que fallan debido a errores de KVM
|
|
deben ordenarse después de las correcciones de KVM.
|
|
|
|
KVM-unit-tests debería *siempre* publicarse por separado. Las herramientas,
|
|
por ejemplo b4 am, no saben que KVM-unit-tests es un repositorio separado y
|
|
se confunden cuando los parches de una serie se aplican en diferentes
|
|
árboles. Para vincular los parches de KVM-unit-tests a Parches KVM, primero
|
|
publique los cambios KVM y luego proporcione un enlace lore Link: al
|
|
parche/serie KVM en el parche(s) KVM-unit-tests.
|
|
|
|
Notificaciones
|
|
~~~~~~~~~~~~~~
|
|
Cuando se acepte oficialmente un parche/serie, se enviará un correo
|
|
electrónico de notificación en respuesta a la publicación original (carta
|
|
de presentación para series de varios parches). La notificación incluirá el
|
|
árbol y la rama temática, junto con los SHA1 de los commits de los parches
|
|
aplicados.
|
|
|
|
Si se aplica un subconjunto de parches, se indicará claramente en la
|
|
notificación. A menos que se indique lo contrario, se sobreentiende que
|
|
todos los parches del Las series que no han sido aceptadas necesitan más
|
|
trabajo y deben presentarse en una nueva versión.
|
|
|
|
Si por alguna razón se retira un parche después de haber sido aceptado
|
|
oficialmente, se enviará una respuesta al correo electrónico de
|
|
notificación explicando por qué se ha retirado el parche, así como los
|
|
pasos siguientes.
|
|
|
|
Estabilidad SHA1
|
|
~~~~~~~~~~~~~~~~
|
|
Los SHA1 no son 100% estables hasta que llegan al árbol de Linus. Un SHA1
|
|
es *normalmente* estable una vez que se ha enviado una notificación, pero
|
|
ocurren cosas. En la mayoría de los casos, se proporcionará una
|
|
actualización del correo electrónico de notificación si se aplica un SHA1
|
|
del parche. Sin embargo, en algunos escenarios, por ejemplo, si todas las
|
|
ramas de KVM x86 necesitan ser rebasadas, no se darán notificaciones
|
|
individuales.
|
|
|
|
Vulnerabilidades
|
|
~~~~~~~~~~~~~~~~
|
|
Los fallos que pueden ser explotados por la VM (el "guest") para atacar al
|
|
host (kernel o espacio de usuario), o que pueden ser explotados por una VM
|
|
anidada a *su* host (L2 atacando a L1), son de particular interés para KVM.
|
|
Por favor, siga el protocolo para :ref:`securitybugs` si sospecha que un
|
|
fallo puede provocar una filtración de datos, etc.
|