Isolating Device Drivers in Private Logical Partitions for SR-IOV

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing device drivers are not easily adaptable across different environments, requiring significant resources and time to develop, and their use in unintended environments can lead to system instability and security vulnerabilities.

Innovation Solution

Executing device drivers in a private logical partition, establishing a communication channel with an adjunct partition to configure SR-IOV devices, allowing existing drivers to operate safely and effectively in virtualized systems without requiring new drivers for each hardware type.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing device drivers are used in environments other than intended, then device functionality may be achieved, but system stability and security are compromised

Engineering Contradiction:
Improvedevice driver compatibilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system divides the device driver execution environment into separate logical partitions: a restricted partition for running the device driver and an adjunct partition for managing SR-IOV devices. This segmentation isolates the device driver from the main hypervisor environment, allowing existing drivers to run in unintended environments while containing potential instability risks within the restricted partition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The adjunct partition acts as an intermediary between the device driver in the restricted partition and the SR-IOV devices. It receives configuration requests, validates them, and executes device configuration operations, thereby mediating the interaction and preventing direct access that could compromise system stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If device drivers are rewritten for each environment, then proper functionality is achieved, but development time and resources increase significantly

Engineering Contradiction:
Improvedevice driver functionalityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system creates a universal execution environment (restricted partition with adjunct partition) that can accommodate existing device drivers across different virtualized environments without modification. The adjunct partition provides standardized SR-IOV device management capabilities that work with various device drivers, eliminating the need to rewrite drivers for each environment.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Instead of rewriting device drivers for each environment, the system copies the original vendor-provided device driver into the restricted partition and executes it as-is. The partitioning mechanism creates a safe copy of the execution environment that preserves the original driver's functionality while isolating it from the host system.

Inventive Principle:
Principle #26Copying

3Ease of operation

If device drivers are executed directly in the hypervisor environment, then device control is achieved, but security vulnerabilities are exposed

Engineering Contradiction:
Improvedevice controlVSAvoidsecurity vulnerabilities
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system segments the execution environment into a restricted partition for device driver execution and the main hypervisor environment. This physical and logical separation ensures that even if the device driver contains security vulnerabilities or behaves maliciously, it cannot directly affect the hypervisor or other critical system components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system preemptively isolates the device driver in a restricted partition before execution, preventing potential security threats from propagating to the main system. The adjunct partition is configured with specific permissions and constraints that limit what the device driver can access or modify, establishing security boundaries in advance.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS10353727B2Extending trusted hypervisor functions with existing device drivers
Publication Date: 2019.07.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10353727B2 patent drawing
  • US10353727B2 patent drawing
  • US10353727B2 patent drawing

AI summary

Systems, methods, and computer program products to perform an operation comprising executing a device driver in a private logical partition on a compute host, wherein the device driver is configured to execute in an environment different than an environment of a hypervisor of the compute host, establishing a communication channel between the private logical partition and an adjunct partition executing on the compute host, and configuring, responsive to a command sent by the adjunct partition to the device driver via the communication channel, a physical function of a single root I/O virtualization (SR-IOV) device of the host system.