0 padding

ファイル削除すると、ext2だと行わず、ext3などのジャーナルファイルシステムだと行うそうだ。inodeはext2_fs_i.h、Directoryはext2_fs.h。ext3では、ext3_fs_i.hとext3_fs.h。これ、kernel2.4の場合。kernel 2.6.20.3だと、ext2_fs{,_i}.hがなくて、ext4_fs{,_i}.hが代わりにあった。へぇ。

0で埋めるなんて、Linuxカーネル2.6解読室にも詳解Linuxカーネル第2版 1 にも書いてないなぁ。フォレンジックスを業務でやってないとそんなの普通は知らないのでは? 2

この処理のことかな。

fs/ext3/inode.c

void ext3_delete_inode (struct inode * inode)
{
        handle_t *handle;

        truncate_inode_pages(&inode->i_data, 0);
~中略~
        inode->i_size = 0;
~中略~
        if (ext3_mark_inode_dirty(handle, inode))
                /* If that failed, just do the required in-core inode clear. */
                clear_inode(inode);
        else
                ext3_free_inode(handle, inode);
        ext3_journal_stop(handle);
        return;
no_delete:
        clear_inode(inode);     /* We must guarantee clearing of inode... */
}

Linuxカーネル2.6解読室

詳解 Linuxカーネル 第3版

1

第3版には載ってるのかなぁ?

2

上川さんや平さんは知ってそうだなぁ…。