Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp4485551rwl; Mon, 10 Apr 2023 11:47:46 -0700 (PDT) X-Google-Smtp-Source: AKy350bvw7KwY80Ne7JdD2MpDL4mVp1ntxe5uOWQ0PdZ6zugCQoTABnfZTCM4EnFQihuFJ8Y7/BL X-Received: by 2002:a17:906:ecac:b0:94a:82ca:12e5 with SMTP id qh12-20020a170906ecac00b0094a82ca12e5mr5064662ejb.45.1681152466697; Mon, 10 Apr 2023 11:47:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681152466; cv=none; d=google.com; s=arc-20160816; b=l7i0okjpZQ1RdiXTGxPqnOfD4i0dk/LFkf8DO2UPmpRpJaiE1HTYl7GHCwbB5eXzdi GkVZv6tstUBq5XfiK+Q1OyfcxYB4FULqtlCi9LHCGZtiWrTzAzqg1FEPl18lDm/hwbNQ MyBTbo5TfO+syKq5NPRkUaMnbkDiI9rDu4197Lqx9KHJCgh28cgvt5/yiciShuT14Oeb omGss+xh+lcPmVPw9sOD7tjJll8TnvsGFuuDTeSoCd/CrP+w5nmo5zkwuZivd+ZXDJR+ jw6w5W/hi5fBHSbe42j732Zihaw7Iep9hOBAcID5lZrX0hQOXcgfF62SdcHl+J7hT1fj n/XA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=/vdoJIHNf30Uwt3D3Qd4mkMgNJLGXp6k978bYzC0DUI=; b=nm6yEewyZ5p8zopn18kq8x5mkdPRlA2z38i8rYXOYnYIcRkcg3VvK1Bu0SMf5gnhZi JDr6vHMk+L9InOkzjEJ25a+ScqTJlWVrmwcIwaf+vbuc9zBn6NtSMKFTz0fTDp17KPoM I12nalsa8cXFfsiZ1YWDM7L9ulxJkrWiPARoMBxwApf+KbuzG0CJ+VCdyfQg3QEyFq3j f9iXuS8PEZHNP7O9uBXH03eqVbvt+EmljOMxYRVlpEUHg+sHt29MHMJD2mVbroj/DyS1 SVcgmNxXxvoCp7cl0Exn8TOPIQlO5iUANGEhPfCS2trlWWjdCh8m8dAc5QQ4kUYh3FCb Qtkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=T6r13krD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s1-20020a1709067b8100b0094aa6622294si1477600ejo.662.2023.04.10.11.47.22; Mon, 10 Apr 2023 11:47:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=T6r13krD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229873AbjDJSpw (ORCPT + 99 others); Mon, 10 Apr 2023 14:45:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50440 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229645AbjDJSpv (ORCPT ); Mon, 10 Apr 2023 14:45:51 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97E5E10C7; Mon, 10 Apr 2023 11:45:50 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 2F1F7614B3; Mon, 10 Apr 2023 18:45:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09E21C433D2; Mon, 10 Apr 2023 18:45:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1681152349; bh=0n4eaHIxt403lbgomlAGAL123JZ2zK8IK+30XDNzj8Y=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=T6r13krDEDJEGWRefoOLT3kEnwfW2FpoNaRNtSbXyPwyPDVpS8vkoJS2IssSSPuIm ZHhVLn7Uj49zY/sThsvBPPJ02qxK7OEBBf42tjAMosD/yWsl6KFbsMie6IliwxlGpY I/0+W+cIrt2AW1Y8RpFV6jlT7X1XRFaS/wy8bAZ8= Date: Mon, 10 Apr 2023 20:45:46 +0200 From: Greg Kroah-Hartman To: Masahiro Yamada Cc: John Moon , Nathan Chancellor , Nick Desaulniers , Nicolas Schier , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Randy Dunlap , Arnd Bergmann , Bjorn Andersson , Todd Kjos , Matthias Maennich , Giuliano Procida , kernel-team@android.com, libabigail@sourceware.org, Jordan Crouse , Trilok Soni , Satya Durga Srinivasu Prabhala , Elliot Berman , Guru Das Srinagesh Subject: Re: [PATCH v5 1/2] check-uapi: Introduce check-uapi.sh Message-ID: <2023041015-lunar-dandelion-1b4e@gregkh> References: <20230407203456.27141-1-quic_johmoo@quicinc.com> <20230407203456.27141-2-quic_johmoo@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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 Mon, Apr 10, 2023 at 07:03:05PM +0900, Masahiro Yamada wrote: > On Sat, Apr 8, 2023 at 5:35 AM John Moon wrote: > > > > While the kernel community has been good at maintaining backwards > > compatibility with kernel UAPIs, it would be helpful to have a tool > > to check if a commit introduces changes that break backwards > > compatibility. > > > > To that end, introduce check-uapi.sh: a simple shell script that > > checks for changes to UAPI headers using libabigail. > > > > libabigail is "a framework which aims at helping developers and > > software distributors to spot some ABI-related issues like interface > > incompatibility in ELF shared libraries by performing a static > > analysis of the ELF binaries at hand." > > > > The script uses one of libabigail's tools, "abidiff", to compile the > > changed header before and after the commit to detect any changes. > > > > abidiff "compares the ABI of two shared libraries in ELF format. It > > emits a meaningful report describing the differences between the two > > ABIs." > > > > The script also includes the ability to check the compatibility of > > all UAPI headers across commits. This allows developers to inspect > > the stability of the UAPIs over time. > > > > Signed-off-by: John Moon > > > > BTW, is there anybody (except the submitters) who loves this tool? > (or anybody who has ever evaluated this?) I evaluated the first one, and yes, I do want this, but I haven't tested it out yet, sorry. I get patches for header files all the time and hand-verifying that they don't break the abi is a pain at times > According to this tool, it looks like we broke a lot of UAPI > headers in the previous MW (between v6.2 and v6.3-rc1). That's not ok, and needs to be fixed, otherwise this is useless as no one can rely on it at all. > The script takes some time because it builds many objects > internally. > > However, once this script starts running, you must not hit Ctrl-C. > If you do it, your repository will be sprinkled with a ton > of untracked files. That needs to be unwound and fixed. > CAVEAT > This tool runs 'git checkout' a couple of times internally. > If you interrupt it, your worktree might be messed up. ctrl-c can be properly caught and the git state needs to be restored for this to be able to be accepted. thanks, greg k-h