* td_list_del - deletes entry from list. * @entry: the element to delete from the list. * Note: td_list_empty on entry does not return true after this, the entry is * in an undefined state. */ @ @ requires \valid(entry); @ requires \valid(entry->prev); @ requires \valid(entry->next); @ requires \separated(entry, \union(entry->prev,entry->next)); @ requires entry->prev == entry->next
| 243 | @ assigns \old(entry->prev)->next, \old(entry->next)->prev, entry->next, entry->prev; |
| 244 | @*/ |
| 245 | static inline void td_list_del(struct td_list_head *entry) |
| 246 | { |
| 247 | __td_list_del(entry->prev, entry->next); |
| 248 | /*@ assert entry->prev->next == entry->next; */ |
| 249 | /*@ assert entry->next->prev == entry->prev; */ |
| 250 | entry->next = (struct td_list_head*)LIST_POISON1; |
| 251 | entry->prev = (struct td_list_head*)LIST_POISON2; |
| 252 | /*@ assert \at(entry->prev,Pre)->next == \at(entry->next,Pre); */ |
| 253 | /*@ assert \at(entry->next,Pre)->prev == \at(entry->prev,Pre); */ |
| 254 | } |
| 255 | |
| 256 | #if 0 |
| 257 | /** |
no test coverage detected