Hi all,

the new lockdep chain_key collision detection code triggers quite reliably
on s390, so it looks like we need a different iterate_chain_key()
implementation?

Actually there was already another report from Shuah Khan, which didn't get
any replies as far as I can tell:
https://lkml.org/lkml/2016/4/12/1080

Anyway, these are the chains on s390 which collided:

[ 9550.753790] ======================
[ 9550.753791] [chain_key collision ]
[ 9550.753793] 4.6.0-02644-gbf82442b7914 #2 Tainted: G        W      
[ 9550.753795] ----------------------
[ 9550.753796] crond/2973: Hash chain already cached but the contents don't 
match!
[ 9550.753798] Held locks:depth: 6
[ 9550.753800]  class_idx:925 -> chain_key:000000000000039d 
(&sig->cred_guard_mutex){+.+.+.}, at: [<0000000000346bb4>] 
prepare_bprm_creds+0x44/0x98
[ 9550.753807]  class_idx:944 -> chain_key:000000000073a3b0 
(sb_writers#3){.+.+.+}, at: [<0000000000360aa2>] touch_atime+0x5a/0xd8
[ 9550.753814]  class_idx:1064 -> chain_key:0000000e74760428 
(jbd2_handle){+.+...}, at: [<0000000000442a20>] start_this_handle+0x470/0x558
[ 9550.753823]  class_idx:843 -> chain_key:0001ce8ec085034b 
(&(&block->request_queue_lock)->rlock){..-.-.}, at: [<0000000000686c12>] 
blk_queue_bio+0x582/0x608
[ 9550.753830]  class_idx:842 -> chain_key:39d1d810a069634a 
(&(&block->queue_lock)->rlock){+.-.-.}, at: [<00000000007df038>] 
do_dasd_request+0x38/0x60
[ 9550.753836]  class_idx:850 -> chain_key:3b02140d2c694468 
(dasd_global_profile.lock){..-.-.}, at: [<00000000007deeb8>] 
__dasd_process_request_queue+0x2a0/0x3e8
[ 9550.753841] Locks in cached chain:depth: 6
[ 9550.753844]  class_idx:926 -> chain_key:000000000000039e 
(&type->i_mutex_dir_key){+.+.+.}
[ 9550.753848]  class_idx:944 -> chain_key:000000000073c3b0 
(sb_writers#3){.+.+.+}
[ 9550.753852]  class_idx:1064 -> chain_key:0000000e78760428 
(jbd2_handle){+.+...}
[ 9550.753857]  class_idx:843 -> chain_key:0001cf0ec085034b 
(&(&block->request_queue_lock)->rlock){..-.-.}
[ 9550.753861]  class_idx:842 -> chain_key:39e1d810a069634a 
(&(&block->queue_lock)->rlock){+.-.-.}
[ 9550.753865]  class_idx:852 -> chain_key:3b02140d2c694468 
(&(&device->profile.lock)->rlock){..-.-.}

Reply via email to