@@ -101,34 +101,30 @@ func validateProcess(spec *rspec.Spec) error {
101101
102102func validateCapabilities (spec * rspec.Spec ) error {
103103 fmt .Println ("validating capabilities" )
104- capabilityMap := make (map [string ]capability.Cap )
105- expectedCaps := make (map [capability.Cap ]bool )
104+
106105 last := capability .CAP_LAST_CAP
107106 // workaround for RHEL6 which has no /proc/sys/kernel/cap_last_cap
108107 if last == capability .Cap (63 ) {
109108 last = capability .CAP_BLOCK_SUSPEND
110109 }
111- for _ , cap := range capability .List () {
112- if cap > last {
113- continue
114- }
115- capKey := fmt .Sprintf ("CAP_%s" , strings .ToUpper (cap .String ()))
116- capabilityMap [capKey ] = cap
117- expectedCaps [cap ] = false
118- }
119-
120- for _ , ec := range spec .Process .Capabilities {
121- cap := capabilityMap [ec ]
122- expectedCaps [cap ] = true
123- }
124110
125111 processCaps , err := capability .NewPid (1 )
126112 if err != nil {
127113 return err
128114 }
129115
116+ expectedCaps := make (map [string ]bool )
117+ for _ , ec := range spec .Process .Capabilities {
118+ expectedCaps [ec ] = true
119+ }
120+
130121 for _ , cap := range capability .List () {
131- expectedSet := expectedCaps [cap ]
122+ if cap > last {
123+ continue
124+ }
125+
126+ capKey := fmt .Sprintf ("CAP_%s" , strings .ToUpper (cap .String ()))
127+ expectedSet := expectedCaps [capKey ]
132128 actuallySet := processCaps .Get (capability .EFFECTIVE , cap )
133129 if expectedSet != actuallySet {
134130 if expectedSet {
0 commit comments