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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1373CC4332F for ; Tue, 31 Oct 2023 16:36:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 680208D001A; Tue, 31 Oct 2023 12:36:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 62FEF8D0012; Tue, 31 Oct 2023 12:36:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51EFC8D001A; Tue, 31 Oct 2023 12:36:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 44D0D8D0012 for ; Tue, 31 Oct 2023 12:36:06 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 12F4B1201D7 for ; Tue, 31 Oct 2023 16:36:06 +0000 (UTC) X-FDA: 81406308732.03.DFECA81 Received: from mail-out.m-online.net (mail-out.m-online.net [212.18.0.9]) by imf12.hostedemail.com (Postfix) with ESMTP id A08F640024 for ; Tue, 31 Oct 2023 16:36:03 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf12.hostedemail.com: domain of whitebox@nefkom.net designates 212.18.0.9 as permitted sender) smtp.mailfrom=whitebox@nefkom.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698770164; h=from:from:sender: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: in-reply-to:in-reply-to:references:references; bh=ja0q3lqllAChw4GshvBvuNwL8c6PSBMo+zldYxCb/NI=; b=EVnAWey0wWfgzjsUIjm00r4tPf8z9cLl6lzKh/2zq18xcLHMJEv6wEziY1eIXLR8NvGsTh pvf+scAUXP72Lp6fuxrwzMDQnuHxWBAOTpfmrl1K72ahc8jK2iTUawoVbXWss3NyUQKir2 QhuFgxmMLPfKK2C7LnjqY0TWMOvrNx4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf12.hostedemail.com: domain of whitebox@nefkom.net designates 212.18.0.9 as permitted sender) smtp.mailfrom=whitebox@nefkom.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698770164; a=rsa-sha256; cv=none; b=hCmoNkH5JRc4kTOAMejmI8Xw6/5lojr1arH9kNb3AAGV5CUJsIHeXThOOyAjvwgTUo0m// d6RAt/Wmtlsdp3rHbi0ZARRoxxoMNzcXWnPdCBhjjo1KoEpRML4mlsQfqkzwnXSNJj1K5Y JTg18ve0hruGHOjnUXq5uhlN0ZD2C0w= Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4SKbNw3bKHz1r1sM; Tue, 31 Oct 2023 17:36:00 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 4SKbNv719Xz1qqlW; Tue, 31 Oct 2023 17:35:59 +0100 (CET) X-Virus-Scanned: amavis at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavis, port 10024) with ESMTP id gPAjuvIpFzIo; Tue, 31 Oct 2023 17:35:58 +0100 (CET) X-Auth-Info: 7WVihqLGSDRZy2DvJB4lOgCCHp8jng0ZYt5id1i0l8Oow3unYQFAovJz6kwHdGof Received: from igel.home (aftr-62-216-205-72.dynamic.mnet-online.de [62.216.205.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Tue, 31 Oct 2023 17:35:58 +0100 (CET) Received: by igel.home (Postfix, from userid 1000) id 943A12C12E3; Tue, 31 Oct 2023 17:35:57 +0100 (CET) From: Andreas Schwab To: Emil Renner Berthing Cc: Charlie Jenkins , linux-riscv@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Eric Biederman , Kees Cook , Paul Walmsley , Palmer Dabbelt , Albert Ou , Samuel Holland , Nelson Chu , Emil Renner Berthing Subject: Re: [PATCH v7 1/3] riscv: Avoid unaligned access when relocating modules In-Reply-To: (Emil Renner Berthing's message of "Tue, 31 Oct 2023 06:11:47 -0700") References: <20231031-module_relocations-v7-0-6f4719b64bf7@rivosinc.com> <20231031-module_relocations-v7-1-6f4719b64bf7@rivosinc.com> X-Yow: Could I have a drug overdose? Date: Tue, 31 Oct 2023 17:35:57 +0100 Message-ID: <878r7iiwb6.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Rspam-User: X-Stat-Signature: ybcaq7wqdouhnqtu49rw3fgrzda997gn X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: A08F640024 X-HE-Tag: 1698770163-124502 X-HE-Meta: U2FsdGVkX1+a87hTfI4s1wm+BqKQDwP7GFLfQN0D6LrBj6QsvW0OIhnNsroEjNFOErO0WBNs5pFnUfm+wnkYucYrZKJyXtyNm31vfx8tODlNWbW6mOlx97S64kFSlw/gPM0yexy5+fIEwQK2KYO0fvcQSejD7zPlYP7o4P3u4rDcy5XTE0clzVCuJWuMgkM3AcjwSJ9s03pfSPiL2vkwGyN6zksLsPkLtHHG33zlCyYOV53JhECeEAFjLIA7+IZnJrVCf9ZTeCJOGWqUCi/DDtBsM0l7LDr1CJsISPu2DHYQOPJnBxQ9nG25PHIbQV6nVYaVaX3EmpNUT+m7A/ofkv80fx8jJfjn2CwLBpT5+2tyBjI+CxHEGs9CStX1XmVp16aRDhKumnOG9kUWfu4E6PLA48NM71Gvol0NmfVz48oko2/aXCc8mzo2uvPZVcurQsLcVPGvYBznnPebq7avwTCWGlCUEUDSCuDYGt0mqBJypkJNvzA4j66ofweb0uEyD2FMv1GQsixmfn/BFVCEnmRnAKKK6GR3PKytmkvWDCe6W0NRFDMMdbqGopmjrjo3d2/1IOgPt07WQUZxx9xZQvwyXflCPc4T6GU2SLwzLPraHAhH11J942CtMDurA7C7essv6jtTl8PQUfQJZFIKrY2kl/1SoONzsSyJE/xQWp04Ags/tfqurqVPuhu7Dp0Ium8HWu5YYtdTBDab63JaPTIBYv+hhQsDhUXF4ayduB8MQXUSuDdgKztDNnqBDpdfp9cL7Hn/D3spsblzZo8XjNpWVNcLOV97eHHgjvIN514ZzewpnfCfpJsOCoWNEg1+JE5gJlUTOPSdq1/oNZOt1aEA7RrNd1XIIIUDxzu+kN/uoXyDKF/rgPsChYVXJCCF7QCeAAGe6MrjV8eW3D3z58P32igW0cgSuPI14UVjOIP82y+KJvJjkGmW+FB5nPlKg+1JLt4CGzF6KCCReF5 FbushWo4 gnmPEKCEuqMCVtp7Zmine98FhadZF+am0+f0Z5PT7KdWBJJ+Sbv3ao9946W+2hVrMAzaHcsK88JHYADd2yRutSXHpRd2fd5QFfTIeAOSYiq2xnxDZIw89jx4D1p+78PSQB9OWXn/XqJKIpmtgstoLG+b0ZHd9ONkXYG+cP7AKdYWIDHN4vu4rjPqmn+Gy3/vqO4b9WVxdglF0Xhs3tJ9ytv5ReNtJfwl0hUO5j3S7uPF5/8EQ48fGUcjTgzIM0YZ4LBaGhjmyd/Mcc9q64LTRzk7Z7WI28AOGvWzx+gjzyy62m2l0NrcHrBxChDKVrKMJpXGpmMtJ3fFtA/c= X-Bogosity: Ham, tests=bogofilter, spamicity=0.053595, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Okt 31 2023, Emil Renner Berthing wrote: >> +static int riscv_insn_rmw(void *location, u32 keep, u32 set) >> +{ >> + u16 *parcel = location; >> + u32 insn = (u32)le16_to_cpu(parcel[0]) | (u32)le16_to_cpu(parcel[1]) << 16; >> + >> + insn &= keep; >> + insn |= set; >> + >> + parcel[0] = cpu_to_le32(insn); > > Why cpu_to_le32(insn)? Unless I've misunderstood something downcasting unsigned > to unsigned values in C (eg. from u32 to u16) is defined to always discard the > most signifcant bits, so cpu_to_le16(insn) should be fine. cpu_to_le32(insn) can't be right here anyway, since it also swaps the two u16 halves and would be the same as cpu_to_le16(insn >> 16) on big endian. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."