[Bug 1993221] Re: Fix byte order while parsing cpuset range to bits
Lucas Kanashiro
1993221 at bugs.launchpad.net
Fri Oct 21 12:39:10 UTC 2022
Changes merged on GitHub and packages were uploaded to the unapproved
queue. I already subscribed ubuntu-sru, so they can review the proposed
changes.
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1993221
Title:
Fix byte order while parsing cpuset range to bits
Status in runc package in Ubuntu:
In Progress
Status in runc source package in Focal:
In Progress
Status in runc source package in Jammy:
In Progress
Status in runc source package in Kinetic:
In Progress
Bug description:
[Impact]
Runc parses cpuset range to bits in the case of cgroup v2 + systemd as cgroup driver.
The byte order representation differs from systemd expectation,
which will set different cpuset range in systemd transient unit if the length of parsed byte array exceeds one.
The cpuset.cpus in cgroup will also be set to wrong value after reloading systemd manager configuration.
[Test Plan]
# cat config.json
...
"resources": {
...
"cpu": {
"cpus": "10-23"
}
},
...
# runc --systemd-cgroup run test
# cat /run/systemd/transient/runc-test.scope.d/50-AllowedCPUs.conf
# This is a drop-in unit file extension, created via "systemctl set-property"
# or an equivalent operation. Do not edit.
[Scope]
AllowedCPUs=0-7 10-15
# systemctl daemon-reload
# cat /sys/fs/cgroup/system.slice/runc-test.scope/cpuset.cpus
0-7,10-15
[Where problems could occur]
Using the same byte order with systemd makes the parser be endian free.
The regression can be considered as low.
[Other Info]
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/runc/+bug/1993221/+subscriptions
More information about the Ubuntu-sponsors
mailing list