From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 626B93CF20E for ; Tue, 23 Jun 2026 08:57:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782205026; cv=none; b=rB8yw62LVgUK49OQ3LmdMX7LYq8ywFcl1dxLT4GoXgTIh0zwx9oPfV608wAdbwA9U4ZnLRPOs8RJIp+GNDp6NJugw03r1hVz2aVaOdP7wP7xbOfk4fQ1BoBwE6MxQoGdoIRL8MwWqaN62xH59PKvVe3v2xtCzfBaQWKg1mMPmfM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782205026; c=relaxed/simple; bh=QH4UVViP3mNVDsMm+E19tqY86XfdXlL8YlbbsvBabtI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=QS2QmBNU8w466bVlQGwjLebwjPp3Jnw05Q+H0EvMoTYqiOE61uROzTBg+0fNxi5RY7889SQLSu7zdgMX1bEa3lcukpx+v55EEsFQp5kbFOvioLMzcAqg7ns+/bBHZpWmrT1LtjkuHca8820WCxqtMKMe+icGGrgezRZiHkuVWXM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=fp71fsY6; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=pWfOxKWY; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="fp71fsY6"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="pWfOxKWY" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1782205024; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=ItLvswZvLtFnJpS91TTxvSnHPqfxs67BvfVfK3aZKOo=; b=fp71fsY6yylceZpXqjjrtQiSaoCGY4udcXCN6vqJo+9LA8if5g6ItvhahNHc50bfXYoz76 CLAaAAHeKDRGoUXawYLIsnxRET9M4fXR6Yotigpbe9ri1imj9OrXahJ/+wsoyxhQ1/4N1x ICexBLmrn1he1m8/pxUS0VL3942xunw= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-573-WGh-vdk5OuGEjNtu0CiOdg-1; Tue, 23 Jun 2026 04:57:01 -0400 X-MC-Unique: WGh-vdk5OuGEjNtu0CiOdg-1 X-Mimecast-MFC-AGG-ID: WGh-vdk5OuGEjNtu0CiOdg_1782205020 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4923411f041so43294105e9.2 for ; Tue, 23 Jun 2026 01:57:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1782205020; x=1782809820; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=ItLvswZvLtFnJpS91TTxvSnHPqfxs67BvfVfK3aZKOo=; b=pWfOxKWY0yb7FXrDSJHRaVXasYAJi5F6bjFSwRHOhfDXiJcYj9Cms4x8o/vDz50Gdh P+o0C6zEaX/9Gz15yaqlt+T6IZz70aRnmKHQ+SI64a1Rip0hfBGckE492kIHiLUKDVSE 2rC6/4pJNzCiREaEDu2vTXUzbriwk6MFvJKJiUIuiNKHViqzuLnNetgPic6clgkLKu0r 2UV/sUw/TeLq8DiKr10/toZra+gs6T7ErEjBfbojBt/HVi+6Kl2ro4bmBUcyRwc40aBm fy7Lky7v4ycrynXkzn69RU7RqUQW6vgEzh+hVZbL/9OtOFORzle2ny/IFxqGH0GpePdV 1pMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782205020; x=1782809820; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ItLvswZvLtFnJpS91TTxvSnHPqfxs67BvfVfK3aZKOo=; b=e7EYQoc8jTshji1Mw2vpteQRwnI/fqrbqdDeIO8hji4jTRJKNlTV8s9pnw9UJwEpv5 auqJxK650dm+sdcSV8m4Yv3Y7Gd22xK8SHU5D/AMW1R8Qi1cD0ZQUuLlenfJO+vhuSwv VTVGONOJOpKnio5u6V2Ak6UeQ7TRYEdB+y54dnxdvfjbWHUaHT5mo358C+BGp39oEJCx O+txooiZoZYyugtgL8KkwAfTTsIEtacP6AQQI8PXTdUxhGHvw9Yvi3wP31ikpt8Gtwp3 B7srnMuZIFoRyWHenr4ybzPY87DaXHxPU/g479enpAZAyKwVjlNylvfxe+CM7hHkrVs6 kNAg== X-Forwarded-Encrypted: i=1; AFNElJ8AXuRLUVdthnsLVnfIVocUbr2tLzKREy7QHC1n8KwxHrx/jA1FnGggKsSVHaE1yybwnAhgEOr5XgK17Ac=@vger.kernel.org X-Gm-Message-State: AOJu0YyTdF39GNFJg1/wwo7udwmtsltynVuVPVeN6j/Gr2WpQ1VjURdg CL1tGUrmxGjUJvRzGfOBkDiUEhiJ9D2mn/j1hNxl9F28YTjhDVVZBl0BWNp2wqfS/r4qpSpY11u 55UZ/seik/RVP3yq1lDLIA7xGLzi+wt+OfGm4AMc2WY5Ead66IImtaJweKk/lkjCj X-Gm-Gg: AfdE7clD2745epPlXsu0uyMG9+ts/gZqZC9eAO2/71rifVUAG+X3XfSMzGIbChVaCKg wZtaPFYotxPhW+WDI47QTPoI1enUQNZltFpDJzQJXjcu1pqOOdzmWEreg8N1Zxay3Rn/fR+LHCs pwBdAwFT6uPlzIbupDjYp98WSPvxEDxxhyRJgLoD30moBCl2J9P88pBbWMOk6ryVnnfgwAlIOZN dJEQ7WmC7R3K5BexJ0Ycdu1GKQmEvOv+V4KA7eL7VB71CbNaPPHLfuiCFcu/8wLhgvBG6uvQjQu /t59i8x3Ho5KhXlTMv/6UcIUCVeuBr3tYgDzwDOl9SdvXffZyFakBxgHAqilgjqDHctjdFXMlcU Q X-Received: by 2002:a05:600c:6288:b0:492:4c5d:4db3 with SMTP id 5b1f17b1804b1-4925b389ba5mr24504975e9.5.1782205019765; Tue, 23 Jun 2026 01:56:59 -0700 (PDT) X-Received: by 2002:a05:600c:6288:b0:492:4c5d:4db3 with SMTP id 5b1f17b1804b1-4925b389ba5mr24504605e9.5.1782205019351; Tue, 23 Jun 2026 01:56:59 -0700 (PDT) Received: from [10.43.17.192] ([213.175.46.86]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4924944fbbdsm307985945e9.12.2026.06.23.01.56.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Jun 2026 01:56:58 -0700 (PDT) Message-ID: Date: Tue, 23 Jun 2026 10:56:58 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] dm: avoid leaking the caller's thread keyring via the table device file To: Ingo Blechschmidt , Alasdair Kergon , Mike Snitzer , Mikulas Patocka , Benjamin Marzinski Cc: dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org, gmazyland@gmail.com References: Content-Language: en-US From: Ondrej Kozina Autocrypt: addr=okozina@redhat.com; keydata= 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 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 17/06/2026 16:33, Ingo Blechschmidt wrote: > The refactoring in commit a28d893eb327 ("md: port block device access to file") > accidentally causes the caller's thread keyring to be kept alive long > beyond the caller's lifetime. For the record for anyone tracking the issue interdependently. I have tested the patch and can ack it fixes the issue for block devices opened in DM table constructors. But that's not, unfortunately, the root cause of the issue. The keys put in caller's thread keyring can be pinned via many kernel APIs taking their own reference on current_cred() when a process calls into them. That's something I missed when I added the feature in libcryptsetup. For example: while I was testing the patch I got hit by the issue again when I had test LUKS2 image in a file. The cryptsetup creates loop device in before it opens dm-crypt mapping over it. And voila the thread keyring got pinned again, via loop device. So to fix it properly, I have opened MR also on the cryptsetup to manually release the keyring while releasing a crypt device context: https://gitlab.com/cryptsetup/cryptsetup/-/merge_requests/937 Tested-by: Ondrej Kozina