2010-05-13 22:01:12     mount cifs filesystem crashes kernel with misaligned access

Document created by Aaronwu Employee on Aug 21, 2013
Version 1Show Document
  • View in full screen mode

2010-05-13 22:01:12     mount cifs filesystem crashes kernel with misaligned access

Bill Xie (CHINA)

Message: 89392   

 

Hi,

 

    I trying to mount cifs filesystem crashes kernel with misaligned access.

 

 

 

Detail:

 

root:/> mount -t cifs //192.168.0.203 /share  /mnt -o username=windowsxp,pass=123456

 

Data access misaligned address violation

- Attempted misaligned data memory or data cache access.

Kernel OOPS in progress

Deferred Exception context

CURRENT PROCESS:

COMM=cifsd PID=161

CPU = 0

invalid mm

return address: [0x000ba030]; contents of:

0x000ba010:  3209  6539  5a91  6d2a  9510  5008  0010  0000

0x000ba020:  3210  e491  0024  4f09  3209  6539  5a91  6d2a

0x000ba030: [9510] 5008  0010  0000  e142  51eb  e102  851f

0x000ba040:  c080  180a  c683  5180  c111  860a  c111  9811

 

ADSP-BF516-0.1 400(MHz CCLK) 80(MHz SCLK) (mpu off)

Linux version 2.6.28.10-ADI-2009R1.1

Built with gcc version 4.1.2 (ADI svn)

 

SEQUENCER STATUS:        Not tainted

SEQSTAT: 00000024  IPEND: 8030  SYSCFG: 0006

  EXCAUSE   : 0x24

  interrupts disabled

  physical IVG5 asserted : <0x00009190> { _evt_ivhw + 0x0 }

  physical IVG15 asserted : <0x00009404> { _evt_system_call + 0x0 }

  logical irq   6 mapped  : <0x000071cc> { _timer_interrupt + 0x0 }

  logical irq  21 mapped  : <0x000edd34> { _bfin_rtc_interrupt + 0x0 }

  logical irq  24 mapped  : <0x000f4cc4> { _sdh_dma_irq + 0x0 }

  logical irq  29 mapped  : <0x000e1410> { _bfin_serial_dma_rx_int + 0x0 }

  logical irq  30 mapped  : <0x000e165c> { _bfin_serial_dma_tx_int + 0x0 }

  logical irq  35 mapped  : <0x000e9424> { _bfin_mac_interrupt + 0x0 }

  logical irq  58 mapped  : <0x000f4ce8> { _sdh_stat_irq + 0x0 }

RETE: <0x00000000> /* Maybe null pointer? */

RETN: <0x01e8ff28> /* kernel dynamic memory */

RETX: <0x00000480> /* Maybe fixed code section */

RETS: <0x000b99b4> { _checkSMB + 0x1dc }

PC  : <0x000ba030> { _smbCalcSize_LE + 0x10 }

DCPLB_FAULT_ADDR: <0x01deb086> /* kernel dynamic memory */

ICPLB_FAULT_ADDR: <0x000ba030> { _smbCalcSize_LE + 0x10 }

 

PROCESSOR STATE:

R0 : 01deb040    R1 : 00000049    R2 : 00000001    R3 : 00000b68

R4 : 01deb040    R5 : 00000001    R6 : 00000085    R7 : 00000081

P0 : 01deb040    P1 : 00000022    P2 : 01deb087    P3 : 01e31c00

P4 : 00000081    P5 : 01deb040    FP : 01e8e000    SP : 01e8fe4c

LB0: 000d1170    LT0: 000d116e    LC0: 00000000

LB1: 000088d2    LT1: 000088d2    LC1: 00000000

B0 : 00000000    L0 : 00000000    M0 : 00000000    I0 : 00000003

B1 : 00000000    L1 : 00000000    M1 : 00000000    I1 : 006028d8

B2 : 00000000    L2 : 00000000    M2 : 00000000    I2 : 00000000

B3 : 00000000    L3 : 00000000    M3 : 00000000    I3 : 00000000

A0.w: 000002ff   A0.x: 00000000   A1.w: 000002ff   A1.x: 00000000

