Madhu Thorat has uploaded this change for review.

View Change

In mdc_open2_by_name() after lookup check if obj_handle.type==REGULAR_FILE

In mdc_open2_by_name() after mdc_lookup() completes successfully
and prior to calling FSALs open2(..) we don't check the
entry->obj_handle.type to verify if the object is for a regular file.
It may be possible that prior to calling mdc_lookup() in
mdc_open2_by_name(), another thread working on a different client request
may have created a symbolic link with the same name. Using an object created
for a symbolic link in nfs4_op_open() code path lead to a crash.
Fixed this by adding a check in mdc_open2_by_name() to verify
entry->obj_handle.type is REGULAR_FILE and then proceed to call a FSALs
open2(..).

Change-Id: Ib86b53f1c7bb6652509ef98575f6b1e8ff2fde82
Signed-off-by: Madhu Thorat <madhu.punjabi@in.ibm.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c
1 file changed, 13 insertions(+), 0 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/74/488074/1

To view, visit change 488074. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ib86b53f1c7bb6652509ef98575f6b1e8ff2fde82
Gerrit-Change-Number: 488074
Gerrit-PatchSet: 1
Gerrit-Owner: Madhu Thorat <madhu.punjabi@in.ibm.com>
Gerrit-MessageType: newchange