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 4D8FAC25B4F for ; Tue, 7 May 2024 20:05:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C454F6B0088; Tue, 7 May 2024 16:05:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BCB536B0089; Tue, 7 May 2024 16:05:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A6C796B008A; Tue, 7 May 2024 16:05:04 -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 88FA76B0088 for ; Tue, 7 May 2024 16:05:04 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id AAE5FC09C0 for ; Tue, 7 May 2024 20:05:03 +0000 (UTC) X-FDA: 82092678486.06.ACA0C12 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf14.hostedemail.com (Postfix) with ESMTP id E2C8310001E for ; Tue, 7 May 2024 20:05:01 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=fCJ0LIyc; spf=pass (imf14.hostedemail.com: domain of audra@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=audra@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715112302; a=rsa-sha256; cv=none; b=1dz1y906lHI5jL2HqCxU3LU8i4Ib1RSKfL+xpDOBziIiFf3YL6rAHxFVZy9zQIzQmXgh5N Cbm9SHIYrmXeN72Bcash/nND4jJX9CwjvGfUWjs0NP2qG8RaTaz7gjznXxARhc/T/ICb24 ruQZu+mSzazunhWUXg5utTeTX/2DtVs= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=fCJ0LIyc; spf=pass (imf14.hostedemail.com: domain of audra@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=audra@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715112302; 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:references:dkim-signature; bh=qlhwsbkKKVd2ohQ0kuBs8V/ScuJpgv65EhyU0mX2mEQ=; b=hPFGNHZ1l5iYHDUUFEqNxd21xyfZTz2GwXiR4jysjD+6DGF6eI3ZQCSML9Dc35nu7921D7 bpdcgOkXCu7dsgzqOQT2ytdM/YtYn9b310azYsGsAQM46TD9gGqkE1Lz1O3EzvJua/2q1s JrIBVpd3qtge8bcEaS5sz7CG2J5AHHY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1715112301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=qlhwsbkKKVd2ohQ0kuBs8V/ScuJpgv65EhyU0mX2mEQ=; b=fCJ0LIycdf1eIzexSr/R8iF4Iuy5vyoggf+fkMjSY8dZLf2MH4NrxlKtCm4PZSDae1Lng2 X6sgExbyIjk1POJRo2KUwM2Qd9AYQqpM8PIhrqESViCesQvX5XCAUH5arx5W8ObJW0p8lC 2rcsEyQ1uf5/Sl2gb9eEIfW/WMPYXqg= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-567-BSvfzLQPO9mBz_2vPSWUpg-1; Tue, 07 May 2024 15:55:16 -0400 X-MC-Unique: BSvfzLQPO9mBz_2vPSWUpg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6BBCD1C031BB; Tue, 7 May 2024 19:55:15 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.22.18.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 21C3820B96E0; Tue, 7 May 2024 19:55:15 +0000 (UTC) From: Audra Mitchell To: viro@zeniv.linux.org.uk Cc: brauner@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, shuah@kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, raquini@redhat.com Subject: [PATCH 1/2] Fix userfaultfd_api to return EINVAL as expected Date: Tue, 7 May 2024 15:55:09 -0400 Message-ID: <20240507195510.283744-1-audra@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4 X-Stat-Signature: bt6kxcsnjr13gx76ayg6a6oym5zbpp6c X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: E2C8310001E X-HE-Tag: 1715112301-939604 X-HE-Meta: U2FsdGVkX1/AL1Yw9gmSxZm4b4MafJiJHVXtiqRDNLkqf5rr2zsiTfyf2N53FBDKG7BE/5f93Atf6WyrVuMvlJJIB8teVPkha7XT2UqnoAFQ0Gg5JBhemUx8zJzGAZ8k/fzBEKjjYOpdpaUpCEJTERZdTk6nGcl5HmFu+nrdXTn0iBa/GGXQrq7fieSxkChn1qbLOBH9/3dYRLso2wYkykD6KKjzs8WsslOLO+N/Xd4GJEJPHT4gC1JG+InFMKZHYciPIoEGcVYR2diBwhFKhvAuA0ADUHog7pJU1bxK8+Yd+mM/ZUo834hcfAdvbkPp+NWmuS9gAP05kWq5nXCTo4yfiCqz+LeYSHiMCNVHO8M5FfXoMt1meZWhDgIHYOmhOwatay4TWv0Nlq92fC69i/DfDqCzL3Coh3wgjgvBXQc94+jKw8Dvxt4E8cz+ZMNNFRkCD88XPsju20/UDC6XGQ8lBgwY39GOyr+girgDm1YUc/zeHSFxVIHW8gCmS3HVLULBLP3nuMLJzxjn5Z43ptpeUkHJQVMPU4PZ3KT6ZJmcIsmFK6/wpKxSHX1W7mE4tXDZEp6Na0s26e8SifbVOpvYrEKnLmkzV0SZp8NV2Y3DRP87vV4D4bSRVGT5dZwHCAKZrdDR9VDvXhLDEF8rkJ6PWNYPX4kBAANSyvR7oRpkCOvlJfT72h1AalPbOe6Z9mY3ZklnGXKvYm8XCr/hvlQx9+gZtolmSm5SshkFh/Pf4LXYGo1z9uX3GPw3U3+e0P+Z8VvEfjVRWp770lVQoTuHNQugcZNhiVriK3ESsXMLUQ8zqSOPLWJEYE+iGNYe5V+Wbfhm3VJcFrVdHNEL0j7spSDY8EeeO8lb7kwTJFWyCc4qspYPOy8Nd/TTVbtwgoItkYFtnGXwXukYzM2Da83NW1VgsD1AaiPTok8lj245xo0Ow7XY0xAqNBgZvCrvFdjZl959MvUBz1VNGGS 36k691HP S5oXZq9WL7hZt+Qgo9o9lruYwUYPcajnFqkymNT8ZL728EPYbt8FKBzcZSALB9PjWGhbX5UDr9bDkARdcYcFT6JUT7vcLjErFNOISZ7NlJsdW/8M5RDfVgHI9hCsd4g3EOYoa0Dr1icBbvIIx4XeftRZZUCAHTbWq6Ae0k/CAyis3s0y2izngdz3h4222JOCYfgUo+ovlwxsiWd13JOco3Ir0/w== 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: List-Subscribe: List-Unsubscribe: Currently if we request a feature that is not set in the Kernel config we fail silently and return the available features. However, the documentation indicates we should return an EINVAL. We need to fix this issue since we can end up with a Kernel warning should a program request the feature UFFD_FEATURE_WP_UNPOPULATED on a kernel with the config not set with this feature. Signed-off-by: Audra Mitchell --- fs/userfaultfd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index 60dcfafdc11a..17210558de79 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c @@ -2073,6 +2073,11 @@ static int userfaultfd_api(struct userfaultfd_ctx *ctx, uffdio_api.features &= ~UFFD_FEATURE_WP_UNPOPULATED; uffdio_api.features &= ~UFFD_FEATURE_WP_ASYNC; #endif + + ret = -EINVAL; + if (features & ~uffdio_api.features) + goto err_out; + uffdio_api.ioctls = UFFD_API_IOCTLS; ret = -EFAULT; if (copy_to_user(buf, &uffdio_api, sizeof(uffdio_api))) -- 2.44.0