arla problems under Solaris 2.6
John Hawkinson
jhawk at bbnplanet.com
Fri Jun 19 04:33:05 CEST 1998
> Well, I'm pretty sure removing them works.
>
> I hadn't thought about copyin(), but in retrospect that makes
> obvious sense. Unfortunately it doesn't work:
Spoke too soon.
We can't copyin() MAXPATHLEN worth of data.
Brute-forcing it shows that we can copy in 584 bytes
from dir and 594 bytes from spec. Not surpringly,
spec-dir=10.
I'm not sure how we're supposed to work this. It's clear there's some
sort of fuzzy constraint, and I don't know when we might hit it.
Nevertheless, persisting in the foolish desire to have this
debugging code:
*** /tmp/T00bNkBV Thu Jun 18 22:31:09 1998
--- xfs/solaris/xfs_vfsops.c Thu Jun 18 22:25:04 1998
***************
*** 68,76 ****
struct vnode *devvp;
dev_t dev;
int error;
XFSDEB(XDEBVFOPS, ("xfs_mount vfsp = 0x%x path = %s args = '%s'\n",
! (u_int) vfsp, uap->dir, uap->spec));
/*
* This is something that should be done before calling this
--- 68,84 ----
struct vnode *devvp;
dev_t dev;
int error;
+ #ifdef DEBUG
+ char dir[MAXNAMELEN], spec[MAXNAMELEN];
+ #endif
+ #ifdef DEBUG
+ if (copyin(uap->dir, dir, sizeof(dir)) ||
+ copyin(uap->spec, spec, sizeof(spec)))
+ return EFAULT;
XFSDEB(XDEBVFOPS, ("xfs_mount vfsp = 0x%x path = %s args = '%s'\n",
! (u_int) vfsp, dir, spec));
! #endif
/*
* This is something that should be done before calling this
--jhawk
More information about the Arla-drinkers
mailing list