19e6e2ed2SAvadhut Naik.. SPDX-License-Identifier: GPL-2.0 29e6e2ed2SAvadhut Naik 39e6e2ed2SAvadhut Naik:Original: :ref:`Documentation/process/researcher-guidelines.rst` 49e6e2ed2SAvadhut Naik:Translator: Avadhut Naik <avadhut.naik@amd.com> 59e6e2ed2SAvadhut Naik 69e6e2ed2SAvadhut NaikDirectrices para Investigadores 79e6e2ed2SAvadhut Naik++++++++++++++++++++++++++++++++ 89e6e2ed2SAvadhut Naik 99e6e2ed2SAvadhut NaikLa comunidad del kernel de Linux da la bienvenida a la investigación 109e6e2ed2SAvadhut Naiktransparente sobre el kernel de Linux, las actividades involucradas 119e6e2ed2SAvadhut Naiken su producción, otros subproductos de su desarrollo. Linux se 129e6e2ed2SAvadhut Naikbeneficia mucho de este tipo de investigación, y la mayoría de los 139e6e2ed2SAvadhut Naikaspectos de Linux son impulsados por investigación en una forma u otra. 149e6e2ed2SAvadhut Naik 159e6e2ed2SAvadhut NaikLa comunidad agradece mucho si los investigadores pueden compartir 169e6e2ed2SAvadhut Naiklos hallazgos preliminares antes de hacer públicos sus resultados, 179e6e2ed2SAvadhut Naikespecialmente si tal investigación involucra seguridad. Involucrarse 189e6e2ed2SAvadhut Naiktemprano ayuda a mejorar la calidad de investigación y la capacidad 199e6e2ed2SAvadhut Naikde Linux para mejorar a partir de ella. En cualquier caso, se recomienda 209e6e2ed2SAvadhut Naikcompartir copias de acceso abierto de la investigación publicada con 219e6e2ed2SAvadhut Naikla comunidad. 229e6e2ed2SAvadhut Naik 239e6e2ed2SAvadhut NaikEste documento busca clarificar lo que la comunidad del kernel de Linux 249e6e2ed2SAvadhut Naikconsidera practicas aceptables y no aceptables al llevar a cabo 259e6e2ed2SAvadhut Naikinvestigación de este tipo. Por lo menos, dicha investigación y 269e6e2ed2SAvadhut Naikactividades afines deben seguir las reglas estándar de ética de la 279e6e2ed2SAvadhut Naikinvestigación. Para más información sobre la ética de la investigación 289e6e2ed2SAvadhut Naiken general, ética en la tecnología y la investigación de las comunidades 299e6e2ed2SAvadhut Naikde desarrolladores en particular, ver: 309e6e2ed2SAvadhut Naik 319e6e2ed2SAvadhut Naik 329e6e2ed2SAvadhut Naik* `Historia de la Ética en la Investigación <https://www.unlv.edu/research/ORI-HSR/history-ethics>`_ 339e6e2ed2SAvadhut Naik* `Ética de la IEEE <https://www.ieee.org/about/ethics/index.html>`_ 349e6e2ed2SAvadhut Naik* `Perspectivas de Desarrolladores e Investigadores sobre la Ética de los Experimentos en Proyectos de Código Abierto <https://arxiv.org/pdf/2112.13217.pdf>`_ 359e6e2ed2SAvadhut Naik 369e6e2ed2SAvadhut NaikLa comunidad del kernel de Linux espera que todos los que interactúan con 379e6e2ed2SAvadhut Naikel proyecto están participando en buena fe para mejorar Linux. La 389e6e2ed2SAvadhut Naikinvestigación sobre cualquier artefacto disponible públicamente (incluido, 399e6e2ed2SAvadhut Naikpero no limitado a código fuente) producido por la comunidad del kernel 409e6e2ed2SAvadhut Naikde Linux es bienvenida, aunque la investigación sobre los desarrolladores 419e6e2ed2SAvadhut Naikdebe ser claramente opcional. 429e6e2ed2SAvadhut Naik 439e6e2ed2SAvadhut NaikLa investigación pasiva que se basa completamente en fuentes disponibles 449e6e2ed2SAvadhut Naikpúblicamente, incluidas las publicaciones en listas de correo públicas y 459e6e2ed2SAvadhut Naiklas contribuciones a los repositorios públicos, es claramente permitida. 469e6e2ed2SAvadhut NaikAunque, como con cualquier investigación, todavía se debe seguir la ética 479e6e2ed2SAvadhut Naikestándar. 489e6e2ed2SAvadhut Naik 499e6e2ed2SAvadhut NaikLa investigación activa sobre el comportamiento de los desarrolladores, 509e6e2ed2SAvadhut Naiksin embargo, debe hacerse con el acuerdo explícito y la divulgación 519e6e2ed2SAvadhut Naikcompleta a los desarrolladores individuales involucrados. No se puede 529e6e2ed2SAvadhut Naikinteractuar / experimentar con los desarrolladores sin consentimiento; 539e6e2ed2SAvadhut Naikesto también es ética de investigación estándar. 549e6e2ed2SAvadhut Naik 559e6e2ed2SAvadhut NaikPara ayudar a aclarar: enviar parches a los desarrolladores es interactuar 569e6e2ed2SAvadhut Naikcon ellos, pero ya han dado su consentimiento para recibir contribuciones 579e6e2ed2SAvadhut Naiken buena fe. No se ha dado consentimiento para enviar parches intencionalmente 589e6e2ed2SAvadhut Naikdefectuosos / vulnerables o contribuir con la información engañosa a las 599e6e2ed2SAvadhut Naikdiscusiones. Dicha comunicación puede ser perjudicial al desarrollador (por 609e6e2ed2SAvadhut Naikejemplo, agotar el tiempo, el esfuerzo, y la moral) y perjudicial para el 619e6e2ed2SAvadhut Naikproyecto al erosionar la confianza de toda la comunidad de desarrolladores en 629e6e2ed2SAvadhut Naikel colaborador (y la organización del colaborador en conjunto), socavando 639e6e2ed2SAvadhut Naiklos esfuerzos para proporcionar reacciones constructivas a los colaboradores 649e6e2ed2SAvadhut Naiky poniendo a los usuarios finales en riesgo de fallas de software. 659e6e2ed2SAvadhut Naik 669e6e2ed2SAvadhut NaikLa participación en el desarrollo de Linux en sí mismo por parte de 679e6e2ed2SAvadhut Naikinvestigadores, como con cualquiera, es bienvenida y alentada. La 689e6e2ed2SAvadhut Naikinvestigación del código de Linux es una práctica común, especialmente 699e6e2ed2SAvadhut Naikcuando se trata de desarrollar o ejecutar herramientas de análisis que 709e6e2ed2SAvadhut Naikproducen resultados procesables. 719e6e2ed2SAvadhut Naik 729e6e2ed2SAvadhut NaikCuando se interactúa con la comunidad de desarrolladores, enviar un 739e6e2ed2SAvadhut Naikparche ha sido tradicionalmente la mejor manera para hacer un impacto. 749e6e2ed2SAvadhut NaikLinux ya tiene muchos errores conocidos – lo que es mucho más útil es 759e6e2ed2SAvadhut Naiktener soluciones verificadas. Antes de contribuir, lea cuidadosamente 769e6e2ed2SAvadhut Naikla documentación adecuada. 779e6e2ed2SAvadhut Naik 789e6e2ed2SAvadhut Naik* Documentation/process/development-process.rst 799e6e2ed2SAvadhut Naik* Documentation/process/submitting-patches.rst 809e6e2ed2SAvadhut Naik* Documentation/admin-guide/reporting-issues.rst 819e6e2ed2SAvadhut Naik* Documentation/process/security-bugs.rst 829e6e2ed2SAvadhut Naik 839e6e2ed2SAvadhut NaikEntonces envíe un parche (incluyendo un registro de confirmación con 849e6e2ed2SAvadhut Naiktodos los detalles enumerados abajo) y haga un seguimiento de cualquier 859e6e2ed2SAvadhut Naikcomentario de otros desarrolladores. 869e6e2ed2SAvadhut Naik 879e6e2ed2SAvadhut Naik* ¿Cuál es el problema específico que se ha encontrado? 889e6e2ed2SAvadhut Naik* ¿Como podría llegar al problema en un sistema en ejecución? 899e6e2ed2SAvadhut Naik* ¿Qué efecto tendría encontrar el problema en el sistema? 909e6e2ed2SAvadhut Naik* ¿Como se encontró el problema? Incluya específicamente detalles sobre 919e6e2ed2SAvadhut Naik cualquier prueba, programas de análisis estáticos o dinámicos, y cualquier 929e6e2ed2SAvadhut Naik otra herramienta o método utilizado para realizar el trabajo. 939e6e2ed2SAvadhut Naik* ¿En qué versión de Linux se encontró el problema? Se prefiere usar la 949e6e2ed2SAvadhut Naik versión más reciente o una rama reciente de linux-next (ver 959e6e2ed2SAvadhut Naik Documentation/process/howto.rst). 969e6e2ed2SAvadhut Naik* ¿Que se cambió para solucionar el problema y por qué se cree es correcto? 979e6e2ed2SAvadhut Naik* ¿Como se probó el cambio para la complicación y el tiempo de ejecución? 989e6e2ed2SAvadhut Naik* ¿Qué confirmación previa corrige este cambio? Esto debería ir en un “Fixes:” 999e6e2ed2SAvadhut Naik etiqueta como se describe en la documentación. 1009e6e2ed2SAvadhut Naik* ¿Quién más ha revisado este parche? Esto debería ir con la adecuada “Reviewed-by” 1019e6e2ed2SAvadhut Naik etiqueta; Vea abajo. 1029e6e2ed2SAvadhut Naik 1039e6e2ed2SAvadhut NaikPor ejemplo (en inglés, pues es en las listas):: 1049e6e2ed2SAvadhut Naik 1059e6e2ed2SAvadhut Naik From: Author <author@email> 1069e6e2ed2SAvadhut Naik Subject: [PATCH] drivers/foo_bar: Add missing kfree() 1079e6e2ed2SAvadhut Naik 1089e6e2ed2SAvadhut Naik The error path in foo_bar driver does not correctly free the allocated 1099e6e2ed2SAvadhut Naik struct foo_bar_info. This can happen if the attached foo_bar device 1109e6e2ed2SAvadhut Naik rejects the initialization packets sent during foo_bar_probe(). This 1119e6e2ed2SAvadhut Naik would result in a 64 byte slab memory leak once per device attach, 1129e6e2ed2SAvadhut Naik wasting memory resources over time. 1139e6e2ed2SAvadhut Naik 1149e6e2ed2SAvadhut Naik This flaw was found using an experimental static analysis tool we are 1159e6e2ed2SAvadhut Naik developing, LeakMagic[1], which reported the following warning when 1169e6e2ed2SAvadhut Naik analyzing the v5.15 kernel release: 1179e6e2ed2SAvadhut Naik 1189e6e2ed2SAvadhut Naik path/to/foo_bar.c:187: missing kfree() call? 1199e6e2ed2SAvadhut Naik 1209e6e2ed2SAvadhut Naik Add the missing kfree() to the error path. No other references to 1219e6e2ed2SAvadhut Naik this memory exist outside the probe function, so this is the only 1229e6e2ed2SAvadhut Naik place it can be freed. 1239e6e2ed2SAvadhut Naik 1249e6e2ed2SAvadhut Naik x86_64 and arm64 defconfig builds with CONFIG_FOO_BAR=y using GCC 1259e6e2ed2SAvadhut Naik 11.2 show no new warnings, and LeakMagic no longer warns about this 1269e6e2ed2SAvadhut Naik code path. As we don't have a FooBar device to test with, no runtime 1279e6e2ed2SAvadhut Naik testing was able to be performed. 1289e6e2ed2SAvadhut Naik 1299e6e2ed2SAvadhut Naik [1] https://url/to/leakmagic/details 1309e6e2ed2SAvadhut Naik 1319e6e2ed2SAvadhut Naik Reported-by: Researcher <researcher@email> 1329e6e2ed2SAvadhut Naik Fixes: aaaabbbbccccdddd ("Introduce support for FooBar") 1339e6e2ed2SAvadhut Naik Signed-off-by: Author <author@email> 1349e6e2ed2SAvadhut Naik Reviewed-by: Reviewer <reviewer@email> 1359e6e2ed2SAvadhut Naik 1369e6e2ed2SAvadhut NaikSi usted es un colaborador por primera vez, se recomienda que el parche en 1379e6e2ed2SAvadhut Naiksi sea examinado por otros en privado antes de ser publicado en listas 1389e6e2ed2SAvadhut Naikpúblicas. (Esto es necesario si se le ha dicho explícitamente que sus parches 1399e6e2ed2SAvadhut Naiknecesitan una revisión interna más cuidadosa.) Se espera que estas personas 1409e6e2ed2SAvadhut Naiktengan su etiqueta “Reviewed-by” incluida en el parche resultante. Encontrar 1419e6e2ed2SAvadhut Naikotro desarrollador con conocimiento de las contribuciones a Linux, especialmente 1429e6e2ed2SAvadhut Naikdentro de su propia organización, y tener su ayuda con las revisiones antes de 1439e6e2ed2SAvadhut Naikenviarlas a las listas de correo publico tiende a mejorar significativamente la 1449e6e2ed2SAvadhut Naikcalidad de los parches resultantes, y reduce así la carga de otros desarrolladores. 1459e6e2ed2SAvadhut Naik 1469e6e2ed2SAvadhut NaikSi no se puede encontrar a nadie para revisar internamente los parches y necesita 1479e6e2ed2SAvadhut Naikayuda para encontrar a esa persona, o si tiene alguna otra pregunta relacionada 1489e6e2ed2SAvadhut Naikcon este documento y las expectativas de la comunidad de desarrolladores, por 1499e6e2ed2SAvadhut Naikfavor contacte con la lista de correo privada Technical Advisory Board: 150*27103dddSKonstantin Ryabitsev<tech-board@groups.linuxfoundation.org>. 151