diff options
| author | Andreas Gruenbacher <[email protected]> | 2019-03-06 14:41:57 +0000 |
|---|---|---|
| committer | Andreas Gruenbacher <[email protected]> | 2019-03-08 14:49:01 +0000 |
| commit | 605b0487f0bc1ae9963bf52ece0f5c8055186f81 (patch) | |
| tree | d6cdf2eb071b40386ca7b75573b377d3413e35a0 /drivers/pci/controller/dwc | |
| parent | gfs2: Fix an incorrect gfs2_assert() (diff) | |
| download | kernel-605b0487f0bc1ae9963bf52ece0f5c8055186f81.tar.gz kernel-605b0487f0bc1ae9963bf52ece0f5c8055186f81.zip | |
gfs2: Fix missed wakeups in find_insert_glock
Mark Syms has reported seeing tasks that are stuck waiting in
find_insert_glock. It turns out that struct lm_lockname contains four padding
bytes on 64-bit architectures that function glock_waitqueue doesn't skip when
hashing the glock name. As a result, we can end up waking up the wrong
waitqueue, and the waiting tasks may be stuck forever.
Fix that by using ht_parms.key_len instead of sizeof(struct lm_lockname) for
the key length.
Reported-by: Mark Syms <[email protected]>
Signed-off-by: Andreas Gruenbacher <[email protected]>
Signed-off-by: Bob Peterson <[email protected]>
Diffstat (limited to 'drivers/pci/controller/dwc')
0 files changed, 0 insertions, 0 deletions
