From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4DB69EDA693 for ; Tue, 3 Mar 2026 16:10:02 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4fQLNm5bXCz3c9l; Wed, 04 Mar 2026 03:10:00 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=213.95.11.211 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1772554200; cv=none; b=humI6h5J6VxEs3cqJIsEt2whIOfEaJ2UtL98m0EsgCtnfkDaANZ+yBw9QFLIXFthxdj8Wj/NT6IC5bDC+Wnd8XlKwErKDGm9YmLGtezCKQ9jl4JaHwTc5YrKL15qW3qx6DR6N8XrKA65PmWaLLqhBfy1PipgTBsh6aORKpdt50E7rapKG5xO6ANeqdKnb/1ePQrzXY1rOXtlLn/FBnr95vEIwonQRs0JW6qpUIwEPuQuHr+g4THlVwz/1g+Ox+O92ERFi/lv+see4OAl7G+YAknNodjFuEBYwoEvFKRuib7kHimxyHVJRBAMkzL4toUVuSf/K4dqWtWUKrEHr4BQ9g== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1772554200; c=relaxed/relaxed; bh=HZwhrmuRPeFiAL7U9ekfKCBSdNddOHmeVRgOtJ35nGY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=C9gDWNjNslo2iIMx53wHUcA+kGy3o3CIOob8a1PPGtCXEHTqdY0qxPI5BZxb3qegP1nboD1RA0gQyreSU/iJ/2N1ef3c1CpZ+k8Q+EmaBKncx3fImtL4iPMWE8dOsrTT7EuzDXAANb+E1JlpBuftsGLY0f5CF9irp9om7Wnae/D3AVLSC1L8rAEkr3mpqGhVGeWAh2r6aOuklJG+ptXHtRj3VzeCdl6mTy4avKre+0gxAJISbsRMuhfEPchKr8826cQdm5uHw30KzBmsNrBt+SsW68smfkiPKeOf8xXrTu6grY+AleTkbBsNCtcLdJvFm36anbQfI4eZrUvK150FjQ== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=lst.de; spf=pass (client-ip=213.95.11.211; helo=verein.lst.de; envelope-from=hch@lst.de; receiver=lists.ozlabs.org) smtp.mailfrom=lst.de Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=lst.de Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lst.de (client-ip=213.95.11.211; helo=verein.lst.de; envelope-from=hch@lst.de; receiver=lists.ozlabs.org) Received: from verein.lst.de (verein.lst.de [213.95.11.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4fQLNm0wz5z3bn4 for ; Wed, 04 Mar 2026 03:10:00 +1100 (AEDT) Received: by verein.lst.de (Postfix, from userid 2407) id 6BC1768C4E; Tue, 3 Mar 2026 17:09:55 +0100 (CET) Date: Tue, 3 Mar 2026 17:09:55 +0100 From: Christoph Hellwig To: Eric Biggers Cc: Christoph Hellwig , Andrew Morton , Richard Henderson , Matt Turner , Magnus Lindholm , Russell King , Catalin Marinas , Will Deacon , Huacai Chen , WANG Xuerui , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , "David S. Miller" , Andreas Larsson , Richard Weinberger , Anton Ivanov , Johannes Berg , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Herbert Xu , Dan Williams , Chris Mason , David Sterba , Arnd Bergmann , Song Liu , Yu Kuai , Li Nan , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-crypto@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-arch@vger.kernel.org, linux-raid@vger.kernel.org Subject: Re: [PATCH 24/25] xor: pass the entire operation to the low-level ops Message-ID: <20260303160955.GJ7021@lst.de> References: <20260226151106.144735-1-hch@lst.de> <20260226151106.144735-25-hch@lst.de> <20260228065810.GJ65277@quark> X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260228065810.GJ65277@quark> User-Agent: Mutt/1.5.17 (2007-11-01) On Fri, Feb 27, 2026 at 10:58:10PM -0800, Eric Biggers wrote: > On Thu, Feb 26, 2026 at 07:10:36AM -0800, Christoph Hellwig wrote: > > +#define __DO_XOR_BLOCKS(_name, _handle1, _handle2, _handle3, _handle4) \ > > +void \ > > +xor_gen_##_name(void *dest, void **srcs, unsigned int src_cnt, \ > > + unsigned int bytes) \ > > +{ \ > > + unsigned int src_off = 0; \ > > + \ > > + while (src_cnt > 0) { \ > > + unsigned int this_cnt = min(src_cnt, 4); \ > > + unsigned long *p1 = (unsigned long *)srcs[src_off]; \ > > + unsigned long *p2 = (unsigned long *)srcs[src_off + 1]; \ > > + unsigned long *p3 = (unsigned long *)srcs[src_off + 2]; \ > > + unsigned long *p4 = (unsigned long *)srcs[src_off + 3]; \ > > This reads out of bounds if src_cnt isn't a multiple of 4. Assuming the compiler doesn't do the obvious optimization and drop it, but yes, should be easy enough to avoid this.