Bug 186071

Summary: NFSD fails SETCLIENTID_CONFIRM
Product: Red Hat Enterprise Linux 4 Reporter: Steve Dickson <steved>
Component: kernelAssignee: Steve Dickson <steved>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: jbaron
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHSA-2006-0575 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-08-10 22:50:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 181409    
Attachments:
Description Flags
Patch 1 of 2 that fixes the problem
none
Patch 2 of 2 that fixes the problem none

Description Steve Dickson 2006-03-21 14:39:23 UTC
Created attachment 126400 [details]
Patch 1 of 2 that fixes the problem

Comment 1 Steve Dickson 2006-03-21 14:39:23 UTC
Description of problem:
nfsd_setuser() sets both the rqstp->cred and the current tasks uid, gid, and 
groups according to an exports squash rules (all_squash, root_squash). 
nfsd_setuser() is called in fh_verify() to correctly set the current's threads 
access to an export's directories and files.

setting the rqstp->cred is problematic for SETCLIENTID which is required to 
store the principal used for it's call, and whcih has client-wide scope, 
not export wide scope. under the current scheme, the rqstp->cred could
be set by nfsd_setuser or not, depending on the other previous NFSv4
operatios in the SETCLIENTID compound.
in order to pass confirmation of a clientid, SETCLIENTID_CONFIRM compares
the rqstp->cred with the credentials stored by SETCLIENTID. again, setting
the rqstp->cred with nfsd_user() is probelmatic.


Version-Release number of selected component (if applicable):


How reproducible:
Mount a newer Solaris, AIX or HP server

Steps to Reproduce:
1.
2.
3.
  
Actual results:
The mount fails

Expected results:
The mount should work

Additional info:
This was found at this year's Connectathon

Comment 2 Steve Dickson 2006-03-21 14:40:37 UTC
Created attachment 126401 [details]
Patch 2 of 2 that fixes the problem

Comment 3 Jason Baron 2006-04-26 02:41:23 UTC
committed in stream U4 build 34.24. A test kernel with this patch is available
from http://people.redhat.com/~jbaron/rhel4/


Comment 7 Red Hat Bugzilla 2006-08-10 22:51:07 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2006-0575.html