Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp1590940pxb; Tue, 8 Feb 2022 23:22:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJwp9KAPQ1OhGyhcYkGSE23L4wntHo1Sz6LpCRguRFJhl7mrNsvuwVutX54EgdYpkZwuKnns X-Received: by 2002:a63:8649:: with SMTP id x70mr858571pgd.564.1644391324083; Tue, 08 Feb 2022 23:22:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644391324; cv=none; d=google.com; s=arc-20160816; b=wIR//dErKI5qyReqZw12ulCQJH/DagGRrjJWvYRuNEk4XTesnzzenJLFhyNtS9KbYc hMQKfA+QPYSgsOK9hCJxMK/dVIngFyFRHuddimHo4JzczzZl8Yj7Eaaan1JQIvdpsxOm 4fxOF6b1Fka6yUMIwQwUaBOq/Vy4MIlsAUIse7cKrbU6SQqh5vVRXGLiF3sFPm8WIO2I tK+plkH6XOhTNTIovsabXmZG7c/LR69vRRKKT13LuGajxIBpzcFyHy14l1LysQ0Fid+2 vOgVxHULEk7wZV3J0OMpR0x8ew/SHpdPCnd4hyJynU4uC29MvmGvUA1sxvdTtk3POWfP 09GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:references :in-reply-to:mime-version:dkim-signature; bh=0l/46u8AZdLsXUbvuQUU485sD3pVp7EO/xSTTeL7cJM=; b=CAXwHVCN5r0M01PzdDkop32Gdz0Ur5maohi36X6GKkLKTwIvSwWnNge5BDjRJ1VzzZ oUG+vxh2niwC3FcAlRLF2JNXE4yBTnvv3KO2UKRqciGG7geWtIBw+4HwXUVHO4Inlix3 tN82Cp2N2m6jdnINEwciheffC/TngcO0QtASin1xKdRWaTM2iqvXsfJxNKPnFRvzyVps GEXz0Nh9IkFKarARqEOe4amGjCjxtPSxYYT8pDdKR4Wsd9GyVMXTVQCWV9nhugEwItPn 4n2yBioLOr6W70bVE6mzVc/iBxJ0Qep5x4BG0al/UGQfwGMkny97E5LlU97KRKKl91rG skHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@eclypsium.com header.s=google header.b=I6UYi9kk; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=eclypsium.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id 185si1055639pgd.395.2022.02.08.23.21.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Feb 2022 23:22:04 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@eclypsium.com header.s=google header.b=I6UYi9kk; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=eclypsium.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 33142E01645E; Tue, 8 Feb 2022 22:35:25 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1387465AbiBHW2A (ORCPT + 99 others); Tue, 8 Feb 2022 17:28:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33510 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1386645AbiBHVBY (ORCPT ); Tue, 8 Feb 2022 16:01:24 -0500 Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com [IPv6:2607:f8b0:4864:20::b29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8CE6DC0612BC for ; Tue, 8 Feb 2022 13:01:23 -0800 (PST) Received: by mail-yb1-xb29.google.com with SMTP id 192so175303ybd.10 for ; Tue, 08 Feb 2022 13:01:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eclypsium.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=0l/46u8AZdLsXUbvuQUU485sD3pVp7EO/xSTTeL7cJM=; b=I6UYi9kkOMT9ddLuK3RphTOoWfxZRmyQVibkm2fFhnajqkBSlf14Q7WYN/fGMFsDli DE2IgaJM90B361A7HdTnYwS8c2La3jGWOSzjm2JcfQBstBkNZU++5vi1sEqHSRK3f/Yv MZAWCl3PHgpp8rVOCJwsvi2/nnii0OgHVhLdBejC3n1KxAp/1VrWLACdwFQxjPuWTNXk rKYBSYZuqVjd1RnA5Q99LfnwZADSRC2oIxTuwWNqzAEocO+OJn0qLwMkq3v3T/robeFM naj0UCn+AkfURPzWzOTp1GFHB4QYdTRo3pV7xDlpscDMnJ74+1tDLCZFlimNvvT3YEZn 1OxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=0l/46u8AZdLsXUbvuQUU485sD3pVp7EO/xSTTeL7cJM=; b=NA4jtrjxlBGxXyY8AJA90yrkQirhv7TigcaOMPu7J7NgnBXLylYhMEhNv+m+58TJFl E0EU86AslmbrNR58+dE/HamD4dzjiNRtSz/oU+dRgjkLCpr975RVF+ZiWiK5LA1qVxYF bpT8PCxN5r/mOwpmmF0pNFmVAyC0P5P4D6tut0IQaNuHJlvH90EucwNqLNvpHss7e7g1 AXZ6PceGMlaY+Ytz66J6JS5Nu8CDCZmW66S39/DHHYmQd65RlW3u8IDetJkPU8EY+FgQ vR8nU/umBShn495RyEr3dXfZS3cbncXOtlHzUCz7rF36Y+enSNX9t3gTf6xhCgTodigh RUSQ== X-Gm-Message-State: AOAM530ko/qKsUViEtjqagS5Ay9xNyWSovwvprBDRdGOgK2JY0k+mc51 zsLiIM3fOtT7jPppFjgF4tl4Q8RAbVnsja9qk+yQIT1LU2WsOg== X-Received: by 2002:a25:abaa:: with SMTP id v39mr6351030ybi.393.1644354082773; Tue, 08 Feb 2022 13:01:22 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a81:174d:0:0:0:0:0 with HTTP; Tue, 8 Feb 2022 13:01:21 -0800 (PST) In-Reply-To: References: <20220203164328.203629-1-martin.fernandez@eclypsium.com> <20220203164328.203629-4-martin.fernandez@eclypsium.com> <202202071325.F8450B3B2D@keescook> From: Martin Fernandez Date: Tue, 8 Feb 2022 18:01:21 -0300 Message-ID: Subject: Re: [PATCH v6 3/6] x86/e820: Refactor range_update and range_remove To: Mike Rapoport Cc: Kees Cook , linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-mm@kvack.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, ardb@kernel.org, dvhart@infradead.org, andy@infradead.org, gregkh@linuxfoundation.org, rafael@kernel.org, akpm@linux-foundation.org, daniel.gutson@eclypsium.com, hughsient@gmail.com, alex.bazhaniuk@eclypsium.com, alison.schofield@intel.com Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/8/22, Mike Rapoport wrote: > On Mon, Feb 07, 2022 at 01:45:40PM -0800, Kees Cook wrote: >> On Thu, Feb 03, 2022 at 01:43:25PM -0300, Martin Fernandez wrote: >> > __e820__range_update and e820__range_remove had a very similar >> > implementation with a few lines different from each other, the lines >> > that actually perform the modification over the e820_table. The >> > similiraties were found in the checks for the different cases on how >> > each entry intersects with the given range (if it does at all). These >> > checks were very presice and error prone so it was not a good idea to >> > have them in both places. >> >> Yay removing copy/paste code! :) > > Removing copy/paste is nice but diffstat of > > arch/x86/kernel/e820.c | 383 ++++++++++++++++++++++++++++++----------- > 1 file changed, 283 insertions(+), 100 deletions(-) > > does not look nice even accounting for lots of comments :( > > I didn't look closely, but diffstat clues that the refactoring making > things much more complex. > Yes, that diffstat surprised me as well. I have to mention that 110 of those lines are kerneldocs and blank lines, which is quite a lot. Also you have to take into account that I expanded most of the function definitions for better formatting, which also took some space. And as I was able to focus the "hard" part of the problem into a single function, testing can be done easily as Kees suggested and I'm planning to do so in the next patch.