[11] in arla-drinkers
Re: arla problems under Solaris 2.6
daemon@ATHENA.MIT.EDU (John Hawkinson)
Thu Jun 18 22:37:45 1998
From arla-drinkers-request@sundance.stacken.kth.se Fri Jun 19 02:37:45 1998
Return-Path: <arla-drinkers-request@sundance.stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 12387 invoked from network); 19 Jun 1998 02:37:44 -0000
Received: from unknown (HELO sundance.stacken.kth.se) (130.237.234.41)
by bloom-picayune.mit.edu with SMTP; 19 Jun 1998 02:37:44 -0000
Received: from all-purpose-gunk.near.net (all-purpose-gunk.near.net [199.94.208.184])
by sundance.stacken.kth.se (8.8.8/8.8.8) with ESMTP id EAA11259
for <arla-drinkers@stacken.kth.se>; Fri, 19 Jun 1998 04:33:05 +0200 (MET DST)
Received: (from jhawk@localhost)
by all-purpose-gunk.near.net (8.8.8/8.8.8) id WAA18102;
Thu, 18 Jun 1998 22:33:03 -0400 (EDT)
From: John Hawkinson <jhawk@bbnplanet.com>
Message-Id: <199806190233.WAA18102@all-purpose-gunk.near.net>
Subject: Re: arla problems under Solaris 2.6
To: arla-drinkers@stacken.kth.se
Date: Thu, 18 Jun 1998 22:33:02 -0400 (EDT)
In-Reply-To: <199806190139.VAA17933@all-purpose-gunk.near.net> from "John Hawkinson" at Jun 18, 98 09:39:06 pm
X-Mailer: ELM [version 2.4 PL25]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
> 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