ports/103722: Update sysutils/fusefs-kmod

Anish Mistry amistry at am-productions.biz
Wed Sep 27 20:00:38 UTC 2006


>Number:         103722
>Category:       ports
>Synopsis:       Update sysutils/fusefs-kmod
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 27 20:00:37 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Anish Mistry
>Release:        FreeBSD 6.1-RELEASE-p1 i386
>Organization:
AM Productions 
>Environment:


System: FreeBSD 6.1-RELEASE-p1 #0: Thu Jun  1 21:16:20 EDT 2006
    amistry at bigguy.am-productions.biz:/usr/obj/usr/src/sys/BIGGUY



>Description:


Fix a bug in the initialization of a debug kernel sysctl.  Merge changeset 9131f671c86d from upstream.  This should fix problems with errors and truncations during a save.


>How-To-Repeat:





>Fix:


--- fusefs-kmod.patch begins here ---
diff -ruN fusefs-kmod.orig/Makefile fusefs-kmod/Makefile
--- fusefs-kmod.orig/Makefile	Wed Sep 27 11:49:41 2006
+++ fusefs-kmod/Makefile	Wed Sep 27 11:59:07 2006
@@ -7,7 +7,7 @@
 
 PORTNAME=	fusefs
 PORTVERSION=	0.3.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	sysutils
 MASTER_SITES=	http://fuse4bsd.creo.hu/downloads/ \
 		http://am-productions.biz/docs/
diff -ruN fusefs-kmod.orig/files/patch-fuse_module_fuse.c fusefs-kmod/files/patch-fuse_module_fuse.c
--- fusefs-kmod.orig/files/patch-fuse_module_fuse.c	Wed Sep 27 11:49:41 2006
+++ fusefs-kmod/files/patch-fuse_module_fuse.c	Wed Sep 27 15:52:12 2006
@@ -1,5 +1,5 @@
---- fuse_module/fuse.c.orig	Fri Feb 10 17:31:53 2006
-+++ fuse_module/fuse.c	Sun Jul 16 14:48:43 2006
+--- fuse_module/fuse.c.orig	Wed Sep 27 15:49:47 2006
++++ fuse_module/fuse.c	Wed Sep 27 15:52:02 2006
 @@ -75,7 +75,7 @@
  };
  
@@ -60,6 +60,15 @@
  	if (err)
  		DEBUG2G("op %s (#%d) with body size %d: invalid body size\n",
  		        (0 <= opcode && opcode <= fuse_opnames_entries) ? fuse_opnames[opcode] : "???",
+@@ -904,7 +904,7 @@
+                  uint64_t nid, enum fuse_opcode op, size_t blen,
+                  struct thread* td, struct ucred *cred)
+ {
+-	ihead->len = sizeof(ihead) + blen; /* actually not used by lib */
++	ihead->len = sizeof(*ihead) + blen; /* actually not used by lib */
+ 	ihead->unique = tick->unique;
+ 	ihead->nodeid = nid;
+ 	ihead->opcode = op;
 @@ -988,7 +988,7 @@
  	return (0);
  }
@@ -272,7 +281,24 @@
  	if (doingdirectory && fdvp != tdvp) {
  		/*
  		 * Check for pathname conflict.
-@@ -5741,7 +5745,7 @@
+@@ -5396,7 +5400,6 @@
+ 	struct vnode *vp = fioda->vp;
+ 	struct uio *uio = fioda->uio;
+ 	struct ucred *cred = fioda->cred;
+-	struct fuse_filehandle *fufh = fioda->fufh;
+ 
+ 	int biosize;
+ 
+@@ -5506,7 +5509,7 @@
+ 		if ((bp->b_flags & B_CACHE) == 0) {
+ 			bp->b_iocmd = BIO_READ;
+ 			vfs_busy_pages(bp, 0);
+-			fuse_strategy_i(vp, bp, fufh, 0);
++			fuse_strategy_i(vp, bp, NULL, 0);
+ 			if ((err =  bp->b_error)) {
+ 				brelse(bp);
+ 				break;
+@@ -5741,7 +5744,7 @@
  			        chunksize, (long long unsigned)fri->offset, respsize);
  	
  			if (respsize < chunksize) {
@@ -281,7 +307,7 @@
  				/*
  				 * "if we don't get enough data, just fill the
  				 * rest with zeros."
-@@ -5888,7 +5892,7 @@
+@@ -5888,7 +5891,7 @@
  	        "vp=%p, rc=%d", bp, vp, rc));
  }
  
@@ -290,7 +316,7 @@
  static int
  fuse_germ_access(struct vop_access_args *ap)
  {
-@@ -5908,7 +5912,7 @@
+@@ -5908,7 +5911,7 @@
  
  /*   Modeled after tunclone() of net/if_tun.c
   */
@@ -299,7 +325,7 @@
  static void
  fusedev_clone(void *arg, char *name, int namelen, struct cdev **dev)
  #else
-@@ -6019,7 +6023,7 @@
+@@ -6019,7 +6022,7 @@
  		fuse_fileops.fo_close    = fuse_close_f;
  		fuse_fileops.fo_flags    = DFLAG_PASSABLE | DFLAG_SEEKABLE;
  
@@ -308,14 +334,3 @@
  		memcpy(&fuse_germ_vnops, &dead_vnodeops, sizeof(struct vop_vector));
  		fuse_germ_vnops.vop_access = fuse_germ_access;
  		fuse_germ_vnops.vop_open = fuse_open;
---- fuse_module/fuse.c.orig	Thu Aug  3 02:08:04 2006
-+++ fuse_module/fuse.c	Thu Aug  3 02:08:35 2006
-@@ -904,7 +904,7 @@
-                  uint64_t nid, enum fuse_opcode op, size_t blen,
-                  struct thread* td, struct ucred *cred)
- {
--	ihead->len = sizeof(ihead) + blen; /* actually not used by lib */
-+	ihead->len = sizeof(*ihead) + blen; /* actually not used by lib */
- 	ihead->unique = tick->unique;
- 	ihead->nodeid = nid;
- 	ihead->opcode = op;
diff -ruN fusefs-kmod.orig/files/patch-fuse_module_fuse_subr.c fusefs-kmod/files/patch-fuse_module_fuse_subr.c
--- fusefs-kmod.orig/files/patch-fuse_module_fuse_subr.c	Wed Dec 31 19:00:00 1969
+++ fusefs-kmod/files/patch-fuse_module_fuse_subr.c	Wed Sep 27 11:57:39 2006
@@ -0,0 +1,15 @@
+--- fuse_module/fuse_subr.c.orig	Fri Feb 10 17:31:53 2006
++++ fuse_module/fuse_subr.c	Wed Sep 27 11:57:01 2006
+@@ -15,9 +15,11 @@
+ {
+ 	int err;
+ 	int unprivileged_proc_debug;
++	size_t ilen = sizeof(unprivileged_proc_debug);
+ 
+ 	err = kernel_sysctlbyname(td, "security.bsd.unprivileged_proc_debug",
+-		NULL, 0, &unprivileged_proc_debug, sizeof(unprivileged_proc_debug), NULL, 0);
++		&unprivileged_proc_debug, &ilen,
++		NULL, 0, NULL, 0);
+ 
+ 	if (err)
+ 		unprivileged_proc_debug = 0;
--- fusefs-kmod.patch ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list