Re: [PATCH v2 2/2] Documentation: best practices for using Link trailers

From: Kees Cook
Date: Sat Jun 22 2024 - 10:41:08 EST




On June 21, 2024 9:27:34 PM PDT, Michael Ellerman <mpe@xxxxxxxxxxxxxx> wrote:
>Konstantin Ryabitsev <konstantin@xxxxxxxxxxxxxxxxxxx> writes:
>> Based on multiple conversations, most recently on the ksummit mailing
>> list [1], add some best practices for using the Link trailer, such as:
>>
>> - how to use markdown-like bracketed numbers in the commit message to
>> indicate the corresponding link
>> - when to use lore.kernel.org vs patch.msgid.link domains
>>
>> Cc: ksummit@xxxxxxxxxxxxxxx
>> Link: https://lore.kernel.org/20240617-arboreal-industrious-hedgehog-5b84ae@meerkat # [1]
>> Signed-off-by: Konstantin Ryabitsev <konstantin@xxxxxxxxxxxxxxxxxxx>
>> ---
>> Documentation/process/maintainer-tip.rst | 30 ++++++++++++++++++++++--------
>> 1 file changed, 22 insertions(+), 8 deletions(-)
>>
>> diff --git a/Documentation/process/maintainer-tip.rst b/Documentation/process/maintainer-tip.rst
>> index 64739968afa6..ba312345d030 100644
>> --- a/Documentation/process/maintainer-tip.rst
>> +++ b/Documentation/process/maintainer-tip.rst
>> @@ -372,17 +372,31 @@ following tag ordering scheme:
>>
>> - Link: ``https://link/to/information``
>>
>> - For referring to an email on LKML or other kernel mailing lists,
>> - please use the lore.kernel.org redirector URL::
>> + For referring to an email posted to the kernel mailing lists, please
>> + use the lore.kernel.org redirector URL::
>>
>> - https://lore.kernel.org/r/email-message@id
>> + Link: https://lore.kernel.org/email-message-id@here
>>
>> - The kernel.org redirector is considered a stable URL, unlike other email
>> - archives.
>> + This URL should be used when referring to relevant mailing list
>> + topics, related patch sets, or other notable discussion threads.
>> + A convenient way to associate ``Link:`` trailers with the commit
>> + message is to use markdown-like bracketed notation, for example::
>>
>> - Maintainers will add a Link tag referencing the email of the patch
>> - submission when they apply a patch to the tip tree. This tag is useful
>> - for later reference and is also used for commit notifications.
>> + A similar approach was attempted before as part of a different
>> + effort [1], but the initial implementation caused too many
>> + regressions [2], so it was backed out and reimplemented.
>> +
>> + Link: https://lore.kernel.org/some-msgid@here # [1]
>> + Link: https://bugzilla.example.org/bug/12345 # [2]
>
>Does it actually make sense to use the Link: prefix here? These sort of
>links are part of the prose, they're not something a script can download
>and make any sense of.
>
>I see some existing usage of the above style, but equally there's lots
>of examples of footnote-style links without the Link: tag, eg:

I moved from that to using Link: because checkpatch would complain about my long (URL) lines unless it had a Link tag :P

>commit 40b561e501768ef24673d0e1d731a7b9b1bc6709
>Merge: d9f843fbd45e 31611cc8faa0
>Author: Arnd Bergmann <arnd@xxxxxxxx>
>Date: Mon Apr 29 22:29:44 2024 +0200
>
> Merge tag 'tee-ts-for-v6.10' of https://git.linaro.org/people/jens.wiklander/linux-tee into soc/drivers
>
> TEE driver for Trusted Services
>
> This introduces a TEE driver for Trusted Services [1].
>
> Trusted Services is a TrustedFirmware.org project that provides a
> framework for developing and deploying device Root of Trust services in
> FF-A [2] Secure Partitions. The project hosts the reference
> implementation of Arm Platform Security Architecture [3] for Arm
> A-profile devices.
>
> ...
>
> [1] https://www.trustedfirmware.org/projects/trusted-services/
> [2] https://developer.arm.com/documentation/den0077/
> [3] https://www.arm.com/architecture/security-features/platform-security
>
>
>The above style is standard markdown style for reference links (or as
>standard as markdown gets).

It's a good point. If we're formalizing this, why not literally use markdown instead? (I guess the answer is that out-of-line links/footnotes isn't standardized.)

Playing devil's advocate, outside of the kernel, these are the two most common styles I've seen:

Foo[1]
...
[1]: https://....

and

Bar[^1]
...
[^1] https://...

Personally, I only want to have a single official way to do this, and don't care much what it is. I have a minor preference for what you've described:

Baz[1]
...
[1] https://...

-Kees

--
Kees Cook