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 3E5F9C4332F for ; Tue, 31 Oct 2023 20:06:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AEEEB8E0001; Tue, 31 Oct 2023 16:06:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A78308D0003; Tue, 31 Oct 2023 16:06:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 93F968E0001; Tue, 31 Oct 2023 16:06:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 809558D0003 for ; Tue, 31 Oct 2023 16:06:47 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 587AC1CB726 for ; Tue, 31 Oct 2023 20:06:47 +0000 (UTC) X-FDA: 81406839654.17.A4341FE Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by imf23.hostedemail.com (Postfix) with ESMTP id 7309C140017 for ; Tue, 31 Oct 2023 20:06:45 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=YdJo3jrZ; spf=pass (imf23.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698782805; 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:dkim-signature; bh=lWGVGD/v1823PvN5lw+9ZoRQkBLtbriYZcZfAadSLGo=; b=LHUAjj27f9KDv+x5f5s0rEw5AnBM5CLhimRhBDpALoBnFbrUPXeFH14ZzYgkvawtDu9oQ7 L2drAYy2+vf2FgBqImaDEEiVzsDs+ClLrmpAaf1OMkU1qZiBZQXxHw2oQX82dafKP4lgX2 xfmB38DGOrkqHU3EQCa4CtlkIZKWhDk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698782805; a=rsa-sha256; cv=none; b=oTvxyhADOGYeRltfXDf7+tsYc/HeArQ1X0fO2hlZwhrym6QzyE6O65jybJn+iEUT8lnoKx nkqg7Zb5xaIg6rcyIgIzo1NL/GS2Anv4v2g+3OaQhfJ2yrpLTSBgIIWugVpmX7X1aKzy/F G/MwnJLkpvhkbVifSVjmdqfzA4oSHS4= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=YdJo3jrZ; spf=pass (imf23.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-5a9bc2ec556so4308965a12.0 for ; Tue, 31 Oct 2023 13:06:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1698782804; x=1699387604; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=lWGVGD/v1823PvN5lw+9ZoRQkBLtbriYZcZfAadSLGo=; b=YdJo3jrZR4Nj3v/jOvJkCOQtqANP7cwysHSXfZs4R+sk3Kl35QLLTUWW9v3M39CrDo idMh8q9wFujrGjVld0q4jmJV+RlMWRmrIKdqqYknO/DTKBkOXHM/OOCCtHVA2rO5aIHu 2b/KUb8GUBTgxe0cd1VfHV/qJ6dPKHcKmC5Kwh6NNmtBOVwiCAn6e/tO79KLgQ6LQ27Y ls+5GTydiRz6kTVYB69vUaBxCyM5JmreteuMxJe6CcLCo2e3WQcXLQxBKrIrblqoZV07 49B5paX6ZMl0myMhD63G+0LhX6t2f0Nnhnm8DTfSLI329uc2RVuUrT/jtP3WgrjzlAh1 le4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698782804; x=1699387604; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=lWGVGD/v1823PvN5lw+9ZoRQkBLtbriYZcZfAadSLGo=; b=LxqcKWeJ7dtA4w/PpTHZF+nxNLnPrycjVEes7nzH4NbAaoYCeOE6C1T/0GIBilfI9D SErgsUtYeNDI8aF34ouC1buAeHhT3L+8MOeU/q+eWvYZXRuR25ywe7sGBj62nX5HnOO5 8qrHTl3oWJt8utpWolAWDa+GZ6ZN2kMDpJKwSokMv/PGqar5SEqgmS/7an8Bm5Y0KaJ8 k7Ejy9v95CpV1ndyJ7YWoWqVZCod5NR+gdoS9SGBISnSJiojJrp6nW8JbmVr9d4tG5FG ZHvBqXNRDj5/GevsKz8UHoa3DUBwFhApXW9x3USDERgdyB7BLNrgirtDacS2gs3qOwz/ kMlw== X-Gm-Message-State: AOJu0Yx4FNQGZtlAlEgh31z0A6u7LHI3gq1V3mxBiZRU+XO0rniEC/xK A+0FGm3mh4zLc2ZBNq7KoJ93RDw99HbQAW7RhKo= X-Google-Smtp-Source: AGHT+IFB177CiEPUJCGzRzwkcnZ+y4NsBpO9de+GvXzBwzuPMcsZqkPWsTreDvgjfnlKEr9qBU4eyg== X-Received: by 2002:a05:6a20:3d82:b0:17b:689e:c751 with SMTP id s2-20020a056a203d8200b0017b689ec751mr12075501pzi.5.1698782804089; Tue, 31 Oct 2023 13:06:44 -0700 (PDT) Received: from ghost ([12.44.203.122]) by smtp.gmail.com with ESMTPSA id t15-20020aa7938f000000b006c2d53e3fb3sm30549pfe.78.2023.10.31.13.06.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 13:06:43 -0700 (PDT) Date: Tue, 31 Oct 2023 13:06:39 -0700 From: Charlie Jenkins To: Andreas Schwab Cc: Emil Renner Berthing , 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 Message-ID: References: <20231031-module_relocations-v7-0-6f4719b64bf7@rivosinc.com> <20231031-module_relocations-v7-1-6f4719b64bf7@rivosinc.com> <878r7iiwb6.fsf@igel.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <878r7iiwb6.fsf@igel.home> X-Rspamd-Queue-Id: 7309C140017 X-Rspam-User: X-Stat-Signature: whsfffb3kgf8emmzpyfe7tgye681u8t1 X-Rspamd-Server: rspam03 X-HE-Tag: 1698782805-792786 X-HE-Meta: U2FsdGVkX1/Ki4CL8MiKMd6NKawi3f6UpvimCu4EYsXkg30hGdtDBPwABgzit6Vlikx+j/E8ywO+WiZTgtOBBluihKovehGjAukGkVKFA9ewiKhZOpM58KAIH0A3ZFKsPgJz7/G41R5Y7/WoMGYG46O5xGGr4/VvFICo0wbNTK503ddjDCmVeb1k1Bf5WUEnTSNiKEcQfJhnaoTU3AzPmrrC9f6TzXlWeSP+nujSWPDYU0CFHCurDDa5HhaENuQwcttnijcibpDW7comInKe9D6XoS3PJqqdTv7b0d/jpibS0ISmNd4cS5k+hyPJI0xp79yWXc945uvwSp6SijrJy1UMDNcGA0mdBz0K2TE1Y7Y7hoZTkvMg9jMP/HNuZ7/LNA/ffBgpNyNhc3yyvjrs6rhHCIvX/LXoDvNLhQXvyHXcXgDkG3zkdsGCklJ7jUzxPNKjxVybWJ54+7jw9sQA5DN9YfHazhBDgjkBblH5QoHRIXdrUiYJ7CT4opBszD/9Yd1+Y8g9g38g3xg4daG+NO3mxjjF6hn4sydupeoG8Ag8Vv/kxPyPHgKtzQQSneCYswJwrvqBMePL0PYC/2eJ1P4culBn4bytBfBEm54wWk0yroJjzicoMu/Qz8uYcRfaFH3ZaUmoqJOcQByKHhr1131/MFp64B41/QRUOHIfA8AU8XvD5ZUBf2oUL3ql51NEc0ghPf6wBvc7ykQ3RhSu4r1g4YrfD9z+dmIQ4xOjWMlIsiFElPFfdzvmSb7KJv6qax5+s+KfLoWKI4ql3KlF9HheOHiWXsj95ty9qYsRv6aX6dGLnghupAf/Hep7RdgSxQGgF/T9Y0NvW0vOOJiyRzcGZSlwmrQzf6ivRB92Zt6G321XKhPL/3ZuFJemhSWp5R/Lq0A7DSJ9EfuGYddyGRQIPgugtSqhC+cCb1uQcvi+iTVLyAp4tqHiBxYfZHWJpi5JUOWwxiX11AdS3QL ta9Pnq4v lsl5UBPwPTcA7L89ghazkVWg2TZMFjoZVKXAu4g4lGV2J4OU7IM1wA/KbT6rsnFi1lOE+q6+wapEw+gIoLe2nbNvs99DBdiOeLaREpRkH4/assHAFcJOBEnN4U4dct741cWvwp97+707Z4lKtda+PwX4Oi43wJt/WBd1i4WqtbCEej6n8Lu4i8BQFqGItbtrZLjE2Lz6JmZnuz4y6f/3EFvbAPc1GuHx9ibnJk8j1UgyODIJboFoGTDUQ8ai2rfuPfwN2C9QYosHMjb6LxF8+1MXi4Yk/Xb89tmmW/r3nJAeVPI1p57p0/Cm7L5vI891mzrnSdWkArRMhOo5QeK+WQvaUaGwQFKkhkzPZ8wxu1Js7xotw0Q7UAGAvkUNzV9kzf5lDeXyK1Mu9j6mdlo+nauBM/AdFo9pUaLlf/XYDVmCs9ZRi9edvfHQrwxffJg/Yh6Req6h/irNRsO8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.012418, 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 Tue, Oct 31, 2023 at 05:35:57PM +0100, Andreas Schwab wrote: > 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. Yes, not sure why I did that... I will fix that up. - Charlie > > -- > 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."