Skip to content

Commit c6a9422

Browse files
authored
Merge pull request kubernetes#89736 from gnufied/force-sgid-bit-off
Force sgid bit to be off before checking volume permission
2 parents 8ae2609 + 6362a61 commit c6a9422

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

pkg/volume/volume_linux_test.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,19 @@ func TestSkipPermissionChange(t *testing.T) {
154154

155155
mask := rwMask
156156

157-
if test.sgidMatch {
158-
mask |= os.ModeSetgid
159-
}
160-
161157
if test.permissionMatch {
162158
mask |= execMask
163159

164160
}
165-
err = os.Chmod(tmpDir, info.Mode()|mask)
161+
if test.sgidMatch {
162+
mask |= os.ModeSetgid
163+
mask = info.Mode() | mask
164+
} else {
165+
nosgidPerm := info.Mode() &^ os.ModeSetgid
166+
mask = nosgidPerm | mask
167+
}
168+
169+
err = os.Chmod(tmpDir, mask)
166170
if err != nil {
167171
t.Errorf("Chmod failed on %v: %v", tmpDir, err)
168172
}
@@ -206,7 +210,8 @@ func TestSetVolumeOwnership(t *testing.T) {
206210

207211
// create a subdirectory with invalid permissions
208212
rogueDir := filepath.Join(path, "roguedir")
209-
err = os.Mkdir(rogueDir, info.Mode())
213+
nosgidPerm := info.Mode() &^ os.ModeSetgid
214+
err = os.Mkdir(rogueDir, nosgidPerm)
210215
if err != nil {
211216
return err
212217
}

0 commit comments

Comments
 (0)