Files
rockchip-kernel/include/linux
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 <dan.j.williams@intel.com>
Reported-by: Eryu Guan <eguan@redhat.com>
Tested-by: Eryu Guan <eguan@redhat.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-09 15:43:42 -08:00
..
2015-10-17 21:22:08 -07:00
2015-10-07 18:08:15 +01:00
2016-01-05 18:04:58 +01:00
2015-11-16 15:41:49 +00:00
2015-12-23 08:37:10 -07:00
2016-02-11 10:07:18 -05:00
2015-12-22 09:38:34 -07:00
2015-12-06 12:46:31 +01:00
2015-10-07 16:02:49 -07:00
2015-09-04 16:54:41 -07:00
2015-10-18 10:14:39 -07:00
2015-10-31 19:05:59 -04:00
2016-01-08 01:12:06 +01:00
2015-10-30 01:47:27 -04:00
2015-12-28 13:41:50 +01:00
2016-01-15 17:56:32 -08:00
2015-11-25 09:22:00 -07:00
2015-10-23 05:44:28 -07:00
2016-01-20 17:09:18 -08:00
2015-10-01 15:06:43 +02:00
2015-12-14 10:03:46 +01:00
2016-01-15 17:56:32 -08:00
2016-01-15 17:56:32 -08:00
2016-03-09 15:43:42 -08:00
2016-01-15 17:56:32 -08:00
2015-10-27 18:55:31 -07:00
2016-02-03 08:28:43 -08:00
2016-02-03 08:28:43 -08:00
2015-10-20 22:10:45 +08:00
2016-02-08 15:20:01 -05:00
2015-09-10 13:29:01 -07:00
2015-09-10 13:29:01 -07:00
2016-01-22 17:02:18 -08:00
2016-02-11 18:35:48 -08:00
2016-02-11 18:35:48 -08:00
2016-01-07 14:31:27 -05:00
2015-10-06 17:08:19 +02:00
2015-10-22 08:59:18 -07:00
2015-11-16 09:23:47 +01:00
2016-01-10 22:13:15 -05:00
2015-12-13 19:59:48 -08:00
2016-01-04 16:11:11 -05:00
2016-01-04 10:20:19 -05:00
2015-11-05 14:36:09 -05:00
2016-01-15 22:34:39 +01:00
2015-10-01 09:57:59 -07:00
2015-10-19 01:01:21 +02:00
2015-11-23 09:44:58 +01:00
2015-12-21 15:28:11 -07:00
2016-01-12 20:47:02 +02:00
2016-01-15 17:56:32 -08:00
2016-01-14 16:00:49 -08:00
2015-12-03 07:24:29 -08:00
2015-09-08 15:35:28 -07:00