lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 11 Jan 2012 12:27:44 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Sage Weil <sage@...dream.net>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Alex Elder <elder@...amhost.com>,
	Al Viro <viro@...iv.linux.org.uk>
Subject: linux-next: manual merge of the ceph tree with Linus' tree

Hi Sage,

Today's linux-next merge of the ceph tree got a conflict in
fs/ceph/super.c between commit 3c5184ef1216 ("ceph: d_alloc_root() may
fail") from Linus' tree and commit 26d913cdd955 ("ceph: always initialize
the dentry in open_root_dentry()") from the ceph tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc fs/ceph/super.c
index 48f61a1,ec74313..0000000
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@@ -636,21 -636,14 +636,21 @@@ static struct dentry *open_root_dentry(
  	req->r_num_caps = 2;
  	err = ceph_mdsc_do_request(mdsc, NULL, req);
  	if (err == 0) {
 +		struct inode *inode = req->r_target_inode;
 +		req->r_target_inode = NULL;
  		dout("open_root_inode success\n");
 -		if (ceph_ino(req->r_target_inode) == CEPH_INO_ROOT &&
 -		    fsc->sb->s_root == NULL)
 -			root = d_alloc_root(req->r_target_inode);
 -		else
 -			root = d_obtain_alias(req->r_target_inode);
 +		if (ceph_ino(inode) == CEPH_INO_ROOT &&
 +		    fsc->sb->s_root == NULL) {
 +			root = d_alloc_root(inode);
 +			if (!root) {
 +				iput(inode);
 +				root = ERR_PTR(-ENOMEM);
 +				goto out;
 +			}
- 			ceph_init_dentry(root);
 +		} else {
 +			root = d_obtain_alias(inode);
 +		}
+ 		ceph_init_dentry(root);
 -		req->r_target_inode = NULL;
  		dout("open_root_inode success, root dentry is %p\n", root);
  	} else {
  		root = ERR_PTR(err);

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