BUG (maybe) with find_get_entry()

2014-10-08 Thread Felipe Balbi
Hi,

With today's linus/master and with greg/usb-next I keep getting random
kernel oops from find_get_entry() (see below):

[   47.700065] Unable to handle kernel paging request at virtual address 

[   47.707667] pgd = c0004000
[   47.710506] [] *pgd=ae7f6821, *pte=, *ppte=
[   47.717135] Internal error: Oops: 17 [#1] SMP ARM
[   47.722047] Modules linked in: g_mass_storage usb_f_mass_storage 
libcomposite configfs xhci_plat_hcd xhci_hcd snd_soc_davinci_mcasp snd_soc_edma 
snd_soc_omap snd_soc_evm snd_soc_tlv320aic3x dwc3 snd_soc_core snd_compress 
omapdrm snd_pcm_dmaengine snd_pcm snd_timer snd fb_sys_fops lis3lv02d_i2c 
panel_dpi matrix_keypad lis3lv02d dwc3_omap input_polldev soundcore
[   47.755668] CPU: 0 PID: 1440 Comm: file-storage Not tainted 
3.17.0-02899-ga7d2165 #229
[   47.763958] task: ed1b22c0 ti: ed20e000 task.ti: ed20e000
[   47.769609] PC is at find_get_entry+0x64/0x100
[   47.774281] LR is at 0xfffa
[   47.777590] pc : [c01065b4]lr : [fffa]psr: a00f0013
[   47.777590] sp : ed20fc80  ip :   fp : ed20fcb4
[   47.789564] r10: 600f0013  r9 : c014c854  r8 : 0004
[   47.795031] r7 : ec1909b8  r6 : 0001  r5 :   r4 : ec190880
[   47.801837] r3 : ed20fc6c  r2 :   r1 : 0004  r0 : 
[   47.808640] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
kernel
[   47.816251] Control: 10c5387d  Table: ad768059  DAC: 0015
[   47.822237] Process file-storage (pid: 1440, stack limit = 0xed20e248)
[   47.829034] Stack: (0xed20fc80 to 0xed21)
[   47.833585] fc80:   c0106550  ed20fcf8 ec190880 
ec1909b4 0004
[   47.842119] fca0: 0004 ec19090c ed20fcd4 ed20fcb8 c010716c c010655c 
00013ef0 ec190880
[   47.850657] fcc0:  0002 ed20fd4c ed20fcd8 c011df94 c0107150 
0006 ed1b22c0
[   47.859183] fce0: c014c854 600f0013 ed20fd1c ed20fcf8 0002 ed20fd84 
00d0 
[   47.867707] fd00: 4000   ec1909b4 0004 c011efd0 
c0089b64 c00899dc
[   47.876241] fd20: ec190880 ec190880   0004 ec19090c 
c014c854 600f0013
[   47.884761] fd40: ed20fdb4 ed20fd50 c011efd0 c011df08 000200da  
c014c854 bf2047f8
[   47.893280] fd60: 0005 ed721e80 ed20fde0 ec1909b4 0002 ed1b22c0 
ed20fdcc 
[   47.901816] fd80: ed20fdb4  c0089a3c 4000  ed20fe80 
ed721e80 ed1b22c0
[   47.910340] fda0:  4000 ed20fe3c ed20fdb8 c014c854 c011eed4 
4000 4000
[   47.918866] fdc0: ed20fdf4 ec504000 4000 0002  4000 
ed20fdc4 0001
[   47.927387] fde0: ed721e80    ed1b22c0  
 
[   47.935922] fe00: 4000  4000    
ec504000 ed721e80
[   47.944452] fe20: ec504000 ed20fe80 ed73ec00 4000 ed20fe6c ed20fe40 
c014d054 c014c7bc
[   47.952984] fe40: ed20fe6c ed20fe50 ed2769e0 ed2bf104 ed2bf000 ed73ec00 
4000 
[   47.961505] fe60: ed20feb4 ed20fe70 bf2b57cc c014cfc8 3732333d ed20e000 
4000 
[   47.970032] fe80: 4000   ed2bf000 ed2769c0  
ed2bf038 ed2bf000
[   47.978575] fea0: ed20e038 ed2bf07c ed20ff24 ed20feb8 bf2b6a08 bf2b56b8 
0001 c00899dc
[   47.987100] fec0: a00f0013 ed401bd4  00052000  ed20fee0 
c0089c50 c0089a70
[   47.995631] fee0: ed20ff04 ed20fef0 c064f3a4 ed276840  ed2bf000 
bf2b6244 ed276840
[   48.004154] ff00:  ed2bf000 bf2b6244    
ed20ffac ed20ff28
[   48.012683] ff20: c0065bdc bf2b6250 c0089c50  ed20ff54 ed2bf000 
 
[   48.021204] ff40: dead4ead   c0a8a238   
c08070f8 ed20ff5c
[   48.029735] ff60: ed20ff5c   dead4ead   
c0a8a238 
[   48.038265] ff80:  c08070f8 ed20ff88 ed20ff88 ed276840 c0065af8 
 
[   48.046785] ffa0:  ed20ffb0 c000eea8 c0065b04   
 
[   48.055307] ffc0:       
 
[   48.063837] ffe0:     0013  
ebfe e89da830
[   48.072389] [c01065b4] (find_get_entry) from [c010716c] 
(find_lock_entry+0x28/0x7c)
[   48.080753] [c010716c] (find_lock_entry) from [c011df94] 
(shmem_getpage_gfp+0x98/0x7f8)
[   48.089469] [c011df94] (shmem_getpage_gfp) from [c011efd0] 
(shmem_file_read_iter+0x108/0x3a0)
[   48.098731] [c011efd0] (shmem_file_read_iter) from [c014c854] 
(new_sync_read+0xa4/0xcc)
[   48.107435] [c014c854] (new_sync_read) from [c014d054] 
(vfs_read+0x98/0x158)
[   48.115189] [c014d054] (vfs_read) from [bf2b57cc] (do_read+0x120/0x2c8 
[usb_f_mass_storage])
[   48.124382] [bf2b57cc] (do_read [usb_f_mass_storage]) from [bf2b6a08] 
(fsg_main_thread+0x7c4/0x13f8 [usb_f_mass_storage])
[   48.136199] [bf2b6a08] (fsg_main_thread [usb_f_mass_storage]) from 
[c0065bdc] (kthread+0xe4/0x100)
[   48.145919] 

Re: BUG (maybe) with find_get_entry()

2014-10-08 Thread Rabin Vincent
On Wed, Oct 08, 2014 at 11:57:14AM -0500, Felipe Balbi wrote:
 Hi,
 
 With today's linus/master and with greg/usb-next I keep getting random
 kernel oops from find_get_entry() (see below):
 
 [   47.700065] Unable to handle kernel paging request at virtual address 
 
 [   47.707667] pgd = c0004000
 [   47.710506] [] *pgd=ae7f6821, *pte=, *ppte=
 [   47.717135] Internal error: Oops: 17 [#1] SMP ARM
 [   47.722047] Modules linked in: g_mass_storage usb_f_mass_storage 
 libcomposite configfs xhci_plat_hcd xhci_hcd snd_soc_davinci_mcasp 
 snd_soc_edma snd_soc_omap snd_soc_evm snd_soc_tlv320aic3x dwc3 snd_soc_core 
 snd_compress omapdrm snd_pcm_dmaengine snd_pcm snd_timer snd fb_sys_fops 
 lis3lv02d_i2c panel_dpi matrix_keypad lis3lv02d dwc3_omap input_polldev 
 soundcore
 [   47.755668] CPU: 0 PID: 1440 Comm: file-storage Not tainted 
 3.17.0-02899-ga7d2165 #229
 [   47.763958] task: ed1b22c0 ti: ed20e000 task.ti: ed20e000
 [   47.769609] PC is at find_get_entry+0x64/0x100
 [   47.774281] LR is at 0xfffa

What GCC version are you using?

4.8.1 and 4.8.2 are known to miscompile the ARM kernel and these
find_get_entry() crashes with 0x involved smell a lot like the
earlier reports from kernels build with those compilers:

https://lkml.org/lkml/2014/6/25/456
https://lkml.org/lkml/2014/6/30/375
https://lkml.org/lkml/2014/6/30/660
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
https://lkml.org/lkml/2014/5/9/330
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html