From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay11.mail.gandi.net (relay11.mail.gandi.net [217.70.178.231]) by sourceware.org (Postfix) with ESMTPS id 9E7A9385152D for ; Fri, 28 Oct 2022 15:13:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9E7A9385152D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=seketeli.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=seketeli.org Received: (Authenticated sender: dodji@seketeli.org) by mail.gandi.net (Postfix) with ESMTPSA id B9449100002; Fri, 28 Oct 2022 15:13:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seketeli.org; s=gm1; t=1666970030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TcOlOGlfsWQpHwPbIf8CX9UDq/p5N0KWBuhE2vwgIBQ=; b=lS4gE4ChPcj4wn1W1zJlBiYOGoChJGQUxTgrsw7h9bMe4k/C/t0d9Ex7xwP5eujHFYbzhF pKxgF439eZifdYbDIkWCwtn8CmL4IdkJXQMgsaYGfYaiig7N6/kUrCja2hcoqDzYEz5h/n fVx+WlimgbgOurkhx2HvVz8zWEtq5kUpQRILYEaTfUkS0VZ4WI0vEQmgYofz515TffNQHu QTc3+yEaSngwFnwW4wx5m9xe/v0qfZS+Y6ffPx/vc0L2+//Prtn/GBcZd9oVHaAyn/jV+W KlXeyImrU3rpm28e4E/ywAcOTZK+eIT+fF/X8NXKvdx04G6y5EImfixZXwy7GA== Received: by localhost (Postfix, from userid 1000) id C8FCC18008C6; Fri, 28 Oct 2022 17:13:47 +0200 (CEST) From: Dodji Seketeli To: Giuliano Procida Cc: libabigail@sourceware.org, kernel-team@android.com, maennich@google.com, sidnayyar@google.com, vvvvvv@google.com Subject: Re: [PATCH] Narrow Linux symbol CRCs to 32 bits Organization: Me, myself and I References: <20221027140928.1480353-1-gprocida@google.com> X-Operating-System: Red Hat Enterprise Linux Workstation 7.9 X-URL: http://www.seketeli.net/~dodji Date: Fri, 28 Oct 2022 17:13:47 +0200 In-Reply-To: (Giuliano Procida's message of "Thu, 27 Oct 2022 16:53:40 +0100") Message-ID: <875yg4ugk4.fsf@seketeli.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello Giuliano, Giuliano Procida a =C3=A9crit: > Self-reply. > > On Thu, 27 Oct 2022 at 15:09, Giuliano Procida wrot= e: >> >> MODVERSIONS CRCs are 32-bit hashes of strings representing C type >> elements or typed symbols. The hash is calculated using a 32-bit CRC, >> hence the name. The kernel module loading code (implicitly) truncates >> any provided CRC value to 32 bits before comparing it with anything. >> >> When support was added to libabigail, values up to 64 bits wide were >> supported. > > True so far. > >> Recently, Linux kernel builds have now started generating >> ELF CRC symbols with 64-bit values (where the low 32 bits are the >> CRC). Together this has resulted in incorrect CRCs in ABIs. > > The actual problem is a change to how CRCs are emitted in kernel objects. > I think the change 7b4537199a4a8480b8c3ba37a2d44765ce76cd9b was > responsible. > >> This change resolves the problem by narrowing libabigail's concept of >> Linux CRC to 32 bits. No tests are affected. > > The representation change is fine. The problem with bad CRCs is still > there. The changes look good to me. Do you want me to apply it right now, or do you prefer to send a subsequent patch that addresses the new way how CRCs are emitted in kernel object? I am fine with either way.=20 [...] Cheers, --=20 Dodji