USP : 00000000  ASTAT: 00002020

 

Hardware Trace:

   0 Target : <0x0000508c> { _trap_c + 0x0 }

     Source : <0x00008bee> { _exception_to_level5 + 0xae } CALL pcrel

   1 Target : <0x00008b40> { _exception_to_level5 + 0x0 }

     Source : <0x000089fc> { _bfin_return_from_exception + 0x18 } RTX

   2 Target : <0x000089e4> { _bfin_return_from_exception + 0x0 }

     Source : <0x00008a98> { _ex_trap_c + 0x6c } JUMP.S

   3 Target : <0x00008a2c> { _ex_trap_c + 0x0 }

     Source : <0x00008cba> { _trap + 0x5a } JUMP (P4)

   4 Target : <0x00008c60> { _trap + 0x0 }

     Source : <0x000ba02e> { _smbCalcSize_LE + 0xe } 0x6d2a

   5 Target : <0x000ba020> { _smbCalcSize_LE + 0x0 }

     Source : <0x000b99b0> { _checkSMB + 0x1d8 } CALL pcrel

   6 Target : <0x000b99ae> { _checkSMB + 0x1d6 }

     Source : <0x000b9982> { _checkSMB + 0x1aa } IF !CC JUMP

   7 Target : <0x000b997c> { _checkSMB + 0x1a4 }

     Source : <0x000b992c> { _checkSMB + 0x154 } IF !CC JUMP

   8 Target : <0x000b991c> { _checkSMB + 0x144 }

     Source : <0x000b984a> { _checkSMB + 0x72 } IF !CC JUMP

   9 Target : <0x000b9828> { _checkSMB + 0x50 }

     Source : <0x000b9802> { _checkSMB + 0x2a } IF CC JUMP

  10 Target : <0x000b97d8> { _checkSMB + 0x0 }

     Source : <0x000af38e> { _cifs_demultiplex_thread + 0x71e } CALL pcrel

  11 Target : <0x000af37a> { _cifs_demultiplex_thread + 0x70a }

     Source : <0x000b944a> { _dump_smb + 0x106 } RTS

  12 Target : <0x000b9442> { _dump_smb + 0xfe }

     Source : <0x000b935e> { _dump_smb + 0x1a } IF !CC JUMP

  13 Target : <0x000b9344> { _dump_smb + 0x0 }

     Source : <0x000af376> { _cifs_demultiplex_thread + 0x706 } CALL pcrel

  14 Target : <0x000af372> { _cifs_demultiplex_thread + 0x702 }

     Source : <0x000af2a4> { _cifs_demultiplex_thread + 0x634 } IF !CC JUMP

  15 Target : <0x000af29a> { _cifs_demultiplex_thread + 0x62a }

     Source : <0x000af2f4> { _cifs_demultiplex_thread + 0x684 } IF CC JUMP

 

Kernel Stack

Stack info:

SP: [0x01e8fcec] <0x01e8fcec> /* kernel dynamic memory */

FP: (0x01e8fdd4)

Memory from 0x01e8fce0 to 01e90000

01e8fce0: 66386531  3e636563  202a2f20 [6e72656b] 64206c65  6d616e79  6d206369  726f6d65

01e8fd00: 2f2a2079  78302000  20343836  01e8fd9c  01e8fd18  0000ffff  00000004  00000000

01e8fd20: 00263040 <01e8e000><01e8e000><0001051e> 01e8fd74  00000000  01e8fe4c  000ba050

01e8fd40: 000ba030  01e8fd6c  000ba050  7fffffff  001d4a04  01e8fd68  01e8fd64 <00004828>

01e8fd60:<01e8e000><0001051e> 01e8fe4c  001eeeb8  01e31c00 <01e8e000><0000547e> 01e8fe4c

01e8fd80: 001eeeb8  01e31c00  00000081  00000007  00000013  00000024  00000000  01e8fcec

01e8fda0: ffffffff  00263040 <0011dc4e> 00030001 <0011dc4e> 01eda440  01eda440 <0003186c>

