Review for Source Package: ubuntu-x13s-settings [Summary]
MIR team ACK under the constraint to resolve the below listed required TODOs and as much as possible having a look at the recommended TODOs. This does not need a security review, back to the reporter as incomplete until the few remaining steps are provided. List of specific binary packages to be promoted to main: - hwe-lenovo-x13s-meta (meta only) - ubuntu-x13s-settings - ubuntu-x13s-settings-nogrub Specific binary packages built, but NOT to be promoted to main: none Required TODOs: - #1 There needs to be some way Canonical can test these even being mostly config settings. If they'd have no impact we would not need them, so how would/could this be tested. The kind of the package needs no build+autopkg+lab tests. But at least any way please? If you are in doubt of what we look for (as the QA section has been left completely empty) we are currently trying to clarify that and it might help you to give everyone an answer that helps to give it some confidence. See https://github.com/canonical/ubuntu-mir/pull/62/files I understand that some folks might have such HW right now - so you think it is easy. And it might be - but you'll need to be aware that you can not throw them away for the lifetime of such releases having this code, be able to test deploy on them and somehow share working on them with e.g. SEG if needed. Recommended TODOs: - #2 Can we do any better than ExecStartPre=/usr/bin/sleep 5 in the service? This is just waiting for issues to happen if whatever you wait on once takes more than 5 seconds. - #3 could the systemd service use some isolation features? To be fair, it has IMHO a very low exposure risk, so this is not important at all. But still a hint we wanted to give all new services added. - #4 Some of the kernel commandlines are debatable. They should have a clear statement on why they are needed. All three sound more like debugging or bringup. From the docs or patches - arm64.nopauth: "In order to be able to disable Pointer Authentication at runtime, whether it is for testing purposes, or to work around HW issues" - pd_ignore_unused: " This is useful for debug and development, but should not be needed on a platform with proper driver support." - clk_ignore_unused: " disabling means that the driver will remain functional while the issues are sorted out." All these might be fine, so please either leave a comment here and in the next upload (not blocking the promotion, but maybe as comment in the conf snippet maybe) why those are needed despite sounding so experimental. [Rationale, Duplication and Ownership] OK: - This package is essentially a collection of quirks to make the x13s behave well. There is no other package in main providing the same functionality. - The rationale given in the report seems valid and useful for Ubuntu, not everywhere, but for those with the x13s laptop to get all needed configuration tweaks in one go and selectable by tooling. - There originally was the problems of no team being committed to own long term maintenance of this package. Kernel or Foundations got suggested, but we needed someone authorative stand up and say yes we subscribed to it and will maintain and bug triage it for the lifetime of the ubuntu releases it will be in. I've reached out to mclemencau who resolved that already - hence ok now. [Dependencies] OK: - no other Dependencies to MIR due to this - no -dev/-debug/-doc packages that need exclusion - No dependencies in main that are only superficially tested requiring more tests now. Problems: None [Embedded sources and static linking] OK: - no embedded source present - no static linking - does not have unexpected Built-Using entries - not a go package, no extra constraints to consider in that regard - not a rust package, no extra constraints to consider in that regard Problems: None [Security] OK: - history of CVEs does not look concerning. But then TBH the time this exists as well as what it does makes it unlikely to cuase much. It is glue integrating other elements for the 13s but not doing much on its own. - does not run a daemon as root (only a oneshot service to set the bt addr). - does not use webkit1,2 - does not use lib*v8 directly - does not parse data formats (files [images, video, audio, xml, json, asn.1], network packets, structures, ...) from an untrusted source. - does not expose any external endpoint (port/socket/... or similar) - does not process arbitrary web content - does not use centralized online accounts - does not integrate arbitrary javascript into the desktop - does not deal with system authentication (eg, pam), etc) - does not deal with security attestation (secure boot, tpm, signatures) - does not deal with cryptography (en-/decryption, certificates, signing, ...) - this makes appropriate (for its exposure) use of established risk mitigation features (dropping permissions, using temporary environments, restricted users/groups, seccomp, systemd isolation features, apparmor, ...) => because it is not doing much other than configuring and triggering other things. Problems: None [Common blockers] OK: - does not FTBFS currently - no new python2 dependency Problems: - does have a test suite that runs at build time - test suite fails will fail the build upon error. - does have a non-trivial test suite that runs as autopkgtest - This does seem to need special HW for build or test so it can't be automatic at build or autopkgtest time. Sadly nothing was outlined by the requester in [Quality assurance - testing] as expected. I understand it is just config files, but should that not somehow be tested as well - or at least reproducible in case there is a bug report? [Packaging red flags] OK: - Ubuntu does not carry a delta (native) - symbols tracking not applicable for this kind of code. - debian/watch is not present but also not needed (native) - Ubuntu update history is too new to judge - promoting this does not seem to cause issues for MOTUs that so far maintained the package - no massive Lintian warnings - debian/rules is rather clean - It is not on the lto-disabled list Problems: None [Upstream red flags] OK: - no Errors/warnings during the build - no incautious use of malloc/sprintf (not much active code) - no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH (usage is OK inside tests) - no use of user nobody - no use of setuid / setgid - no dependency on webkit, qtwebkit or libseed - not part of the UI for extra checks - no translation present, but none needed for this case ** Changed in: ubuntu-x13s-settings (Ubuntu) Assignee: Christian Ehrhardt (paelzer) => (unassigned) ** Changed in: ubuntu-x13s-settings (Ubuntu) Status: New => Incomplete -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2074078 Title: [MIR] ubuntu-x13s-settings To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ubuntu-x13s-settings/+bug/2074078/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs