Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libp2k libpuffs and libp2k both use the cookie to differ...



details:   https://anonhg.NetBSD.org/src/rev/13a3f4bef282
branches:  trunk
changeset: 780927:13a3f4bef282
user:      manu <manu%NetBSD.org@localhost>
date:      Sun Aug 12 02:51:18 2012 +0000

description:
libpuffs and libp2k both use the cookie to different structure, which now
leads to struct p2k_node corruption now that libpuffs used pn_nlookup field
in struct puffs_node to avoid race conditions.

Attempt to fix that by adding a struct puffs_node at the beginning of struct
p2k_node. This seems to fix kern/46734

diffstat:

 lib/libp2k/p2k.c |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (17 lines):

diff -r d4610c12d0ca -r 13a3f4bef282 lib/libp2k/p2k.c
--- a/lib/libp2k/p2k.c  Sun Aug 12 00:01:50 2012 +0000
+++ b/lib/libp2k/p2k.c  Sun Aug 12 02:51:18 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: p2k.c,v 1.55 2011/07/04 08:07:29 manu Exp $    */
+/*     $NetBSD: p2k.c,v 1.56 2012/08/12 02:51:18 manu Exp $    */
 
 /*
  * Copyright (c) 2007, 2008, 2009  Antti Kantee.  All Rights Reserved.
@@ -83,6 +83,7 @@
 };
 
 struct p2k_node {
+       struct puffs_node p2n_pn;
        struct vnode *p2n_vp;
 
        LIST_ENTRY(p2k_node) p2n_entries;



Home | Main Index | Thread Index | Old Index