bin/186793: fsck_ffs/ufs segmentation violation in SU+J mode on SIGINT before check cycle

Oleg Ginzburg olevole at olevole.ru
Sat Feb 15 14:10:00 UTC 2014


>Number:         186793
>Category:       bin
>Synopsis:       fsck_ffs/ufs segmentation violation in SU+J mode on SIGINT before check cycle
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Feb 15 14:10:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Oleg Ginzburg
>Release:        11.0-CURRENT #0 r261907
>Organization:
>Environment:
>Description:
fsck have own signal handler for SIGINT for performing ckfini(0). In some cases (eg: interrupting fsck on reply("USE JOURNAL") stage) it provokes segmentation violation.

Look's like cgbufs[X].b_un.b_cg is not initialized here:

-- in ckfini() from fsutil.c --
 for (cnt = 0; cnt < sblock.fs_ncg; cnt++) {
                if (cgbufs[cnt].b_un.b_cg == NULL)
--

>How-To-Repeat:
Just send SIGINT (or hit Ctrl+C) for "USE JOURNAL?" question

% truncate -s1g /tmp/test.img

% mdconfig -a -t vnode -f /tmp/test.img
md0

% newfs -j /dev/md0

% fsck_ufs /dev/md0
** /dev/md0

USE JOURNAL? [yn] ^CSegmentation fault (core dumped)

>Fix:
sorry

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list