On May 14 2007 15:11, Bharata B Rao wrote:
>+void __union_check(struct dentry *dentry)
>+{
>+      if (likely(!(dentry->d_topmost || dentry->d_overlaid))) {

This could be simplified to

   if (likely(!dentry->d_topmost && !dentry->d_overlaid))

(I prefer x==NULL over !x for pointers, though)
And then again, do not assume everything is (un)likely [also elsewhere].

>+              if (unlikely(dentry->d_union)) {
>+                      printk(KERN_ERR "%s: \"%s\" stale union reference\n" \
>+                             "\tdentry=%p, inode=%p, count=%d, u_count=%d\n",
>+                             __FUNCTION__,
>+                             dentry->d_name.name,
>+                             dentry,
>+                             dentry->d_inode,
>+                             atomic_read(&dentry->d_count),
>+                             atomic_read(&dentry->d_union->u_count));
>+                      dump_stack();
>+              }
>+              return;
>+      }
>+
>--- a/net/unix/af_unix.c
>+++ b/net/unix/af_unix.c
>@@ -1082,8 +1082,11 @@ restart:
>               newu->addr = otheru->addr;
>       }
>       if (otheru->dentry) {
>-              newu->dentry    = dget(otheru->dentry);
>+              /* Is this safe here? I don't know ... */

Figure it out :)


        Jan
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to