Received: by 2002:a05:7412:cfc7:b0:fc:a2b0:25d7 with SMTP id by7csp1024197rdb; Mon, 19 Feb 2024 01:27:11 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVw/dexlgb7av12UcVlq2drEMvbivwUfR9lF0jGNCI57zjcRf+4axsXBQ+npcsCuuL0ckpdFJt1W6XTtxMD7OwvZPbxlWUBh5frCate5A== X-Google-Smtp-Source: AGHT+IEevkYINH3k3/+54VR9RvXp3D2bwswgS1H+yX174bmEzMKLP/Nhey0RN0rqFTbJDIrWRBeh X-Received: by 2002:a05:620a:21db:b0:787:3b4e:894e with SMTP id h27-20020a05620a21db00b007873b4e894emr11305507qka.55.1708334831463; Mon, 19 Feb 2024 01:27:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708334831; cv=pass; d=google.com; s=arc-20160816; b=euW2OQorhqfX5IXMgFFzH12/t3/k0CH9tUKjsN7Ta5AwsiZi/XkvX0rJthvzKvvKhT 2O7Ld4oPj1nyR345BPV9qYHwIXOuNwzJpoeSvtNb4kZy0X3vho6W3vmVjAeLd72Ho/9Y qlV1AQloUV3ltNSENzbV7Y18SXLFfNPyFK/LyCmS6RJJ6lvV1XE6njJ0SQENHJ0A6omd UTaU4ozBWF0YsUHK0145zHHNyVBpN1std2UbwXRvX/8fMnCqok8KrXoFChE7fxHizyHB o+6JhQVQecBHctNe7O3ptF+3CbQaZyLUN8kioSWfq6lutAZSkG96Hsuo8PABgS9lD07n 4SzQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:in-reply-to:content-disposition:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:references :message-id:subject:cc:to:from:date:dkim-signature; bh=/LzjvA8uDCXuz1zAKNQ/JIcMEOk4CVtuLJzwpOkdWrY=; fh=vJzFciLaVFyvMJsdtU1mYHWvvSoJE3A5oHf9rVZNrLU=; b=bwVFhW7c9olwm5SP1zRxf2v8BKqUDommvMEUlUz+TbX0tdUE4LDQ/jjus2r7pJN683 8S1Dl1y4l01wOiM6v4WL/j8C9nBh4ZHKiuRNrEBMHLat96l7tycVSyjw8UM2WxWhAlaF ix6c94Cz16JgTD+4qq47tWQ5JGnsBpEDe/JYm1ew3a9lpiVE1Xlm+Bdec8JUMOrf6uXl W1sUCdQQPkoKZtjXYYXH+1Q62BwOoZM04HvD/N739q0qTNY8S1lDxPFMkU39JQnJUUJK OlnIX7iyALDb44nBJA7uqnilMUoVJaev2mBMvwa2MVBIPpwYEn2SwhNpgdI2PTNmoYHq hZSQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=fail (test mode) header.i=@armlinux.org.uk header.s=pandora-2019 header.b=BIrabAyZ; arc=pass (i=1 dkim=pass dkdomain=armlinux.org.uk dmarc=pass fromdomain=armlinux.org.uk); spf=pass (google.com: domain of linux-kernel+bounces-71028-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-71028-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=armlinux.org.uk Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id z11-20020a05620a260b00b00783ab5f86adsi6381580qko.265.2024.02.19.01.27.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Feb 2024 01:27:11 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-71028-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=fail (test mode) header.i=@armlinux.org.uk header.s=pandora-2019 header.b=BIrabAyZ; arc=pass (i=1 dkim=pass dkdomain=armlinux.org.uk dmarc=pass fromdomain=armlinux.org.uk); spf=pass (google.com: domain of linux-kernel+bounces-71028-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-71028-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=armlinux.org.uk Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3441A1C210F5 for ; Mon, 19 Feb 2024 09:27:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B6FE423772; Mon, 19 Feb 2024 09:27:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b="BIrabAyZ" Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [78.32.30.218]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3CCFC224DA; Mon, 19 Feb 2024 09:27:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=78.32.30.218 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708334824; cv=none; b=XEdU3hI15gZFiHU4qrUaCCqUE2azB0W939zvbxsBgthECCUirwYgvfj7qtobd5UI2qo2pOECUQYygpQT0LypgVaygUEBjL/7hsGk7p/2JacOeQUP91IksIJqtc0GrUkko6FnTR1MTTO9j+EVtd5aNNKGtjdNwYaK5zeXuhC2a+c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708334824; c=relaxed/simple; bh=pV6OcNifszV+/iw/c/toiIcPwTQmu3XK4ZhLAbXV/s0=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=hVWE1WCXGnV+IyGdBtNx2LfIFh+HTy017JbJJW5UjDs4oPn+3nV6mFq7CRNyO2wuWBJFAC4UmdxthTT5Mgl3dYJ6pEV621BpurXmHAfLvrPUuTDyxjsD3Z1NRc57Yt0zOrkvYcamJBQjJnNX3igEoh2Kg3cuE3NnjXIViMti9AM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk; spf=none smtp.mailfrom=armlinux.org.uk; dkim=pass (2048-bit key) header.d=armlinux.org.uk header.i=@armlinux.org.uk header.b=BIrabAyZ; arc=none smtp.client-ip=78.32.30.218 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=armlinux.org.uk Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=armlinux.org.uk DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=/LzjvA8uDCXuz1zAKNQ/JIcMEOk4CVtuLJzwpOkdWrY=; b=BIrabAyZ8H2iJoFDb7tlM63h4l H76D4cYaNEZF5I8dY23y8rCEtyQ6fr+MXAIsGmyZKHE52skjAw/RurHXN52SfRtkhGmrEA+iw3CzE l9qVcW+QMNKoDcVJhrrn/OD/dpslVZkPc3Q/CImSSBN9OFK1vbUpnf4m6Cf98GgUHCJ7560xygNi1 AbiQSCpfThgGr9XeBqHgUL2SHeV1mXZC4gFFmL0MACVhmvKzuFsIIN767oHljmjXGgtB1nhqpPT9Q 85WaKiGLU/DN/mEQYQS1QrGUkdqerCnGXLtajv0Rob8cSgbgqFUxmimY90rtM5nFnSQjbGcJJ7YFB UtRFz0NQ==; Received: from shell.armlinux.org.uk ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:56090) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rbzvK-0005wJ-01; Mon, 19 Feb 2024 09:26:54 +0000 Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1rbzvH-0008FV-N8; Mon, 19 Feb 2024 09:26:51 +0000 Date: Mon, 19 Feb 2024 09:26:51 +0000 From: "Russell King (Oracle)" To: Arnd Bergmann Cc: Calvin Owens , Dave Martin , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, "linux-bcachefs@vger.kernel.org" , Kent Overstreet Subject: Re: [PATCH] arm: Silence gcc warnings about arch ABI drift Message-ID: References: <431dd956-ad31-4da8-ad42-34f7380824bb@app.fastmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <431dd956-ad31-4da8-ad42-34f7380824bb@app.fastmail.com> Sender: Russell King (Oracle) On Mon, Feb 19, 2024 at 07:21:11AM +0100, Arnd Bergmann wrote: > I think these should be addressed in bcachefs instead. > While it's not the fault of bcachefs that the calling > convention changed between gcc versions, have a look at > the actual structure layout: > > struct bch_val { > __u64 __nothing[0]; > }; > struct bpos { > /* > * Word order matches machine byte order - btree code treats a bpos as a > * single large integer, for search/comparison purposes > * > * Note that wherever a bpos is embedded in another on disk data > * structure, it has to be byte swabbed when reading in metadata that > * wasn't written in native endian order: > */ > #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ > __u32 snapshot; > __u64 offset; > __u64 inode; > #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ > __u64 inode; > __u64 offset; /* Points to end of extent - sectors */ > __u32 snapshot; > #else > #error edit for your odd byteorder. > #endif > } __packed > struct bch_backpointer { > struct bch_val v; > __u8 btree_id; > __u8 level; > __u8 data_type; > __u64 bucket_offset:40; > __u32 bucket_len; > struct bpos pos; > } __packed __aligned(8); > > This is not something that should ever be passed by value > into a function. +1 - bcachefs definitely needs fixing. Passing all that as an argument not only means that it has to be read into registers, but also when accessing members, it has to be extracted from those registers as well. Passing that by argument is utterly insane. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!