From a91deab4d2d9aff7468b76c6c791b79db0b3698b Mon Sep 17 00:00:00 2001 From: Jia He Date: Sun, 10 May 2020 11:35:08 +0800 Subject: [PATCH] virtcontainers: Append max_ports to virtio-serial device Allow API consumers to change the maximum number of ports in the virtio-serial devices, setting a lower number of ports can improve the boot time and reduce the attack surface. Before this patch on arm64: [ 0.028664] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.055031] printk: console [hvc0] enabled After this patch on arm64: [ 0.028484] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 0.031370] printk: console [hvc0] enabled Fixes: #2676 Signed-off-by: Jia He --- virtcontainers/qemu_arch_base.go | 1 + virtcontainers/qemu_arch_base_test.go | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/virtcontainers/qemu_arch_base.go b/virtcontainers/qemu_arch_base.go index 3157ef56e3..1ca28c79d1 100644 --- a/virtcontainers/qemu_arch_base.go +++ b/virtcontainers/qemu_arch_base.go @@ -320,6 +320,7 @@ func (q *qemuArchBase) appendConsole(devices []govmmQemu.Device, path string) ([ Driver: govmmQemu.VirtioSerial, ID: "serial0", DisableModern: q.nestedRun, + MaxPorts: uint(2), } devices = append(devices, serial) diff --git a/virtcontainers/qemu_arch_base_test.go b/virtcontainers/qemu_arch_base_test.go index 371154e892..06c38294ef 100644 --- a/virtcontainers/qemu_arch_base_test.go +++ b/virtcontainers/qemu_arch_base_test.go @@ -264,8 +264,9 @@ func TestQemuArchBaseAppendConsoles(t *testing.T) { expectedOut := []govmmQemu.Device{ govmmQemu.SerialDevice{ - Driver: govmmQemu.VirtioSerial, - ID: "serial0", + Driver: govmmQemu.VirtioSerial, + ID: "serial0", + MaxPorts: uint(2), }, govmmQemu.CharDevice{ Driver: govmmQemu.Console,