Move some device drivers build from kernel built-in to modules

Bug #1637303 reported by bugproxy on 2016-10-27
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned
Yakkety
Undecided
Tim Gardner
Zesty
Undecided
Unassigned

Bug Description

Some drivers in Ubuntu are built as kernel built-in components, not allowing some module interesting features like blacklist on boot command-line or module removal/replacement. Also, modules has debug advantages compared to built-in kernel components, like the possibility to easy build custom-debug modules against kernel tree and replace them using modprobe on running system.

This feature is a request to Canonical move some currently built-in drivers to module build system on Power platform, by changing the kernel config file.

The drivers in question are: tg3, virtio-blk and virtio-net.
The kernel config file parameters related to those 3 drivers are:

CONFIG_TIGON3, CONFIG_VIRTIO_BLK and CONFIG_VIRTIO_NET.
They all are currently set as "=y"; we're requesting a change to "=m".

Thanks in advance,

Guilherme

CVE References

bugproxy (bugproxy) on 2016-10-27
tags: added: architecture-ppc64le bugnameltc-147981 severity-high targetmilestone-inin1704
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu):
assignee: Taco Screen team (taco-screen-team) → Canonical Kernel Team (canonical-kernel-team)
Tim Gardner (timg-tpi) wrote :
Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Tim Gardner (timg-tpi) on 2016-10-27
Changed in linux (Ubuntu Zesty):
status: New → Fix Released
assignee: Canonical Kernel Team (canonical-kernel-team) → nobody

Last time i have tried this the virtio modules did not end up in the d-i
udebs or in the cloud images initrd. The result was failure to install in
KVM and failure to boot cloud images. When these are moved to modules could
we make that virtio modules end up in the udebs & main linux-image deb &
cloud images' initrd? If all that works - virtio could be modules on all
architectures.

On 27 Oct 2016 21:00, "bugproxy" <email address hidden> wrote:

> Public bug reported:
>
> Some drivers in Ubuntu are built as kernel built-in components, not
> allowing some module interesting features like blacklist on boot
> command-line or module removal/replacement. Also, modules has debug
> advantages compared to built-in kernel components, like the possibility
> to easy build custom-debug modules against kernel tree and replace them
> using modprobe on running system.
>
> This feature is a request to Canonical move some currently built-in
> drivers to module build system on Power platform, by changing the kernel
> config file.
>
> The drivers in question are: tg3, virtio-blk and virtio-net.
> The kernel config file parameters related to those 3 drivers are:
>
> CONFIG_TIGON3, CONFIG_VIRTIO_BLK and CONFIG_VIRTIO_NET.
> They all are currently set as "=y"; we're requesting a change to "=m".
>
> Thanks in advance,
>
>
> Guilherme
>
> ** Affects: linux (Ubuntu)
> Importance: Undecided
> Assignee: Canonical Kernel Team (canonical-kernel-team)
> Status: New
>
>
> ** Tags: architecture-ppc64le bugnameltc-147981 severity-high
> targetmilestone-inin1704
>
> ** Tags added: architecture-ppc64le bugnameltc-147981 severity-high
> targetmilestone-inin1704
>
> ** Changed in: ubuntu
> Assignee: (unassigned) => Taco Screen team (taco-screen-team)
>
> ** Package changed: ubuntu => linux (Ubuntu)
>
> --
> You received this bug notification because you are subscribed to Ubuntu.
> Matching subscriptions: architecture-ppc64le
> https://bugs.launchpad.net/bugs/1637303
>
> Title:
> Move some device drivers build from kernel built-in to modules
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/
> 1637303/+subscriptions
>

Tim Gardner (timg-tpi) wrote :

Dimitri - virtio was never removed from the d-i configuration files, so I think we're OK.

debian.master/d-i/modules/block-modules:virtio_blk ?
debian.master/d-i/modules/nic-modules:virtio_net ?

Luis Henriques (henrix) on 2016-11-08
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-yakkety' to 'verification-done-yakkety'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-yakkety
Tim Gardner (timg-tpi) on 2016-11-16
tags: added: verification-done-yakkety
removed: verification-needed-yakkety

