CRASH Undefined opcode ARM

Bug #1088397 reported by Bill Roberts
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eCryptfs
Invalid
High
Tyler Hicks

Bug Description

I am running ecryptFS on android trying to create a new encryption directory. I am getting an undefined instruction exception.

Before it throws the exception I see allot of these in the kernel logs:

<7>[ 892.490004] Valid eCryptfs headers not found in file header region or xattr region, inode 1099238008

I am currently trying to debug this to find the exact cause, the details of my setup are below:

This is running on Android Kernel Version:
Linux version 3.0.31 (wroberts@ak47) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT

Mount:
/data/encrypted /mydir ecryptfs rw,nodev,relatime,ecryptfs_sig=f629d6604724367d,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filtering,ecryptfs_passthrough 0 0

Kernel OOPS:

<6>[ 558.744788] flush-ecryptfs- (3516): undefined instruction: pc=c02d8d28
<6>[ 558.744880] Code: e2864f79 e59631e4 e3130004 1a000000 (e7f001f2)
<0>[ 558.745032] [0:flush-ecryptfs-: 3516] ------------[ cut here ]------------
<2>[ 558.745124] [0:flush-ecryptfs-: 3516] kernel BUG at /home/wroberts/android/kernel/fs/ecryptfs/crypto.c:464!
<0>[ 558.745276] [0:flush-ecryptfs-: 3516] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
<4>[ 558.745368] [0:flush-ecryptfs-: 3516] Modules linked in: vpnclient btlock
<4>[ 558.745490] [0:flush-ecryptfs-: 3516] CPU: 0 Tainted: G W (3.0.31-671015-eng #1)
<4>[ 558.745582] [0:flush-ecryptfs-: 3516] PC is at ecryptfs_encrypt_page+0x30/0x390
<4>[ 558.745704] [0:flush-ecryptfs-: 3516] LR is at ecryptfs_writepage+0x3c/0x8c
<4>[ 558.745795] [0:flush-ecryptfs-: 3516] pc : [<c02d8d28>] lr : [<c02d7a48>] psr: 40000013
<4>[ 558.745856] [0:flush-ecryptfs-: 3516] sp : def7bce8 ip : c01e71a0 fp : ffffffff
<4>[ 558.745948] [0:flush-ecryptfs-: 3516] r10: 00000000 r9 : dfaf9d58 r8 : c1ee0508
<4>[ 558.746039] [0:flush-ecryptfs-: 3516] r7 : 00000000 r6 : df56ea40 r5 : df56eb3c r4 : df56ec24
<4>[ 558.746161] [0:flush-ecryptfs-: 3516] r3 : 00000003 r2 : def7bd70 r1 : def7bef0 r0 : c1ee0508
<4>[ 558.746284] [0:flush-ecryptfs-: 3516] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
<4>[ 558.746406] [0:flush-ecryptfs-: 3516] Control: 10c5787d Table: a812c06a DAC: 00000015
<4>[ 558.746497] [0:flush-ecryptfs-: 3516]
<4>[ 558.746528] [0:flush-ecryptfs-: 3516] PC: 0xc02d8ca8:
<4>[ 558.746619] [0:flush-ecryptfs-: 3516] 8ca8 ea000003 e3560000 e0855004 15834008 e3a04000 e2800001 e2833010 e1500007
<4>[ 558.746802] [0:flush-ecryptfs-: 3516] 8cc8 a3a02000 b3a02001 e3540000 d3a02000 e3520000 1affffcb e3540000 c3e0000b
<4>[ 558.747016] [0:flush-ecryptfs-: 3516] 8ce8 e8bd8ff8 c0d086d8 c0d086dc c0dd88c0 e59f334c e92d4ff0 e24dd064 e5933000
<4>[ 558.747199] [0:flush-ecryptfs-: 3516] 8d08 e1a08000 e58d305c e5903010 e5936000 e2864f79 e59631e4 e3130004 1a000000
<4>[ 558.747413] [0:flush-ecryptfs-: 3516] 8d28 e7f001f2 e3a01000 e59f0318 e59f2318 e1a03001 ebfc32c9 e2509000 1a000004
<4>[ 558.747596] [0:flush-ecryptfs-: 3516] 8d48 e59f0308 e3e0500b e59f1304 ebfff6e6 ea0000a7 ebf8e357 e3a0a000 e3a0b000
<4>[ 558.747779] [0:flush-ecryptfs-: 3516] 8d68 e58d001c ea000094 e59da010 e3a02000 e58d200c e5981014 e58da008 e1a0b00a
<4>[ 558.747962] [0:flush-ecryptfs-: 3516] 8d88 e1cd20d8 e0a32190 e28d004c e1a01004 e1cd20f8 ebfffecd e2505000 0a000005
<4>[ 558.748145] [0:flush-ecryptfs-: 3516]
<4>[ 558.748206] [0:flush-ecryptfs-: 3516] LR: 0xc02d79c8:
<4>[ 558.748267] [0:flush-ecryptfs-: 3516] 79c8 e3a00003 e1a01004 eb02ebea e3a05000 e59f1018 e5942014 e59f0020 ebfffbc2
<4>[ 558.748451] [0:flush-ecryptfs-: 3516] 79e8 e1a00004 ebfc20c8 e1a00005 e8bd803e c082e560 c0a19310 c0a1944b c0a1946d
<4>[ 558.748634] [0:flush-ecryptfs-: 3516] 7a08 c0a19496 e92d4038 e1a0200d e3c23d7f e1a04000 e3c3303f e593300c e593300c
<4>[ 558.748817] [0:flush-ecryptfs-: 3516] 7a28 e3130b02 0a000004 e1a00001 e1a01004 ebfc4054 e3a05000 ea00000e eb0004ab
<4>[ 558.749030] [0:flush-ecryptfs-: 3516] 7a48 e2505000 0a000007 e59f0038 e59f1038 e5942014 ebfffba4 e3a00003 e1a01004
<4>[ 558.749214] [0:flush-ecryptfs-: 3516] 7a68 eb02e219 ea000003 f57ff05f e3a00003 e1a01004 eb02ebbf e1a00004 ebfc20a2
<4>[ 558.749427] [0:flush-ecryptfs-: 3516] 7a88 e1a00005 e8bd8038 c0a194c5 c082e572 e92d4010 e1a01002 e59000f8 e5903064
<4>[ 558.749610] [0:flush-ecryptfs-: 3516] 7aa8 e5932004 e3a03000 ebfc231e e3700a01 e1a04000 8a00000a e59f002c e300114b
<4>[ 558.749824] [0:flush-ecryptfs-: 3516]
<4>[ 558.749885] [0:flush-ecryptfs-: 3516] SP: 0xdef7bc68:
<4>[ 558.749946] [0:flush-ecryptfs-: 3516] bc68 def7bd70 00000003 df56ec24 df56eb3c df56ea40 00000000 c1ee0508 dfaf9d58
<4>[ 558.750129] [0:flush-ecryptfs-: 3516] bc88 00000000 ffffffff c01e71a0 def7bce8 c02d7a48 c02d8d28 40000013 ffffffff
<4>[ 558.750343] [0:flush-ecryptfs-: 3516] bca8 aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa
<4>[ 558.750556] [0:flush-ecryptfs-: 3516] bcc8 aaaaaaaa aaaaaaaa def7bcf0 def7bcf0 e0def534 8f200000 def7bd34 de49eef0
<4>[ 558.750740] [0:flush-ecryptfs-: 3516] bce8 00000001 c039799c def7bd34 def7bd34 00000000 de49eef0 de49eec8 c1ee0508
<4>[ 558.750923] [0:flush-ecryptfs-: 3516] bd08 df56eb70 c0807a84 00000000 c1ee0508 00000001 c0203a18 df56ebac c1ee0508
<4>[ 558.751106] [0:flush-ecryptfs-: 3516] bd28 00000001 c1ee0508 df56eb3c def7a000 00000010 c1ee0508 df56eb3c 271aed03
<4>[ 558.751289] [0:flush-ecryptfs-: 3516] bd48 00000010 c1ee0508 df56eb3c def7a000 00000000 df56eb3c dfaf9d58 00000000
<4>[ 558.751472] [0:flush-ecryptfs-: 3516]
<4>[ 558.751533] [0:flush-ecryptfs-: 3516] IP: 0xc01e7120:
<4>[ 558.751594] [0:flush-ecryptfs-: 3516] 7120 eb187cb7 e15a0009 9a000002 e59d300c e3530000 1affffdd e8bd87ff c0dd3470
<4>[ 558.751777] [0:flush-ecryptfs-: 3516] 7140 c0a04b3d e3510064 e92d4038 e1a04000 e1a05001 83e04015 8a00000d e59f0038
<4>[ 558.751960] [0:flush-ecryptfs-: 3516] 7160 eb18873f e59430b4 e1530005 83e04015 8a000005 e58450b8 e1a00385 e3a01064
<4>[ 558.752143] [0:flush-ecryptfs-: 3516] 7180 eb06ab11 e58400bc e3a04000 e59f0008 eb18870c e1a00004 e8bd8038 c0c74080
<4>[ 558.752357] [0:flush-ecryptfs-: 3516] 71a0 e92d4038 e1a05002 e5923064 e5933000 e12fff33 e2504000 0a000004 e374001c
<4>[ 558.752540] [0:flush-ecryptfs-: 3516] 71c0 e2851068 03a00018 13a00017 eb06adeb e1a00004 e8bd8038 e92d4038 e1a04000
<4>[ 558.752754] [0:flush-ecryptfs-: 3516] 71e0 e5902000 e5902000 e5903010 e3120902 1a000002 e3130001 1a00000f ea000001
<4>[ 558.752937] [0:flush-ecryptfs-: 3516] 7200 e59f3060 ea000001 e3530000 0a00000a e5933064 e3a00011 e1a01004 e593500c
<4>[ 558.753151] [0:flush-ecryptfs-: 3516]
<4>[ 558.753181] [0:flush-ecryptfs-: 3516] R0: 0xc1ee0488:
<4>[ 558.753242] [0:flush-ecryptfs-: 3516] 0488 def71181 0000039e c1ee04b4 c1ee046c 00000000 d4040068 00000001 00000000
<4>[ 558.753456] [0:flush-ecryptfs-: 3516] 04a8 00000000 def29881 0000001f c1edfe84 c1ee0490 00000000 d400002c 00000001
<4>[ 558.753639] [0:flush-ecryptfs-: 3516] 04c8 ffffffff 00000000 df56ee7c 00000000 c1ee04fc c1ee034c 00000000 d400002c
<4>[ 558.753853] [0:flush-ecryptfs-: 3516] 04e8 00000001 ffffffff 00000000 df56f1bc 00000000 c1ee0304 c1ee04d8 00000000
<4>[ 558.754036] [0:flush-ecryptfs-: 3516] 0508 d400006d 00000003 00000000 00000000 df56eb3c 00000000 c19b66b4 c19fbea0
<4>[ 558.754219] [0:flush-ecryptfs-: 3516] 0528 00000000 d400002c 00000001 ffffffff 00000000 df56eb3c 00000001 c1ee0400
<4>[ 558.754402] [0:flush-ecryptfs-: 3516] 0548 c1ee0568 00000000 d4000028 00000001 ffffffff 00000000 e02c433c 00000001
<4>[ 558.754585] [0:flush-ecryptfs-: 3516] 0568 c1ee0544 c1ee058c 00000000 d4000028 00000001 ffffffff 00000000 df2b9c14
<4>[ 558.754768] [0:flush-ecryptfs-: 3516]
<4>[ 558.754799] [0:flush-ecryptfs-: 3516] R1: 0xdef7be70:
<4>[ 558.754890] [0:flush-ecryptfs-: 3516] be70 dfaf9e70 dfaf9e68 df56ea40 c0236c08 dfc32800 dfc32800 def7bef0 dfc32800
<4>[ 558.755073] [0:flush-ecryptfs-: 3516] be90 dfaf9e18 def7bef0 dfaf9e68 df56f464 dfaf9d58 dfc32840 00000000 c0237614
<4>[ 558.755257] [0:flush-ecryptfs-: 3516] beb0 c0ceb024 dfaf9e18 def7bf5c def7a000 00000000 dfaf9e18 00000400 c02378d4
<4>[ 558.755440] [0:flush-ecryptfs-: 3516] bed0 00000002 00000000 fffffffe c080b46c ffffffff 0000644c 00000002 c0c317bc
<4>[ 558.755653] [0:flush-ecryptfs-: 3516] bef0 00000000 def7bee4 00006514 00000400 00000000 00000000 00000000 00000000
<4>[ 558.755836] [0:flush-ecryptfs-: 3516] bf10 00000000 00000000 00000044 00000000 00000201 00000000 dfaf9e18 00004b53
<4>[ 558.756050] [0:flush-ecryptfs-: 3516] bf30 dfaf9e78 dfaf9e18 00000000 dfaf9d58 00000000 c0237c80 aaaaaaaa 00000000
<4>[ 558.756233] [0:flush-ecryptfs-: 3516] bf50 aaaaaaaa aaaaaaaa aaaaaaaa 00004b53 00000000 00000000 00000006 00000000
<4>[ 558.756447] [0:flush-ecryptfs-: 3516]
<4>[ 558.756477] [0:flush-ecryptfs-: 3516] R2: 0xdef7bcf0:
<4>[ 558.756569] [0:flush-ecryptfs-: 3516] bcf0 def7bd34 def7bd34 00000000 de49eef0 de49eec8 c1ee0508 df56eb70 c0807a84
<4>[ 558.756752] [0:flush-ecryptfs-: 3516] bd10 00000000 c1ee0508 00000001 c0203a18 df56ebac c1ee0508 00000001 c1ee0508
<4>[ 558.756935] [0:flush-ecryptfs-: 3516] bd30 df56eb3c def7a000 00000010 c1ee0508 df56eb3c 271aed03 00000010 c1ee0508
<4>[ 558.757118] [0:flush-ecryptfs-: 3516] bd50 df56eb3c def7a000 00000000 df56eb3c dfaf9d58 00000000 ffffffff c02d7a48
<4>[ 558.757301] [0:flush-ecryptfs-: 3516] bd70 c02d7a0c def7bef0 df56eb3c c01e71b4 00000000 def7bef0 c1ee0508 c01e7760
<4>[ 558.757515] [0:flush-ecryptfs-: 3516] bd90 0000000e aaaaaaaa aaaaaaaa df56eb3c 00000000 00000000 00000002 00000000
<4>[ 558.757698] [0:flush-ecryptfs-: 3516] bdb0 def7bdd8 00000001 c01e71a0 df56eb3c 00000000 aaaaaaaa aaaaaaaa 00000008
<4>[ 558.757881] [0:flush-ecryptfs-: 3516] bdd0 00000002 00000000 c1ee0508 c1ee07b4 aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa
<4>[ 558.758064] [0:flush-ecryptfs-: 3516]
<4>[ 558.758095] [0:flush-ecryptfs-: 3516] R4: 0xdf56eba4:
<4>[ 558.758156] [0:flush-ecryptfs-: 3516] eba4 000200da dfaf9d58 00030003 dead4ead ffffffff ffffffff df56ebbc df56ebbc
<4>[ 558.758370] [0:flush-ecryptfs-: 3516] ebc4 00000000 df56ebc8 df56ebc8 00000000 00000000 00000000 00000000 00000001
<4>[ 558.758553] [0:flush-ecryptfs-: 3516] ebe4 ffffffff ffffffff 00000000 e02c4240 00000001 000c000c dead4ead ffffffff
<4>[ 558.758766] [0:flush-ecryptfs-: 3516] ec04 ffffffff df56ec08 df56ec08 00000000 aaaaaaaa df56ebf4 00000001 dee8d240
<4>[ 558.758950] [0:flush-ecryptfs-: 3516] ec24 00000003 00000000 00000010 00002000 00001000 00000000 0000000c fffff000
<4>[ 558.759133] [0:flush-ecryptfs-: 3516] ec44 dfaf8004 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.759346] [0:flush-ecryptfs-: 3516] ec64 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.759529] [0:flush-ecryptfs-: 3516] ec84 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.759743] [0:flush-ecryptfs-: 3516]
<4>[ 558.759774] [0:flush-ecryptfs-: 3516] R5: 0xdf56eabc:
<4>[ 558.759865] [0:flush-ecryptfs-: 3516] eabc df2e03e4 df2e03e4 4183ada8 00000002 00000001 00000000 0000000c 00000001
<4>[ 558.760048] [0:flush-ecryptfs-: 3516] eadc 00000000 0001d4e0 00000000 00000006 4effa4ad 00000000 4effa6e5 2a964065
<4>[ 558.760231] [0:flush-ecryptfs-: 3516] eafc 4effa6e5 2a964065 00000000 00000008 00000000 00000000 00000000 00040004
<4>[ 558.760415] [0:flush-ecryptfs-: 3516] eb1c dead4ead ffffffff ffffffff df56eb28 df56eb28 c082e048 00000000 df56eb3c
<4>[ 558.760598] [0:flush-ecryptfs-: 3516] eb3c df56ea40 00000001 00800020 df2e1131 00230023 dead4ead ffffffff ffffffff
<4>[ 558.760781] [0:flush-ecryptfs-: 3516] eb5c 00000001 de49eef0 00010005 df56eb68 df56eb68 00000001 00040004 dead4ead
<4>[ 558.760964] [0:flush-ecryptfs-: 3516] eb7c ffffffff ffffffff df56eb84 df56eb84 00000000 00000000 df56eb70 0000001e
<4>[ 558.761147] [0:flush-ecryptfs-: 3516] eb9c 00000000 c082e5bc 000200da dfaf9d58 00030003 dead4ead ffffffff ffffffff
<4>[ 558.761330] [0:flush-ecryptfs-: 3516]
<4>[ 558.761391] [0:flush-ecryptfs-: 3516] R6: 0xdf56e9c0:
<4>[ 558.761452] [0:flush-ecryptfs-: 3516] e9c0 ffffffff df56e9c4 df56e9c4 00000000 00000000 df56e9b0 00000001 00000000
<4>[ 558.761666] [0:flush-ecryptfs-: 3516] e9e0 dead4ead ffffffff ffffffff df56e9ec df56e9ec 00000000 00000000 df56e9d8
<4>[ 558.761849] [0:flush-ecryptfs-: 3516] ea00 00000001 00040004 dead4ead ffffffff ffffffff df56ea14 df56ea14 00000000
<4>[ 558.762063] [0:flush-ecryptfs-: 3516] ea20 00000000 df56ea00 df56ea40 aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa
<4>[ 558.762246] [0:flush-ecryptfs-: 3516] ea40 000081b4 00000000 000003f7 c082e280 dfc32800 00090009 dead4ead ffffffff
<4>[ 558.762459] [0:flush-ecryptfs-: 3516] ea60 ffffffff 00000082 00000081 df51b7c0 00000001 00100010 dead4ead ffffffff
<4>[ 558.762642] [0:flush-ecryptfs-: 3516] ea80 ffffffff df56ea84 df56ea84 00000000 00000000 df56ea70 00006320 00000000
<4>[ 558.762856] [0:flush-ecryptfs-: 3516] eaa0 c3052174 dfaf9e68 ddd10064 df56eaac df56eaac df56edf4 ddd10074 df2e03e4
<4>[ 558.763039] [0:flush-ecryptfs-: 3516]
<4>[ 558.763100] [0:flush-ecryptfs-: 3516] R8: 0xc1ee0488:
<4>[ 558.763161] [0:flush-ecryptfs-: 3516] 0488 def71181 0000039e c1ee04b4 c1ee046c 00000000 d4040068 00000001 00000000
<4>[ 558.763344] [0:flush-ecryptfs-: 3516] 04a8 00000000 def29881 0000001f c1edfe84 c1ee0490 00000000 d400002c 00000001
<4>[ 558.763528] [0:flush-ecryptfs-: 3516] 04c8 ffffffff 00000000 df56ee7c 00000000 c1ee04fc c1ee034c 00000000 d400002c
<4>[ 558.763711] [0:flush-ecryptfs-: 3516] 04e8 00000001 ffffffff 00000000 df56f1bc 00000000 c1ee0304 c1ee04d8 00000000
<4>[ 558.763894] [0:flush-ecryptfs-: 3516] 0508 d400006d 00000003 00000000 00000000 df56eb3c 00000000 c19b66b4 c19fbea0
<4>[ 558.764077] [0:flush-ecryptfs-: 3516] 0528 00000000 d400002c 00000001 ffffffff 00000000 df56eb3c 00000001 c1ee0400
<4>[ 558.764260] [0:flush-ecryptfs-: 3516] 0548 c1ee0568 00000000 d4000028 00000001 ffffffff 00000000 e02c433c 00000001
<4>[ 558.764443] [0:flush-ecryptfs-: 3516] 0568 c1ee0544 c1ee058c 00000000 d4000028 00000001 ffffffff 00000000 df2b9c14
<4>[ 558.764657] [0:flush-ecryptfs-: 3516]
<4>[ 558.764687] [0:flush-ecryptfs-: 3516] R9: 0xdfaf9cd8:
<4>[ 558.764748] [0:flush-ecryptfs-: 3516] 9cd8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.764962] [0:flush-ecryptfs-: 3516] 9cf8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.765145] [0:flush-ecryptfs-: 3516] 9d18 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.765328] [0:flush-ecryptfs-: 3516] 9d38 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
<4>[ 558.765542] [0:flush-ecryptfs-: 3516] 9d58 c0c74090 dfc41d58 00000000 00000030 00000004 00000000 00000000 c0a19577
<4>[ 558.765725] [0:flush-ecryptfs-: 3516] 9d78 00020002 dead4ead ffffffff ffffffff 00000002 00000000 dfc41de0 dfaf9db8
<4>[ 558.765939] [0:flush-ecryptfs-: 3516] 9d98 fb09b860 00000000 00020002 dead4ead ffffffff ffffffff 00000000 00000000
<4>[ 558.766122] [0:flush-ecryptfs-: 3516] 9db8 dfaf9d90 dfaf9de0 fb09b864 00000000 00020002 dead4ead ffffffff ffffffff
<0>[ 558.766335] [0:flush-ecryptfs-: 3516] Process flush-ecryptfs- (pid: 3516, stack limit = 0xdef7a2f0)
<0>[ 558.766427] [0:flush-ecryptfs-: 3516] Stack: (0xdef7bce8 to 0xdef7c000)
<0>[ 558.766519] [0:flush-ecryptfs-: 3516] bce0: 00000001 c039799c def7bd34 def7bd34 00000000 de49eef0
<0>[ 558.766641] [0:flush-ecryptfs-: 3516] bd00: de49eec8 c1ee0508 df56eb70 c0807a84 00000000 c1ee0508 00000001 c0203a18
<0>[ 558.766763] [0:flush-ecryptfs-: 3516] bd20: df56ebac c1ee0508 00000001 c1ee0508 df56eb3c def7a000 00000010 c1ee0508
<0>[ 558.766885] [0:flush-ecryptfs-: 3516] bd40: df56eb3c 271aed03 00000010 c1ee0508 df56eb3c def7a000 00000000 df56eb3c
<0>[ 558.767007] [0:flush-ecryptfs-: 3516] bd60: dfaf9d58 00000000 ffffffff c02d7a48 c02d7a0c def7bef0 df56eb3c c01e71b4
<0>[ 558.767129] [0:flush-ecryptfs-: 3516] bd80: 00000000 def7bef0 c1ee0508 c01e7760 0000000e aaaaaaaa aaaaaaaa df56eb3c
<0>[ 558.767251] [0:flush-ecryptfs-: 3516] bda0: 00000000 00000000 00000002 00000000 def7bdd8 00000001 c01e71a0 df56eb3c
<0>[ 558.767404] [0:flush-ecryptfs-: 3516] bdc0: 00000000 aaaaaaaa aaaaaaaa 00000008 00000002 00000000 c1ee0508 c1ee07b4
<0>[ 558.767526] [0:flush-ecryptfs-: 3516] bde0: aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa aaaaaaaa
<0>[ 558.767678] [0:flush-ecryptfs-: 3516] be00: def7be00 def7be00 def7be08 def7be08 aaaaaaaa df56eb3c def7bef0 def7bef0
<0>[ 558.767800] [0:flush-ecryptfs-: 3516] be20: df56ea54 df56eb3c df56ea54 df56ea40 00000000 c01e78bc 91827364 def7be3c
<0>[ 558.767953] [0:flush-ecryptfs-: 3516] be40: def7be3c def7be44 def7be44 00000000 dfaf9e18 df56ea40 dfaf9e18 c0236858
<0>[ 558.768075] [0:flush-ecryptfs-: 3516] be60: df56eac8 def7bef0 dfaf9e18 00000000 dfaf9e70 dfaf9e68 df56ea40 c0236c08
<0>[ 558.768228] [0:flush-ecryptfs-: 3516] be80: dfc32800 dfc32800 def7bef0 dfc32800 dfaf9e18 def7bef0 dfaf9e68 df56f464
<0>[ 558.768350] [0:flush-ecryptfs-: 3516] bea0: dfaf9d58 dfc32840 00000000 c0237614 c0ceb024 dfaf9e18 def7bf5c def7a000
<0>[ 558.768472] [0:flush-ecryptfs-: 3516] bec0: 00000000 dfaf9e18 00000400 c02378d4 00000002 00000000 fffffffe c080b46c
<0>[ 558.768624] [0:flush-ecryptfs-: 3516] bee0: ffffffff 0000644c 00000002 c0c317bc 00000000 def7bee4 00006514 00000400
<0>[ 558.768716] [0:flush-ecryptfs-: 3516] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 00000044 00000000
<0>[ 558.768838] [0:flush-ecryptfs-: 3516] bf20: 00000201 00000000 dfaf9e18 00004b53 dfaf9e78 dfaf9e18 00000000 dfaf9d58
<0>[ 558.768960] [0:flush-ecryptfs-: 3516] bf40: 00000000 c0237c80 aaaaaaaa 00000000 aaaaaaaa aaaaaaaa aaaaaaaa 00004b53
<0>[ 558.769082] [0:flush-ecryptfs-: 3516] bf60: 00000000 00000000 00000006 00000000 00000000 00000000 00000000 dfaf9e18
<0>[ 558.769204] [0:flush-ecryptfs-: 3516] bf80: def7a000 dfaf9d58 00000000 00000000 00000000 00000000 00000000 c0237e04
<0>[ 558.769326] [0:flush-ecryptfs-: 3516] bfa0: e4505f0c dfaf9e18 c0237d1c 00000013 00000000 00000000 00000000 c01905b8
<0>[ 558.769449] [0:flush-ecryptfs-: 3516] bfc0: e4505f0c 00000000 dfaf9e18 00000000 00000000 dead4ead ffffffff ffffffff
<0>[ 558.769571] [0:flush-ecryptfs-: 3516] bfe0: def7bfe0 def7bfe0 e4505f0c c019053c c01064fc c01064fc aaaaaaaa aaaaaaaa
<4>[ 558.769754] [0:flush-ecryptfs-: 3516] [<c02d8d28>] (ecryptfs_encrypt_page+0x30/0x390) from [<c02d7a48>] (ecryptfs_writepage+0x3c/0x8c)
<4>[ 558.769906] [0:flush-ecryptfs-: 3516] [<c02d7a48>] (ecryptfs_writepage+0x3c/0x8c) from [<c01e71b4>] (__writepage+0x14/0x38)
<4>[ 558.770059] [0:flush-ecryptfs-: 3516] [<c01e71b4>] (__writepage+0x14/0x38) from [<c01e7760>] (write_cache_pages+0x2e0/0x3fc)
<4>[ 558.770212] [0:flush-ecryptfs-: 3516] [<c01e7760>] (write_cache_pages+0x2e0/0x3fc) from [<c01e78bc>] (generic_writepages+0x40/0x5c)
<4>[ 558.770395] [0:flush-ecryptfs-: 3516] [<c01e78bc>] (generic_writepages+0x40/0x5c) from [<c0236858>] (writeback_single_inode+0xe0/0x248)
<4>[ 558.770547] [0:flush-ecryptfs-: 3516] [<c0236858>] (writeback_single_inode+0xe0/0x248) from [<c0236c08>] (writeback_sb_inodes+0xc8/0x164)
<4>[ 558.770730] [0:flush-ecryptfs-: 3516] [<c0236c08>] (writeback_sb_inodes+0xc8/0x164) from [<c0237614>] (writeback_inodes_wb+0x108/0x12c)
<4>[ 558.770883] [0:flush-ecryptfs-: 3516] [<c0237614>] (writeback_inodes_wb+0x108/0x12c) from [<c02378d4>] (wb_writeback+0x29c/0x480)
<4>[ 558.771005] [0:flush-ecryptfs-: 3516] [<c02378d4>] (wb_writeback+0x29c/0x480) from [<c0237c80>] (wb_do_writeback+0x1c8/0x264)
<4>[ 558.771158] [0:flush-ecryptfs-: 3516] [<c0237c80>] (wb_do_writeback+0x1c8/0x264) from [<c0237e04>] (bdi_writeback_thread+0xe8/0x2f4)
<4>[ 558.771310] [0:flush-ecryptfs-: 3516] [<c0237e04>] (bdi_writeback_thread+0xe8/0x2f4) from [<c01905b8>] (kthread+0x7c/0x84)
<4>[ 558.771463] [0:flush-ecryptfs-: 3516] [<c01905b8>] (kthread+0x7c/0x84) from [<c01064fc>] (kernel_thread_exit+0x0/0x8)
<0>[ 558.771585] [0:flush-ecryptfs-: 3516] Code: e2864f79 e59631e4 e3130004 1a000000 (e7f001f2)

