NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/44515: cgd dies on non-aligned writes to the raw device

>Number:         44515
>Category:       kern
>Synopsis:       cgd dies on non-aligned writes to the raw device
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 04 19:55:00 +0000 2011
Writing a non-aligned "block" to a raw cgd device causes a kernel
panic.  DIAGNOSTIC kernels die this way:

#5  0xbbb80ce8 in panic (fmt=0xbb95c990 "cgd_cipher: len %% blocksize != 0")
    at /usr/allsrc/src/sys/rump/librump/rumpkern/../../../kern/subr_prf.c:302
#6  0xbb95b87d in cgd_cipher (cs=0xb9e8fc88, dstv=0xbb88f000, srcv=0xbb82e400, 
    len=123, blkno=0, secsize=512, dir=2)
    at /usr/allsrc/src/sys/rump/dev/lib/libcgd/../../../../dev/cgd.c:862
#7  0xbb95a789 in cgdstart (dksc=0xb9e8fc8c, bp=0xbb8a1f20)
    at /usr/allsrc/src/sys/rump/dev/lib/libcgd/../../../../dev/cgd.c:392
#8  0xbb961299 in dk_start (di=0xbb95dda0, dksc=0xb9e8fc8c)
    at /usr/allsrc/src/sys/rump/dev/lib/libdisk/../../../../dev/dksubr.c:239
#9  0xbb9611ec in dk_strategy (di=0xbb95dda0, dksc=0xb9e8fc8c, bp=0xbb8a1f20)
    at /usr/allsrc/src/sys/rump/dev/lib/libdisk/../../../../dev/dksubr.c:225
#10 0xbb95a4b4 in cgdstrategy (bp=0xbb8a1f20)
    at /usr/allsrc/src/sys/rump/dev/lib/libcgd/../../../../dev/cgd.c:297
#11 0xbb9cbdee in physio (strategy=0xbb95a46b <cgdstrategy>, obp=0x0, 
    dev=65283, flags=0, min_phys=0xbb9cc08c <minphys>, uio=0xb85ffe9c)
    at /usr/allsrc/src/sys/rump/librump/rumpvfs/../../../kern/kern_physio.c:345

and GENERIC dies this way:
uvm_fault(0xc0c466c0, 0xca3c1000, 1) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 0 eip c06bfb75 cs 8 eflags 202 cr2 ca3c1000 ilevel 6
panic: trap

tests/dev/cgd/t_cgd non512

Home | Main Index | Thread Index | Old Index