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 2D360C46CD2 for ; Wed, 24 Jan 2024 17:11:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 827556B0080; Wed, 24 Jan 2024 12:11:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D7596B0082; Wed, 24 Jan 2024 12:11:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 69F666B0083; Wed, 24 Jan 2024 12:11:21 -0500 (EST) 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 5635C6B0080 for ; Wed, 24 Jan 2024 12:11:21 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id DA9251C1664 for ; Wed, 24 Jan 2024 17:11:20 +0000 (UTC) X-FDA: 81714845520.18.EB37027 Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf19.hostedemail.com (Postfix) with ESMTP id D256C1A001A for ; Wed, 24 Jan 2024 17:11:18 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=K+ZOEZcF; spf=pass (imf19.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.45 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706116279; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=9RzKprHyYfiPaLEeOIvMtbDAp0S6N60JXbJyiLEkNDw=; b=4APthD2iKWDmbK3LrH42soLdoc9poGofeCLeoAVA7hRKViWdgS08XejAee64RzE6QDG6dc dErI9vvymVh6hwL2mQYKwlvi2jGfZqdlRqtyG11U+pVn+kSKS/3Wb0iWgx+nzMqAWScEGn 7+tus8Gy7fGT5C+Nn0gEqMi4ijH/XSI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706116279; a=rsa-sha256; cv=none; b=RnHGlO2mYXU0gc6EB4f5J5Y5m7h5HIHHWzlNdv2B60Slv0xMDyAtoAlQl2BHiSeKx+EA+P cq9nt1VIhZqtBrqfx7QS/8EpwVqrQCSIBy2eF/ROvS+34fFjYC//kMgqG5dSEvFrcZ+3Yr kYkmCJGBu8tVABct4PfcObwSye4hYBs= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=K+ZOEZcF; spf=pass (imf19.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.167.45 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-5100409e31eso3813291e87.1 for ; Wed, 24 Jan 2024 09:11:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1706116277; x=1706721077; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=9RzKprHyYfiPaLEeOIvMtbDAp0S6N60JXbJyiLEkNDw=; b=K+ZOEZcF4pezxRdVNjJoBwdveBWWFWWhmhIlw7cMLuYP4GQfPtRT/Ivy2xsSqDQyeV YvGnCZoE36nQS3/s/HMFnc/yZJNzl9m+Togq0LYc/9YkopRr0eHJaT8ZbSD6Ej/7ft/k h+AaCn8BO40fhQ1ljDpRBA6tFe2zIxlvfqXpY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706116277; x=1706721077; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9RzKprHyYfiPaLEeOIvMtbDAp0S6N60JXbJyiLEkNDw=; b=GwyqOvcESexGRonoRIy31Ynn/FEJ6bUw0VtlcWhtIKN8nVHlL3+njlsnHlBgp0fFZX tw1gp4Fv+kLjBkHuJSXgIywnHH9EtZsfjeK07wjt7YAfB01tvtD3G7vOJFXdfybkw2h6 BYMsQ0u4btWW7fmsQR9pOv3jK0AzJwyqpg7LUhRpwcUhE2vNhFWRv1ekPiKXx/c4t0+o z+hQ8vGhW9ufLSeZ0wBbTy4jbcuk4ysynN/uEzX3WiCzUQXeuRHd/j8niPobP3yMIJd7 Y/bsk0JqnU6rjxVdzpgI0s719geAfHjlV6Y2B0DUXIgD5TAI1k3c9DMnF2QwkV21m0/7 9IyA== X-Gm-Message-State: AOJu0YzZx/0QdJKXNexsPnYFIKkdZcg0zfjIH54Em2WVOJQ9PgxdwHmR 6GW+iSIH0q9HYJr2zV7MchF94MkLPy2BZgPl77x4V+/ZtbxRp4TaH9Vj5pRPtOEunJ7n+8bmf6C gIpyG6g== X-Google-Smtp-Source: AGHT+IGLChEesgMonCc1SoEyVajJA3uMJYUcceyV6DuTumHGJb6X9MjXyO+E6LghlUoqwfvQyrwxlw== X-Received: by 2002:a05:6512:3763:b0:50e:3158:c53a with SMTP id z3-20020a056512376300b0050e3158c53amr3712448lft.124.1706116276787; Wed, 24 Jan 2024 09:11:16 -0800 (PST) Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com. [209.85.208.50]) by smtp.gmail.com with ESMTPSA id my20-20020a1709065a5400b00a2c11a438a8sm86240ejc.25.2024.01.24.09.11.15 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 24 Jan 2024 09:11:15 -0800 (PST) Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-55cca88b6a5so699897a12.1 for ; Wed, 24 Jan 2024 09:11:15 -0800 (PST) X-Received: by 2002:a05:6402:440d:b0:55c:8a2e:df41 with SMTP id y13-20020a056402440d00b0055c8a2edf41mr1934309eda.84.1706116275091; Wed, 24 Jan 2024 09:11:15 -0800 (PST) MIME-Version: 1.0 References: <202401240832.02940B1A@keescook> In-Reply-To: From: Linus Torvalds Date: Wed, 24 Jan 2024 09:10:58 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [6.8-rc1 Regression] Unable to exec apparmor_parser from virt-aa-helper To: Kees Cook Cc: Kevin Locke , John Johansen , Josh Triplett , Mateusz Guzik , Al Viro , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org Content-Type: multipart/mixed; boundary="00000000000085dd51060fb42625" X-Rspamd-Queue-Id: D256C1A001A X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 3sn7ngnny6gqugbh5m7o475d6pq1m599 X-HE-Tag: 1706116278-441347 X-HE-Meta: U2FsdGVkX1//Nh5W8W08Axibuy/riMmGYOc82pzukdSuwUTSY5oBQzjA/Fn/DpfRd05bmADp+g3Fq3j89opHoKvV9Ky8gVKRruDdGHnsaQYNHNPlXlsYliDY/HF0wO+GhNhbHOg1HY4GvB7zokCxjOnjBn5IKd8OjAool+MJDrquilCu3UUPoJu9o/r0ODiFIwAGVfb3oRgTTjT0+sQyAmfH88a+mFgxRlb0xt+ZhOQdR77V1x7N6ob2zleQUGdS/QTZaEVVhUo8+fFZCQ2qLfsm67uFf7WDZkPF+av/7sOPldf1ijQ08hGiVzpgXTZkHMAv4JkCtY/1Y3x+qSc8pgS8tX8EPZnS3O3qx5YNf4wvVTLivHqcp+aAUmWwfy9yZbG9+LAGVfvFvoYHgt5xvhK+RISr+fOj1pEoCQkGnFxW6DHgLEJDv3TUOJkhluX15E56vqSIhET/1gsypV+PXzcW88DI9s+5vmXWBsBuoZEiTE/bIzfn4O4ltpoopwu02MuyH2+LOF/jcRfEwtJekaG5USRbtQBEX4lXygBNS4y/AjWpAKS2y7ChApXA9PpErLpZ3Xwk2U6233f2Nwnsj8PwLQjX/yqlUeQthLkRfdu/YCajxyv0nQQsQQyPcmviVjfGeDStwY1pPkNbWhwSDv9O8G4YhkpKdlxaCr+MUM7yYQWxP7m+kKiJeTMYhemIEqHGyD2gGWF4sYqi1CBbZeUJyxXjVPtIPkmV4mdNaxspjSuzHNTosc8Zk/1KLTmF468WI5221WIPt6OJBaB1CqDEHmSNhS3yJzj8Xv/+SECIsRHQt73r6k12oaS80AQMjqoY+xK4Gfn+UrHa3lG31OzBl+/oWd6j1Mz+ukUZWJi/SOEL45togJ6R5UgDZNMGEZ3LaNn5Fa+lqdAH3J0em/Qp9PRpmtXoMZVbNYV+gQwD30AYkleb68zI7ffLcVmPkmiylToMv47gJhYMe5j 4V23ok9L /wahwi6730VZgkICw+cFTG0XiT6ojkvLEi/wZPOJcxoywuvfyKwdOCB1TXLHty7ofxW0AI8DkPUv7LcRHquojajLa80oaxS4lEi+C8FmZdA2PaalPskccvijtY3EyjejBZ/uphb3dtNzuO+hx3lfJL87BIKsqo8MYLSB6Eup2upKHCsDbtNV/DLLLmz0KI7QwPiahVr8pGtzro1632FI9MH8t64pnx1NadFW/QIJAxyo+edqPIiLVe1knMofmCXo2EP56cHqZoHZAszkDZjIhoml6DLiatNTxQg1lfp5GoP0XcF8Gf7FdcMwra+VGKhAFCD4S8I2mxt4hbhX6kgb0/IowGnGjw0MhpL5hQYeQGtmnuSoNujEmWqp5vAuYjdPyDKmRMlhvVTBFBPssk3IGjO57KvNx4n+Si0koqTWk0ereBFCqUkJKueTRJ3RvizZtmaLTOb0qRjOJfdFRg+qd/syi0+5Bb4XUxXIR/GN9KqHiVX+eKNqZGXIESBC3/95iQJaj/II7woMaPb7EpGff/qZ5gwO8S9Cq0JYLhXl6Jq/cDOEfF6jlRkTT6NW2zoFPMs0g30YRCdyUIbgPe/niMQRzYY6HVrI340JEqHmB2lZYPngIMljsLLyopyXDFyLDyJVnOhYGEfLxL/e5gELgkU13ANifuHqH0pDaGAJ25WZXj560OJYzAKrf2qnSL75V/tKFrTaB309R+aV8AiwtzStpcx/d/LPgDqe4XBBIa+cVVlmXtyPlHux1eBwSbT7aLxhxOyQwdVSSk45jJql+f6SPeXgRbQGgucvFugyWz0bJ1ZZqfV+YfjfRFnb572Ks84mqpKWVyzAq4L/Qru1pvm+379m+Pq+CoHPZ 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: --00000000000085dd51060fb42625 Content-Type: text/plain; charset="UTF-8" On Wed, 24 Jan 2024 at 08:54, Linus Torvalds wrote: > > Hmm. That whole thing is disgusting. I think it should have checked > FMODE_EXEC, and I have no idea why it doesn't. Maybe because FMODE_EXEC gets set for uselib() calls too? I dunno. I think it would be even better if we had the 'intent' flags from 'struct open_flags' available, but they aren't there in the file_open() security chain. Anyway, moving current->in_execve earlier looks fairly trivial, but I worry about the randomness. I'd be *so*( much happier if this crazy flag went away, and it got changed to look at the open intent instead. Attached patch is ENTIRELY UNTESTED. And disgusting. I went back and looked. This whole disgusting thing goes back to 2009 and commit f9ce1f1cda8b ("Add in_execve flag into task_struct"). Linus --00000000000085dd51060fb42625 Content-Type: text/x-patch; charset="US-ASCII"; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lrs1gcul0 IGZzL2V4ZWMuYyB8IDcgKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mcy9leGVjLmMgYi9mcy9leGVjLmMKaW5kZXgg OGNkZDViMmRkMDljLi5mYzFkNmJlZmU4MzAgMTAwNjQ0Ci0tLSBhL2ZzL2V4ZWMuYworKysgYi9m cy9leGVjLmMKQEAgLTE4NDMsNyArMTg0Myw2IEBAIHN0YXRpYyBpbnQgYnBybV9leGVjdmUoc3Ry dWN0IGxpbnV4X2JpbnBybSAqYnBybSkKIAkgKiB3aGVyZSBzZXR1aWQtbmVzcyBpcyBldmFsdWF0 ZWQuCiAJICovCiAJY2hlY2tfdW5zYWZlX2V4ZWMoYnBybSk7Ci0JY3VycmVudC0+aW5fZXhlY3Zl ID0gMTsKIAlzY2hlZF9tbV9jaWRfYmVmb3JlX2V4ZWN2ZShjdXJyZW50KTsKIAogCXNjaGVkX2V4 ZWMoKTsKQEAgLTE4NjAsNyArMTg1OSw2IEBAIHN0YXRpYyBpbnQgYnBybV9leGVjdmUoc3RydWN0 IGxpbnV4X2JpbnBybSAqYnBybSkKIAlzY2hlZF9tbV9jaWRfYWZ0ZXJfZXhlY3ZlKGN1cnJlbnQp OwogCS8qIGV4ZWN2ZSBzdWNjZWVkZWQgKi8KIAljdXJyZW50LT5mcy0+aW5fZXhlYyA9IDA7Ci0J Y3VycmVudC0+aW5fZXhlY3ZlID0gMDsKIAlyc2VxX2V4ZWN2ZShjdXJyZW50KTsKIAl1c2VyX2V2 ZW50c19leGVjdmUoY3VycmVudCk7CiAJYWNjdF91cGRhdGVfaW50ZWdyYWxzKGN1cnJlbnQpOwpA QCAtMTg3OSw3ICsxODc3LDYgQEAgc3RhdGljIGludCBicHJtX2V4ZWN2ZShzdHJ1Y3QgbGludXhf YmlucHJtICpicHJtKQogCiAJc2NoZWRfbW1fY2lkX2FmdGVyX2V4ZWN2ZShjdXJyZW50KTsKIAlj dXJyZW50LT5mcy0+aW5fZXhlYyA9IDA7Ci0JY3VycmVudC0+aW5fZXhlY3ZlID0gMDsKIAogCXJl dHVybiByZXR2YWw7CiB9CkBAIC0xOTEwLDYgKzE5MDcsNyBAQCBzdGF0aWMgaW50IGRvX2V4ZWN2 ZWF0X2NvbW1vbihpbnQgZmQsIHN0cnVjdCBmaWxlbmFtZSAqZmlsZW5hbWUsCiAJLyogV2UncmUg YmVsb3cgdGhlIGxpbWl0IChzdGlsbCBvciBhZ2FpbiksIHNvIHdlIGRvbid0IHdhbnQgdG8gbWFr ZQogCSAqIGZ1cnRoZXIgZXhlY3ZlKCkgY2FsbHMgZmFpbC4gKi8KIAljdXJyZW50LT5mbGFncyAm PSB+UEZfTlBST0NfRVhDRUVERUQ7CisJY3VycmVudC0+aW5fZXhlY3ZlID0gMTsKIAogCWJwcm0g PSBhbGxvY19icHJtKGZkLCBmaWxlbmFtZSwgZmxhZ3MpOwogCWlmIChJU19FUlIoYnBybSkpIHsK QEAgLTE5NjUsNiArMTk2Myw3IEBAIHN0YXRpYyBpbnQgZG9fZXhlY3ZlYXRfY29tbW9uKGludCBm ZCwgc3RydWN0IGZpbGVuYW1lICpmaWxlbmFtZSwKIAlmcmVlX2Jwcm0oYnBybSk7CiAKIG91dF9y ZXQ6CisJY3VycmVudC0+aW5fZXhlY3ZlID0gMDsKIAlwdXRuYW1lKGZpbGVuYW1lKTsKIAlyZXR1 cm4gcmV0dmFsOwogfQpAQCAtMTk4NSw2ICsxOTg0LDcgQEAgaW50IGtlcm5lbF9leGVjdmUoY29u c3QgY2hhciAqa2VybmVsX2ZpbGVuYW1lLAogCWlmIChJU19FUlIoZmlsZW5hbWUpKQogCQlyZXR1 cm4gUFRSX0VSUihmaWxlbmFtZSk7CiAKKwljdXJyZW50LT5pbl9leGVjdmUgPSAxOwogCWJwcm0g PSBhbGxvY19icHJtKGZkLCBmaWxlbmFtZSwgMCk7CiAJaWYgKElTX0VSUihicHJtKSkgewogCQly ZXR2YWwgPSBQVFJfRVJSKGJwcm0pOwpAQCAtMjAyNCw2ICsyMDI0LDcgQEAgaW50IGtlcm5lbF9l eGVjdmUoY29uc3QgY2hhciAqa2VybmVsX2ZpbGVuYW1lLAogb3V0X2ZyZWU6CiAJZnJlZV9icHJt KGJwcm0pOwogb3V0X3JldDoKKwljdXJyZW50LT5pbl9leGVjdmUgPSAwOwogCXB1dG5hbWUoZmls ZW5hbWUpOwogCXJldHVybiByZXR2YWw7CiB9Cg== --00000000000085dd51060fb42625--