From: Elliot Berman <quic_eberman@quicinc.com>
To: Jiri Slaby <jirislaby@kernel.org>,
Vijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>,
Zijun Hu <quic_zijuhu@quicinc.com>, <gregkh@linuxfoundation.org>,
<quic_qiancai@quicinc.com>, <quic_arandive@quicinc.com>,
<quic_saipraka@quicinc.com>
Cc: <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] tty: Add comments for tty-ldisc module loading logic
Date: Fri, 15 Dec 2023 09:51:09 -0800 [thread overview]
Message-ID: <e83d29b8-5022-466a-b2ee-61fa5dd1c9ae@quicinc.com> (raw)
In-Reply-To: <6401ff24-c82d-4d69-9aaf-b219af9d4db9@kernel.org>
On 12/15/2023 9:26 AM, Jiri Slaby wrote:
> On 15. 12. 23, 15:19, Vijaya Krishna Nivarthi wrote:
>> Hi,
>>
>>
>> On 12/15/2023 7:11 PM, Zijun Hu wrote:
>>> Current tty-ldisc module loading logic within tty_ldisc_get()
>>> is prone to mislead beginner that the module is able to be loaded
>>> by a user without capability CAP_SYS_MODULE, add comments to make
>>> the logic easy to undertand.
>>>
>>> Signed-off-by: Zijun Hu <quic_zijuhu@quicinc.com>
>>> ---
>>> Changes in v2:
>>> - Remove condition checking changes
>>>
>>> drivers/tty/tty_ldisc.c | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
>>> index 3f68e213df1f..34526ffaccbc 100644
>>> --- a/drivers/tty/tty_ldisc.c
>>> +++ b/drivers/tty/tty_ldisc.c
>>> @@ -150,6 +150,10 @@ static struct tty_ldisc *tty_ldisc_get(struct tty_struct *tty, int disc)
>>> */
>>> ldops = get_ldops(disc);
>>> if (IS_ERR(ldops)) {
>>> + /*
>>> + * Always request tty-ldisc module regardless of user's
>>> + * CAP_SYS_MODULE if autoload is enabled.
>>> + */
The added comment confused me more :-)
"Request tty-ldisc if process has CAP_SYS_MODULE or autoload is enabled"
>>
>> Without much knowledge of this file...
>>
>>
>> What the if condition below accomplishes is evident,
>
> After a bit of thinking, sure.
>
>> it probably doesn't require a comment.
>
> I would not add a comment there at all. I would rewrite the code so it is obvious to everyone. Like:
>
> static inline bool tty_ldisc_can_autoload(void)
> {
> return capable(CAP_SYS_MODULE) || tty_ldisc_autoload;
> }
>
> And then:
> if (!tty_ldisc_can_autoload())
> return ERR_PTR(-EPERM);
>
>> A more useful comment would be why it does so?
>
> From an insider, the reason is obvious. But maybe not so much for newcomers. Well, one could document the new inline above. Like:
> ""
> We allow loads for capable users or when autoloading is explicitly enabled.
> ""
> or alike...
I agree with Vijaya that it seems evident after a few moments of analysis, but we're
also maybe used to reading kernel code more. I don't think we should be opposed
to changes that make code easier to grok, even if they're trivial.
If we want to make it clearer, I like Jiri's suggestion. One other thing I'd add
is to give a reference to read config LDISC_AUTOLOAD's help text.
Zijun,
Please send future revisions of the patch to our internal pre-submit review list
before sending to kernel.org. Qualcommers can visit go/upstream.
- Elliot
next prev parent reply other threads:[~2023-12-15 17:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-15 11:37 [PATCH v1] tty: Make tty-ldisc module loading logic easy to understand Zijun Hu
2023-12-15 12:17 ` Greg KH
2023-12-15 13:24 ` quic_zijuhu
2023-12-15 13:41 ` [PATCH v2] tty: Add comments for tty-ldisc module loading logic Zijun Hu
2023-12-15 14:12 ` Greg KH
2023-12-15 14:58 ` quic_zijuhu
2023-12-15 14:19 ` Vijaya Krishna Nivarthi
2023-12-15 17:26 ` Jiri Slaby
2023-12-15 17:51 ` Elliot Berman [this message]
2023-12-16 4:04 ` quic_zijuhu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e83d29b8-5022-466a-b2ee-61fa5dd1c9ae@quicinc.com \
--to=quic_eberman@quicinc.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=quic_arandive@quicinc.com \
--cc=quic_qiancai@quicinc.com \
--cc=quic_saipraka@quicinc.com \
--cc=quic_vnivarth@quicinc.com \
--cc=quic_zijuhu@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.