public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Richard Palethorpe <rpalethorpe@suse.com>,
	Marius Kittler <mkittler@suse.de>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [PATCH] cgroup: Handle trailing new line in cgroup.controllers
Date: Wed, 25 Oct 2023 17:18:08 +0200	[thread overview]
Message-ID: <20231025151808.GA345083@pevik> (raw)
In-Reply-To: <1881613.tdWV9SEqCh@linux-9lzf>

Hi Richie, Martchus,

@Richie, please add Fixes: tag when commit

I suppose it should be
Fixes: 310da3784 ("Add new CGroups APIs")
but please check yourself.

Why this is useful? It helps to identify which test failures were false
positives. Also, you actually not just fix a line character, but also do other
validation, it would be worth to mention that.


> Am Mittwoch, 25. Oktober 2023, 13:05:33 CEST schrieb Richard Palethorpe via 
> ltp:
> > +	switch (ctrl_name[l]) {
> > +	case '\n': break;
> > +	case '\0': break;
> > +	default:
> > +		tst_brk(TBROK, "Unexpected char in %s: %c", ctrl_name, 
> ctrl_name[l]);

> I'm wondering whether that's a bit too restrictive. Or is there any official 
> documentation says that you really can only have the letters a-z in cgroup 
> names (and not even A-Z). Otherwise it might be better to make this just a 
> warning or allow any printable characters.

I guess for cgroup v1 [1]

	The name should match [\w.-]+

\w Matches a "word" character (alphanumeric plus "_", plus other connector
punctuation chars plus Unicode marks). Also '.' and '-' can be used.
=> [A-Z.-] and others are valid names in v1. Although I'm not sure if
cgroup_find_ctrl() is used on systems with cgroups v1.

Also, shouldn't we check with MAX_CGROUP_TYPE_NAMELEN:

	- name: should be initialized to a unique subsystem name. Should be
	  no longer than MAX_CGROUP_TYPE_NAMELEN.

For cgroup v2 [2] it looks to be:

	All cgroup core interface files are prefixed with "cgroup." and each
	controller's interface files are prefixed with the controller name and a
	dot. A controller's name is composed of lower case alphabets and '_'s but
	never begins with an '_' so it can be used as the prefix character for
	collision avoidance. Also, interface file names won't start or end with
	terms which are often used in categorizing workloads such as job, service,
	slice, unit or workload.

=> It matches ^[a-z][a-z_]. At least "_" is missing. Also this validation should
specify somewhere if it's for v2 only or for both.

Kind regards,
Petr

[1] https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
[2] https://docs.kernel.org/admin-guide/cgroup-v2.html#avoid-name-collisions

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2023-10-25 15:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-25 11:05 [LTP] [PATCH] cgroup: Handle trailing new line in cgroup.controllers Richard Palethorpe via ltp
2023-10-25 11:19 ` Marius Kittler
2023-10-25 15:18   ` Petr Vorel [this message]
2023-10-26  7:32     ` Richard Palethorpe
2023-10-26  9:34       ` Petr Vorel

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=20231025151808.GA345083@pevik \
    --to=pvorel@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=mkittler@suse.de \
    --cc=rpalethorpe@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox