ecryptfs team mailing list archive
-
ecryptfs team
-
Mailing list archive
-
Message #01283
[Bug 387073] Re: BUG: unable to handle kernel NULL pointer dereference at 0000000000000228
Had a bit of time to look into this, hope this helps:
BUG: unable to handle kernel NULL pointer dereference at 0000000000000220
IP: [<ffffffff8112efd0>] touch_atime+0x20/0x150
ffffffff8102efb0 <touch_atime>:
ffffffff8112efb0: 55 push %rbp
ffffffff8112efb1: 48 89 e5 mov %rsp,%rbp
ffffffff8112efb4: 48 83 ec 30 sub $0x30,%rsp
ffffffff8112efb8: 48 89 5d f0 mov %rbx,-0x10(%rbp)
ffffffff8112efbc: 4c 89 65 f8 mov %r12,-0x8(%rbp)
ffffffff8112efc0: 48 89 fb mov %rdi,%rbx
ffffffff8112efc3: 4c 8b 66 10 mov 0x10(%rsi),%r12
ffffffff8112efc7: e8 94 36 00 00 callq 0xffffffff81132660
ffffffff8112efcc: 85 c0 test %eax,%eax
ffffffff8112efce: 75 13 jne 0xffffffff8112efe3
ffffffff8112efd0: 41 f6 84 24 20 02 00 testb $0x2,0x220(%r12)
>From looking at the oops log, r12 is indeed 0. Referring to source of
touch_atime:
void touch_atime(struct vfsmount *mnt, struct dentry *dentry)
{
struct inode *inode = dentry->d_inode;
struct timespec now;
if (mnt_want_write(mnt))
return;
if (inode->i_flags & S_NOATIME)
goto out;
We're oopsing on the ionode->i_flags dereference, so dentry->d_inode is NULL. I think it's safe to assume that this function should not be called on a negative dentry.
>From a brief look at ecryptfs_read_update_atime, it seems that there is
no reference on the "lower" dentry when it's added to d_fsdata, so
perhaps we need a check for lower_dentry != NULL around that call to
touch_atime. I'm not entirely sure that this is the correct solution,
but we shouldn't be updating dentries for files that have been removed.
--
BUG: unable to handle kernel NULL pointer dereference at 0000000000000228
https://bugs.launchpad.net/bugs/387073
You received this bug notification because you are a member of eCryptfs,
which is subscribed to ecryptfs-utils in ubuntu.
Status in eCryptfs - Enterprise Cryptographic Filesystem: In Progress
Status in “ecryptfs-utils” package in Ubuntu: Confirmed
Status in “linux” package in Ubuntu: Confirmed
Bug description:
Hi
My home is on ecryptfs; this crash occurs when viewing emails with Mutt's built-in viewer. Mutt's tmpdir points to my home, if I set it to e.g. /tmp, the bug doesn't occur as it's not on ecryptfs.
Bye
ProblemType: KernelOops
Annotation: Your system might become unstable now and might need to be restarted.
Architecture: amd64
Date: Sun Jun 14 23:24:31 2009
DistroRelease: Ubuntu 9.10
Failure: oops
MachineType: LENOVO 2777CTO
Package: linux-image-2.6.30-9-generic 2.6.30-9.10
ProcCmdLine: root=/dev/mapper/hostname--vg0-ubuntu--root ro quiet splash text
ProcVersionSignature: Ubuntu 2.6.30-9.10-generic
RelatedPackageVersions:
SourcePackage: linux
Tags: kernel-oops
Title: BUG: unable to handle kernel NULL pointer dereference at 0000000000000228
Uname: Linux 2.6.30-9-generic x86_64
dmi.bios.date: 03/12/2009
dmi.bios.vendor: LENOVO
dmi.bios.version: 6EET27WW (1.08 )
dmi.board.name: 2777CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6EET27WW(1.08):bd03/12/2009:svnLENOVO:pn2777CTO:pvrThinkPadX301:rvnLENOVO:rn2777CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 2777CTO
dmi.product.version: ThinkPad X301
dmi.sys.vendor: LENOVO