------- Comment From <email address hidden> 2016-11-23 12:56 EDT-------
I am not sure why, but 'verification-done-yakkety' is already set instead of 'verification-needed-yakkety'. So just adding a comment that the proposed kernel was tested and it indeed solves this issue.

bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2016-11-23 13:02 EDT-------
Just for documentation:

grep "CONFIG_TIGON3\|CONFIG_VIRTIO_NET\|CONFIG_VIRTIO_BLK" /boot/config-4.8.0-28-generic
CONFIG_VIRTIO_BLK=m
CONFIG_VIRTIO_NET=m
CONFIG_TIGON3=m

The three drivers could be added / removed with modprobe without any issues as expected.

Launchpad Janitor (janitor) wrote :
Download full text (26.6 KiB)

This bug was fixed in the package linux - 4.8.0-28.30

---------------
linux (4.8.0-28.30) yakkety; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1641083

  * lxc-attach to malicious container allows access to host (LP: #1639345)
    - Revert "UBUNTU: SAUCE: (noup) ptrace: being capable wrt a process requires
      mapped uids/gids"
    - (upstream) mm: Add a user_ns owner to mm_struct and fix ptrace permission
      checks

  * [Feature] AVX-512 new instruction sets (avx512_4vnniw, avx512_4fmaps)
    (LP: #1637526)
    - x86/cpufeature: Add AVX512_4VNNIW and AVX512_4FMAPS features

  * zfs: importing zpool with vdev on zvol hangs kernel (LP: #1636517)
    - SAUCE: (noup) Update zfs to 0.6.5.8-0ubuntu4.1

  * Move some device drivers build from kernel built-in to modules
    (LP: #1637303)
    - [Config] CONFIG_TIGON3=m for all arches
    - [Config] CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m

  * I2C touchpad does not work on AMD platform (LP: #1612006)
    - pinctrl/amd: Configure GPIO register using BIOS settings

  * guest experiencing Transmit Timeouts on CX4 (LP: #1636330)
    - powerpc/64: Re-fix race condition between going idle and entering guest
    - powerpc/64: Fix race condition in setting lock bit in idle/wakeup code

  * QEMU throws failure msg while booting guest with SRIOV VF (LP: #1630554)
    - KVM: PPC: Always select KVM_VFIO, plus Makefile cleanup

  * [Feature] KBL - New device ID for Kabypoint(KbP) (LP: #1591618)
    - SAUCE: mfd: lpss: Fix Intel Kaby Lake PCH-H properties

  * hio: SSD data corruption under stress test (LP: #1638700)
    - SAUCE: hio: set bi_error field to signal an I/O error on a BIO
    - SAUCE: hio: splitting bio in the entry of .make_request_fn

  * cleanup primary tree for linux-hwe layering issues (LP: #1637473)
    - [Config] switch Vcs-Git: to yakkety repository
    - [Packaging] handle both linux-lts* and linux-hwe* as backports
    - [Config] linux-tools-common and linux-cloud-tools-common are one per series
    - [Config] linux-source-* is in the primary linux namespace
    - [Config] linux-tools -- always suggest the base package

  * SRU: sync zfsutils-linux and spl-linux changes to linux (LP: #1635656)
    - SAUCE: (noup) Update spl to 0.6.5.8-2, zfs to 0.6.5.8-0ubuntu4 (LP:
      #1635656)

  * [Feature] SKX: perf uncore PMU support (LP: #1591810)
    - perf/x86/intel/uncore: Add Skylake server uncore support
    - perf/x86/intel/uncore: Remove hard-coded implementation for Node ID mapping
      location
    - perf/x86/intel/uncore: Handle non-standard counter offset

  * [Feature] Purley: Memory Protection Keys (LP: #1591804)
    - x86/pkeys: Add fault handling for PF_PK page fault bit
    - mm: Implement new pkey_mprotect() system call
    - x86/pkeys: Make mprotect_key() mask off additional vm_flags
    - x86/pkeys: Allocation/free syscalls
    - x86: Wire up protection keys system calls
    - generic syscalls: Wire up memory protection keys syscalls
    - pkeys: Add details of system call use to Documentation/
    - x86/pkeys: Default to a restrictive init PKRU
    - x86/pkeys: Allow configuration of init_pkru
    - x86/pkeys: Add self-tests

  * kernel invalid ...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for linux has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers