Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4553807pxf; Tue, 30 Mar 2021 10:30:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwprFN879do5qxyIv33/KMDuMcwWmMwmpCfDWF6f7ApPFMvy9NqqaBDtYHDqU12+XPoBCLq X-Received: by 2002:a17:906:cb0a:: with SMTP id lk10mr33890303ejb.479.1617125433827; Tue, 30 Mar 2021 10:30:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617125433; cv=none; d=google.com; s=arc-20160816; b=GRrnahjxHnBCptsn1UIjzFM5c+j6QASdr0T5iCNxqLAmQlLPpAI7hNX1wveuH/6KOa W4MeEI9MIsnEECLgkgScvUFwAJZSt4ylOlnkM9vtYWVAupttwWrXB1scabD08rVhBStR yE+OUWm2JCOYKcMgGwyS7/YnEUCD7/pUoFqhXntHJPSer6EOkXhi2RGGT8zoYGESU+1t pGyN5iTX1r7qisRGzqXKRv9k5Hx6Qx5fwBIGOEPcTH+Uzwtz/M4M41gavjYyviEh4qvn mpKAMbJpUSkY7nbO8hgdT4cfRmrHj/UlGl70dKrwlS4KRXNHRDn75YobgRZ74Oz0mS8w JZUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=GeRHQ3by2nvpGtkGl8Qn6uAROVLMLi38eZQ5DbcnrJE=; b=Gosovuak3brmSDKQEvnY6xGmawwNYiszHUVPQ/P12SmZpKJCuAvekTmdxfW3W3gyWl yFiFea5Ym7PZf70P9nRbIimbK9SyMdQfgXgEs9vXXS2uJUPlDIv4xvZu+J1QrsQQf7JS 2XlOZc93sbJElRBbedLxTOXsIwbxbGxLxX6YzFXjd7bPLXxgshLfzBrAhavd1cOZtVZR pCNTJbU2AL5rz89oHTyv4A4Qxl3Kq3SGE2QLvkwFqUGT1u1IsbucOLUMhRXOw9ngMqtL M4ZrW65H3au27dEoaBLITT/42Q2j0jGQFVDftcn2vBfCSnJX1HnXRwWRU8KLkR52Hu92 Md/A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d21si15610775ejw.331.2021.03.30.10.30.08; Tue, 30 Mar 2021 10:30:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232311AbhC3R1P (ORCPT + 99 others); Tue, 30 Mar 2021 13:27:15 -0400 Received: from mx2.suse.de ([195.135.220.15]:38418 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232419AbhC3R1G (ORCPT ); Tue, 30 Mar 2021 13:27:06 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id D75EFB32C; Tue, 30 Mar 2021 17:27:04 +0000 (UTC) From: Thomas Bogendoerfer To: linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org Cc: hch@lst.de Subject: [PATCH 1/3] MIPS: uaccess: Added __get/__put_kernel_nofault Date: Tue, 30 Mar 2021 19:26:58 +0200 Message-Id: <20210330172702.146909-2-tsbogend@alpha.franken.de> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210330172702.146909-1-tsbogend@alpha.franken.de> References: <20210330172702.146909-1-tsbogend@alpha.franken.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Added __get/__put_kernel_nofault as preparation for removing get/set_fs. Signed-off-by: Thomas Bogendoerfer --- arch/mips/include/asm/uaccess.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/mips/include/asm/uaccess.h b/arch/mips/include/asm/uaccess.h index d273a3857809..c5cab0b8f902 100644 --- a/arch/mips/include/asm/uaccess.h +++ b/arch/mips/include/asm/uaccess.h @@ -355,6 +355,18 @@ do { \ (val) = __gu_tmp.t; \ } +#define HAVE_GET_KERNEL_NOFAULT + +#define __get_kernel_nofault(dst, src, type, err_label) \ +do { \ + int __gu_err; \ + \ + __get_kernel_common(*((type *)(dst)), sizeof(type), \ + (__force type *)(src)); \ + if (unlikely(__gu_err)) \ + goto err_label; \ +} while (0) + #ifndef CONFIG_EVA #define __put_kernel_common(ptr, size) __put_user_common(ptr, size) #else @@ -483,6 +495,18 @@ do { \ extern void __put_user_unknown(void); +#define __put_kernel_nofault(dst, src, type, err_label) \ +do { \ + type __pu_val; \ + int __pu_err = 0; \ + \ + __pu_val = *(__force type *)(src); \ + __put_kernel_common(((type *)(dst)), sizeof(type)); \ + if (unlikely(__pu_err)) \ + goto err_label; \ +} while (0) + + /* * We're generating jump to subroutines which will be outside the range of * jump instructions -- 2.29.2