@@ -167,6 +167,8 @@ type Linux struct {
167167 // IntelRdt contains Intel Resource Director Technology (RDT) information for
168168 // handling resource constraints (e.g., L3 cache, memory bandwidth) for the container
169169 IntelRdt * LinuxIntelRdt `json:"intelRdt,omitempty"`
170+ // Personality contains configuration for the Linux personality syscall
171+ Personality * LinuxPersonality `json:"personality,omitempty"`
170172}
171173
172174// LinuxNamespace is the configuration for a Linux namespace
@@ -391,6 +393,28 @@ type LinuxDeviceCgroup struct {
391393 Access string `json:"access,omitempty"`
392394}
393395
396+ // LinuxPersonalityDomain refers to a personality domain.
397+ type LinuxPersonalityDomain string
398+
399+ // LinuxPersonalityFlag refers to an additional personality flag. None are currently defined.
400+ type LinuxPersonalityFlag string
401+
402+ // Define domain and flags for Personality
403+ const (
404+ // PerLinux is the standard Linux personality
405+ PerLinux LinuxPersonalityDomain = "LINUX"
406+ // PerLinux32 sets personality to 32 bit
407+ PerLinux32 LinuxPersonalityDomain = "LINUX32"
408+ )
409+
410+ // LinuxPersonality represents the Linux personality syscall input
411+ type LinuxPersonality struct {
412+ // Domain for the personality
413+ Domain LinuxPersonalityDomain `json:"domain"`
414+ // Additional flags
415+ Flags []LinuxPersonalityFlag `json:"flags,omitempty"`
416+ }
417+
394418// Solaris contains platform-specific configuration for Solaris application containers.
395419type Solaris struct {
396420 // SMF FMRI which should go "online" before we start the container process.
0 commit comments