2008-12-04 06:35:23

by James Morris

[permalink] [raw]
Subject: Conflict resolved in the security-testing tree

I resolved a conflict between the new creds API and the nfs4 server code
in
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6#next

per the patch below. Please check.


diff --cc fs/nfsd/nfs4recover.c
index 9371ea1,b79ec93..0000000
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@@ -230,12 -224,10 +230,13 @@@ nfsd4_list_rec_dir(struct dentry *dir,
if (!rec_dir_init)
return 0;

- nfs4_save_user(&uid, &gid);
+ status = nfs4_save_creds(&original_cred);
+ if (status < 0)
+ return status;
+ INIT_LIST_HEAD(dentries);

- filp = dentry_open(dget(dir), mntget(rec_dir.mnt), O_RDONLY);
+ filp = dentry_open(dget(dir), mntget(rec_dir.mnt), O_RDONLY,
+ current_cred());
status = PTR_ERR(filp);
if (IS_ERR(filp))
goto out;


--
James Morris
<[email protected]>


2008-12-04 07:10:30

by Stephen Rothwell

[permalink] [raw]
Subject: Re: Conflict resolved in the security-testing tree

Hi James,

On Thu, 4 Dec 2008 17:33:39 +1100 (EST) James Morris <[email protected]> wrote:
>
> I resolved a conflict between the new creds API and the nfs4 server code
> in
> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6#next
>
> per the patch below. Please check.
>
>
> diff --cc fs/nfsd/nfs4recover.c
> index 9371ea1,b79ec93..0000000
> --- a/fs/nfsd/nfs4recover.c
> +++ b/fs/nfsd/nfs4recover.c
> @@@ -230,12 -224,10 +230,13 @@@ nfsd4_list_rec_dir(struct dentry *dir,
> if (!rec_dir_init)
> return 0;
>
> - nfs4_save_user(&uid, &gid);
> + status = nfs4_save_creds(&original_cred);
> + if (status < 0)
> + return status;
> + INIT_LIST_HEAD(dentries);
>
> - filp = dentry_open(dget(dir), mntget(rec_dir.mnt), O_RDONLY);
> + filp = dentry_open(dget(dir), mntget(rec_dir.mnt), O_RDONLY,
> + current_cred());
> status = PTR_ERR(filp);
> if (IS_ERR(filp))
> goto out;

That is exactly what I did in linux-next in Nov 25 and got no screams
then.

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (1.09 kB)
(No filename) (197.00 B)
Download all attachments