system/posix-acl: prevent NULL pointer dereference of group_ce
Thanks Amar Tumballi. Change-Id: I3ac9b46d4c3fcd12d1eec779317a03c47d267556 BUG: 887098 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/4351 Reviewed-by: Amar Tumballi <amarts@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
This commit is contained in:
parent
91cc423b48
commit
b7fd110d42
48
tests/bugs/bug-887098-gmount-crash.t
Normal file
48
tests/bugs/bug-887098-gmount-crash.t
Normal file
@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
. $(dirname $0)/../include.rc
|
||||
. $(dirname $0)/../volume.rc
|
||||
|
||||
cleanup;
|
||||
|
||||
## Start and create a volume
|
||||
TEST glusterd;
|
||||
TEST pidof glusterd;
|
||||
TEST $CLI volume info;
|
||||
|
||||
TEST $CLI volume create $V0 replica 2 $H0:$B0/${V0}{1,2,3,4};
|
||||
|
||||
## Verify volume is is created
|
||||
EXPECT "$V0" volinfo_field $V0 'Volume Name';
|
||||
EXPECT 'Created' volinfo_field $V0 'Status';
|
||||
|
||||
function pidgrep()
|
||||
{
|
||||
ps ax | grep "$1" | awk '{print $1}' | head -1
|
||||
}
|
||||
|
||||
|
||||
## Start volume and verify
|
||||
TEST $CLI volume start $V0;
|
||||
EXPECT 'Started' volinfo_field $V0 'Status';
|
||||
|
||||
TEST glusterfs -s $H0 --volfile-id=$V0 --acl $M0
|
||||
MOUNT_PID=`ps ax |grep "glusterfs -s $H0 --volfile-id=$V0 --acl $M0" | awk '{print $1}' | head -1`
|
||||
|
||||
for i in {1..25};
|
||||
do
|
||||
mkdir $M0/tmp_$i && cat /etc/hosts > $M0/tmp_$i/file
|
||||
cp -RPp $M0/tmp_$i $M0/newtmp_$i && cat /etc/hosts > $M0/newtmp_$i/newfile
|
||||
done
|
||||
|
||||
EXPECT "$MOUNT_PID" pidgrep $MOUNT_PID
|
||||
TEST rm -rf $M0/*
|
||||
umount $M0
|
||||
|
||||
## Finish up
|
||||
TEST $CLI volume stop $V0;
|
||||
EXPECT 'Stopped' volinfo_field $V0 'Status';
|
||||
|
||||
TEST $CLI volume delete $V0;
|
||||
|
||||
cleanup;
|
@ -516,7 +516,7 @@ posix_acl_inherit_mode (struct posix_acl *acl, mode_t modein)
|
||||
if (mask_ce) {
|
||||
mask_ce->perm &= (mode >> 3) | ~S_IRWXO;
|
||||
mode &= (mask_ce->perm << 3) | ~S_IRWXG;
|
||||
} else {
|
||||
} else if (group_ce) {
|
||||
group_ce->perm &= (mode >> 3) | ~S_IRWXO;
|
||||
mode &= (group_ce->perm << 3) | ~S_IRWXG;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user