Dario Freni | 1 Aug 2005 02:07

Re: Rockridge extension not enabled when / is cd9660, boot fails

Peter Grehan wrote:
> Hi Dario,
> 
>  I've come across this too: a hack is at:
> 
>    http://people.freebsd.org/~grehan/cd9660_vfsops.diff
> 
>  ... though I think that's the wrong way to do it.
> 
>  I guess you and I are the only ones to ever mount cd9660 as root :)

I guess it too :) Thank you very much for the patch. Can't be it
commited? Or can't this problem be fixed on the source tree in some way?
 I think the cd9660 root "feature" is quite unusable this way.

Bye,
Dario

--

-- 
Dario Freni (saturnero <at> freesbie.org)
FreeSBIE developer (http://www.freesbie.org)
GPG Public key at http://www.saturnero.net/saturnero.asc
rick | 1 Aug 2005 03:27
Picon

re: FreeBSD6.0-BETA1 panics

I've just put a little patch up
ftp://ftp.cis.uoguelph.ca/pub/nfsv4/patch2-freebsd6.0-bet1.diffc
(which is also appended to this message) that seems to fix the panics
that I reproduced when testing with:
	option DEBUG_VFS_LOCKS
	option DEBUG_LOCKS

I will be doing further testing on FreeBSD6.0-BETA1 and will cut new
tarballs, but you can try the patch in the meantime, since I think it
fixes the panic you saw.

rick
ps: I've got a hunch similar fixes are needed for the older versions
    of FreeBSD, but I'll check into that and create separate patches,
    as required.
--- patch diffc ---
*** newnfs/nfs/nfsport.h.orig	Sun Jul 31 21:17:25 2005
--- newnfs/nfs/nfsport.h	Sun Jul 31 21:19:54 2005
***************
*** 433,439 ****
  /*
   * Defined as the VOP_ISLOCKED macro.
   */
! #define	NFSVOPISLOCKED(v, p)	VOP_ISLOCKED((v), (p))

  /*
   * Increment the fp count.
--- 433,439 ----
  /*
   * Defined as the VOP_ISLOCKED macro.
(Continue reading)

yf-263 | 1 Aug 2005 11:51

Re: Pointers for understanding vfs/buffer/filesystem architecture

在 2005-07-30六的 09:34 -0500,Ryan Sommers写道:
> Eric Anderson wrote:
> > I've very interested in learning about FreeBSD's implementation of 
> > vfs/buffer cache/fs archicture.  I've read through mckusick <at> 's chapter 
> > in the Design and Implmentation of FreeBSD book, and I've read the UNIX 
> > Filesystems book cover to cover.
> > 
> > What I'd like to see/read/understand, is how FreeBSD in particular is 
> > put together in this regard, and then I'd like to go about writing a 
> > very very simple filesystem as a learning excercise.
> > 
> > Can anyone give me some pointers?  Would anyone be willing to guide me 
> > along in my quest by answering questions (off list if preferred, or on 
> > list), etc?
> > 
> > Thanks in advance for the hints/input!
> > Eric
> > 
> > 
> 
> Best place would be the source code itself. I think the nullfs 
> implementation would be a good place (src/sys/fs/nullfs). I thought I 
> also remembered some little article on writing an FS for freebsd, 
> finding it is eluding me though.

I'm also doing the same work. Now I'm working on port our data access
library into the FreeBSD kernel space as a vnode hooks. Hope we can help
each others :)

> 
(Continue reading)

Dario Freni | 1 Aug 2005 12:33

Re: Rockridge extension not enabled when / is cd9660, boot fails

Dario Freni wrote:
> Peter Grehan wrote:
> 
>>Hi Dario,
>>
>> I've come across this too: a hack is at:
>>
>>   http://people.freebsd.org/~grehan/cd9660_vfsops.diff
>>
>> ... though I think that's the wrong way to do it.
>>
>> I guess you and I are the only ones to ever mount cd9660 as root :)
> 
> 
> I guess it too :) Thank you very much for the patch. Can't be it
> commited? Or can't this problem be fixed on the source tree in some way?
>  I think the cd9660 root "feature" is quite unusable this way.

The patched worked for me in a normal environment. I'm getting a LOR
under qemu:

acd0: CDROM <QEMU CD-ROM/0.7.0> at ata1-master PIO3
ATA PseudoRAID loaded
GEOM_LABEL: Label for provider acd0 is iso9660/FreeSBIE.
Trying to mount root from cd9660:/dev/iso9660/FreeSBIE
lock order reversal
 1st 0xc12ef6e8 ATA state lock (ATA state lock)  <at> 
/usr/src/sys/dev/ata/ata-all.c:297
 2nd 0xc10611c4 user map (user map)  <at>  /usr/src/sys/vm/vm_map.c:2997
KDB: stack backtrace:
(Continue reading)

Bjoern A. Zeeb | 1 Aug 2005 13:26

Re: Rockridge extension not enabled when / is cd9660, boot fails

On Mon, 1 Aug 2005, Dario Freni wrote:

> Dario Freni wrote:
> > Peter Grehan wrote:
> >
> >>Hi Dario,
> >>
> >> I've come across this too: a hack is at:
> >>
> >>   http://people.freebsd.org/~grehan/cd9660_vfsops.diff
> >>
> >> ... though I think that's the wrong way to do it.
> >>
> >> I guess you and I are the only ones to ever mount cd9660 as root :)
> >
> >
> > I guess it too :) Thank you very much for the patch. Can't be it
> > commited? Or can't this problem be fixed on the source tree in some way?
> >  I think the cd9660 root "feature" is quite unusable this way.
>
> The patched worked for me in a normal environment. I'm getting a LOR
> under qemu:
>
> acd0: CDROM <QEMU CD-ROM/0.7.0> at ata1-master PIO3
> ATA PseudoRAID loaded
> GEOM_LABEL: Label for provider acd0 is iso9660/FreeSBIE.
> Trying to mount root from cd9660:/dev/iso9660/FreeSBIE
> lock order reversal
>  1st 0xc12ef6e8 ATA state lock (ATA state lock)  <at> 
> /usr/src/sys/dev/ata/ata-all.c:297
(Continue reading)

Peter Grehan | 1 Aug 2005 16:09
Picon
Favicon

Re: Rockridge extension not enabled when / is cd9660, boot fails

> calltrap() at calltrap+0x5
> --- trap 0xc, eip = 0xc04fc828, esp = 0xc838bc84, ebp = 0xc838bca4 ---
> ata_pio_read(c1452578,800,129,c13e4200,c13f1c00) at ata_pio_read+0x78
> ata_end_transaction(c1452578) at ata_end_transaction+0x8b8
> ata_interrupt(c12ef600) at ata_interrupt+0xdf
> ithread_loop(c12fa800,c838bd38,c12fa800,c065ad88,0) at ithread_loop+0x11c
> fork_exit(c065ad88,c12fa800,c838bd38) at fork_exit+0xa0
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0x1, eip = 0, esp = 0xc838bd6c, ebp = 0 ---
> panic: vm_fault: fault on nofault entry, addr: c708f000

  I suspect this is a bug somewhere in qemu - the ATA driver is getting 
a page fault in kernel mode while it is holding a lock, and the VM code 
then gets a LOR as it tries to determine if the fault is expected or not.

later,

Peter.
_______________________________________________
freebsd-fs <at> freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe <at> freebsd.org"

Eric Anderson | 1 Aug 2005 17:09
Favicon

Re: Rockridge extension not enabled when / is cd9660, boot fails

Peter Grehan wrote:
>> calltrap() at calltrap+0x5
>> --- trap 0xc, eip = 0xc04fc828, esp = 0xc838bc84, ebp = 0xc838bca4 ---
>> ata_pio_read(c1452578,800,129,c13e4200,c13f1c00) at ata_pio_read+0x78
>> ata_end_transaction(c1452578) at ata_end_transaction+0x8b8
>> ata_interrupt(c12ef600) at ata_interrupt+0xdf
>> ithread_loop(c12fa800,c838bd38,c12fa800,c065ad88,0) at ithread_loop+0x11c
>> fork_exit(c065ad88,c12fa800,c838bd38) at fork_exit+0xa0
>> fork_trampoline() at fork_trampoline+0x8
>> --- trap 0x1, eip = 0, esp = 0xc838bd6c, ebp = 0 ---
>> panic: vm_fault: fault on nofault entry, addr: c708f000
> 
> 
>  I suspect this is a bug somewhere in qemu - the ATA driver is getting a 
> page fault in kernel mode while it is holding a lock, and the VM code 
> then gets a LOR as it tries to determine if the fault is expected or not.

I believe a slightly older qemu worked fine (0.7.0 < 20050717 port).

Eric

--

-- 
------------------------------------------------------------------------
Eric Anderson        Sr. Systems Administrator        Centaur Technology
Anything that works is better than anything that doesn't.
------------------------------------------------------------------------
_______________________________________________
freebsd-fs <at> freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe <at> freebsd.org"
(Continue reading)

Dario Freni | 1 Aug 2005 18:17

More unionfs madness

Background:
- Read-only compressed partition mounted on /var
- Memory fs created on /mnt/union/var (using mount_md function of rc.subr)
- Created the directory structure on the memory fs
- mount_unionfs -o noatime /mnt/union/var /var (noatime is a suggested
workaround for a bug I've already found, see fs <at>  archive)

I'm getting panic during the init phase, when newsyslog script is called:

Creating and/or trimming log files:panic: lockmgr: locking against myself
cpuid = 0
KDB: enter: panic
[thread pid 231 tid 100051 ]
Stopped at      kdb_enter+0x2b: nop
db> tr
Tracing pid 231 tid 100051 td 0xc1470480
kdb_enter(c08a550b) at kdb_enter+0x2b
panic(c08a397e,c1470480,0,c0913fa0,c840a990) at panic+0x127
lockmgr(c1917058,2002,c191707c,c1470480,c840a970) at lockmgr+0x3da
vop_stdlock(c840a990,2,c1917000,c840a9ac,c06cb648) at vop_stdlock+0x1e
VOP_LOCK_APV(c0905ae0,c840a990) at VOP_LOCK_APV+0x87
vn_lock(c1917000,2,c1470480,0,13) at vn_lock+0xa8
union_allocvp(c840ac2c,c1455800,c1878550,c17f2990,c840ac40) at
union_allocvp+0x25b
union_lookup(c840ab38,c1878550,0,c840ab54,c06ba68a) at union_lookup+0x627
VOP_LOOKUP_APV(c0905ae0,c840ab38) at VOP_LOOKUP_APV+0x87
lookup(c840ac18,c1458044,0,c1470480,12b) at lookup+0x3d6
namei(c840ac18,1,0,c09861e8,c0985b30) at namei+0x35a
kern_rename(c1470480,bfbfb730,8051100,0,c840ad30) at kern_rename+0xf4
rename(c1470480,c840ad04,2,1c,80296) at rename+0x15
(Continue reading)

Allan Fields | 1 Aug 2005 18:39
Picon

Analysis of Storage Security (Re: preventing information leakage in gbde protected system)

On Thu, Jul 14, 2005 at 09:37:41PM +0100, David Kreil wrote:
> 
> Dear Allan,
> 
> After a job induced pause in my strong interest in encryption solutions, I'm 
> now slowly returning to the case. You have kindly provided good advice when we 
> were in touch last year and I was wondering whether you had any further 
> information regarding setting up a system to be gbde protected early enough 
> during system boot to avoid leakage of sensitive information in /var, /etc, 
> and possible the root (/).

Many thanks for your patience..

pjd has some patches that can allow encrypted root to be mounted
at boot.  I'd recommend trying them out. The biggest argument for
full disk encryption is to say that you've eliminated at the base
system level the ability for raw data leakage to disk.

It's clear I should dedicate a few days doing GBDE/GELI stuff.

Sorry I've not spent the time necessary as of yet.
My publishing situation is slightly unordered, with time that will
improve and my analysis _will_ find it's way online.

I was thinking I could pursue: simple text/HTML pages, O'Reilly
article, or conference papers in the future, but I want to make
sure I have a verifiably strong analysis, though general tutorials
might be what people need..

I'm actually working on multiple fronts investigating device-level
(Continue reading)

Igor Shmukler | 1 Aug 2005 20:02
Picon

Re: per file lock list

Matt,

Thank you very much for response. This is a general solution, but it
not sufficient for our needs. I guess I should have been more clear
while explaining what we need.

We want list of these locks for a group of processes.

We made an implementation based on your suggestion, but there is one problem...

Unfortunately this method does not return all shared locks for a
range. For example, if several processes have placed a shared lock on
a
range [1000 - 2000], F_GETLK returns a flock structure where l_pid field
contains a pid of process that takes the lock first. While, we want
to know all processes that takes this lock. Is there any way to retrieve
such information without using of internal kernel structures (inode
information)?

Thank you in advance,

igor

On 7/21/05, Matthew Dillon <dillon <at> apollo.backplane.com> wrote:
> :Hi,
> :
> :We have a question: how to get all POSIX locks for a given file?
> :..
> :
> :As far as I know, existing API does not allow to retrieve all file
(Continue reading)


Gmane