Hi, It seems that ioctl_by_bdev() in fs/block_dev.c has a problem. When initrd is unmounted it can cause OOPS. This problem occurs in recent ac patches. May be vanilla too. change_root() in fs/super.c calls ioctl_by_bdev() in fs/block_dev.c which does not set inode_fake.i_bdev. But ioctl of ramdisk (rd_ioctl() in rd.c) accesses to i_bdev->bd_openers of the inode and which causes OOPS. I attach the patch. - GO!