Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2628625lqt; Mon, 22 Apr 2024 17:22:43 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWGsEKeUtWFHgxX9R2cGLkhR24dLzdAyVYlliY1DnbuivyAVvjLHWUdH+etxMFKtlnDEnHXskG1U1zlXbeynsOpCr0XCFxvn2Ynp/kBIw== X-Google-Smtp-Source: AGHT+IFj0Zgrub/reuGK77fSCqhIgzS3bAT+zZUaksedQD/RHk4Mua4kM5QnLVxpFOhQtmUmUFlX X-Received: by 2002:a05:6830:650d:b0:6eb:dddb:d01 with SMTP id cm13-20020a056830650d00b006ebdddb0d01mr12504325otb.34.1713831763639; Mon, 22 Apr 2024 17:22:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713831763; cv=pass; d=google.com; s=arc-20160816; b=xX9J1NJanbvqrOIvZelgDcOH5UmSepUFAunlqWFp+ZGf5hR1i+OuhShx4KWOmkNjU1 NykZnFg0SlTqbY8KXLM4y6WU4hiE/351jeWFLrO3LUYlbNHSpSnHtiMeYlC45pPqMweJ XaUfgCDC0MDqBLVpbXFaPKvSzvua6lVD+rG9un3kHY8+qkrKMiSrzj7/COjzMoB01Uv1 D+3Z5JNiODK2SXcEPCSWT39c0VB6QHg8STZDlTxeNbixXRK94WmB0PuZJcrBz9x65rRc Wz+ufgQEACumhvddtAJSelpW6Rc0F73gVRkwOUkcCFtI4iQsGARpI9ljOb3Ahut9XaTv 0thw== 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=oFaRlUrySaXRtdDFZ5Ay0FSd/J/g0nr2jbIbo0RsnhE=; fh=8FXj8WORQxIIVHcjcrrVWwSx5y2GS+9fK5Xwar47PDo=; b=Q6PDetMONd6u8QfVTFbGf4y5U6lBdctzNJpNK/Jfd4EjOjR3N5I7wTm2GENXXqUram 1y4m7EOAYMiA4ALK8L6te4RqCALIc7m0guuAp96+endpSO2TOx5uFnJcycR29xIkJ/Nr lL3QTmeARLPKvDWmbeAfop4yfyG+whvGQ/M9shPumDhjE1uCM0LVlLjhtU84wyRhe2q4 4+7DjP4qWBrjkXEIpdp4yTMN3THDCou0jskpBdNQibDwb1CiJ65MZq+uVx4cphy6nWXj 3Cl7c7VVP1IiQPS7Zp8/qpcg072avJUUU+lWBmrSYI67JL0fLqorlrKvNzWKi7FuW6yw NpeA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Y16p5PeX; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154333-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154333-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id vv14-20020a05620a562e00b0078ee449efedsi7388965qkn.538.2024.04.22.17.22.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 17:22:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-154333-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Y16p5PeX; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154333-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154333-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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 8CD191C21A20 for ; Tue, 23 Apr 2024 00:22:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C77551C688B; Mon, 22 Apr 2024 23:59:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Y16p5PeX" 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 DE2201C6613; Mon, 22 Apr 2024 23:59:08 +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=1713830349; cv=none; b=oHhAUN3HeC+tKwMW/YnUIbhtoOYSY4HVpoWQQ9zUSRGtYNvQxbfs+pKQH18xGjVh2BGkadob0Yp4ws6gzSUcpxIU0FrryPSqIKyX0zO5b6ns/R5es5Paxnptszd/QoB33GOqt1DQ8RkgIS4aNUsYf7KM/95OERIqHZHNJrCkh58= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830349; c=relaxed/simple; bh=i8QgY+5mtwteE0p1EWllKNEPkB0GTFOHgTfblTkxWnY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MJxOABmdghHjG5GMZrl1Nd6Kizr2s+vLnpYcFyGSyPvuTEHv38D8mv7vVaiYqCD35LZ4nfHUZSh6U36L7sqiMtuuahDjOf6jlxsI5tfsQqTeC6/V56Xp5dEpxrB+ixnzEsf8wMlnr61jrL1KfmEhr/KGV7f6bn1X8I4axVXbzrQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Y16p5PeX; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BC97C113CC; Mon, 22 Apr 2024 23:59:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713830348; bh=i8QgY+5mtwteE0p1EWllKNEPkB0GTFOHgTfblTkxWnY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y16p5PeXZR4NKdKbh5aSxyXvlPY9gU6Hd+QJQKJt3ToQteySK3NN+2o+ptMYvJPMC AmC9B3vPsQwXAZJmtCwL6U8wNRZ94lL61MSlViEsfX8AYBPJfwPii+ZadZkTzcGjqD npTnb/csif8EObzla+6yXp3HUbMtq0pzfqSXFytx9JYwAY74RkZBAMVqei31vVdhkI ZqK7gXTVm1jEPzVJ+rczR15LsxM5HQ8RBPxNOjn521Aq/Il3e+QPsgd9H4OpPYBkYD 9FOQnwGoBgSoqb3qoxxJMCj3qqSMglvTiQ6LC4xLJCsM6RH6NMSceeiUhzsZVAWpBK 1txegHJ5si0hw== 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.4 5/9] scsi: target: Fix SELinux error when systemd-modules loads the target module Date: Mon, 22 Apr 2024 19:20:10 -0400 Message-ID: <20240422232020.1615476-5-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240422232020.1615476-1-sashal@kernel.org> References: <20240422232020.1615476-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.4.274 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 e6e1755978602..4edabab65b879 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c @@ -3458,6 +3458,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" @@ -3534,11 +3536,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