Revision history for this message
Bill Roberts (bill-c-roberts) wrote :

After reviewing the code around crypto.c:464

We can see their is a BUG_ON right below the line that is printed.

I found this patch, where the author claims that on arm this "assertion" comes back through the undefined instruction vector.

http://lists.infradead.org/pipermail/linux-arm-kernel/2012-January/080576.html

Revision history for this message
Tyler Hicks (tyhicks) wrote :

Thanks for the bug report, Bill.

I've fixed the "Valid eCryptfs headers not found ..." part of this bug in newer kernels and can refer you to those patches, but I've not seen the BUG_ON() at crypto.c:464 ever triggered before.

Can you give me any hints on how to reproduce this?

Changed in ecryptfs:
importance: Undecided → High
assignee: nobody → Tyler Hicks (tyhicks)
status: New → Incomplete
Revision history for this message
Bill Roberts (bill-c-roberts) wrote : Re: [Bug 1088397] Re: CRASH Undefined opcode ARM
Download full text (21.9 KiB)

1. Mount and use ecryptfs. lower fs is ext4
2. Reboot system
3. mount ecrypt fs with wrong key
4. Try to access old file

We had pass thru set... but this happens with that option not specified.

Since the key is wrong open sets cryp flags back to not encrypted. But
somehow later that I node makes it to encrypt page where the assert fails.
On Dec 14, 2012 8:55 AM, "Tyler Hicks" <email address hidden> wrote:

