Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2634125lqt; Mon, 22 Apr 2024 17:38:25 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWoswbdvSiTR3j1rqbw9NEA5vpyhJcaRqoJNVKvILsu5YvdaYG/pkZhvxOX4HBi3JD45RiGfg3F7wC3iZIoRA7N26LZd4X904lRvl/2IA== X-Google-Smtp-Source: AGHT+IHb3umqp0PwoyjCySsJgJsMXRQFG7Vo6lD2RI42WbPp4NTdQ/CYTRlpMCWasExk56lG/WBR X-Received: by 2002:a05:6a00:228b:b0:6ed:5655:a02a with SMTP id f11-20020a056a00228b00b006ed5655a02amr14111363pfe.30.1713832705309; Mon, 22 Apr 2024 17:38:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713832705; cv=pass; d=google.com; s=arc-20160816; b=ydwZClZetm3LjZWepVWvj63O7MjZBdBoOJ3ukRDxuCeQilmTp3Jfm1k2wORg2ETP3J owI7KLZoF2EMZ3iLSkpSqssqlRGyMb+CYJwkwGXlWXukFy6U2ZIcSEH2Q9RplaHRuToJ OH1TQjUHbFwN7vRLTGwIXo6AaA5O1NMxOg3s7HPbXm9oWx2xFz8rvRcwU3EJ2yAu0WY2 oXvNfXkC0emuzmhhlET8e+PUoi9/MMObhjSkocb6DABKoBcRXshg7kmvIH8q8/R2uZrY ImEbRnjfrcvJtdwC5PQmBpkOcHOKf15g6qCQga6uimyZsUn5zHqMD5wGVjstoycdumoT +dmg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=OSm/JeVLOa3eUmCUPS8Z2c0NUsN82rfUVvRzfoXyp8s=; fh=8FXj8WORQxIIVHcjcrrVWwSx5y2GS+9fK5Xwar47PDo=; b=YJjwZ3VwzG9U4lnp1nVnoidirkbRYgzDfFwu76bEDOH/dI9o9IoskDlNazBbHUnNzi biMFNv6QJJGALMgO4U2VlOLz4/CSguEvLZLiIwq0l2K4ID+ZxQbX3nYvXEizIZhXcopF MCSOSpXYh+hhnVt5TZvOc4UlYiLkK3OCtl04ZZ1ucohvJYbCTBQam7mBfEbsbPB9wB/R o1HowXvWDHBh1ATKxxdf3I6HJhKV/goyY/aOiKUQK8z4QDE5wJCHSHiZFG/W8TbNcv0F 0KanZmnuSLxsVVeZ0q02mQr0F6aqV7L4FZ9a9V1feTVV+w//KbKGOIsKdR9r7fEzbz69 k2cw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ODCpPlnQ; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154314-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154314-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id t185-20020a6381c2000000b005f7fcd32070si6639552pgd.23.2024.04.22.17.38.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 17:38:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-154314-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ODCpPlnQ; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154314-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154314-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id F2EFFB298E7 for ; Tue, 23 Apr 2024 00:17:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DCD50158A1A; Mon, 22 Apr 2024 23:58:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ODCpPlnQ" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08C41184102; Mon, 22 Apr 2024 23:58:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830298; cv=none; b=Sl0lHhTOk8+LUzmOmXoLfOnCxONOUn5UU+IZkpk6lM1LsEQ1XdoTza9lUdet1bQtEI5IWCdiz6RZDF7KNxu6NTTQt7xTqNWpegYr4niU2VAn8f/dVymWxrgVXwii4TNa3HIS4PwvYZtRW3uQAUV2dZ7WuvJCZtGraBVZRvtdkJk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830298; c=relaxed/simple; bh=aLMKqhF13Ri9k7BNPWedMZLP/rrfvJ7vXCsezow3Ymc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dM0es7SaxFz5n7jrgCtu/Z8ZxBA3NAnCR0BQ2xi88JLjHqqNTApvA6fb/mEanimdaPvlhs+gzA98gPEsK6cerhBlYSIePrKdA8M3QEg6fF3jXDoaXOTxV1kfJ7F/jbMJr/+j4c8vmfMrNW9+U2Wn0YZtZt6ASiaWLJ37ftfCXnI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ODCpPlnQ; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0712BC2BD11; Mon, 22 Apr 2024 23:58:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713830297; bh=aLMKqhF13Ri9k7BNPWedMZLP/rrfvJ7vXCsezow3Ymc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ODCpPlnQUh2J/eHWL60XLgvOY2aem24U2+W/6VpXdrtjjBsveKt4Qoo6FhQo+dpkZ ZQkfaqQQIjW3jeA2JhK3iH478u7vttZOpVpxYcrOzlxct+i0Mgj82dQeGrPa+mL/rk 9nMeBPTd/5s0X33MTpgLm8dj9zBCb/mLG5s91BxTOf0VgO112/j3hvTOjh/FjLjCww GP4n6Tx5hY4EtiE459Vo0kWyxrOllKHv/jlYkzDabRvzDvYxVYBZP74ZGeMfm61dx+ q3qBnINb+bhGyJy/8gx3VhOEXMsKQaeylf6Hh+8ha35pXxwV3JklgAHTB9wG/IO6cf RDEjzQAtSrhow== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Maurizio Lombardi , Mike Christie , "Martin K . Petersen" , Sasha Levin , linux-scsi@vger.kernel.org, target-devel@vger.kernel.org Subject: [PATCH AUTOSEL 5.15 05/10] scsi: target: Fix SELinux error when systemd-modules loads the target module Date: Mon, 22 Apr 2024 19:19:18 -0400 Message-ID: <20240422231929.1611680-5-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240422231929.1611680-1-sashal@kernel.org> References: <20240422231929.1611680-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 5.15.156 Content-Transfer-Encoding: 8bit From: Maurizio Lombardi [ Upstream commit 97a54ef596c3fd24ec2b227ba8aaf2cf5415e779 ] If the systemd-modules service loads the target module, the credentials of that userspace process will be used to validate the access to the target db directory. SELinux will prevent it, reporting an error like the following: kernel: audit: type=1400 audit(1676301082.205:4): avc: denied { read } for pid=1020 comm="systemd-modules" name="target" dev="dm-3" ino=4657583 scontext=system_u:system_r:systemd_modules_load_t:s0 tcontext=system_u:object_r:targetd_etc_rw_t:s0 tclass=dir permissive=0 Fix the error by using the kernel credentials to access the db directory Signed-off-by: Maurizio Lombardi Link: https://lore.kernel.org/r/20240215143944.847184-2-mlombard@redhat.com Reviewed-by: Mike Christie Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/target/target_core_configfs.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c index 023bd4516a681..30ce3451bc6b0 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c @@ -3566,6 +3566,8 @@ static int __init target_core_init_configfs(void) { struct configfs_subsystem *subsys = &target_core_fabrics; struct t10_alua_lu_gp *lu_gp; + struct cred *kern_cred; + const struct cred *old_cred; int ret; pr_debug("TARGET_CORE[0]: Loading Generic Kernel Storage" @@ -3642,11 +3644,21 @@ static int __init target_core_init_configfs(void) if (ret < 0) goto out; + /* We use the kernel credentials to access the target directory */ + kern_cred = prepare_kernel_cred(&init_task); + if (!kern_cred) { + ret = -ENOMEM; + goto out; + } + old_cred = override_creds(kern_cred); target_init_dbroot(); + revert_creds(old_cred); + put_cred(kern_cred); return 0; out: + target_xcopy_release_pt(); configfs_unregister_subsystem(subsys); core_dev_release_virtual_lun0(); rd_module_exit(); -- 2.43.0