From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755441AbcIUWfd (ORCPT ); Wed, 21 Sep 2016 18:35:33 -0400 Received: from sender153-mail.zoho.com ([74.201.84.153]:25403 "EHLO sender153-mail.zoho.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750939AbcIUWfc (ORCPT ); Wed, 21 Sep 2016 18:35:32 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=zapps768; d=zoho.com; h=subject:to:references:cc:from:message-id:date:user-agent:mime-version:in-reply-to:content-type; b=geu2d+eP/n4pzStbgJMeuDkOgfDzDj357ECHf96ZptIKeYUasSOWd4whpsJ/+Hd/JyyVpJRvbZ6D tKtt+wSsBRedtTeH8LYC+DYyBAgSsk7UgENDQY+4kRiE7xvLRkbq Subject: Re: [PATCH 1/5] mm/vmalloc.c: correct a few logic error for __insert_vmap_area() To: David Rientjes References: <57E20B54.5020408@zoho.com> Cc: zijun_hu@htc.com, Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, tj@kernel.org, mingo@kernel.org, iamjoonsoo.kim@lge.com, mgorman@techsingularity.net From: zijun_hu Message-ID: <034db3ec-e2dc-a6da-6dab-f0803900e19d@zoho.com> Date: Thu, 22 Sep 2016 06:35:19 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2016/9/22 5:10, David Rientjes wrote: > On Wed, 21 Sep 2016, zijun_hu wrote: > >> From: zijun_hu >> >> correct a few logic error for __insert_vmap_area() since the else >> if condition is always true and meaningless >> >> in order to fix this issue, if vmap_area inserted is lower than one >> on rbtree then walk around left branch; if higher then right branch >> otherwise intersects with the other then BUG_ON() is triggered >> > > Under normal operation, you're right that the "else if" conditional should > always succeed: we don't want to BUG() unless there's a bug. The original > code can catch instances when va->va_start == tmp_va->va_end where we > should BUG(). Your code silently ignores it. > Hmm, the BUG_ON() appears in the original code, i don't introduce it. it maybe be better to consider va->va_start == tmp_va->va_end as normal case and should not BUG_ON() it since the available range of vmap_erea include the start boundary but the end, BTW, represented as [start, end) this patch correct the logic to that mentioned in the comments, it maybe be more logical and more understandable