| .. | .. |
|---|
| 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, |
|---|