From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755404Ab3HWPGS (ORCPT ); Fri, 23 Aug 2013 11:06:18 -0400 Received: from e39.co.us.ibm.com ([32.97.110.160]:40855 "EHLO e39.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755293Ab3HWPF4 (ORCPT ); Fri, 23 Aug 2013 11:05:56 -0400 From: zwu.kernel@gmail.com To: linux-kernel@vger.kernel.org Cc: walken@google.com, akpm@linux-foundation.org, Zhi Yong Wu Subject: [PATCH] rbtree: Add some necessary condition checks Date: Fri, 23 Aug 2013 23:03:13 +0800 Message-Id: <1377270193-8710-1-git-send-email-zwu.kernel@gmail.com> X-Mailer: git-send-email 1.7.11.7 X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13082315-9332-0000-0000-000001303889 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Zhi Yong Wu Signed-off-by: Zhi Yong Wu --- include/linux/rbtree_augmented.h | 3 ++- lib/rbtree.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/rbtree_augmented.h b/include/linux/rbtree_augmented.h index fea49b5..7d19770 100644 --- a/include/linux/rbtree_augmented.h +++ b/include/linux/rbtree_augmented.h @@ -199,7 +199,8 @@ __rb_erase_augmented(struct rb_node *node, struct rb_root *root, } successor->rb_left = tmp = node->rb_left; - rb_set_parent(tmp, successor); + if (tmp) + rb_set_parent(tmp, successor); pc = node->__rb_parent_color; tmp = __rb_parent(pc); diff --git a/lib/rbtree.c b/lib/rbtree.c index c0e31fe..329f2bc 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c @@ -226,7 +226,8 @@ ____rb_erase_color(struct rb_node *parent, struct rb_root *root, */ parent->rb_right = tmp1 = sibling->rb_left; sibling->rb_left = parent; - rb_set_parent_color(tmp1, parent, RB_BLACK); + if (tmp1) + rb_set_parent_color(tmp1, parent, RB_BLACK); __rb_rotate_set_parents(parent, sibling, root, RB_RED); augment_rotate(parent, sibling); -- 1.7.11.7