01e8fdc0: 01e8ffb0  00000081  00000081  00000000  00000001 (00000000)<01e8e000><01e8e000>

01e8fde0:<01e8e000><01e8e000> 002632f0 <01e8e000> 000006d6  00000000  00000000 <01e8e000>

01e8fe00:<000f700e> 01e8ff94  00000081  01e31c00  00000000  00000000  01e8ff94  01deb040

01e8fe20:<01e8e000><00008bf2> 00009190  ffe02014  00000081  0000ffff  00000001  01deb040

01e8fe40:<000f51be> 00000054 <01e8e000> 00000480  00008030  00000024  00000000  01e8ff28

01e8fe60: 00000480  000ba030 <000b99b4> 01deb040  00002020  000088d2  000d1170  000088d2

01e8fe80: 000d116e  00000000  00000000  000002ff  00000000  000002ff  00000000  00000000

01e8fea0: 00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000

01e8fec0: 00000000  00000000  00000000  00000000  00000000  006028d8  00000003  00000000

01e8fee0:<01e8e000> 01deb040  00000081  01e31c00  01deb087  00000022  01deb040  00000081

01e8ff00: 00000085  00000001  01deb040  00000b68  00000001  00000049  01deb040  01deb040

01e8ff20: 01deb040  00000006 <01e8e000><01e8e000><000af37a> 01ed4060 <000af392> 01ed4060

01e8ff40: 00000081  00000085  00000081  01deb040  00000000  00000000  01e8ff7c  00000001

01e8ff60: 00000081  00000000  001ee670  01e31c78  01e31c68  002680c0  01e8ff00  01e8ff98

01e8ff80:<0000b376> 01eb86c0  01e31c78 <01e8e000> 01deb040  01e8ffb8  00000000  01e8ffb0

01e8ffa0: 00000001  00000000  00000000  0000ffff  01deb0c5  00000000  00000000 <0001f784>

01e8ffc0: 000aec70  00000000  00000000  01e31c00  00000000  00000000  00000000  00000000

01e8ffe0: 00000000  00000000 <00001576> 00000000  00000000  00000000  ffffffff  00000006

Return addresses in stack:

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x0001051e> { _printk + 0x12 }

    address : <0x00004828> { _dump_bfin_mem + 0xd4 }

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x0001051e> { _printk + 0x12 }

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x0000547e> { _trap_c + 0x3f2 }

    address : <0x0011dc4e> { _tcp_recvmsg + 0x21a }

    address : <0x0011dc4e> { _tcp_recvmsg + 0x21a }

    address : <0x0003186c> { _get_page_from_freelist + 0x318 }

   frame  1 : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x000f700e> { _sock_common_recvmsg + 0x32 }

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x00008bf2> { _exception_to_level5 + 0xb2 }

    address : <0x000f51be> { _sock_recvmsg + 0xaa }

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x000b99b4> { _checkSMB + 0x1dc }

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x000af37a> { _cifs_demultiplex_thread + 0x70a }

    address : <0x000af392> { _cifs_demultiplex_thread + 0x722 }

    address : <0x0000b376> { _pick_next_task_fair + 0x46 }

    address : <0x01e8e000> /* kernel dynamic memory */

    address : <0x0001f784> { _kthread + 0x50 }

    address : <0x00001576> { _kernel_thread_helper + 0x6 }

Modules linked in:

Kernel panic - not syncing: Kernel exception

 

I find the bug report is same to my problem.

 

[#2745] trying to mount cifs filesystem crashes kernel with misaligned access

    blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2745

 

 

Best Regards

 

-Bill

 

QuoteReplyEditDelete

 

 

2010-05-15 20:49:26     Re: mount cifs filesystem crashes kernel with misaligned access

Mike Frysinger (UNITED STATES)

Message: 89442   

 

like you said, there's already a tracker item open about the issue.  you can wait for someone to look at it, or you can research+fix+post patch yourself.

QuoteReplyEditDelete

 

 

2010-05-16 22:21:36     Re: mount cifs filesystem crashes kernel with misaligned access

Bill Xie (CHINA)

Message: 89461   

 

  Ok,thank you.

Attachments

    Outcomes