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-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 16 May 2007 10:38:51 +0530
From:	Bharata B Rao <bharata@...ux.vnet.ibm.com>
To:	Jan Engelhardt <jengelh@...ux01.gwdg.de>
Cc:	linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
	Jan Blunck <j.blunck@...harburg.de>
Subject: Re: [RFC][PATCH  8/14] Union-mount lookup

On Tue, May 15, 2007 at 09:57:24AM +0200, Jan Engelhardt wrote:
> 
> On May 14 2007 15:12, Bharata B Rao wrote:
> > 
> >+struct dentry * d_lookup_single(struct dentry *parent, struct qstr *name)
> >+{
> >+	struct dentry *dentry;
> >+	unsigned long seq;
> >+
> >+        do {
> >+                seq = read_seqbegin(&rename_lock);
> >+                dentry = __d_lookup_single(parent, name);
> >+                if (dentry)
> >+			break;
> >+	} while (read_seqretry(&rename_lock, seq));
> >+	return dentry;
> >+}
> 
> Replace with tabs.

This is copied from fs/dcache.c:d_lookup() and the whitespaces came from there.
But that is not an excuse, will fix.

> 
> >+lookup_union:
> >+	do {
> >+		struct vfsmount *mnt = find_mnt(topmost);
> >+		UM_DEBUG_DCACHE("name=\"%s\", inode=%p, device=%s\n",
> >+				topmost->d_name.name, topmost->d_inode,
> >+				mnt->mnt_devname);
> >+		mntput(mnt);
> >+	} while (0);
> 
> Why the extra do{}while? [elsewhere too]

Not sure, may be to get a scope to define 'mnt' here. Jan ?

> 
> >+	if (topmost->d_union) {
> >+		union_lock_spinlock(topmost, &topmost->d_lock);
> >+	}
> 
> Extra {} could go [elsewhere too].
> 
> >+		if (last->d_overlaid
> >+		    && (last->d_overlaid != dentry)) {
> 
> As can these extra () [elsewhere too].
>

Sure, will fix all these.
 
> >+static inline struct dentry * __lookup_hash_single(struct qstr *name, struct dentry *base, struct nameidata *nd)
> >+{
> >+	struct dentry *dentry;
> >+	struct inode *inode;
> >+	int err;
> >+
> >+	inode = base->d_inode;
> >+
> >+	err = permission(inode, MAY_EXEC, nd);
> >+	dentry = ERR_PTR(err);
> >+	if (err)
> >+		goto out;
> >+
> >+	dentry = __lookup_hash_kern_single(name, base, nd);
> >+out:
> >+	return dentry;
> >+}
> 
> This looks a little big for being inline.

ok.

Regards,
Bharata.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