Crash in list_del() called from dasd_alias_remove_device(), Linux on IBM Z

Solution Unverified - Updated -

Issue

System crashes when it stumbles on a corrupt linked list with console messages like:

[594418.406411] Unable to handle kernel pointer dereference at virtual kernel address 001ffc0002288000
[594418.406478] Oops: 0011 [#1] SMP 
[594418.406489] Modules linked in: af_iucv fuse dcssblk ipt_REJECT nf_reject_ipv4 xt_conntrack ebtable_nat ebtable_broute bridge stp llc iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat iptable_mangle iptable_security iptable_raw nf_conntrack libcrc32c ip_set nfnetlink ebtable_filter ebtables ip6_tables iptable_filter binfmt_misc auth_rpcgss sunrpc ip_tables ext4 mbcache jbd2 qeth_l2 dasd_fba_mod dasd_eckd_mod dasd_mod qeth ccwgroup qdio dm_mirror dm_region_hash dm_log dm_mod pkey zcrypt ap sha512_s390 ghash_s390 des_s390 des_generic aes_s390 prng [last unloaded: sg]
[594418.406581] CPU: 0 PID: 11880 Comm: chccwdev Kdump: loaded Not tainted 3.10.0-1127.8.2.el7.s390x #1
[594418.406587] task: 0000000007962ec0 ti: 0000000007048000 task.ti: 0000000007048000
[594418.406592] Krnl PSW : 0404e00180000000 00000000004a4656 (__list_del_entry+0x3e/0xe0)
[594418.406605]            R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 EA:3
                Krnl GPRS: 001fffff80284540 001ffc0002288000 0000000006b68980 0000000000000200
[594418.406772]            001ffc0002284000 0000000000000001 0000000000000000 000000000704bcd8
[594418.406774]            0700000000000000 00000000021bfc00 0000000006b68980 00000000112a6400
[594418.406776]            0000000000000000 0000000006b68980 000000000704bb80 000000000704bb68
[594418.406801] Krnl Code: 00000000004a4646: ec43001e8064   cgrj    %r4,%r3,8,4a4682
                       00000000004a464c: a7390200       lghi    %r3,512
                      #00000000004a4650: ec1300458064   cgrj    %r1,%r3,8,4a46da
                      >00000000004a4656: e32010000020   cg  %r2,0(%r1)
                       00000000004a465c: a7740030       brc 7,4a46bc
                       00000000004a4660: e32040080020   cg  %r2,8(%r4)
                       00000000004a4666: a774001c       brc 7,4a469e
                       00000000004a466a: e31040080024   stg %r1,8(%r4)
[594418.406909] Call Trace:
[594418.406912] ([<0000000000000000>] 0x0)
[594418.406920]  [<00000000004a4720>] list_del+0x28/0x40
[594418.406925]  [<001fffff80284648>] dasd_alias_remove_device+0x120/0x140 [dasd_eckd_mod]
[594418.406940]  [<001fffff8023f51a>] dasd_change_state+0xe2/0xcd8 [dasd_mod]
[594418.406957]  [<001fffff8024026a>] dasd_set_target_state+0xaa/0x110 [dasd_mod]
[594418.406965]  [<001fffff80240906>] dasd_generic_set_offline+0x13e/0x368 [dasd_mod]
[594418.406972]  [<00000000005aeefc>] ccw_device_set_offline+0x64/0x98
[594418.406976]  [<00000000005b0174>] online_store+0x21c/0x288
[594418.406978]  [<00000000003aeac0>] kernfs_fop_write+0x118/0x198
[594418.406984]  [<0000000000305626>] vfs_write+0xbe/0x1e8
[594418.406988]  [<00000000003065ec>] SyS_write+0x84/0x128
[594418.406990]  [<0000000000762204>] sysc_tracego+0x18/0x1e
[594418.406995]  [<000003ff91bfc9c8>] 0x3ff91bfc9c8
[594418.406998] Last Breaking-Event-Address:
[594418.407000]  [<00000000004a471a>] list_del+0x22/0x40
[594418.407002]  
[594418.407005] Kernel panic - not syncing: Fatal exception: panic_on_oops

Environment

  • Red Hat Enterprise Linux 7 or 8
    -- problem originally detected on kernel 3.10.0-1127.8.2.el7.s390x
  • Disk storage controlled by DASD driver

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content