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

Reply via email to