diff --git a/virtcontainers/container.go b/virtcontainers/container.go index 703f90f84a..6e06184eee 100644 --- a/virtcontainers/container.go +++ b/virtcontainers/container.go @@ -51,6 +51,10 @@ var cdromMajors = map[int64]string{ 32: "CM206_CDROM_MAJOR", } +// https://github.com/torvalds/linux/blob/master/include/uapi/linux/major.h +// #define FLOPPY_MAJOR 2 +const floppyMajor = int64(2) + // Process gathers data related to a container process. type Process struct { // Token is the process execution context ID. It must be @@ -603,6 +607,14 @@ func filterDevices(sandbox *Sandbox, c *Container, devices []ContainerDevice) (r }).Info("Not attach device because it is a CDROM") continue } + + if major == floppyMajor { + c.Logger().WithFields(logrus.Fields{ + "device": dev.ContainerPath, + }).Info("Not attaching device because it is a floppy drive") + continue + } + ret = append(ret, dev) } return