€•VnŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ1/translations/zh_CN/process/researcher-guidelines”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/zh_TW/process/researcher-guidelines”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/it_IT/process/researcher-guidelines”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/ja_JP/process/researcher-guidelines”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/ko_KR/process/researcher-guidelines”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ1/translations/sp_SP/process/researcher-guidelines”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒK/var/lib/git/docbuild/linux/Documentation/process/researcher-guidelines.rst”h KubhŒtarget”“”)”}”(hŒ.. _researcher_guidelines:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œresearcher-guidelines”uh1h´h KhhhžhhŸh³ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒResearcher Guidelines”h]”hŒResearcher Guidelines”…””}”(hhÉhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhhÄhžhhŸh³h KubhŒ paragraph”“”)”}”(hXThe Linux kernel community welcomes transparent research on the Linux kernel, the activities involved in producing it, and any other byproducts of its development. Linux benefits greatly from this kind of research, and most aspects of Linux are driven by research in one form or another.”h]”hXThe Linux kernel community welcomes transparent research on the Linux kernel, the activities involved in producing it, and any other byproducts of its development. Linux benefits greatly from this kind of research, and most aspects of Linux are driven by research in one form or another.”…””}”(hhÙhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhhÄhžhubhØ)”}”(hXsThe community greatly appreciates if researchers can share preliminary findings before making their results public, especially if such research involves security. Getting involved early helps both improve the quality of research and ability for Linux to improve from it. In any case, sharing open access copies of the published research with the community is recommended.”h]”hXsThe community greatly appreciates if researchers can share preliminary findings before making their results public, especially if such research involves security. Getting involved early helps both improve the quality of research and ability for Linux to improve from it. In any case, sharing open access copies of the published research with the community is recommended.”…””}”(hhçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K hhÄhžhubhØ)”}”(hXwThis document seeks to clarify what the Linux kernel community considers acceptable and non-acceptable practices when conducting such research. At the very least, such research and related activities should follow standard research ethics rules. For more background on research ethics generally, ethics in technology, and research of developer communities in particular, see:”h]”hXwThis document seeks to clarify what the Linux kernel community considers acceptable and non-acceptable practices when conducting such research. At the very least, such research and related activities should follow standard research ethics rules. For more background on research ethics generally, ethics in technology, and research of developer communities in particular, see:”…””}”(hhõhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhhÄhžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒT`History of Research Ethics `_”h]”hØ)”}”(hj h]”(hŒ reference”“”)”}”(hj h]”hŒHistory of Research Ethics”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒHistory of Research Ethics”Œrefuri”Œ4https://www.unlv.edu/research/ORI-HSR/history-ethics”uh1jhjubhµ)”}”(hŒ7 ”h]”h}”(h]”Œhistory-of-research-ethics”ah ]”h"]”Œhistory of research ethics”ah$]”h&]”Œrefuri”j#uh1h´Œ referenced”Khjubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Khj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhžhhŸh³h Nubj )”}”(hŒ=`IEEE Ethics `_”h]”hØ)”}”(hj@h]”(j)”}”(hj@h]”hŒ IEEE Ethics”…””}”(hjEhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”Œ IEEE Ethics”j"Œ,https://www.ieee.org/about/ethics/index.html”uh1jhjBubhµ)”}”(hŒ/ ”h]”h}”(h]”Œ ieee-ethics”ah ]”h"]”Œ ieee ethics”ah$]”h&]”Œrefuri”jTuh1h´j1KhjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Khj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhžhhŸh³h Nubj )”}”(hŒ~`Developer and Researcher Views on the Ethics of Experiments on Open-Source Projects `_ ”h]”hØ)”}”(hŒ}`Developer and Researcher Views on the Ethics of Experiments on Open-Source Projects `_”h]”(j)”}”(hjth]”hŒSDeveloper and Researcher Views on the Ethics of Experiments on Open-Source Projects”…””}”(hjvhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œname”ŒSDeveloper and Researcher Views on the Ethics of Experiments on Open-Source Projects”j"Œ$https://arxiv.org/pdf/2112.13217.pdf”uh1jhjrubhµ)”}”(hŒ' ”h]”h}”(h]”ŒSdeveloper-and-researcher-views-on-the-ethics-of-experiments-on-open-source-projects”ah ]”h"]”ŒSdeveloper and researcher views on the ethics of experiments on open-source projects”ah$]”h&]”Œrefuri”j…uh1h´j1Khjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Khjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1jhŸh³h KhhÄhžhubhØ)”}”(hXFThe Linux kernel community expects that everyone interacting with the project is participating in good faith to make Linux better. Research on any publicly-available artifact (including, but not limited to source code) produced by the Linux kernel community is welcome, though research on developers must be distinctly opt-in.”h]”hXFThe Linux kernel community expects that everyone interacting with the project is participating in good faith to make Linux better. Research on any publicly-available artifact (including, but not limited to source code) produced by the Linux kernel community is welcome, though research on developers must be distinctly opt-in.”…””}”(hj§hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhhÄhžhubhØ)”}”(hŒðPassive research that is based entirely on publicly available sources, including posts to public mailing lists and commits to public repositories, is clearly permissible. Though, as with any research, standard ethics must still be followed.”h]”hŒðPassive research that is based entirely on publicly available sources, including posts to public mailing lists and commits to public repositories, is clearly permissible. Though, as with any research, standard ethics must still be followed.”…””}”(hjµhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K%hhÄhžhubhØ)”}”(hXActive research on developer behavior, however, must be done with the explicit agreement of, and full disclosure to, the individual developers involved. Developers cannot be interacted with/experimented on without consent; this, too, is standard research ethics.”h]”hXActive research on developer behavior, however, must be done with the explicit agreement of, and full disclosure to, the individual developers involved. Developers cannot be interacted with/experimented on without consent; this, too, is standard research ethics.”…””}”(hjÃhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K*hhÄhžhubhÃ)”}”(hhh]”(hÈ)”}”(hŒSurveys”h]”hŒSurveys”…””}”(hjÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjÑhžhhŸh³h K0ubhØ)”}”(hXResearch often takes the form of surveys sent to maintainers or contributors. As a general rule, though, the kernel community derives little value from these surveys. The kernel development process works because every developer benefits from their participation, even working with others who have different goals. Responding to a survey, though, is a one-way demand placed on busy developers with no corresponding benefit to themselves or to the kernel community as a whole. For this reason, this method of research is discouraged.”h]”hXResearch often takes the form of surveys sent to maintainers or contributors. As a general rule, though, the kernel community derives little value from these surveys. The kernel development process works because every developer benefits from their participation, even working with others who have different goals. Responding to a survey, though, is a one-way demand placed on busy developers with no corresponding benefit to themselves or to the kernel community as a whole. For this reason, this method of research is discouraged.”…””}”(hjâhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K2hjÑhžhubhØ)”}”(hXKernel community members already receive far too much email and are likely to perceive survey requests as just another demand on their time. Sending such requests deprives the community of valuable contributor time and is unlikely to yield a statistically useful response.”h]”hXKernel community members already receive far too much email and are likely to perceive survey requests as just another demand on their time. Sending such requests deprives the community of valuable contributor time and is unlikely to yield a statistically useful response.”…””}”(hjðhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K;hjÑhžhubhØ)”}”(hXˆAs an alternative, researchers should consider attending developer events, hosting sessions where the research project and its benefits to the participants can be explained, and interacting directly with the community there. The information received will be far richer than that obtained from an email survey, and the community will gain from the ability to learn from your insights as well.”h]”hXˆAs an alternative, researchers should consider attending developer events, hosting sessions where the research project and its benefits to the participants can be explained, and interacting directly with the community there. The information received will be far richer than that obtained from an email survey, and the community will gain from the ability to learn from your insights as well.”…””}”(hjþhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K@hjÑhžhubeh}”(h]”Œsurveys”ah ]”h"]”Œsurveys”ah$]”h&]”uh1hÂhhÄhžhhŸh³h K0ubhÃ)”}”(hhh]”(hÈ)”}”(hŒPatches”h]”hŒPatches”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjhžhhŸh³h KHubhØ)”}”(hXtTo help clarify: sending patches to developers *is* interacting with them, but they have already consented to receiving *good faith contributions*. Sending intentionally flawed/vulnerable patches or contributing misleading information to discussions is not consented to. Such communication can be damaging to the developer (e.g. draining time, effort, and morale) and damaging to the project by eroding the entire developer community's trust in the contributor (and the contributor's organization as a whole), undermining efforts to provide constructive feedback to contributors, and putting end users at risk of software flaws.”h]”(hŒ/To help clarify: sending patches to developers ”…””}”(hj%hžhhŸNh NubhŒemphasis”“”)”}”(hŒ*is*”h]”hŒis”…””}”(hj/hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj%ubhŒE interacting with them, but they have already consented to receiving ”…””}”(hj%hžhhŸNh Nubj.)”}”(hŒ*good faith contributions*”h]”hŒgood faith contributions”…””}”(hjAhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j-hj%ubhXæ. Sending intentionally flawed/vulnerable patches or contributing misleading information to discussions is not consented to. Such communication can be damaging to the developer (e.g. draining time, effort, and morale) and damaging to the project by eroding the entire developer community’s trust in the contributor (and the contributor’s organization as a whole), undermining efforts to provide constructive feedback to contributors, and putting end users at risk of software flaws.”…””}”(hj%hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KJhjhžhubhØ)”}”(hŒýParticipation in the development of Linux itself by researchers, as with anyone, is welcomed and encouraged. Research into Linux code is a common practice, especially when it comes to developing or running analysis tools that produce actionable results.”h]”hŒýParticipation in the development of Linux itself by researchers, as with anyone, is welcomed and encouraged. Research into Linux code is a common practice, especially when it comes to developing or running analysis tools that produce actionable results.”…””}”(hjYhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KUhjhžhubhØ)”}”(hXWhen engaging with the developer community, sending a patch has traditionally been the best way to make an impact. Linux already has plenty of known bugs -- what's much more helpful is having vetted fixes. Before contributing, carefully read the appropriate documentation:”h]”hXWhen engaging with the developer community, sending a patch has traditionally been the best way to make an impact. Linux already has plenty of known bugs -- what’s much more helpful is having vetted fixes. Before contributing, carefully read the appropriate documentation:”…””}”(hjghžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KZhjhžhubj)”}”(hhh]”(j )”}”(hŒ-Documentation/process/development-process.rst”h]”hØ)”}”(hjzh]”hŒ-Documentation/process/development-process.rst”…””}”(hj|hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K_hjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjuhžhhŸh³h Nubj )”}”(hŒ,Documentation/process/submitting-patches.rst”h]”hØ)”}”(hj‘h]”hŒ,Documentation/process/submitting-patches.rst”…””}”(hj“hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K`hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjuhžhhŸh³h Nubj )”}”(hŒ.Documentation/admin-guide/reporting-issues.rst”h]”hØ)”}”(hj¨h]”hŒ.Documentation/admin-guide/reporting-issues.rst”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kahj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjuhžhhŸh³h Nubj )”}”(hŒ(Documentation/process/security-bugs.rst ”h]”hØ)”}”(hŒ'Documentation/process/security-bugs.rst”h]”hŒ'Documentation/process/security-bugs.rst”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kbhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjuhžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”j¥j¦uh1jhŸh³h K_hjhžhubhØ)”}”(hŒThen send a patch (including a commit log with all the details listed below) and follow up on any feedback from other developers.”h]”hŒThen send a patch (including a commit log with all the details listed below) and follow up on any feedback from other developers.”…””}”(hjÛhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KdhjhžhubhØ)”}”(hŒÃWhen sending patches produced from research, the commit logs should contain at least the following details, so that developers have appropriate context for understanding the contribution. Answer:”h]”hŒÃWhen sending patches produced from research, the commit logs should contain at least the following details, so that developers have appropriate context for understanding the contribution. Answer:”…””}”(hjéhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kghjhžhubj)”}”(hhh]”(j )”}”(hŒ1What is the specific problem that has been found?”h]”hØ)”}”(hjüh]”hŒ1What is the specific problem that has been found?”…””}”(hjþhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kkhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒ5How could the problem be reached on a running system?”h]”hØ)”}”(hjh]”hŒ5How could the problem be reached on a running system?”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Klhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒ>What effect would encountering the problem have on the system?”h]”hØ)”}”(hj*h]”hŒ>What effect would encountering the problem have on the system?”…””}”(hj,hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kmhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒ¨How was the problem found? Specifically include details about any testing, static or dynamic analysis programs, and any other tools or methods used to perform the work.”h]”hØ)”}”(hŒ¨How was the problem found? Specifically include details about any testing, static or dynamic analysis programs, and any other tools or methods used to perform the work.”h]”hŒ¨How was the problem found? Specifically include details about any testing, static or dynamic analysis programs, and any other tools or methods used to perform the work.”…””}”(hjChžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Knhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒ©Which version of Linux was the problem found on? Using the most recent release or a recent linux-next branch is strongly preferred (see Documentation/process/howto.rst).”h]”hØ)”}”(hŒ©Which version of Linux was the problem found on? Using the most recent release or a recent linux-next branch is strongly preferred (see Documentation/process/howto.rst).”h]”hŒ©Which version of Linux was the problem found on? Using the most recent release or a recent linux-next branch is strongly preferred (see Documentation/process/howto.rst).”…””}”(hj[hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KqhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒJWhat was changed to fix the problem, and why it is believed to be correct?”h]”hØ)”}”(hjqh]”hŒJWhat was changed to fix the problem, and why it is believed to be correct?”…””}”(hjshžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kthjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒ4How was the change build tested and run-time tested?”h]”hØ)”}”(hjˆh]”hŒ4How was the change build tested and run-time tested?”…””}”(hjŠhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kuhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒhWhat prior commit does this change fix? This should go in a "Fixes:" tag as the documentation describes.”h]”hØ)”}”(hŒhWhat prior commit does this change fix? This should go in a "Fixes:" tag as the documentation describes.”h]”hŒlWhat prior commit does this change fix? This should go in a “Fixes:†tag as the documentation describes.”…””}”(hj¡hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kvhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubj )”}”(hŒ`Who else has reviewed this patch? This should go in appropriate "Reviewed-by:" tags; see below. ”h]”hØ)”}”(hŒ_Who else has reviewed this patch? This should go in appropriate "Reviewed-by:" tags; see below.”h]”hŒcWho else has reviewed this patch? This should go in appropriate “Reviewed-by:†tags; see below.”…””}”(hj¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h Kxhjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷hžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”j¥j¦uh1jhŸh³h KkhjhžhubhØ)”}”(hŒ For example::”h]”hŒ For example:”…””}”(hjÓhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K{hjhžhubhŒ literal_block”“”)”}”(hXÈFrom: Author Subject: [PATCH] drivers/foo_bar: Add missing kfree() The error path in foo_bar driver does not correctly free the allocated struct foo_bar_info. This can happen if the attached foo_bar device rejects the initialization packets sent during foo_bar_probe(). This would result in a 64 byte slab memory leak once per device attach, wasting memory resources over time. This flaw was found using an experimental static analysis tool we are developing, LeakMagic[1], which reported the following warning when analyzing the v5.15 kernel release: path/to/foo_bar.c:187: missing kfree() call? Add the missing kfree() to the error path. No other references to this memory exist outside the probe function, so this is the only place it can be freed. x86_64 and arm64 defconfig builds with CONFIG_FOO_BAR=y using GCC 11.2 show no new warnings, and LeakMagic no longer warns about this code path. As we don't have a FooBar device to test with, no runtime testing was able to be performed. [1] https://url/to/leakmagic/details Reported-by: Researcher Fixes: aaaabbbbccccdddd ("Introduce support for FooBar") Signed-off-by: Author Reviewed-by: Reviewer ”h]”hXÈFrom: Author Subject: [PATCH] drivers/foo_bar: Add missing kfree() The error path in foo_bar driver does not correctly free the allocated struct foo_bar_info. This can happen if the attached foo_bar device rejects the initialization packets sent during foo_bar_probe(). This would result in a 64 byte slab memory leak once per device attach, wasting memory resources over time. This flaw was found using an experimental static analysis tool we are developing, LeakMagic[1], which reported the following warning when analyzing the v5.15 kernel release: path/to/foo_bar.c:187: missing kfree() call? Add the missing kfree() to the error path. No other references to this memory exist outside the probe function, so this is the only place it can be freed. x86_64 and arm64 defconfig builds with CONFIG_FOO_BAR=y using GCC 11.2 show no new warnings, and LeakMagic no longer warns about this code path. As we don't have a FooBar device to test with, no runtime testing was able to be performed. [1] https://url/to/leakmagic/details Reported-by: Researcher Fixes: aaaabbbbccccdddd ("Introduce support for FooBar") Signed-off-by: Author Reviewed-by: Reviewer ”…””}”hjãsbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1jáhŸh³h K}hjhžhubhØ)”}”(hX~If you are a first time contributor it is recommended that the patch itself be vetted by others privately before being posted to public lists. (This is required if you have been explicitly told your patches need more careful internal review.) These people are expected to have their "Reviewed-by" tag included in the resulting patch. Finding another developer familiar with Linux contribution, especially within your own organization, and having them help with reviews before sending them to the public mailing lists tends to significantly improve the quality of the resulting patches, and there by reduces the burden on other developers.”h]”hX‚If you are a first time contributor it is recommended that the patch itself be vetted by others privately before being posted to public lists. (This is required if you have been explicitly told your patches need more careful internal review.) These people are expected to have their “Reviewed-by†tag included in the resulting patch. Finding another developer familiar with Linux contribution, especially within your own organization, and having them help with reviews before sending them to the public mailing lists tends to significantly improve the quality of the resulting patches, and there by reduces the burden on other developers.”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KœhjhžhubhØ)”}”(hX4If no one can be found to internally review patches and you need help finding such a person, or if you have any other questions related to this document and the developer community's expectations, please reach out to the private Technical Advisory Board mailing list: .”h]”(hXIf no one can be found to internally review patches and you need help finding such a person, or if you have any other questions related to this document and the developer community’s expectations, please reach out to the private Technical Advisory Board mailing list: <”…””}”(hjÿhžhhŸNh Nubj)”}”(hŒ%tech-board@groups.linuxfoundation.org”h]”hŒ%tech-board@groups.linuxfoundation.org”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ,mailto:tech-board@groups.linuxfoundation.org”uh1jhjÿubhŒ>.”…””}”(hjÿhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K¦hjhžhubeh}”(h]”Œpatches”ah ]”h"]”Œpatches”ah$]”h&]”uh1hÂhhÄhžhhŸh³h KHubeh}”(h]”(hÁŒid1”eh ]”h"]”(Œresearcher guidelines”Œresearcher_guidelines”eh$]”h&]”uh1hÂhhhžhhŸh³h KŒexpect_referenced_by_name”}”j/h¶sŒexpect_referenced_by_id”}”hÁh¶subeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÇNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jYŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÁ]”h¶asŒnameids”}”(j/hÁj.j+j-j*j^j[jjŒjjj&j#uŒ nametypes”}”(j/ˆj.‰j-ˆj^ˆjˆj‰j&‰uh}”(hÁhÄj+hÄj*j$j[jUjŒj†jjÑj#juŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jgKs…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”hØ)”}”(hhh]”hŒ;Hyperlink target "researcher-guidelines" is not referenced.”…””}”hjÃsbah}”(h]”h ]”h"]”h$]”h&]”uh1h×hjÀubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”h³Œline”Kuh1j¾ubaŒ transformer”NŒ include_log”]”Œ decoration”Nhžhub.