Files
Linux/lib
Dan Williams d77a117e68 list: kill list_force_poison()
Given we have uninitialized list_heads being passed to list_add() it
will always be the case that those uninitialized values randomly trigger
the poison value.  Especially since a list_add() operation will seed the
stack with the poison value for later stack allocations to trip over.

For example, see these two false positive reports:

  list_add attempted on force-poisoned entry
  WARNING: at lib/list_debug.c:34
  [..]
  NIP [c00000000043c390] __list_add+0xb0/0x150
  LR [c00000000043c38c] __list_add+0xac/0x150
  Call Trace:
    __list_add+0xac/0x150 (unreliable)
    __down+0x4c/0xf8
    down+0x68/0x70
    xfs_buf_lock+0x4c/0x150 [xfs]

  list_add attempted on force-poisoned entry(0000000000000500),
   new->next == d0000000059ecdb0, new->prev == 0000000000000500
  WARNING: at lib/list_debug.c:33
  [..]
  NIP [c00000000042db78] __list_add+0xa8/0x140
  LR [c00000000042db74] __list_add+0xa4/0x140
  Call Trace:
    __list_add+0xa4/0x140 (unreliable)
    rwsem_down_read_failed+0x6c/0x1a0
    down_read+0x58/0x60
    xfs_log_commit_cil+0x7c/0x600 [xfs]

Fixes: commit 5c2c2587b1 ("mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup")
Signed-off-by: Dan Williams <[email protected]>
Reported-by: Eryu Guan <[email protected]>
Tested-by: Eryu Guan <[email protected]>
Cc: Ross Zwisler <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2016-03-09 15:43:42 -08:00
..
…
…
2015-07-27 14:06:24 +02:00
…
…
…
…
…
2015-11-23 09:44:58 +01:00
2015-05-28 11:31:52 +09:30
…
…
…
…
…
…
…
…
…
2015-10-05 04:49:54 +01:00
…
…
…
…
…
…
…
…
…
…
…
2016-01-19 15:26:55 -05:00
…
…
…
2016-03-09 15:43:42 -08:00
…
…
…
…
…
2015-06-25 17:00:40 -07:00
…
2015-12-18 16:04:51 -05:00
…
…
…
…