Bug 186071 - NFSD fails SETCLIENTID_CONFIRM
Summary: NFSD fails SETCLIENTID_CONFIRM
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Steve Dickson
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks: 181409
TreeView+ depends on / blocked
 
Reported: 2006-03-21 14:39 UTC by Steve Dickson
Modified: 2007-11-30 22:07 UTC (History)
1 user (show)

Fixed In Version: RHSA-2006-0575
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-08-10 22:50:59 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Patch 1 of 2 that fixes the problem (3.15 KB, patch)
2006-03-21 14:39 UTC, Steve Dickson
no flags Details | Diff
Patch 2 of 2 that fixes the problem (828 bytes, patch)
2006-03-21 14:40 UTC, Steve Dickson
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2006:0575 0 normal SHIPPED_LIVE Important: Updated kernel packages available for Red Hat Enterprise Linux 4 Update 4 2006-08-10 04:00:00 UTC

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



Note You need to log in before you can comment on or make changes to this bug.