> Thanks for the bug report, Bill.
>
> I've fixed the "Valid eCryptfs headers not found ..." part of this bug
> in newer kernels and can refer you to those patches, but I've not seen
> the BUG_ON() at crypto.c:464 ever triggered before.
>
> Can you give me any hints on how to reproduce this?
>
> ** Changed in: ecryptfs
> Importance: Undecided => High
>
> ** Changed in: ecryptfs
> Assignee: (unassigned) => Tyler Hicks (tyhicks)
>
> ** Changed in: ecryptfs
> Status: New => Incomplete
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1088397
>
> Title:
> CRASH Undefined opcode ARM
>
> Status in eCryptfs:
> Incomplete
>
> Bug description:
> I am running ecryptFS on android trying to create a new encryption
> directory. I am getting an undefined instruction exception.
>
> Before it throws the exception I see allot of these in the kernel
> logs:
>
> <7>[ 892.490004] Valid eCryptfs headers not found in file header
> region or xattr region, inode 1099238008
>
> I am currently trying to debug this to find the exact cause, the
> details of my setup are below:
>
> This is running on Android Kernel Version:
> Linux version 3.0.31 (wroberts@ak47) (gcc version 4.6.x-google 20120106
> (prerelease) (GCC) ) #1 SMP PREEMPT
>
> Mount:
> /data/encrypted /mydir ecryptfs
> rw,nodev,relatime,ecryptfs_sig=f629d6604724367d,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filtering,ecryptfs_passthrough
> 0 0
>
> Kernel OOPS:
>
> <6>[ 558.744788] flush-ecryptfs- (3516): undefined instruction:
> pc=c02d8d28
> <6>[ 558.744880] Code: e2864f79 e59631e4 e3130004 1a000000 (e7f001f2)
> <0>[ 558.745032] [0:flush-ecryptfs-: 3516] ------------[ cut here
> ]------------
> <2>[ 558.745124] [0:flush-ecryptfs-: 3516] kernel BUG at
> /home/wroberts/android/kernel/fs/ecryptfs/crypto.c:464!
> <0>[ 558.745276] [0:flush-ecryptfs-: 3516] Internal error: Oops - BUG:
> 0 [#1] PREEMPT SMP
> <4>[ 558.745368] [0:flush-ecryptfs-: 3516] Modules linked in: vpnclient
> btlock
> <4>[ 558.745490] [0:flush-ecryptfs-: 3516] CPU: 0 Tainted: G
> W (3.0.31-671015-eng #1)
> <4>[ 558.745582] [0:flush-ecryptfs-: 3516] PC is at
> ecryptfs_encrypt_page+0x30/0x390
> <4>[ 558.745704] [0:flush-ecryptfs-: 3516] LR is at
> ecryptfs_writepage+0x3c/0x8c
> <4>[ 558.745795] [0:flush-ecryptfs-: 3516] pc : [<c02d8d28>] lr :
> [<c02d7a48>] psr: 40000013
> <4>[ 558.745856] [0:flush-ecryptfs-: 3516] sp : def7bce8 ip : c01e71a0
> fp : ffffffff
> <4>[ 558.745948] [0:flush-ecryptfs-: 3516] r10: 00000000 r9 : dfaf9d58
> r8 : c1ee0508
> <4>[ 558.746039] [0:flush-ecryptfs-: 3516] r7 : 00000000 r6 : df56ea40
> r5 : df56eb3c r4 : df56ec24
...

Revision history for this message
Tyler Hicks (tyhicks) wrote :

On 2012-12-15 01:53:51, Bill Roberts wrote:
> 1. Mount and use ecryptfs. lower fs is ext4
> 2. Reboot system
> 3. mount ecrypt fs with wrong key
> 4. Try to access old file

This isn't reproducing the issue for me. The open() fails as expected
and the following is sent the logs:

[ 36.973197] Could not find key with description: [253ca7e88811d184]
[ 36.977704] process_request_key_err: No key
[ 36.977712] ecryptfs_parse_packet_set: Could not find a usable authentication token
[ 36.986957] Valid eCryptfs headers not found in file header region or xattr region, inode 21877
[ 36.986971] Either the lower file is not in a valid eCryptfs format, or the key could not be retrieved. Plaintext passthrough mode is not enabled; returning -EIO

Maybe be more specific about what you're doing in step #4? cat and stat
is what I tried.

Revision history for this message
Tyler Hicks (tyhicks) wrote :

On 2012-12-15 01:53:51, Bill Roberts wrote:
> Mount:
> /data/encrypted /mydir ecryptfs
> rw,nodev,relatime,ecryptfs_sig=f629d6604724367d,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filtering,ecryptfs_passthrough
> 0 0

ecryptfs_enable_filtering? That is not an upstream feature and that
patch has never been sent my way for review.

You've got a patched kernel, which probably explains why I can't
reproduce the bug in upstream 3.0.31.

I'll have to mark this as invalid. If you determine that it is an
upstream bug, please reopen the bug and share your findings.

Changed in ecryptfs:
status: Incomplete → Invalid
Revision history for this message
Bill Roberts (bill-c-roberts) wrote :
Download full text (22.2 KiB)

I dropped that mount option and backed it out to mainline version and was
able to reproduce. I forgot to mention that. Also their is one other
thing... you have to specify the wrong key. Mount once...reboot...mount
twice with invalid key and crash.

I'll be on a newer kernel version soon enough. I'd continue with marking it
invalid and let me try on a newer kernel. For now mounting with the correct
key all the time circumvents the issue.

Thanks.
On Jan 2, 2013 5:25 PM, "Tyler Hicks" <email address hidden> wrote:

> On 2012-12-15 01:53:51, Bill Roberts wrote:
> > Mount:
> > /data/encrypted /mydir ecryptfs
> >
> rw,nodev,relatime,ecryptfs_sig=f629d6604724367d,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filtering,ecryptfs_passthrough
> > 0 0
>
> ecryptfs_enable_filtering? That is not an upstream feature and that
> patch has never been sent my way for review.
>
> You've got a patched kernel, which probably explains why I can't
> reproduce the bug in upstream 3.0.31.
>
> I'll have to mark this as invalid. If you determine that it is an
> upstream bug, please reopen the bug and share your findings.
>
>
> ** Changed in: ecryptfs
> Status: Incomplete => Invalid
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1088397
>
> Title:
> CRASH Undefined opcode ARM
>
> Status in eCryptfs:
> Invalid
>
> Bug description:
> I am running ecryptFS on android trying to create a new encryption
> directory. I am getting an undefined instruction exception.
>
> Before it throws the exception I see allot of these in the kernel
> logs:
>
> <7>[ 892.490004] Valid eCryptfs headers not found in file header
> region or xattr region, inode 1099238008
>
> I am currently trying to debug this to find the exact cause, the
> details of my setup are below:
>
> This is running on Android Kernel Version:
> Linux version 3.0.31 (wroberts@ak47) (gcc version 4.6.x-google 20120106
> (prerelease) (GCC) ) #1 SMP PREEMPT
>
> Mount:
> /data/encrypted /mydir ecryptfs
> rw,nodev,relatime,ecryptfs_sig=f629d6604724367d,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filtering,ecryptfs_passthrough
> 0 0
>
> Kernel OOPS:
>
> <6>[ 558.744788] flush-ecryptfs- (3516): undefined instruction:
> pc=c02d8d28
> <6>[ 558.744880] Code: e2864f79 e59631e4 e3130004 1a000000 (e7f001f2)
> <0>[ 558.745032] [0:flush-ecryptfs-: 3516] ------------[ cut here
> ]------------
> <2>[ 558.745124] [0:flush-ecryptfs-: 3516] kernel BUG at
> /home/wroberts/android/kernel/fs/ecryptfs/crypto.c:464!
> <0>[ 558.745276] [0:flush-ecryptfs-: 3516] Internal error: Oops - BUG:
> 0 [#1] PREEMPT SMP
> <4>[ 558.745368] [0:flush-ecryptfs-: 3516] Modules linked in: vpnclient
> btlock
> <4>[ 558.745490] [0:flush-ecryptfs-: 3516] CPU: 0 Tainted: G
> W (3.0.31-671015-eng #1)
> <4>[ 558.745582] [0:flush-ecryptfs-: 3516] PC is at
> ecryptfs_encrypt_page+0x30/0x390
> <4>[ 558.745704] [0:flush-ecryptfs-: 3516] LR is at
> ecryptfs_writepage+0x3c/0x8c
> <4>[ 558.745795] [0:flush-ecryptfs-: 3516] pc : [<c02d8d28>] lr :
> [<c02d7a48>] psr: 40000013
> <4>[ 558.74...

Revision history for this message
Tyler Hicks (tyhicks) wrote :

I tried again, making sure that I did the second mount with the wrong mount passphrase, and still couldn't reproduce it.

So one large difference between our setups is that I'm trying on an amd64 KVM guest VM and you're on ARM. I thought that I would have still hit the kernel BUG(), but maybe not.

I'm hoping that your newer kernel doesn't experience the same bug, but let me know if it doesn't.

Revision history for this message
Bill Roberts (bill-c-roberts) wrote :
Download full text (21.4 KiB)

If it does, I will replicate on the arm qemu emulator and give you
more details on how to produce it on there.

On Mon, Jan 14, 2013 at 3:41 PM, Tyler Hicks <email address hidden> wrote:
> I tried again, making sure that I did the second mount with the wrong
> mount passphrase, and still couldn't reproduce it.
>
> So one large difference between our setups is that I'm trying on an
> amd64 KVM guest VM and you're on ARM. I thought that I would have still
> hit the kernel BUG(), but maybe not.
>
> I'm hoping that your newer kernel doesn't experience the same bug, but
> let me know if it doesn't.
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1088397
>
> Title:
> CRASH Undefined opcode ARM
>
> Status in eCryptfs:
> Invalid
>
> Bug description:
> I am running ecryptFS on android trying to create a new encryption
> directory. I am getting an undefined instruction exception.
>
> Before it throws the exception I see allot of these in the kernel
> logs:
>
> <7>[ 892.490004] Valid eCryptfs headers not found in file header
> region or xattr region, inode 1099238008
>
> I am currently trying to debug this to find the exact cause, the
> details of my setup are below:
>
> This is running on Android Kernel Version:
> Linux version 3.0.31 (wroberts@ak47) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT
>
> Mount:
> /data/encrypted /mydir ecryptfs rw,nodev,relatime,ecryptfs_sig=f629d6604724367d,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filtering,ecryptfs_passthrough 0 0
>
> Kernel OOPS:
>
> <6>[ 558.744788] flush-ecryptfs- (3516): undefined instruction: pc=c02d8d28
> <6>[ 558.744880] Code: e2864f79 e59631e4 e3130004 1a000000 (e7f001f2)
> <0>[ 558.745032] [0:flush-ecryptfs-: 3516] ------------[ cut here ]------------
> <2>[ 558.745124] [0:flush-ecryptfs-: 3516] kernel BUG at /home/wroberts/android/kernel/fs/ecryptfs/crypto.c:464!
> <0>[ 558.745276] [0:flush-ecryptfs-: 3516] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
> <4>[ 558.745368] [0:flush-ecryptfs-: 3516] Modules linked in: vpnclient btlock
> <4>[ 558.745490] [0:flush-ecryptfs-: 3516] CPU: 0 Tainted: G W (3.0.31-671015-eng #1)
> <4>[ 558.745582] [0:flush-ecryptfs-: 3516] PC is at ecryptfs_encrypt_page+0x30/0x390
> <4>[ 558.745704] [0:flush-ecryptfs-: 3516] LR is at ecryptfs_writepage+0x3c/0x8c
> <4>[ 558.745795] [0:flush-ecryptfs-: 3516] pc : [<c02d8d28>] lr : [<c02d7a48>] psr: 40000013
> <4>[ 558.745856] [0:flush-ecryptfs-: 3516] sp : def7bce8 ip : c01e71a0 fp : ffffffff
> <4>[ 558.745948] [0:flush-ecryptfs-: 3516] r10: 00000000 r9 : dfaf9d58 r8 : c1ee0508
> <4>[ 558.746039] [0:flush-ecryptfs-: 3516] r7 : 00000000 r6 : df56ea40 r5 : df56eb3c r4 : df56ec24
> <4>[ 558.746161] [0:flush-ecryptfs-: 3516] r3 : 00000003 r2 : def7bd70 r1 : def7bef0 r0 : c1ee0508
> <4>[ 558.746284] [0:flush-ecryptfs-: 3516] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
> <4>[ 558.746406] [0:flush-ecryptfs-: 3516] Control: 10c5787d Table: a812c06a DAC: 00000015
> <4>[ 558.74649...

Revision history for this message
Bill Roberts (bill-c-roberts) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.