.. | .. |
---|
20 | 20 | bool __list_add_valid(struct list_head *new, struct list_head *prev, |
---|
21 | 21 | struct list_head *next) |
---|
22 | 22 | { |
---|
23 | | - if (CHECK_DATA_CORRUPTION(next->prev != prev, |
---|
| 23 | + if (CHECK_DATA_CORRUPTION(prev == NULL, |
---|
| 24 | + "list_add corruption. prev is NULL.\n") || |
---|
| 25 | + CHECK_DATA_CORRUPTION(next == NULL, |
---|
| 26 | + "list_add corruption. next is NULL.\n") || |
---|
| 27 | + CHECK_DATA_CORRUPTION(next->prev != prev, |
---|
24 | 28 | "list_add corruption. next->prev should be prev (%px), but was %px. (next=%px).\n", |
---|
25 | 29 | prev, next->prev, next) || |
---|
26 | 30 | CHECK_DATA_CORRUPTION(prev->next != next, |
---|
.. | .. |
---|
42 | 46 | prev = entry->prev; |
---|
43 | 47 | next = entry->next; |
---|
44 | 48 | |
---|
45 | | - if (CHECK_DATA_CORRUPTION(next == LIST_POISON1, |
---|
| 49 | + if (CHECK_DATA_CORRUPTION(next == NULL, |
---|
| 50 | + "list_del corruption, %px->next is NULL\n", entry) || |
---|
| 51 | + CHECK_DATA_CORRUPTION(prev == NULL, |
---|
| 52 | + "list_del corruption, %px->prev is NULL\n", entry) || |
---|
| 53 | + CHECK_DATA_CORRUPTION(next == LIST_POISON1, |
---|
46 | 54 | "list_del corruption, %px->next is LIST_POISON1 (%px)\n", |
---|
47 | 55 | entry, LIST_POISON1) || |
---|
48 | 56 | CHECK_DATA_CORRUPTION(prev == LIST_POISON2, |
---|