You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: Documentation/feature-removal-schedule.txt drivers/net/e1000e/netdev.c net/xfrm/xfrm_policy.c
This commit is contained in:
+1
-1
@@ -805,7 +805,7 @@ config ARCH_WANT_FRAME_POINTERS
|
||||
config FRAME_POINTER
|
||||
bool "Compile the kernel with frame pointers"
|
||||
depends on DEBUG_KERNEL && \
|
||||
(CRIS || M68K || M68KNOMMU || FRV || UML || \
|
||||
(CRIS || M68K || FRV || UML || \
|
||||
AVR32 || SUPERH || BLACKFIN || MN10300) || \
|
||||
ARCH_WANT_FRAME_POINTERS
|
||||
default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS
|
||||
|
||||
+26
-13
@@ -35,6 +35,31 @@ void __list_add(struct list_head *new,
|
||||
}
|
||||
EXPORT_SYMBOL(__list_add);
|
||||
|
||||
void __list_del_entry(struct list_head *entry)
|
||||
{
|
||||
struct list_head *prev, *next;
|
||||
|
||||
prev = entry->prev;
|
||||
next = entry->next;
|
||||
|
||||
if (WARN(next == LIST_POISON1,
|
||||
"list_del corruption, %p->next is LIST_POISON1 (%p)\n",
|
||||
entry, LIST_POISON1) ||
|
||||
WARN(prev == LIST_POISON2,
|
||||
"list_del corruption, %p->prev is LIST_POISON2 (%p)\n",
|
||||
entry, LIST_POISON2) ||
|
||||
WARN(prev->next != entry,
|
||||
"list_del corruption. prev->next should be %p, "
|
||||
"but was %p\n", entry, prev->next) ||
|
||||
WARN(next->prev != entry,
|
||||
"list_del corruption. next->prev should be %p, "
|
||||
"but was %p\n", entry, next->prev))
|
||||
return;
|
||||
|
||||
__list_del(prev, next);
|
||||
}
|
||||
EXPORT_SYMBOL(__list_del_entry);
|
||||
|
||||
/**
|
||||
* list_del - deletes entry from list.
|
||||
* @entry: the element to delete from the list.
|
||||
@@ -43,19 +68,7 @@ EXPORT_SYMBOL(__list_add);
|
||||
*/
|
||||
void list_del(struct list_head *entry)
|
||||
{
|
||||
WARN(entry->next == LIST_POISON1,
|
||||
"list_del corruption, next is LIST_POISON1 (%p)\n",
|
||||
LIST_POISON1);
|
||||
WARN(entry->next != LIST_POISON1 && entry->prev == LIST_POISON2,
|
||||
"list_del corruption, prev is LIST_POISON2 (%p)\n",
|
||||
LIST_POISON2);
|
||||
WARN(entry->prev->next != entry,
|
||||
"list_del corruption. prev->next should be %p, "
|
||||
"but was %p\n", entry, entry->prev->next);
|
||||
WARN(entry->next->prev != entry,
|
||||
"list_del corruption. next->prev should be %p, "
|
||||
"but was %p\n", entry, entry->next->prev);
|
||||
__list_del(entry->prev, entry->next);
|
||||
__list_del_entry(entry);
|
||||
entry->next = LIST_POISON1;
|
||||
entry->prev = LIST_POISON2;
|
||||
}
|
||||
|
||||
+4
-3
@@ -736,10 +736,11 @@ next:
|
||||
}
|
||||
}
|
||||
/*
|
||||
* The iftag must have been set somewhere because otherwise
|
||||
* we would return immediated at the beginning of the function
|
||||
* We need not to tag the root tag if there is no tag which is set with
|
||||
* settag within the range from *first_indexp to last_index.
|
||||
*/
|
||||
root_tag_set(root, settag);
|
||||
if (tagged > 0)
|
||||
root_tag_set(root, settag);
|
||||
*first_indexp = index;
|
||||
|
||||
return tagged;
|
||||
|
||||
@@ -315,6 +315,7 @@ void rb_augment_insert(struct rb_node *node, rb_augment_f func, void *data)
|
||||
|
||||
rb_augment_path(node, func, data);
|
||||
}
|
||||
EXPORT_SYMBOL(rb_augment_insert);
|
||||
|
||||
/*
|
||||
* before removing the node, find the deepest node on the rebalance path
|
||||
@@ -340,6 +341,7 @@ struct rb_node *rb_augment_erase_begin(struct rb_node *node)
|
||||
|
||||
return deepest;
|
||||
}
|
||||
EXPORT_SYMBOL(rb_augment_erase_begin);
|
||||
|
||||
/*
|
||||
* after removal, update the tree to account for the removed entry
|
||||
@@ -350,6 +352,7 @@ void rb_augment_erase_end(struct rb_node *node, rb_augment_f func, void *data)
|
||||
if (node)
|
||||
rb_augment_path(node, func, data);
|
||||
}
|
||||
EXPORT_SYMBOL(rb_augment_erase_end);
|
||||
|
||||
/*
|
||||
* This function returns the first node (in sort order) of the tree.
|
||||
|
||||
Reference in New Issue
Block a user