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 68AB7EB64DD for ; Tue, 4 Jul 2023 15:37:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E1C028008E; Tue, 4 Jul 2023 11:37:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 46B30280076; Tue, 4 Jul 2023 11:37:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E37928008E; Tue, 4 Jul 2023 11:37:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 14BA4280076 for ; Tue, 4 Jul 2023 11:37:14 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E275A1A0ACA for ; Tue, 4 Jul 2023 15:37:13 +0000 (UTC) X-FDA: 80974333146.03.CCD785A Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by imf23.hostedemail.com (Postfix) with ESMTP id ECB1B14001C for ; Tue, 4 Jul 2023 15:37:11 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=MFwOF7sq; spf=pass (imf23.hostedemail.com: domain of revest@chromium.org designates 209.85.221.47 as permitted sender) smtp.mailfrom=revest@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688485032; a=rsa-sha256; cv=none; b=XpTf97hbbig96UnkhoUmdCSZANKuLCaRkLq5bafyhu2SnpIIUkL7foATD+w5T6oHZmdPW/ 5SHcPQoDb7vPEh379MeBvEyBsn+s0IOJ0XBCwsNYajtOk3WuT4V5u8oi5j0DWeyKhZmtXH B6SD9+sOnLRswNErydsJr2SQ9KNyErY= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=MFwOF7sq; spf=pass (imf23.hostedemail.com: domain of revest@chromium.org designates 209.85.221.47 as permitted sender) smtp.mailfrom=revest@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688485032; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=4ZVHggtHO+yJauR9LskgHgrRJhbEnps/FtwfSudSsCo=; b=EXDSELp0wNWDlCE9WZE8RzYDXnLXvdqzO203gFVZnwvspyohXPW7g2MbO9fWtPjp1l2sa+ fngFD7M1LJas+Ycklm/jxwE/QUpTg3VUQflulQaxSlq0RRE53vTdvI5L28lu8Z/9+GxEdJ qoZtyNW9tBOdqPt4ywIPDUr7rVEd8S0= Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-314313f127fso3214309f8f.1 for ; Tue, 04 Jul 2023 08:37:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1688485030; x=1691077030; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4ZVHggtHO+yJauR9LskgHgrRJhbEnps/FtwfSudSsCo=; b=MFwOF7sqVXBxFanxQfr0POOuegrGEdOtkhF028G3OsKGL3xdsPPzrHjjHCl/yZUQsi 0u2xWsEBho6iRvSucxENpzwYqu7b0USkS0W+q1mqavp72R9LwsRuiUSOgH6bJqxDI2N6 Myg7WgOAMHNQAOKGq0YrI/FSXNdf8mMkegW+0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688485030; x=1691077030; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4ZVHggtHO+yJauR9LskgHgrRJhbEnps/FtwfSudSsCo=; b=YGRZQbsDMw04lgE4+c7OYPiXnWt6ZDrNN1XGBV9OMbF648U+OkCOORWWaIEfwP9yfz kPmWTIMDgRZOnB1V5QUCJHgWpq+m6ud9gZxLg71GTM0ava84xkFSrHuTqDONmVRPvany 1liWTMLLh/LAfJq4/bDcElPrtk7pk2m8uWo7hQB/i5XAw3nx22a5M5cYynlKdCDkc+e7 Zl9jPe+LTQQE0+rBRnWs5eWBUTU7RGsvQIda02TBEGRhpI8cLCAPl7CFth0Ngkn+pNF2 rrBkHbz+LAfUxbZy/ZTLQCpPOtkWTxPQ3NpFZf7/xkqrmEy39chaQwO2mRObpzOceNdY 7qmw== X-Gm-Message-State: ABy/qLaTiIzv5jJx4zmJgKLciyEq/HVVq6mXlxyRDHNbtbiHktcGLjM5 KmzAXMaegArxt0BdMVTan+g5nQ== X-Google-Smtp-Source: APBJJlEAgV7A2O402mT7fPusAvg3tuUXWOjSGe1PiyyavUQPEZBAhTj4IWlt79euih0ZpRWlsQjz3Q== X-Received: by 2002:a5d:44c2:0:b0:314:1ad7:2ea8 with SMTP id z2-20020a5d44c2000000b003141ad72ea8mr11140519wrr.54.1688485030643; Tue, 04 Jul 2023 08:37:10 -0700 (PDT) Received: from revest.zrh.corp.google.com ([2a00:79e0:9d:6:99b2:81bb:8407:5369]) by smtp.gmail.com with ESMTPSA id b2-20020adfde02000000b0030c4d8930b1sm28538709wrm.91.2023.07.04.08.37.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jul 2023 08:37:10 -0700 (PDT) From: Florent Revest To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, catalin.marinas@arm.com, anshuman.khandual@arm.com, joey.gouly@arm.com, mhocko@suse.com, keescook@chromium.org, david@redhat.com, peterx@redhat.com, izbyshev@ispras.ru, broonie@kernel.org, szabolcs.nagy@arm.com, kpsingh@kernel.org, gthelen@google.com, toiwoton@gmail.com, Florent Revest , linux-stable@vger.kernel.org Subject: [PATCH v3 3/5] mm: Make PR_MDWE_REFUSE_EXEC_GAIN an unsigned long Date: Tue, 4 Jul 2023 17:36:27 +0200 Message-ID: <20230704153630.1591122-4-revest@chromium.org> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog In-Reply-To: <20230704153630.1591122-1-revest@chromium.org> References: <20230704153630.1591122-1-revest@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: ECB1B14001C X-Stat-Signature: sh7ttm7x5fxqg6mgm6qax6nq71xjtajx X-Rspam-User: X-HE-Tag: 1688485031-546900 X-HE-Meta: U2FsdGVkX18gyN4httL6RNK4sR3c35JGnuz3ePNby4y4Ma3N0ZgqzPWQyJZjrQyP7YxVhyuLfiA61WO2agp5Wiyh5WR9bHLkQFOAohUzFThTmbJ3PlCa0NK7qQUEs76+Ag5zbEY7QQ2dYIuhOHuJw6eO/6TRfs/LaozoYfylZOcwT6l+TZg61ZveFvxkHRR00AlQplREASVnGJHvpTfFrVyuImT9bAweI1DDrpW8DYnDfSJ559SnslBKhpN/0NY2Act0yjNK5etSDaxpm5YRT4CkSl6vxKG64FW3Tf6ivwGYANZd2Ur9OcHRS0fN9imgG9B1PLPi0Q8WNtp3gWfZzVRYGv4gWLI3fdwU6oJc+nI9dkmp6OWk2h3lwVHsyrumqB/Gxga80gTlpYRjsso7du1nK3vFSfVAXwOjuhxxSpOs+xm7IpFNpDtdG3zgDdmR6Rn5FCH3n+von6B+eI3odpaw4IL21qYmW9dKQfgF5lnbW+cBh4gxMB14fTLpRqIFQR32Tn5Xtw+jjYSSi6a8zRBogloaTsVcrEJry/vS1PvoKysbNnz+LuVd0WCUE5Sm90s9g1/dpomGGtbAYzipi+ggU4VvwNK6eWbUAoGnKlKMiFAhI4nJoAYcWK1zOXKkeV2+lFBiAher8S6pODhKaqk9cx/dkg9v9egn5c/wndheVvjNU8PhxW6T2uexLjKe5wh0oxeeQgwQROqjHlvZDmf/AezL4gDGutM4Ee9epX2Do2NTuK409gcXt3NhNu73dzdnPg/pPKTBml9DRxtTeDh5t2YSIdW1Lyuj3Z8kAR3YSXzjqYf7F0JULs594cV/1nwlf4+jUpux4JRvlwd8bw6aXALGc2Q9f/XTZ/nqNCwxdqE1iFv/elj4Wgt1+dua7fUgzFHCCRCmuuO3654cGV6f/5mb/U9dbHwwffR33ThsyWxaLPThjC/kjub3cbK9KeVS05jTaNuHA/8WdPw RrmgU00O d3ma/9NPehFhUAP3o6l6+XCBE44y4cSDjavDse5Y0IEvVIpwpcKSoWpF+GpwC7ljWWFEOcBXQPiW4y9T2V8TI8KMBr6zguZNGDaRRs4FMcPxbILIK+IV67gf0vmXlzxYxDYFO9QlR/g/IFX3ENLukovKdHHRa+8dpizzT2mURPwZSpgmZKslsv9CRBVGB9YwODutvDtxP/DvUfOiQtZO4VNHfW3BeZ0Et/cV3pQZHA+SEqakGufRrA8oY9NUjo6d1h2XOPIvJtlF+XR+CQb5tSGSh8P2u6tNWzAmB8loMnEEndHH0LF+tmG/Qq1C9HWux+HdxK6n72/vvaQKVqbWvytqJ/ulsfPQo7UlPb1ErZ8ze5CXWARkbv0KYVhZ7JB3alzALzAK14I6JmHu+AM1+hUnV5xbCo/VDBVSLpPwJCRb9PRhl8MluJmMl+CO7urbxYmzLRkZhqx+thQzx3vQwdju2q1cHereAUoP5oIioYTT3j4oPnuMnTPubAJirwQkGqRAK/dF9mLSc2gWAneQWuVkzV+vvpHx5AGqA9XZ8NnY+fsKuucCV34RhoWCxa4oW7OaQaAC5RYqzX+LnA1vgoyDCJH9OHhGMd85P0CHd1AqyQqR5WPmHZxGW2YFgImrcdJCK5J9bsQrBpFzaYhRWgun45Y8XocVjpdmCxusyK3pU+1o= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Defining a prctl flag as an int is a footgun because on a 64 bit machine and with a variadic implementation of prctl (like in musl and glibc), when used directly as a prctl argument, it can get casted to long with garbage upper bits which would result in unexpected behaviors. This patch changes the constant to an unsigned long to eliminate that possibilities. This does not break UAPI. Fixes: b507808ebce2 ("mm: implement memory-deny-write-execute as a prctl") Cc: linux-stable@vger.kernel.org Signed-off-by: Florent Revest Suggested-by: Alexey Izbyshev Reviewed-by: David Hildenbrand Acked-by: Catalin Marinas --- include/uapi/linux/prctl.h | 2 +- tools/include/uapi/linux/prctl.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h index f23d9a16507f..6e9af6cbc950 100644 --- a/include/uapi/linux/prctl.h +++ b/include/uapi/linux/prctl.h @@ -283,7 +283,7 @@ struct prctl_mm_map { /* Memory deny write / execute */ #define PR_SET_MDWE 65 -# define PR_MDWE_REFUSE_EXEC_GAIN 1 +# define PR_MDWE_REFUSE_EXEC_GAIN (1UL << 0) #define PR_GET_MDWE 66 diff --git a/tools/include/uapi/linux/prctl.h b/tools/include/uapi/linux/prctl.h index f23d9a16507f..6e9af6cbc950 100644 --- a/tools/include/uapi/linux/prctl.h +++ b/tools/include/uapi/linux/prctl.h @@ -283,7 +283,7 @@ struct prctl_mm_map { /* Memory deny write / execute */ #define PR_SET_MDWE 65 -# define PR_MDWE_REFUSE_EXEC_GAIN 1 +# define PR_MDWE_REFUSE_EXEC_GAIN (1UL << 0) #define PR_GET_MDWE 66 -- 2.41.0.255.g8b1d071c50-goog