diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2006-09-29 00:39:42 +0800 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2006-09-29 00:39:42 +0800 |
commit | becab88653a693b60f21a711e429a8f83cb213b2 (patch) | |
tree | 0737c40d6566ef3a39dbbf9043b8d8299d77d52f | |
parent | d60ad805ee8bc4101d81cebfdfc1e7e8055078d7 (diff) | |
download | freebsd-ports-gnome-becab88653a693b60f21a711e429a8f83cb213b2.tar.gz freebsd-ports-gnome-becab88653a693b60f21a711e429a8f83cb213b2.tar.zst freebsd-ports-gnome-becab88653a693b60f21a711e429a8f83cb213b2.zip |
- 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.
PR: ports/103722
Submitted by: Anish Mistry <amistry@am-productions.biz> (maintainer)
-rw-r--r-- | sysutils/fusefs-kmod/Makefile | 2 | ||||
-rw-r--r-- | sysutils/fusefs-kmod/files/patch-fuse_module_fuse.c | 49 | ||||
-rw-r--r-- | sysutils/fusefs-kmod/files/patch-fuse_module_fuse_subr.c | 15 |
3 files changed, 48 insertions, 18 deletions
diff --git a/sysutils/fusefs-kmod/Makefile b/sysutils/fusefs-kmod/Makefile index 913dc10aa819..bc801e4feaea 100644 --- a/sysutils/fusefs-kmod/Makefile +++ b/sysutils/fusefs-kmod/Makefile @@ -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 --git a/sysutils/fusefs-kmod/files/patch-fuse_module_fuse.c b/sysutils/fusefs-kmod/files/patch-fuse_module_fuse.c index 0596aa02cc73..b4b1b9accf71 100644 --- a/sysutils/fusefs-kmod/files/patch-fuse_module_fuse.c +++ b/sysutils/fusefs-kmod/files/patch-fuse_module_fuse.c @@ -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 --git a/sysutils/fusefs-kmod/files/patch-fuse_module_fuse_subr.c b/sysutils/fusefs-kmod/files/patch-fuse_module_fuse_subr.c new file mode 100644 index 000000000000..f7ea550b1384 --- /dev/null +++ b/sysutils/fusefs-kmod/files/patch-fuse_module_fuse_subr.c @@ -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; |