kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=c+GsN7Ok; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=XL9aqYXe; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.599762593@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137357;
	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:
	 references:references; bh=Zgu2fA8f5xJPsST4+i4W8NVv6qck0BV/bxjOydsn72k=;
	b=c+GsN7Okc6pVlhYZbNSP7Toqy1JPrPZo2WWCszVxgnGybEpRPIQIW6Oi++aJ7M7EDT5dih
	h5W1u7FWU9oeSXrfkqgLl34z0J+QHvA4b7h1UdTaSb3j4GNm74ot+FAPrjzNyxyUUYuQxA
	H2dbgpZcxCrNjP/+2WXs3ASsUYmpNyG3c1Odt1tWMxPuYJicOmHtcBcVm8vAUKTDG1GHMe
	EJbM5XwdqiAVnbKG7S/5QlckGl934URCN+8uz2S6h2zVGfduEqUnMA2N3jVYqd21H2V2Bs
	0Fd1DPkOp2ObPYIF2FbETMhr1t84W7XZDyHSCvUCrJXKJMafpd0naiVUH09whQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137357;
	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:
	 references:references; bh=Zgu2fA8f5xJPsST4+i4W8NVv6qck0BV/bxjOydsn72k=;
	b=XL9aqYXe9gwXBer7lMaKuJJPuEejbrtT8VGos4rq/T6Pk40BsJ8Lc68pZAE8duaBoNwxvZ
	zqjZ+XGAseMveoCg==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>
Subject: [patch V4 12/12] select: Convert to scoped user access
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:16 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [139.178.88.99 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: -18

From: Thomas Gleixner <tglx@linutronix.de>

Replace the open coded implementation with the scoped user access guard.

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: linux-fsdevel@vger.kernel.org
---
V4: Use read guard - Peterz
    Rename once more
V3: Adopt to scope changes
---
 fs/select.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)
---
--- a/fs/select.c
+++ b/fs/select.c
@@ -776,17 +776,13 @@ static inline int get_sigset_argpack(str
 {
 	// the path is hot enough for overhead of copy_from_user() to matter
 	if (from) {
-		if (can_do_masked_user_access())
-			from = masked_user_access_begin(from);
-		else if (!user_read_access_begin(from, sizeof(*from)))
-			return -EFAULT;
-		unsafe_get_user(to->p, &from->p, Efault);
-		unsafe_get_user(to->size, &from->size, Efault);
-		user_read_access_end();
+		scoped_user_read_access(from, Efault) {
+			unsafe_get_user(to->p, &from->p, Efault);
+			unsafe_get_user(to->size, &from->size, Efault);
+		}
 	}
 	return 0;
 Efault:
-	user_read_access_end();
 	return -EFAULT;
 }
 



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188991-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id 6E6iFzDZ+GireTwAYBR5ng
	(envelope-from <stable+bounces-188991-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:16:32 +0000
Return-path: <stable+bounces-188991-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 13:16:32 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188991-hi=josie.lol@vger.kernel.org>)
	id 1vBYhb-00000001CLJ-2zyb
	for hi@josie.lol;
	Wed, 22 Oct 2025 13:16:32 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id 92EF31896207
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:13:08 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id ED9B9345CAE;
	Wed, 22 Oct 2025 13:10:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PdOkQuHj"
X-Original-To: stable@vger.kernel.org
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 BB68B345749;
	Wed, 22 Oct 2025 13:10:28 +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=1761138628; cv=none; b=fNB2PNn7jm+R38b/xJFT+BSbT47Em8vvOLxzInF74zctQZGbqxpHN1GkikRnezp2llx3IjEc6kCk1bM9kv4nHFjgq6u/KXKuO5RPU+bLScH56oId3dUDfbyjvKBqB1wElNqmAKqTWXLcz/ivv+KRBWywaJfhK17lfrzKwsNQuOU=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761138628; c=relaxed/simple;
	bh=/Du5gzKBdKt8tqyC45JQnXFk1Z9z8QIef1GN10pPqr0=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=lIi0xQuEDyWrom0StuSjnqsGkZLtVcLfRX82TS/q8vwt7mUBslDXu2ffzrUfDo2gNdxtbKuRZ+utfYhpb/YTXfqN75rNDaFBfjWf3jW71bGfyeuh2YOf4wh0SKptIFclQDueM4TKO+V8VmEyWFv5z+UDw/xt5bLcx51xjUXvRvY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PdOkQuHj; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1FF10C4CEE7;
	Wed, 22 Oct 2025 13:10:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761138628;
	bh=/Du5gzKBdKt8tqyC45JQnXFk1Z9z8QIef1GN10pPqr0=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=PdOkQuHjijIbrgNvUDgLeRdcApQcVl+2xdnazoVj3aGHORXg0hirLD26RyZrzLdeX
	 +wGPxukw9liYXeK8sWXd+BGoHZoLch7IYNvV/3YQErZN0mCvMSGZGHbfVs2vAnR2az
	 l51Jry+rGzyPjFiKs+kjaqkLKhZuzSYVvoSTizNShSwEbRwTYygKSk2MdsONIofIBn
	 LnfEv9ao/454CBsQUeHLhyuAGESf+S0VhrXfz2U+Qx8ZTwQV0igFfn4RW70YM138Ap
	 SIVbGaUl8sjUXCM51misK0x3Eh8FU/PtLtfMHjoB4KCXt9wfy6qMLma3iV8eMxejj3
	 JRJPuLpWRgRZg==
Date: Wed, 22 Oct 2025 18:40:16 +0530
From: "mani@kernel.org" <mani@kernel.org>
To: "Musham, Sai Krishna" <sai.krishna.musham@amd.com>
Cc: "Havalige, Thippeswamy" <thippeswamy.havalige@amd.com>, 
	Stefan Roese <stefan.roese@mailbox.org>, Bjorn Helgaas <helgaas@kernel.org>, 
	"Bandi, Ravi Kumar" <ravib@amazon.com>, "lpieralisi@kernel.org" <lpieralisi@kernel.org>, 
	"bhelgaas@google.com" <bhelgaas@google.com>, "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>, 
	"kwilczynski@kernel.org" <kwilczynski@kernel.org>, "robh@kernel.org" <robh@kernel.org>, 
	"Simek, Michal" <michal.simek@amd.com>, 
	"linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, 
	"stable@vger.kernel.org" <stable@vger.kernel.org>, Sean Anderson <sean.anderson@linux.dev>, 
	"Yeleswarapu, Nagaradhesh" <nagaradhesh.yeleswarapu@amd.com>
Subject: Re: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
Message-ID: <je532spw436aprfqtntmffq7faa2ghpbws2ph4zjplvbf7rnaa@gmrekmta6yh4>
References: <20251021212801.GA1224310@bhelgaas>
 <ab1f7c51-bc41-4774-a0dc-850e53c412eb@mailbox.org>
 <3it5l556vmfpuu6kz5yvulwosi4ecmcgfbzcizrc5wi7ifddkh@mpzfxf2v6v3f>
 <72267a6c-13c7-40bd-babb-f73a28625ca4@mailbox.org>
 <SN7PR12MB7201CF621AF0A38AA905799D8BF3A@SN7PR12MB7201.namprd12.prod.outlook.com>
 <brekq5jmgnotwpshcksxefpg2adm4vlsbuncazdg32sdpxqjwj@annnvyzshrys>
 <SN7PR12MB7201C6B5B64F8847DD6D816D8BF3A@SN7PR12MB7201.namprd12.prod.outlook.com>
 <zuj6puxpqgjmaa3y3wwyixlru7e7locplnjev37i5fnh6zummw@72t5prkfsrpk>
 <DM4PR12MB6158ACBA7BCEDB99A55ACA03CDF3A@DM4PR12MB6158.namprd12.prod.outlook.com>
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <DM4PR12MB6158ACBA7BCEDB99A55ACA03CDF3A@DM4PR12MB6158.namprd12.prod.outlook.com>
X-DKIM: signer='kernel.org' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -3.5 (---)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-3.5 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [147.75.80.249 listed in list.dnswl.org]
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from
                             envelope-from domain
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
 -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender
SpamTally: Final spam score: -34

On Wed, Oct 22, 2025 at 12:48:27PM +0000, Musham, Sai Krishna wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> Hi Mani,
> 
> > -----Original Message-----
> > From: mani@kernel.org <mani@kernel.org>
> > Sent: Wednesday, October 22, 2025 4:28 PM
> > To: Havalige, Thippeswamy <thippeswamy.havalige@amd.com>
> > Cc: Stefan Roese <stefan.roese@mailbox.org>; Bjorn Helgaas
> > <helgaas@kernel.org>; Bandi, Ravi Kumar <ravib@amazon.com>;
> > lpieralisi@kernel.org; bhelgaas@google.com; linux-pci@vger.kernel.org;
> > kwilczynski@kernel.org; robh@kernel.org; Simek, Michal
> > <michal.simek@amd.com>; linux-arm-kernel@lists.infradead.org; linux-
> > kernel@vger.kernel.org; stable@vger.kernel.org; Sean Anderson
> > <sean.anderson@linux.dev>; Yeleswarapu, Nagaradhesh
> > <nagaradhesh.yeleswarapu@amd.com>; Musham, Sai Krishna
> > <sai.krishna.musham@amd.com>
> > Subject: Re: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
> >
> > Caution: This message originated from an External Source. Use proper caution
> > when opening attachments, clicking links, or responding.
> >
> >
> > On Wed, Oct 22, 2025 at 10:36:28AM +0000, Havalige, Thippeswamy wrote:
> > > [AMD Official Use Only - AMD Internal Distribution Only]
> > >
> > > Hi Mani,
> > >
> > > > -----Original Message-----
> > > > From: mani@kernel.org <mani@kernel.org>
> > > > Sent: Wednesday, October 22, 2025 4:02 PM
> > > > To: Havalige, Thippeswamy <thippeswamy.havalige@amd.com>
> > > > Cc: Stefan Roese <stefan.roese@mailbox.org>; Bjorn Helgaas
> > > > <helgaas@kernel.org>; Bandi, Ravi Kumar <ravib@amazon.com>;
> > > > lpieralisi@kernel.org; bhelgaas@google.com;
> > > > linux-pci@vger.kernel.org; kwilczynski@kernel.org; robh@kernel.org;
> > > > Simek, Michal <michal.simek@amd.com>;
> > > > linux-arm-kernel@lists.infradead.org; linux- kernel@vger.kernel.org;
> > > > stable@vger.kernel.org; Sean Anderson <sean.anderson@linux.dev>
> > > > Subject: Re: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
> > > >
> > > > On Wed, Oct 22, 2025 at 10:08:44AM +0000, Havalige, Thippeswamy wrote:
> > > > > [AMD Official Use Only - AMD Internal Distribution Only]
> > > > >
> > > > > Hi Stefan,
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Stefan Roese <stefan.roese@mailbox.org>
> > > > > > Sent: Wednesday, October 22, 2025 3:29 PM
> > > > > > To: mani@kernel.org
> > > > > > Cc: Bjorn Helgaas <helgaas@kernel.org>; Bandi, Ravi Kumar
> > > > > > <ravib@amazon.com>; Havalige, Thippeswamy
> > > > > > <thippeswamy.havalige@amd.com>; lpieralisi@kernel.org;
> > > > > > bhelgaas@google.com; linux-pci@vger.kernel.org;
> > > > > > kwilczynski@kernel.org; robh@kernel.org; Simek, Michal
> > > > > > <michal.simek@amd.com>; linux-arm- kernel@lists.infradead.org;
> > > > > > linux-kernel@vger.kernel.org; stable@vger.kernel.org; Sean
> > > > > > Anderson <sean.anderson@linux.dev>
> > > > > > Subject: Re: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
> > > > > >
> > > > > > On 10/22/25 11:55, mani@kernel.org wrote:
> > > > > > > On Wed, Oct 22, 2025 at 08:59:19AM +0200, Stefan Roese wrote:
> > > > > > >> Hi Bjorn,
> > > > > > >> Hi Ravi,
> > > > > > >>
> > > > > > >> On 10/21/25 23:28, Bjorn Helgaas wrote:
> > > > > > >>> On Tue, Oct 21, 2025 at 08:55:41PM +0000, Bandi, Ravi Kumar wrote:
> > > > > > >>>>> On Tue, Oct 21, 2025 at 05:46:17PM +0000, Bandi, Ravi
> > > > > > >>>>> Kumar
> > > > wrote:
> > > > > > >>>>>>> On Oct 21, 2025, at 10:23 AM, Bjorn Helgaas
> > > > > > >>>>>>> <helgaas@kernel.org>
> > > > > > wrote:
> > > > > > >>>>>>> On Sat, Sep 20, 2025 at 10:52:32PM +0000, Ravi Kumar
> > > > > > >>>>>>> Bandi
> > > > > > wrote:
> > > > > > >>>>>>>> The pcie-xilinx-dma-pl driver does not enable INTx
> > > > > > >>>>>>>> interrupts after initializing the port, preventing INTx
> > > > > > >>>>>>>> interrupts from PCIe endpoints from flowing through the
> > > > > > >>>>>>>> Xilinx XDMA root port bridge. This issue affects kernel
> > > > > > >>>>>>>> 6.6.0 and
> > > > later versions.
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> This patch allows INTx interrupts generated by PCIe
> > > > > > >>>>>>>> endpoints to flow through the root port. Tested the fix
> > > > > > >>>>>>>> on a board with two endpoints generating INTx interrupts.
> > > > > > >>>>>>>> Interrupts are properly detected and serviced. The
> > > > > > >>>>>>>> /proc/interrupts output
> > > > > > >>>>>>>> shows:
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> [...]
> > > > > > >>>>>>>> 32:        320          0  pl_dma:RC-Event  16 Level
> > 400000000.axi-
> > > > pcie,
> > > > > > azdrv
> > > > > > >>>>>>>> 52:        470          0  pl_dma:RC-Event  16 Level
> > 500000000.axi-
> > > > pcie,
> > > > > > azdrv
> > > > > > >>>>>>>> [...]
> > > > > > >>
> > > > > > >> First a comment on this IRQ logging:
> > > > > > >>
> > > > > > >> These lines do NOT refer to the INTx IRQ(s) but the
> > > > > > >> controller internal "events" (errors etc). Please see this
> > > > > > >> log for INTx on my Versal platform with pci_irqd_intx_xlate added:
> > > > > > >>
> > > > > > >>   24:          0          0  pl_dma:RC-Event   0 Level     LINK_DOWN
> > > > > > >>   25:          0          0  pl_dma:RC-Event   3 Level     HOT_RESET
> > > > > > >>   26:          0          0  pl_dma:RC-Event   8 Level     CFG_TIMEOUT
> > > > > > >>   27:          0          0  pl_dma:RC-Event   9 Level     CORRECTABLE
> > > > > > >>   28:          0          0  pl_dma:RC-Event  10 Level     NONFATAL
> > > > > > >>   29:          0          0  pl_dma:RC-Event  11 Level     FATAL
> > > > > > >>   30:          0          0  pl_dma:RC-Event  20 Level     SLV_UNSUPP
> > > > > > >>   31:          0          0  pl_dma:RC-Event  21 Level     SLV_UNEXP
> > > > > > >>   32:          0          0  pl_dma:RC-Event  22 Level     SLV_COMPL
> > > > > > >>   33:          0          0  pl_dma:RC-Event  23 Level     SLV_ERRP
> > > > > > >>   34:          0          0  pl_dma:RC-Event  24 Level     SLV_CMPABT
> > > > > > >>   35:          0          0  pl_dma:RC-Event  25 Level     SLV_ILLBUR
> > > > > > >>   36:          0          0  pl_dma:RC-Event  26 Level     MST_DECERR
> > > > > > >>   37:          0          0  pl_dma:RC-Event  27 Level     MST_SLVERR
> > > > > > >>   38:         94          0  pl_dma:RC-Event  16 Level     84000000.axi-pcie
> > > > > > >>   39:         94          0  pl_dma:INTx   0 Level     nvme0q0, nvme0q1
> > > > > > >>
> > > > > > >> The last line shows the INTx IRQs here ('pl_dma:INTx' vs
> > > > > > >> 'pl_dma:RC- Event').
> > > > > > >>
> > > > > > >> More below...
> > > > > > >>
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> Changes since v1::
> > > > > > >>>>>>>> - Fixed commit message per reviewer's comments
> > > > > > >>>>>>>>
> > > > > > >>>>>>>> Fixes: 8d786149d78c ("PCI: xilinx-xdma: Add Xilinx XDMA
> > > > > > >>>>>>>> Root Port driver")
> > > > > > >>>>>>>> Cc: stable@vger.kernel.org
> > > > > > >>>>>>>> Signed-off-by: Ravi Kumar Bandi <ravib@amazon.com>
> > > > > > >>>>>>>
> > > > > > >>>>>>> Hi Ravi, obviously you tested this, but I don't know how
> > > > > > >>>>>>> to reconcile this with Stefan's INTx fix at
> > > > > > >>>>>>> https://lore.kernel.org/r/20251021154322.973640-1-
> > > > > > stefan.roese@m
> > > > > > >>>>>>> ailbox.org
> > > > > > >>>>>>>
> > > > > > >>>>>>> Does Stefan's fix need to be squashed into this patch?
> > > > > > >>>>>>
> > > > > > >>>>>> Sure, we can squash Stefan’s fix into this.
> > > > > > >>>>>
> > > > > > >>>>> I know we *can* squash them.
> > > > > > >>>>>
> > > > > > >>>>> I want to know why things worked for you and Stefan when
> > > > > > >>>>> they
> > > > > > >>>>> *weren't* squashed:
> > > > > > >>>>>
> > > > > > >>>>>    - Why did INTx work for you even without Stefan's patch.  Did you
> > > > > > >>>>>      get INTx interrupts but not the right ones, e.g., did the device
> > > > > > >>>>>      signal INTA but it was received as INTB?
> > > > > > >>>>
> > > > > > >>>> I saw that interrupts were being generated by the endpoint
> > > > > > >>>> device, but I didn’t specifically check if they were
> > > > > > >>>> correctly translated in the controller. I noticed that the
> > > > > > >>>> new driver wasn't explicitly enabling the interrupts, so my
> > > > > > >>>> first approach was to enable them, which helped the interrupts flow
> > through.
> > > > > > >>>
> > > > > > >>> OK, I'll assume the interrupts happened but the driver might
> > > > > > >>> not have been able to handle them correctly, e.g., it was
> > > > > > >>> prepared for INTA but got INTB or similar.
> > > > > > >>>
> > > > > > >>>>>    - Why did Stefan's patch work for him even without your patch.
> > > > How
> > > > > > >>>>>      could Stefan's INTx work without the CSR writes to enable
> > > > > > >>>>>      interrupts?
> > > > > > >>>>
> > > > > > >>>> I'm not entirely sure if there are any other dependencies
> > > > > > >>>> in the FPGA bitstream. I'll investigate further and get back to you.
> > > > > > >>>
> > > > > > >>> Stefan clarified in a private message that he had applied
> > > > > > >>> your patch first, so this mystery is solved.
> > > > > > >>
> > > > > > >> Yes. I applied Ravi's patch first and still got no INTx
> > > > > > >> delivered to the nvme driver. That's what me triggered to dig
> > > > > > >> deeper here and resulted in this v2 patch with pci_irqd_intx_xlate added.
> > > > > > >>
> > > > > > >> BTW:
> > > > > > >> I re-tested just now w/o Ravi's patch and the INTx worked.
> > > > > > >> Still I think Ravi's patch is valid and should be applied...
> > > > > > >
> > > > > > > How come INTx is working without the patch from Ravi which
> > > > > > > enabled INTx routing in the controller? Was it enabled by default in the
> > hardware?
> > > > > >
> > > > > > Yes, this is my best guess right now. I could double-check here,
> > > > > > but IMHO it makes sense to enable it "manually" as done with
> > > > > > Ravi's patch to not rely on this default setup at all.
> > > > > Hardware doesn't enable this bits by default, INTx didn't work
> > > > > since there is a
> > > > miss match in the DT property which doesn't require pci_irqd_intx_xlate.
> > > > >
> > > > > interrupt-map = <0 0 0 1 &pcie_intc_0 0>,
> > > > > <0 0 0 2 &pcie_intc_0 1>,
> > > > > <0 0 0 3 &pcie_intc_0 2>,
> > > > > <0 0 0 4 &pcie_intc_0 3>;
> > > > >
> > > >
> > > > Ok. This makes me believe that we do not need Stefan's patch [1] and
> > > > need just this patch from Ravi.
> > > >
> > > > - Mani
> > > >
> > > > [1] https://lore.kernel.org/linux-pci/20251021154322.973640-1-
> > > > stefan.roese@mailbox.org/
> > >
> > > We even don’t need ravi patch, as we have tested this at our end it
> > > works fine by just updating interrupt-map Property. We need to now understand the
> > difference in design.
> >
> > Ok, please let us know with your findings. In the meantime, I'll keep Ravi's patch in
> > tree, as it seems to be required on his setup.
> >
> 
> We tested on Linux version 6.12.40 without applying either Stefan's or Ravi's patches.

Please test with v6.18-rc1 kernel.

Any clue on what is going wrong with Ravi's setup?
https://lore.kernel.org/linux-pci/467D7D30-DC05-4612-87BA-7E980A9C0A4A@amazon.com/

- Mani

-- 
மணிவண்ணன் சதாசிவம்


From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188989-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id wGmdJF7a+Gi6sQQAYBR5ng
	(envelope-from <stable+bounces-188989-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:21:34 +0000
Return-path: <stable+bounces-188989-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 13:21:34 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188989-hi=josie.lol@vger.kernel.org>)
	id 1vBYmU-00000001Lkb-1fGW
	for hi@josie.lol;
	Wed, 22 Oct 2025 13:21:34 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id DE7EF54090E
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:11:51 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 7C40326ED37;
	Wed, 22 Oct 2025 13:09:00 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KvshL+6i"
X-Original-To: stable@vger.kernel.org
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 4D55B26ED32;
	Wed, 22 Oct 2025 13:08:59 +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=1761138540; cv=none; b=Phc1uz/6MyFPzcwqXbl0mtqnKWGqYYrDJOeyho8H3fH7P+Q6jrlGU7JfYhlp8pCDslbswvQTnquTjp3JxogIjB7/02qu5y6ad+bNffF1RR85ZxqrehJOD8kgNJ98Clv+HrR0fhGO38sobwswu4A9hzQA03CPcE/BoexEf9WSvMw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761138540; c=relaxed/simple;
	bh=swH5suPQCeVJQves/KxlJm9+nx21NfbdyciceqcxPyw=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=rpG4L6ASnu0ApQ1j43cp/85aR5qSv+9yh1uHGjzp15APKGtvvup9uHMrtx8ImYJp8jkTEpAv1UPN7Qq0mN2UshGRWq+uKUTHwj5BvXiU70WmZllnMw/GfMak1AesF2ErAtU7DTJNctNkBXAORRnuF4dv1b0hxr2vpLRUoghJqV4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KvshL+6i; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8FE9C4CEF5;
	Wed, 22 Oct 2025 13:08:55 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761138539;
	bh=swH5suPQCeVJQves/KxlJm9+nx21NfbdyciceqcxPyw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=KvshL+6iQtMaBx4DFThb2VNyLIrQfgIJlW+UC7pKstUq34lvqTQyyqt0QB0nsrs7O
	 3LnqN0c4E2lgL9xYWYmE3JnmKbqV9gn4ttKj+4mj4M8AHCdKzSuvng+Hf8S3fhppYb
	 ugYnZME3WH3yCtEt7Lqwc1/ownyjhJPoxHgSC2rrgSsuxqeCX1YJOMPqdwLAjrRPKC
	 DTKUhvYfNKc4Hb+yZQm7ZlW0SuMR1RK5u9LGUtAplQPMJyGSkL2qLh7P4086V9oOcc
	 0spHm3WxK3GPrSmekdtkJ6OQYhxPn5BpgQQuW8htsnB2o1JDfW1GbDhPGQwXlaDIyp
	 WSvQJugMAu6Mw==
Date: Wed, 22 Oct 2025 15:08:52 +0200
From: Nathan Chancellor <nathan@kernel.org>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, stable@vger.kernel.org,
	patches@lists.linux.dev, linux-kernel@vger.kernel.org,
	torvalds@linux-foundation.org, akpm@linux-foundation.org,
	shuah@kernel.org, patches@kernelci.org,
	lkft-triage@lists.linaro.org, pavel@denx.de, jonathanh@nvidia.com,
	f.fainelli@gmail.com, sudipm.mukherjee@gmail.com, rwarsow@gmx.de,
	conor@kernel.org, hargar@microsoft.com, broonie@kernel.org,
	achill@achill.org
Subject: Re: [PATCH 6.17 000/563] 6.17.3-rc1 review
Message-ID: <20251022130852.GA1221362@ax162>
References: <20251013144411.274874080@linuxfoundation.org>
 <7d762aa4-b73d-49be-8150-3971435b8712@roeck-us.net>
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <7d762aa4-b73d-49be-8150-3971435b8712@roeck-us.net>
X-DKIM: signer='kernel.org' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.2 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.2 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from
                             envelope-from domain
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
 -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender
SpamTally: Final spam score: -11

On Fri, Oct 17, 2025 at 11:03:47AM -0700, Guenter Roeck wrote:
> On 10/13/25 07:37, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 6.17.3 release.
> > There are 563 patches in this series, all will be posted as a response
> > to this one.  If anyone has any issues with these being applied, please
> > let me know.
> > 
> > Responses should be made by Wed, 15 Oct 2025 14:42:41 +0000.
> > Anything received after that time might be too late.
> > 
> 
> Building m68k:allmodconfig ... failed
> --------------
> Error log:
> drivers/vfio/cdx/intr.c: In function 'vfio_cdx_msi_enable':
> drivers/vfio/cdx/intr.c:41:15: error: implicit declaration of function 'msi_domain_alloc_irqs'; did you mean 'msi_domain_get_virq'? [-Wimplicit-function-declaration]
>    41 |         ret = msi_domain_alloc_irqs(dev, MSI_DEFAULT_DOMAIN, nvec);
>       |               ^~~~~~~~~~~~~~~~~~~~~
>       |               msi_domain_get_virq
> drivers/vfio/cdx/intr.c: In function 'vfio_cdx_msi_disable':
> drivers/vfio/cdx/intr.c:135:9: error: implicit declaration of function 'msi_domain_free_irqs_all' [-Wimplicit-function-declaration]
>   135 |         msi_domain_free_irqs_all(dev, MSI_DEFAULT_DOMAIN);
...
> # first bad commit: [db05b70c5d4c34c748e25697bf7489b909d1d71a] cdx: don't select CONFIG_GENERIC_MSI_IRQ

Our CI sees this as well with ARCH=hexagon allmodconfig. Commit
9f3acb3d9a18 ("vfio/cdx: update driver to build without
CONFIG_GENERIC_MSI_IRQ") resolves this for me.

Cheers,
Nathan


From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188988-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id eLQYLm7a+Gi5zQMAYBR5ng
	(envelope-from <stable+bounces-188988-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:21:50 +0000
Return-path: <stable+bounces-188988-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 13:21:50 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188988-hi=josie.lol@vger.kernel.org>)
	id 1vBYmj-00000001MER-1IhT
	for hi@josie.lol;
	Wed, 22 Oct 2025 13:21:50 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id B04665662A2
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:11:31 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id C138E3491CD;
	Wed, 22 Oct 2025 13:07:32 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.b="HH17g4vu"
X-Original-To: stable@vger.kernel.org
Received: from mx.denx.de (mx.denx.de [89.58.32.78])
	(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 B0E17348894;
	Wed, 22 Oct 2025 13:07:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=89.58.32.78
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761138452; cv=none; b=c3egpRM6SwRNzW0XeOXRdilb4bHXTgX8zs/UABUVRohtvRPoBOiQEwWf4wbDkZz8bZuDsdFq0BTQ4VGkBp7tEHD2T0KaGTdKm+IR2rkqlYvnvhr1t1V2yPQ+t25QfOvX2h9T/kIA6UqaSWA6U2G6nxOOVdmgRZGAgvYhqC7r+eI=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761138452; c=relaxed/simple;
	bh=5l4YIxzcsZkjlPhKWCLqtRWElD9XS4GZuoGPn/+2o+w=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=dpVyOgYcEgiOm/zP02zYTm5IDex9gN6IHj5r5l9qmxRgAG0I4XGiXPFdqrkLMHe4BeXT2zVeezzZbU4yS66hFrH+7m7XP1KmX7NE4nZhRRNspuLwVsqPzprhsheM2nkcqqnIDxAbZLOLL4N5wWn62rf9Rtu0WNDYwMCBE7rP4ws=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=denx.de; spf=pass smtp.mailfrom=denx.de; dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.b=HH17g4vu; arc=none smtp.client-ip=89.58.32.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=denx.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=denx.de
Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id C9CCB1038C10E;
	Wed, 22 Oct 2025 15:07:18 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=mx-20241105;
	t=1761138442; h=from:subject:date:message-id:to:cc:mime-version:content-type:
	 in-reply-to:references; bh=u7FD/pekiqcAC48IXTFp78ySVwMcroarl0d1MdlzkpI=;
	b=HH17g4vubYuTQhiD2pnGhHiHuNTBNF4p7LxRuMCJT/ROKalH8XOldLHSbCk2dNXuVy4L1O
	mHrPxSAB+MJY5BVS8KADoOiQwCwVzoZA1Kkm0aDSMUYh1sEhI5iMwr6wC8p1VslAAMXmvs
	wB40ib7GV+xxQMsXgbYGXApV1Gf5BJibpNUpIDByndQgKZDP5wIh4YNJhy+BfyEUUmmqbG
	Ydp8WA/kTqa3FXfyZPK9X9PyeUzG/p5zuRrIFwvQxF6WXS+9Op2/O/nPkDoWG1aKTP788L
	agUqTIKEHitzKcT/d6KGAwMQ0tgftd87WihNa4j/W8+w8zpPceDtaMlWee9dAw==
Date: Wed, 22 Oct 2025 15:07:16 +0200
From: Pavel Machek <pavel@denx.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable@vger.kernel.org, patches@lists.linux.dev,
	linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, linux@roeck-us.net, shuah@kernel.org,
	patches@kernelci.org, lkft-triage@lists.linaro.org,
	jonathanh@nvidia.com, f.fainelli@gmail.com,
	sudipm.mukherjee@gmail.com, rwarsow@gmx.de, conor@kernel.org,
	hargar@microsoft.com, broonie@kernel.org, achill@achill.org
Subject: Re: [PATCH 6.12 000/135] 6.12.55-rc2 review
Message-ID: <aPjXBPcehgzTNLu5@duo.ucw.cz>
References: <20251022060141.370358070@linuxfoundation.org>
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="K+R5SPhWy/4AQ6XK"
Content-Disposition: inline
In-Reply-To: <20251022060141.370358070@linuxfoundation.org>
X-Last-TLS-Session-Version: TLSv1.3
X-DKIM: signer='denx.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: gitlab.com]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4


--K+R5SPhWy/4AQ6XK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi!

> This is the start of the stable review cycle for the 6.12.55 release.
> There are 135 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.

CIP testing did not find any problems here:

https://gitlab.com/cip-project/cip-testing/linux-stable-rc-ci/-/tree/linux-=
6.12.y

Tested-by: Pavel Machek (CIP) <pavel@denx.de>

Best regards,
                                                                Pavel
--=20
In cooperation with DENX Software Engineering GmbH, HRB 165235 Munich,
Office: Kirchenstr.5, D-82194 Groebenzell, Germany

--K+R5SPhWy/4AQ6XK
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iF0EABECAB0WIQRPfPO7r0eAhk010v0w5/Bqldv68gUCaPjXBAAKCRAw5/Bqldv6
8p0OAJwJx1Byzh8oNOYf5/ljhW8m96v3PwCfSb1kliLtHZodZZrj3uMqdVU6LC8=
=3ir4
-----END PGP SIGNATURE-----

--K+R5SPhWy/4AQ6XK--


From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14107-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id 0JNdOfLS+GiYmD8AYBR5ng
	(envelope-from <linux-s390+bounces-14107-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:54 +0000
Return-path: <linux-s390+bounces-14107-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:55 +0000
Received: from ams.mirrors.kernel.org ([213.196.21.55])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14107-hi=josie.lol@vger.kernel.org>)
	id 1vBYHq-00000000LAb-0hrb
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:54 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by ams.mirrors.kernel.org (Postfix) with ESMTPS id ECF1A34EB69
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:52 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 0388A347BB5;
	Wed, 22 Oct 2025 12:49:27 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="kSNLvhZH";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="jBvd0+8w"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 CEACD34405D;
	Wed, 22 Oct 2025 12:49:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137365; cv=none; b=J2Ae/if4iDshzkVWvPVpifFoMQyba1tTpF4VGUjRCI0onW9CivF91zs4jOLpzjikCXl4ryEvohio5ohnxsOfP8cLsB2zU6F3bYKPtUGhWaAuTrihvAgIRas78m9l7Lk1sfrDFdj2+uHx/sK/DKUzw48LUMcwHm8yQCrWj9sAfQY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137365; c=relaxed/simple;
	bh=wJm5UMrmpvAcM99cTkidm5TaAvUNVlh+zG+6Y25egfQ=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=U9yvKmSJmCVoinT4BVRBbR8AJ71A0AbRXj9e5iQ2ffBQmPt9uO41tw/ERHZh/WmlWE7TIyUrlNMh9DtQglBYPzpfG0GKTbke7lkH6D9NmZ3y0HrRWTCr87sFVy5cIW5yWs9CNBOIwSmdw37GAOsX6QRX16fkSX7pTNK5qRCVq+w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=kSNLvhZH; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=jBvd0+8w; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.419590507@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137353;
	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:
	 references:references; bh=lccNRRk780OLOrvRTmsIIfoLd+zwTDZxXhd+4kcSfCA=;
	b=kSNLvhZHcJTcvSj8XCd+k+HYD9K4T7yCINmy83VEZBK84m3WfK/bM45mfZ5F0pkI6uuJu0
	oytRSuCMIOKuePJ3eBS98GD4Y8yR0+mSEW1CFZInDFQFQGtQ6aybIQf+lGATl+mCkVjvAS
	Bv9uqeqEjKipDkPqb8YRk0E0bTCt4ULyXEgYj11AP66+iaO0pej0K5kqDozoGdnp3g6kIE
	QADjIdbC4Rb2fXcGo7OGvJ4afzmSSZCRuG2WSJvRB6gDLxIxDlS+byoXg3jYsPtCPt3tXy
	mz5W6+lpGnVsjOfQuAHbg7HE8LLFTei08BImHMANYVlHxFwey+pKUDBBTnKG3g==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137353;
	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:
	 references:references; bh=lccNRRk780OLOrvRTmsIIfoLd+zwTDZxXhd+4kcSfCA=;
	b=jBvd0+8wGhqi9YLp+G44n5XgyHsh8eF5MQnWzMNg30j3PgApN0ylxUrS8tq8eAgva7Gr6V
	RLwP5H6AG5silIDQ==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 09/12] [RFC] coccinelle: misc: Add scoped_$MODE_access()
 checker script
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:13 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [213.196.21.55 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

A common mistake in user access code is that the wrong access mode is
selected for starting the user access section. As most architectures map
Read and Write modes to ReadWrite this goes often unnoticed for quite some
time.

Aside of that the scoped user access mechanism requires that the same
pointer is used for the actual accessor macros that was handed in to start
the scope because the pointer can be modified by the scope begin mechanism
if the architecture supports masking.

Add a basic (and incomplete) coccinelle script to check for the common
issues. The error output is:

kernel/futex/futex.h:303:2-17: ERROR: Invalid pointer for unsafe_put_user(p) in scoped_user_write_access(to)
kernel/futex/futex.h:292:2-17: ERROR: Invalid access mode unsafe_get_user() in scoped_user_write_access()

Not-Yet-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Julia Lawall <Julia.Lawall@inria.fr>
Cc: Nicolas Palix <nicolas.palix@imag.fr>
---
 scripts/coccinelle/misc/scoped_uaccess.cocci |  108 +++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

--- /dev/null
+++ b/scripts/coccinelle/misc/scoped_uaccess.cocci
@@ -0,0 +1,108 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/// Validate scoped_masked_user*access() scopes
+///
+// Confidence: Zero
+// Options: --no-includes --include-headers
+
+virtual context
+virtual report
+virtual org
+
+@initialize:python@
+@@
+
+scopemap = {
+  'scoped_user_read_access_size'  : 'scoped_user_read_access',
+  'scoped_user_write_access_size' : 'scoped_user_write_access',
+  'scoped_user_rw_access_size'    : 'scoped_user_rw_access',
+}
+
+# Most common accessors. Incomplete list
+noaccessmap = {
+  'scoped_user_read_access'       : ('unsafe_put_user', 'unsafe_copy_to_user'),
+  'scoped_user_write_access'      : ('unsafe_get_user', 'unsafe_copy_from_user'),
+}
+
+# Most common accessors. Incomplete list
+ptrmap = {
+  'unsafe_put_user'			 : 1,
+  'unsafe_get_user'			 : 1,
+  'unsafe_copy_to_user'		 	 : 0,
+  'unsafe_copy_from_user'		 : 0,
+}
+
+print_mode = None
+
+def pr_err(pos, msg):
+   if print_mode == 'R':
+      coccilib.report.print_report(pos[0], msg)
+   elif print_mode == 'O':
+      cocci.print_main(msg, pos)
+
+@r0 depends on report || org@
+iterator name scoped_user_read_access,
+	      scoped_user_read_access_size,
+	      scoped_user_write_access,
+	      scoped_user_write_access_size,
+	      scoped_user_rw_access,
+	      scoped_user_rw_access_size;
+iterator scope;
+statement S;
+@@
+
+(
+(
+scoped_user_read_access(...) S
+|
+scoped_user_read_access_size(...) S
+|
+scoped_user_write_access(...) S
+|
+scoped_user_write_access_size(...) S
+|
+scoped_user_rw_access(...) S
+|
+scoped_user_rw_access_size(...) S
+)
+&
+scope(...) S
+)
+
+@script:python depends on r0 && report@
+@@
+print_mode = 'R'
+
+@script:python depends on r0 && org@
+@@
+print_mode = 'O'
+
+@r1@
+expression sp, a0, a1;
+iterator r0.scope;
+identifier ac;
+position p;
+@@
+
+  scope(sp,...) {
+    <...
+    ac@p(a0, a1, ...);
+    ...>
+  }
+
+@script:python@
+pos << r1.p;
+scope << r0.scope;
+ac << r1.ac;
+sp << r1.sp;
+a0 << r1.a0;
+a1 << r1.a1;
+@@
+
+scope = scopemap.get(scope, scope)
+if ac in noaccessmap.get(scope, []):
+   pr_err(pos, 'ERROR: Invalid access mode %s() in %s()' %(ac, scope))
+
+if ac in ptrmap:
+   ap = (a0, a1)[ptrmap[ac]]
+   if sp != ap.lstrip('&').split('->')[0].strip():
+      pr_err(pos, 'ERROR: Invalid pointer for %s(%s) in %s(%s)' %(ac, ap, scope, sp))



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14110-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id 8K04EAzT+GiYmD8AYBR5ng
	(envelope-from <linux-s390+bounces-14110-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:20 +0000
Return-path: <linux-s390+bounces-14110-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:50:20 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14110-hi=josie.lol@vger.kernel.org>)
	id 1vBYIG-00000000M5y-03Ht
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:50:20 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id 2B1694ECEB4
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 6E05C348459;
	Wed, 22 Oct 2025 12:49:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="sE058jY4";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="LCpBggbX"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 DC622347BCF;
	Wed, 22 Oct 2025 12:49:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137369; cv=none; b=f/zAwQXRmHk80Meaorhln7cF3OGQdv36jTGyNAir2VgWBg0p9aZSwK+m4D7kD619qNk0FpQhs3OQu/sMe/P43ZljpFMa3kQ+gCARfBtruljLLZjC4qzc0Bn4e5G4uyXnvtxvdx+yWZ8xTdE/642E5d5YtS178wCPI3lK3ewcqhE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137369; c=relaxed/simple;
	bh=XFbP7c4oWTMLAjnLkkeDQLOvFLNhdk14vwJ7xtqtbVU=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=olEOwaQDM0+dqo2eCwjyz5JLm/LVZZ4WEsGkN+wx30gUBv5dXmgh3ennfZ2hK14fVeMT7gU3lU6POavjQNY9C546lIqUg123PskbtUW7Nj4vAXzboBJqHX1FP7AAN2+0zDdt6UYxb2j1iCcZSy5u5BNDUE7u3V16Do15/PPD5To=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=sE058jY4; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=LCpBggbX; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.539017094@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137356;
	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:
	 references:references; bh=uuF1PbflRL7G3epzTRJvFK2AzVPBYAY82eKYUINaU84=;
	b=sE058jY4nU6VsrYvJYJGWz0GnmS2zddKt81kyGurkLnKI3lTj4IAfwcC7vb0GQE2MKAIC9
	06bYY0LlPsompS+ICNa3F0PddkENSI1sjP6uhPMX8hRgmC4QtXBo0vzsziPIKkEfKLUxRz
	e78CSOuQNN3Z0MNphVxMCQu15iLvF0NdT6dFANIPGRsh1693eM6rjQmEsxH7SYRE9EXGNs
	aJ1tZ74jsYpp+Dr7L+Q4UvLxfDGI4CvODwLqZcPoIb4kFWxVKbAkhaHmpA/QT/7i7q48Gk
	i6f0dFKptvOHQUJs1yizaeIwBhEXcT5MWnhDxQOY/prkjd4IGXRTuOAeBOIfPQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137356;
	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:
	 references:references; bh=uuF1PbflRL7G3epzTRJvFK2AzVPBYAY82eKYUINaU84=;
	b=LCpBggbX1O1nqs3aE6YLPbmxhfEEsetgCmtO5LHIcdjPiL9+7YVxy6NLO1LLLCxGKuvIYc
	NMSIIhJLPzxbI5Dw==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: x86@kernel.org,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 11/12] x86/futex: Convert to scoped user access
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:15 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [142.0.200.124 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

Replace the open coded implementation with the scoped user access
guards

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: x86@kernel.org
---
V4: Rename once more
    Use asm_inline - Andrew
V3: Adapt to scope changes
V2: Convert to scoped masked access
    Use RW access functions - Christophe
---
 arch/x86/include/asm/futex.h |   75 ++++++++++++++++++-------------------------
 1 file changed, 33 insertions(+), 42 deletions(-)
---
--- a/arch/x86/include/asm/futex.h
+++ b/arch/x86/include/asm/futex.h
@@ -46,38 +46,31 @@ do {								\
 } while(0)
 
 static __always_inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,
-		u32 __user *uaddr)
+						       u32 __user *uaddr)
 {
-	if (can_do_masked_user_access())
-		uaddr = masked_user_access_begin(uaddr);
-	else if (!user_access_begin(uaddr, sizeof(u32)))
-		return -EFAULT;
-
-	switch (op) {
-	case FUTEX_OP_SET:
-		unsafe_atomic_op1("xchgl %0, %2", oval, uaddr, oparg, Efault);
-		break;
-	case FUTEX_OP_ADD:
-		unsafe_atomic_op1(LOCK_PREFIX "xaddl %0, %2", oval,
-				   uaddr, oparg, Efault);
-		break;
-	case FUTEX_OP_OR:
-		unsafe_atomic_op2("orl %4, %3", oval, uaddr, oparg, Efault);
-		break;
-	case FUTEX_OP_ANDN:
-		unsafe_atomic_op2("andl %4, %3", oval, uaddr, ~oparg, Efault);
-		break;
-	case FUTEX_OP_XOR:
-		unsafe_atomic_op2("xorl %4, %3", oval, uaddr, oparg, Efault);
-		break;
-	default:
-		user_access_end();
-		return -ENOSYS;
+	scoped_user_rw_access(uaddr, Efault) {
+		switch (op) {
+		case FUTEX_OP_SET:
+			unsafe_atomic_op1("xchgl %0, %2", oval, uaddr, oparg, Efault);
+			break;
+		case FUTEX_OP_ADD:
+			unsafe_atomic_op1(LOCK_PREFIX "xaddl %0, %2", oval, uaddr, oparg, Efault);
+			break;
+		case FUTEX_OP_OR:
+			unsafe_atomic_op2("orl %4, %3", oval, uaddr, oparg, Efault);
+			break;
+		case FUTEX_OP_ANDN:
+			unsafe_atomic_op2("andl %4, %3", oval, uaddr, ~oparg, Efault);
+			break;
+		case FUTEX_OP_XOR:
+			unsafe_atomic_op2("xorl %4, %3", oval, uaddr, oparg, Efault);
+			break;
+		default:
+			return -ENOSYS;
+		}
 	}
-	user_access_end();
 	return 0;
 Efault:
-	user_access_end();
 	return -EFAULT;
 }
 
@@ -86,21 +79,19 @@ static inline int futex_atomic_cmpxchg_i
 {
 	int ret = 0;
 
-	if (can_do_masked_user_access())
-		uaddr = masked_user_access_begin(uaddr);
-	else if (!user_access_begin(uaddr, sizeof(u32)))
-		return -EFAULT;
-	asm volatile("\n"
-		"1:\t" LOCK_PREFIX "cmpxchgl %3, %2\n"
-		"2:\n"
-		_ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_EFAULT_REG, %0) \
-		: "+r" (ret), "=a" (oldval), "+m" (*uaddr)
-		: "r" (newval), "1" (oldval)
-		: "memory"
-	);
-	user_access_end();
-	*uval = oldval;
+	scoped_user_rw_access(uaddr, Efault) {
+		asm_inline volatile("\n"
+				    "1:\t" LOCK_PREFIX "cmpxchgl %3, %2\n"
+				    "2:\n"
+				    _ASM_EXTABLE_TYPE_REG(1b, 2b, EX_TYPE_EFAULT_REG, %0)
+				    : "+r" (ret), "=a" (oldval), "+m" (*uaddr)
+				    : "r" (newval), "1" (oldval)
+				    : "memory");
+		*uval = oldval;
+	}
 	return ret;
+Efault:
+	return -EFAULT;
 }
 
 #endif



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14109-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id YDR7NhrT+GhJNQEAYBR5ng
	(envelope-from <linux-s390+bounces-14109-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:34 +0000
Return-path: <linux-s390+bounces-14109-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:50:35 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14109-hi=josie.lol@vger.kernel.org>)
	id 1vBYIU-00000000MWW-11gq
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:50:34 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id ADE1E1A06A3B
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 6AD5B348451;
	Wed, 22 Oct 2025 12:49:30 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="S//Em47h";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="jNKXbM8s"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 D6DC53446BB;
	Wed, 22 Oct 2025 12:49:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137369; cv=none; b=NlL49WT+fNNgNRKyJSV3w6B3LAELapaNRCM+HQP461b3vTO7b8mNA8b4wgfjxKYu0ItCAQPQ1xqCYJ+D2W2uGvutS+kg0ZN4j/P0UriHRkfv97AY+tCBidNi0Gy9Fopv6flshZY9yMPy6yG3d6+5sHB1qz9ro18dPkcxwpI2QVw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137369; c=relaxed/simple;
	bh=l9G4ctLYOMGwtTX6nk+DNb4ZjojzIG2SkzsIOvkMTJA=;
	h=Message-ID:From:To:Subject:References:MIME-Version:Content-Type:
	 cc:Date; b=Y1AkN17ASg103ZknR0TI5rVi9VxOSCrrLc5dNXFWHQ9Z0vzrFyT/0mjgeXnY8pkQErVDG3gjddJu2OMf0TLZN+q1B7zLyplfB6ShUuAjeSvMcEriQuneU4Ad5tM4PV7cIEWZgii+3lfuS/F5XtnVVXPIT0VDKE1un1HOa3G//00=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=S//Em47h; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=jNKXbM8s; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.358808928@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137352;
	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:
	 references:references; bh=QD4vFggFMuOeGOcQhDOiteuemKWf4EcukV9nF7jSRjE=;
	b=S//Em47hao2SiEu4HhbNJvmg7y21pNf1gaVLrhJjCcmZbZo071nDxTNXRELCYqZoPooIxF
	ySg3zehiSqSGF/Zy/PoAZ0h0eWVHnK7p5NECvAG631LkvrKKpA02NnT8HJhQZpUPjjGdto
	DxLzSxnTExD3XmpQxp/1w9NAA1kCPWdDRNW5/s+Ed7BI6inW+w0EztY5DPaQKDxXkxI25m
	W2VKIMRifCPS/nvbDcv4t+ALLahmQ72ecuN0xD3h7xqOz54s2emMHzywywwyatoR89R+VO
	HWXCuuqWv5QLlnqsJgwt24DUtrnfgD83c17QYqwpHiorT55OZe+4eLnlakdUyQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137352;
	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:
	 references:references; bh=QD4vFggFMuOeGOcQhDOiteuemKWf4EcukV9nF7jSRjE=;
	b=jNKXbM8s9KXys2skLRaFhNaomPmHf3yWyLJ+u2hte0dUfgf8E6lPCUahh/LtI3X0E3G6xz
	MQOaMMLQpwzewRAw==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Subject: [patch V4 08/12] uaccess: Provide put/get_user_scoped()
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
cc: kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Date: Wed, 22 Oct 2025 14:49:11 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [147.75.80.249 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

Provide conveniance wrappers around scoped user access similiar to
put/get_user(), which reduce the usage sites to:

       if (!get_user_scoped(val, ptr))
       		return -EFAULT;

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
V4: Rename to scoped
---
 include/linux/uaccess.h |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

--- a/include/linux/uaccess.h
+++ b/include/linux/uaccess.h
@@ -825,6 +825,50 @@ for (bool done = false; !done; done = tr
 #define scoped_user_rw_access(uptr, elbl)				\
 	scoped_user_rw_access_size(uptr, sizeof(*(uptr)), elbl)
 
+/**
+ * get_user_scoped - Read user data with scoped access
+ * @val:	The variable to store the value read from user memory
+ * @usrc:	Pointer to the user space memory to read from
+ *
+ * Return: true if successful, false when faulted
+ */
+#define get_user_scoped(val, usrc)				\
+({								\
+	__label__ efault;					\
+	typeof(usrc) _tmpsrc = usrc;				\
+	bool _ret = true;					\
+								\
+	scoped_user_read_access(_tmpsrc, efault)		\
+		unsafe_get_user(val, _tmpsrc, efault);		\
+	if (0) {						\
+	efault:							\
+		_ret = false;					\
+	}							\
+	_ret;							\
+})
+
+/**
+ * put_user_scoped - Write to user memory with scoped access
+ * @val:	The value to write
+ * @udst:	Pointer to the user space memory to write to
+ *
+ * Return: true if successful, false when faulted
+ */
+#define put_user_scoped(val, udst)				\
+({								\
+	__label__ efault;					\
+	typeof(udst) _tmpdst = udst;				\
+	bool _ret = true;					\
+								\
+	scoped_user_write_access(_tmpdst, efault)		\
+		unsafe_put_user(val, _tmpdst, efault);		\
+	if (0) {						\
+	efault:							\
+		_ret = false;					\
+	}							\
+	_ret;							\
+})
+
 #ifdef CONFIG_HARDENED_USERCOPY
 void __noreturn usercopy_abort(const char *name, const char *detail,
 			       bool to_user, unsigned long offset,



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14112-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id oIZrGCPT+GisigAAYBR5ng
	(envelope-from <linux-s390+bounces-14112-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:43 +0000
Return-path: <linux-s390+bounces-14112-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:50:43 +0000
Received: from ams.mirrors.kernel.org ([213.196.21.55])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14112-hi=josie.lol@vger.kernel.org>)
	id 1vBYId-00000000MkD-0ABh
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:50:43 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by ams.mirrors.kernel.org (Postfix) with ESMTPS id DC31F3571FB
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:41 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id C214A34886F;
	Wed, 22 Oct 2025 12:49:33 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="YCUM+m2I";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="IZpjJMDC"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 BD796346E72;
	Wed, 22 Oct 2025 12:49:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137370; cv=none; b=CHSwDeQ+84EbMiRZzpiccLFvE6fdiTA21zLvWHzFou6lumQSon0oalk3xd23I4udpFCJMTPSLg3IP6WQnTVRE7Goazk8+a2ijZn2Ssw9ZBDJ/uYmIIDDBSAAqVQnOxVuzr2Yrucgn4/Vy2HJfzSCyeIVCXTaGDS5bRl5k55J2OE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137370; c=relaxed/simple;
	bh=7r3/a/NFbc1wdYwqjmEXZSkW3O7gggboTKfkaRskPyY=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=cwW0T3tuijcjZAnX2Ag4GghZgDf/2baVPEoP8rl04ORIsuROhd+3AzouCx+0+oTrB27CYlgr7HUTUaOHiC3/JPLF4x+/9+35ZvZmmHCIQbIomeOfTlU1JuFNoQJN1Y7DzOHI14QVg0gCRn6SgHKQ1DTQgN6ZcCBf0xu4aZuVrOA=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=YCUM+m2I; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=IZpjJMDC; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.478876605@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137354;
	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:
	 references:references; bh=CaAPbzoialu5mXFNLErT5ZTF4fpG+LkmcGL7QamE02U=;
	b=YCUM+m2IJhIlYNc3cw3Ka+JSw1r0rxQfagyYMBCbI5G0Wlrimf1GqVMRdPE4fE3q4DTDLL
	I3sZqCcSstmzPTAmKHsfJLX2C34OtucmDjHa59k+mhfvh5+9VviczJU5Sds0cipnh9SwfO
	oWZS+Qqu+HQ4gtdRXc2up+rIBxMO9BqQkbGhl/pgs0VaF5lnHLpP1SJqiRYu7DsIVtGwog
	iJzQBkR3BVxzibX9Vi4X6eSTOXUzrvM9S2tLua3pO5DkDcic3JptOzX0xEuxlfeEOEsy1h
	aSrVdebfZCKdTbD1hru16EJ14VbE11jH6OE5kYTFRDrxovf+JUjMjnVnSMwjFw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137354;
	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:
	 references:references; bh=CaAPbzoialu5mXFNLErT5ZTF4fpG+LkmcGL7QamE02U=;
	b=IZpjJMDCZvmWlpmGgE3lhdOQmOPckYbthUby0iY/Im/yxFE9DkRTg5O+cgCbWyzDN24LUx
	wOuZ0lgHzEUESmCA==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 10/12] futex: Convert to scoped user access
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:14 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 1.1 (+)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (1.1 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [213.196.21.55 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
  0.6 CTE_8BIT_MISMATCH      Header says 7bits but body disagrees
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 11

From: Thomas Gleixner <tglx@linutronix.de>

Replace the open coded implementation with the new get/put_user_scoped()
helpers.

No functional change intended

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Darren Hart <dvhart@infradead.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: "André Almeida" <andrealmeid@igalia.com>
---
V4: Rename once moar
V3: Adapt to scope changes
V2: Convert to scoped variant
---
 kernel/futex/futex.h |   37 ++-----------------------------------
 1 file changed, 2 insertions(+), 35 deletions(-)
---
--- a/kernel/futex/futex.h
+++ b/kernel/futex/futex.h
@@ -285,48 +285,15 @@ static inline int futex_cmpxchg_value_lo
  * This does a plain atomic user space read, and the user pointer has
  * already been verified earlier by get_futex_key() to be both aligned
  * and actually in user space, just like futex_atomic_cmpxchg_inatomic().
- *
- * We still want to avoid any speculation, and while __get_user() is
- * the traditional model for this, it's actually slower than doing
- * this manually these days.
- *
- * We could just have a per-architecture special function for it,
- * the same way we do futex_atomic_cmpxchg_inatomic(), but rather
- * than force everybody to do that, write it out long-hand using
- * the low-level user-access infrastructure.
- *
- * This looks a bit overkill, but generally just results in a couple
- * of instructions.
  */
 static __always_inline int futex_get_value(u32 *dest, u32 __user *from)
 {
-	u32 val;
-
-	if (can_do_masked_user_access())
-		from = masked_user_access_begin(from);
-	else if (!user_read_access_begin(from, sizeof(*from)))
-		return -EFAULT;
-	unsafe_get_user(val, from, Efault);
-	user_read_access_end();
-	*dest = val;
-	return 0;
-Efault:
-	user_read_access_end();
-	return -EFAULT;
+	return get_user_scoped(*dest, from) ? 0 : -EFAULT;
 }
 
 static __always_inline int futex_put_value(u32 val, u32 __user *to)
 {
-	if (can_do_masked_user_access())
-		to = masked_user_access_begin(to);
-	else if (!user_write_access_begin(to, sizeof(*to)))
-		return -EFAULT;
-	unsafe_put_user(val, to, Efault);
-	user_write_access_end();
-	return 0;
-Efault:
-	user_write_access_end();
-	return -EFAULT;
+	return put_user_scoped(val, to) ? 0 : -EFAULT;
 }
 
 static inline int futex_get_value_locked(u32 *dest, u32 __user *from)



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14105-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id qP2wCOPS+GjpGT8AYBR5ng
	(envelope-from <linux-s390+bounces-14105-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:39 +0000
Return-path: <linux-s390+bounces-14105-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:39 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14105-hi=josie.lol@vger.kernel.org>)
	id 1vBYHZ-00000000KhG-34t3
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:39 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id 105531A05883
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:58 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 77C30347BCD;
	Wed, 22 Oct 2025 12:49:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="vAf/WnRL";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="fX8cSqvU"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 AEB57345CD2;
	Wed, 22 Oct 2025 12:49:10 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137357; cv=none; b=JK/rGtmFsIrao/5sfoZHdT1S2uqpVrBP/EQPkogPaIcQRKXZOFACjDyv3uOa5rzqizFdGqS6hbvyKUhC3g4nvAN+9x72r8NW6x8N26nruh7WQ+CbPvJJgJUBjSFPwjr6hojw98SvD4i5o3H+ZDmYzIWSksQdANfhZhdJsPQsAgE=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137357; c=relaxed/simple;
	bh=kv2agbdsqIbzMLDcTPxxSBLHwg3H9gA4/g6IZ/c2ULk=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=RT2ybre2i6A+ORgynxBlP2yF5oVB9ZBqH9doveqltAD0L4auCbJ35PSYU2B/83dzooX6XjOOZZwq4xfUv7dCw3e8h0bKNBzouwDF+9fhGfBJ8FZNo3sfPkpmFyWqQZgYtKlmTsfYjsbVuddIn3W19hBCWg3FUS3Cr55IPCiIwX4=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=vAf/WnRL; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=fX8cSqvU; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.105759469@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137347;
	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:
	 references:references; bh=DNQHcterXWXQuFWR5KPGbkzD3Sh/vJk9lLVEwO1xPSA=;
	b=vAf/WnRLaiKi9WWTSyH8iUQzQkrzGIljwJslh19+BsVaPrUUzz8NaG/EydNMY5AOh/DPNQ
	FlAdck5UN2A659HwOPkIYdFRxOmypbXSalDO84wkV/SAikEYWifJGPpjoQHalxcV4Lf/74
	OgkhQ3pkA+3fk2fPutZTvbNmP7gx1gUr3DclJycvX75iZF036Cnxq7tl5CMsOBm8DAkZG0
	wFvXbnrq3D20XGC/xN2CIj8+NUzQHTWrFlkDIPqA/TDOqQK+sSj4nfwQQ6rYXxudQKYBUn
	ciZsu5fNoy2U525hHELagiJeV93MjGckgbHPoy6DCobfk74daY6DlAlnC2eJ1Q==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137347;
	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:
	 references:references; bh=DNQHcterXWXQuFWR5KPGbkzD3Sh/vJk9lLVEwO1xPSA=;
	b=fX8cSqvU/uRXynxs8KXcle/JVqevyF+HtGxR5AgUEogTAFIK4EpPFW7QD8ucjN5XqCzEmR
	PFxjDjDc5cEYfhCQ==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 04/12] powerpc/uaccess: Use unsafe wrappers for ASM GOTO
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:06 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [147.75.80.249 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

ASM GOTO is miscompiled by GCC when it is used inside a auto cleanup scope:

bool foo(u32 __user *p, u32 val)
{
	scoped_guard(pagefault)
		unsafe_put_user(val, p, efault);
	return true;
efault:
	return false;
}

It ends up leaking the pagefault disable counter in the fault path. clang
at least fails the build.

Rename unsafe_*_user() to arch_unsafe_*_user() which makes the generic
uaccess header wrap it with a local label that makes both compilers emit
correct code. Same for the kernel_nofault() variants.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: linuxppc-dev@lists.ozlabs.org
---
 arch/powerpc/include/asm/uaccess.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/arch/powerpc/include/asm/uaccess.h
+++ b/arch/powerpc/include/asm/uaccess.h
@@ -451,7 +451,7 @@ user_write_access_begin(const void __use
 #define user_write_access_begin	user_write_access_begin
 #define user_write_access_end		prevent_current_write_to_user
 
-#define unsafe_get_user(x, p, e) do {					\
+#define arch_unsafe_get_user(x, p, e) do {			\
 	__long_type(*(p)) __gu_val;				\
 	__typeof__(*(p)) __user *__gu_addr = (p);		\
 								\
@@ -459,7 +459,7 @@ user_write_access_begin(const void __use
 	(x) = (__typeof__(*(p)))__gu_val;			\
 } while (0)
 
-#define unsafe_put_user(x, p, e) \
+#define arch_unsafe_put_user(x, p, e)				\
 	__put_user_size_goto((__typeof__(*(p)))(x), (p), sizeof(*(p)), e)
 
 #define unsafe_copy_from_user(d, s, l, e) \
@@ -504,11 +504,11 @@ do {									\
 		unsafe_put_user(*(u8*)(_src + _i), (u8 __user *)(_dst + _i), e); \
 } while (0)
 
-#define __get_kernel_nofault(dst, src, type, err_label)			\
+#define arch_get_kernel_nofault(dst, src, type, err_label)		\
 	__get_user_size_goto(*((type *)(dst)),				\
 		(__force type __user *)(src), sizeof(type), err_label)
 
-#define __put_kernel_nofault(dst, src, type, err_label)			\
+#define arch_put_kernel_nofault(dst, src, type, err_label)		\
 	__put_user_size_goto(*((type *)(src)),				\
 		(__force type __user *)(dst), sizeof(type), err_label)
 



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14106-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id 8I/pHe7S+GiuBgAAYBR5ng
	(envelope-from <linux-s390+bounces-14106-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:50 +0000
Return-path: <linux-s390+bounces-14106-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:50 +0000
Received: from ams.mirrors.kernel.org ([213.196.21.55])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14106-hi=josie.lol@vger.kernel.org>)
	id 1vBYHm-00000000L4e-0eGF
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:50 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by ams.mirrors.kernel.org (Postfix) with ESMTPS id 229BF34E116
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D234345CC7;
	Wed, 22 Oct 2025 12:49:26 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="a+rP69sf";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="Ad5CWnRP"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 5B8E43446A0;
	Wed, 22 Oct 2025 12:49:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137365; cv=none; b=Qn6ApUZjF9AXhLKVSO3oM911pTEjxKLhRLFRU7bmWTwV09vJ3Ody3hYWxXt0kabQ1QlAZkz048uCNAFijzfSoDO0SQmoSaqtyqxX2sHlBS3AG00PENjmthLh7whiXuFZB1gZiBcBQ4czk9SmxIL+oRc4IJn4ldcagqNYuMH1hmg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137365; c=relaxed/simple;
	bh=u/yk2503WbcPVzxext/24oA9U+OTQsqD5MrPiHlhlts=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=CkQWZnAZOfEBMXIEVxGpKizJlsl8TmDslgk8KFBvVyKcc037mKP4i2WTCv4Caoksz+PrStBTVJusDx2z16abEodqDHSf2obwVXl6gQFaJjmwCTa50TxsbClaR7BB7YIzg3QgRj5Iqe9zy4T8ZbOnc7VoqQCnpTjy58SFIzvT1pc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=a+rP69sf; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=Ad5CWnRP; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.232389777@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137349;
	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:
	 references:references; bh=MKNcUChSn/NfFd+dS8+uLnvvYuPvhQsaUPbuMoERc+Y=;
	b=a+rP69sfJ/Qp9q3znoDwceoCND840rG89ZVmZnuwGf5auP3gibFmiK9GeAwPeKlsQPgjSC
	IEqDkhxWDgRylSHXUcBaufuyU0/+DeBR9LE0wMGuAySTKPrhbWb7NBxN01PMlZG65ZnUdx
	9nQhGFU8gZHZZ5xxFRf2aI6pAPw7iR+PiAlFiq3RxntxNFyLAqDnifIWEG+9PAntrrgwZi
	rDCWm4zogflzWQHer9+U8mqmPmY7BGAZCUtifi/nt78sGYZqEj9Hg7TN86VsDKDu39fTHu
	U3CT83eVCk6lxvVN0wBHfNiXmYcrzkHYw44qZOqKRncTZNgK5wwPA+VEwQz9Pw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137349;
	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:
	 references:references; bh=MKNcUChSn/NfFd+dS8+uLnvvYuPvhQsaUPbuMoERc+Y=;
	b=Ad5CWnRPgGiAM9amesSMP3EPFCura86UkqdaB4otezD1D4yBpXZCc6MwYvvX+osIXMIhow
	Gu/Agcs2yZ8ttBDw==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 06/12] s390/uaccess: Use unsafe wrappers for ASM GOTO
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:09 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [213.196.21.55 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

ASM GOTO is miscompiled by GCC when it is used inside a auto cleanup scope:

bool foo(u32 __user *p, u32 val)
{
	scoped_guard(pagefault)
		unsafe_put_user(val, p, efault);
	return true;
efault:
	return false;
}

It ends up leaking the pagefault disable counter in the fault path. clang
at least fails the build.

S390 is not affected for unsafe_*_user() as it uses it's own local label
already, but __get/put_kernel_nofault() lack that.

Rename them to arch_*_kernel_nofault() which makes the generic uaccess
header wrap it with a local label that makes both compilers emit correct
code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: linux-s390@vger.kernel.org
---
 arch/s390/include/asm/uaccess.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/arch/s390/include/asm/uaccess.h
+++ b/arch/s390/include/asm/uaccess.h
@@ -468,8 +468,8 @@ do {									\
 
 #endif /* CONFIG_CC_HAS_ASM_GOTO_OUTPUT && CONFIG_CC_HAS_ASM_AOR_FORMAT_FLAGS */
 
-#define __get_kernel_nofault __mvc_kernel_nofault
-#define __put_kernel_nofault __mvc_kernel_nofault
+#define arch_get_kernel_nofault __mvc_kernel_nofault
+#define arch_put_kernel_nofault __mvc_kernel_nofault
 
 void __cmpxchg_user_key_called_with_bad_pointer(void);
 



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14108-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id COyqEPvS+GhJNQEAYBR5ng
	(envelope-from <linux-s390+bounces-14108-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:03 +0000
Return-path: <linux-s390+bounces-14108-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:50:03 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14108-hi=josie.lol@vger.kernel.org>)
	id 1vBYHz-00000000LWj-06PR
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:50:03 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id 4D6234F7B1F
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:02 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 68666347FCC;
	Wed, 22 Oct 2025 12:49:28 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="KjuwfnEA";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="bpRRpTpB"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 65B9C34677B;
	Wed, 22 Oct 2025 12:49:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137367; cv=none; b=kKdmLcBlH8jqnYiqo6CVvbKsXwcHAxrhH2FXCFZsHXV164yIASTTFULmGO39CEUYymjtdYFZh+gbXiGaA4VaVUyR7lNv5Z9leY6A/mrJsTPxeeb76SAt5fWhxpaudBPKPAB08ux7di3cKW/eVcHljbptNsiNyYPRTI+OPYcmju8=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137367; c=relaxed/simple;
	bh=SVRRpksI+B5YHxzelxwgKXxbQk2UaLHrIQwq4nbHVuE=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=RPUdzZRKEf1rtmTyajoRbncqOOjW9SOuFPuVk0LreR6mi2S6LzQxTrR7UsOzRbw7mxoQ/yJs7IpQzrIU2ceYWh9pn2mH2bSTht+WdsCSr798vZHZLY8wsdryhzhKUZqs41WfjwHyDdvJbJAcs6mfTxiq9S2NyUD/K+4X67bMB7w=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=KjuwfnEA; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=bpRRpTpB; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.169574299@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137348;
	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:
	 references:references; bh=Q6hUKo07m0tisXGEHl1vXx2So4mSCWEC1HB29LLd09o=;
	b=KjuwfnEAJn/9/qU6mLzphSJ1eBy5OCSYk+YEtqgaHjf0MCFVufLWwDGiTwac4UgAUJFU3z
	wUSfymrJ01sBokZnAOSZdwCq07UfN0bC0cILvgANZIQNIOyDaDPk7aRdlwNqhD+jyQX3cD
	KTwMlrwM8P5As3h0JhHZfBZhh8xzMxgaRYloNRUGdJCV7gxUj7sc20Stcj4Y7TNvptbG0S
	v6wRFLD5bxKs4duKQju69i+yoKFuilH1+UOmpFQGIA9iJKFD5HXNRmiCVM5eD5ZUThwVow
	pjHP2qxRmnTEmlXIcJfvTR5W0CA1dUWrW2GeVi6ZAFCqSGTELdcdUtAdpvvdSw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137348;
	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:
	 references:references; bh=Q6hUKo07m0tisXGEHl1vXx2So4mSCWEC1HB29LLd09o=;
	b=bpRRpTpBzrTJkfqCgHc7+QAPWrfUyBMcjhHTn6SmniaryBnZ61TU9nDtegzkLPt0zy89tZ
	Q+kiWIrbSLfyiLCw==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 05/12] riscv/uaccess: Use unsafe wrappers for ASM GOTO
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:08 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [142.0.200.124 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

ASM GOTO is miscompiled by GCC when it is used inside a auto cleanup scope:

bool foo(u32 __user *p, u32 val)
{
	scoped_guard(pagefault)
		unsafe_put_user(val, p, efault);
	return true;
efault:
	return false;
}

It ends up leaking the pagefault disable counter in the fault path. clang
at least fails the build.

Rename unsafe_*_user() to arch_unsafe_*_user() which makes the generic
uaccess header wrap it with a local label that makes both compilers emit
correct code. Same for the kernel_nofault() variants.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Paul Walmsley <pjw@kernel.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
---
 arch/riscv/include/asm/uaccess.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/arch/riscv/include/asm/uaccess.h
+++ b/arch/riscv/include/asm/uaccess.h
@@ -437,10 +437,10 @@ unsigned long __must_check clear_user(vo
 		__clear_user(untagged_addr(to), n) : n;
 }
 
-#define __get_kernel_nofault(dst, src, type, err_label)			\
+#define arch_get_kernel_nofault(dst, src, type, err_label)			\
 	__get_user_nocheck(*((type *)(dst)), (__force __user type *)(src), err_label)
 
-#define __put_kernel_nofault(dst, src, type, err_label)			\
+#define arch_put_kernel_nofault(dst, src, type, err_label)			\
 	__put_user_nocheck(*((type *)(src)), (__force __user type *)(dst), err_label)
 
 static __must_check __always_inline bool user_access_begin(const void __user *ptr, size_t len)
@@ -460,10 +460,10 @@ static inline void user_access_restore(u
  * We want the unsafe accessors to always be inlined and use
  * the error labels - thus the macro games.
  */
-#define unsafe_put_user(x, ptr, label)					\
+#define arch_unsafe_put_user(x, ptr, label)				\
 	__put_user_nocheck(x, (ptr), label)
 
-#define unsafe_get_user(x, ptr, label)	do {				\
+#define arch_unsafe_get_user(x, ptr, label)	do {			\
 	__inttype(*(ptr)) __gu_val;					\
 	__get_user_nocheck(__gu_val, (ptr), label);			\
 	(x) = (__force __typeof__(*(ptr)))__gu_val;			\



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14111-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id 6+lhAy3T+GhbWgEAYBR5ng
	(envelope-from <linux-s390+bounces-14111-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:53 +0000
Return-path: <linux-s390+bounces-14111-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:50:53 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14111-hi=josie.lol@vger.kernel.org>)
	id 1vBYIl-00000000N1O-3kyL
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:50:52 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id 6A7121A06F09
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:50:53 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 96147346E76;
	Wed, 22 Oct 2025 12:49:31 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="KACg23qg";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="zp+bUtbt"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 0CD6234677D;
	Wed, 22 Oct 2025 12:49:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137370; cv=none; b=LVpEFig0xZzVCO5r5qubNttb0iH8DMFHn42CSTAAvgnU3BFDf0bI2gtydugzN7lLL8bAFVHe5C3lvCgnqkCa1lQjpaPTORQzRXK/GlPfm2YsI5EOVn3Lkw2vardJ5e4cGgRo/D62lQ9D2hH/2ZcekoPLb1TOGeItkudtEowzfL0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137370; c=relaxed/simple;
	bh=ayo+bEGTx89l93m5cFVtFn3rRxx45tVRUcaklRv3XSM=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=hihI5WwUevF2HP1S13jJVXd3gT08QwKvyHr36/TSy7rfLZpttWKjrZ+CJJAqO0sJtYi5d46RplpzdPMiUplYeE+kAoYXqj88eM8RQ+X8Qlbc7wvAd+xjWrfDr2yO8TlcM8AhkQjYh0CvnM+Na9DYADib2CCrvc+1p6+otLVzQQw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=KACg23qg; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=zp+bUtbt; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.294959046@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137351;
	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:
	 references:references; bh=ZrsCoY/QONubl8AjZs982M2i5AjJzlGkiHAIdVey4uk=;
	b=KACg23qgbkFGXQoo0kqi+ZPz8Baad0b1shJNImHpfDMP/nf+7eWWrQ1QpqjxUaIFzCHe7R
	23+x5ZTQyyoTHcohqSI/yGLNBN14P5UxLJWmYMo2ZRzK5mcSGBtbK3EP1UuT1Y3L067aey
	YeGIy9U/g7RPf2hMqwMjdEBSju6kRqYjGbmNRAFdamCORzwncQOSdo4Rn/CABzCadW1V/6
	r8jH+C3ywmb3Qre5cpcmoGW3y4t/p1Gzb1PW0nIDrIWOQhxoNB5iNi7dkmoSova61L7gig
	HaiEXsWdPrKBOnq4N0SX3Sqs6VKMbD5Ju+UGLWfugaM1NBk4Ev/6pMN/tn0SHw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137351;
	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:
	 references:references; bh=ZrsCoY/QONubl8AjZs982M2i5AjJzlGkiHAIdVey4uk=;
	b=zp+bUtbtBsddzgv+Dhge+Da3J0tXeQv9UILGjSAPdB4LQVAAanZhTFOKFzMlv2SlJRapup
	vlFayivX/jGk6XBA==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Linus Torvalds <torvalds@linux-foundation.org>,
 David Laight <david.laight.linux@gmail.com>,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 07/12] uaccess: Provide scoped user access regions
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:10 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [147.75.80.249 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: -18

User space access regions are tedious and require similar code patterns all
over the place:

     	if (!user_read_access_begin(from, sizeof(*from)))
		return -EFAULT;
	unsafe_get_user(val, from, Efault);
	user_read_access_end();
	return 0;
Efault:
	user_read_access_end();
	return -EFAULT;

This got worse with the recent addition of masked user access, which
optimizes the speculation prevention:

	if (can_do_masked_user_access())
		from = masked_user_read_access_begin((from));
	else if (!user_read_access_begin(from, sizeof(*from)))
		return -EFAULT;
	unsafe_get_user(val, from, Efault);
	user_read_access_end();
	return 0;
Efault:
	user_read_access_end();
	return -EFAULT;

There have been issues with using the wrong user_*_access_end() variant in
the error path and other typical Copy&Pasta problems, e.g. using the wrong
fault label in the user accessor which ends up using the wrong accesss end
variant. 

These patterns beg for scopes with automatic cleanup. The resulting outcome
is:
    	scoped_user_read_access(from, Efault)
		unsafe_get_user(val, from, Efault);
	return 0;
  Efault:
	return -EFAULT;

The scope guarantees the proper cleanup for the access mode is invoked both
in the success and the failure (fault) path.

The scoped_user_$MODE_access() macros are implemented as self terminating
nested for() loops. Thanks to Andrew Cooper for pointing me at them. The
scope can therefore be left with 'break', 'goto' and 'return'.  Even
'continue' "works" due to the self termination mechanism. Both GCC and
clang optimize all the convoluted macro maze out and the above results with
clang in:

 b80:	f3 0f 1e fa          	       endbr64
 b84:	48 b8 ef cd ab 89 67 45 23 01  movabs $0x123456789abcdef,%rax
 b8e:	48 39 c7    	               cmp    %rax,%rdi
 b91:	48 0f 47 f8          	       cmova  %rax,%rdi
 b95:	90                   	       nop
 b96:	90                   	       nop
 b97:	90                   	       nop
 b98:	31 c9                	       xor    %ecx,%ecx
 b9a:	8b 07                	       mov    (%rdi),%eax
 b9c:	89 06                	       mov    %eax,(%rsi)
 b9e:	85 c9                	       test   %ecx,%ecx
 ba0:	0f 94 c0             	       sete   %al
 ba3:	90                   	       nop
 ba4:	90                   	       nop
 ba5:	90                   	       nop
 ba6:	c3                   	       ret

Which looks as compact as it gets. The NOPs are placeholder for STAC/CLAC.
GCC emits the fault path seperately:

 bf0:	f3 0f 1e fa          	       endbr64
 bf4:	48 b8 ef cd ab 89 67 45 23 01  movabs $0x123456789abcdef,%rax
 bfe:	48 39 c7             	       cmp    %rax,%rdi
 c01:	48 0f 47 f8          	       cmova  %rax,%rdi
 c05:	90                   	       nop
 c06:	90                   	       nop
 c07:	90                   	       nop
 c08:	31 d2                	       xor    %edx,%edx
 c0a:	8b 07                	       mov    (%rdi),%eax
 c0c:	89 06                	       mov    %eax,(%rsi)
 c0e:	85 d2                	       test   %edx,%edx
 c10:	75 09                	       jne    c1b <afoo+0x2b>
 c12:	90                   	       nop
 c13:	90                   	       nop
 c14:	90                   	       nop
 c15:	b8 01 00 00 00       	       mov    $0x1,%eax
 c1a:	c3                   	       ret
 c1b:	90                   	       nop
 c1c:	90                   	       nop
 c1d:	90                   	       nop
 c1e:	31 c0                	       xor    %eax,%eax
 c20:	c3                   	       ret


The fault labels for the scoped*() macros and the fault labels for the
actual user space accessors can be shared and must be placed outside of the
scope.

If masked user access is enabled on an architecture, then the pointer
handed in to scoped_user_$MODE_access() can be modified to point to a
guaranteed faulting user address. This modification is only scope local as
the pointer is aliased inside the scope. When the scope is left the alias
is not longer in effect. IOW the original pointer value is preserved so it
can be used e.g. for fixup or diagnostic purposes in the fault path.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: David Laight <david.laight.linux@gmail.com>
---
V4: Remove the _masked_ naming as it's actually confusing - David
    Remove underscores and make _tmpptr void - David
    Add comment about access size and range - David
    Shorten local variables and remove a few unneeded brackets - Mathieu
V3: Make it a nested for() loop
    Get rid of the code in macro parameters - Linus
    Provide sized variants - Mathieu
V2: Remove the shady wrappers around the opening and use scopes with automatic cleanup
---
 include/linux/uaccess.h |  192 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 192 insertions(+)

--- a/include/linux/uaccess.h
+++ b/include/linux/uaccess.h
@@ -2,6 +2,7 @@
 #ifndef __LINUX_UACCESS_H__
 #define __LINUX_UACCESS_H__
 
+#include <linux/cleanup.h>
 #include <linux/fault-inject-usercopy.h>
 #include <linux/instrumented.h>
 #include <linux/minmax.h>
@@ -35,9 +36,17 @@
 
 #ifdef masked_user_access_begin
  #define can_do_masked_user_access() 1
+# ifndef masked_user_write_access_begin
+#  define masked_user_write_access_begin masked_user_access_begin
+# endif
+# ifndef masked_user_read_access_begin
+#  define masked_user_read_access_begin masked_user_access_begin
+#endif
 #else
  #define can_do_masked_user_access() 0
  #define masked_user_access_begin(src) NULL
+ #define masked_user_read_access_begin(src) NULL
+ #define masked_user_write_access_begin(src) NULL
  #define mask_user_address(src) (src)
 #endif
 
@@ -633,6 +642,189 @@ static inline void user_access_restore(u
 #define user_read_access_end user_access_end
 #endif
 
+/* Define RW variant so the below _mode macro expansion works */
+#define masked_user_rw_access_begin(u)	masked_user_access_begin(u)
+#define user_rw_access_begin(u, s)	user_access_begin(u, s)
+#define user_rw_access_end()		user_access_end()
+
+/* Scoped user access */
+#define USER_ACCESS_GUARD(_mode)				\
+static __always_inline void __user *				\
+class_user_##_mode##_begin(void __user *ptr)			\
+{								\
+	return ptr;						\
+}								\
+								\
+static __always_inline void					\
+class_user_##_mode##_end(void __user *ptr)			\
+{								\
+	user_##_mode##_access_end();				\
+}								\
+								\
+DEFINE_CLASS(user_ ##_mode## _access, void __user *,		\
+	     class_user_##_mode##_end(_T),			\
+	     class_user_##_mode##_begin(ptr), void __user *ptr)	\
+								\
+static __always_inline class_user_##_mode##_access_t		\
+class_user_##_mode##_access_ptr(void __user *scope)		\
+{								\
+	return scope;						\
+}
+
+USER_ACCESS_GUARD(read)
+USER_ACCESS_GUARD(write)
+USER_ACCESS_GUARD(rw)
+#undef USER_ACCESS_GUARD
+
+/**
+ * __scoped_user_access_begin - Start a scoped user access
+ * @mode:	The mode of the access class (read, write, rw)
+ * @uptr:	The pointer to access user space memory
+ * @size:	Size of the access
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * Internal helper for __scoped_user_access(). Don't use directly
+ */
+#define __scoped_user_access_begin(mode, uptr, size, elbl)		\
+({									\
+	typeof(uptr) __retptr;						\
+									\
+	if (can_do_masked_user_access()) {				\
+		__retptr = masked_user_##mode##_access_begin(uptr);	\
+	} else {							\
+		__retptr = uptr;					\
+		if (!user_##mode##_access_begin(uptr, size))		\
+			goto elbl;					\
+	}								\
+	__retptr;							\
+})
+
+/**
+ * __scoped_user_access - Open a scope for user access
+ * @mode:	The mode of the access class (read, write, rw)
+ * @uptr:	The pointer to access user space memory
+ * @size:	Size of the access
+ * @elbl:	Error label to goto when the access region is rejected. It
+ *		must be placed outside the scope
+ *
+ * If the user access function inside the scope requires a fault label, it
+ * can use @elvl or a different label outside the scope, which requires
+ * that user access which is implemented with ASM GOTO has been properly
+ * wrapped. See unsafe_get_user() for reference.
+ *
+ *	scoped_user_rw_access(ptr, efault) {
+ *		unsafe_get_user(rval, &ptr->rval, efault);
+ *		unsafe_put_user(wval, &ptr->wval, efault);
+ *	}
+ *	return 0;
+ *  efault:
+ *	return -EFAULT;
+ *
+ * The scope is internally implemented as a autoterminating nested for()
+ * loop, which can be left with 'return', 'break' and 'goto' at any
+ * point.
+ *
+ * When the scope is left user_##@_mode##_access_end() is automatically
+ * invoked.
+ *
+ * When the architecture supports masked user access and the access region
+ * which is determined by @uptr and @size is not a valid user space
+ * address, i.e. < TASK_SIZE, the scope sets the pointer to a faulting user
+ * space address and does not terminate early. This optimizes for the good
+ * case and lets the performance uncritical bad case go through the fault.
+ *
+ * The eventual modification of the pointer is limited to the scope.
+ * Outside of the scope the original pointer value is unmodified, so that
+ * the original pointer value is available for diagnostic purposes in an
+ * out of scope fault path.
+ *
+ * Nesting scoped user access into a user access scope is invalid and fails
+ * the build. Nesting into other guards, e.g. pagefault is safe.
+ *
+ * The masked variant does not check the size of the access and relies on a
+ * mapping hole (e.g. guard page) to catch an out of range pointer, the
+ * first access to user memory inside the scope has to be within
+ * @uptr ... @uptr + PAGE_SIZE - 1
+ *
+ * Don't use directly. Use scoped_masked_user_$MODE_access() instead.
+ */
+#define __scoped_user_access(mode, uptr, size, elbl)					\
+for (bool done = false; !done; done = true)						\
+	for (void __user *_tmpptr = __scoped_user_access_begin(mode, uptr, size, elbl); \
+	     !done; done = true)							\
+		for (CLASS(user_##mode##_access, scope)(_tmpptr); !done; done = true)	\
+			/* Force modified pointer usage within the scope */		\
+			for (const typeof(uptr) uptr = _tmpptr; !done; done = true)
+
+/**
+ * scoped_user_read_access_size - Start a scoped user read access with given size
+ * @usrc:	Pointer to the user space address to read from
+ * @size:	Size of the access starting from @usrc
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * For further information see __scoped_user_access() above.
+ */
+#define scoped_user_read_access_size(usrc, size, elbl)		\
+	__scoped_user_access(read, usrc, size, elbl)
+
+/**
+ * scoped_user_read_access - Start a scoped user read access
+ * @usrc:	Pointer to the user space address to read from
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * The size of the access starting from @usrc is determined via sizeof(*@usrc)).
+ *
+ * For further information see __scoped_user_access() above.
+ */
+#define scoped_user_read_access(usrc, elbl)				\
+	scoped_user_read_access_size(usrc, sizeof(*(usrc)), elbl)
+
+/**
+ * scoped_user_write_access_size - Start a scoped user write access with given size
+ * @udst:	Pointer to the user space address to write to
+ * @size:	Size of the access starting from @udst
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * For further information see __scoped_user_access() above.
+ */
+#define scoped_user_write_access_size(udst, size, elbl)			\
+	__scoped_user_access(write, udst, size, elbl)
+
+/**
+ * scoped_user_write_access - Start a scoped user write access
+ * @udst:	Pointer to the user space address to write to
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * The size of the access starting from @udst is determined via sizeof(*@udst)).
+ *
+ * For further information see __scoped_user_access() above.
+ */
+#define scoped_user_write_access(udst, elbl)				\
+	scoped_user_write_access_size(udst, sizeof(*(udst)), elbl)
+
+/**
+ * scoped_user_rw_access_size - Start a scoped user read/write access with given size
+ * @uptr	Pointer to the user space address to read from and write to
+ * @size:	Size of the access starting from @uptr
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * For further information see __scoped_user_access() above.
+ */
+#define scoped_user_rw_access_size(uptr, size, elbl)			\
+	__scoped_user_access(rw, uptr, size, elbl)
+
+/**
+ * scoped_user_rw_access - Start a scoped user read/write access
+ * @uptr	Pointer to the user space address to read from and write to
+ * @elbl:	Error label to goto when the access region is rejected
+ *
+ * The size of the access starting from @uptr is determined via sizeof(*@uptr)).
+ *
+ * For further information see __scoped_user_access() above.
+ */
+#define scoped_user_rw_access(uptr, elbl)				\
+	scoped_user_rw_access_size(uptr, sizeof(*(uptr)), elbl)
+
 #ifdef CONFIG_HARDENED_USERCOPY
 void __noreturn usercopy_abort(const char *name, const char *detail,
 			       bool to_user, unsigned long offset,



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14101-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id mLwMK83S+GjpGT8AYBR5ng
	(envelope-from <linux-s390+bounces-14101-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:17 +0000
Return-path: <linux-s390+bounces-14101-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:17 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14101-hi=josie.lol@vger.kernel.org>)
	id 1vBYHF-00000000K50-003I
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:17 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id EFC341A0558A
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 01385346E45;
	Wed, 22 Oct 2025 12:49:14 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="EtfaCoDm";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="ss9zZT1n"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 AAE93346E40;
	Wed, 22 Oct 2025 12:49:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137353; cv=none; b=Paf/foHKbyx/KXxMFxV7+Hv9CSbn7dji7Kq4iOeaEtg4NkZEDNmffMuqP3UA5uBJNNE30dB+8SK/9ilJLHN51UaocDO4+BaPHGliPT6d7kvNOK8skkTkumif1wN2Mqh8t9QJwhQNJ1riWlpChbcShVj9FI79BFtrR4hUQJ/58TA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137353; c=relaxed/simple;
	bh=AvjdMw2sCffsuBsINoV/J68QB1LlzUsen6SY/K/sTgs=;
	h=Message-ID:From:To:Subject:cc:Date; b=GSjBMjBmYGz4URh2rWpJLHGoLOqjJXnCmHjX9BXj33vDroDq3u9oNgQ22+OiGIXPEUkqGPH7OXDaFm4SMJ3EfyTG3+CyvoE7RXxsefABOFDk+yS+LAhV9xt5t682GjX3hel+wpttaQdLrOyq8nqZt86/tMrNcpxDWyogdfl9jVM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=EtfaCoDm; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=ss9zZT1n; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022102427.400699796@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137342;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc; bh=GLXMwWXFIbD7cZKiqLR8SWn7Xt+iSqcrcxps9Q+G9kY=;
	b=EtfaCoDmFor8sSyXEn7oHgxdwynsxqOq3FyCVUuhPIgRs9x5vdmO92747Cz8TOKGl4pO+h
	ZKBXS45G2J7mtFB7bIbQVW+HUcOV3Y864eGZCPy97TDME/wSAWlPnheYnWGw8sDNUcEaqJ
	18ozfWu+ohRqajooCKIUx6N5b6VdCCo0mx4CHbj65zTzjsxNaXDmXnMkdMlfRmJWxg+7TX
	2HmOV/4/UrxLFOcsdgGb0UUsX1EeRuVxhh5jfU948EwHm7mOOaa17GMdraDdgMT+nOu2Dm
	Nh9yba2+vXILBG3SJv5GUZIWaa5XNotuqPRL+KLJqsLbbK0pDKlJWBfK0candw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137342;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc; bh=GLXMwWXFIbD7cZKiqLR8SWn7Xt+iSqcrcxps9Q+G9kY=;
	b=ss9zZT1nrdUlW60YnW7MoEIuOhi/H1ZFLAptXi6Q2OQGKph9Q1UEzducE2vpLJL3u2pCgV
	douIrhd397x/hWDg==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Subject: [patch V4 00/12] uaccess: Provide and use scopes for user access
cc: kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Date: Wed, 22 Oct 2025 14:49:02 +0200 (CEST)
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [147.75.80.249 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: -18

This is a follow up on the V3 feedback:

   https://lore.kernel.org/20251017085938.150569636@linutronix.de

Changes vs. V3:

  - Remove the superflouous if (1) in the scope macro - Andrew

  - Use asm_inline in the x86 conversion - Andrew

  - Rename to scoped_user_*_access(), remove underscores, use a void
    intermediate pointer and add a comment vs. access range - David

  - Use read scope in select - PeterZ

  - Fix comments, shorten local variables and remove pointless brackets -
    Mathieu

  - Simplify the coccinelle script, which needs still more polishing -
    Julia

The series is based on v6.18-rc1 and also available from git:

    git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git uaccess/masked

Thanks,

	tglx
---
Thomas Gleixner (12):
      ARM: uaccess: Implement missing __get_user_asm_dword()
      uaccess: Provide ASM GOTO safe wrappers for unsafe_*_user()
      x86/uaccess: Use unsafe wrappers for ASM GOTO
      powerpc/uaccess: Use unsafe wrappers for ASM GOTO
      riscv/uaccess: Use unsafe wrappers for ASM GOTO
      s390/uaccess: Use unsafe wrappers for ASM GOTO
      uaccess: Provide scoped user access regions
      uaccess: Provide put/get_user_scoped()
      coccinelle: misc: Add scoped_$MODE_access() checker script
      futex: Convert to scoped user access
      x86/futex: Convert to scoped user access
      select: Convert to scoped user access
---
 arch/arm/include/asm/uaccess.h               |   26 ++
 arch/powerpc/include/asm/uaccess.h           |    8 
 arch/riscv/include/asm/uaccess.h             |    8 
 arch/s390/include/asm/uaccess.h              |    4 
 arch/x86/include/asm/futex.h                 |   75 ++----
 arch/x86/include/asm/uaccess.h               |   12 -
 fs/select.c                                  |   12 -
 include/linux/uaccess.h                      |  308 ++++++++++++++++++++++++++-
 kernel/futex/futex.h                         |   37 ---
 scripts/coccinelle/misc/scoped_uaccess.cocci |  108 +++++++++
 10 files changed, 492 insertions(+), 106 deletions(-)




From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14103-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id UJYDINDS+GireTwAYBR5ng
	(envelope-from <linux-s390+bounces-14103-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:20 +0000
Return-path: <linux-s390+bounces-14103-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:20 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14103-hi=josie.lol@vger.kernel.org>)
	id 1vBYHI-00000000KB5-0ZgY
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:20 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 502105E5392
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:17 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 38640346E6D;
	Wed, 22 Oct 2025 12:49:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="T5V35raV";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="l1AEgK8S"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 AEA06345757;
	Wed, 22 Oct 2025 12:49:09 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137353; cv=none; b=gNduFsrfdsoexVbArbRefVuWF4++yLHR8TrY3bSZ/PrEY6MFdvPDWSeLF2yJsjg/cRtgz9QMmfWeMuWOd+hX2MN8mbUEsRYcCV2M0EOwys1Vt2iNLx9M/LK5EIgBJQ4v/NudE+WI7+Mpi/7X4z1ZKXAhpgS8upmfotbmWVKtzWA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137353; c=relaxed/simple;
	bh=1JN45mC64c47dz9TU2Ot3j2U1wNiqKWBKgn8OQGE8ow=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=Vg7nR67f7s0S+5N9XY6+C/W4ifu1GgoNIKx5xgYnclCHpqtSvc/pic4/Dpy2kMNQUbezXsfJfw2/qinqa8dVMemRAEZI4a3E6L0nRz9M0dZuV/xdv2slS583/qZOhG1Jgxaj8lPCdtiHFlcUUhs5Wam6tVI+e8kn5KuKqT4Gklw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=T5V35raV; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=l1AEgK8S; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103112.043380128@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137346;
	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:
	 references:references; bh=EKzyB0lrI1vv7+y80GeaggsaapcXMx0ewLMg7+vmnx4=;
	b=T5V35raVu/smx2hlJYXQ5D8D1+XwwQnq3v8+AH3fEjiYmvW7Du2LfaLDcV7muRMy0uFLrg
	BKxHQePthKk4KRnO711LND36CEmPcvfCHObhQQLsraSsiaVi+pKWUuIZHdQ9gv5TnkBUrE
	FJ04eZo8HeatCpK5JbDXBrqk+URNMzNJ5y/ob5NJCA04tb5riHjLWZOF0EU4iR1Yak+uU1
	pZUIiOBo0H/VtNk7BYGjUp8xjfmAuqNo1l/dWXhTk+/rnA+O8HDhmkZGl8SE2oV8TklTRp
	msbnFDY5zimkeEwI0NgQZvs01VxkiU5tVMSCU8apVRk2VLOmOUSFPTsi/aBjZQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137346;
	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:
	 references:references; bh=EKzyB0lrI1vv7+y80GeaggsaapcXMx0ewLMg7+vmnx4=;
	b=l1AEgK8S6UukWsdMaoJOtcowrWuRYlNMviG4h6+39rvgwRKW639xP7IifHqpgISJ9UlR+t
	0f/lBikkQLnLXFCg==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: x86@kernel.org,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 03/12] x86/uaccess: Use unsafe wrappers for ASM GOTO
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:05 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [139.178.88.99 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

ASM GOTO is miscompiled by GCC when it is used inside a auto cleanup scope:

bool foo(u32 __user *p, u32 val)
{
	scoped_guard(pagefault)
		unsafe_put_user(val, p, efault);
	return true;
efault:
	return false;
}

It ends up leaking the pagefault disable counter in the fault path. clang
at least fails the build.

Rename unsafe_*_user() to arch_unsafe_*_user() which makes the generic
uaccess header wrap it with a local label that makes both compilers emit
correct code. Same for the kernel_nofault() variants.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: x86@kernel.org
---
 arch/x86/include/asm/uaccess.h |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

--- a/arch/x86/include/asm/uaccess.h
+++ b/arch/x86/include/asm/uaccess.h
@@ -528,18 +528,18 @@ static __must_check __always_inline bool
 #define user_access_save()	smap_save()
 #define user_access_restore(x)	smap_restore(x)
 
-#define unsafe_put_user(x, ptr, label)	\
+#define arch_unsafe_put_user(x, ptr, label)	\
 	__put_user_size((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)), label)
 
 #ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT
-#define unsafe_get_user(x, ptr, err_label)					\
+#define arch_unsafe_get_user(x, ptr, err_label)					\
 do {										\
 	__inttype(*(ptr)) __gu_val;						\
 	__get_user_size(__gu_val, (ptr), sizeof(*(ptr)), err_label);		\
 	(x) = (__force __typeof__(*(ptr)))__gu_val;				\
 } while (0)
 #else // !CONFIG_CC_HAS_ASM_GOTO_OUTPUT
-#define unsafe_get_user(x, ptr, err_label)					\
+#define arch_unsafe_get_user(x, ptr, err_label)					\
 do {										\
 	int __gu_err;								\
 	__inttype(*(ptr)) __gu_val;						\
@@ -618,11 +618,11 @@ do {									\
 } while (0)
 
 #ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT
-#define __get_kernel_nofault(dst, src, type, err_label)			\
+#define arch_get_kernel_nofault(dst, src, type, err_label)		\
 	__get_user_size(*((type *)(dst)), (__force type __user *)(src),	\
 			sizeof(type), err_label)
 #else // !CONFIG_CC_HAS_ASM_GOTO_OUTPUT
-#define __get_kernel_nofault(dst, src, type, err_label)			\
+#define arch_get_kernel_nofault(dst, src, type, err_label)			\
 do {									\
 	int __kr_err;							\
 									\
@@ -633,7 +633,7 @@ do {									\
 } while (0)
 #endif // CONFIG_CC_HAS_ASM_GOTO_OUTPUT
 
-#define __put_kernel_nofault(dst, src, type, err_label)			\
+#define arch_put_kernel_nofault(dst, src, type, err_label)		\
 	__put_user_size(*((type *)(src)), (__force type __user *)(dst),	\
 			sizeof(type), err_label)
 



From - Wed Oct 22 13:31:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14102-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id kI9LHNHS+GjpGT8AYBR5ng
	(envelope-from <linux-s390+bounces-14102-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:21 +0000
Return-path: <linux-s390+bounces-14102-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:21 +0000
Received: from ams.mirrors.kernel.org ([213.196.21.55])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14102-hi=josie.lol@vger.kernel.org>)
	id 1vBYHJ-00000000KBa-0Q7C
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:21 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by ams.mirrors.kernel.org (Postfix) with ESMTPS id C3A9734936F
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:19 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 3659B346E6C;
	Wed, 22 Oct 2025 12:49:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="U1KJk30u";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="9duIHEc7"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 AADA5346A10;
	Wed, 22 Oct 2025 12:49:06 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137353; cv=none; b=tPsEfu+oGUxkLqXI+3u0edGeO2SRtgHS9/jZfLbbgQhkFn0EgkierRRKrXncT9szQpqDI/av07WtITjwsYbM8Yah04adDO/RXln8uutwLgQHgj1zVqvnU4M0AloRitSxUuMegiHkSNsgx/NnpEJwKTYpGYP/MXHT6Q715RNgvQk=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137353; c=relaxed/simple;
	bh=B6FY70g1YU4tpzw5guto+VK5McncnWIMenNCFYwqfSs=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=Hb2NiYv2XjmUL/nfVbEU2fRUDCcWBmecl12PRgR1fBAxLxUGZcqaz1R2olxDNZR9eKFqLPvGkUOpOw6L06ZkN1OkDVlpMBslpIXw/ZU06CUVZUKiB62L5LnPA6fu+fr4h03mg2VUIQLHr4DqPDiPdNQjxrcyvMzFjpw7WAyogYU=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=U1KJk30u; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=9duIHEc7; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103111.917094276@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137343;
	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:
	 references:references; bh=fZFzuFe1kZwWOtUDwXLfQwu5MJAw6qMRRDC36ZwVfYw=;
	b=U1KJk30ufn2daIIfpJLCyMNcDD+IEHyiM35RXdJyNFqli00qUJLPFpmDIOujbK1fxDdH2L
	tjiUEaiE7IgsNIT5KsXJt1G9zm/AJp4Lsh1G3ywv7kDU9dk0C4AE0gfNPZl4PR3dfJ6NmE
	58SsfnZoc59jDBYsUIakGUJ2m+BspUW3Slu7AHVDiiYVJ9cadbiruMSAouVuJOl2uyL6Eo
	v9MFcoSjMPvFojzkQ1BmeeFxP3+3k1h5BlhwTqljGQY1SShNXeAEzN8iFLWW2VqNOuoMAc
	D0S5mgGpOsd8ckS2gxrI5IGG5xyaNCdATH1d7uIyR+mjuOcs6oOu9DUSSdinnA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137343;
	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:
	 references:references; bh=fZFzuFe1kZwWOtUDwXLfQwu5MJAw6qMRRDC36ZwVfYw=;
	b=9duIHEc7jKDi/buS4tMXry00HW91mCoD9cY348w5IsDS561BCWYuWi4kka8K69tlaLPq+w
	6je/OLsxmDQeH4DQ==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 Linus Torvalds <torvalds@linux-foundation.org>,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 01/12] ARM: uaccess: Implement missing
 __get_user_asm_dword()
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:03 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [213.196.21.55 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

When CONFIG_CPU_SPECTRE=n then get_user() is missing the 8 byte ASM variant
for no real good reason. This prevents using get_user(u64) in generic code.

Implement it as a sequence of two 4-byte reads with LE/BE awareness and
make the unsigned long (or long long) type for the intermediate variable to
read into dependend on the the target type.

The __long_type() macro and idea was lifted from PowerPC. Thanks to
Christophe for pointing it out.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <linux@armlinux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Closes: https://lore.kernel.org/oe-kbuild-all/202509120155.pFgwfeUD-lkp@intel.com/
---
V2a: Solve the *ptr issue vs. unsigned long long - Russell/Christophe
V2: New patch to fix the 0-day fallout
---
 arch/arm/include/asm/uaccess.h |   26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -283,10 +283,17 @@ extern int __put_user_8(void *, unsigned
 	__gu_err;							\
 })
 
+/*
+ * This is a type: either unsigned long, if the argument fits into
+ * that type, or otherwise unsigned long long.
+ */
+#define __long_type(x) \
+	__typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
+
 #define __get_user_err(x, ptr, err, __t)				\
 do {									\
 	unsigned long __gu_addr = (unsigned long)(ptr);			\
-	unsigned long __gu_val;						\
+	__long_type(x) __gu_val;					\
 	unsigned int __ua_flags;					\
 	__chk_user_ptr(ptr);						\
 	might_fault();							\
@@ -295,6 +302,7 @@ do {									\
 	case 1:	__get_user_asm_byte(__gu_val, __gu_addr, err, __t); break;	\
 	case 2:	__get_user_asm_half(__gu_val, __gu_addr, err, __t); break;	\
 	case 4:	__get_user_asm_word(__gu_val, __gu_addr, err, __t); break;	\
+	case 8:	__get_user_asm_dword(__gu_val, __gu_addr, err, __t); break;	\
 	default: (__gu_val) = __get_user_bad();				\
 	}								\
 	uaccess_restore(__ua_flags);					\
@@ -353,6 +361,22 @@ do {									\
 #define __get_user_asm_word(x, addr, err, __t)			\
 	__get_user_asm(x, addr, err, "ldr" __t)
 
+#ifdef __ARMEB__
+#define __WORD0_OFFS	4
+#define __WORD1_OFFS	0
+#else
+#define __WORD0_OFFS	0
+#define __WORD1_OFFS	4
+#endif
+
+#define __get_user_asm_dword(x, addr, err, __t)				\
+	({								\
+	unsigned long __w0, __w1;					\
+	__get_user_asm(__w0, addr + __WORD0_OFFS, err, "ldr" __t);	\
+	__get_user_asm(__w1, addr + __WORD1_OFFS, err, "ldr" __t);	\
+	(x) = ((u64)__w1 << 32) | (u64) __w0;				\
+})
+
 #define __put_user_switch(x, ptr, __err, __fn)				\
 	do {								\
 		const __typeof__(*(ptr)) __user *__pu_ptr = (ptr);	\



From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <linux-s390+bounces-14104-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id wBoAL9LS+GiAuz4AYBR5ng
	(envelope-from <linux-s390+bounces-14104-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:22 +0000
Return-path: <linux-s390+bounces-14104-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:49:22 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <linux-s390+bounces-14104-hi=josie.lol@vger.kernel.org>)
	id 1vBYHK-00000000KFB-1ax4
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:49:22 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id 5A6324E36AB
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:49:21 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 5BD19345749;
	Wed, 22 Oct 2025 12:49:17 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="c9i65Wm4";
	dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="N3NMFaOL"
X-Original-To: linux-s390@vger.kernel.org
Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55])
	(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 BBA8C345CCE;
	Wed, 22 Oct 2025 12:49:07 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137354; cv=none; b=pSAKz6hvK4UgOyQ6owiY8saY21uCsjTwb4YvN7r6Pz6w12jCAzNwV/6fnOvM9w3VNvwe0XP02Rmh3aiRSMifUzt3AOXp1egMJPz8OjBhmsqgZBkstgNv9cVWafky2AyYJhQCmn76bIYxZVEvX+uCrJ7eQDnwnvz6Q7UgCbpK+fc=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137354; c=relaxed/simple;
	bh=87O4I+Gs+q+53VRSgJDF74yqnaDGggOQykXNLW0MPKg=;
	h=Message-ID:From:To:Cc:Subject:References:MIME-Version:
	 Content-Type:Date; b=YH16wY2ua8PVTdFnesJX0exB/oG+bS5qlkW1RUEvvWID+U/m57n2+wi+/8wt2W3GHJzgRjVpEFH1yRZ72rsXCr2QBedrGiuVpm5X1jyt7hRqx0I9fi7UrVGZTmkAJ8oMaO575CyZLoidUQgrEFS5WhNGFYkjnQ/F6gzFcpY6fPM=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=c9i65Wm4; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=N3NMFaOL; arc=none smtp.client-ip=193.142.43.55
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de
Message-ID: <20251022103111.980905027@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1761137344;
	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:
	 references:references; bh=riOmJf9FiDkmu6m5dlKP9M/8U5xAklSgvZrcN3Urpuk=;
	b=c9i65Wm4Ndn7xeahqxPTBb1lBCVdU45gHjWmlQg4SLcOj8eWI5HtH7HvaRK1ZUB9k8rBDG
	Gx+1L2LJJs+DE4BUuyz6Xim5IsBGOcpvPeb4SUNSDuQY6R55/sbXPqRaUMCAiy5IS094PX
	lZWMlDtD1VoKF0yg7T1LtnVAYUCmsEfIZ/3UP6zfrlhJaBclsz/Z4EtMyGl7NQ86/R6hqZ
	Z+GDCBGK5+8+cm7t+MbQHYi3nOuNsF10sT8L3BN0VAxIO9btUWTX6jDPdrNue1ezJbyxtY
	LSaElDNUE/TA27K6IKH3FqpttCp8c5IAfDLS7IrI3OfC3bp70o/bRhLrRAomkg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1761137344;
	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:
	 references:references; bh=riOmJf9FiDkmu6m5dlKP9M/8U5xAklSgvZrcN3Urpuk=;
	b=N3NMFaOLtlMBqCJ+capZ3I/cpgRy5k1V+/BakEg2gVtf1MEHK6L4ptAYIger3BijJcCLQD
	gGotCKbI0u8BU+Ag==
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
 kernel test robot <lkp@intel.com>,
 Russell King <linux@armlinux.org.uk>,
 linux-arm-kernel@lists.infradead.org,
 x86@kernel.org,
 Madhavan Srinivasan <maddy@linux.ibm.com>,
 Michael Ellerman <mpe@ellerman.id.au>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 linuxppc-dev@lists.ozlabs.org,
 Paul Walmsley <pjw@kernel.org>,
 Palmer Dabbelt <palmer@dabbelt.com>,
 linux-riscv@lists.infradead.org,
 Heiko Carstens <hca@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Sven Schnelle <svens@linux.ibm.com>,
 linux-s390@vger.kernel.org,
 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 David Laight <david.laight.linux@gmail.com>,
 Julia Lawall <Julia.Lawall@inria.fr>,
 Nicolas Palix <nicolas.palix@imag.fr>,
 Peter Zijlstra <peterz@infradead.org>,
 Darren Hart <dvhart@infradead.org>,
 Davidlohr Bueso <dave@stgolabs.net>,
 =?UTF-8?q?Andr=C3=A9=20Almeida?= <andrealmeid@igalia.com>,
 Alexander Viro <viro@zeniv.linux.org.uk>,
 Christian Brauner <brauner@kernel.org>,
 Jan Kara <jack@suse.cz>,
 linux-fsdevel@vger.kernel.org
Subject: [patch V4 02/12] uaccess: Provide ASM GOTO safe wrappers for
 unsafe_*_user()
References: <20251022102427.400699796@linutronix.de>
Precedence: bulk
X-Mailing-List: linux-s390@vger.kernel.org
List-Id: <linux-s390.vger.kernel.org>
List-Subscribe: <mailto:linux-s390+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-s390+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Date: Wed, 22 Oct 2025 14:49:04 +0200 (CEST)
X-DKIM: signer='linutronix.de' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linutronix.de]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

ASM GOTO is miscompiled by GCC when it is used inside a auto cleanup scope:

bool foo(u32 __user *p, u32 val)
{
	scoped_guard(pagefault)
		unsafe_put_user(val, p, efault);
	return true;
efault:
	return false;
}

 e80:	e8 00 00 00 00       	call   e85 <foo+0x5>
 e85:	65 48 8b 05 00 00 00 00 mov    %gs:0x0(%rip),%rax
 e8d:	83 80 04 14 00 00 01 	addl   $0x1,0x1404(%rax)   // pf_disable++
 e94:	89 37                	mov    %esi,(%rdi)
 e96:	83 a8 04 14 00 00 01 	subl   $0x1,0x1404(%rax)   // pf_disable--
 e9d:	b8 01 00 00 00       	mov    $0x1,%eax           // success
 ea2:	e9 00 00 00 00       	jmp    ea7 <foo+0x27>      // ret
 ea7:	31 c0                	xor    %eax,%eax           // fail
 ea9:	e9 00 00 00 00       	jmp    eae <foo+0x2e>      // ret

which is broken as it leaks the pagefault disable counter on failure.

Clang at least fails the build.

Linus suggested to add a local label into the macro scope and let that
jump to the actual caller supplied error label.

       	__label__ local_label;                                  \
        arch_unsafe_get_user(x, ptr, local_label);              \
	if (0) {                                                \
	local_label:                                            \
		goto label;                                     \

That works for both GCC and clang.

clang:

 c80:	0f 1f 44 00 00       	   nopl   0x0(%rax,%rax,1)	
 c85:	65 48 8b 0c 25 00 00 00 00 mov    %gs:0x0,%rcx
 c8e:	ff 81 04 14 00 00    	   incl   0x1404(%rcx)	   // pf_disable++
 c94:	31 c0                	   xor    %eax,%eax        // set retval to false
 c96:	89 37                      mov    %esi,(%rdi)      // write
 c98:	b0 01                	   mov    $0x1,%al         // set retval to true
 c9a:	ff 89 04 14 00 00    	   decl   0x1404(%rcx)     // pf_disable--
 ca0:	2e e9 00 00 00 00    	   cs jmp ca6 <foo+0x26>   // ret

The exception table entry points correctly to c9a

GCC:

 f70:   e8 00 00 00 00          call   f75 <baz+0x5>
 f75:   65 48 8b 05 00 00 00 00 mov    %gs:0x0(%rip),%rax
 f7d:   83 80 04 14 00 00 01    addl   $0x1,0x1404(%rax)  // pf_disable++
 f84:   8b 17                   mov    (%rdi),%edx
 f86:   89 16                   mov    %edx,(%rsi)
 f88:   83 a8 04 14 00 00 01    subl   $0x1,0x1404(%rax) // pf_disable--
 f8f:   b8 01 00 00 00          mov    $0x1,%eax         // success
 f94:   e9 00 00 00 00          jmp    f99 <baz+0x29>    // ret
 f99:   83 a8 04 14 00 00 01    subl   $0x1,0x1404(%rax) // pf_disable--
 fa0:   31 c0                   xor    %eax,%eax         // fail
 fa2:   e9 00 00 00 00          jmp    fa7 <baz+0x37>    // ret

The exception table entry points correctly to f99

So both compilers optimize out the extra goto and emit correct and
efficient code.

Provide a generic wrapper to do that to avoid modifying all the affected
architecture specific implementation with that workaround.

The only change required for architectures is to rename unsafe_*_user() to
arch_unsafe_*_user(). That's done in subsequent changes.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 include/linux/uaccess.h |   72 +++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 68 insertions(+), 4 deletions(-)

--- a/include/linux/uaccess.h
+++ b/include/linux/uaccess.h
@@ -518,7 +518,34 @@ long strncpy_from_user_nofault(char *dst
 		long count);
 long strnlen_user_nofault(const void __user *unsafe_addr, long count);
 
-#ifndef __get_kernel_nofault
+#ifdef arch_get_kernel_nofault
+/*
+ * Wrap the architecture implementation so that @label can be outside of a
+ * cleanup() scope. A regular C goto works correctly, but ASM goto does
+ * not. Clang rejects such an attempt, but GCC silently emits buggy code.
+ */
+#define __get_kernel_nofault(dst, src, type, label)		\
+do {								\
+	__label__ local_label;					\
+	arch_get_kernel_nofault(dst, src, type, local_label);	\
+	if (0) {						\
+	local_label:						\
+		goto label;					\
+	}							\
+} while (0)
+
+#define __put_kernel_nofault(dst, src, type, label)		\
+do {								\
+	__label__ local_label;					\
+	arch_get_kernel_nofault(dst, src, type, local_label);	\
+	if (0) {						\
+	local_label:						\
+		goto label;					\
+	}							\
+} while (0)
+
+#elif !defined(__get_kernel_nofault) /* arch_get_kernel_nofault */
+
 #define __get_kernel_nofault(dst, src, type, label)	\
 do {							\
 	type __user *p = (type __force __user *)(src);	\
@@ -535,7 +562,8 @@ do {							\
 	if (__put_user(data, p))			\
 		goto label;				\
 } while (0)
-#endif
+
+#endif  /* !__get_kernel_nofault */
 
 /**
  * get_kernel_nofault(): safely attempt to read from a location
@@ -549,7 +577,42 @@ do {							\
 	copy_from_kernel_nofault(&(val), __gk_ptr, sizeof(val));\
 })
 
-#ifndef user_access_begin
+#ifdef user_access_begin
+
+#ifdef arch_unsafe_get_user
+/*
+ * Wrap the architecture implementation so that @label can be outside of a
+ * cleanup() scope. A regular C goto works correctly, but ASM goto does
+ * not. Clang rejects such an attempt, but GCC silently emits buggy code.
+ *
+ * Some architectures use internal local labels already, but this extra
+ * indirection here is harmless because the compiler optimizes it out
+ * completely in any case. This construct just ensures that the ASM GOTO
+ * target is always in the local scope. The C goto 'label' works correct
+ * when leaving a cleanup() scope.
+ */
+#define unsafe_get_user(x, ptr, label)			\
+do {							\
+	__label__ local_label;				\
+	arch_unsafe_get_user(x, ptr, local_label);	\
+	if (0) {					\
+	local_label:					\
+		goto label;				\
+	}						\
+} while (0)
+
+#define unsafe_put_user(x, ptr, label)			\
+do {							\
+	__label__ local_label;				\
+	arch_unsafe_put_user(x, ptr, local_label);	\
+	if (0) {					\
+	local_label:					\
+		goto label;				\
+	}						\
+} while (0)
+#endif /* arch_unsafe_get_user */
+
+#else /* user_access_begin */
 #define user_access_begin(ptr,len) access_ok(ptr, len)
 #define user_access_end() do { } while (0)
 #define unsafe_op_wrap(op, err) do { if (unlikely(op)) goto err; } while (0)
@@ -559,7 +622,8 @@ do {							\
 #define unsafe_copy_from_user(d,s,l,e) unsafe_op_wrap(__copy_from_user(d,s,l),e)
 static inline unsigned long user_access_save(void) { return 0UL; }
 static inline void user_access_restore(unsigned long flags) { }
-#endif
+#endif /* !user_access_begin */
+
 #ifndef user_write_access_begin
 #define user_write_access_begin user_access_begin
 #define user_write_access_end user_access_end



From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188986-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id cDs6H6fR+GjpGT8AYBR5ng
	(envelope-from <stable+bounces-188986-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:44:23 +0000
Return-path: <stable+bounces-188986-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:44:23 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188986-hi=josie.lol@vger.kernel.org>)
	id 1vBYCU-00000000BJy-417A
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:44:23 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id F034819A584B
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:44:45 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 0A6AE344036;
	Wed, 22 Oct 2025 12:44:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b="GuSgJnhv"
X-Original-To: stable@vger.kernel.org
Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9A9633C52C
	for <stable@vger.kernel.org>; Wed, 22 Oct 2025 12:44:15 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137057; cv=none; b=d/HgR4z9IN6c84m5mLDbuXk6ZI2H4EB/AjzNNjhdiKGYeJlOj+BTW7FG+2YCH4Qa+VPSz8PxacBVdX/oKpxpBrdRVcSdnEso2ClKk0QwqJA2DwwAPEuJ2VpEvGyn8KTCX6KIFBC0cQY06X+PbLCZQjxIXz+o1c4BhuHH0hPA6ho=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137057; c=relaxed/simple;
	bh=XKJx4j95noYtAKBEwKbCQIWnOk8OfcgLrQC7FQqYhYQ=;
	h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=eleHgMx6nss+fBcDvoUx3Xcajn+dXAgxCkUMwWQqJZWRzimuHzOn/igb3EwDlpVhjPtMH4MZBJh8LFHr4gmOrK7iG86cW/SVVB5/EUTjfDdlibDfDl+1tbgE56KcF+pLjn7lcOZvAXwkbtrq+nVQaJNlPEHb8keMZH/MxevpDvs=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev; spf=pass smtp.mailfrom=tuxon.dev; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b=GuSgJnhv; arc=none smtp.client-ip=209.85.218.49
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxon.dev
Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-b64cdbb949cso1147319766b.1
        for <stable@vger.kernel.org>; Wed, 22 Oct 2025 05:44:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tuxon.dev; s=google; t=1761137054; x=1761741854; darn=vger.kernel.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=W1vTyP4Qrfg0RII36IHf9VvPmAKx6N6kqC5x1SFS9lU=;
        b=GuSgJnhvOMk1uLMMcJTLa3OOA91JNl1ZvPe/Esi7ntn+hFHV7F8Pg52Xs5CHE3JO3f
         h4cNyOUHTgWMEP6Vo2PUl9y4mgMI0mIsv493OYtVlpVSTlnc8Dc8ajadZrQFp8+bir+d
         jSNz30rl+sN1wCUYnDq5jLd6+rl+ht6AXJTYxnGekhb7cToPdhlBvt7Nv70vOfelABW1
         hpK7GfJ/XfszYXb/VxnjZ8d81/TBRHsHPS3gpj59JP/xyblvzAZ6mioYWCBouWJXMDGj
         mGABo8h2QzgdXmV0cHKGSOKJSCAFEN5eChDtAO4fmHRyNYQahSehGrAAsBfEn1HNjPD/
         STDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761137054; x=1761741854;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=W1vTyP4Qrfg0RII36IHf9VvPmAKx6N6kqC5x1SFS9lU=;
        b=Llr9AVCxGM4I0yuhcuFyFVIOLLIJO7W2yU5xVKO+kg6SrtaiH/aiaygb1lk8N1qow3
         GzbaqxSuJxKZa5CgzlrfNWyEgZeKapj11zV6BTZ5pNLo6ehyH8Xy/heuB1AQO4cDgx0O
         ww7tCxOEm3SsaZrOc9koHH0vnNGD/Cqj8vLjTaRAuwY1pzhpuYuJq6m0es+Tt1cxCR02
         Krxx1q/EEfWYMcJ10DeZmc/6TtKvhbfvoUHTHXmF4hXDAjrvN4E5gm+VHVn0NTlmW9s0
         hp9KR93aYk3MP5pziizGl34Ix7xPRQv+vm67ITmvyAMM6KdsUHt4933qzrEDnNAEclnc
         OHWA==
X-Forwarded-Encrypted: i=1; AJvYcCWuGIWNh8U7B+XbKBVK7ZArBmHROotSunrioPkRV6oNhnLz3WuMcIu3GxdxP9CIuBDb1tLsDpA=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw3bMqn7Y108rCBEF5D/vXyi0kz33zUlOegnaKInAEzyW2/6XhF
	b086LK1gHiJpnVu1DGBxJ6BpXrWlcgDKcAEMoWbXsXUQn6tcbU74quzAg3Y3q3Pn9wc=
X-Gm-Gg: ASbGncvRlLcKbdwoeWv1jmSHAUAufW8p9A5PSnWzcwULwDK94vaAFTug9GDrysaWfBo
	9xsxWsRtHP64Bu/L/WHdA27tKmMkdiZFyrE3kmey4BNjeGWxiwMYhUWdJdy9wTxok1fDzPzS2V9
	6Dexxk7WlddCY0+pm1LaBUh5RPLLBrkJmTF537qtwELcv72SPt2BRqlaUf+LT16yWwZjfRezNxm
	FItvDAV8DfM6+dwWa+S9ziQFxKhayhRLxejpqN0t8EXlAjcfQfxol/rB8n3yVOWjJh0peyzUJNU
	emK2WKcU32TrKjXD7kcux6Rd89bOS/R9PYmaxH4JKKSVT6YIVPhcw8EKrLB4uLKXEN1lJxJs3Os
	UopzuCqXhoatvdflQkYjHcC/0ShLeFd8LZyCRF+f+xnpDxwrCTfXKUCIgxHpbxvPlBIa+4UmUCW
	DncroMgxFDTla029Fg/FgNsQEhY73JAAbylqWzqR1nYzBgUtLgWxo=
X-Google-Smtp-Source: AGHT+IGd94J6cx7QBiHOtB0nhoaMmvnnZX2o0UebxY6JPmlFEUl524Mbppcf/F9K6FXM6cFPNHw1eA==
X-Received: by 2002:a17:906:ee89:b0:b3f:f43d:f81e with SMTP id a640c23a62f3a-b6474b37161mr2720564066b.40.1761137053432;
        Wed, 22 Oct 2025 05:44:13 -0700 (PDT)
Received: from claudiu-X670E-Pro-RS.. ([82.78.167.151])
        by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b65eb03671csm1327720066b.38.2025.10.22.05.44.10
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Wed, 22 Oct 2025 05:44:12 -0700 (PDT)
From: Claudiu <claudiu.beznea@tuxon.dev>
X-Google-Original-From: Claudiu <claudiu.beznea.uj@bp.renesas.com>
To: gregkh@linuxfoundation.org,
	yoshihiro.shimoda.uh@renesas.com,
	prabhakar.mahadev-lad.rj@bp.renesas.com,
	kuninori.morimoto.gx@renesas.com,
	geert+renesas@glider.be
Cc: claudiu.beznea@tuxon.dev,
	linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>,
	stable@vger.kernel.org
Subject: [PATCH] usb: renesas_usbhs: Fix synchronous external abort on unbind
Date: Wed, 22 Oct 2025 15:43:50 +0300
Message-ID: <20251022124350.4115552-1-claudiu.beznea.uj@bp.renesas.com>
X-Mailer: git-send-email 2.43.0
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-DKIM: signer='tuxon.dev' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: tuxon.dev]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [147.75.80.249 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: -18

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

A synchronous external abort occurs on the Renesas RZ/G3S SoC if unbind is
executed after the configuration sequence described above:

modprobe usb_f_ecm
modprobe libcomposite
modprobe configfs
cd /sys/kernel/config/usb_gadget
mkdir -p g1
cd g1
echo "0x1d6b" > idVendor
echo "0x0104" > idProduct
mkdir -p strings/0x409
echo "0123456789" > strings/0x409/serialnumber
echo "Renesas." > strings/0x409/manufacturer
echo "Ethernet Gadget" > strings/0x409/product
mkdir -p functions/ecm.usb0
mkdir -p configs/c.1
mkdir -p configs/c.1/strings/0x409
echo "ECM" > configs/c.1/strings/0x409/configuration

if [ ! -L configs/c.1/ecm.usb0 ]; then
        ln -s functions/ecm.usb0 configs/c.1
fi

echo 11e20000.usb > UDC
echo 11e20000.usb > /sys/bus/platform/drivers/renesas_usbhs/unbind

The displayed trace is as follows:

 Internal error: synchronous external abort: 0000000096000010 [#1] SMP
 CPU: 0 UID: 0 PID: 188 Comm: sh Tainted: G M 6.17.0-rc7-next-20250922-00010-g41050493b2bd #55 PREEMPT
 Tainted: [M]=MACHINE_CHECK
 Hardware name: Renesas SMARC EVK version 2 based on r9a08g045s33 (DT)
 pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
 pc : usbhs_sys_function_pullup+0x10/0x40 [renesas_usbhs]
 lr : usbhsg_update_pullup+0x3c/0x68 [renesas_usbhs]
 sp : ffff8000838b3920
 x29: ffff8000838b3920 x28: ffff00000d585780 x27: 0000000000000000
 x26: 0000000000000000 x25: 0000000000000000 x24: ffff00000c3e3810
 x23: ffff00000d5e5c80 x22: ffff00000d5e5d40 x21: 0000000000000000
 x20: 0000000000000000 x19: ffff00000d5e5c80 x18: 0000000000000020
 x17: 2e30303230316531 x16: 312d7968703a7968 x15: 3d454d414e5f4344
 x14: 000000000000002c x13: 0000000000000000 x12: 0000000000000000
 x11: ffff00000f358f38 x10: ffff00000f358db0 x9 : ffff00000b41f418
 x8 : 0101010101010101 x7 : 7f7f7f7f7f7f7f7f x6 : fefefeff6364626d
 x5 : 8080808000000000 x4 : 000000004b5ccb9d x3 : 0000000000000000
 x2 : 0000000000000000 x1 : ffff800083790000 x0 : ffff00000d5e5c80
 Call trace:
 usbhs_sys_function_pullup+0x10/0x40 [renesas_usbhs] (P)
 usbhsg_pullup+0x4c/0x7c [renesas_usbhs]
 usb_gadget_disconnect_locked+0x48/0xd4
 gadget_unbind_driver+0x44/0x114
 device_remove+0x4c/0x80
 device_release_driver_internal+0x1c8/0x224
 device_release_driver+0x18/0x24
 bus_remove_device+0xcc/0x10c
 device_del+0x14c/0x404
 usb_del_gadget+0x88/0xc0
 usb_del_gadget_udc+0x18/0x30
 usbhs_mod_gadget_remove+0x24/0x44 [renesas_usbhs]
 usbhs_mod_remove+0x20/0x30 [renesas_usbhs]
 usbhs_remove+0x98/0xdc [renesas_usbhs]
 platform_remove+0x20/0x30
 device_remove+0x4c/0x80
 device_release_driver_internal+0x1c8/0x224
 device_driver_detach+0x18/0x24
 unbind_store+0xb4/0xb8
 drv_attr_store+0x24/0x38
 sysfs_kf_write+0x7c/0x94
 kernfs_fop_write_iter+0x128/0x1b8
 vfs_write+0x2ac/0x350
 ksys_write+0x68/0xfc
 __arm64_sys_write+0x1c/0x28
 invoke_syscall+0x48/0x110
 el0_svc_common.constprop.0+0xc0/0xe0
 do_el0_svc+0x1c/0x28
 el0_svc+0x34/0xf0
 el0t_64_sync_handler+0xa0/0xe4
 el0t_64_sync+0x198/0x19c
 Code: 7100003f 1a9f07e1 531c6c22 f9400001 (79400021)
 ---[ end trace 0000000000000000 ]---
 note: sh[188] exited with irqs disabled
 note: sh[188] exited with preempt_count 1

The issue occurs because usbhs_sys_function_pullup(), which accesses the IP
registers, is executed after the USBHS clocks have been disabled. The
problem is reproducible on the Renesas RZ/G3S SoC starting with the
addition of module stop in the clock enable/disable APIs. With module stop
functionality enabled, a bus error is expected if a master accesses a
module whose clock has been stopped and module stop activated.

Disable the IP clocks at the end of remove.

Cc: stable@vger.kernel.org
Fixes: f1407d5c6624 ("usb: renesas_usbhs: Add Renesas USBHS common code")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---

Patch was tested with continuous unbind/bind and the configuration
sequence described above on the devices with the following device trees:

- r8a774a1-hihope-rzg2m-ex.dts
- r8a774b1-hihope-rzg2n-ex.dts
- r8a774e1-hihope-rzg2h-ex.dts
- r9a07g043u11-smarc.dts
- r9a07g044c2-smarc.dts
- r9a07g044l2-smarc.dts
- r9a07g054l2-smarc.dts

 drivers/usb/renesas_usbhs/common.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
index 8f536f2c500f..b8b55d08ac52 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -813,18 +813,18 @@ static void usbhs_remove(struct platform_device *pdev)
 
 	flush_delayed_work(&priv->notify_hotplug_work);
 
-	/* power off */
-	if (!usbhs_get_dparam(priv, runtime_pwctrl))
-		usbhsc_power_ctrl(priv, 0);
-
-	pm_runtime_disable(&pdev->dev);
-
 	usbhs_platform_call(priv, hardware_exit, pdev);
 	usbhsc_clk_put(priv);
 	reset_control_assert(priv->rsts);
 	usbhs_mod_remove(priv);
 	usbhs_fifo_remove(priv);
 	usbhs_pipe_remove(priv);
+
+	/* power off */
+	if (!usbhs_get_dparam(priv, runtime_pwctrl))
+		usbhsc_power_ctrl(priv, 0);
+
+	pm_runtime_disable(&pdev->dev);
 }
 
 static int usbhsc_suspend(struct device *dev)
-- 
2.43.0



From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188987-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id 2F3HObLS+GjpGT8AYBR5ng
	(envelope-from <stable+bounces-188987-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:48:50 +0000
Return-path: <stable+bounces-188987-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:48:51 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188987-hi=josie.lol@vger.kernel.org>)
	id 1vBYGo-00000000JCm-1D9N
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:48:50 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0EC6858252F
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:48:49 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 0C8FA346E5C;
	Wed, 22 Oct 2025 12:48:45 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="2ggiKZf7"
X-Original-To: stable@vger.kernel.org
Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010005.outbound.protection.outlook.com [52.101.56.5])
	(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 DFA4B3446A0;
	Wed, 22 Oct 2025 12:48:34 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.5
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761137320; cv=fail; b=R76qEpedV/VTxwTVbGJQeAl3qGLvG3n2ATo6AAZAC//WatvWTnj1fiVS6JgDx1b7l5jVaSWXSp5uITkcIGdHjLGsnQl5jaBMRJUC6DjjP0TasIwE+SJXyyZfEHzF9VTy3f1NGTLx+sWPE2Dft1Gf77PeuhgpwL5wy9RPQ54xZOY=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761137320; c=relaxed/simple;
	bh=5r6tG83zhOBE+fxbVOlg4uieuHM1E/n9FLReXk4IuIc=;
	h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:
	 Content-Type:MIME-Version; b=axbs4Jn/ccfKHMeXcSlCN5U0IOQPRGKazL/ucG6v2LKuvyGp5Pk4BGGznbZK0+ns/LXCvshvAX22yph55id8pIDiROVscLKlO4/5L+l6/51Kgw3qOu6TFNL4ejrjXVG6rWGaG5+CuAN9iZWsdVY37trQQ0wAv7SidshSuVR0mIQ=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=2ggiKZf7; arc=fail smtp.client-ip=52.101.56.5
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com
Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Kiv+Irtdi/1Vnc9n33sFat0EyjNP5CXTf7nB4wDwP/fiXoDJweblzfOjeOOhe7QQzsqxVYx/6/1uwvgK0FY2ge9xoMKG6UzqToRWcLPWzms44PlX0FcmBodkZbEbtMx5XAS6x4dT1QmSNo+RejeT+50ehbrUXJqUGfBR729zwR8K2UJIFsrzmkJD6tYb8uB1gl08DeeM/Y8xdQkReJ46+QulctG7XQU3tMzTG/5HxVrDOAMsek+bF5FSzSLKrczlFgbq+Pwz6bozyiCpAVXFJGECIOdJhMpkIPhwco3xrz+c0SNIzudwNg+l/2PJ9tjGFRPk6uHPzhr/qBeSMPzN7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5r6tG83zhOBE+fxbVOlg4uieuHM1E/n9FLReXk4IuIc=;
 b=dFiwzeu2t5ABMGmaVyUj5OJSIuqvUqrEOkE+j1XF4VeG+n32wI2wCHKB05bRTncvmSFPdZGBCZGj7qCPRLlpes3ufj1mmTvcuhAzwxbZ2MoQvAem+vfGZiUf+Q39sC4EJmmJL++IH74ipL2IH4rL2qkXqZPeJghez+UU2zWt+gNvPQ9soYyPATebgkGD8d2AsMD6zb/zzAFjDaerIChL+an4rKXL5akS1vu+VMp+qvFRyzc+T5qrCRlljYZaGLV7qI1CdXl47qqd26ep28/l09roinK3KthqWp3c6kaD5Hc9sTn7an2cZ+E9Y9h23B/xqBKP7YpUrgkhp08m7kZ84A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5r6tG83zhOBE+fxbVOlg4uieuHM1E/n9FLReXk4IuIc=;
 b=2ggiKZf7RTp7rtwGAxZ/r+xPQqoL76JRrRDkuBg8LD66ILaRgemLi9OKM/km9/2MQcmCztobdjP9ysVlpgR+Clh4EzMhmeQW9ORpcsf1BLGxbqbCRChz0RZrr8/zMDsXOHpnhpHyIRn+sc2a19NrXCXEQkQHHSG3XrserRcihKc=
Received: from DM4PR12MB6158.namprd12.prod.outlook.com (2603:10b6:8:a9::20) by
 LV8PR12MB9451.namprd12.prod.outlook.com (2603:10b6:408:206::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 12:48:28 +0000
Received: from DM4PR12MB6158.namprd12.prod.outlook.com
 ([fe80::b639:7db5:e0cc:be5e]) by DM4PR12MB6158.namprd12.prod.outlook.com
 ([fe80::b639:7db5:e0cc:be5e%5]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 12:48:27 +0000
From: "Musham, Sai Krishna" <sai.krishna.musham@amd.com>
To: "mani@kernel.org" <mani@kernel.org>, "Havalige, Thippeswamy"
	<thippeswamy.havalige@amd.com>
CC: Stefan Roese <stefan.roese@mailbox.org>, Bjorn Helgaas
	<helgaas@kernel.org>, "Bandi, Ravi Kumar" <ravib@amazon.com>,
	"lpieralisi@kernel.org" <lpieralisi@kernel.org>, "bhelgaas@google.com"
	<bhelgaas@google.com>, "linux-pci@vger.kernel.org"
	<linux-pci@vger.kernel.org>, "kwilczynski@kernel.org"
	<kwilczynski@kernel.org>, "robh@kernel.org" <robh@kernel.org>, "Simek,
 Michal" <michal.simek@amd.com>, "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "stable@vger.kernel.org"
	<stable@vger.kernel.org>, Sean Anderson <sean.anderson@linux.dev>,
	"Yeleswarapu, Nagaradhesh" <nagaradhesh.yeleswarapu@amd.com>
Subject: RE: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
Thread-Topic: [PATCH v2] PCI: xilinx-xdma: Enable INTx interrupts
Thread-Index:
 AQHcKoFZBALFGa/Kqki5vrSD8b1UILTNCbqAgAAGd4CAABdpAIAAHYKAgAAJCICAAJ+fgIAAMSWAgAABJACAAAIPwIAABzEAgAAAhICAAAatAIAAG+yQ
Date: Wed, 22 Oct 2025 12:48:27 +0000
Message-ID:
 <DM4PR12MB6158ACBA7BCEDB99A55ACA03CDF3A@DM4PR12MB6158.namprd12.prod.outlook.com>
References: <20251021212801.GA1224310@bhelgaas>
 <ab1f7c51-bc41-4774-a0dc-850e53c412eb@mailbox.org>
 <3it5l556vmfpuu6kz5yvulwosi4ecmcgfbzcizrc5wi7ifddkh@mpzfxf2v6v3f>
 <72267a6c-13c7-40bd-babb-f73a28625ca4@mailbox.org>
 <SN7PR12MB7201CF621AF0A38AA905799D8BF3A@SN7PR12MB7201.namprd12.prod.outlook.com>
 <brekq5jmgnotwpshcksxefpg2adm4vlsbuncazdg32sdpxqjwj@annnvyzshrys>
 <SN7PR12MB7201C6B5B64F8847DD6D816D8BF3A@SN7PR12MB7201.namprd12.prod.outlook.com>
 <zuj6puxpqgjmaa3y3wwyixlru7e7locplnjev37i5fnh6zummw@72t5prkfsrpk>
In-Reply-To: <zuj6puxpqgjmaa3y3wwyixlru7e7locplnjev37i5fnh6zummw@72t5prkfsrpk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=True;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2025-10-22T12:38:04.0000000Z;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD
 Internal Distribution
 Only;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=3;MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM4PR12MB6158:EE_|LV8PR12MB9451:EE_
x-ms-office365-filtering-correlation-id: 37b23dfa-89f2-4772-18ff-08de11694bd7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|1800799024|366016|38070700021|7053199007;
x-microsoft-antispam-message-info:
 =?utf-8?B?RElsbWlLMkg1YW56OVZFT0dFRE5RczNxcmswT00weHo4TUNhenRId0lRSDBR?=
 =?utf-8?B?NUxvMGFhaldUd3lRa29ic2duMk1BbncyN0FPQ2xUcE45S1BnYUZ5N3pBa05H?=
 =?utf-8?B?Y2NaYzhRL3VUQXlPaHZlV0VpV0t4Z2NzVTZZWis3bVF6VGM3ejZEdXArd0w4?=
 =?utf-8?B?R0g2a0g0b3RNNjNpVUNqSUFUbHcrb3FIMXdCb1RCRk9tbnZRb2xPa2JHbkNv?=
 =?utf-8?B?R2tyMTFJNEpPWUVGMGNSVHJYM0ZXYWRhZjZuZkU2aGcyTkFNb3ZLSXJuK083?=
 =?utf-8?B?SWNJTzZjemlEclNrRkpRV0Z0cU9kbHZWVStjOEZ6clN6a2JtdnhxcVVaYWhJ?=
 =?utf-8?B?WTB0RjdQQXhUT2ZWZjhxcXRMU0E1SlhLWjB4NjBabHFqRVRvZzRVWnQ1bitt?=
 =?utf-8?B?UmJLaFc2ZnorUW1HWUZzenQyZTVoMDJld0dNTHRNenJzOXNjdEJDd1l0ajF6?=
 =?utf-8?B?Z1BlQXJBWXVSNk81MmNmelB3dEZVS2VPL3J2akdEVkREbklpUE01c2laNHp0?=
 =?utf-8?B?bGtOaG9VVEdyck5VZlZSK09VblR2MTNvalNQV3lmaERXdkhwTDhnZ1BjTXoy?=
 =?utf-8?B?SXg5S3IzSWtaaUxBUy9NWXRRclJDMnJjcnJwR1FMMU5zYlJ0d0NpVU9UTXcx?=
 =?utf-8?B?ZjRmRTIxajRJeVY3NFNVMEtOQkJpamRCVDRuWGRaMTVrdXFHZ05tb0pJem0y?=
 =?utf-8?B?ZWlHNGZSbXI4U2NXUStLOXpvQjdmNnBRL1JhZzVZMklMa1Y3WE9tdzdlYXc1?=
 =?utf-8?B?c1RVMCtOWG1IRGk1TTJWYkNpUi9DK1NSVlNZVFVrWEtEa1R4SzZmWHFZSjN3?=
 =?utf-8?B?UjBUV0Y0MzJJdUJ6VmpkRytNSEc3UlRSLzY2Uk1qT0o1N3BJek1mdmFlbjZW?=
 =?utf-8?B?TWxMWURmaHpRdlFhRzJqUDl6R3RYcWFjOXkzRFVuVWM3R05mL291bW81bkw5?=
 =?utf-8?B?Wlo5TUNibzJJMzNab3dYZ1ZmeXYwcXdVK0p0WlpEMUQva2R3VWs5RzM0U1Zi?=
 =?utf-8?B?aGNuTzMwUXFPN0lzcDBSZXU5ZXJZb0V4cFNzdlYvVmJnK0grbGo4WDQ3T1BP?=
 =?utf-8?B?UWhwZ2FNTDFnNzJUaDhqd3lDMXk2R3RhUEZlbDRIdTFGNzBxbjJ1VUsydWJn?=
 =?utf-8?B?VDhrbHlOa0orZzI1cE16SlZ0dVdLMXJ0VjRheW9UZVVpWk1TckdDeEJIQjFE?=
 =?utf-8?B?ZHY2dFNDakNpekIwSkpVNDJkdFpHVzZlcjlQaThKY3FxN2EwcmE4RlpJS3lN?=
 =?utf-8?B?YnJjZjhFaDlscFAwd2kzMVJCMmJwTkVkN1owQWVBR1pwNitGOTRVOUdHNGNl?=
 =?utf-8?B?elZQS0dJWHRNS2dnYW03ZTgybWZ4VHFEdzlEVGpqSENRY1BRNjl0UFEwcVMv?=
 =?utf-8?B?eU54SjFLSGVSTnA4U0xvVGFobHc0R2lHamVzajV1WFgwb2hlVW5nRVJYbjBL?=
 =?utf-8?B?VWh1TmpQQmN3Rlo0NEErbjNHcFdBMXhIL3BCaTZhVGgvcnIyNC85ZW9ZUFo0?=
 =?utf-8?B?SVRXY054RzdiazMyenpWSzZMOUd2d2xKSm1pOSt0MXN5WWN3TkNyMVU0NW9t?=
 =?utf-8?B?MXFuYy9ST0pjalNXeTJoSWVORTA2a0JjQmtmMHNJdkFPL2U1cXUrekdpbGFk?=
 =?utf-8?B?QUtTemtLd1VQZGNnWnFBVnFzVmFtS0Q3aWtiWFo5SlMzQTJPSkgwNWV0TXly?=
 =?utf-8?B?WEl1S0U2NVoxVFdNZDcrOEFKTjhEY2ZkWW5qV3l4K0ZoTGNDeHFma2l5dkQz?=
 =?utf-8?B?cHNxc1FYSHFMWWd0eU93ZnB6bzBsd0w5OVlucWNRaWJWRjVIMWlHai9OL3h1?=
 =?utf-8?B?RS9DdytQcTVuSWF5NVhhRkFUSmFwQndZaFJRM1dlV0xDbnkzVFoyRXlzUzNK?=
 =?utf-8?B?a0E5UFpTb2piY1BkTk1IVW5QOFVNUEQwZ29FRFBXcmRsWWIxOStkcWdFWWUy?=
 =?utf-8?B?UU9aeFF1b3ZXYlNxTW5nTi9DVlhSVU1NWit4R0d1SFBQVVRHYXZ6MEtXaEZz?=
 =?utf-8?B?R1hTREUreHV0YnVnVWkySFlIcjZ4dEJHczViQUgva0xobXZuem9XQ3EvVXo3?=
 =?utf-8?B?cmQvRDR3SWY0OURUNmNaSFJtcmYrRFd6N2dWZz09?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB6158.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700021)(7053199007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?amM5L2ZrUmd1eUw3WFpjdVNuM1JReDVpMGt6NytJY1ZneWd4ZWZpblcrVHpt?=
 =?utf-8?B?SUJiYkFIM1FrR3ZRT054MnpDUm1RcnlTZzVzZHl5Y3I1ZGJwdW1MSys2c0VO?=
 =?utf-8?B?SjJjdHNyRGZzTnltSllJMHE1RW1VcE1QMEFkS0xvemkwNHZZaVZOeG1iQUtp?=
 =?utf-8?B?MFpZcnpVYXpLS0J1cXRNN09yRzZ4cDA0THZLd0s1T0xwZHhoWjEzMVBzT0NM?=
 =?utf-8?B?U0RGNGl2cTh2d3ZCdEtCM3VCTjE0NVdyK2RxL1JwNk1TR1Z3NHlaaGFlK0xB?=
 =?utf-8?B?TW1veUM2N1dUSEZLN1dsWHRCcFVsaWJ4UmdMb0VlYXhLZXk3QmxwSHlQMTA5?=
 =?utf-8?B?V3hCdHVpM0hNRzFwQTloMEJicEd4QmEveXluUXRqalFvVkRFU1JEUDlNcERD?=
 =?utf-8?B?Smp3eDJhRjBxdkF5N0drQnh1bG1DbXUrbTA2NytKVGFBbkcyMW1vcFZ1RFRM?=
 =?utf-8?B?NW9INENmWDVERnBqUmMwQmNrbjdoOUNoNXZDY2FXSXNhOEpZSloydTBWcmJr?=
 =?utf-8?B?azlUckZMK1I1aUx6Q3gxN2F5bnpZSlNscE1sa1NQckF3T0JhVVc1SVdTb0cw?=
 =?utf-8?B?bmNpdUtzQjZnWnB6L2I1eWU2ZllrdUppcXgyRVB0dVRxamd6djdYY2hnditJ?=
 =?utf-8?B?Z0xiQ0VuMlRmUk1NRGY5SDJlMjkxN1hEUlM5akYrMWJ4UTk1NjA1QW5iNmxI?=
 =?utf-8?B?eEs3YTJ3am1EeU1DbG5NWWNjckZxVkN3bUVmQ1BmbCtXQ21LVVpBUGtEeDdi?=
 =?utf-8?B?NHBFdG01bXN0cktrZEZjNjJhaGdSYVY0WG1LbHpoeFN0Nk5IeVBYaGRTQ20v?=
 =?utf-8?B?ZEczcXVDaE9Ra3BDSk5zVmRpUG1OeHZ0anNndlF1MFdJLzRkMmFJRG5iWGJs?=
 =?utf-8?B?MFJJYS9WSWVSK0RZcm1GZFgwcGJ3SDNVR09KTEhYN2t0UXRtUVJEb2dNelh3?=
 =?utf-8?B?bzJtWFJSYXhxcm0yVmpURG5TOGgrdnpMV1JNM3g1b2h1R2pHQmExODBYMTg4?=
 =?utf-8?B?RGpCYnpWZEJ3b0ZNSG9PZnlRakVhc1JKcVV6QXFRMkc2KzE2Ylo2QWMyQlBT?=
 =?utf-8?B?K3BkWkFjVXZOZ0VLVzJFUmVsdFh3MmlaV0NtaXdNTmNpR0ZidzdhVW1IMkQ4?=
 =?utf-8?B?REdlcWpvOUdadlBKdFJkNXk1aWZwU0RGNVdna2JNdG9uZ3oxMWEzWUZ0STdw?=
 =?utf-8?B?bGZnNllJemlLaXlibHdZVlpXSm43dHh1ZzVXRDViSnRDdzRaU1BEc2cwRmtJ?=
 =?utf-8?B?dG82Q1IwczM0ZmFtT3lUMmlMOUlPcFIwZnE5TnhEZGd6bU9Kd2VjcDNPUG1X?=
 =?utf-8?B?NVU0T0ZlcmlSNndpdmJYMHN0MFB1K0RjYVJKOEhubDEwL2NKWlpPZVpSaGJV?=
 =?utf-8?B?cEZLOS95RkFWRnROZmhlWWFzQmJsTHJRa3RmQXduU1VWdE5uUXM1dnBzckpT?=
 =?utf-8?B?TWU5dTBPNXd5TE5uazVMNUJQV1NWOG54bjdhb251c2VWaE5sQUx1dFh0dXZZ?=
 =?utf-8?B?Qi96Zk5hN0F5ajlOR2NQejVNSmw0TFlzTk9ldVJiOENBeG9JdnBNbFdITEcw?=
 =?utf-8?B?SWFJRFdWU1o3TmVoS3k4ZW9oT2x2WExGaW9jVDdnL1N4R1BlSXY4eFNnanVH?=
 =?utf-8?B?R0M5V1lPNnpJSlFWMEdDbWVZcGFpM2xraFF6WHJKMlIyLy9TWU11Zlh3bXZP?=
 =?utf-8?B?VHpKNXc0YzRWYWpYaWNBeGw1MWNnKzEzL01lRi9HTm91VWtJYWhQckpWU3ZE?=
 =?utf-8?B?ZzJwK3NKaVZ4ZXUvWjBsZSs5USt5WXI5bFg4aTNneVNNMmJGdVhCamhtNnFL?=
 =?utf-8?B?WVhqandSL0JIM3crYlhKT3MzdmdvbG9PM1hvWFFrSkpMZDJ3RFVhckdjWnVR?=
 =?utf-8?B?cXptTWtINUQ2aUNaOThEaHZIc1loSUNpUFlmT2ZqNFMzeTR4MjlNUk51Zkkw?=
 =?utf-8?B?UzFBT3k1bWllUG1NVURFWHppQ1NSZ25iSTdwb2JneGJreTZGWG90RjFNbTUx?=
 =?utf-8?B?ZzBiR1NEd0ovZHQ0M01hWU9kNHBCQXh1QjlnWnpraTJjL1EvNWZWaUNqNy9B?=
 =?utf-8?B?TlNFYlRKTmgwenA2aU5rbGJUVFFMdVFTSzFwN2IrbnZ2SmxqQ1l3ejY0TENs?=
 =?utf-8?Q?rmiQ=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB6158.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37b23dfa-89f2-4772-18ff-08de11694bd7
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Oct 2025 12:48:27.4610
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: D+glGfWpA28eMeqxE/tMoOuf7P/tvQU+G/M7PqoU82yxmAASlQjOQH4BcmfuOwZWynGBPTvq/crMld7bY+vRNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9451
X-DKIM: signer='amd.com' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: amd.com]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [139.178.88.99 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
 -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender
SpamTally: Final spam score: -18

W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEFNRCBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0N
Cg0KSGkgTWFuaSwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBtYW5p
QGtlcm5lbC5vcmcgPG1hbmlAa2VybmVsLm9yZz4NCj4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVy
IDIyLCAyMDI1IDQ6MjggUE0NCj4gVG86IEhhdmFsaWdlLCBUaGlwcGVzd2FteSA8dGhpcHBlc3dh
bXkuaGF2YWxpZ2VAYW1kLmNvbT4NCj4gQ2M6IFN0ZWZhbiBSb2VzZSA8c3RlZmFuLnJvZXNlQG1h
aWxib3gub3JnPjsgQmpvcm4gSGVsZ2Fhcw0KPiA8aGVsZ2Fhc0BrZXJuZWwub3JnPjsgQmFuZGks
IFJhdmkgS3VtYXIgPHJhdmliQGFtYXpvbi5jb20+Ow0KPiBscGllcmFsaXNpQGtlcm5lbC5vcmc7
IGJoZWxnYWFzQGdvb2dsZS5jb207IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmc7DQo+IGt3aWxj
enluc2tpQGtlcm5lbC5vcmc7IHJvYmhAa2VybmVsLm9yZzsgU2ltZWssIE1pY2hhbA0KPiA8bWlj
aGFsLnNpbWVrQGFtZC5jb20+OyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7
IGxpbnV4LQ0KPiBrZXJuZWxAdmdlci5rZXJuZWwub3JnOyBzdGFibGVAdmdlci5rZXJuZWwub3Jn
OyBTZWFuIEFuZGVyc29uDQo+IDxzZWFuLmFuZGVyc29uQGxpbnV4LmRldj47IFllbGVzd2FyYXB1
LCBOYWdhcmFkaGVzaA0KPiA8bmFnYXJhZGhlc2gueWVsZXN3YXJhcHVAYW1kLmNvbT47IE11c2hh
bSwgU2FpIEtyaXNobmENCj4gPHNhaS5rcmlzaG5hLm11c2hhbUBhbWQuY29tPg0KPiBTdWJqZWN0
OiBSZTogW1BBVENIIHYyXSBQQ0k6IHhpbGlueC14ZG1hOiBFbmFibGUgSU5UeCBpbnRlcnJ1cHRz
DQo+DQo+IENhdXRpb246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYW4gRXh0ZXJuYWwg
U291cmNlLiBVc2UgcHJvcGVyIGNhdXRpb24NCj4gd2hlbiBvcGVuaW5nIGF0dGFjaG1lbnRzLCBj
bGlja2luZyBsaW5rcywgb3IgcmVzcG9uZGluZy4NCj4NCj4NCj4gT24gV2VkLCBPY3QgMjIsIDIw
MjUgYXQgMTA6MzY6MjhBTSArMDAwMCwgSGF2YWxpZ2UsIFRoaXBwZXN3YW15IHdyb3RlOg0KPiA+
IFtBTUQgT2ZmaWNpYWwgVXNlIE9ubHkgLSBBTUQgSW50ZXJuYWwgRGlzdHJpYnV0aW9uIE9ubHld
DQo+ID4NCj4gPiBIaSBNYW5pLA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t
LQ0KPiA+ID4gRnJvbTogbWFuaUBrZXJuZWwub3JnIDxtYW5pQGtlcm5lbC5vcmc+DQo+ID4gPiBT
ZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMjIsIDIwMjUgNDowMiBQTQ0KPiA+ID4gVG86IEhhdmFs
aWdlLCBUaGlwcGVzd2FteSA8dGhpcHBlc3dhbXkuaGF2YWxpZ2VAYW1kLmNvbT4NCj4gPiA+IENj
OiBTdGVmYW4gUm9lc2UgPHN0ZWZhbi5yb2VzZUBtYWlsYm94Lm9yZz47IEJqb3JuIEhlbGdhYXMN
Cj4gPiA+IDxoZWxnYWFzQGtlcm5lbC5vcmc+OyBCYW5kaSwgUmF2aSBLdW1hciA8cmF2aWJAYW1h
em9uLmNvbT47DQo+ID4gPiBscGllcmFsaXNpQGtlcm5lbC5vcmc7IGJoZWxnYWFzQGdvb2dsZS5j
b207DQo+ID4gPiBsaW51eC1wY2lAdmdlci5rZXJuZWwub3JnOyBrd2lsY3p5bnNraUBrZXJuZWwu
b3JnOyByb2JoQGtlcm5lbC5vcmc7DQo+ID4gPiBTaW1laywgTWljaGFsIDxtaWNoYWwuc2ltZWtA
YW1kLmNvbT47DQo+ID4gPiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGxp
bnV4LSBrZXJuZWxAdmdlci5rZXJuZWwub3JnOw0KPiA+ID4gc3RhYmxlQHZnZXIua2VybmVsLm9y
ZzsgU2VhbiBBbmRlcnNvbiA8c2Vhbi5hbmRlcnNvbkBsaW51eC5kZXY+DQo+ID4gPiBTdWJqZWN0
OiBSZTogW1BBVENIIHYyXSBQQ0k6IHhpbGlueC14ZG1hOiBFbmFibGUgSU5UeCBpbnRlcnJ1cHRz
DQo+ID4gPg0KPiA+ID4gT24gV2VkLCBPY3QgMjIsIDIwMjUgYXQgMTA6MDg6NDRBTSArMDAwMCwg
SGF2YWxpZ2UsIFRoaXBwZXN3YW15IHdyb3RlOg0KPiA+ID4gPiBbQU1EIE9mZmljaWFsIFVzZSBP
bmx5IC0gQU1EIEludGVybmFsIERpc3RyaWJ1dGlvbiBPbmx5XQ0KPiA+ID4gPg0KPiA+ID4gPiBI
aSBTdGVmYW4sDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N
Cj4gPiA+ID4gPiBGcm9tOiBTdGVmYW4gUm9lc2UgPHN0ZWZhbi5yb2VzZUBtYWlsYm94Lm9yZz4N
Cj4gPiA+ID4gPiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMjIsIDIwMjUgMzoyOSBQTQ0KPiA+
ID4gPiA+IFRvOiBtYW5pQGtlcm5lbC5vcmcNCj4gPiA+ID4gPiBDYzogQmpvcm4gSGVsZ2FhcyA8
aGVsZ2Fhc0BrZXJuZWwub3JnPjsgQmFuZGksIFJhdmkgS3VtYXINCj4gPiA+ID4gPiA8cmF2aWJA
YW1hem9uLmNvbT47IEhhdmFsaWdlLCBUaGlwcGVzd2FteQ0KPiA+ID4gPiA+IDx0aGlwcGVzd2Ft
eS5oYXZhbGlnZUBhbWQuY29tPjsgbHBpZXJhbGlzaUBrZXJuZWwub3JnOw0KPiA+ID4gPiA+IGJo
ZWxnYWFzQGdvb2dsZS5jb207IGxpbnV4LXBjaUB2Z2VyLmtlcm5lbC5vcmc7DQo+ID4gPiA+ID4g
a3dpbGN6eW5za2lAa2VybmVsLm9yZzsgcm9iaEBrZXJuZWwub3JnOyBTaW1laywgTWljaGFsDQo+
ID4gPiA+ID4gPG1pY2hhbC5zaW1la0BhbWQuY29tPjsgbGludXgtYXJtLSBrZXJuZWxAbGlzdHMu
aW5mcmFkZWFkLm9yZzsNCj4gPiA+ID4gPiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBz
dGFibGVAdmdlci5rZXJuZWwub3JnOyBTZWFuDQo+ID4gPiA+ID4gQW5kZXJzb24gPHNlYW4uYW5k
ZXJzb25AbGludXguZGV2Pg0KPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIFBDSTog
eGlsaW54LXhkbWE6IEVuYWJsZSBJTlR4IGludGVycnVwdHMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+
IE9uIDEwLzIyLzI1IDExOjU1LCBtYW5pQGtlcm5lbC5vcmcgd3JvdGU6DQo+ID4gPiA+ID4gPiBP
biBXZWQsIE9jdCAyMiwgMjAyNSBhdCAwODo1OToxOUFNICswMjAwLCBTdGVmYW4gUm9lc2Ugd3Jv
dGU6DQo+ID4gPiA+ID4gPj4gSGkgQmpvcm4sDQo+ID4gPiA+ID4gPj4gSGkgUmF2aSwNCj4gPiA+
ID4gPiA+Pg0KPiA+ID4gPiA+ID4+IE9uIDEwLzIxLzI1IDIzOjI4LCBCam9ybiBIZWxnYWFzIHdy
b3RlOg0KPiA+ID4gPiA+ID4+PiBPbiBUdWUsIE9jdCAyMSwgMjAyNSBhdCAwODo1NTo0MVBNICsw
MDAwLCBCYW5kaSwgUmF2aSBLdW1hciB3cm90ZToNCj4gPiA+ID4gPiA+Pj4+PiBPbiBUdWUsIE9j
dCAyMSwgMjAyNSBhdCAwNTo0NjoxN1BNICswMDAwLCBCYW5kaSwgUmF2aQ0KPiA+ID4gPiA+ID4+
Pj4+IEt1bWFyDQo+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+Pj4+Pj4+IE9uIE9jdCAyMSwgMjAy
NSwgYXQgMTA6MjPigK9BTSwgQmpvcm4gSGVsZ2Fhcw0KPiA+ID4gPiA+ID4+Pj4+Pj4gPGhlbGdh
YXNAa2VybmVsLm9yZz4NCj4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+Pj4+Pj4+IE9uIFNh
dCwgU2VwIDIwLCAyMDI1IGF0IDEwOjUyOjMyUE0gKzAwMDAsIFJhdmkgS3VtYXINCj4gPiA+ID4g
PiA+Pj4+Pj4+IEJhbmRpDQo+ID4gPiA+ID4gd3JvdGU6DQo+ID4gPiA+ID4gPj4+Pj4+Pj4gVGhl
IHBjaWUteGlsaW54LWRtYS1wbCBkcml2ZXIgZG9lcyBub3QgZW5hYmxlIElOVHgNCj4gPiA+ID4g
PiA+Pj4+Pj4+PiBpbnRlcnJ1cHRzIGFmdGVyIGluaXRpYWxpemluZyB0aGUgcG9ydCwgcHJldmVu
dGluZyBJTlR4DQo+ID4gPiA+ID4gPj4+Pj4+Pj4gaW50ZXJydXB0cyBmcm9tIFBDSWUgZW5kcG9p
bnRzIGZyb20gZmxvd2luZyB0aHJvdWdoIHRoZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4+IFhpbGlueCBY
RE1BIHJvb3QgcG9ydCBicmlkZ2UuIFRoaXMgaXNzdWUgYWZmZWN0cyBrZXJuZWwNCj4gPiA+ID4g
PiA+Pj4+Pj4+PiA2LjYuMCBhbmQNCj4gPiA+IGxhdGVyIHZlcnNpb25zLg0KPiA+ID4gPiA+ID4+
Pj4+Pj4+DQo+ID4gPiA+ID4gPj4+Pj4+Pj4gVGhpcyBwYXRjaCBhbGxvd3MgSU5UeCBpbnRlcnJ1
cHRzIGdlbmVyYXRlZCBieSBQQ0llDQo+ID4gPiA+ID4gPj4+Pj4+Pj4gZW5kcG9pbnRzIHRvIGZs
b3cgdGhyb3VnaCB0aGUgcm9vdCBwb3J0LiBUZXN0ZWQgdGhlIGZpeA0KPiA+ID4gPiA+ID4+Pj4+
Pj4+IG9uIGEgYm9hcmQgd2l0aCB0d28gZW5kcG9pbnRzIGdlbmVyYXRpbmcgSU5UeCBpbnRlcnJ1
cHRzLg0KPiA+ID4gPiA+ID4+Pj4+Pj4+IEludGVycnVwdHMgYXJlIHByb3Blcmx5IGRldGVjdGVk
IGFuZCBzZXJ2aWNlZC4gVGhlDQo+ID4gPiA+ID4gPj4+Pj4+Pj4gL3Byb2MvaW50ZXJydXB0cyBv
dXRwdXQNCj4gPiA+ID4gPiA+Pj4+Pj4+PiBzaG93czoNCj4gPiA+ID4gPiA+Pj4+Pj4+Pg0KPiA+
ID4gPiA+ID4+Pj4+Pj4+IFsuLi5dDQo+ID4gPiA+ID4gPj4+Pj4+Pj4gMzI6ICAgICAgICAzMjAg
ICAgICAgICAgMCAgcGxfZG1hOlJDLUV2ZW50ICAxNiBMZXZlbA0KPiA0MDAwMDAwMDAuYXhpLQ0K
PiA+ID4gcGNpZSwNCj4gPiA+ID4gPiBhemRydg0KPiA+ID4gPiA+ID4+Pj4+Pj4+IDUyOiAgICAg
ICAgNDcwICAgICAgICAgIDAgIHBsX2RtYTpSQy1FdmVudCAgMTYgTGV2ZWwNCj4gNTAwMDAwMDAw
LmF4aS0NCj4gPiA+IHBjaWUsDQo+ID4gPiA+ID4gYXpkcnYNCj4gPiA+ID4gPiA+Pj4+Pj4+PiBb
Li4uXQ0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gRmlyc3QgYSBjb21tZW50IG9uIHRoaXMg
SVJRIGxvZ2dpbmc6DQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBUaGVzZSBsaW5lcyBkbyBO
T1QgcmVmZXIgdG8gdGhlIElOVHggSVJRKHMpIGJ1dCB0aGUNCj4gPiA+ID4gPiA+PiBjb250cm9s
bGVyIGludGVybmFsICJldmVudHMiIChlcnJvcnMgZXRjKS4gUGxlYXNlIHNlZSB0aGlzDQo+ID4g
PiA+ID4gPj4gbG9nIGZvciBJTlR4IG9uIG15IFZlcnNhbCBwbGF0Zm9ybSB3aXRoIHBjaV9pcnFk
X2ludHhfeGxhdGUgYWRkZWQ6DQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiAgIDI0OiAgICAg
ICAgICAwICAgICAgICAgIDAgIHBsX2RtYTpSQy1FdmVudCAgIDAgTGV2ZWwgICAgIExJTktfRE9X
Tg0KPiA+ID4gPiA+ID4+ICAgMjU6ICAgICAgICAgIDAgICAgICAgICAgMCAgcGxfZG1hOlJDLUV2
ZW50ICAgMyBMZXZlbCAgICAgSE9UX1JFU0VUDQo+ID4gPiA+ID4gPj4gICAyNjogICAgICAgICAg
MCAgICAgICAgICAwICBwbF9kbWE6UkMtRXZlbnQgICA4IExldmVsICAgICBDRkdfVElNRU9VVA0K
PiA+ID4gPiA+ID4+ICAgMjc6ICAgICAgICAgIDAgICAgICAgICAgMCAgcGxfZG1hOlJDLUV2ZW50
ICAgOSBMZXZlbCAgICAgQ09SUkVDVEFCTEUNCj4gPiA+ID4gPiA+PiAgIDI4OiAgICAgICAgICAw
ICAgICAgICAgIDAgIHBsX2RtYTpSQy1FdmVudCAgMTAgTGV2ZWwgICAgIE5PTkZBVEFMDQo+ID4g
PiA+ID4gPj4gICAyOTogICAgICAgICAgMCAgICAgICAgICAwICBwbF9kbWE6UkMtRXZlbnQgIDEx
IExldmVsICAgICBGQVRBTA0KPiA+ID4gPiA+ID4+ICAgMzA6ICAgICAgICAgIDAgICAgICAgICAg
MCAgcGxfZG1hOlJDLUV2ZW50ICAyMCBMZXZlbCAgICAgU0xWX1VOU1VQUA0KPiA+ID4gPiA+ID4+
ICAgMzE6ICAgICAgICAgIDAgICAgICAgICAgMCAgcGxfZG1hOlJDLUV2ZW50ICAyMSBMZXZlbCAg
ICAgU0xWX1VORVhQDQo+ID4gPiA+ID4gPj4gICAzMjogICAgICAgICAgMCAgICAgICAgICAwICBw
bF9kbWE6UkMtRXZlbnQgIDIyIExldmVsICAgICBTTFZfQ09NUEwNCj4gPiA+ID4gPiA+PiAgIDMz
OiAgICAgICAgICAwICAgICAgICAgIDAgIHBsX2RtYTpSQy1FdmVudCAgMjMgTGV2ZWwgICAgIFNM
Vl9FUlJQDQo+ID4gPiA+ID4gPj4gICAzNDogICAgICAgICAgMCAgICAgICAgICAwICBwbF9kbWE6
UkMtRXZlbnQgIDI0IExldmVsICAgICBTTFZfQ01QQUJUDQo+ID4gPiA+ID4gPj4gICAzNTogICAg
ICAgICAgMCAgICAgICAgICAwICBwbF9kbWE6UkMtRXZlbnQgIDI1IExldmVsICAgICBTTFZfSUxM
QlVSDQo+ID4gPiA+ID4gPj4gICAzNjogICAgICAgICAgMCAgICAgICAgICAwICBwbF9kbWE6UkMt
RXZlbnQgIDI2IExldmVsICAgICBNU1RfREVDRVJSDQo+ID4gPiA+ID4gPj4gICAzNzogICAgICAg
ICAgMCAgICAgICAgICAwICBwbF9kbWE6UkMtRXZlbnQgIDI3IExldmVsICAgICBNU1RfU0xWRVJS
DQo+ID4gPiA+ID4gPj4gICAzODogICAgICAgICA5NCAgICAgICAgICAwICBwbF9kbWE6UkMtRXZl
bnQgIDE2IExldmVsICAgICA4NDAwMDAwMC5heGktcGNpZQ0KPiA+ID4gPiA+ID4+ICAgMzk6ICAg
ICAgICAgOTQgICAgICAgICAgMCAgcGxfZG1hOklOVHggICAwIExldmVsICAgICBudm1lMHEwLCBu
dm1lMHExDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBUaGUgbGFzdCBsaW5lIHNob3dzIHRo
ZSBJTlR4IElSUXMgaGVyZSAoJ3BsX2RtYTpJTlR4JyB2cw0KPiA+ID4gPiA+ID4+ICdwbF9kbWE6
UkMtIEV2ZW50JykuDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBNb3JlIGJlbG93Li4uDQo+
ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+Pj4+Pj4+Pg0KPiA+ID4gPiA+ID4+Pj4+Pj4+IENoYW5n
ZXMgc2luY2UgdjE6Og0KPiA+ID4gPiA+ID4+Pj4+Pj4+IC0gRml4ZWQgY29tbWl0IG1lc3NhZ2Ug
cGVyIHJldmlld2VyJ3MgY29tbWVudHMNCj4gPiA+ID4gPiA+Pj4+Pj4+Pg0KPiA+ID4gPiA+ID4+
Pj4+Pj4+IEZpeGVzOiA4ZDc4NjE0OWQ3OGMgKCJQQ0k6IHhpbGlueC14ZG1hOiBBZGQgWGlsaW54
IFhETUENCj4gPiA+ID4gPiA+Pj4+Pj4+PiBSb290IFBvcnQgZHJpdmVyIikNCj4gPiA+ID4gPiA+
Pj4+Pj4+PiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZw0KPiA+ID4gPiA+ID4+Pj4+Pj4+IFNp
Z25lZC1vZmYtYnk6IFJhdmkgS3VtYXIgQmFuZGkgPHJhdmliQGFtYXpvbi5jb20+DQo+ID4gPiA+
ID4gPj4+Pj4+Pg0KPiA+ID4gPiA+ID4+Pj4+Pj4gSGkgUmF2aSwgb2J2aW91c2x5IHlvdSB0ZXN0
ZWQgdGhpcywgYnV0IEkgZG9uJ3Qga25vdyBob3cNCj4gPiA+ID4gPiA+Pj4+Pj4+IHRvIHJlY29u
Y2lsZSB0aGlzIHdpdGggU3RlZmFuJ3MgSU5UeCBmaXggYXQNCj4gPiA+ID4gPiA+Pj4+Pj4+IGh0
dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNTEwMjExNTQzMjIuOTczNjQwLTEtDQo+ID4gPiA+
ID4gc3RlZmFuLnJvZXNlQG0NCj4gPiA+ID4gPiA+Pj4+Pj4+IGFpbGJveC5vcmcNCj4gPiA+ID4g
PiA+Pj4+Pj4+DQo+ID4gPiA+ID4gPj4+Pj4+PiBEb2VzIFN0ZWZhbidzIGZpeCBuZWVkIHRvIGJl
IHNxdWFzaGVkIGludG8gdGhpcyBwYXRjaD8NCj4gPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4gPiA+
Pj4+Pj4gU3VyZSwgd2UgY2FuIHNxdWFzaCBTdGVmYW7igJlzIGZpeCBpbnRvIHRoaXMuDQo+ID4g
PiA+ID4gPj4+Pj4NCj4gPiA+ID4gPiA+Pj4+PiBJIGtub3cgd2UgKmNhbiogc3F1YXNoIHRoZW0u
DQo+ID4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPiA+Pj4+PiBJIHdhbnQgdG8ga25vdyB3aHkgdGhp
bmdzIHdvcmtlZCBmb3IgeW91IGFuZCBTdGVmYW4gd2hlbg0KPiA+ID4gPiA+ID4+Pj4+IHRoZXkN
Cj4gPiA+ID4gPiA+Pj4+PiAqd2VyZW4ndCogc3F1YXNoZWQ6DQo+ID4gPiA+ID4gPj4+Pj4NCj4g
PiA+ID4gPiA+Pj4+PiAgICAtIFdoeSBkaWQgSU5UeCB3b3JrIGZvciB5b3UgZXZlbiB3aXRob3V0
IFN0ZWZhbidzIHBhdGNoLiAgRGlkIHlvdQ0KPiA+ID4gPiA+ID4+Pj4+ICAgICAgZ2V0IElOVHgg
aW50ZXJydXB0cyBidXQgbm90IHRoZSByaWdodCBvbmVzLCBlLmcuLCBkaWQgdGhlIGRldmljZQ0K
PiA+ID4gPiA+ID4+Pj4+ICAgICAgc2lnbmFsIElOVEEgYnV0IGl0IHdhcyByZWNlaXZlZCBhcyBJ
TlRCPw0KPiA+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPiA+Pj4+IEkgc2F3IHRoYXQgaW50ZXJydXB0
cyB3ZXJlIGJlaW5nIGdlbmVyYXRlZCBieSB0aGUgZW5kcG9pbnQNCj4gPiA+ID4gPiA+Pj4+IGRl
dmljZSwgYnV0IEkgZGlkbuKAmXQgc3BlY2lmaWNhbGx5IGNoZWNrIGlmIHRoZXkgd2VyZQ0KPiA+
ID4gPiA+ID4+Pj4gY29ycmVjdGx5IHRyYW5zbGF0ZWQgaW4gdGhlIGNvbnRyb2xsZXIuIEkgbm90
aWNlZCB0aGF0IHRoZQ0KPiA+ID4gPiA+ID4+Pj4gbmV3IGRyaXZlciB3YXNuJ3QgZXhwbGljaXRs
eSBlbmFibGluZyB0aGUgaW50ZXJydXB0cywgc28gbXkNCj4gPiA+ID4gPiA+Pj4+IGZpcnN0IGFw
cHJvYWNoIHdhcyB0byBlbmFibGUgdGhlbSwgd2hpY2ggaGVscGVkIHRoZSBpbnRlcnJ1cHRzIGZs
b3cNCj4gdGhyb3VnaC4NCj4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+Pj4gT0ssIEknbGwgYXNz
dW1lIHRoZSBpbnRlcnJ1cHRzIGhhcHBlbmVkIGJ1dCB0aGUgZHJpdmVyIG1pZ2h0DQo+ID4gPiA+
ID4gPj4+IG5vdCBoYXZlIGJlZW4gYWJsZSB0byBoYW5kbGUgdGhlbSBjb3JyZWN0bHksIGUuZy4s
IGl0IHdhcw0KPiA+ID4gPiA+ID4+PiBwcmVwYXJlZCBmb3IgSU5UQSBidXQgZ290IElOVEIgb3Ig
c2ltaWxhci4NCj4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+Pj4+PiAgICAtIFdoeSBkaWQgU3Rl
ZmFuJ3MgcGF0Y2ggd29yayBmb3IgaGltIGV2ZW4gd2l0aG91dCB5b3VyIHBhdGNoLg0KPiA+ID4g
SG93DQo+ID4gPiA+ID4gPj4+Pj4gICAgICBjb3VsZCBTdGVmYW4ncyBJTlR4IHdvcmsgd2l0aG91
dCB0aGUgQ1NSIHdyaXRlcyB0byBlbmFibGUNCj4gPiA+ID4gPiA+Pj4+PiAgICAgIGludGVycnVw
dHM/DQo+ID4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ID4+Pj4gSSdtIG5vdCBlbnRpcmVseSBzdXJl
IGlmIHRoZXJlIGFyZSBhbnkgb3RoZXIgZGVwZW5kZW5jaWVzDQo+ID4gPiA+ID4gPj4+PiBpbiB0
aGUgRlBHQSBiaXRzdHJlYW0uIEknbGwgaW52ZXN0aWdhdGUgZnVydGhlciBhbmQgZ2V0IGJhY2sg
dG8geW91Lg0KPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4+PiBTdGVmYW4gY2xhcmlmaWVkIGlu
IGEgcHJpdmF0ZSBtZXNzYWdlIHRoYXQgaGUgaGFkIGFwcGxpZWQNCj4gPiA+ID4gPiA+Pj4geW91
ciBwYXRjaCBmaXJzdCwgc28gdGhpcyBteXN0ZXJ5IGlzIHNvbHZlZC4NCj4gPiA+ID4gPiA+Pg0K
PiA+ID4gPiA+ID4+IFllcy4gSSBhcHBsaWVkIFJhdmkncyBwYXRjaCBmaXJzdCBhbmQgc3RpbGwg
Z290IG5vIElOVHgNCj4gPiA+ID4gPiA+PiBkZWxpdmVyZWQgdG8gdGhlIG52bWUgZHJpdmVyLiBU
aGF0J3Mgd2hhdCBtZSB0cmlnZ2VyZWQgdG8gZGlnDQo+ID4gPiA+ID4gPj4gZGVlcGVyIGhlcmUg
YW5kIHJlc3VsdGVkIGluIHRoaXMgdjIgcGF0Y2ggd2l0aCBwY2lfaXJxZF9pbnR4X3hsYXRlIGFk
ZGVkLg0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gQlRXOg0KPiA+ID4gPiA+ID4+IEkgcmUt
dGVzdGVkIGp1c3Qgbm93IHcvbyBSYXZpJ3MgcGF0Y2ggYW5kIHRoZSBJTlR4IHdvcmtlZC4NCj4g
PiA+ID4gPiA+PiBTdGlsbCBJIHRoaW5rIFJhdmkncyBwYXRjaCBpcyB2YWxpZCBhbmQgc2hvdWxk
IGJlIGFwcGxpZWQuLi4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBIb3cgY29tZSBJTlR4IGlz
IHdvcmtpbmcgd2l0aG91dCB0aGUgcGF0Y2ggZnJvbSBSYXZpIHdoaWNoDQo+ID4gPiA+ID4gPiBl
bmFibGVkIElOVHggcm91dGluZyBpbiB0aGUgY29udHJvbGxlcj8gV2FzIGl0IGVuYWJsZWQgYnkg
ZGVmYXVsdCBpbiB0aGUNCj4gaGFyZHdhcmU/DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBZZXMsIHRo
aXMgaXMgbXkgYmVzdCBndWVzcyByaWdodCBub3cuIEkgY291bGQgZG91YmxlLWNoZWNrIGhlcmUs
DQo+ID4gPiA+ID4gYnV0IElNSE8gaXQgbWFrZXMgc2Vuc2UgdG8gZW5hYmxlIGl0ICJtYW51YWxs
eSIgYXMgZG9uZSB3aXRoDQo+ID4gPiA+ID4gUmF2aSdzIHBhdGNoIHRvIG5vdCByZWx5IG9uIHRo
aXMgZGVmYXVsdCBzZXR1cCBhdCBhbGwuDQo+ID4gPiA+IEhhcmR3YXJlIGRvZXNuJ3QgZW5hYmxl
IHRoaXMgYml0cyBieSBkZWZhdWx0LCBJTlR4IGRpZG4ndCB3b3JrDQo+ID4gPiA+IHNpbmNlIHRo
ZXJlIGlzIGENCj4gPiA+IG1pc3MgbWF0Y2ggaW4gdGhlIERUIHByb3BlcnR5IHdoaWNoIGRvZXNu
J3QgcmVxdWlyZSBwY2lfaXJxZF9pbnR4X3hsYXRlLg0KPiA+ID4gPg0KPiA+ID4gPiBpbnRlcnJ1
cHQtbWFwID0gPDAgMCAwIDEgJnBjaWVfaW50Y18wIDA+LA0KPiA+ID4gPiA8MCAwIDAgMiAmcGNp
ZV9pbnRjXzAgMT4sDQo+ID4gPiA+IDwwIDAgMCAzICZwY2llX2ludGNfMCAyPiwNCj4gPiA+ID4g
PDAgMCAwIDQgJnBjaWVfaW50Y18wIDM+Ow0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IE9rLiBUaGlz
IG1ha2VzIG1lIGJlbGlldmUgdGhhdCB3ZSBkbyBub3QgbmVlZCBTdGVmYW4ncyBwYXRjaCBbMV0g
YW5kDQo+ID4gPiBuZWVkIGp1c3QgdGhpcyBwYXRjaCBmcm9tIFJhdmkuDQo+ID4gPg0KPiA+ID4g
LSBNYW5pDQo+ID4gPg0KPiA+ID4gWzFdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xpbnV4LXBj
aS8yMDI1MTAyMTE1NDMyMi45NzM2NDAtMS0NCj4gPiA+IHN0ZWZhbi5yb2VzZUBtYWlsYm94Lm9y
Zy8NCj4gPg0KPiA+IFdlIGV2ZW4gZG9u4oCZdCBuZWVkIHJhdmkgcGF0Y2gsIGFzIHdlIGhhdmUg
dGVzdGVkIHRoaXMgYXQgb3VyIGVuZCBpdA0KPiA+IHdvcmtzIGZpbmUgYnkganVzdCB1cGRhdGlu
ZyBpbnRlcnJ1cHQtbWFwIFByb3BlcnR5LiBXZSBuZWVkIHRvIG5vdyB1bmRlcnN0YW5kIHRoZQ0K
PiBkaWZmZXJlbmNlIGluIGRlc2lnbi4NCj4NCj4gT2ssIHBsZWFzZSBsZXQgdXMga25vdyB3aXRo
IHlvdXIgZmluZGluZ3MuIEluIHRoZSBtZWFudGltZSwgSSdsbCBrZWVwIFJhdmkncyBwYXRjaCBp
bg0KPiB0cmVlLCBhcyBpdCBzZWVtcyB0byBiZSByZXF1aXJlZCBvbiBoaXMgc2V0dXAuDQo+DQoN
CldlIHRlc3RlZCBvbiBMaW51eCB2ZXJzaW9uIDYuMTIuNDAgd2l0aG91dCBhcHBseWluZyBlaXRo
ZXIgU3RlZmFuJ3Mgb3IgUmF2aSdzIHBhdGNoZXMuDQpJbnN0ZWFkLCB3ZSBhcHBsaWVkIG9ubHkg
dGhlIGZvbGxvd2luZyBpbnRlcnJ1cHQtbWFwIHByb3BlcnR5IGNoYW5nZSAoZW50cmllcyAwLDEs
MiwzKSBhbmQgdmVyaWZpZWQgdGhhdA0KbGVnYWN5IGludGVycnVwdHMgYXJlIHdvcmtpbmcgY29y
cmVjdGx5Lg0KDQppbnRlcnJ1cHQtbWFwID0gPDAgMCAwIDEgJnBjaWVfaW50Y18wIDA+LA0KPDAg
MCAwIDIgJnBjaWVfaW50Y18wIDE+LA0KPDAgMCAwIDMgJnBjaWVfaW50Y18wIDI+LA0KPDAgMCAw
IDQgJnBjaWVfaW50Y18wIDM+Ow0KDQozODogICAgICAgMTE0MyAgICAgICAgICAwICBwbF9kbWE6
UkMtRXZlbnQgIDE2IExldmVsICAgICA4MDAwMDAwMC5heGktcGNpZQ0KMzk6ICAgICAgIDExNDMg
ICAgICAgICAgMCAgcGxfZG1hOklOVHggICAwIExldmVsICAgICBudm1lMHEwLCBudm1lMHExDQoN
ClRoYW5rcywNClNhaSBLcmlzaG5hDQo=


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188983-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id iM1oKJXL+GjLqjwAYBR5ng
	(envelope-from <stable+bounces-188983-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:18:29 +0000
Return-path: <stable+bounces-188983-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:18:29 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188983-hi=josie.lol@vger.kernel.org>)
	id 1vBXnR-0000000GzTj-0pp0
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:18:29 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2E6A45679EA
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:16:22 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 430E6313271;
	Wed, 22 Oct 2025 12:16:19 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b="iSyD2eAC";
	dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="gkayi/hY"
X-Original-To: stable@vger.kernel.org
Received: from fout-a3-smtp.messagingengine.com (fout-a3-smtp.messagingengine.com [103.168.172.146])
	(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 21634285074;
	Wed, 22 Oct 2025 12:16:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.146
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761135379; cv=none; b=hYUj3UbPZvpVBzAx4ruUb26YbVIYmNeCzVgUg3BEpjQEYcBrykKsxw+BitKnfnAWaB7QsivCtcqn6QYfnFX5thB+JCtzaCcpUgZARQnyiG1eHJKtr7iel/LzbfVkAYtGuwWGXelV5s96Rl2Mh2IHjvpmeS+bGvWF3Dc+txKMdiY=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761135379; c=relaxed/simple;
	bh=cgt7CLQjSoyB4oOe7l2CcWFiQDCWV6sN2Ax5llb7nBI=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=iJ4zY2Pk/2jpSHEqvIujYTzWuz1r7a2i5w3kJMduQdl2d4T4GwEx2BGSALdZBEg9a3Pqlw13oGTBNn5zfXihW4yf5/IZEnN86B6yFuwnLPG9A/AQJ9nXcVooRMOoIhUs5t19kpvdKYLUu4/C+mWHKqmixRMpINwFH31gkIMuu0M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se; spf=pass smtp.mailfrom=ragnatech.se; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b=iSyD2eAC; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=gkayi/hY; arc=none smtp.client-ip=103.168.172.146
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ragnatech.se
Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45])
	by mailfout.phl.internal (Postfix) with ESMTP id 2694EEC0064;
	Wed, 22 Oct 2025 08:16:16 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
  by phl-compute-05.internal (MEProxy); Wed, 22 Oct 2025 08:16:16 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h=
	cc:cc:content-transfer-encoding:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1761135376;
	 x=1761221776; bh=FajAkPMbd4+2ubuOtdzYe8+OKPtN1c8032SY+wXAvDY=; b=
	iSyD2eACEzRF6VDWame1A5MHviX4LWMvaxRqBmr1pgb33aceXZfLqHU/ISr5i+tT
	qtN+n5sP9ZZLSCDiVRU/Rc/k2+esSNRKCCGraLclmrAIc0BzjfbCT8/H0wWyN+NU
	pCR7Qm9yQfThGY2m2HmIbKfbaCKGNCOv8uDoM/3B8Bg1hyMYoWzxVzsgNHQeJeFX
	7rl3VNuUXA+BzDkiI35MxMqKTLZRwN6jD08HR3ZSwiB2nipZ5wPaum+6GZpL/2LO
	ppg5li9qCS/IKHmEogzNRTf/tLuErnsrepjDxyRqSWJSla+jG0W2JyIG02cU3xqa
	kXYfAcKae9/KGNh3oPXcjQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:feedback-id:feedback-id
	:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1761135376; x=
	1761221776; bh=FajAkPMbd4+2ubuOtdzYe8+OKPtN1c8032SY+wXAvDY=; b=g
	kayi/hYyHMifyC8iIhm4lQ/zTyJ4NhXv/m8BY0gEuzF7k3rfbZAcGrOFHuX03Gwd
	OIYyKa+y0Q3i6PUO3Zvc/YH+/4FMYjB/cjlxwY1gK1TgyiYx+MpDdAMgw+GqUYtp
	nd5XF9aMlgG+L4L8jgzUc8nd3r9plXaZWukysSoB7pS/5tj+PRvhv+tTDbF7YLnt
	y/MkurKZM25GaKVrS566CI/vApKIa6PW+1zI8d4KuNVK9KkYWcX01XMw9bN9SjUO
	BIEq/K0nFf8oWhkR/5TW1OcP+bdFQV8VVX6mvk2UHP7jsvQQNvf9SbNMdt7ZkV+Z
	QqRjrhKHaa6mDO5Gp74ew==
X-ME-Sender: <xms:D8v4aNEdLghyyTWWIoz-fduLwSRHBg1W-HyvnhTS0oyTE3-6Yd7l2Q>
    <xme:D8v4aDT2UOHVhQdxPd29RQimS1qQ552-p95GhdSlCVF-vCgSGh_xpP6yxtq1zwbDy
    YcDKyeYtTQPSVBsghwA6P-cQjQDR2O5W4crG8a0qAo8h3tQdZEWlQ4>
X-ME-Received: <xmr:D8v4aPeRSJv-GU6Sus5cMAVIbRKRq0j5Zl0lffpZ6IEwsQijlgfoLP9jTNZ4l4WsrmoRd9NP2k3dqJQJAICPRQ61LbaCzrc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddugeefheeiucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhklhgr
    shcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhnrg
    htvggthhdrshgvqeenucggtffrrghtthgvrhhnpeevteegtddvvdfhtdekgefhfeefheet
    heekkeegfeejudeiudeuleegtdehkeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhn
    rghtvggthhdrshgvpdhnsggprhgtphhtthhopeduiedpmhhouggvpehsmhhtphhouhhtpd
    hrtghpthhtohepphhrrggshhgrkhgrrhdrtghsvghnghhgsehgmhgrihhlrdgtohhmpdhr
    tghpthhtohepphgruhhlsehpsggrrhhkvghrrdguvghvpdhrtghpthhtoheprghnughrvg
    ifodhnvghtuggvvheslhhunhhnrdgthhdprhgtphhtthhopegurghvvghmsegurghvvghm
    lhhofhhtrdhnvghtpdhrtghpthhtohepvgguuhhmrgiivghtsehgohhoghhlvgdrtghomh
    dprhgtphhtthhopehkuhgsrgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepphgrsggv
    nhhisehrvgguhhgrthdrtghomhdprhgtphhtthhopehgvggvrhhtodhrvghnvghsrghsse
    hglhhiuggvrhdrsggvpdhrtghpthhtohepmhhithhsuhhhihhrohdrkhhimhhurhgrrdhk
    tgesrhgvnhgvshgrshdrtghomh
X-ME-Proxy: <xmx:D8v4aBjaP8DysEkFTY6jndxGe_WRCn6GI6dMIPMGeL34M4BWQ26okA>
    <xmx:D8v4aKION9Fh9EbRfbc9m-QiGIHmbd-iRS0GQDbpoaG-hOiVj1WMTQ>
    <xmx:D8v4aOGFM86KB_ajjLJsW8NLemQsDZ-3zi36hUbXEViRApSedQ-__g>
    <xmx:D8v4aA3DhWIAmcR5qaV8zGi49T_gFZlBVTDlcCQ5ew_yxAEI4eqokg>
    <xmx:EMv4aNy87RC6RJe0MigPyc-lHMrxy5gYkhDiktWYQfk8Ads_XrkqA7y5>
Feedback-ID: i80c9496c:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 22 Oct 2025 08:16:15 -0400 (EDT)
Date: Wed, 22 Oct 2025 14:16:14 +0200
From: Niklas =?utf-8?Q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>
To: Prabhakar <prabhakar.csengg@gmail.com>
Cc: Paul Barker <paul@pbarker.dev>, Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Mitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>,
	netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org, Biju Das <biju.das.jz@bp.renesas.com>,
	Fabrizio Castro <fabrizio.castro.jz@renesas.com>,
	Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 4/4] net: ravb: Ensure memory write completes before
 ringing TX doorbell
Message-ID: <20251022121614.GE1694476@ragnatech.se>
References: <20251017151830.171062-1-prabhakar.mahadev-lad.rj@bp.renesas.com>
 <20251017151830.171062-5-prabhakar.mahadev-lad.rj@bp.renesas.com>
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251017151830.171062-5-prabhakar.mahadev-lad.rj@bp.renesas.com>
X-DKIM: signer='ragnatech.se' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-DKIM: signer='messagingengine.com' status='pass' reason=''
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: messagingengine.com]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [139.178.88.99 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: -18

Hello Lad,

Thanks for your work.

On 2025-10-17 16:18:30 +0100, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> Add a final dma_wmb() barrier before triggering the transmit request
> (TCCR_TSRQ) to ensure all descriptor and buffer writes are visible to
> the DMA engine.
> 
> According to the hardware manual, a read-back operation is required
> before writing to the doorbell register to guarantee completion of
> previous writes. Instead of performing a dummy read, a dma_wmb() is
> used to both enforce the same ordering semantics on the CPU side and
> also to ensure completion of writes.
> 
> Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper")
> Cc: stable@vger.kernel.org
> Co-developed-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> ---
> v1->v2:
> - New patch added to separate out the memory barrier change
>   before ringing the doorbell.
> ---
>  drivers/net/ethernet/renesas/ravb_main.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> index 0e40001f64b4..c3fc15f9ec85 100644
> --- a/drivers/net/ethernet/renesas/ravb_main.c
> +++ b/drivers/net/ethernet/renesas/ravb_main.c
> @@ -2232,6 +2232,14 @@ static netdev_tx_t ravb_start_xmit(struct sk_buff *skb, struct net_device *ndev)
>  		dma_wmb();
>  		desc->die_dt = DT_FSINGLE;
>  	}
> +
> +	/* Before ringing the doorbell we need to make sure that the latest
> +	 * writes have been committed to memory, otherwise it could delay
> +	 * things until the doorbell is rang again.
> +	 * This is in replacement of the read operation mentioned in the HW

nit: I would spell out hardware here, if you do a v3.

> +	 * manuals.
> +	 */
> +	dma_wmb();
>  	ravb_modify(ndev, TCCR, TCCR_TSRQ0 << q, TCCR_TSRQ0 << q);
>  
>  	priv->cur_tx[q] += num_tx_desc;
> -- 
> 2.43.0
> 

-- 
Kind Regards,
Niklas Söderlund


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188984-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id kMmILN7N+GhySDwAYBR5ng
	(envelope-from <stable+bounces-188984-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:28:14 +0000
Return-path: <stable+bounces-188984-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:28:14 +0000
Received: from am.mirrors.kernel.org ([147.75.80.249])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188984-hi=josie.lol@vger.kernel.org>)
	id 1vBXws-0000000HHjK-1QoO
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:28:14 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by am.mirrors.kernel.org (Postfix) with ESMTPS id 5C96C18C2CB5
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:28:37 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 2C98B3431F4;
	Wed, 22 Oct 2025 12:28:08 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b="AOsjwj61"
X-Original-To: stable@vger.kernel.org
Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5603A33F8BD
	for <stable@vger.kernel.org>; Wed, 22 Oct 2025 12:28:05 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761136088; cv=none; b=t4BLekuu/xcN2w/wD3eZqho97T36Jo0E94hzuREWXHIv+uWgSrobh/N8a+fYKmMDMMtDL7EN6guhpsVybI7iMrNEANgs3FIgKTWsPLm1BQkZ3GgEEwdU1Ir7a4TXHi44jDNHWFGt65U0OQYQ6F3QGTyItt5/8DQbJtDV/Bsa9gw=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761136088; c=relaxed/simple;
	bh=Iejn0pWjNdBJA/skFH2+V/JvIaDlDJ3P1ZCkLVxJQvY=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=ExtWyG5YOM1eIatjXBNlIcZ3J7yd6CV/EciU7ek/f3dpuqCpKdJ7tiSiMEhwotmtAuf6PnoyLxOlPEulu5IgMnEU4ob7TIivrhkwRVp0dPKf3+TxTZEIlt8so1AEDyz3Ijuqp1QoDqCfHSDojJnzTTS2o5p4tR0Vx3O/otloR1g=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com; spf=pass smtp.mailfrom=googlemail.com; dkim=pass (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b=AOsjwj61; arc=none smtp.client-ip=209.85.221.47
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=googlemail.com
Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-42701aa714aso4102601f8f.3
        for <stable@vger.kernel.org>; Wed, 22 Oct 2025 05:28:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=googlemail.com; s=20230601; t=1761136083; x=1761740883; darn=vger.kernel.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WFbuSQX+6YT+HVJbPcsJSl2m1jB0KH5oX7eFGxAFFNQ=;
        b=AOsjwj61kMGZzbmE1tQnMGq5K/0JJ982cQIQI9j41XGJLYVjYXbL4SyedjwvK4pja5
         GCp3K2vN3S6bo3lkHsvcYgm4UzeHqpIc9+p7TX5WzAZw16ue37frIp8cwa+olGG24DWz
         ZGKoScaQi96uYIa786DqMlV2YoSqSPcz6Qt5/yFXaYO0QZ7O+upi82fJtLVveA+0PMAE
         Qhj9DdrDG2tHoBtVuxd3KjBfXCV1nedA+6hnCS8CpWNdYmlTwK1KjQBANCL5uiN8wudB
         CqyJOvA8JlqVUEkQwzoUgo0zceRFaZa90zvYAdqc7zdomid7VU9xsNkN3ifVU1LE8Q6X
         SHRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761136083; x=1761740883;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WFbuSQX+6YT+HVJbPcsJSl2m1jB0KH5oX7eFGxAFFNQ=;
        b=T0GoK0I9Keue67UjjAWH+uQph1v3qR74yuIo/DPF/XYjbkXH2Cj+YTob6GMI/wfFpr
         dAXu5p5xUct+iYo9r6qUV2e6isdBgFamxf3joSuqiJqnlAFJ0oUB1FoLmrJaYbEwLSnB
         lu2IR8znmO65PT1FGP1X6km/2OFUeNWIvfWfqfPj0Hr2f7njp0NDYXLE45MvdqmdbvlE
         ELZjF7il/KFNS/mL3ySp6/hGaP95VxYxGYK5KzpBDDJdqMctna/7Nc+iE+hrg9dW51VC
         cmutNPn+iBI1o0ijz+z9/fqp110KMubQACbZNWMRvxvjHpDnWG+pw7kFHsI3tAj26nw6
         8iUA==
X-Forwarded-Encrypted: i=1; AJvYcCWSRuDiz4S9JU4/0n05q3nOBhC76Gs3EfXBSe4MSVAQ1vd6YEjiZB6ccJ55DNlztkLZhteMv4E=@vger.kernel.org
X-Gm-Message-State: AOJu0Yw61SsHrAjiKLUA44MJMKof2wZPH6S+lb11/a9spV5xGZFlwoNJ
	9+HlYXaHHtDAgbk+KtDiHfdkPfbJnJuOz0OycQS3cGMGsEkB/19EBwY=
X-Gm-Gg: ASbGncsWJtwCI5Nfu3ZG0lOQFsFPe/T86eCxL55gpacwyku20KpQwNY/c919DMxjQB+
	r1iVRAT2gHNdU0JzMOPhwlCz4hKuNGAJKTIRjYsdca6VFZc+clXTpS0Y6YUflN9ckzOAAGxNgGj
	UI71NBJdOL9q+lfHTAnyxJxyE8cROlY70ZFeuB9g2pWNF0STaWU4wh+Vtkg7QHGO3g6xaC288bu
	EZHr5GK6xFGvUZk64nROrqRokcbW3pEsP71/8R/fkcDMm6yBtVuvOTOfz6mjYAN6kpKyQZ5ixlo
	6zpMkmF/KPL1uWYflrpegLNZog8mnvAaNtF/BdyQqirRENw0SfQEpbzDh0HodF3qZ+B0uoH2v5+
	zJzR65Xh/8lSLEVVz2uqbrCeCAEycxn3zF5bEnn60czB8OU1I0slyVRpTZeXLUzCPEYYdLz43fR
	fymIB372wUGS8XotK9sXPsaEx8hytc2YfYEFeOaPzgqJoDAIDrGGI0FfoVoLzPnQ==
X-Google-Smtp-Source: AGHT+IFzalpz4I7N4GW5iAQvE1IHT4hcwYoMkH4rdlEMLAfJYgGKj+R8HqkyYQFmUVrdcF3vsI9GFg==
X-Received: by 2002:a05:6000:220c:b0:426:fd63:bbc0 with SMTP id ffacd0b85a97d-42704d786c2mr16326022f8f.27.1761136083310;
        Wed, 22 Oct 2025 05:28:03 -0700 (PDT)
Received: from [192.168.1.3] (p5b057850.dip0.t-ipconnect.de. [91.5.120.80])
        by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-427f00ce3aesm25354082f8f.48.2025.10.22.05.28.02
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Wed, 22 Oct 2025 05:28:02 -0700 (PDT)
Message-ID: <7965a547-2267-4f09-af62-0b81a2d8dae7@googlemail.com>
Date: Wed, 22 Oct 2025 14:28:02 +0200
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
User-Agent: Betterbird (Windows)
Subject: Re: [PATCH 6.17 000/160] 6.17.5-rc2 review
Content-Language: de-DE
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, stable@vger.kernel.org
Cc: patches@lists.linux.dev, linux-kernel@vger.kernel.org,
 torvalds@linux-foundation.org, akpm@linux-foundation.org,
 linux@roeck-us.net, shuah@kernel.org, patches@kernelci.org,
 lkft-triage@lists.linaro.org, pavel@denx.de, jonathanh@nvidia.com,
 f.fainelli@gmail.com, sudipm.mukherjee@gmail.com, rwarsow@gmx.de,
 conor@kernel.org, hargar@microsoft.com, broonie@kernel.org, achill@achill.org
References: <20251022053328.623411246@linuxfoundation.org>
From: Peter Schneider <pschneider1968@googlemail.com>
In-Reply-To: <20251022053328.623411246@linuxfoundation.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-DKIM: signer='googlemail.com' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: googlemail.com]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [147.75.80.249 listed in list.dnswl.org]
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider
                             [pschneider1968[at]googlemail.com]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
  0.0 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and
                             EnvelopeFrom freemail headers are
                             different
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

Am 22.10.2025 um 07:34 schrieb Greg Kroah-Hartman:
> This is the start of the stable review cycle for the 6.17.5 release.
> There are 160 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.

Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No more screen problems, no dmesg oddities or 
regressions found.

Tested-by: Peter Schneider <pschneider1968@googlemail.com>


Beste Grüße,
Peter Schneider

-- 
Climb the mountain not to plant your flag, but to embrace the challenge,
enjoy the air and behold the view. Climb it so you can see the world,
not so the world can see you.                    -- David McCullough Jr.

OpenPGP:  0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244
Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc
https://keys.mailvelope.com/pks/lookup?op=get&search=pschneider1968@googlemail.com
https://keys.mailvelope.com/pks/lookup?op=get&search=pschneider1968@gmail.com


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188985-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id AKqCMiXO+GimnzoAYBR5ng
	(envelope-from <stable+bounces-188985-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:29:25 +0000
Return-path: <stable+bounces-188985-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:29:25 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188985-hi=josie.lol@vger.kernel.org>)
	id 1vBXy1-0000000HJof-1HsE
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:29:25 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 3029A4064AF
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:29:24 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id C0986343214;
	Wed, 22 Oct 2025 12:29:20 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="D2gE3e0j"
X-Original-To: stable@vger.kernel.org
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 97AA33054E9;
	Wed, 22 Oct 2025 12:29:20 +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=1761136160; cv=none; b=cWvEsCA/maz7jAaD7vuqmuHeuUzfh5BD3kqpzIsw+8aBW6neJSMK2qwQ3ITtPRabGxSKO8C7lBFBTf7Fkcj91SQZLxdhT5uzMEKGe0V8wAawZSACF8I54t9ympN5C66v5IMDrLNhe5c1SwR+TqD/mf+ZEMonZPxZGndfUpecrk4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761136160; c=relaxed/simple;
	bh=PdoyPpVLI0h36WkddFGDMhxDoR224/S0wzMk/e+s7EQ=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=XcgsOWnRKgz4x/mEDlMT35dL0JdV3Uw03DQUrx5FZbLGxlgKxAkvygrjjIta8E5t6UdhUI5oByOcZ9qoLVescTXXyLr+HEPuHwV67VThzOmtvfsq1SY2ISnYmtH443Y33jfyWtPWuNamsskDxLUZfATANaIckVVx7a2EaDENZ7s=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=D2gE3e0j; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8241BC4CEE7;
	Wed, 22 Oct 2025 12:29:19 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1761136160;
	bh=PdoyPpVLI0h36WkddFGDMhxDoR224/S0wzMk/e+s7EQ=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=D2gE3e0jDJkOv+h3Rf5E8+Qk2ZZi1A/tuoc43i0LgWk5BoSoxLFzdQuBVE+0EFnjt
	 5Re9EPThjolOuOTVvwRQbkL06C4UdWwErLbRHUQOvXTbxnKZJpocP5k95uCXhnsesz
	 k+9U8USGyfq3V4Npp+4Qg2RvNfwDrLMvFIf1yF4E=
Date: Wed, 22 Oct 2025 14:29:17 +0200
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Niko Mauno <niko.mauno@vaisala.com>
Cc: stable@vger.kernel.org, patches@lists.linux.dev,
	Ian Rogers <irogers@google.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Athira Rajeev <atrajeev@linux.ibm.com>,
	Chun-Tse Shao <ctshao@google.com>,
	Howard Chu <howardchu95@gmail.com>, Ingo Molnar <mingo@redhat.com>,
	James Clark <james.clark@linaro.org>, Jiri Olsa <jolsa@kernel.org>,
	Kan Liang <kan.liang@linux.intel.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 5.15 136/276] perf test: Dont leak workload gopipe in
 PERF_RECORD_*
Message-ID: <2025102206-mauve-wizard-d875@gregkh>
References: <20251017145142.382145055@linuxfoundation.org>
 <20251017145147.447011793@linuxfoundation.org>
 <8c1c66c4-62dc-416a-b52e-314ce98fe474@vaisala.com>
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <8c1c66c4-62dc-416a-b52e-314ce98fe474@vaisala.com>
X-DKIM: signer='linuxfoundation.org' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linuxfoundation.org]
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [139.178.88.99 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
 -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender
SpamTally: Final spam score: -18

On Wed, Oct 22, 2025 at 03:08:36PM +0300, Niko Mauno wrote:
> On 10/17/25 17:53, Greg Kroah-Hartman wrote:
> > 5.15-stable review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Ian Rogers <irogers@google.com>
> > 
> > [ Upstream commit 48918cacefd226af44373e914e63304927c0e7dc ]
> > 
> > The test starts a workload and then opens events. If the events fail
> > to open, for example because of perf_event_paranoid, the gopipe of the
> > workload is leaked and the file descriptor leak check fails when the
> > test exits. To avoid this cancel the workload when opening the events
> > fails.
> > 
> > Before:
> > ```
> > $ perf test -vv 7
> >    7: PERF_RECORD_* events & perf_sample fields:
> >   --- start ---
> > test child forked, pid 1189568
> > Using CPUID GenuineIntel-6-B7-1
> >   ------------------------------------------------------------
> > perf_event_attr:
> >    type                    	   0 (PERF_TYPE_HARDWARE)
> >    config                  	   0xa00000000 (cpu_atom/PERF_COUNT_HW_CPU_CYCLES/)
> >    disabled                	   1
> >   ------------------------------------------------------------
> > sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8
> > sys_perf_event_open failed, error -13
> >   ------------------------------------------------------------
> > perf_event_attr:
> >    type                             0 (PERF_TYPE_HARDWARE)
> >    config                           0xa00000000 (cpu_atom/PERF_COUNT_HW_CPU_CYCLES/)
> >    disabled                         1
> >    exclude_kernel                   1
> >   ------------------------------------------------------------
> > sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8 = 3
> >   ------------------------------------------------------------
> > perf_event_attr:
> >    type                             0 (PERF_TYPE_HARDWARE)
> >    config                           0x400000000 (cpu_core/PERF_COUNT_HW_CPU_CYCLES/)
> >    disabled                         1
> >   ------------------------------------------------------------
> > sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8
> > sys_perf_event_open failed, error -13
> >   ------------------------------------------------------------
> > perf_event_attr:
> >    type                             0 (PERF_TYPE_HARDWARE)
> >    config                           0x400000000 (cpu_core/PERF_COUNT_HW_CPU_CYCLES/)
> >    disabled                         1
> >    exclude_kernel                   1
> >   ------------------------------------------------------------
> > sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8 = 3
> > Attempt to add: software/cpu-clock/
> > ..after resolving event: software/config=0/
> > cpu-clock -> software/cpu-clock/
> >   ------------------------------------------------------------
> > perf_event_attr:
> >    type                             1 (PERF_TYPE_SOFTWARE)
> >    size                             136
> >    config                           0x9 (PERF_COUNT_SW_DUMMY)
> >    sample_type                      IP|TID|TIME|CPU
> >    read_format                      ID|LOST
> >    disabled                         1
> >    inherit                          1
> >    mmap                             1
> >    comm                             1
> >    enable_on_exec                   1
> >    task                             1
> >    sample_id_all                    1
> >    mmap2                            1
> >    comm_exec                        1
> >    ksymbol                          1
> >    bpf_event                        1
> >    { wakeup_events, wakeup_watermark } 1
> >   ------------------------------------------------------------
> > sys_perf_event_open: pid 1189569  cpu 0  group_fd -1  flags 0x8
> > sys_perf_event_open failed, error -13
> > perf_evlist__open: Permission denied
> >   ---- end(-2) ----
> > Leak of file descriptor 6 that opened: 'pipe:[14200347]'
> >   ---- unexpected signal (6) ----
> > iFailed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> > Failed to read build ID for //anon
> >      #0 0x565358f6666e in child_test_sig_handler builtin-test.c:311
> >      #1 0x7f29ce849df0 in __restore_rt libc_sigaction.c:0
> >      #2 0x7f29ce89e95c in __pthread_kill_implementation pthread_kill.c:44
> >      #3 0x7f29ce849cc2 in raise raise.c:27
> >      #4 0x7f29ce8324ac in abort abort.c:81
> >      #5 0x565358f662d4 in check_leaks builtin-test.c:226
> >      #6 0x565358f6682e in run_test_child builtin-test.c:344
> >      #7 0x565358ef7121 in start_command run-command.c:128
> >      #8 0x565358f67273 in start_test builtin-test.c:545
> >      #9 0x565358f6771d in __cmd_test builtin-test.c:647
> >      #10 0x565358f682bd in cmd_test builtin-test.c:849
> >      #11 0x565358ee5ded in run_builtin perf.c:349
> >      #12 0x565358ee6085 in handle_internal_command perf.c:401
> >      #13 0x565358ee61de in run_argv perf.c:448
> >      #14 0x565358ee6527 in main perf.c:555
> >      #15 0x7f29ce833ca8 in __libc_start_call_main libc_start_call_main.h:74
> >      #16 0x7f29ce833d65 in __libc_start_main@@GLIBC_2.34 libc-start.c:128
> >      #17 0x565358e391c1 in _start perf[851c1]
> >    7: PERF_RECORD_* events & perf_sample fields                       : FAILED!
> > ```
> > 
> > After:
> > ```
> > $ perf test 7
> >    7: PERF_RECORD_* events & perf_sample fields                       : Skip (permissions)
> > ```
> > 
> > Fixes: 16d00fee703866c6 ("perf tests: Move test__PERF_RECORD into separate object")
> > Signed-off-by: Ian Rogers <irogers@google.com>
> > Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> > Cc: Athira Rajeev <atrajeev@linux.ibm.com>
> > Cc: Chun-Tse Shao <ctshao@google.com>
> > Cc: Howard Chu <howardchu95@gmail.com>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: James Clark <james.clark@linaro.org>
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Kan Liang <kan.liang@linux.intel.com>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Peter Zijlstra <peterz@infradead.org>
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Signed-off-by: Sasha Levin <sashal@kernel.org>
> > ---
> >   tools/perf/tests/perf-record.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> > 
> > diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c
> > index 0df471bf1590e..b215e89b65f7d 100644
> > --- a/tools/perf/tests/perf-record.c
> > +++ b/tools/perf/tests/perf-record.c
> > @@ -115,6 +115,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
> >   	if (err < 0) {
> >   		pr_debug("sched__get_first_possible_cpu: %s\n",
> >   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> > +		evlist__cancel_workload(evlist);
> >   		goto out_delete_evlist;
> >   	}
> > @@ -126,6 +127,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
> >   	if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, &cpu_mask) < 0) {
> >   		pr_debug("sched_setaffinity: %s\n",
> >   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> > +		evlist__cancel_workload(evlist);
> >   		goto out_delete_evlist;
> >   	}
> > @@ -137,6 +139,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
> >   	if (err < 0) {
> >   		pr_debug("perf_evlist__open: %s\n",
> >   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> > +		evlist__cancel_workload(evlist);
> >   		goto out_delete_evlist;
> >   	}
> > @@ -149,6 +152,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
> >   	if (err < 0) {
> >   		pr_debug("evlist__mmap: %s\n",
> >   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> > +		evlist__cancel_workload(evlist);
> >   		goto out_delete_evlist;
> >   	}
> 
> it seems that this commit breaks building perf followingly with v5.15.195:
> 
>   | /usr/bin/ld: perf-in.o: in function `test__PERF_RECORD':
>   | /home/username/src/vaisala-linux-stable/tools/perf/tests/perf-record.c:142: undefined reference to `evlist__cancel_workload'
>   | /usr/bin/ld: /home/username/src/vaisala-linux-stable/tools/perf/tests/perf-record.c:130: undefined reference to `evlist__cancel_workload'
> 
> The 'evlist__cancel_workload' seems to be introduced in commit e880a70f8046 ("perf stat: Close cork_fd when create_perf_stat_counter() failed") which is currently not included in the 5.15.y stable series.
> 
> BR, Niko Mauno

Can you send a revert for this?

thanks,

greg k-h


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188980-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id aHiKJqDI+GjJ5jsAYBR5ng
	(envelope-from <stable+bounces-188980-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:05:52 +0000
Return-path: <stable+bounces-188980-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:05:52 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188980-hi=josie.lol@vger.kernel.org>)
	id 1vBXbD-0000000GcW5-3SfR
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:05:52 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id B165A4E495E
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:05:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 596AA33F8C1;
	Wed, 22 Oct 2025 12:05:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="k2L9lDhs"
X-Original-To: stable@vger.kernel.org
Received: from mail-yx1-f48.google.com (mail-yx1-f48.google.com [74.125.224.48])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8422B2C1589
	for <stable@vger.kernel.org>; Wed, 22 Oct 2025 12:05:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761134748; cv=none; b=SzpFQuU3tHZh7JVorY3U91uI8oD9/kj/HhH3syW0vSzDrDDTR0ZoRXeBTmgnRhWSFF/PNW1Q/knnEet3ttNQxE9ozi+Gw15AiXNvS1mqSYCUe/pE9huVvytrP9TmXDpf3VAA8A+ofQtYrJdougb6FF19MAmgAK9aWmhj8pz7UQA=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761134748; c=relaxed/simple;
	bh=RNj2koT6/Jg9iN8a8+Er+ObY3cVJy0QTKD4UCscfYnc=;
	h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
	 To:Cc:Content-Type; b=VmKwS8A+jVjbp5NxhmR4vhJOh7pEsmQ8L+JTj0wgmpsMzn2CUZ6YIeA9d39tfG8Mhp9VoX8Y6X3EVdHHu9TB7a75NdTiD8HlBJ0x6E+ClMrp8lgoeev43i9bnKAFY3SkSM3XnLdxpQ1MTRsXQveDDLGAwhIE7dlqSQYRtvmHmwc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=k2L9lDhs; arc=none smtp.client-ip=74.125.224.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org
Received: by mail-yx1-f48.google.com with SMTP id 956f58d0204a3-63e365693c8so3489785d50.3
        for <stable@vger.kernel.org>; Wed, 22 Oct 2025 05:05:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1761134745; x=1761739545; darn=vger.kernel.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jsbxYdewfvfh2UHA2Tl3D1IaYpjBuKyP2US1/dOI7NQ=;
        b=k2L9lDhsuqurx2oe6laCCQ52NVmuPs34Vebxm5CHGUq538C7HOlEGI5D2SOjZxVQ/M
         iIwwNp4hLUqAj9ltmL0dpF831HPlKB9dfvuRrPbrsPz8eeXln6zijz6oK9EV35bF5qYI
         4J+bR58p4gV4Vnd+2SgE2DYtJ9ljg2Uzsf9thg65B3caKhODp3JUq6q1w1/I8eIse3Z8
         M7iqPSTqGrv3sXik3NqrKztGAOd/jDeuxZ8y8Ua1tXwap4eZ0LnFdlW3ONwBrxvOIDZL
         o0ArdENseE33AdNsPOPfJzg7seulpFI3w7m8JDjTZJ6tnA2TbZ6Vpto/7q0XWH5ijYEq
         NZ8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761134745; x=1761739545;
        h=content-transfer-encoding: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=jsbxYdewfvfh2UHA2Tl3D1IaYpjBuKyP2US1/dOI7NQ=;
        b=Bw4/WJlz3OPR4q02Dfo7b7TESzt4/KDQpBvfV2QV3vVpCxYTQQMzESPR2G25TAbT/R
         1V9wjnnDz2eBQBLVxuIfjHljhGMxatoLiiCyEfPBv7vQg9je3AFY4KSlYzsx9vfo15Tf
         l60hD8J0FYd6+32F7QYNAks0VGEVFFUo4mAZi/d3kbbEZ1XNdY71JUfuwlHtWGMXQaq7
         pO1A36Xxu726JM7Z+xKBmprX3nWqqNjuwyGNYllULoIDGrZ7nuBOTG1dnTBmKrUu1LQg
         swCbr+PNva+woSbYbETKSXUYZzbsT2PNtuxjIEi6dAF6YRi3G5RS685W0yvZjUUZCz4T
         6uVg==
X-Gm-Message-State: AOJu0YzhQYWEzd/M7MciVIH4K3Rp6ZL/yZT9xUMIoAWHbm/gp9BhHYcS
	m1uN7mWkTNRSQguPKL2Dz9oIsdkLWg5MAlOW+wVAfqKcQne6WbjoAaqjmuiI98DILmU4L5EsvgQ
	dnujSRgR2rWMdvzfx/XDQy3b7t1W08zYGWTVb1oPzEw==
X-Gm-Gg: ASbGncvhuc2ysBp/I8uSZcB/DfAFPAs6PQFvkIF2lQDbI3LCyZ6NCRfjkBE9ZP8YPaj
	aavZAOrdLbDFDJKValzbK4dIOPqCi2RTaVw2vCOIJsarn2vcOPmWr7xQxuKVUXN8fIw7E9FkaPk
	az+8rKAhMgWGrbh2z5XZmW5+Na4c4HsmKjUFa9ucOBmD8/0cX1H+cUo1lb3mXv1JhndNYMKhOL1
	7liLza+KwLqH6psrDVX7x2nyWcpsxLoQK30/JfsQerTbeWs3nodF8KvWH9Z5wx6cBxD/onzMxvg
	RMgxVbYtKcb3nXvJRx4vRz0lOAB89LfqvzirCddU0/lqbPc=
X-Google-Smtp-Source: AGHT+IEVIK7tQKmoArMHFnvXs66lZp2ZJesGI2vCEWC8RihiAm1lX4iHvyouvLFSKyiioGMo2OeoztXCogIKnK/gcyI=
X-Received: by 2002:a05:690e:d59:b0:63f:2b0c:2d6e with SMTP id
 956f58d0204a3-63f2b0c2e74mr1569504d50.3.1761134745547; Wed, 22 Oct 2025
 05:05:45 -0700 (PDT)
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
References: <20251021195021.492915002@linuxfoundation.org>
In-Reply-To: <20251021195021.492915002@linuxfoundation.org>
From: Naresh Kamboju <naresh.kamboju@linaro.org>
Date: Wed, 22 Oct 2025 17:35:32 +0530
X-Gm-Features: AS18NWBSyT6dQcKb1MqntEcC897UCpgSrWukoniGLQKQve0iUkiFAwPQt8eraPU
Message-ID: <CA+G9fYvfjjqBqxEoWudw6PUCz07_r=OxiA26e=cJ7bWBGNGCTQ@mail.gmail.com>
Subject: Re: [PATCH 6.6 000/105] 6.6.114-rc1 review
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable@vger.kernel.org, patches@lists.linux.dev, 
	linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, 
	akpm@linux-foundation.org, linux@roeck-us.net, shuah@kernel.org, 
	patches@kernelci.org, lkft-triage@lists.linaro.org, pavel@denx.de, 
	jonathanh@nvidia.com, f.fainelli@gmail.com, sudipm.mukherjee@gmail.com, 
	rwarsow@gmx.de, conor@kernel.org, hargar@microsoft.com, broonie@kernel.org, 
	achill@achill.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-DKIM: signer='linaro.org' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 2.4 (++)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (2.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: linaro.org]
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [142.0.200.124 listed in list.dnswl.org]
  2.0 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in
                             bl.spamcop.net
               [Blocked - see <https://www.spamcop.net/bl.shtml?74.125.224.48>]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 24

On Wed, 22 Oct 2025 at 01:22, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This is the start of the stable review cycle for the 6.6.114 release.
> There are 105 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Thu, 23 Oct 2025 19:49:51 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
>         https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-=
6.6.114-rc1.gz
> or in the git tree and branch at:
>         git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable=
-rc.git linux-6.6.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h


Results from Linaro=E2=80=99s test farm.
No regressions on arm64, arm, x86_64, and i386.

Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>

## Build
* kernel: 6.6.114-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-=
rc.git
* git commit: 8ed83e981d68359d06ea8e83da61f55c4a5fc71c
* git describe: v6.6.113-106-g8ed83e981d68
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.6.y/build/v6.6.1=
13-106-g8ed83e981d68

## Test Regressions (compared to v6.6.112-202-gef9fd03595ef)

## Metric Regressions (compared to v6.6.112-202-gef9fd03595ef)

## Test Fixes (compared to v6.6.112-202-gef9fd03595ef)

## Metric Fixes (compared to v6.6.112-202-gef9fd03595ef)

## Test result summary
total: 91363, pass: 76815, fail: 2923, skip: 11410, xfail: 215

## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 128 total, 127 passed, 1 failed
* arm64: 44 total, 40 passed, 4 failed
* i386: 21 total, 21 passed, 0 failed
* mips: 26 total, 25 passed, 1 failed
* parisc: 4 total, 4 passed, 0 failed
* powerpc: 31 total, 30 passed, 1 failed
* riscv: 15 total, 14 passed, 1 failed
* s390: 14 total, 13 passed, 1 failed
* sh: 9 total, 9 passed, 0 failed
* sparc: 7 total, 7 passed, 0 failed
* x86_64: 37 total, 33 passed, 3 failed, 1 skipped

## Test suites summary
* boot
* commands
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mm
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-x86
* kunit
* kvm-unit-tests
* lava
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-build-clang
* log-parser-build-gcc
* log-parser-test
* ltp-capability
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* perf
* rcutorture

--
Linaro LKFT
https://lkft.linaro.org


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188981-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id WMbHI2fJ+GjJ5jsAYBR5ng
	(envelope-from <stable+bounces-188981-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:09:11 +0000
Return-path: <stable+bounces-188981-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:09:11 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188981-hi=josie.lol@vger.kernel.org>)
	id 1vBXeQ-0000000GiGl-3PZ6
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:09:11 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 231253A200E
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:08:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id F10212765ED;
	Wed, 22 Oct 2025 12:08:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b="rc9ayEGD"
X-Original-To: stable@vger.kernel.org
Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023116.outbound.protection.outlook.com [52.101.72.116])
	(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 825C633F8BB
	for <stable@vger.kernel.org>; Wed, 22 Oct 2025 12:08:44 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.116
ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761134931; cv=fail; b=Pua5SDgSbNKjpV+764r6EZWp9y9Ol2tWcMy5gR/Zp83KdjvhkFPtzJgN3ZpERKi6cY3i8AXV9ZXAUjLz6oS+PQfNaCKsAM/6Or9EO9ustDkg1vyB8iHIbofyNaL4kjE1t867pKyCsu92J3BnryIjEeoVPONsBQppqtETwUXJUOE=
ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761134931; c=relaxed/simple;
	bh=lVGi5VEbQO7D+F5ibatFCibTKAExT3QsFefERHRepbE=;
	h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:
	 Content-Type:MIME-Version; b=ERS95YB3r55+M3EJX6u8Kjuu+mnBPPw4qyk9s0ih1z5TfAhZ/pHBXZebEqLRfcZ9FFv9WJ6+E+uWkWR2z+Z5I4cKs3f38dGplR9i8V7229TicdbTj9nherk64UCNVCcZWgmasQPJ8F3BWdgMtjaJA7M1TSG6jVvE7CrDUfxFq4I=
ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com; spf=pass smtp.mailfrom=vaisala.com; dkim=pass (2048-bit key) header.d=vaisala.com header.i=@vaisala.com header.b=rc9ayEGD; arc=fail smtp.client-ip=52.101.72.116
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=vaisala.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=vaisala.com
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MGfO1irBeBRUfoUn4F6noTvwunxVvTsWLSRa6n/4qqloQhi2Bcsy2UIyfQw2kRkJvabXcy6gVX94Jge2QE5GnE8HrhvweDw6xSAnTooKRYeSPkxOTj48Vu1E0tibE1EsJXoZRV5zYH1MBuRrk2QbuTHpM0AePSOj1nwPnYMkc+/6ylC0j/ynvBeWK/f8xBZukkwS8I5qDHYsmhTvop5DQm0/Q6XyfMNn2C0zsl1ZC4gZStb89hoOthMpnfH4JLvYizn6Y92AKlWsz1xT92hFzMWQVi2fpBgbb7qAQo5WV2cUsmdccNCefjFF0AvoubnhWd51JHbB9o5g/tj92BntGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SBzGeyJkQB6eM068vc0oLinXj5T3T0f8bI6O37RaVyg=;
 b=kvNysihbQe8QKwY7LgJiSG/KwqWyJf/xRi9vU2q5bO7Ba5pUb+aacVpPGlwbVtLsWRAfNt5clbMBJN2A6F+yZqyayy8Qz24HMYkf2MYfgr4pfUPVM8h3lU0Nz1VFABYZ4y8wnI/9mwPm3DOdYns7JgJe3gOuQvkCInDr5qw7WQUFKNnw+U6ah0tWroj6wsLxCF16pYX619qJ1g1Vx1J2jsTynipa7dpzEBp2v/IiWHHhgvbTQNv1w4nS3irm0EukzQLcwyzH261d/UWAj5VyHXnMj3DgBLEOHl4HUG70MaRVQ8iBVpAJbYAflXcwcRcRyiEeYSsgrIgtwUQOnMNplA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=vaisala.com; dmarc=pass action=none header.from=vaisala.com;
 dkim=pass header.d=vaisala.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vaisala.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SBzGeyJkQB6eM068vc0oLinXj5T3T0f8bI6O37RaVyg=;
 b=rc9ayEGDAxcI7wqbQoNkvcVtkNmHoR7jq7sdQzR8JiEHIhE5pN4khP4kxyggr94wsOgzBBQf6NMSGQynk+mLpKsNk2CcyuQAoW9pWkj9y6cii+x4NWwSD5q6W2ied3YYd0TO3O61taRC4zUEZi5OoOk9CKu4gcgx21VE1HngKB+B3gTTjNkpncOFcO+2Q6zIVC+eEpxSR8acFmeRJWFaiF2SY0NqgwHj3uIVaNjFvDzpg0hy/yZ0QUIhjjW8LFQqIHWe01B9CrccKt3Y1Ktly+A9f/TsN2mL4SBl3gXZNrc8RhvCeg/iMOS3G5bxq/muTUwEOzMcDdBXzYYu0j4v+Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=vaisala.com;
Received: from AS4PR06MB8447.eurprd06.prod.outlook.com (2603:10a6:20b:4e2::11)
 by GV4PR06MB10015.eurprd06.prod.outlook.com (2603:10a6:150:29b::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.12; Wed, 22 Oct
 2025 12:08:39 +0000
Received: from AS4PR06MB8447.eurprd06.prod.outlook.com
 ([fe80::af93:b150:b886:b2bc]) by AS4PR06MB8447.eurprd06.prod.outlook.com
 ([fe80::af93:b150:b886:b2bc%5]) with mapi id 15.20.9253.011; Wed, 22 Oct 2025
 12:08:39 +0000
Message-ID: <8c1c66c4-62dc-416a-b52e-314ce98fe474@vaisala.com>
Date: Wed, 22 Oct 2025 15:08:36 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5.15 136/276] perf test: Dont leak workload gopipe in
 PERF_RECORD_*
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, stable@vger.kernel.org
Cc: patches@lists.linux.dev, Ian Rogers <irogers@google.com>,
 Arnaldo Carvalho de Melo <acme@redhat.com>,
 Adrian Hunter <adrian.hunter@intel.com>,
 Alexander Shishkin <alexander.shishkin@linux.intel.com>,
 Athira Rajeev <atrajeev@linux.ibm.com>, Chun-Tse Shao <ctshao@google.com>,
 Howard Chu <howardchu95@gmail.com>, Ingo Molnar <mingo@redhat.com>,
 James Clark <james.clark@linaro.org>, Jiri Olsa <jolsa@kernel.org>,
 Kan Liang <kan.liang@linux.intel.com>, Mark Rutland <mark.rutland@arm.com>,
 Namhyung Kim <namhyung@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Sasha Levin <sashal@kernel.org>
References: <20251017145142.382145055@linuxfoundation.org>
 <20251017145147.447011793@linuxfoundation.org>
Content-Language: en-US
From: Niko Mauno <niko.mauno@vaisala.com>
In-Reply-To: <20251017145147.447011793@linuxfoundation.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: GV3P280CA0120.SWEP280.PROD.OUTLOOK.COM
 (2603:10a6:150:8::26) To AS4PR06MB8447.eurprd06.prod.outlook.com
 (2603:10a6:20b:4e2::11)
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS4PR06MB8447:EE_|GV4PR06MB10015:EE_
X-MS-Office365-Filtering-Correlation-Id: d746d316-9f3c-4d05-e05a-08de1163bc87
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TDhyS3VSZXhObGNHMEdsUlE1QldZYmFONTJrbUhuTy8xcHpiejZ5V0FIb1N3?=
 =?utf-8?B?OWxJRm42R3M2NlVNTzBaRHJZYzRlcGdwZmZVQUhIb1BSWmJCT3VwUVBhV2FJ?=
 =?utf-8?B?Q2gycTRQcmt2MTFPSWM5MWRpZGVhNEViUHgzMWtuK2hucHY1bzJRRnh5NnV3?=
 =?utf-8?B?MGxTaU1ZTDFHdGxHUHFJWTVIei8zYjJNTEJnS1dnSGpPKzlzTFgwUW5qZ0I0?=
 =?utf-8?B?STBJRnI5QjRndTZlQnh4dXoyK3RneU1ZUXByaXJ5M1JmZ3VlWWdFWEsvcno1?=
 =?utf-8?B?dDMzanBFY0lxQVR2TU5BR0R5TTJzRVRHV29xSnVlR3hhWWZwL1RDUG0yWkZZ?=
 =?utf-8?B?VDlmWDFyS1dSdml5QmxRNUY2WnlEUEtVY3dONnphaHQxVUNNZllEenY0eVZJ?=
 =?utf-8?B?SHdjUXI1S2hvaExqK0xqalB0dlloSDUrc2dldlQvb2ZxVTJ4Rk1oOGxEOEt5?=
 =?utf-8?B?OTFQTC9GOW1NNjh3VEFPZFh6ajhKU044Vnk1ZWtNTTlydTFlM0VHWmtjNnp5?=
 =?utf-8?B?clBOTlE1VEt5TVk2V25xem9VczVFRmdJcE5sdTR6VitRVVZ1TGZMOUNuZ2Uw?=
 =?utf-8?B?QS9YWWttWWovUVJlRVErWERId3pGeW81bW5hY0ZnSnZDWTN2STRialI4ankx?=
 =?utf-8?B?UnN6REY2a2poNkh0ckhDU0Nqc05CYUxGNFR4dy8yR3dLRHowNGtnNVBsZkVK?=
 =?utf-8?B?Z1hVK1dNeG1vTWcza2kzREdMVDE2QlpJSEhOL250dTlyOGVNY1ZneGZ3UmVy?=
 =?utf-8?B?ejg2ejV4V0hXV3lrVmFvWGZMWEl4VHZ2elUvdXUyakZpanBRSS9sajJLdlpY?=
 =?utf-8?B?c1FwVWczTFcyd3ZXNFhRQko4ZFhHMSs4MTdKMXZhREtQY0NVYnJwZkcxVWRz?=
 =?utf-8?B?TnRaSkVJdGNHb29BUDNxV0hJa3hocnhQeTFXdFI4UWU4Mlk2L2FPbmJwSHRZ?=
 =?utf-8?B?Mkl1OVdJNXhoL2pNam9Wb2hZYzltT0tmTlhZcEFKSUh6dGFiYURFaGNPNndM?=
 =?utf-8?B?V3VUTG1ZbzZMN1pKaXFaaHdzYVB0SGZYTU01cW01UTFsYWJmSHFUL1hIdE9j?=
 =?utf-8?B?Rk1TZ1hvSGxEZTlEZmZEVnhXYzJ5Y3VhcW8vUkVteW81djg3cFlsbXhMMlRs?=
 =?utf-8?B?NXJ4c1lPZkg1U3pyMW83ZDNLZUxCV2hSdi9xZXJpdmhnM0d1RlJpL0Y2cUx1?=
 =?utf-8?B?VHQ0blVuR3pqWEtSRW5tZXNkWEhHeGE0Ym9LV2dURlFHNzJwZkZzRDU5aTRW?=
 =?utf-8?B?d0ZhaDl3c3M0eXJiZGNrL0JLMmNRczNWazV0UEpGM2h6Q1ZYbmVHckE3MTFu?=
 =?utf-8?B?bWh5Um4zSXVBY04yck5FU2dDL2o2Ynk5czFTOVgwVjdpT1B1VytJNVJjNit5?=
 =?utf-8?B?YlJUSUNjem03cHl2VXpyMnN2VFlkVTRwQUZzenpTWWl0Q2hNVHJPTHFyYUpQ?=
 =?utf-8?B?VUZ2eHAxeW5QcUJDdUY2NEJQUldsLytGS25BUXdZVlpkVGpFbGJHWmpNeERq?=
 =?utf-8?B?UjRqTVg4TEEzeVdkdkxodE9sUXB5VlpuV2NZdmZ4UTdieGhxM1A3Z28zMnYz?=
 =?utf-8?B?WHEreTJzN0paOHc3Rm5CTCthRUxDVlpTN2RvYWVzemZzWERhVERaYkNtUXIr?=
 =?utf-8?B?OWQvV0xObHJKNHdLV0lRclF6UEszV0l1cUJDVHN6NWNoekoxZldnWWUwTG01?=
 =?utf-8?B?ZW5yV3BaSjVkZS9OWU9kLzQ4bXhRWUNlbUZkdHRVTThoNzZEOHhudDA2WFVC?=
 =?utf-8?B?WVFTUit1YWFQL0p2amRjSHJXQURlaTd0QkxreGlsaGZsSlF2WlVkVHU1dytM?=
 =?utf-8?B?OVk0SGhLMUtMNjJjdlV4ZGdGR2xhVXN4T2lyNGRTb2ZSUHZjWkF6RGVpcUJS?=
 =?utf-8?B?QmpzRnN5c0pFR09KTE1KMlRWNFFpWFY5VWpPNFBoaXhuU29HVzVpbzArclF3?=
 =?utf-8?Q?z5x0eAYxHFsAnslLT8BAMo+kd1+/gL0c?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR06MB8447.eurprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVNLejJlajBydlp6Y0ZGcjRSYlVIQkk4eDRGMTVmN21HMnBjRE8rVklzaXVl?=
 =?utf-8?B?TGFoU3hXd3FjQmRQbFJ4YzlTa0hBSGxnOFcvSEVhZm9sYW1nZXh5bmpLZk5R?=
 =?utf-8?B?VFZpMWVRdnUwc0EzRU5oc1BmVTR0UUZ6cXVSckwyV0FKVmJRMjVGWHZRRDZN?=
 =?utf-8?B?ZGs2d3R5WVNvRXM5WUhNK3FEY1NxUll5V3Q5MkdMTjdBVGFpYnpjaUQzZ0dp?=
 =?utf-8?B?dHNEYWRMZGhobTRRendkeUdHc1QwM3NSWnNRY0ladXRYdnEvRzU5Q1B1Wm5x?=
 =?utf-8?B?d2U5TENsQTBaaFZEalhia3FHNUErcm15aXBPOUx1bDg0UzdiMm5TUzlLaTFE?=
 =?utf-8?B?clF0VUNSWlBtTG5yNVg0bXlYMCsxS2krNmJRbVp3US9IcEhjejNObzhydU5K?=
 =?utf-8?B?djZrNWlBT084T2xIT2xrMC9DdHB4aEF4dXdGeDFIM3NzQjRtbS96ZmxOZkNG?=
 =?utf-8?B?eE1IMXBhMFpZMnZ5Qm1mb0o2QVpkUjhIbUdKUkE3bW9PSE95aTFjNFZia1Fv?=
 =?utf-8?B?K3doU2cxUE9kQUZVdERjSHV2MXkweHd5NnM2YVNnOFZML0ptUXovN1dFcnVX?=
 =?utf-8?B?NFhPZkJtem0zNkhNd0lvQUlacUh5NHArc1ZtaGlMcFBpelBRMUpUNU5jaXBI?=
 =?utf-8?B?VmhjT245SjcxaE9NamZMYUlaM3ZOM20yeTZuK1pCUXJaemd1cXM2dVMycVRB?=
 =?utf-8?B?aVQ4dUwxQS9nUUsyMExHNkFCSHh5dGphL1pwVzloUVhHZ1B1cWpINDhDKzBl?=
 =?utf-8?B?dFpLMkZIWVl3NXh4S2JjaW5jUWgwbmNiRFAxSEpFekZIZTZZdmFBWmc1eUlr?=
 =?utf-8?B?TEtydkJ1eE1KS05SeGJNZkZ5Uk95aVNiaDE1b3p2Qy9WQXlZbHdyNmxGaVZX?=
 =?utf-8?B?eE5oUU5VQWt5bVVtdkVVZXplNHRzNVdhc2lrWnRnVE9UU3BVaCtCS29ta3Ji?=
 =?utf-8?B?c1Y0ZDQ0VHhCMFRrcUQ0bHgrL3R2UUVSNzAyMXNmL0NhN1V3WncvMEpZSEhi?=
 =?utf-8?B?Mklqbm1YamhPZitnb1hLakMrdlBxNldTY0w2M1hrOGhsWWVITW5FMDg4SXpu?=
 =?utf-8?B?YjhpeHhoRXZRZDA0aGQ1WFEyRTU0S2o3WExsWGt1Q1k4aThzNktNdzJJOU9p?=
 =?utf-8?B?Qng3TmN0VHp3c01Uc3Q0bzRWajczOWVnVzNRZmZWOHZvSkFSem5lWU12QjNB?=
 =?utf-8?B?RjhFeFJKN2pwb0t0aWxudTBlU3p1UGw0UFZoa3QxUkxJWncyOUd0WGxZcWFr?=
 =?utf-8?B?UDU5N1RzbEJMSkRkM3F5ZU1mL2tGL0VzekZMZk9SU3drcVEza21KMDhFeW5j?=
 =?utf-8?B?eEFkQVlkbmsrME1WYmwyZmluRkR5bmQ5cEljMFlPdE5KNk5wTVZ4VVpIMkpa?=
 =?utf-8?B?OXB0UFBxZW9rQVFLZVdkV0xGMzhLcVFUTG92OXBONWQ3UFdDWGRGRHQxQ0xG?=
 =?utf-8?B?enZ3KzVsV0JRUFVIV3NINmpIbW95KzFDNTBtRitZeUpQS0tiTExqMFNaSHVN?=
 =?utf-8?B?WHNDenhLdXIvUFVTNVVqcXlsd0F2bmgrWERJMXdnbEc3b0hGOC83SElRVDRj?=
 =?utf-8?B?YVhWTTc2bVF3aGlkQzZhcDZOdEhKbkpqcjhzSG0rQlRKOHRyYWtnOHlXREE1?=
 =?utf-8?B?c1NuQUdqTU9MU2t4NGpMZnl6Q0NyWFFSZytycXNoTmtjOWt0b2NJRnQrRGNN?=
 =?utf-8?B?b1VLQlFFak9IenJOWS9WTWp4SFF3QmJoTVJYcWhwTHBlMElCOE05QWRzeElE?=
 =?utf-8?B?eGh2T2pQUmpGRFVBWGlibFU4REVSL3dVbDFRN1FmREowNGZmYS94b3VjekhR?=
 =?utf-8?B?NkFvRmdqUzlnR21Pd3RML25id3V1NHV4MjN4b2RpR2hJcWovTnR1KzBFb2l4?=
 =?utf-8?B?ZzVMNGw4MHUzblk5c0xWQW9ETk54WGV0UWpNRW5nZHBvUzlrYTFBQzRucU9N?=
 =?utf-8?B?eWoxSUdoMzBWdURMMzNGVGN3Q2lHRXdVZVpQa1doaVN1U0VGTlpyNzJaTTFP?=
 =?utf-8?B?R3VQaEhJYjVwRmthbEVnQjhhbFM0aFRYaFphUmJscGgwVUJSSW9oamR6eEx1?=
 =?utf-8?B?SW9RaWVwVzVIdVZSUFg2TTBxYVZVeDZzWVl5MldKSmdaTEpIVlBzbTg2UXBr?=
 =?utf-8?B?TXk0ekZJbWRiN28vYXdzYjRCMmluUXJIM292bVNSOVlSejlFb2VnTkdkWmdm?=
 =?utf-8?B?MlE9PQ==?=
X-OriginatorOrg: vaisala.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d746d316-9f3c-4d05-e05a-08de1163bc87
X-MS-Exchange-CrossTenant-AuthSource: AS4PR06MB8447.eurprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2025 12:08:39.7563
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 6d7393e0-41f5-4c2e-9b12-4c2be5da5c57
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1w2NP6JbkhN1kzM71bwzbQ855VDev1+2pTvyHTVGuZG16fB9DxxNbJmOw/VC6paGY32ZovZOH+MksprhOsTTOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV4PR06MB10015
X-DKIM: signer='vaisala.com' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -1.9 (-)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-1.9 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [139.178.88.99 listed in list.dnswl.org]
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: vaisala.com]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: -18

On 10/17/25 17:53, Greg Kroah-Hartman wrote:
> 5.15-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Ian Rogers <irogers@google.com>
> 
> [ Upstream commit 48918cacefd226af44373e914e63304927c0e7dc ]
> 
> The test starts a workload and then opens events. If the events fail
> to open, for example because of perf_event_paranoid, the gopipe of the
> workload is leaked and the file descriptor leak check fails when the
> test exits. To avoid this cancel the workload when opening the events
> fails.
> 
> Before:
> ```
> $ perf test -vv 7
>    7: PERF_RECORD_* events & perf_sample fields:
>   --- start ---
> test child forked, pid 1189568
> Using CPUID GenuineIntel-6-B7-1
>   ------------------------------------------------------------
> perf_event_attr:
>    type                    	   0 (PERF_TYPE_HARDWARE)
>    config                  	   0xa00000000 (cpu_atom/PERF_COUNT_HW_CPU_CYCLES/)
>    disabled                	   1
>   ------------------------------------------------------------
> sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8
> sys_perf_event_open failed, error -13
>   ------------------------------------------------------------
> perf_event_attr:
>    type                             0 (PERF_TYPE_HARDWARE)
>    config                           0xa00000000 (cpu_atom/PERF_COUNT_HW_CPU_CYCLES/)
>    disabled                         1
>    exclude_kernel                   1
>   ------------------------------------------------------------
> sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8 = 3
>   ------------------------------------------------------------
> perf_event_attr:
>    type                             0 (PERF_TYPE_HARDWARE)
>    config                           0x400000000 (cpu_core/PERF_COUNT_HW_CPU_CYCLES/)
>    disabled                         1
>   ------------------------------------------------------------
> sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8
> sys_perf_event_open failed, error -13
>   ------------------------------------------------------------
> perf_event_attr:
>    type                             0 (PERF_TYPE_HARDWARE)
>    config                           0x400000000 (cpu_core/PERF_COUNT_HW_CPU_CYCLES/)
>    disabled                         1
>    exclude_kernel                   1
>   ------------------------------------------------------------
> sys_perf_event_open: pid 0  cpu -1  group_fd -1  flags 0x8 = 3
> Attempt to add: software/cpu-clock/
> ..after resolving event: software/config=0/
> cpu-clock -> software/cpu-clock/
>   ------------------------------------------------------------
> perf_event_attr:
>    type                             1 (PERF_TYPE_SOFTWARE)
>    size                             136
>    config                           0x9 (PERF_COUNT_SW_DUMMY)
>    sample_type                      IP|TID|TIME|CPU
>    read_format                      ID|LOST
>    disabled                         1
>    inherit                          1
>    mmap                             1
>    comm                             1
>    enable_on_exec                   1
>    task                             1
>    sample_id_all                    1
>    mmap2                            1
>    comm_exec                        1
>    ksymbol                          1
>    bpf_event                        1
>    { wakeup_events, wakeup_watermark } 1
>   ------------------------------------------------------------
> sys_perf_event_open: pid 1189569  cpu 0  group_fd -1  flags 0x8
> sys_perf_event_open failed, error -13
> perf_evlist__open: Permission denied
>   ---- end(-2) ----
> Leak of file descriptor 6 that opened: 'pipe:[14200347]'
>   ---- unexpected signal (6) ----
> iFailed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
> Failed to read build ID for //anon
>      #0 0x565358f6666e in child_test_sig_handler builtin-test.c:311
>      #1 0x7f29ce849df0 in __restore_rt libc_sigaction.c:0
>      #2 0x7f29ce89e95c in __pthread_kill_implementation pthread_kill.c:44
>      #3 0x7f29ce849cc2 in raise raise.c:27
>      #4 0x7f29ce8324ac in abort abort.c:81
>      #5 0x565358f662d4 in check_leaks builtin-test.c:226
>      #6 0x565358f6682e in run_test_child builtin-test.c:344
>      #7 0x565358ef7121 in start_command run-command.c:128
>      #8 0x565358f67273 in start_test builtin-test.c:545
>      #9 0x565358f6771d in __cmd_test builtin-test.c:647
>      #10 0x565358f682bd in cmd_test builtin-test.c:849
>      #11 0x565358ee5ded in run_builtin perf.c:349
>      #12 0x565358ee6085 in handle_internal_command perf.c:401
>      #13 0x565358ee61de in run_argv perf.c:448
>      #14 0x565358ee6527 in main perf.c:555
>      #15 0x7f29ce833ca8 in __libc_start_call_main libc_start_call_main.h:74
>      #16 0x7f29ce833d65 in __libc_start_main@@GLIBC_2.34 libc-start.c:128
>      #17 0x565358e391c1 in _start perf[851c1]
>    7: PERF_RECORD_* events & perf_sample fields                       : FAILED!
> ```
> 
> After:
> ```
> $ perf test 7
>    7: PERF_RECORD_* events & perf_sample fields                       : Skip (permissions)
> ```
> 
> Fixes: 16d00fee703866c6 ("perf tests: Move test__PERF_RECORD into separate object")
> Signed-off-by: Ian Rogers <irogers@google.com>
> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Athira Rajeev <atrajeev@linux.ibm.com>
> Cc: Chun-Tse Shao <ctshao@google.com>
> Cc: Howard Chu <howardchu95@gmail.com>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: James Clark <james.clark@linaro.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Kan Liang <kan.liang@linux.intel.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
>   tools/perf/tests/perf-record.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c
> index 0df471bf1590e..b215e89b65f7d 100644
> --- a/tools/perf/tests/perf-record.c
> +++ b/tools/perf/tests/perf-record.c
> @@ -115,6 +115,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
>   	if (err < 0) {
>   		pr_debug("sched__get_first_possible_cpu: %s\n",
>   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> +		evlist__cancel_workload(evlist);
>   		goto out_delete_evlist;
>   	}
>   
> @@ -126,6 +127,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
>   	if (sched_setaffinity(evlist->workload.pid, cpu_mask_size, &cpu_mask) < 0) {
>   		pr_debug("sched_setaffinity: %s\n",
>   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> +		evlist__cancel_workload(evlist);
>   		goto out_delete_evlist;
>   	}
>   
> @@ -137,6 +139,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
>   	if (err < 0) {
>   		pr_debug("perf_evlist__open: %s\n",
>   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> +		evlist__cancel_workload(evlist);
>   		goto out_delete_evlist;
>   	}
>   
> @@ -149,6 +152,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus
>   	if (err < 0) {
>   		pr_debug("evlist__mmap: %s\n",
>   			 str_error_r(errno, sbuf, sizeof(sbuf)));
> +		evlist__cancel_workload(evlist);
>   		goto out_delete_evlist;
>   	}
>   

it seems that this commit breaks building perf followingly with v5.15.195:

   | /usr/bin/ld: perf-in.o: in function `test__PERF_RECORD':
   | /home/username/src/vaisala-linux-stable/tools/perf/tests/perf-record.c:142: undefined reference to `evlist__cancel_workload'
   | /usr/bin/ld: /home/username/src/vaisala-linux-stable/tools/perf/tests/perf-record.c:130: undefined reference to `evlist__cancel_workload'

The 'evlist__cancel_workload' seems to be introduced in commit e880a70f8046 ("perf stat: Close cork_fd when create_perf_stat_counter() failed") which is currently not included in the 5.15.y stable series.

BR, Niko Mauno


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188982-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id MALNIwHK+GixeTwAYBR5ng
	(envelope-from <stable+bounces-188982-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:11:45 +0000
Return-path: <stable+bounces-188982-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:11:45 +0000
Received: from ams.mirrors.kernel.org ([213.196.21.55])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188982-hi=josie.lol@vger.kernel.org>)
	id 1vBXgu-0000000Gmkb-2RBS
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:11:45 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by ams.mirrors.kernel.org (Postfix) with ESMTPS id 440DB356571
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:11:43 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 1F400340D87;
	Wed, 22 Oct 2025 12:11:40 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b="I2Tx7BWj";
	dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="afgs+hpx"
X-Original-To: stable@vger.kernel.org
Received: from fhigh-a7-smtp.messagingengine.com (fhigh-a7-smtp.messagingengine.com [103.168.172.158])
	(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 669C9340A74;
	Wed, 22 Oct 2025 12:11:37 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.158
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761135100; cv=none; b=c4Socs6UcM39QloVFhQEapAGJknnESFKZ45uSc1FHMoPS848wjOxVpyQX0cMRXP54PLtKEp9Xz6JQmDdO8cV8mdSIQFkmqY7+IHXT5sIW+pNYm6BRxUDY9lPGXW/CZRfbu2OFdHT635j9zAZg3pSYmsDoiMR1Mmv0h0TV0AkfeQ=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761135100; c=relaxed/simple;
	bh=mECsDdFjCrIKMYgGoxnHbPdtkOYxeUoa0WgtVRPLbCg=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=CAktgxk6WJQ7xjJQjsqGIF/c/nPLXW+fwcAUEbS9DEN4jd9vAlrUGXqMUjnOZffh27cB6t9YuqXrOaVKuWztQahkY7pQEw0JFUrGYPbauaC2VW1wwH4hW0CMcwJrDV0LycdpSKJ5msVf/9yG7f9lkpxCfI05f1kIvSqsoScyA1M=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se; spf=pass smtp.mailfrom=ragnatech.se; dkim=pass (2048-bit key) header.d=ragnatech.se header.i=@ragnatech.se header.b=I2Tx7BWj; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=afgs+hpx; arc=none smtp.client-ip=103.168.172.158
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ragnatech.se
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ragnatech.se
Received: from phl-compute-10.internal (phl-compute-10.internal [10.202.2.50])
	by mailfhigh.phl.internal (Postfix) with ESMTP id 71CD714001ED;
	Wed, 22 Oct 2025 08:11:36 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
  by phl-compute-10.internal (MEProxy); Wed, 22 Oct 2025 08:11:36 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h=
	cc:cc:content-transfer-encoding:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1761135096;
	 x=1761221496; bh=qJPg3aLK9s15SicvkiJXtX8ZgHxMs/B0zeAkFcOouJE=; b=
	I2Tx7BWjdjjc51baoFXGsWv5FhGrqOruRxWsrm2tX4xWlHc0kQrHSXH4cXtkPaXO
	NbSj1cchh/toWayPSH4fL/F1fHSdiFq8kBL3ceEGxdQ0V/kl5eyaQBTeMailfuGT
	3OokqFxV3rOfvJNPAEV5ePTWSFWku77jFs8VaOLDlHpJPNn2r9sRnWrg62Lro/DA
	EEnhENzbHICBuq9lo+wbUTIh1J37DEOWG0NwgV9bYi6qseMvs3Nl462QzFbs5mvr
	KCByhxSna6acnsjtTw6Ix76JxIKAeLSAlq9jZb5QFw0N3ZP2iCVMZIJXgOYS303t
	y0MVhQGWKC2jg042sCZvEg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:feedback-id:feedback-id
	:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1761135096; x=
	1761221496; bh=qJPg3aLK9s15SicvkiJXtX8ZgHxMs/B0zeAkFcOouJE=; b=a
	fgs+hpxE7/RGgKxOfdm++DvjqR69+dtu7L7KSqLObP44akuyURMZspBclVt4xbGF
	7G+DOqX2GL3UuHAgFsyvlrZp1+9Hma1gxfy0xjXVqIjtaZPUxOXECnUHu3wiHoz5
	kHZ4ak9XZUMF9mngp8E5N6SO8qnPNOamsD4+W/0AgG1LtIEJ7K6n6a+HagFQzW+P
	PlaZXbrGhXD8KE+SeI3DPXv0g7vKWaVYG9NZOJ5U+x5BnxCwgQjd2Iwt6edpnGRF
	EpV8Ml8RaiPFMCFFaM/obsZoNduWTMgKgPGwaTNrYjwNF6qzFfwRY18x5O7Wz3YJ
	8l2JmPuP3S+27ugpbkPIA==
X-ME-Sender: <xms:9sn4aGPTPm834jlamya7NAeigdJC3z38O4K-447PjZh7YTjwBISftw>
    <xme:9sn4aF5xJ8VLHI8tnvWYe7K8uV-It0e_PsegPCt8iz0ZpnzySlpFTPeVDsFb_j8q1
    U4Fz4mF1KpbWrVD0w_kBlwbeHSjlp8ER2gDTZFU17F0TY_j1VlrGg>
X-ME-Received: <xmr:9sn4aNm--kaXzOyzb6gtQ05-c2zxNRLYIlj24oa878jKbKfYTV7RuSoeMxXSlEIne1QY2g33ZWyG5iswVOMhWKG6ACjaLnY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddugeefheehucetufdoteggodetrf
    dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
    rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
    gurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhklhgr
    shcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhnrg
    htvggthhdrshgvqeenucggtffrrghtthgvrhhnpeevteegtddvvdfhtdekgefhfeefheet
    heekkeegfeejudeiudeuleegtdehkeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhn
    rghtvggthhdrshgvpdhnsggprhgtphhtthhopeduiedpmhhouggvpehsmhhtphhouhhtpd
    hrtghpthhtohepphhrrggshhgrkhgrrhdrtghsvghnghhgsehgmhgrihhlrdgtohhmpdhr
    tghpthhtohepphgruhhlsehpsggrrhhkvghrrdguvghvpdhrtghpthhtoheprghnughrvg
    ifodhnvghtuggvvheslhhunhhnrdgthhdprhgtphhtthhopegurghvvghmsegurghvvghm
    lhhofhhtrdhnvghtpdhrtghpthhtohepvgguuhhmrgiivghtsehgohhoghhlvgdrtghomh
    dprhgtphhtthhopehkuhgsrgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepphgrsggv
    nhhisehrvgguhhgrthdrtghomhdprhgtphhtthhopehgvggvrhhtodhrvghnvghsrghsse
    hglhhiuggvrhdrsggvpdhrtghpthhtohepmhhithhsuhhhihhrohdrkhhimhhurhgrrdhk
    tgesrhgvnhgvshgrshdrtghomh
X-ME-Proxy: <xmx:9sn4aFICyEvoFkLZuebjDM0obzhW197JCBKKHa3eLBdtZTSrpVIS6A>
    <xmx:98n4aFRLzO8qzRPU6_HvhrrFR_aF2BkBPFusDxJ0ylHKlf5rd78z_g>
    <xmx:98n4aKtJXjgz87Xy3APNh4oCit2x05Ov0249Ew5MDdZXatvtaVDTNQ>
    <xmx:98n4aA-c2qwHenZASkOKgSp8ZL62ufiD0lw5czFj6fb0Z-J-bH-7Qw>
    <xmx:-Mn4aC7AyMVu8uWSFzUI7Mwqv9APZmo_-oKx4w9rAlmyCsNMVCturHCL>
Feedback-ID: i80c9496c:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 22 Oct 2025 08:11:34 -0400 (EDT)
Date: Wed, 22 Oct 2025 14:11:32 +0200
From: Niklas =?utf-8?Q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>
To: Prabhakar <prabhakar.csengg@gmail.com>
Cc: Paul Barker <paul@pbarker.dev>, Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Mitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>,
	netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org, Biju Das <biju.das.jz@bp.renesas.com>,
	Fabrizio Castro <fabrizio.castro.jz@renesas.com>,
	Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 3/4] net: ravb: Enforce descriptor type ordering
Message-ID: <20251022121132.GD1694476@ragnatech.se>
References: <20251017151830.171062-1-prabhakar.mahadev-lad.rj@bp.renesas.com>
 <20251017151830.171062-4-prabhakar.mahadev-lad.rj@bp.renesas.com>
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20251017151830.171062-4-prabhakar.mahadev-lad.rj@bp.renesas.com>
X-DKIM: signer='ragnatech.se' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-DKIM: signer='messagingengine.com' status='pass' reason=''
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: ragnatech.se]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

Hi Lad,

Thanks for reworking this and making it very clear what's going on.

On 2025-10-17 16:18:29 +0100, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> Ensure the TX descriptor type fields are published in a safe order so the
> DMA engine never begins processing a descriptor chain before all descriptor
> fields are fully initialised.
> 
> For multi-descriptor transmits the driver writes DT_FEND into the last
> descriptor and DT_FSTART into the first. The DMA engine begins processing
> when it observes DT_FSTART. Move the dma_wmb() barrier so it executes
> immediately after DT_FEND and immediately before writing DT_FSTART
> (and before DT_FSINGLE in the single-descriptor case). This guarantees
> that all prior CPU writes to the descriptor memory are visible to the
> device before DT_FSTART is seen.
> 
> This avoids a situation where compiler/CPU reordering could publish
> DT_FSTART ahead of DT_FEND or other descriptor fields, allowing the DMA to
> start on a partially initialised chain and causing corrupted transmissions
> or TX timeouts. Such a failure was observed on RZ/G2L with an RT kernel as
> transmit queue timeouts and device resets.
> 
> Fixes: 2f45d1902acf ("ravb: minimize TX data copying")
> Cc: stable@vger.kernel.org
> Co-developed-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

> ---
> v1->v2:
> - Reflowed the code and updated the comment to clarify the ordering
>   requirements.
> - Updated commit message.
> - Split up adding memory barrier change before ringing doorbell
>   into a separate patch.
> ---
>  drivers/net/ethernet/renesas/ravb_main.c | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> index a200e205825a..0e40001f64b4 100644
> --- a/drivers/net/ethernet/renesas/ravb_main.c
> +++ b/drivers/net/ethernet/renesas/ravb_main.c
> @@ -2211,13 +2211,25 @@ static netdev_tx_t ravb_start_xmit(struct sk_buff *skb, struct net_device *ndev)
>  
>  		skb_tx_timestamp(skb);
>  	}
> -	/* Descriptor type must be set after all the above writes */
> -	dma_wmb();
> +
>  	if (num_tx_desc > 1) {
>  		desc->die_dt = DT_FEND;
>  		desc--;
> +		/* When using multi-descriptors, DT_FEND needs to get written
> +		 * before DT_FSTART, but the compiler may reorder the memory
> +		 * writes in an attempt to optimize the code.
> +		 * Use a dma_wmb() barrier to make sure DT_FEND and DT_FSTART
> +		 * are written exactly in the order shown in the code.
> +		 * This is particularly important for cases where the DMA engine
> +		 * is already running when we are running this code. If the DMA
> +		 * sees DT_FSTART without the corresponding DT_FEND it will enter
> +		 * an error condition.
> +		 */
> +		dma_wmb();
>  		desc->die_dt = DT_FSTART;
>  	} else {
> +		/* Descriptor type must be set after all the above writes */
> +		dma_wmb();
>  		desc->die_dt = DT_FSINGLE;
>  	}
>  	ravb_modify(ndev, TCCR, TCCR_TSRQ0 << q, TCCR_TSRQ0 << q);
> -- 
> 2.43.0
> 

-- 
Kind Regards,
Niklas Söderlund


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <io-uring+bounces-10099-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id yOuJJmjH+Gi5qTsAYBR5ng
	(envelope-from <io-uring+bounces-10099-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:00:40 +0000
Return-path: <io-uring+bounces-10099-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:00:40 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <io-uring+bounces-10099-hi=josie.lol@vger.kernel.org>)
	id 1vBXWC-0000000GRvj-1Sy6
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:00:40 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 169A43A4A6C
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:00:39 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 2AA062C1589;
	Wed, 22 Oct 2025 12:00:35 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aUQTGQHN"
X-Original-To: io-uring@vger.kernel.org
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 02A6A2765ED;
	Wed, 22 Oct 2025 12:00:34 +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=1761134435; cv=none; b=bfqijTuiOgQqKkk5N/TuoX8Qn5NJ03OOnJy23ZtAKuWCBh/CgMP3sAJ+ZKG6ZaBQeoyBPJQ21Nqh3i1mzIE6Ucj8TkXmiIiaEFVMa9PQFLJUKXsTE1K+QvDgYZr3TdvXSBSmwFSpaqsNSHSNGPTJE7Ltf+DuScoBLdDS4iIzYA0=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761134435; c=relaxed/simple;
	bh=VWiPIF2qwBAu4+cJXPOpztscrdm+U4nreWPsXfm5m4I=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=HkV150pSqcBl3ehaIo9kPUMuoBjMUmISmnqS8KjAQGkpYgrKDGlR6fUWV70Hs2dJEwzqcSq36IEHMtPCpq2r7+a5zQ2+UKN/Bmk6ejWpUWg8gSM8L4JhvoIVIpun9d+sedGSoUO9orFXJIFELA4clG2gHBUK+Iu3rpb8oYc7xfE=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aUQTGQHN; arc=none smtp.client-ip=10.30.226.201
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E9198C4CEE7;
	Wed, 22 Oct 2025 12:00:32 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1761134434;
	bh=VWiPIF2qwBAu4+cJXPOpztscrdm+U4nreWPsXfm5m4I=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=aUQTGQHN8iIJSNTK0COz+A5qQ13te/r6TwlUvBxuwB+zELinhlbe9yJT+WhRQqzLJ
	 LIC/1sFeY4bQ8ZC8a8FN1vCyZuPOODTjyTgFo4+EeNJKlmly0ccFf0oE8sXg6jeJhw
	 xwyUmBlCjB5TaTDPe0qHfDpUBrrHkPkkmFr/IbqZDJ3BBvEal36LgvKzSkMHJw7ynC
	 E0mDOb/JRYtizuBokxBKgmgzKP1l2OoX6m77N7FybtRCnO7IGWqhcdH17An+vbvA57
	 PYlrcewNz2eyFUrMkxhelsrH12bQc5pgMIwYEcm2DZBo8XmVfOIX/LskfUtvKD7A00
	 wHgjt/HH+bBCw==
Date: Wed, 22 Oct 2025 14:00:30 +0200
From: Nathan Chancellor <nathan@kernel.org>
To: Jens Axboe <axboe@kernel.dk>
Cc: io-uring@vger.kernel.org, csander@purestorage.com,
	Keith Busch <kbusch@meta.com>, Keith Busch <kbusch@kernel.org>,
	llvm@lists.linux.dev
Subject: Re: [PATCHv6] io_uring: add support for IORING_SETUP_SQE_MIXED
Message-ID: <20251022120030.GA148714@ax162>
References: <20251016180938.164566-1-kbusch@meta.com>
 <176108414866.224720.11841089098235254459.b4-ty@kernel.dk>
Precedence: bulk
X-Mailing-List: io-uring@vger.kernel.org
List-Id: <io-uring.vger.kernel.org>
List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <176108414866.224720.11841089098235254459.b4-ty@kernel.dk>
X-DKIM: signer='kernel.org' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: -3.5 (---)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (-3.5 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
 -2.3 RCVD_IN_DNSWL_MED      RBL: Sender listed at https://www.dnswl.org/,
                             medium trust
                             [139.178.88.99 listed in list.dnswl.org]
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
 -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from
                             envelope-from domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
 -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender
SpamTally: Final spam score: -34

On Tue, Oct 21, 2025 at 04:02:28PM -0600, Jens Axboe wrote:
> 
> On Thu, 16 Oct 2025 11:09:38 -0700, Keith Busch wrote:
> > Normal rings support 64b SQEs for posting submissions, while certain
> > features require the ring to be configured with IORING_SETUP_SQE128, as
> > they need to convey more information per submission. This, in turn,
> > makes ALL the SQEs be 128b in size. This is somewhat wasteful and
> > inefficient, particularly when only certain SQEs need to be of the
> > bigger variant.
> > 
> > [...]
> 
> Applied, thanks!
> 
> [1/1] io_uring: add support for IORING_SETUP_SQE_MIXED
>       commit: 31dc41afdef21f264364288a30013b538c46152e

This needs a pretty obvious fix up as clang points out:

  io_uring/fdinfo.c:103:22: error: variable 'sqe' is uninitialized when used here [-Werror,-Wuninitialized]
    103 |                 opcode = READ_ONCE(sqe->opcode);
        |                                    ^~~

I would have sent a formal patch but since it is at the top, I figured
it would get squashed anyways.

Cheers,
Nathan

diff --git a/io_uring/fdinfo.c b/io_uring/fdinfo.c
index d5aa64203de5..5b26b2a97e1b 100644
--- a/io_uring/fdinfo.c
+++ b/io_uring/fdinfo.c
@@ -100,8 +100,8 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m)
 		if (sq_idx > sq_mask)
 			continue;
 
-		opcode = READ_ONCE(sqe->opcode);
 		sqe = &ctx->sq_sqes[sq_idx << sq_shift];
+		opcode = READ_ONCE(sqe->opcode);
 		if (sq_shift) {
 			sqe128 = true;
 		} else if (io_issue_defs[opcode].is_128) {


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188978-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id eHFpEW/H+GimnzoAYBR5ng
	(envelope-from <stable+bounces-188978-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:00:47 +0000
Return-path: <stable+bounces-188978-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:00:47 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188978-hi=josie.lol@vger.kernel.org>)
	id 1vBXWJ-0000000GS8z-0Orw
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:00:47 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id 2DB014ECA99
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:00:46 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id F26F8340295;
	Wed, 22 Oct 2025 12:00:42 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZU0fnZtG"
X-Original-To: Stable@vger.kernel.org
Received: from mail-yx1-f51.google.com (mail-yx1-f51.google.com [74.125.224.51])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 472603161AF
	for <Stable@vger.kernel.org>; Wed, 22 Oct 2025 12:00:41 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.51
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761134442; cv=none; b=EDp56khSJwMaWHE0kd8W47mYInxwAdRzf5v0/7OvifVk7gcUqVkSLSu5Gy9ObbNa32KjqRmepsT7uzvbFi3tr0OJcETCsyV3cXytc4hti7YF/6BfOHRiUHic0meX37wykZgN1qDIHKKgdAP0SSNO249QnHZuYnXWURMdY4cTF9Q=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761134442; c=relaxed/simple;
	bh=97a8tZjKqwRtHNr6BZl+meSJb3s8o64hqDASwzxbu5E=;
	h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
	 To:Cc:Content-Type; b=pR20Q8mJP9Y3ZRyR30XLGE+44uUvn+QEFkhPTdKrXRbOAswWFZ7g3+JATy32eKmWIOChIiDS2hBoLsE6s/Px0iQ1Tci4u/sTqUUTPy3WOof08u+7AOg1iNfsI08MXuhVtHpisXuVxhlv6oNq6FvizfOe50PB/rPUA0zOpWLLEIY=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=ZU0fnZtG; arc=none smtp.client-ip=74.125.224.51
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
Received: by mail-yx1-f51.google.com with SMTP id 956f58d0204a3-63d97bcb898so1517948d50.0
        for <Stable@vger.kernel.org>; Wed, 22 Oct 2025 05:00:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1761134440; x=1761739240; darn=vger.kernel.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/6uhgqipKW89TbAKSJ0VsiSw+i7Bc0BvME8dlqiNOkU=;
        b=ZU0fnZtGUkFNuLa8Ca6e43Ct9sxzfOOMFNaD/PsOrrOIveuOY7JsxWvOuqyz8EarfA
         TooN8WmQWzEWlnMScJOSM9H4gtWDzlxtj2bqLSlXnMxv0gtZQWk19KaRQ6tm6BgZcxaw
         Qb3DRFQZDjD4/xKWBl9AaBFWNUCPir1scC3exaxZbF8lDVV5NpArwYWzo11fwi5ii4F1
         Pfr1ZMmDhOrTvcm2Z57Zj4GIAHL1RIexvGC6RgHQaUCD25y23vjfBen9k2VukcKern18
         AvQL9FnGDL790sKs1WsCuE7JW3o3X4bA5UfnYJLtpa36JrSFOmKfMUKlPZxJAj+Hn42y
         AQiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761134440; x=1761739240;
        h=content-transfer-encoding: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=/6uhgqipKW89TbAKSJ0VsiSw+i7Bc0BvME8dlqiNOkU=;
        b=JY/HnWuF4e8vkd8R8eGW7s9F5zr4xRrawra494ePPZ8DjfbXUIL6uWkl93b8QYxLuC
         RW/H1Fh8umrr5KYnau7clVQXEkv3L7P/3UEjhEvB1bawodwhxpwtwIdrv/hFqGJVVG5s
         75u2Kn42ArZlSGdvVwgiR344UzVr/h8c7GsEAaLl/SERSMN5vVDltmZkzQOnLPWlS/rB
         cKtY380gRyiPbPF4kxIuNGYCiqL8hCSMYgfLtLSr17RgsbXh3jsjOaP8rPhzTA3xeEKi
         nxexYvojbQmAC+wr0KNDp8UA4933Y/ZPFdLBflhLACqkR+jGaE3VHWJpaEg458YASRlO
         D6nQ==
X-Gm-Message-State: AOJu0Yyk+w39d0KdhgBIHRb3g9G0YzWQL2dN3zZ3wuwXqZs9F9SxE/rV
	vZUMHqfDqtNpkyuEeKcIhSD1vRQEqa3UjeBkwKnorEkfeRvfxRyQnQfgjSvOvap425c45QFjtnR
	w6dxEgJnh8/IG8dlr/iLR9Hh2RpdKC5c=
X-Gm-Gg: ASbGncuhWOrPuK+ZeZUWMHmtd1eg7wsjRkZ0Tx3EHV27XC/O7NQKk64IGwFKTiDqBCY
	7rWZghWclgRCuQTEGwGzJ4eILDcEjplYk2vBPZi09u8M4Zv2T9m4MAiGQIVikp84WoJP1RX+o/W
	97md4LbLl7kTdKcbafmXME8sXDtTKfowe5CSUhtdwJbcsTMArf7VAboyTFijuEdnivTfYy8GSWe
	XAshreGgxdnY0+LlVJCDI0uuX6jZHxvGgM0jbCbn5KvIvp2yDtKvwuWE3YHHA==
X-Google-Smtp-Source: AGHT+IHe7HPf6WFvrCRkjbNGAn3hqNruzzhDGzkeQpPjDeNqpVAuLbWf1eiEYp5Q7LepTL72CtjhjX2Ia5Crn9kuh08=
X-Received: by 2002:a05:690e:1a8d:b0:63b:a941:90c1 with SMTP id
 956f58d0204a3-63f2f5b4e47mr755807d50.12.1761134440040; Wed, 22 Oct 2025
 05:00:40 -0700 (PDT)
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
References: <20251021104002.249745-2-srinivas.kandagatla@oss.qualcomm.com>
 <20251022003429.4445-1-threeway@gmail.com> <76567559-4cac-467f-9740-e8a539a445f7@oss.qualcomm.com>
In-Reply-To: <76567559-4cac-467f-9740-e8a539a445f7@oss.qualcomm.com>
From: Steev Klimaszewski <threeway@gmail.com>
Date: Wed, 22 Oct 2025 07:00:29 -0500
X-Gm-Features: AS18NWAgMZIyWSBaRtc28HmRupfvFkfndCADg6zxwcxhZ5F7Sr-vfM6vIit3CAM
Message-ID: <CAOvMTZjjCn5gDgOrf_2++QjfdCxz2PXTey5Nh_-=caB4wX1g5Q@mail.gmail.com>
Subject: Re: [PATCH v2 0/4] ASoC: qcom: sdw: fix memory leak
To: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Cc: Stable@vger.kernel.org, alexey.klimov@linaro.org, broonie@kernel.org, 
	krzysztof.kozlowski@linaro.org, linux-arm-msm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-sound@vger.kernel.org, perex@perex.cz, 
	srini@kernel.org, tiwai@suse.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-DKIM: signer='gmail.com' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 2.4 (++)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (2.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  2.0 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in
                             bl.spamcop.net
               [Blocked - see <https://www.spamcop.net/bl.shtml?74.125.224.51>]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider
                             [threeway[at]gmail.com]
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [142.0.200.124 listed in list.dnswl.org]
  0.0 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and
                             EnvelopeFrom freemail headers are
                             different
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 24

Hi Srini,

On Wed, Oct 22, 2025 at 4:52=E2=80=AFAM Srinivas Kandagatla
<srinivas.kandagatla@oss.qualcomm.com> wrote:
>
> On 10/22/25 1:34 AM, Steev Klimaszewski wrote:
> > Hi Srini,
> >
> > On the Thinkpad X13s, with this patchset applied, we end up seeing a NU=
LL
> > pointer dereference:
> >
>
> Thanks Steev,
> I think I know the issue, There was a silly typo in 3/4 patch.
> Could you please try this change, I will send this in v3 anyway;
>
>
> -------------------------->cut<------------------------
> diff --git a/sound/soc/qcom/sdw.c b/sound/soc/qcom/sdw.c
> index 16bf09db29f5..6576b47a4c8c 100644
> --- a/sound/soc/qcom/sdw.c
> +++ b/sound/soc/qcom/sdw.c
> @@ -31,6 +31,7 @@ static bool qcom_snd_is_sdw_dai(int id)
>         case RX_CODEC_DMA_RX_6:
>         case RX_CODEC_DMA_RX_7:
>         case SLIMBUS_0_RX...SLIMBUS_6_TX:
> +               return true;
>         default:
>                 break;
>         }
>
> -------------------------->cut<------------------------
>
> thanks,
> Srini>

Yep, that does it :)  Thanks for the quick fix.

Tested-by: Steev Klimaszewski <threeway@gmail.com> # Thinkpad X13s

-- steev


From - Wed Oct 22 13:31:24 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188979-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id WIfCMAzI+Gi6qTsAYBR5ng
	(envelope-from <stable+bounces-188979-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:03:24 +0000
Return-path: <stable+bounces-188979-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 12:03:24 +0000
Received: from dfw.mirrors.kernel.org ([142.0.200.124])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188979-hi=josie.lol@vger.kernel.org>)
	id 1vBXYq-0000000GY5r-2XBE
	for hi@josie.lol;
	Wed, 22 Oct 2025 12:03:24 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by dfw.mirrors.kernel.org (Postfix) with ESMTPS id A63034F8C65
	for <hi@josie.lol>; Wed, 22 Oct 2025 12:02:50 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id B402C340A46;
	Wed, 22 Oct 2025 12:02:46 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=futuring-girl.com header.i=@futuring-girl.com header.b="XJKCzpAB"
X-Original-To: stable@vger.kernel.org
Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0B5F32ED27
	for <stable@vger.kernel.org>; Wed, 22 Oct 2025 12:02:43 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.179
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761134566; cv=none; b=MCmM6UBR2nxSYpjVxhAC5SlQxb4GvSXC/3kr+PCuqPH8i6MSjCp1WMVMS6+W9Qc7x5U4ntEJhZUnw+mPf//hHSKZBV3rf5KI6dXnSwgPJFNS+8KVb9/BhT+5uzPAp8/78SHLwV2YxmmyI/6+FGQpLtIz9Tx261AHOnxipbSaTu4=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761134566; c=relaxed/simple;
	bh=qc+TGmxJjDR8e93EuCMFZsvuB2trJNVKy1yWPZqivBc=;
	h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:
	 To:Cc:Content-Type; b=Ln5fN35/fYFHZ5MWR6pY/jvPhYvkyrAQRuj8dtZFUMd4N4MFFa458CQn1R+3zV+98OGJsZpMPalPdYY2gWCDpn9ZASJSAQAPcTVoRhwLFV6rxOcZHm5Q0jlvdMH1zjPDGt8Btsj3v02rnKhBkYBTRi10+v7bMXG+JbUSSMlFsmI=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=futuring-girl.com; spf=pass smtp.mailfrom=futuring-girl.com; dkim=pass (2048-bit key) header.d=futuring-girl.com header.i=@futuring-girl.com header.b=XJKCzpAB; arc=none smtp.client-ip=209.85.215.179
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=futuring-girl.com
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=futuring-girl.com
Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-b6ce696c18bso359834a12.1
        for <stable@vger.kernel.org>; Wed, 22 Oct 2025 05:02:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=futuring-girl.com; s=google; t=1761134563; x=1761739363; darn=vger.kernel.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d5/wbf6GFhoGu3668TdoXMB0FT53GKQn1LtblB+CeVA=;
        b=XJKCzpABZvpOntw5f+NpGJ9RnShY54S2mztKg2R14SMf5F4WbZdKnyWpa1DaVI2CDD
         9D6V7q9q9LDgB6873yjqSXflbxCHeRpb0y7Kcn8cNNqZ8nKI3igqOAW4Z5I5QuT+d1X2
         +EEuGbTRWTMlyRtyJjLJbkQa/JcKP3+IB9jpTkZAgLbGK5plPyZp92wt8alWB9eO2fEJ
         KGvWAuwk3imBtGmofvHAtxFIIeIW0TO4RVTbk4GCf7FDZa9PzHaoVOK/zl9ViqJCjb3a
         L3KenxeaoPWI1UR22IFLMNVCxIyRcShtaj32S1n7epd6q9wQhIowW9CPgRz1h2JU7PK3
         s4iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761134563; x=1761739363;
        h=content-transfer-encoding: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=d5/wbf6GFhoGu3668TdoXMB0FT53GKQn1LtblB+CeVA=;
        b=jdWLfTvvTWRaxeD6yli5b/8m5hX3dOpDx0UxlJL1p/EQ9O1UE+c3Hf8skx8jG2B08R
         1QGZq3DJg1w48Q+npTpKLPB3Eiu2kEbq2/3id/5PVF3YDhscuaT78rQ7Y6mdRattzdqU
         0j8aePgXdlJRIbe+Okgfqg99tlIlyc7ziNBB+Zn+I/v2gDaKwgIYoBZ6kkD45Z6YvgST
         gUajxjtzYQ+xlTr9UPSnowDPYNiApMh+5JLs3t8plUzz6UHSXblweMjZseIOHyes8Fkc
         GkTLd94BEKDePshlSqWFT0F1tv5d1aq1ysv9Jya7y+mtdn9AwTaMsxzZFf/6lJw/JiLN
         cM5g==
X-Gm-Message-State: AOJu0Yy7SgllpJvCiINHHz3QJWIDZWJDrgvDqezqR53nrkRdlkJVm9sS
	3oSZ/MTnFI1MXKjLNBvUfNgGNSHPLwBziG2c//dFKWz9L5e7tOkalkpVqhQBh28u+Wtxyxdc8uy
	CtKJafuAEbrl1W2KVMCq3nmlnF+u7fbzqO/LEasGqHQ==
X-Gm-Gg: ASbGncv7gO9GUD6Ji2ES4j8/SePFpGNDUFrU31EBHNkaPKdoXqFcH7bBBeACEKHDEuF
	HEHANRxaE3jTs0TjVNr5NDp3yD2L54c2sezZrLL3zWq4ItsWn/9WTLgH9j8sTqxZprZF8Ey1+1B
	bTLg+j43u6qf9y7fh+o0ZQdOaEoAGqm6G0SxVllCNQ5atD8opBVpmTBgZc4vr8cD4vklpF54yvN
	j1pKErysAJ+CTIes3S3Fy/Dsc5IEfVX2syPYJncUksC2AH4poN8Biyg1JB7MEmd45bMWdWEUO4F
	N1f/m8fcT+d/vfTYE1OsTxchxo2T
X-Google-Smtp-Source: AGHT+IFL5t8enG2Zw7oK7pknpiCUZ9vYUeXHaONtu4SrU5QNhCELXo3GPXNs5SlUx4N7/HvLFJQcnXzAdCHO9w8JdQ0=
X-Received: by 2002:a17:902:cecb:b0:290:c94b:8381 with SMTP id
 d9443c01a7336-290c9c89dbbmr301590825ad.7.1761134562657; Wed, 22 Oct 2025
 05:02:42 -0700 (PDT)
Precedence: bulk
X-Mailing-List: stable@vger.kernel.org
List-Id: <stable.vger.kernel.org>
List-Subscribe: <mailto:stable+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:stable+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
References: <20251022053328.623411246@linuxfoundation.org>
In-Reply-To: <20251022053328.623411246@linuxfoundation.org>
From: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Date: Wed, 22 Oct 2025 21:02:26 +0900
X-Gm-Features: AS18NWDUgkoVTtfgD8dgXCgAaXo5KDUPhO3XXcd_9Q3gWO6keur8-RT4nYB1Nl0
Message-ID: <CAKL4bV747Ucee17YwB4y5L_We7Kk5aRe4REckptqgfH2+o2LxQ@mail.gmail.com>
Subject: Re: [PATCH 6.17 000/160] 6.17.5-rc2 review
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: stable@vger.kernel.org, patches@lists.linux.dev, 
	linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, 
	akpm@linux-foundation.org, linux@roeck-us.net, shuah@kernel.org, 
	patches@kernelci.org, lkft-triage@lists.linaro.org, pavel@denx.de, 
	jonathanh@nvidia.com, f.fainelli@gmail.com, sudipm.mukherjee@gmail.com, 
	rwarsow@gmx.de, conor@kernel.org, hargar@microsoft.com, broonie@kernel.org, 
	achill@achill.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-DKIM: signer='futuring-girl.com' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.4 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.4 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [142.0.200.124 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
 -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from
                             author's domain
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
  0.0 URIBL_BLOCKED          ADMINISTRATOR NOTICE: The query to URIBL was
                             blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
                              for more information.
                             [URIs: futuring-girl.com]
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 4

Hi Greg

On Wed, Oct 22, 2025 at 2:34=E2=80=AFPM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> This is the start of the stable review cycle for the 6.17.5 release.
> There are 160 patches in this series, all will be posted as a response
> to this one.  If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Fri, 24 Oct 2025 05:33:10 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
>         https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-=
6.17.5-rc2.gz
> or in the git tree and branch at:
>         git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable=
-rc.git linux-6.17.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

6.17.5-rc2 tested.

Build successfully completed.
Boot successfully completed.
No dmesg regressions.
Video output normal.
Sound output normal.

Lenovo ThinkPad X1 Carbon Gen10(Intel i7-1260P(x86_64) arch linux)

[    0.000000] Linux version 6.17.5-rc2rv-g3cc198d00990
(takeshi@ThinkPadX1Gen10J0764) (gcc (GCC) 15.2.1 20250813, GNU ld (GNU
Binutils) 2.45.0) #1 SMP PREEMPT_DYNAMIC Wed Oct 22 19:52:46 JST 2025

Thanks

Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>


From - Wed Oct 22 13:31:54 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <io-uring+bounces-10100-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id EIm6Acjc+GgG1AUAYBR5ng
	(envelope-from <io-uring+bounces-10100-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:31:52 +0000
Return-path: <io-uring+bounces-10100-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 13:31:52 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <io-uring+bounces-10100-hi=josie.lol@vger.kernel.org>)
	id 1vBYwR-00000001gjS-1FJW
	for hi@josie.lol;
	Wed, 22 Oct 2025 13:31:52 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 7DB143B8B11
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:17:54 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id CA64226ED3C;
	Wed, 22 Oct 2025 13:17:51 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="g8bJ4ve4"
X-Original-To: io-uring@vger.kernel.org
Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A87526ED24
	for <io-uring@vger.kernel.org>; Wed, 22 Oct 2025 13:17:48 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.48
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761139071; cv=none; b=sDZ5uiV6YYsYoqiMW26T+4lDNqfmE34w4JCiUajHy/3Hb6EjJE/FD7Y7u3BpWemY26BPOMdg49UlCTZdI7OJqY7oE/xJ9ekZemFJSTXKX9mWh9inWxB97TlEJg1cJO2RmgbsJ5vOEVriL7kBDdXmSoE9A+UgzCS7iGyVsLbf5KM=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761139071; c=relaxed/simple;
	bh=bcHlOIBD3oxp4mVOg26FIl6pVq4j9LipEQCMx5XySDQ=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:
	 In-Reply-To:Content-Type; b=qXhws4XS/PsOaACgfBNVYlW0nOSO09xaB63PjAbGwwY0nOvyDq1eWvFo98OmMe5QKj5D+HhfBMvUdOzW3lDg/oMMGmasP88a3aKNohWPbtxEdIDZLCktNrPe6I5y+nk5CGTkBQfCA1CowfgWEV0/jAvw5rrqnjhkX+eUdhtfwAc=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk; spf=pass smtp.mailfrom=kernel.dk; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b=g8bJ4ve4; arc=none smtp.client-ip=209.85.166.48
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.dk
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kernel.dk
Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-93e89a59d68so179487439f.0
        for <io-uring@vger.kernel.org>; Wed, 22 Oct 2025 06:17:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1761139067; x=1761743867; darn=vger.kernel.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=io5+b/Dl+rJ0SS6Ga9nnU2IbdWExfhLs1otAYNw8S+Q=;
        b=g8bJ4ve4V9ohSIXFB0RJhey2g4lW7qipKQQudvfzB8VySoMFuoMtTvSFcIs5MzT/RV
         duRcWpLROGiT8rLspXqwzfsKYTakWrTzndGj7rrlLeZcb2KtPYnRk89oVR2sxCQHRy5Q
         l+AuvYTvD06Wov7/EWGviz1U92UTwV/JZC55x8ZaAex8HVh8br7rfiJ3vofmA6OU/ryQ
         K3uDNxUMbaU1aX61GP0lrAVO8Blv0IQl/1sY6cEzcG6M7Rvt1R2iloodpd8oHlWpWYF1
         09AI3Ahb11cwQyEk3w5c+u5T/iiATEc1k27egIyaIqYqth5pOFCrq+x0LIEGC04WJL0F
         tBCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1761139067; x=1761743867;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=io5+b/Dl+rJ0SS6Ga9nnU2IbdWExfhLs1otAYNw8S+Q=;
        b=XbFani/uWcuvxoNu4URqoSsQbTgrI+qNTsYNLOO9mf5Xe7kIdNKmqQlnzRQnoX2cWE
         BsVFvWFZEuj6re89Pt+EYvAP5TnJl1K5gwB3EqSF5D3BGqQRUrYu18MrLogDyV700srA
         4wAWi07YaE+JbfkdyDj4SAWVZVCZk3lWlwfHGsp0PhuqQC5viYZDi1OxMRf4n0Nw8AsJ
         tXQxOLez9wf99JzkzT9Uj6koNXVau98pw1tiON6RcQKptpkVUIDEEvPJr/ldtQEkql3B
         xNCS/dD+2lbjmmWCvUWz1qgrnziGJHoYASSDkk8ZRdWAOyyndqRJ2tsxKX0ikMFUoXs1
         VHsg==
X-Forwarded-Encrypted: i=1; AJvYcCUYzIv9rMSxPaYQnz+8prlgCAysNcCOzZnYG9nh7GZXCouQThdVsaDL3yyAFM5r2oxI7plmdl9ANQ==@vger.kernel.org
X-Gm-Message-State: AOJu0YwS76QJBPuZIfB7E/fU0tCGyqTNrvRXycsrEsEnK07lIbBf5PXe
	gQM8AArPGpsFHA6CSSWLWtGgJ6/qZl85xw2mCz+Cr3bLsUQwzBoV19F0yxrE/0ptQ5s=
X-Gm-Gg: ASbGncsw6jwPznEC/G9Zl+r68p29vVfPXn6Xjvf1Uvjad44xd746iWHlb5mnoWp72WE
	BtaAgK1LZKddH/AJgGC1ULBC90bMhpJy3AWcfa4xRmuriu3PVXy5xq37CVKQJfwJqIYExp4zT0f
	aZ3TFqM3xX6WzznsMQQgqoSNZeJc9WglrV4VXT+AsDhkSN9b9pKHSLxb+r8hWTv1Fjnv6hVBsYw
	N/FbGC/6aC+ls7el/qHx16Yx7za9xZbrQLA9KOXJfcmpatbmiqyM7L6yfvS/A94q1RpEmi6m8vW
	3ZRq9N5rWXABjpjBuLCVR6SU2UUAjIQRElG03gqI1NKFjwlxcI72M3ATF9X8tVecpy/W6ICqJ1Q
	XZI2uxrP0FzkT8NlhVL113ByKvpJsB3ZrT6K44wPfhBg6BkqKdihkmVD7bahPB62D2WAJxGP4Kn
	B/nSlJWE8=
X-Google-Smtp-Source: AGHT+IFxN/gtR5CCRmZKybvHgMrdakXUkYxhb+HjCqrJbjodILVkGXRUicgJOreSS8VpLkI4cMUplg==
X-Received: by 2002:a05:6e02:1d98:b0:425:7526:7f56 with SMTP id e9e14a558f8ab-430c5204a9fmr243210645ab.5.1761139067095;
        Wed, 22 Oct 2025 06:17:47 -0700 (PDT)
Received: from [192.168.1.116] ([96.43.243.2])
        by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-5a8a973ec13sm5035688173.38.2025.10.22.06.17.45
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Wed, 22 Oct 2025 06:17:46 -0700 (PDT)
Message-ID: <832b03de-6b59-4a07-b7ea-51492c4cca7e@kernel.dk>
Date: Wed, 22 Oct 2025 07:17:45 -0600
Precedence: bulk
X-Mailing-List: io-uring@vger.kernel.org
List-Id: <io-uring.vger.kernel.org>
List-Subscribe: <mailto:io-uring+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:io-uring+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/1] io_uring zcrx: add MAINTAINERS entry
To: Pavel Begunkov <asml.silence@gmail.com>, David Wei <dw@davidwei.uk>,
 io-uring@vger.kernel.org, netdev@vger.kernel.org
Cc: Jakub Kicinski <kuba@kernel.org>, Mina Almasry <almasrymina@google.com>
References: <20251021202944.3877502-1-dw@davidwei.uk>
 <60d18b98-6a25-4db7-a4c6-0c86d6c4f787@gmail.com>
Content-Language: en-US
From: Jens Axboe <axboe@kernel.dk>
In-Reply-To: <60d18b98-6a25-4db7-a4c6-0c86d6c4f787@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-DKIM: signer='kernel-dk.20230601.gappssmtp.com' status='pass' reason=''
DKIMCheck: Server passes DKIM test, 0 Spam score
X-Spam-Score: 0.5 (/)
X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has
 performed the tests listed below against this email.
 Information: https://mxroutedocs.com/directadmin/spamfilters/
 ---
 Content analysis details:   (0.5 points)
 ---
  pts rule name              description
 ---- ---------------------- -----------------------------------------
  0.0 RCVD_IN_DNSWL_BLOCKED  RBL: ADMINISTRATOR NOTICE: The query to
                             DNSWL was blocked.  See
                             http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block
                              for more information.
                             [139.178.88.99 listed in list.dnswl.org]
  1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
                             mail domains are different
  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, not necessarily
                             valid
 -0.1 DKIM_VALID             Message has at least one valid DKIM or DK signature
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager
SpamTally: Final spam score: 5

On 10/22/25 5:38 AM, Pavel Begunkov wrote:
> On 10/21/25 21:29, David Wei wrote:
>> Same as [1] but also with netdev@ as an additional mailing list.
>> io_uring zero copy receive is of particular interest to netdev
>> participants too, given its tight integration to netdev core.
> 
> David, I can guess why you sent it, but it doesn't address the bigger
> problem on the networking side. Specifically, why patches were blocked
> due to a rule that had not been voiced before and remained blocked even
> after pointing this out? And why accusations against me with the same
> circumstances, which I equate to defamation, were left as is without
> any retraction? To avoid miscommunication, those are questions to Jakub
> and specifically about the v3 of the large buffer patchset without
> starting a discussion here on later revisions.
> 
> Without that cleared, considering that compliance with the new rule
> was tried and lead to no results, this behaviour can only be accounted
> to malice, and it's hard to see what cooperation is there to be had as
> there is no indication Jakub is going to stop maliciously blocking
> my work.

The netdev side has been pretty explicit on wanting a MAINTAINERS entry
so that they see changes. I don't think it's unreasonable to have that,
and it doesn't mean that they need to ack things that are specific to
zcrx. Nobody looks at all the various random lists, giving them easier
insight is a good thing imho. I think we all agree on that.

Absent that change, it's also not unreasonable for that side to drag
their feet a bit on further changes. Could the communication have been
better on that side? Certainly yes. But it's hard to blame them too much
on that front, as any response would have predictably yielded an
accusatory reply back. And honestly, nobody wants to deal with that, if
they can avoid it. Since there's plenty of other work to do and patches
to review which is probably going to be more pleasurable, then people go
and do that.

The patch David sent is a way to at least solve one part of the issue,
and imho something like that is a requirement for anything further to be
considered. Let's perhaps roll with that and attempt to help ourselves
here, by unblocking that part.

Are you fine with the patch? If so, I will queue it up and let's please
move on from beating this dead horse.

-- 
Jens Axboe


From - Wed Oct 22 13:33:23 2025
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <stable+bounces-188990-hi=josie.lol@vger.kernel.org>
Delivered-To: hi@josie.lol
Received: from witcher.mxrouting.net
	by witcher.mxrouting.net with LMTP
	id WCEuDSHd+Ggb+gQAYBR5ng
	(envelope-from <stable+bounces-188990-hi=josie.lol@vger.kernel.org>)
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:33:21 +0000
Return-path: <stable+bounces-188990-hi=josie.lol@vger.kernel.org>
Envelope-to: hi@josie.lol
Delivery-date: Wed, 22 Oct 2025 13:33:21 +0000
Received: from sv.mirrors.kernel.org ([139.178.88.99])
	by witcher.mxrouting.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
	(Exim 4.98)
	(envelope-from <stable+bounces-188990-hi=josie.lol@vger.kernel.org>)
	id 1vBYxs-00000001jo4-3fuo
	for hi@josie.lol;
	Wed, 22 Oct 2025 13:33:21 +0000
Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140])
	(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by sv.mirrors.kernel.org (Postfix) with ESMTPS id 4DCEB621EEC
	for <hi@josie.lol>; Wed, 22 Oct 2025 13:12:10 +0000 (UTC)
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
	by smtp.subspace.kernel.org (Postfix) with ESMTP id 9288D346E7C;
	Wed, 22 Oct 2025 13:09:18 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org;
	dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.b="HG7mUdE0"
X-Original-To: stable@vger.kernel.org
Received: from mx.denx.de (mx.denx.de [89.58.32.78])
	(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 98F0E26ED5D;
	Wed, 22 Oct 2025 13:09:16 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=89.58.32.78
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
	t=1761138558; cv=none; b=B/zCRiHk3H5jghQoAxSrSdxaDxuLpWfAoVRJ/hG8xZGi/XPYqk1AUm16dNFFzGvZYqxFvclTaHX2Ie/c3BQIPjBF3Yfr8XcvmOSGA9RweRg6zF2eXBMGwmA4/S9LzZ9c0dwfWpAQdrNSWNX68r5O4Enu6y9WWwUJ5h9H0NtKDJg=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
	s=arc-20240116; t=1761138558; c=relaxed/simple;
	bh=iCTviRihb3X0oAInsyVo5UH7WAmxGJ5YDx2HNR/5HrQ=;
	h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
	 Content-Type:Content-Disposition:In-Reply-To; b=aSPoAcVuOvP/QBn22cwLWWFpJ5mYehhEGMNYxUyGHe1fesPZhjbK1l1LBcsahB1dky1HBmqaL1qWJkaL8/X0ICeQT/gdlTBqBu+Bv7gBKv8NwOkb1ctIhY74JqKYE2qqR5CM8a+taz3aOy/OkQ9J80WWjGRFlyNaaOorc1ZTCHw=
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=denx.de; spf=pass smtp.mailfrom=denx.de; dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.b=HG7mUdE0; arc=none smtp.client-ip=89.58.32.78
Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=denx.de
Authe{
	"@metadata": {
		"authors": [
			"Amgine",
			"C.R.",
			"Clamengh",
			"Dakrismeno",
			"DannyS712",
			"DracoRoboter",
			"Eafoð",
			"El Bux Del Cu",
			"Fitoschido",
			"Flavio05",
			"GatoSelvadego",
			"Geitost",
			"Insübrich",
			"Kemmótar",
			"Macofe",
			"Malafaya",
			"Matma Rex",
			"Ninonino",
			"Reedy",
			"Remulazz",
			"S4b1nuz E.656",
			"SabineCretella",
			"Salvemm el lombard",
			"Snowdog",
			"Sprüngli",
			"V6rg",
			"아라"
		]
	},
	"pagecategories": "{{PLURAL:$1|Categoria|Categorie}}",
	"category_header": "Pagine in la categoria \"$1\"",
	"subcategories": "Sotocategorie",
	"category-media-header": "Fail in la categoria \"$1\"",
	"category-empty": "''Adess questa categoria chì no la gh'ha dent né de pagine né de fail audio-visiv''",
	"hidden-categories": "{{PLURAL:$1|Categoria scunduda|Categorie scundude}}",
	"hidden-category-category": "Categurie scundude",
	"category-subcat-count": "{{PLURAL:$2|Quella categoria chì la gh'ha doma una sot-categoria, missa chì de sota.|Quella categoria chì la gh'ha {{PLURAL:$1|una sot-categoria|$1 sot-categorie}} chì de sota, su un numer complessiv de $2.}}",
	"category-subcat-count-limited": "Quella categoria chì la gh'ha denter {{PLURAL:$1|la sot-categoria| i $1 sut-categorie}} chì de bass.",
	"category-article-count": "{{PLURAL:$2|Questa categoria chì la gh'ha doma 'sta pagina chì.|In questa categoria chì gh'è {{PLURAL:$1|la pagina indicada|i $1 pagine indicade}} de $2 complessive che gh'inn.}}",
	"category-article-count-limited": "Questa categoria la gh'ha dent {{PLURAL:$1|l'articol|i $1 articoi}} elencad chì de sota:",
	"category-file-count": "{{PLURAL:$2|Quella categoria chì la gh'ha denter doma el fail chì de sota|Quella categoria chì la gh'ha denter {{PLURAL:$1|'l fail|$1 i fail}} riportad chì de sota, su un total de $2.}}",
	"category-file-count-limited": "Questa categoria la gh'ha dent {{PLURAL:$1|l'archivi|i $1 archivi}} indicad chì adree:",
	"index-category": "Pagine indicizade",
	"noindex-category": "Pagine minga indicizade",
	"broken-file-category": "Pagine con dent di conligament che 'i van minga",
	"about": "In quant a",
	"article": "Pagina de contegnud",
	"newwindow": "(la sa derva in d'un'altra finestra)",
	"cancel": "Lassa perder",
	"moredotdotdot": "An'mò...",
	"morenotlisted": "Questa lista la podariss vesser minga completa.",
	"mypage": "La mia pagina",
	"mytalk": "I mè discussion",
	"anontalk": "Ciciarada",
	"navigation": "Navigazzion",
	"and": "&#32;e",
	"faq": "FAQ",
	"actions": "Azzion",
	"namespaces": "Spazzi di nom",
	"variants": "Variant",
	"navigation-heading": "Menù de navigazzion",
	"errorpagetitle": "Eror",
	"returnto": "Torna indrée a $1.",
	"tagline": "De {{SITENAME}}",
	"help": "Ajut",
	"help-mediawiki": "Ajut sora la MediaWiki",
	"search": "Cerca",
	"search-ignored-headings": " #<!-- lassa questa riga chì 'me che l'è --> <pre>\n# Lista di intestazzion ch'i sarann ignorade de la ricerca.\n# I modifeghe a questa pagina chì i sarann effetive pena che la la pagina la sarà indesizzada.\n# Te podet sforzà la rindesizazzion d'una pagina con l'efetuà una modifica voeuda.\n# La sintassi a l'è questa chì:\n#   * La roba ch'a l'è compresa infra el carater \"#\" e la fenitiva de la riga a l'è 'n coment\n#   * Tute i righe minga voeud inn i intestazzion precise de isgnorà esatte da ignorare, letere majuscole/minuscole e tuscoss\nNote\nVos correlade\nLigam de foeura\n #</pre> <!-- lassa questa riga chì 'me che l'è -->",
	"searchbutton": "Cerca",
	"go": "Inanz",
	"searcharticle": "Và",
	"skin-view-history": "Varda la storia",
	"history": "Storia de la pagina",
	"history_short": "Cronologia",
	"history_small": "cronologia",
	"updatedmarker": "agiornada de l'oltima volta che te see passad dent",
	"printableversion": "Version stampabil",
	"printableversion-deprecated-warning": "La version stampabil l'è pu suportada e la podariss avegh dent di eror de restituzzion. Per piasè atualiza i preferid del to curiosador e dopera putost la funzion predefinida de stampa del to curiosador.",
	"permalink": "Conligament permanent",
	"print": "Stampa",
	"view": "Varda",
	"viewcontribs": "Varda i contribuzzion",
	"skin-view-view": "Lensg",
	"skin-view-foreign": "Varda su $1",
	"edit": "Fà un cambiament",
	"skin-view-edit": "Fà un cambiament",
	"edit-local": "Cambia la descrizzion local",
	"create": "Crea",
	"skin-view-create": "Crea",
	"create-local": "Sgiontegh 'na descrizzion local",
	"delete": "Scassa",
	"undelete_short": "Rimet a post {{PLURAL:$1|1 mudifica|$1 mudifiche}}",
	"viewdeleted_short": "Varda {{PLURAL:$1|ona modifica scancellada|$1 modifeghe scancellade}}",
	"protect": "Protesg",
	"protect_change": "cambia",
	"skin-action-unprotect": "Cambia la protezzion",
	"unprotect": "Cambia la protezzion",
	"newpage": "Pagina noeuva",
	"newpage-desc": "Dàgh l'inviada a ona pagina noeuva per on argoment che l'è stad domandad.",
	"view-missing-pages": "Varda i pagine che i manchen",
	"talkpagelinktext": "ciciarada",
	"specialpage": "Pagina special",
	"personaltools": "Istrument personai",
	"talk": "Discussion",
	"views": "Viste",
	"toolbox": "Istrument",
	"cactions": "An'mò",
	"tool-link-userrights": "Modifica grup {{GENDER:$1|utent}}",
	"tool-link-userrights-readonly": "Fà vedè grup {{GENDER:$1|utent}}",
	"tool-link-emailuser": "Manda un messagg de posta eletronica a quell {{GENDER:$1|utent}} chì",
	"imagepage": "Varda la pagina del fail",
	"mediawikipage": "Mostra el messagg",
	"templatepage": "Varda el modell",
	"viewhelppage": "Fà vedè la pagina de ajut",
	"categorypage": "Varda la pagina de la categoria",
	"viewtalkpage": "Varda i discussion",
	"otherlanguages": "In alter lengue",
	"redirectedfrom": "(Rimandad de $1)",
	"redirectpagesub": "Pagina de redirezzion",
	"redirectto": "Rimanda a:",
	"lastmodifiedat": "'Sta pagina chì l'è stada modifegada l'ultima volta el $1, ai ore $2.",
	"renderedwith-parsoid": "La pagina l'è stada renderizada con [[mw:Special:MyLanguage/Parsoid|Parsoid]].",
	"viewcount": "Questa pagina chì a l'è stada lensgiuda {{PLURAL:$1|una volta|$1 volte}}.",
	"protectedpage": "Pagina protesgiuda",
	"jumpto": "Va a:",
	"jumptonavigation": "navigazzion",
	"jumptosearch": "cerca",
	"view-pool-error": "Ne rincress, ma adess a gh'è on bordelleri in sui server.\nTrop tanti utent a inn 'dree provà a vardà quella pagina chì.\nPer piasè, specia un moment prima de provà an'mò a vardà 'sta pagina chì.\n\n$1",
	"generic-pool-error": "Ne rincress, ma i server a inn bei caregad al moment.\nTrop utent a inn 'dree provà a vardà questa risorsa.\nPer piasè, specia un moment prima de provà a caregà anmò quella risorsa chì.",
	"pool-timeout": "El temp l'è finid intanta ch'a se spetava per blocà",
	"pool-queuefull": "La coa del \"pool\" l'è piena",
	"pool-errorunknown": "Eror minga conossud",
	"pool-servererror": "El contoeur di pool l'è mìnga disponibil ($1).",
	"poolcounter-usage-error": "Eror de utilizazzion: $1",
	"aboutsite": "Informazzion sora {{SITENAME}}",
	"aboutpage": "Project:A proposit de",
	"copyright-footer": "Se minga marcaa in manera diferenta, el cuntegnüü a l'è dispunibil sota a una licenza $1.",
	"copyrightpage": "{{ns:project}}:Dirit d'autor",
	"currentevents": "Aveniment recent",
	"currentevents-url": "Project:Aveniment recent",
	"disclaimers": "Avertenze",
	"disclaimerpage": "Project:Avertenze generai",
	"edithelp": "Manual de spiegazzion",
	"helppage-top-gethelp": "Ajut",
	"mainpage": "Pagina principala",
	"mainpage-description": "Pagina principala",
	"policy-url": "Project:Regole",
	"portal": "Portal de la comunità",
	"portal-url": "Project:Portal de la comunità",
	"privacy": "Politega sora la ''riservatezza''",
	"privacypage": "Project:Informazzion sora la riservatezza",
	"badaccess": "Permiss minga assee",
	"badaccess-group0": "Te gh'è minga el permess de tirà inanz con 'sta operazzion chì.",
	"badaccess-groups": "Quella funzion chì l'è reservada ai utent che a inn in {{PLURAL:$2|del grup|vun di grup chì de sota}}: $1.",
	"versionrequired": "Al ghe va per forza la version $1 de MediaWiki",
	"versionrequiredtext": "Per doprà quella pagina chì la ghe va la version $1 del programa MediaWiki. Varda [[Special:Version]]",
	"ok": "Va ben",
	"retrievedfrom": "Recuperad de \"$1\"",
	"new-messages": "{{PLURAL:$3|Ti te gh'hee}}  $1 ($2).",
	"new-messages-from-users": "{{PLURAL:$4|Te g'het}} $1 de {{PLURAL:$3|on alter utent|$3 utent}} ($2).",
	"new-messages-from-many-users": "Te g'het $1 de diversi utencc ($2).",
	"new-messages-link-plural": "{{PLURAL:$1|un messagg noeuv|999=messagg noeuv}}",
	"new-messages-diff-link-plural": "{{PLURAL:$1|oltim cambiament|999=oltim cambiamencc}}",
	"editsection": "modifega",
	"editold": "modifega",
	"viewsourceold": "fà vedè el codes sorgent",
	"editlink": "modifega",
	"viewsourcelink": "fà vedè el codes sorgent",
	"editsectionhint": "Modifega la sezzion $1",
	"toc": "Contegnud",
	"showtoc": "fà vedè",
	"hidetoc": "scond",
	"collapsible-collapse": "Comprim",
	"collapsible-collapse-all-text": "Comprim tuscoss",
	"collapsible-collapse-all-tooltip": "Comprim tucc i element comprimibel in questa pagina chì.",
	"collapsible-expand": "Derva foeura",
	"collapsible-expand-all-text": "Slarga foeura tuscoss",
	"collapsible-expand-all-tooltip": "Slarga foeura tut i element comprimel in questa pagina chì",
	"confirmable-confirm": "Te see {{GENDER:$1|sicur|sicura}}?",
	"confirmable-yes": "Sì",
	"confirmable-no": "Nò",
	"thisisdeleted": "Varda o rimet a post $1?",
	"viewdeleted": "Voeuret vidè $1?",
	"restorelink": "{{PLURAL:$1|1 modifega scancellada|$1 modifeghe scancellade}}",
	"feed-invalid": "Manera de sottoscrizzion del feed minga valida",
	"feed-unavailable": "Gh'en è minga de feed",
	"site-rss-feed": "Feed RSS de $1",
	"site-atom-feed": "Feed Atom de $1",
	"page-rss-feed": "Feed RSS per \"$1\"",
	"page-atom-feed": "Feed Atom per \"$1\"",
	"red-link-title": "$1 (la pagina la gh'è minga)",
	"sort-descending": "Met en orden del pieou grand al pioeu pesen",
	"sort-ascending": "Met en orden del pioeu pesen al pioeu grand",
	"sort-initial": "Met in ordin per inizzial",
	"sort-rowspan-error": "Questa pagina chì una tabella con una carateristica rowspan che l'intraversa pussee righe de quei che la tabella ghe ha debon. Te podet vegninn foeura de quell problema chì cont el modificà la pagina.",
	"nstab-main": "Articol",
	"nstab-user": "{{GENDER:$1|Pagina de l'utent}}",
	"nstab-media": "Pagina audiovisiva",
	"nstab-special": "Pagina speciala",
	"nstab-project": "Pagina de servizzi",
	"nstab-image": "Fail",
	"nstab-mediawiki": "Messagg",
	"nstab-template": "Modell",
	"nstab-help": "Ajut",
	"nstab-category": "Categoria",
	"mainpage-nstab": "Pagina principal",
	"nosuchaction": "Operazzion minga reconossuda",
	"nosuchactiontext": "L'operazzion che t'hee ciamad in del ligam URL a l'è minga reconossuda.<br />\nEl poeul vesser che t'hee batud mal l'URL, o che set andaa adree a un ligam minga bon.<br />\nQuest chì el pudariss anca indicà un cativ fonzionament dent in del programa doprad de {{SITENAME}}.",
	"nosuchspecialpage": "La gh'è minga una pagina pagina special tant 'me quella che t'hee ciamad",
	"nospecialpagetext": "<strong>T'hee ciamad una pagina special minga valida.</strong>\n\nUna lista di pagine speciai la se pò trovà in de la [[Special:SpecialPages|{{int:specialpages}}]]e",
	"error": "Eror",
	"databaseerror": "Eror in del databeis",
	"databaseerror-text": "Gh'è stad un eror in d'una interrogazzion sul databeis.\nEl pò vesser che ghe sia on eror de programazzion in del programa informatich.",
	"databaseerror-textcl": "Gh'è stat un eror end in d'una query sora el databeis",
	"databaseerror-query": "Ricerca: $1",
	"databaseerror-function": "Fonzion: $1",
	"databaseerror-error": "Eror: $1",
	"transaction-duration-limit-exceeded": "Per evità de creà on alt ritard de replica, quel'operazzion chì l'è stada fermada desgià che la durada del temp de scitura ($1) l'è andada oltra el limit de $2 {{PLURAL:$2|secondo|secondi}}.\nSe te see 'dree a cambià tanti element tucc insema, prova putost a fà vari operazzion con poch element a la volta.",
	"transaction-max-statement-time-exceeded": "Per evitare de creà di caregh fort in sul databeis, questa query l'è stada piantada lì dal moment che la durada l'ha passad la stacheta.\nSe te see 'dree a lensger tanti element insema, putost proeuva a fà diverse query pussee piscine.",
	"laggedreplicamode": "<strong>Atenzion:</strong> el po vesser che la pagina la gh'abia nananmò dent i atualizazzion novelle.",
	"readonly": "Databeis blocad",
	"enterlockreason": "Indicà la reson del bloch e specificà el moment che se pensa de toeuvel via.",
	"readonlytext": "Al moment el database l'è blocad e a se po minga fagh di cambiament o di sgionte ai pagine. El bloch de solit l'è provocad di operazzion de manutenzion ordinaria, dopo di quai se podarà andà an'mò dent in del database. \n\nL'aministrador del sistema che 'l l'ha bloccad l'ha dad questa spiegazzion chì: $1",
	"missing-article": "El databeis l'ha minga trovad el test d'una pagina che el gh'avariss avud de trovà, ciamad \"$1\" $2.\n\nQuest chì a l'è de solet causad perchè el s'è riciamad un paragon intra i revision vegg de la pagina o un ligam a una version vesgia d'una pagina che l'è stada scancelada\n\nSe l'è minga inscì, te podariet avè trovà on cattiv fonzionament in la programadura infromatega.\n\nPer piasè, fa raport a 'n'[[Special:ListUsers/sysop|aministrador]], con la nota de l'URL.",
	"missingarticle-rev": "(revision#: $1)",
	"missingarticle-diff": "(Dif: $1, $2)",
	"readonly_lag": "El databeis l'è stat blocad in automatich per permètegh ai server coi databeis s'ciav de sincronizàss col primari.",
	"nonwrite-api-promise-error": "A l'è stada mandada l'intestazzion HTTP 'Promise-Non-Write-API-Action', ma la domanda l'era minga ona domanda API.",
	"timeouterror": "Server foeura del temp massim",
	"timeouterror-text": "El temp massim de richiesta de $1 {{PLURAL:$1|second|segond}} l'è stad sorpassad.",
	"internalerror": "Eror in del sistema",
	"internalerror_info": "Eror interno: $1",
	"internalerror-fatal-exception": "Eror fatal de tipo \"$1\"",
	"filecopyerror": "L'è mia stad possibel cobià l'archivi \"$1\" in \"$2\"",
	"filerenameerror": "L'è minga stad possibel rinominà l'archivi \"$1\" in \"$2\"",
	"filedeleteerror": "L'è minga stad possibel scancelà l'archivi \"$1\"",
	"directorycreateerror": "L'è minga stad possibel creà la cartela \"$1\"",
	"directoryreadonlyerror": "El diretori \"$1\" l'è doma de lettura",
	"filenotfound": "L'è mingaa stad possibel trovà l'archivi \"$1\"",
	"unexpected": "Valor che 'l se spettava nò: \"$1\"=\"$2\"",
	"formerror": "Eror: a l'è minga possibil mandà el modol.",
	"badarticleerror": "Operazzion mia pirmitida per chesta pagina.",
	"cannotdelete": "La pagina o l'archivi \"$1\" i han minga podus vesser scancelad\nA l'è possibil che sien stad sgiamò scalcelad d'on quaivun alter.",
	"cannotdelete-title": "L'è minga stad posibel scancelà la pagina \"$1\"",
	"delete-scheduled": "La pagina \"$1\" l'è programmada de vesser scancelada.\nPer piesè, porta pazienza.",
	"delete-hook-aborted": "El scancelament l'è stad anulad de l'hook.\nLa n'è stada dada nissuna spiegazzion.",
	"no-null-revision": "A l'è stad minga possibil creà una version voeuda per la pagina \"$1\"",
	"badtitle": "Titol minga bon",
	"badtitletext": "El titol de la pagina ciamada a l'è voeui, sbajad o con di carater minga acetad, opur el vegn d'un eror in di ligam intra di sit wiki diversi o si version in lengov diverse de l'istess sit.",
	"title-invalid": "El titol de la pagina che t'hee ciamad l'è minga valid.",
	"title-invalid-empty": "El titol de la pagina ciamad l'è voeuj o 'l gh'hà denter domà el nom de on spazzi de scrivegh denter.",
	"title-invalid-utf8": "El titol de la pagina ciamad el gh'hà dent ona sequenza UTF-8 minga valida.",
	"title-invalid-interwiki": "El titol de la pagina ciamad el gh'hà dent on conligament interwiki che se po minga doprall in di titoi.",
	"title-invalid-talk-namespace": "El titol de la pagina ciamad el se riferiss a una pagina de discussion che l'esist minga",
	"title-invalid-characters": "El titol de la pagina ciamad el gh'hà denter el carater minga bon: \"$1\".",
	"title-invalid-relative": "El titol insegnad el gh'hà dent on tragit relativ (./, ../). Tai titoi i vann minga ben, desgià che despess poden minga vesser rasgiunt quand che vegnen manesgiad del programa de navigazion de l'utent.",
	"title-invalid-magic-tilde": "El titol de la pagina ciamad el gh'hà dent la sequenza magica de tilde (<nowiki>~~~</nowiki>).",
	"title-invalid-too-long": "El titol de la pagina ciamad a l'è tropp longh. El gh'hà de vesser minga pussée de {{PLURAL:$1|bait}} longh in codifica UTF-8.",
	"title-invalid-leading-colon": "La pagina ciamada la gh'hà dent du pont che vann minga ben al prenzippi.",
	"perfcached": "I dati chi adree inn tirad foeura d'una copia ''cache'' del databeis, e podarissen vesser minga asgiornad. In cache a l'è disponibil un massim de {{PLURAL:$1|un risultad|$1 risultad}}.",
	"perfcachedts": "I dati chi adree inn stad trad foeura d'una copia ''cache'' del databeis, che l'ultima volta che l'è stada atualizada l'è del $1. Un massim de {{PLURAL:$4|un risultda l'è disponibil|$4 risultad a inn disponibil}} in cache.",
	"querypage-no-updates": "I asgiorament per quella pagina chì, per el moment, a inn disativad. I dati che gh'è denter i sarann no asgiornad.",
	"querypage-updates-periodical": "I agiornament per questa pagina chì a inn fad in manera periodega.",
	"viewsource": "Codes sorgent",
	"protection-indicator-title-infinity": "'Sta pagina chi l'è protesgiuda sichè comà i utent cont el permes \"$1\" poden modifegalla.",
	"protection-indicator-title": "Questa pagina chì l'è protesgiuda siché domà i utent  cont el permess \"$1\" poden modifegàlla fina a $2.",
	"skin-action-viewsource": "Varda el codes sorgent",
	"viewsource-title": "Codes sorgent per $1",
	"actionthrottled": "Azzion ritardada",
	"actionthrottledtext": "Come misura contra del ruf, te podet minga fà quell azzion chì pussee d'on cert numer de volte in d'un cert temp, te se seet andà de là de quell limit chì.\nPer piesè, prova an'mò in tra on quai minut.",
	"protectedpagetext": "Questa pagina chi l'è stata blocada per impedinn la modifica o di altre azzion.",
	"viewsourcetext": "L'è possibil vedé e copià el codes sorgent de questa pagina chì:",
	"viewyourtext": "Te podet vedè e copià el codes sorgent di <strong>to modifiche</strong> a quella pagina chì.",
	"protectedinterface": "Questa pagina chì la gh'hà dent on element che 'l fà part de l'interfaccia utent de la programadura de quell sit chì e l'è protesgiuda per evità di possibil abus.\nPer sgiontà o cambià i traduzzion valid in su tut i wiki, drova [https://translatewiki.net/ translatewiki.net], el proget de traduzzion in di vari lengov de MediaWiki.",
	"editinginterface": "'''Atenzion''': Te see 'dree a modifegà una pagina che la ven doprada per generà el test de l'interfaccia del programa. Ogni modifega fada la cambierà l'interfaccia de tucc i utent. Se te gh'hee intenzion de fà una traduzzion, per piasè toeu in esam la possibilità de doprà [https://translatewiki.net/ translatewiki.net], el proget de localizzazion de MediaWiki.",
	"translateinterface": "Per giontà o cambià la traduzzion per tut i wiki, per piesé dopera [https://translatewiki.net/ translatewiki.net],  el proget de traduzzion de MediaWiki.",
	"cascadeprotected": "A l'è minga possibil de fagh di modifiche a quella pagina chì perchè l'è compresa {{PLURAL:$1|in la pagina indicada chì adree, che l'è stada protesgiuda|in di pagine indicade chì adree, ch'a inn stada protesgiude}} con la fonzion \"a cascada\" ativada:\n$2",
	"namespaceprotected": "Te g'hee minga el permess necessari per modificà i pagine del spazzi di nom <strong>$1</strong>.",
	"customcssprotected": "Te gh'hee minga i permiss de fagh di cambiament a quella pagina CSS chì desgià che la gh'hà dent i impostazzion personai d'un alter utent.",
	"customjsonprotected": "Te gh'hee minga i permiss de fagh di cambiament a quella pagina JSON chì desgià che la gh'hà dent i impostazzion personai d'un alter utent.",
	"customjsprotected": "Te gh'hee minga i perimiss de fagh di cambiament a quella pagina javascript chì desgià che la gh'hà dent i impostazzion personai d'un alter utent.",
	"sitecssprotected": "Te gh'hee minga i permiss de fagh di cambiament a quella pagina CSS chì desgià che la podariss portà di efet a tucc i visitador.",
	"sitejsonprotected": "Te gh'hee minga i permiss de fagh di cambiament a quella pagina JSON chì desgià che la podariss portà di efet a tucc i visitador.",
	"sitejsprotected": "Te gh'hee minga i permiss de fagh di cambiament a quella pagina javascript chì desgià che la podariss portà di efet a tucc i visitador.",
	"siterawhtmlprotected": "Te gh'hee minga el permess de fagh di cambiament a quella pagina chì perchè la gh'hà dent del codes HTML sgrensg che la soa modifica la po riguardà tut i visitador",
	"mycustomcssprotected": "Te gh'hee minga de permess per modifegà questa pagina CSS chì.",
	"mycustomjsonprotected": "Te gh'hee minga de permess per modifegà quella pagina JSON chì.",
	"mycustomjsprotected": "Te gh'hee minga de permess per modifegà questa pagina javascript chì.",
	"myprivateinfoprotected": "Te gh'hee no el permess de modifegà i to informazzion personai.",
	"mypreferencesprotected": "Te g'hee minga i permess necessari per modificà i to preferenze",
	"ns-specialprotected": "I pagine speciai i poden minga vesser mudifegade",
	"titleprotected": "La creazzion d'una pagina con quell titol chì l'è stada bloccada de [[User:$1|$1]].\nLa reson l'è questa chì: <em>$2</em>.",
	"filereadonlyerror": "A l'è stad minga possibil modifegà el fail \"$1\" perchè el deposit di fail \"$2\" a l'è in sola letura.\n\nL'aministrador del sistema che l'hà blocad l'hà fornid quell motiv chì: $3",
	"invalidtitle": "Titol minga bon",
	"invalidtitle-knownnamespace": "Titol minga bon con spazzi di nom \"$2\" e test \"$3\"",
	"invalidtitle-unknownnamespace": "Titol minga valid con spazzi di nom $1 minga conossud e test \"$2\"",
	"exception-nologin": "Te see minga dent in del sistema",
	"exception-nologin-text": "Per piasè va dent in del sit per podè andà dent in questa pagina o azzion.",
	"virus-scanfailed": "scansion fallada (còdes $1)",
	"logouttext": "'''Adess te see pu conligad.'''\n\nOcio che certe pagine i podariss vegnì foeura compagn che te fudesset minga sortid del sistema fina a la netada de la chèsc del curiosador.",
	"logging-out-notify": "Te see 'dree a 'ndà foeura del sistema, speta 'n moment",
	"logout-failed": "A l'è minga possibil andà foeura adess: $1",
	"cannotlogoutnow-title": "A se po minga sortì adess",
	"cannotlogoutnow-text": "A l'è minga possibil sortì intanta che te see 'dree a doprà $1.",
	"welcomeuser": "Benvegnud\\Benriad, $1",
	"welcomecreation-msg": "El to cunt l'è stad cread. Desmenteghess minga de persunalizzà i to [[Special:Preferences|preferenze de {{SITENAME}}]].",
	"yourname": "El to suranom:",
	"userlogin-yourname": "Nom de l'utent",
	"userlogin-yourname-ph": "Met dent el to nom d'utent",
	"createacct-another-username-ph": "Met dent el nom de l'utent",
	"userlogin-yourpassword": "Parolla ciav",
	"userlogin-yourpassword-ph": "Mèt denter la toa parolla ciav",
	"createacct-yourpassword-ph": "Mèt dent una parolla ciav",
	"yourpasswordagain": "Torna a scriver la parola ciav",
	"createacct-useuniquepass": "Te raccomandom de doprà un'unega parola ciav che te doperet in nissun alter sit de la red.",
	"createacct-yourpasswordagain": "Conferma la parolla ciav",
	"createacct-yourpasswordagain-ph": "Met dent de noeuv la parola ciav",
	"userlogin-remembermypassword": "Tegnom conligad",
	"userlogin-signwithsecure": "Dovra una connession sicura",
	"cannotlogin-title": "A se po minga andà dent adess",
	"cannotlogin-text": "L'entrada l' minga possibil.",
	"cannotloginnow-title": "A se po minga andà dent adess",
	"cannotloginnow-text": "L'entrada l'è minga possibil intanta che se dopra $1",
	"cannotcreateaccount-title": "A se poeu nò creà el cunt",
	"cannotcreateaccount-text": "La creazzion diretta del cunt l'è minga ativada in su questa wiki.",
	"yourdomainname": "Specificà el domini",
	"password-change-forbidden": "Te podet minga cambià la parola d'ondin in questa Wiki.",
	"externaldberror": "Gh'è 'n eror sul server de autenticazzion estèrno o sedenò se g'ha minga i autorizzazion necessarie per agiornà i dati de registrazzion esterni.",
	"login": "Và dent",
	"login-security": "Verifica la toa identità",
	"nav-login-createaccount": "Và dent / Crea un cunt",
	"logout": "Va foeura",
	"userlogout": "Và foeura",
	"templogout": "Và foeura de la session",
	"notloggedin": "Te see minga dent in del sistema",
	"userlogin-noaccount": "Te see nananmò registrad?",
	"userlogin-joinproject": "Registres in {{SITENAME}}",
	"createaccount": "Crea un cunt",
	"userlogin-resetpassword-link": "Te se see desmentegad la toa parolla ciav?",
	"userlogin-helplink2": "Te gh'hee besogn de ona man per autenticàss?",
	"userlogin-loggedin": "Te set anmò denter in del sistema come {{GENDER:$1|$1}}.\nDopra el modol chì de sota per turnà a autenticàt come on alter utent.",
	"userlogin-reauth": "Te gh'hee de andà dent anmò de verificà che te see{{GENDER:$1|t el $1| la $1|$1 }}.",
	"userlogin-createanother": "Crea un'altra utenza",
	"createacct-emailrequired": "Adress de posta elettronica",
	"createacct-emailoptional": "Adress de posta elettronica (opzional)",
	"createacct-email-ph": "Met dent el to adress de posta elettronica",
	"createacct-another-email-ph": "Met denter l'adress de posta elettronica",
	"createaccountmail": "Dopra una parola ciav a cas provvisoria e mandela a l'adress de posta elettronica specificad",
	"createaccountmail-help": "El po vesser doprad per creà un cunt per un'altra persona senza conossenn la parola ciav",
	"createacct-realname": "Nom ver (opzional)",
	"createacct-reason": "Reson (registrad publicament)",
	"createacct-reason-ph": "Te se adree a creà un'altra utenza de fà?",
	"createacct-reason-help": "Messagg mostrad in del register de la creazzion de l'utenza",
	"createacct-reason-confirm": "La reson che te seet andà dent l'è stad un adress de posta eletronica. S'a l'è vorsud clica anmò in su \"crea un cunt\".",
	"createacct-submit": "Crea la toa utenza",
	"createacct-another-submit": "Crea un cunt",
	"createacct-continue-submit": "Và adree a creà el cunt",
	"createacct-another-continue-submit": " Và adree a creà el cunt",
	"createacct-benefit-heading": "{{SITENAME}} l'è realizzada di persone compagn de ti.",
	"createacct-benefit-text1": "$2 {{PLURAL:$1|cambiament|cambiamencc}}",
	"createacct-benefit-text2": "$2 {{PLURAL:$1|artìcol|artìcoi}}",
	"createacct-benefit-text3": "$2 {{PLURAL:$1|contributor recent|contributor recencc}}",
	"badretype": "I parolle d'ordin che t'hee miss denter a inn diverse.",
	"usernameinprogress": "Una creazzion del cunt per quell nom de utent chì l'è sgiamò  in cors. Porta pazienza.",
	"userexists": "El nom de l'utent che t'hee miss dent a l'è sgiamò doprad.\nPer piasè, scerniss un alter nom.",
	"createacct-normalization": "El to nom de utent el sarà modifegà a \"$2\" per via vincol tecnich.",
	"loginerror": "Eror in de l'andà dent in del sistema.",
	"createacct-error": "Eror in del creà l'utenza",
	"createaccounterror": "A se poeul nò creà el cunt: $1",
	"nocookieslogin": "{{SITENAME}} el dopra i cookies per l'operazzion de entrada di utent. Inveci i to cookies a inn disattivad. Ativei e poeu torna.",
	"nocookiesfornew": "L'utenza l'è stada minga creada, perchè l'è minga stad possibil possibil confermà la soa font. Dagh un'oggiada e ten i cookies ativ, torna a caregà questa pagina e provegh anmò un'altra volta.",
	"createacct-loginerror": "El cunt l'è stad cread con success ma te podet minga andà dent in automatich. Per piesè [[Special:UserLogin|và dent manualment]].",
	"createacct-temp-warning": "I cambiament fad con la tua utenza temporanea <strong>$1</strong> i sarann minga trasferide  a la toa utenza definitiva.",
	"noname": "T'hee minga specificad un nom de utent bon",
	"userlogin-authpopup-loggingin-title": "Adree a andà dent...",
	"userlogin-authpopup-loggingin-body": "Ona fenestra de popap la gh'havariss de vesser dervida. Se te la vedet nò, podèm provà a dervìlla de noeuv. opur te podet [$1 andà de a la veggia manera].",
	"userlogin-authpopup-loggingin-body-link": "Froma alternativa",
	"userlogin-authpopup-retry": "Proeuvegh ancamò",
	"userlogin-authpopup-cancel": "Anulla",
	"userlogin-authpopup-closeme": "Se te vedet quell message chì, te podet sarrà su questa finestra chì.",
	"loginsuccesstitle": "Te seet andad dent in del sistema",
	"loginsuccess": "<strong>Adess te see conness al server de {{SITENAME}} col nom utent de \"$1\".</strong>",
	"nosuchuser": "A gh'è nissun utent cont el nom ''$1''. <br />\nI soranom i enn sensibil a i letere majuscole e minuscole.<br />\nControla el nom che t'hee mettud dent o [[Special:CreateAccount|crea un cunt noeuv]].",
	"nosuchusershort": "Ghe n'è minga d'utent cont el nom de \"$1\".  Controla se t'hee scrivud giust.",
	"nouserspecified": "Te gh'hee de specificà un nom utent.",
	"login-userblocked": "Questa utenza l'è blocada. La connession l'è minga permetuda.",
	"fatalpassworderror": "$1\n\nPer di reson de sicurezza, te podet minga adnà dent con questa parolla ciav chì. In piasé [$2 domanda un messagg de posta eletronica de reimpostazzion de la parolla ciav].",
	"wrongpassword": "El to nom utent o la toa parola ciav a inn minga giust. In piesè, provegh an'mò.",
	"wrongpasswordempty": "T'hee minga metud denter la parola ciav. Per piasè provegh an'mò.",
	"mailmypassword": "Imposta de noeuv la parolla ciav",
	"passwordremindertitle": "Noeuva parola ciav provisoria per {{SITENAME}}",
	"passwordremindertext": "Un quaivun ( cun l'indiriz IP $1) l'ha ciamad da mandàt una parolla ciav noeuva per {{SITENAME}} ($4).\nUna parola ciav provisoria per l'utent \"$2\" l'è stada creada e l'è \"$3\".\nSe te see stad ti a vorell, te gh'hee de andà dent e scernì una parola ciav noeuva.\nLa toa parola d'ordin provisoria la scaderà de chì a {{PLURAL:$5|un dì|$5 dì}}.\n\nSe te see stad minga ti a ciamà 'sta parolla ciav chì, o magara t'hee trovad la parola ciav vegia e te voeuret pu cambiala, te podet ignorà quell messagg chì e andà inanz a drovà la vegia la parola ciav.",
	"noemailcreate": "Te gh'hee de fornì on adress de posta eletronica valid.",
	"passwordsent": "Una parola ciav noeuva l'è stada mandada a l'adress de posta elettronica registrad de l'utent \"$1\".\nPer piaser, va dent anmò dopo che te l'hee ricevuda.",
	"blocked-mailpassword": "El to address IP l'è blocad, e te podet fà minga di cambiament. Per prevegnì di abus, a doprà la fonzion de recuper de la parola ciav de quell adress IP chì l'è minga permess.",
	"eauthentsent": "On messagg de posta eletronica de conferma l'è stad mandad a l'adress specifegad.\nInanz che t'en vegnen mandad di alter, te gh'hee de andagh adrée ai istruzzion in del messagg, per confermà che 'l cunt el sia proppi to.",
	"throttled-mailpassword": "Una messagg de posta eletronica de rimpostà la parola ciav l'è stad sgiamò mandad de men de {{PLURAL:$1|1 ora|$1 ore}}.\nPer prevegnì di abus, la fonzion de rimpostazzion de la parola ciav la po vesser doprada doma 'na volta {{PLURAL:$1|a l'ora|ogni $1 ore}}.",
	"mailerror": "Eror in del mandà la posta: $1",
	"acct_creation_throttle_hit": "{{PLURAL:$1|1 registrazzion l'è sgiamò stada efetuada|$1 registrazzion a inn sgiamò stada efetuade}} da un quaivun proppi cont el to adress IP in di ultim $2, ch'a l'è el massim permetud adree a quell temp chì.\nPer quest, i utent che doperen quel'adress IP a poden pu registrass al moment.",
	"invalidemailaddress": "L'adress de posta eletronica el po minga vesser acetad perch'è el so formad l'è minga bon.  \nMet denter un adress valid o svoja la casella.",
	"cannotchangeemail": "I adress de posta eletronica i poden minga vesser cambiad in questa wiki.",
	"emaildisabled": "Quell sit chì el po minga mandà i messag de posta eletronica.",
	"accountcreated": "Utenza creada",
	"accountcreatedtext": "L'è stada creada l'utenza per [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|msg]]).",
	"createaccount-title": "Creazzion d'una utenza a {{SITENAME}}",
	"createaccount-text": "On quaivun l'hà cread un cunt cont el to adress de posta eletronica in su {{SITENAME}} ($4) cont el nom de $2, e la parola ciav \"$3\".\nA l'è mej che te vee dent a cambià la parola ciav a la svelta.\n\nSe la creazzion l'è stada fada per eror, se po lassa perder e fà finta de nagot.",
	"login-throttled": "T'hee'n fad tropp tant de tentativ de autenticat in poch temp, adess te gh'hee de spetà $1 per podè tornà a provà.",
	"login-abort-generic": "La toa autenticazzion l'è fallida - Operazzion anulada",
	"login-migrated-generic": "El to cunt l'è stad migrad, e 'l to nom de utent l'esist pu in questa wiki.",
	"loginlanguagelabel": "Lengua: $1",
	"createacct-another-realname-tip": "L'indicazzion del proppi nom l'è opzional.\nSe te scernisset de fornill, el sarà doprad de attribuitt el lavorà che t'hee fad.",
	"pt-login": "Và dent",
	"pt-login-button": "Và dent",
	"pt-login-continue-button": "Seguita a 'ndà dent",
	"pt-createaccount": "Crea un cunt",
	"pt-userlogout": "Sortiss del sistema",
	"php-mail-error-unknown": "Eror minga conossud in la fonzion mail() de PHP",
	"user-mail-no-addy": "Te'hée cercad de mandà vià un messagg de posta eletronica senza specificann l'adress.",
	"user-mail-no-body": "T'hee cercad de mandà via un messagg de posta eletronica voeud o tropp curt.",
	"changepassword": "Cambia la parolla ciav",
	"resetpass_announce": "Per completà la conession te gh'hee de definì una parola ciav noeuva",
	"resetpass_header": "Cambia la parola ciav de l'utenza.",
	"oldpassword": "Parolla ciav vegia:",
	"newpassword": "Parolla ciav noeuva:",
	"retypenew": "Mèt dent de noeuv la parola ciav:",
	"resetpass_submit": "Cata foeura la parolla ciav e va dent",
	"changepassword-success": "La toa parolla ciav l'è stada cambiada!",
	"changepassword-throttled": "T'hee'n fad tropp tant de tentativ de autenticat in poch temp, adess te gh'hee de spetà $1 per podè tornà a provà.",
	"resetpass_forbidden": "Te podet cambià nò la parolla ciav",
	"resetpass_forbidden-reason": "Minga se po cambià la parola ciav:$1",
	"resetpass-submit-loggedin": "Cambia la parolla ciav",
	"resetpass-submit-cancel": "Scancella l'operazzion",
	"resetpass-wrong-oldpass": "La parola ciav provisoria o quela de adess l'è minga bona.\nLa parola ciav la podariss vesser stada cambiada oppur l'è possibil che a sia stada ciamada ona parola ciav  provisoria noeuva.",
	"resetpass-recycled": "Te gh'hee de tornà a definì una parola ciav diversa de la parola ciav de adess.",
	"resetpass-temp-emailed": "L'autenticazzion l'è stada fada cont un codes provvisori, mandad via posta eletronica. Per completà la registrazzion, a gh'è de definì una parola ciav noeuva chì:",
	"resetpass-temp-password": "Parolla ciav provisoria:",
	"resetpass-abort-generic": "El cambiament de la parola ciav l'è stad blocad de una estension.",
	"resetpass-expired": "La toa parola ciav l'è scaduda. Te gh'avaria de defininn voeuna noeuva per andà dent.",
	"resetpass-expired-soft": "La toa parola ciav l'è passada de data e la gh'hà de vesser cambiada. Caten foeura 'n'altra noeuva o clica in su \"{{int:authprovider-resetpass-skip-label}}\" per cambiala in seguit.",
	"resetpass-validity": "La toa parola ciav l'è minga bona: $1\n\nImpostenn 'n'altra per andà dent al sistema.",
	"resetpass-validity-soft": "La toa password l'è minga valida: $1\n\nTe gh'hee de catà foeura un'altra parola ciav o clicà in su \"{{int:authprovider-resetpass-skip-label}}\" per tornà de poeu a definila.",
	"passwordreset": "Cambia la toa parolla ciav",
	"passwordreset-text-one": "Completa quell modol chì per ricever una parola ciav provisoria via posta eletronica.",
	"passwordreset-text-many": "{{PLURAL:$1|Compila vun di camp per ricever 'na parola ciav provisoria vai posta eletronica.}}",
	"passwordreset-disabled": "La ridefinizzion de la parola ciav l'è minga ativa in su questa wiki.",
	"passwordreset-emaildisabled": "I fonzion de posta eletronica a inn stade disativade in su questa wiki.",
	"passwordreset-username": "Nom de l'utent",
	"passwordreset-domain": "Domini:",
	"passwordreset-email": "Adress de posta eletronica:",
	"passwordreset-emailtitle": "Detali de l'utenza su {{SITENAME}}",
	"passwordreset-emailtext-ip": "On quaivun (magara ti, de l'adress IP $1) l'hà domandad la rimpostazzion de la toa parolla ciav de anda dent a {{SITENAME}} ($4). {{PLURAL:$3|El cunt associad|i cunt associad}} a quell l'adress de posta eletronica chì inn:\n\n$2\n\n{{PLURAL:$3|Questa parola ciav provisoria|Queste parolle ciav provisorie}} scadarann de chì a {{PLURAL:$5|un dì|$5 dì}}.\nTe gh'avarisset de andà dent el sistema e catà foeura una parola d'ordin noeuva. Se quella richiesta chì l'hà fada un quaidun alter, opur te see ricordad la parolla ciav original, o no te voeuret pu cambiala, te podet ingnorà quell messagg chì e andà inanz a doperà la toa parolla ciav vegia.",
	"passwordreset-emailtext-user": "L'utent $1 de {{SITENAME}} a l'ha domandad 'na rimpostazzion de la toa parolla ciav de andà dent a {{SITENAME}} ($4).{{PLURAL:$3|El cunt associad|i cunt associad}} a quell l'adress de posta eletronica chì inn:\n\n$2\n\n{{PLURAL:$3|Questa parola ciav provisoria|Queste parolle caiv provisorie}} scadarann de chì a {{PLURAL:$5|un dì|$5 dì}}.\nTe gh'hee de andà dent el sistema e catà foeura una parola ciav noeuva. Se quella richiesta chì l'hà fada un quaidun alter, opur te se see ricordad la parola d'oridn original, o no te voeuret pu cambiala, te podet ingnorà quell messagg chì e andà innanz a doperà la toa parolla ciav vegia.",
	"passwordreset-emailelement": "Nom utent: \n$1\n\nParolla ciav provisoria: \n$2",
	"passwordreset-success": "T'hee domandad la rimpostazzion de la parola ciav.",
	"passwordreset-success-details-generic": "Se i dati trasmetud a inn valid, el sarà mandad on messagg de posta eletronica de rimpostazzion de la parolla ciav. Se t'hee minga ricevud el messagg, te racomandom de visità la [[mw:Special:MyLanguage/Help:Reset_password|pagina d'ajut per la rimpostazzion de la parola ciav]] o tornà a provà pussee tard. Te podet <strong> domandà domà un numer limitad de volte la rimpostazzion de la parolla ciav adree a un curt period de temp. Per ciaschedun cunt domà vun messagg per la rimpostazzion de la parolla ciav ogni {{PLURAL:$1|ora|$1 ore}}</strong> el sarà mandad per prevegnì di abus.",
	"passwordreset-success-info": "I detali he t'hee mandad inn: $1",
	"passwordreset-emailtext-require-email": "De tute i manere, se questa domanda chì te l'hee fada minga ti e te voeuret prevegnì di messagg minga vorsud con la posta eletronica, te podet asgiornà i impostazzion de la posta eletronica a $1.\nTe podet doprà sia el nom de utent sia l'adress de posta eletronica per ingenerà el messagg de rimpostazzion de la parola ciav. Quest el po sbassà el numer de 'sti aveniment chì.",
	"passwordreset-nocaller": "Chi che 'l ciama el gh'hà de vesser fornid",
	"passwordreset-nosuchcaller": "El ciamant l'esist no: $1",
	"passwordreset-ignored": "La rimpostazzione de la password l'è stada minga gestida. Forsi nissun fornidor de servizzi di red l'è impostad?",
	"passwordreset-nodata": "A l'è stad fornid né l'adress de posta eletronica né el nom d'utent",
	"changeemail": "Cambia o toeu via l'adress de posta eletronica",
	"changeemail-header": "Completa quell document chì per cambià el to adress de posta eletronica. Se voeuret trà via l'adress de posta eletronica asociad a la toa utenza, lassa voeud el noeuv adress de posta eletronica quand che te spedisset el modol.",
	"changeemail-no-info": "Te gh'hee de vesser coness per andà dent a la pagina direttament.",
	"changeemail-oldemail": "Adess de posta eletronica atual:",
	"changeemail-newemail": "Adress de posta eletronica noeuv:",
	"changeemail-newemail-help": "Quell camp chì el gh'hà de restà voeuj se te voeuret toeu via el to adress de posta eletronica. Te podaret pu rimpostà una parola ciav desmentegada e te riceveret pu di messagg de posta eletronica de quell wiki chì, semai che l'adress de posta eletronica el ven tolt via.",
	"changeemail-none": "(nissun)",
	"changeemail-password": "La parolla ciav per {{SITENAME}}:",
	"changeemail-submit": "Cambia l'adress de posta eletronica",
	"changeemail-throttled": "T'hee'n fad tropp tant de tentativ de autenticat in poch temp, adess te gh'hee de spetà $1 per podè tornà a provà.",
	"changeemail-nochange": "Per piesè met dent on adress de posta eletronica noeuv.",
	"changeemail-maxlength": "El to adress de posta eletronica el gh'ha de havégh dent al massim 255 carater de stampa.",
	"resettokens": "Imposta an'mò i token",
	"resettokens-text": "Te podet rimpostà i ciaf che permeten de andà dent in certi dati privad associad al to cunt.\n\nTe gh'avarisset de fall sema che t'a i hee spartide cont un quaidun alter o se 'l to cunt l'è stada compromuettud.",
	"resettokens-no-tokens": "A gh'è minga de token de reimpostà.",
	"resettokens-tokens": "Token:",
	"resettokens-token-label": "$1 (valor de adess: $2)",
	"resettokens-watchlist-token": "Token per il feed web (Atom/RSS) di [[Special:Watchlist|modifeghe ai pagine che tegni d'oeugg]]",
	"resettokens-done": "Token impostad de noeuv.",
	"resettokens-resetbutton": "Rimposta i token scernid foeura.",
	"editrecovery": "Fà tornà a voltra i modifiche",
	"edit-recovery-nojs-placeholder": "El JavaScript l'è necessari per la fonzion che la fa tornà a voltra i modifiche",
	"edit-recovery-special-user-unnamed": "PEr piesé [[Special:UserLogin|và dent]] o [[Special:CreateAccount|derva on cunt]] per doperà questa fonzion chì.",
	"edit-recovery-special-user-not-enabled": "Te podet ativà 'sta fonzion chì in di [[Special:Preferences#mw-prefsection-editing|to preferenze]].",
	"edit-recovery-special-intro": "te gh'heet di cambiament minga salvad a 'ste {{PLURAL:$1|pagine o sezzion chì|pagine e/o sezzion chì}}:",
	"edit-recovery-special-intro-empty": "Te gh'hee minga de modifiche salvade.",
	"edit-recovery-special-view": "varda",
	"edit-recovery-special-edit": "modifica",
	"edit-recovery-special-delete": "scancella",
	"edit-recovery-special-recovered-on": "da $1",
	"edit-recovery-special-recovered-on-tooltip": "La data e l'ora in cui i dati necessari per fà tornà a voltra i modifiche a inn stad salvad l'ultrima volta",
	"edit-recovery-loaded-title": "Modifiche fada tornà a voltra",
	"edit-recovery-loaded-message": "I tò modifeghe minga salvade a inn stade fade tornà a voltra in automatich.",
	"edit-recovery-loaded-discard": "Lassa perder i modifiche",
	"summary": "Riassont de la modifegaː",
	"subject": "Soget:",
	"minoredit": "Questa chì l'è una modifega piscinina",
	"watchthis": "Ten d'oeugg questa pagina chì",
	"savearticle": "Salva la pagina",
	"savechanges": "Salva i cambiament",
	"publishpage": "Met foeura la pagina",
	"publishchanges": "Mèt foeura i cambiament",
	"savearticle-start": "Salva la pagina...",
	"savechanges-start": "Salva i cambiament...",
	"publishpage-start": "Met foeura la pagina...",
	"publishchanges-start": "Mèt foeura i cambiament...",
	"preview": "Varda prima de salvà la pagina",
	"showpreview": "Fàm vedé prima",
	"showdiff": "Fam vedè i cambiament",
	"temp-user-banner-description": "Te see 'dree a drovà on cunt temporani",
	"temp-user-banner-tooltip-label": "Pussee de informazzion sora i cunt temporani",
	"temp-user-banner-tooltip-title": "Cunt temporani",
	"blankarticle": "<strong>Atenzion:</strong> la pagina che te see dree a creà l'è voeuda.\nA clicà anmò \"$1\", la pagina la sarà creada senza contegnud.",
	"anoneditwarning": "<strong>Fàgh osservazzion:</strong> Te see minga andad denter. El tò adress IP el sarà a la papala de tucc al cas che te fasesset un quai cambiament. Se <strong>[$1 te vegnet dent]</strong> o <strong>[$2 creet un cunt]</strong>, i tò cambiament i sarann atribuid al to nom de utent, insema de alter benefizzi.",
	"autocreate-edit-warning": "<strong>Ocio:</strong> Te see minga dent in del sistema. I to modifeghe i sarann atribuide a on <strong>[[{{MediaWiki:tempuser-helppage}}|nom autoinsgenerad]]</strong> a sgiontàgh on cochi al to programa de navigazzion. El to adress IP el sarà visibil per tucc i utent autoverifegad. Se <strong>[$1 te veet dent]</strong> opur <strong>[$2 te dervet on cunt]</strong>, i modifeghe a sarann atribuide al nom che t'hee catad foeura, insema a alter benefizzi.",
	"anonpreviewwarning": "''Te see minga andà dent. Quand che te metet foeura la pagina, el tò adress IP el vegnarà registrad in la cronologìa.''",
	"autocreate-preview-warning": "<em>Te seet minga andà dent in del sistema. La toa modifica la sarà atribuida a on [[{{MediaWiki:tempuser-helppage}}|nom auto-insgsnerad]] e 'l to adress IP el sarà visibil per i aministrador.</em>",
	"missingsummary": "<strong>Atenzion:</strong> l'è sta no specificad el sunt de 'sta modifega. Cont el schiscià de noeuv \"$1\" la modifica la vegnarà publicada senza el sunt.",
	"selfredirect": "<strong>Atenzion:</strong> te see 'dree a fa 'na redirezzion de questa pagina chì a lee medesima. A l'è facil che t'hee indicà la destinazzion sbagliada per la redirezzion, o te dee dree a modifegà la pagina sbagliada. \nClica anmò in su \"$1\", la redirezzion la sarà creada comunque.",
	"missingcommenttext": "Per piasè, met dent on coment",
	"missingcommentheader": "<strong>Atenzione:</strong> l'è stad minga specificad l'oget de quell coment chì. Cont el schiscà de noeuv in su \"$1\" la modifica la vegnarà publicada senza nissuna descrizzion.",
	"summary-preview": "Proeuva di modifiche che te seet adree a fà",
	"previewerrortext": "A l'è capità un eror in del cors del tentativ de previsualizazzion di to cambiament.",
	"blockedtitle": "Utenza blocada",
	"blockedtext": "<strong>Il tò nom utent o adress IP kl'è stad blocad.</strong>\n\n{{int:blockedtext-made-by|$1}}\n{{int:blockedtext-reason-comment|$2}}\n\n*{{int:blockedtext-start-time|$8}}\n*{{int:blockedtext-expiration-time|$6}}\n*{{int:blockedtext-intended-blockee|$7}}\n\n{{int:blockedtext-contact-blocker-admin|$1}}\nTe podet drovà la fonzion \"{{int:emailuser}}\" se t'hee specificad on adree e mail bon in di tò [[Special:Preferences|preferenze]] e te l'è stà minga impedid de drovàll.\n{{int:blockedtext-block-ip|$3}} {{int:blockedtext-block-id|$5}}{{int:blockedtext-include-details-queries}}",
	"blockedtext-partial": "<strong>Al to cunt o adress IP el gh'è stad proibid de fà quel'operazzion chì. Te podarisset fà di alter azzion in quell sit chì, compagn che la modifega de certe pagine.</strong> te podet vedè i detali del bloch in di [[Special:MyContributions|contribuzzion del cunt]].\n\nel bloch l'è stad efetuad de $1.\n\nLa reson fornida l'è <em>$2</em>.\n\n* Prenzippi del blocch: $8\n* Fin del blocch: $6\n* Destinatari del blocco: $7\n* ID del blocch #$5",
	"autoblockedtext": "'''El to nom d'utent o el to adress IP l'è stad blocad in automatich, perchè l'è doprad anca d'un alter utent che l'è stad blocad de{{GENDER:$1|l $1|la $1}}.'''\n\nThe reason del bloch l'è:\n\n:<em>$2</em>\n\n* Prenzipi del bloch: $8\n* Fin del bloch: $6\n* Soget del bloch: $7\n\nSe te voeret, te podet toeu contat cont {{GENDER:$1|el $1|la $1}} o un alter/altra [[{{MediaWiki:Grouppage-sysop}}|ministrador/ministradora]] per discut el bloch.\n\nTe podet doprà la fonzion \"{{int:emailuser}}\" per mandà un messagg de posta elettronica a on adress valid specificad in di to [[Special:Preferences|preferenze]] o se quela funzion chì l'è stada minga disativada insema al bloch.\n\nL'adress IP corent l'è $3, el numer ID del bloch l'è #$5.\nFà el piesè d'includ tucc i detali chì de sora in qualsessìa domanda che te decidet de fà.",
	"systemblockedtext": "El to nom de utent o adress Ip l'è stad blocad in automatich de MediaWiki:\n\nThe reason del bloch l'è:\n\n:<em>$2</em>\n\n* Prenzipi del bloch: $8\n* Fin del bloch: $6\n* Soget del bloch: $7\n\nEl to adress Ip atual l'è $3\nFà el piesè d'includ tucc i detali chì de sora in qualsessìa domanda che te decidet de fà.",
	"blockednoreason": "nissun motiv dad",
	"blockedtext-composite": "<strong>El to nom de utent o adress Ip l'è stad blocad.</strong>\n\nThe reson del bloch l'è:\n\n:<em>$2</em>\n\n* Prenzipi del bloch: $8\n* Fin del bloch pussée longh: $6\n\n\n* $5\n\n\nEl to adress Ip atual l'è $3\nFà el piesè d'includ tucc i detali chì de sora in qualsessìa domanda che te decidet de fà.",
	"blockedtext-composite-ids": "ID del bloch rilevant: $1 (anca 'l to adress Ip el podariss vesser dent in la lista de bloch)",
	"blockedtext-composite-no-ids": "El to adress IP a l'é dent vari liste de bloch.",
	"blockedtext-composite-reason": "A gh'è diversi bloch ativ in sul to cunt o adress IP",
	"whitelistedittext": "Per modifegà i pagina l'è necessari $1.",
	"confirmedittext": "Te gh'hee de confermà el to adress de posta eletronica inanz de modificà i pagina.\nPer impostà e confermà el to adress de posta eletronica dopra i [[Special:Preferences|preferenza de l'utent]].",
	"nosuchsectiontitle": "Impossibil trovà la sezzion",
	"nosuchsectiontext": "T'hee provad a modificà una sezzion ch'a l'esist minga.\nA l'è facil che la sia stada spostada o scancelada intanta che te seret 'dree a vardà la pagina.",
	"loginreqtitle": "Autenticazzion necessaria",
	"loginreqlink": "autenticàss (andà dent)",
	"loginreqpagetext": "Per vedè i alter pagine a gh'è el $1.",
	"accmailtitle": "Parola ciav mandada",
	"accmailtext": "La parola ciav per [[User talk:$1|$1]] l'è stada mandada a $2. Questa parola chì la po vesser cambiada con la [[Special:ChangePassword|fonzion fada a posta]] apena dopo che te saret andà dent in del sistema con la parola che t'hem inviad.",
	"newarticle": "(Noeuv)",
	"newarticletext": "Te ghe see andad adree a un ligam a una pagina che l'esist nananamò.\nPer creà la pagina, a l'è assee a comenzà a scriver in la casella chì de sota (varda la [$1 pagina de jut] per saven pussee).\nSe te see chì per error, schiscia \"indree\" in sul tò curiosador.",
	"anontalkpagetext": "''Questa chí a l'è la pagina da ciciarada d'un utent che l'ha nananmò registrad un cunt, o che 'l le dopra minga.\nPer 'sta reson chì, el pò vesser riconossud doma cont el sò adress IP numeregh.\n'Sto adress IP el pò vesser doprad de pussee d'un utent. Se te seet un utent anonim e te penset che un quaj messagg el gh'hà nagot a vedé con ti, proeuva a [[Special:CreateAccount|creà un'utenza noeuva]] o [[Special:UserLogin|và dent con quella che te gh'hee sgiamò]] inscì de minga vesser sconfundud anmò con quai alter utent anomim.''",
	"noarticletext": "Per el moment quella pagina chì l'è veouja. Te podet [[Special:Search/{{PAGENAME}}|cercà quell articol chì]] in di alter pagine, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercà in di register imparentad], o sedenò [{{fullurl:{{FULLPAGENAME}}|action=edit}} creà 'sta pagina chì]</span>.",
	"noarticletext-nopermission": "Per el moment quella pagina chì l'è voeuja. Te podet [[Special:Search/{{PAGENAME}}|cercà quell articol chì]] in di alter pagine, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercà in di register imparentad], ma te gh'hee nò i permess per creala</span>.",
	"missing-revision-permission": "La revision #$1 la parten a una pagina scancelada. rte podet [{{fullurl:{{#Special:Undelete}}|target=$3&timestamp=$2&diff=prev}} vardala chichinscì]; Pussee de detali in del  [{{fullurl:{{#Special:Log}}/delete|page=$3}} register di scancelade].",
	"missing-revision": "La version #$1 de la pagina \"{{FULLPAGENAME}}\" a l'esist minga.\n\nQuest el capita de solit andadogh adree a un conligament a una pagina scancelada, in d'una cronologia minga atualizada. \n\nI detali i poden trovass in del [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} register di scancelament].",
	"missing-revision-content": "A l'è minga stad possibil a caregà el contegnud de la version #$1 de la pagina \"$2\".",
	"userpage-userdoesnotexist": "L'utenza \"$1\" l'è minga registrada in su 'sto qiki. Per piasè verifica che te voeuret de vera creà o portagh di cambiament a quella pagina chì.",
	"userpage-userdoesnotexist-view": "L'utenza\"$1\" l'è minga registrada in quest qiki chì.",
	"blocked-notice-logextract": "Quell {{GENDER:$1|utent chì}} adess l'è blocad.\nL'ultim element del register di bloch l'è riportad chì adree per informazzion:",
	"clearyourcache": "<strong>Nota:</strong> dopo che t'hee publicad, te podarisset havegh de netà la chèsc del programma de navigazzion per vedé i cambiament.\n* <strong>Firefox / Safari:</strong> schiscia sgiò <em>el boton di leter grande</em> intanta che te fee clich in su <em>Ricarica</em>, opur schiscia <em> Ctrl insema a F5 </em> opur <em>Ctrl e R</em> (<em>⌘-R</em> on a Mac)\n* <strong>Google Chrome:</strong> schiscia <em>Ctrl̹ e insema a Shift e R</em> (<em>⌘ e Shift e R</em> cont el Mac)\n* <strong>Internet Explorer / Edge:</strong> schiscia sgiò <em>Ctrl</em> intanta che te clichet in su <em>Aggiorna</em>, o schiscia sgiò insema <em>Ctrl e F5</em>\n* <strong>Opera:</strong> Schischia sgiò <em>Ctrl-F5</em>.",
	"usercssyoucanpreview": "<strong>Sugeriment:<strong> dopra el pulsant \"{{int:showpreview}}\" per provà el to CSS noeuv innanz de publicall.",
	"userjsonyoucanpreview": "<strong>Sugeriment:<strong> dopra el pulsant \"{{int:showpreview}}\" per provà el to JSON noeuv inanz de publicall.",
	"userjsyoucanpreview": "<strong>Sugeriment:<strong> dopra el boton \"{{int:showpreview}}\" per provà el tò JAVASCRIPT noeuv inanz de publicall.",
	"usercsspreview": "<strong>Ricorda che te see 'dre a vardà domà la veduda antecipada del CSS personal.\nA l'è nananmò stad miss foeura!</strong>",
	"userjsonpreview": "<strong>Ricorda che te see 'dre a vardà/provà doma el to JSON personal.\nA l'è nananmò stad miss foeura!</strong>",
	"userjspreview": "<strong>Ricorda che te see 'dre a vardà/provà doma el to Javascript personal.\nA l'è nananmò stad miss foeura!</strong>",
	"sitecsspreview": "<strong>Ricorda che te see domà 'dre a vardà el to CSS personal.\nA l'è nananmò stad miss foeura!</strong>",
	"sitejsonpreview": "<strong>Ricorda che te see doma 'dre a vardà la veduda antecipada del to JSON personal.\nA l'è nananmò stad miss foeura!</strong>",
	"sitejspreview": "<strong>Ricorda che te see doma 'dre a vardà domà la veduda antecipada del to codes Javascript personal.\nA l'è nananmò stad miss foeura!</strong>",
	"userinvalidconfigtitle": "<strong>Atenzion:</strong> A gh'è nissun tema con nom  «$1».\nI pagine per i .css, .json e .js peronalizzad comenzen con la letera minuscola, per esempi {{ns:user}}:Scaramacaj/vector.css e no {{ns:user}}:Scaramacaj/Vector.css.",
	"updated": "(Agiornad)",
	"note": "<strong>Note:</strong>",
	"previewnote": "<strong>Atenzion! Questa pagina la serviss doma de vardà.</strong> I cambiament inn nonanmò stad salvad.'''",
	"continue-editing": "Và  a l'area de modifica",
	"previewconflict": "Questa prouva la mostra el test in l'area de sora de sora compagn che 'l sarà se te dicidaret de publicall.",
	"session_fail_preview": "Ne rincress. A l'è stad no possibil lavoragh adree a la modifica perchè i dati de la session a inn andad perdud.  \n\nA l'è facil che te see stad disconess. <strong>Verifica de vesser anmò conligad e prova anmò</strong>.\nSe 'l problema el persist, te podet provà a [[Special:UserLogout|sconligass]] e andà dent de noeuv e intanta controlà che 'l to programa de navigazzion l'aceta i cookie de quell sit chì.",
	"session_fail_preview_html": "Ne rincress. A l'è stad no possibil lavoragh adree a la modifica perchè i dati de la session a inn andad perdud.  \n\n<em>Come che {{SITENAME}} el gh'hà de l'HTML sgrensg ativad e a gh'è stata una perdita di dati de la session, l'previsualizzazion l'è sconduda per prevegnì i atach JavaScript.</em>\n\n<strong>Se cheeschì l'è un tentativ legitim de modifega, prova anmò.</strong> \nSe 'l problema el persist, te podet provà a [[Special:UserLogout|sconligass]] e andà dent de noeuv e intanta controlà che 'l to programa de navigazzion l'aceta i cookie de quell sit chì.",
	"edit_form_incomplete": "'''Di part del modol de modifica i hann minga raggiont el server; controllà che i modifiche sien intat e provà anmò.'''",
	"editing": "Modifega de $1",
	"edit-textarea-aria-label": "Editor de la sorgent del wikitest",
	"creating": "Creazzion de $1",
	"editingsection": "Modifega de $1 (sezzion)",
	"editingcomment": "Te see 'dree a modifegà $1 (sezzion noeuva)",
	"editconflict": "Conflit de edizzion sora $1",
	"explainconflict": "Un alter utent el gh'hà fad un cambiament a questa pagina chì intanta che te seret 'dree a fa i to cambiament. \nL'area de modifica de sora la g'ha dent al test de la pagina che gh'è on-line ades, inscì come che l'è stad agiornad de l'alter utent.\nLa version cont le i to modifiche inveci te la troeuvet in l'area de modifica chì de sota.\nTe gh'hee de giotagh i to modifiche al test che 'l gh'è sgiamò.\nA schiscià el boton '$1', el vegnarà miss foeura <strong>doma</strong>  el test che gh'è dent in de l'area de modifica de sora.",
	"yourtext": "El to test",
	"storedversion": "La version in memoria",
	"editingold": "<strong>Fagh atenzion 'chè Te see drée a modificà 'na version minga agiornada de questa pagina.</strong> Semai che te la salvet, tucc i cambiament fad dopo de questa version i andaran perdud.",
	"unicode-support-fail": "El par che 'l to programa de navigazzion el suporta minga l'Unicode. A gh'è de besogn de lù per modificà i pagine, la toa modifica la sarà minga publicada.",
	"yourdiff": "Diferenze",
	"copyrightwarning": "Per piesé, ten in cunt che tute i contribuzzion a {{SITENAME}} se consideren fornide sota una licenza $2 (varda $1 per savéNn pussee).\nSe te voeuLet minga che i to test i poden vess mOdifegad e redistribuid d'On quaIvun senza  limitazzion, mandei Nò a {{SITENAME}}<br />\nCont el test che te mandet, te deciaret anca che, sota la toa responsabilità, el test te l'hee scrivud in depertì 'me oriSginal, opur che l'è una copia d'Ona font de domini publegh o un'altra font libera in manera compagna.<br />\n'''MANDA MINGA DEL MATERIAL CHE L'E' PROTESGIUD DE DIRIT D'AUTUR SENZA AUTURIZAZZION'''",
	"copyrightwarning2": "Per piesè, ten in cunt che tute i contribuzzion a {{SITENAME}} i poden vesser modificade, stravolte o scancelade de alter contributor. Se te voeuret minga che i to test poden vesser stravolt, alora metei denter no.<br />\nA l'istess temp, te metet in parola che te scrivud depertì, opur che t'hee copiad d'un domini publich o de una risorsa libera (varda $1 per savenn pussee).\n'''Met denter no del material protesgiud del dirit d'autor senza permess'''",
	"editpage-cannot-use-custom-model": "El modell del contegnud de questa pagina chì el po vesser minga cambiad.",
	"longpageerror": "<strong>Eror: el test che t'hee mandad l'è pussee de {{PLURAL:$1|1|$1}} kilobyte longh, che è pussee de la grandezza massima permetuda de ({{PLURAL:$2|1|$2}} kilobyte).</strong>\nEl test se 'l po minga publicà.",
	"readonlywarning": "<strong>Atenzion</strong>: el databeis a l'è blocad per manutenzion, al moment l'è minga possibil publicà i modifiche efetuade.\nDe perdei no, copiei in d'un fail de test e salvall intanta che te spetet che el databeis el sia desblocad.\n\nEl manesgion del sistema che l'hà fad el bloch l'ha fornid questa spiegazzion chì: $1.",
	"protectedpagewarning": "'''Atenzion: questa pagina chì l'è stada blocada per fà in manera che doma i utent cont i privilegg de aministrador a poden modificalla.''' L'oltim element del register l'è riportad chì de sota per come riferiment:",
	"semiprotectedpagewarning": "<strong>Nota:</strong> Quella pagina chì l'è stada blocada de manera che doma i utent registrad i poden modifegala.\nL'oltima vos del register l'è mostrada chì de sota per riferiment:",
	"cascadeprotectedwarning": "<strong>Atenzion:</strong> questa pagina chi l'è stada protesgiuda de manera che doma i utent con di [[Special:ListGroupRights|dirit specifich]] poden portagh di cambiament, desgià che l'è compresa in {{PLURAL:$1|la pagina|i pagine}} protesgiude de la protezzion \"a cascada\":",
	"titleprotectedwarning": "<strong>Atenzion: questa pagina chi l'è stada protesgiuda de manera a ghe sia besogn de [[Special:ListGroupRights|dirit specifich]] per creala.</strong>\nL'ultim element del register l'è raportad chi adree per informazzion:",
	"templatesused": "{{PLURAL:$1|Modell|Modei}} doprad in questa pagina chì:",
	"templatesusedpreview": "{{PLURAL:$1|Mudel|Mudei}} doprad in 'sta pagina de proeuva chì:",
	"templatesusedsection": "{{PLURAL:$1|Model|Mudeo}} doprad in quella sezzion chì:",
	"template-protected": "(protesgiud)",
	"template-semiprotected": "(semi-prutesgiud)",
	"hiddencategories": "Quella pagina chì la fa part de {{PLURAL:$1|una categoria sconduda|$1 categorie scondude}}:",
	"nocreatetext": "{{SITENAME}} l'hà limitad la possibilità de creà di pagine noeuve.\nte podet tornà indree e fagh di cambimanet a una pagina esistenta , opur [[Special:UserLogin|andà dent e dervì un cunt]].",
	"nocreate-loggedin": "Te gh'hee minga el permess de creà di pagine noeuve",
	"sectioneditnotsupported-title": "Modifica de la selezzion minga suportada.",
	"sectioneditnotsupported-text": "La modifica de le sezzion l'è minga suportada in questa pagina chì o l'è disativada per questa vision.",
	"modeleditnotsupported-title": "Modifica minga suportada",
	"modeleditnotsupported-text": "La modifica per el model de contegnud $1 l'è minga suportada.",
	"permissionserrors": "Eror de permess",
	"permissionserrorstext": "Te gh'hee minga i permiss de fall, per {{PLURAL:$1|quell motiv chì |chi motiv chì}}:",
	"permissionserrorstext-withaction": "Te gh'hee minga i permess per $2, per {{PLURAL:$1|quella reson chì |quei reson chì}}:",
	"contentmodelediterror": "Te podet minga cambià quella version chì desgià che 'l so model de contegnud l'è <code>$1</code>, che l'è divèrs de model atual de contegnud de la pagina<code>$2</code>.",
	"recreate-moveddeleted-warn": "'''Ocio: te see adree a creà de noeuv una pagina che l'era stada sgiamò scancellada.'''\n\nToeu in esam se l'è propi el cas de andà adree a modifegà 'sta pagina chì.\nPer comodità, la lista di scancellament e di San Martìn l'è riportada chì de sota:",
	"moveddeleted-notice": "La pagin la gh'è nò.\nChì de sota a inn fornid come riferiment i register de scancelament, protezzion e spostament",
	"moveddeleted-notice-recent": " A ne rincress, de recent quella pagina chì l'è stada scancelada (in di ultime 24 ore). I scancelament, i protezzion e i spostament de questa pagina chì inn fornid chi de sota per informazzion.",
	"log-fulllog": "Varda el register complet",
	"edit-hook-aborted": "L'hook l'hà annulad el cambiament senza dà una spiegazzion.",
	"edit-gone-missing": "A se po minga asgiornà la pagina.\nPar che la sia stada scancelada.",
	"edit-conflict": "Conflit de edizzion.",
	"edit-no-change": "La modifica l'è stàda ignorada perchè gh'è minga stad fad di cambiament al test.",
	"edit-slots-cannot-add": "{{PLURAL:$1|Quell spazzi chì l'è minga suportad|Chi spazzi chì inn minga suportad}} qui: $2",
	"edit-slots-cannot-remove": "{{PLURAL:$1|A gh'è de besogn de quell spazzi chì e 'l po vesser minga tolt via|A gh'è de besogn de chel spazzi chì e poden minga vesser tolt via}}: $2.",
	"edit-slots-missing": "{{PLURAL:$1|A ghe manca quell spazzi chì|I ghe manche chi spazzi chì}}: $2",
	"postedit-confirmation-created": "La pagina l'è stada [[Special:Diff/$2|creada].",
	"postedit-confirmation-restored": "La pagina l'è stada [[Special:Diff/$2|rimettuda a post come prima.]]",
	"postedit-confirmation-saved": "[[Special:Diff/$2|La toa modifica]] l'è stada memorizzada.",
	"postedit-confirmation-published": "[[Special:Diff/$2|la toa modifega]] l'è stada publicada.",
	"postedit-temp-created-label": "Cunt temporani",
	"postedit-temp-created": "Un'[[$2|utenza insgenerada in automatich]] l'è stada creada per cont el sgiontàgh on coki al to curiosador. Per catà foeura on nom che te pias e otegnì pussee de fonzion, considera la [$1 creazzion d'on cunt].",
	"edit-already-exists": "A se po minga creà una pagina noeuva.\nLa gh'è sgiamò.",
	"defaultmessagetext": "Test standard",
	"content-failed-to-parse": "Impossibil fà l'analisi del contegnud de $2 per el model $1: $3",
	"invalid-content-data": "Dati del contegnud minga boni",
	"invalid-json-data": "JSON minga bon: $1",
	"content-not-allowed-here": "El contegnud «$1» a l'é minga autorizzad in su la pagina [[:$2]] a la posizzion \"$3\"",
	"confirmleave-warning": "Se te vee via de quella pagina chì el po capità vaghen perdude i modifiche che t'hee fad.",
	"editpage-invalidcontentmodel-title": "Modell del contegnud minga suportad",
	"editpage-invalidcontentmodel-text": "El model del contegnud \"$1\"  l'é minga suportad",
	"editpage-notsupportedcontentformat-title": "Fomad del contegnud minga suportad",
	"editpage-notsupportedcontentformat-text": "El formad del contegnud $1 l'è minga suportad del model de contegnud $2.",
	"slot-name-main": "Principal",
	"content-model-wikitext": "wikitest",
	"content-model-text": "test normal",
	"content-json-empty-object": "Oget voeuj",
	"content-json-empty-array": "Insema de element voeuj",
	"unsupported-content-model": "<strong>Fagh attenzion:</strong> el model de contegnud $1 l'è minga suportad in quell wiki chì.",
	"unsupported-content-diff": "I diferenz per el model de contegnud $1 a inn non suportade.",
	"unsupported-content-diff2": "Le diferenze fra i modei de contegnud $1 e $2 a inn minga suportade in su quell wiki chì.",
	"duplicate-args-warning": "<strong>Fagh atenzion:</strong> [[:$1]] el ciama [[:$2]] con pussee de 'n valor per el parametro \"$3\". Doma l'ultim valor fornid el sarà doprad.",
	"duplicate-args-category": "Pagine che dopren di parametri dopi in di ciamade ai modei",
	"duplicate-args-category-desc": "La pagina la gh'hà dent di ciamade a di modei che dopren di argoment dopi, compagn de <code><nowiki>{{foo|bar=1|bar=2}}</nowiki></code> o de <code><nowiki>{{foo|bar|1=baz}}</nowiki></code>.",
	"expensive-parserfunction-warning": "'''Fagh atenzion:''' Quella pagina chi la gh'hà dent trope ciamade ai fonzion parser.\n\nLa gh'avariss de aveghen men de $2, al moment ghe {{PLURAL:$1|n'è $1}}.",
	"expensive-parserfunction-category": "Pagine con trope ciamade ai fonzion parser",
	"post-expand-template-inclusion-warning": "<strong>Atenzion:</strong> la grandezza di modei de includer l'è troppa granda.  \nUn quai model el vegnarà minga inclus.",
	"post-expand-template-inclusion-category": "Pagine che gh'hann denter di modei inclus trop grand.",
	"post-expand-template-argument-warning": "'''Ocio:''' questa pagina la gh'hà dent almanch vun argoment de model trop grand de vesser descompress. 'Sti argoment chì i inn stad lassad omess.",
	"post-expand-template-argument-category": "Pagine che gh'hann dent di modei con di parametri mancant",
	"template-equals-category": "Pagine che dopren = come on modell",
	"template-equals-category-desc": "La pagina la gh'hà dent <code><nowiki>{{=}}</nowiki></code> ma in questa wiki chì l'è minga ativada l'espansion a <code>=</code>. Questa utilizazzion l'è scongiurada; una versione de MediaWiki che la vegnarà la realizzarà <code><nowiki>{{=}}</nowiki></code> come una fonzion parser.",
	"template-equals-warning": "La pagina la dopra <code><nowiki>{{=}}</nowiki></code> ma in questa wiki chì l'è minga ativada l'espansion a <code>=</code>. Questa utilizzazion l'è scongiurada; una versione de MediaWiki che la vegnarà la realizzarà <code><nowiki>{{=}}</nowiki></code> come una fonzion parser.",
	"parser-template-loop-warning": "Rilevad ciclo a fà e rifà in del modell: [[:$1]]",
	"template-loop-category": "Pagine con di modei che ciamen lor medesim",
	"template-loop-category-desc": "Quella pagina chì la gh'hà dent on ciclo a ripetizzion in d'un model, idest un model che 'l va adree ciamass con ricorrenza.",
	"template-loop-warning": "<strong>Atenzion:</strong> questa pagina chì la ciama [[:$1]] che 'l pròvoca un ciclo a ripetizzion (una ciamada con ricorrenza infinida del model).",
	"parser-template-recursion-depth-warning": "A l'è stad raggiunt el limit de ricorrenza del model ($1)",
	"node-count-exceeded-category": "Pagine che 'l so numer di grop l'è de là del limit permetud",
	"node-count-exceeded-category-desc": "Questa pagina chì la gh'hà un numer de grop foeura del limit permetud.",
	"node-count-exceeded-warning": "Questa pagina l'è andada foeura del numer massim de grop permetud.",
	"expansion-depth-exceeded-category": "Pagine indoe la profondità d'espansion l'è stada superada",
	"expansion-depth-exceeded-category-desc": "Questa pagina chì la sorpassa la profondità massima d'espansion.",
	"expansion-depth-exceeded-warning": "La pagina a l'ha sorpassad la profondità d'espansion",
	"parser-unstrip-loop-warning": "Scovert ciclo de Unstrip",
	"unstrip-depth-warning": "Sorpassad i limit de ricorrenza de Unstrip ($1)",
	"unstrip-depth-category": "Pagine coi limit de ricorrenza de Unstrip sorpassad",
	"unstrip-depth-category-desc": "La pagina la va al de là di limit de autociamada de unstript.",
	"unstrip-size-warning": "Superad i limit de grandezza de Unstrip ($1)",
	"unstrip-size-category": "Pagine indoe el limit de grandezza de Unstrip l'è stad superad",
	"unstrip-size-category-desc": "La pagina la va al de là de la dimension limit de unstrip.",
	"bad-language-code-category": "Pagina con codes lingua minga bon",
	"bad-language-code-category-desc": "La pagina la gh'ha dent  on <code><nowiki>{{#dir}}</nowiki></code> cont on codes lingua minga bon.",
	"undo-success": "Quella modifega chì la po vesser anulada.\nControla i diferenze infra i do version mostrade chì de sota per vesser sicur che quest l'è quell che te voeuret fà, e donca publica i cambiament chì de sota per finì l'anulament la modifega.",
	"undo-failure": "El cambiament el po minga vesser annulad per via del conflit coi version de mezz.",
	"undo-main-slot-only": "La modifega la po minga vesser anulada perchè la tira dent di contegnud foeura del spazzi principal.",
	"undo-norev": "La modifega la po minga vesser anulada perchè l'esist minga o l'è stada scancelada.",
	"undo-nochange": "El par cha la modifega la sia sgiamò staa anulada.",
	"undo-summary": "Scancelada la modifega [[Special:Diff/$1|$1]] de [[Special:Contributions/$2|$2]] ([[User talk:$2|Ciciarada]])",
	"undo-summary-anon": "Anulada la modifega [[Special:Diff/$1|$1]] de [[Special:Contributions/$2|$2]]",
	"undo-summary-import": "Anulada la version [[Special:Diff/$1|$1]] importada de l'utent [[:$2|$3]]",
	"undo-summary-import2": "Anulada la version [[Special:Diff/$1|$1]] importada de l'utent $2",
	"undo-summary-username-hidden": "Annulada la revision [[Special:Diff/$1|$1]] d'un utent scondud",
	"viewpagelogs": "Varda i register de questa pagina chì",
	"viewpagelogs-lowercase": "Varda i register de questa pagina chì",
	"nohistory": "Questa pagina chì la gh'ha nò ona storia di modifeghe.",
	"currentrev": "Version de adess",
	"currentrev-asof": "Version corenta de $1",
	"revisionasof": "Revision $1",
	"revision-info": "Version del $1 di {{GENDER:$6|$2}}$7",
	"previousrevision": "←Version pussee vegia",
	"nextrevision": "Version pussée noeuva →",
	"currentrevisionlink": "Varda la version corenta",
	"cur": "cor",
	"tooltip-cur": "Diferenza con l'ultima version",
	"next": "prossim",
	"last": "ultima",
	"tooltip-last": "Diferenza con la version de prima",
	"page_first": "prima",
	"page_last": "oltima",
	"histlegend": "Confront tra i version: seleziona i balit di version de confrontà e poeu schiscia ''confronta i version scernide'' opur el boton de bass.<br />\nLegenda: (cor) = diferenze con la version corenta, (ultima) = diferenza cun l'ultima version, M = modifega piscinina.",
	"history-fieldset-title": "Filtra i revision",
	"history-show-deleted": "Doma i revision scancellade",
	"histfirst": "version pussee vege",
	"histlast": "version pussee noeuve",
	"historysize": "({{PLURAL:$1|1 bayt|$1 bayt}})",
	"historyempty": "veouja",
	"history-feed-title": "Storia di revision",
	"history-feed-description": "Storia di revision de la pagina in su la wiki",
	"history-feed-item-nocomment": "$1 el $2",
	"history-feed-empty": "La pagina che te see 'drée a cercà la gh'è minga; el po vesser che la sia stada scancelada o spostada,  Varda ben con la [[Special:Search|pagina de ricerca]] semai che ghe fudessen di pagine noeuve.",
	"history-edit-tags": "Modifica i etichete di version scernide",
	"history-empty": "Nissuna revision corispondenta trovada.",
	"rev-deleted-comment": "(Oget de la modìfica scancelad)",
	"rev-deleted-user": "(nom de utent scancellad)",
	"rev-deleted-event": "(detali del register tolt via)",
	"rev-deleted-user-contribs": "[nom de utent o adress IP scancelad - modifica sconduda de la cronologìa]",
	"rev-deleted-text-permission": "Questa version de la pagina l'è stada <strong>scancelada</strong>..\nPer informazzion, varda in del [{{fullurl:{{#Special:Log}}/delete|page=$1}} register di scancelament].",
	"rev-suppressed-text": "La version de la pagina l'è stada <strong>sopressa</strong>.",
	"rev-suppressed-text-permission": "Questa version de la pagina è stada <strong>tolta via</strong>.\nTe'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/suppress|page=$1}} register di sopression].",
	"rev-deleted-text-unhide": "Questa version chì de la pagina l'è stada <strong>scancelada</strong>.\nTe'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} register di scancelazzioni].\nI aministrador poden anmò [$1 vardà questa version chì] se voeuren.",
	"rev-suppressed-text-unhide": "Questa version de la pagina è stada <strong>tolta via</strong>.\nTe'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} register di sopression].\nI aministrador poden anmò [$1 vardà questa version chì] se voeuren.",
	"rev-deleted-text-view": "Questa version de la pagina è stada <strong>scancelada</strong>.\nI aministrador poden ancamò vardala; te'n podet trovà i detali in del  [{{fullurl:{{#Special:Log}}/delete|page=$1}} register di scancelament].",
	"rev-suppressed-text-view": "Questa version de la pagina è stada <strong>tolta via</strong>.\nI aministrador poden ancamò vardala; te'n podet trovà i detali in del  [{{fullurl:{{#Special:Log}}/suppress|page=$1}} register di supression].",
	"rev-deleted-no-diff": "Te podet varda no 'sto confront infra i version desgià che voeuna di version l'è stada '''scancelada'''.\nTe 'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} register di scancelament].",
	"rev-suppressed-no-diff": "Te podet minga varda 'sto confront chì in fra i version desgià che voeuna di version l'è stada <strong>'''sopressa'''</strong>.",
	"rev-deleted-unhide-diff": "Voeuna di version de 'sto confront tra version l'è stada <strong>scancelada</strong>.\nte 'n podet trovà di detali in del [{{fullurl:{{#Special:Log}}/delete|page={{PAGENAMEE}}}} register di scancellazzion].\nI aministradori poden anmò [$1 vardà el confront] s'a gh'è de besogn.",
	"rev-suppressed-unhide-diff": "Voeuna di version de quell confront chì l'è stada '''tolta via'''.\nTe 'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} register di soprression].\nI aministrador i poden anmò [$1 vardà el confront infra i version], se voeuren.",
	"rev-deleted-diff-view": "Voeuna di version de 'sto confront chì l'è stada <strong>ssancelada</strong>.\nI aministrador i poden vardà quell confront di version chì; te 'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} register di scancelament].",
	"rev-suppressed-diff-view": "Voeuna di version de 'sto confront de version l'è stada '''tolta via'''.\ni aministrador poden anmò vardà 'sto confront chì; te 'n podet trovà i detali in del [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} register di sopression].",
	"rev-delundel": "fà vedè/scond",
	"rev-showdeleted": "Fà vedè",
	"revisiondelete": "Scancela o met a post la version come che l'era prima.",
	"revdelete-nooldid-title": "Version minga specificada.",
	"revdelete-nooldid-text": "No t'hee specificà nissuna version de la pagina in su la qual eseguì quella fonzion chì, la version specificada l'esist minga opur te see 'dree a tentà de sconder la version corenta.",
	"revdelete-no-file": "L'archivi specificad el gh'è minga.",
	"revdelete-show-file-confirm": "Te see sicur che te voeuret vardà una revision scancelada del fail  \"<nowiki>$1</nowiki>\" del $2 ai $3?",
	"revdelete-show-file-submit": "Sì",
	"revdelete-selected-text": "{{PLURAL:$1|Version scernida|Version scernide}} de [[:$2]]:",
	"revdelete-selected-file": "{{PLURAL:$1|Version scernida|Version scenide}} del fail [[:$2]]:",
	"logdelete-selected": "{{PLURAL:$1|Aveniment del register selezionad}}:",
	"revdelete-text-text": "I version scancelade compararann anmò in la cronologia de la pagina, ma per el publich el sarà minga possibil vardà una part di so contegnud.",
	"revdelete-text-file": "I version di fail scancelade compararann anmò in la cronologia de la pagina, ma per el publich el sarà minga possibil vardà una part di so contegnud.",
	"logdelete-text": "I registrazzion di aveniment scancelad compararann anmò in di register de la pagina, ma per el publich el sarà minga possibil vardà una part di contegnud de lor.",
	"revdelete-text-others": "Di alter aministrador i podarann anmò andà dent a vardà i contegnud scondud e podarann fai tornà anmò 'me che i eren, se a inn minga stad impostad de sora maross di alter vincol.",
	"revdelete-confirm": "Per piesè conferma che quest l'è quell che te voeuret fà, che te rend cunt di conseguenze, e che te see 'dree a fall cont el rispetà i [[{{MediaWiki:Policy-url}}|linee guida]].",
	"revdelete-suppress-text": "La sopression la gh'avariss de vesser doprada  '''doma''' in sti casi chì:\n* informazzion che poden difamà 'n quaivun\n* dati personai inopportuni\n*: ''adress, numer de telefon, codes fiscai, eccetera''",
	"revdelete-legend": "Imposta i limit de visibilità",
	"revdelete-hide-text": "Test de la version.",
	"revdelete-hide-image": "Scond el contegnud de l'archivi",
	"revdelete-hide-name": "Scond l'obietiv e i parameter",
	"revdelete-hide-comment": "Oget o reson de la modifica",
	"revdelete-hide-user": "Nom o adress IP de l'autor",
	"revdelete-hide-restricted": "Scond i informazzion anca di aministrador compagn che per i alter.",
	"revdelete-radio-same": "(cambia mia)",
	"revdelete-radio-set": "Scond",
	"revdelete-radio-unset": "Fà vedè",
	"revdelete-suppress": "Scond i informazzion anca di aministrador compagn che per i alter.",
	"revdelete-unsuppress": "Toeu via i restrizzion sora i version rimetude a post come i eren prima.",
	"revdelete-log": "Reson:",
	"revdelete-submit": "Aplica {{PLURAL:$1|a la version scernida|a i versione scernide}}",
	"revdelete-success": "Visibilità de la version atualizada.",
	"revdelete-failure": "'''La visibilità de la version la po vesser minga atualizada:'''\n$1",
	"logdelete-success": "Imposta la visibilità di vos de register",
	"logdelete-failure": "'''La visibilità del  register la po minga vesser impostada:'''\n$1",
	"revdel-restore": "Cambia la visibilità",
	"pagehist": "Storia de la pagina",
	"deletedhist": "Cronologia scancelada",
	"revdelete-hide-current": "Impossibil sconder l'oget con data $1 $2 desgià che l'è la version atual.",
	"revdelete-show-no-access": "Impossibil fà vedè l'oget con data $1 $2 desgià che l'è stad marcad come \"riservad\".\nTi te podet minga vardall.",
	"revdelete-modify-no-access": "Impossibil modifegà l'oget con data $2, $1 desgià che l'è stad marcad come \"riservad\".\nTi te podet minga vardall.",
	"revdelete-modify-missing": "Eror in del modifegà l'oget con ID $1. A gh'è no in sul databeis!",
	"revdelete-no-change": "<strong>Atenzion:</strong> la version con data $2, $1 la gh'hà sgiamò i impostazzion de visibilità che t'hee domandad.",
	"revdelete-concurrent-change": "Impossibil modificà l'oget con data $1 $2 desgià che 'l so stat l'è stad modifegad d'un alter utent intanta che te seret 'dree a modifegall.",
	"revdelete-only-restricted": "Eror in del sconder l'oget con data $1, $2: te podet minga toeu via di element de la vista di aministrador senza selezionà almanch voeuna di alter opzion de visibilità.",
	"revdelete-reason-dropdown": "* Reson pussée comune per el scancelament\n** Violazzion del dirit d'autor\n** Coment fad minga come se dev\n** Nom de utent inadat\n** Informazzion che poden difamà un quaidun",
	"revdelete-reason-dropdown-suppress": "*Reson pussee comune per la sopression\n**Informazzion personai minga adate",
	"revdelete-otherreason": "Altra reson/spiegazzion",
	"revdelete-reasonotherlist": "Altra reson",
	"revdelete-edit-reasonlist": "Cambia i reson del scancelament",
	"revdelete-edit-reasonlist-suppress": "Cambia i reson per la sopression",
	"revdelete-offender": "Autor de la version:",
	"suppressionlog": "Register di sopression",
	"suppressionlogtext": "De sota gh'è 'na lista di scancelament e di bloch con del contegnud scondud ai aministrador.\nVarda la [[Special:BlockList|lista di bloch]] pee la lista di bandi e di bloch ativ al moment.",
	"mergehistory": "Mèt insema i storie di pagine",
	"mergehistory-header": "Questa pagina chi la permet de meter insema i version che partegnen a la cronologia de una pagina (ciamada pagina de orisgin) a la cronologia d'una pagina pussee recenta.\nSicùress che quell cambiament chì el mantegnarà la continuità storica de la pagina.",
	"mergehistory-box": "Mèt insema i version de do pagine:",
	"mergehistory-from": "Pagina d'origin",
	"mergehistory-into": "Pagina de destinazzion:",
	"mergehistory-list": "Cronologia ch'a se po trala insema",
	"mergehistory-merge": "'Sti version chì de [[:$1]] poden vesser metude insema a fa su [[:$2]].\nDopra la colona cont i boton de opzion per meter insema tute i version creade inanz de la dada e de l'ora indicade.\nTen in cunt che se te dopret i boton de navigazzion quella colona chì la sarà svojada.",
	"mergehistory-go": "Fà vedè tute i modifiche che poden vesser mise insema.",
	"mergehistory-submit": "Mèt insema i version",
	"mergehistory-empty": "Nissuna version la po vesser misa insema.",
	"mergehistory-done": "{{PLURAL:$4|Una version de $1 l'è stada misa insema|$4 version de $1 a inn stade mise insema}} a la cronologia de [[:$2]].\n$3.",
	"mergehistory-fail": "Se po nò meter insema i storie. Controlla an'mò la pagina e i parametri temporai.",
	"mergehistory-fail-bad-timestamp": "La marca temporal l'è minga bona.",
	"mergehistory-fail-invalid-source": "La pagina de origin l'è minga valida.",
	"mergehistory-fail-invalid-dest": "La pagina de destinazzion l'è minga valida.",
	"mergehistory-fail-no-change": "L'union di cronologie l'hà miss insema nissuna version. Controla anmò i pagine e i parametri temporai.",
	"mergehistory-fail-permission": "I permess inn minga assee de meter insema i cronologie.",
	"mergehistory-fail-self-merge": "I pagine de origin e destinazzion a inn la medesima.",
	"mergehistory-fail-timestamps-overlap": "I version de origin se meten su o vegnen dopo di version de destinazzion.",
	"mergehistory-fail-toobig": "Impossibil fà l'union de la cronologia desgià che gh'è pussee de $1 {{PLURAL:$1|version}} che i sarissen spostade.",
	"mergehistory-no-source": "La pagina de origin $1 l'esist minga.",
	"mergehistory-no-destination": "La pagina de destinazzion $1 l'esist minga.",
	"mergehistory-invalid-source": "La pagina de origin la gh'hà de avegh on titol bon.",
	"mergehistory-invalid-destination": "La pagina de destinazzion la gh'hà de avegh on titol bon.",
	"mergehistory-autocomment": "[[:$1]] miss dent in [[:$2]]",
	"mergehistory-comment": "[[:$1]] miss dent in [[:$2]]: $3",
	"mergehistory-same-destination": "I pagine de origin e destinazzion poden minga vesser istess.",
	"mergehistory-reason": "Reson:",
	"mergehistory-source-deleted-reason": "La pagina de origin l'è stada scancellada in automatich dopo de l'union de la cronologia perchè 'l so modell de contegnud el suporta minga i redirezzion a nissuna version restanta.",
	"mergehistory-source-deleted": "De sorapù, [[:$1]] a l'é stad scancelad perchè a la gh'ha pu nissuna version visibel e 'l so model de contegnud el suporta minga i redirezzion in sortida.",
	"mergelog": "Register di union",
	"revertmerge": "Scancella i union",
	"mergelogpagetext": "Chì de sota la gh'è ona lista di ultime volte che la cronologia de una pagina l'è stada missa insema a quella d'un'altra.",
	"history-title": "$1: Storia di modifeghe",
	"difference-title": "$1: Diferenza intra i version.",
	"difference-title-multipage": "\"$1\" e \"$2\": Diferenza in tra i pagine",
	"difference-multipage": "(Diferenza intra le pagine)",
	"lineno": "Riga $1:",
	"compareselectedversions": "Confronta i version scernide",
	"showhideselectedversions": "Fà vedè/scond i version scernide",
	"editundo": "torna a 'me che l'era inanz",
	"diff-empty": "(Istess)",
	"diff-multi-sameuser": "({{PLURAL:$1|Una revision intermedia|$1 revision intermedie}} de l'istess utent minga mostrad)",
	"diff-multi-otherusers": "({{PLURAL:$1|Ona revision nananmò definitiva|$1 revision nananmò definitive}} de {{PLURAL:$2|un alter utent|$2 utent}} minga mostrad)",
	"diff-multi-manyusers": "({{PLURAL:$1|Una version intermedia|$1 versioni intermedie}} de pussée de $2 {{PLURAL:$2|utent}} minga {{PLURAL:$1|mostrada|mostrade}})",
	"diff-paragraph-moved-tonew": "El paragraf l'è stad spostad. Clica per passà a la posizzion noeuva.",
	"diff-paragraph-moved-toold": "El paragraf l'è stad spostad. Clica per passà a la posizzion vesgia.",
	"difference-missing-revision": "{{PLURAL:$2|Una version|$2 version}} di questa differenza ($1) {{PLURAL:$2|l'è stada minga trovada|a inn stade minga trovade}}.\n\nQuest, de solit, el succed quand che ghe se va adree a 'n conligament andegher de on diff rispet a una pagina scancelada. \nI datili i poden trovass in del [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} register di scancelament].",
	"difference-bad-old-revision": "El contegnud de la version veggia el ghe manca o l'è danegiad.",
	"difference-bad-new-revision": "El contegnude de la version noeuva el ghe manca o l'è danegiad.",
	"searchresults": "Risultad de la ricerca",
	"search-filter-title-prefix": "Doma a cercà in di pagine col titol che 'l comenza con \"$1\"",
	"search-filter-title-prefix-reset": "Cerca in tute i pagine",
	"searchresults-title": "Resultad de la ricerca de \"$1\"",
	"titlematches": "Corispondenza in el titol de le pagine",
	"textmatches": "Trovad in del test di pagine",
	"notextmatches": "La vos che t'hee ciamad la gh'ha minga una corispondenza in del test di pagine.",
	"prevn": "precedent {{PLURAL:$1|$1}}",
	"nextn": "prossim {{PLURAL:$1|$1}}",
	"prev-page": "Pagina indree",
	"next-page": "pagina inanz",
	"prevn-title": "{{PLURAL:$1|Rezultad precedent|$1 rezultacc precedencc}}",
	"nextn-title": "$1 {{PLURAL:$1|risultad}} adrée",
	"shown-title": "Fà vedè {{PLURAL:$1|un resultad|$1 resultad}} per pagina",
	"viewprevnext": "Varda ($1 {{int:pipe-separator}} $2) ($3).",
	"searchmenu-exists": "A gh'è una pagina che el so nom l'è \"[[:$1]]\" in su {{SITENAME}}. {{PLURAL:$2|0=|Varda anca i alter risultad trovad.}}",
	"searchmenu-new": "Tira in pee la pagina \"[[:$1]]\" in questa wiki chì! {{PLURAL:$2|0=|Varda anca la pagina trovada con la toa ricerca.|Varda anca i risultad de la ricerca}}",
	"searchprofile-articles": "Pagine de contegnud",
	"searchprofile-images": "Multimedia (fail audio, imagin e video)",
	"searchprofile-everything": "Tuscoss",
	"searchprofile-advanced": "Avanzad",
	"searchprofile-articles-tooltip": "Cerca in $1",
	"searchprofile-images-tooltip": "Cerca l'archivi",
	"searchprofile-everything-tooltip": "Cerca in depertut (anca in di pagine de discussion)",
	"searchprofile-advanced-tooltip": "Cerca in di spazzi di nom personalizzad",
	"search-result-size": "$1 ({{PLURAL:$2|1 parola|$2 parolle}})",
	"search-result-category-size": "\n{{PLURAL:$1|1 member|$1 member}} ({{PLURAL:$2|1 sot-categoria|$2 sot-categorie}}, {{PLURAL:$3|1 fail|$3 fail}})",
	"search-redirect": "(redirezzion de $1)",
	"search-section": "(session $1)",
	"search-category": "(categoria $1)",
	"search-file-match": "(corispondenza in del contegnud del fail)",
	"search-suggest": "Te vorevet dì: $1",
	"search-rewritten": "Risultad fad vedè doma per $1. Nissun risultad trovad per $2.",
	"search-interwiki-resultset-link": "Varda tucc i risultad",
	"search-interwiki-more": "(e poeu)",
	"search-interwiki-more-results": "pussee de risultad",
	"search-relatedarticle": "risultad correlad",
	"search-invalid-sort-order": "L'ordin de illustrazzion de $1 a l'è minga reconossud, la sara aplicada l'ordinazzion predefinida.\nI ordin de illustrazzion valid a inn: $2",
	"search-unknown-profile": "El profil di ricerca de $1 l'è minga conossud, el sarà aplicad el profil predefinid.",
	"search-thumbnail-alt": "Miniadura per $1",
	"searchrelated": "Corelad",
	"searchall": "tucc",
	"showingresultsinrange": "{{PLURAL:$1|A l'è mostrad|A inn mostrad}} chì de sota {{PLURAL:$1|<strong>1</strong> risultad|<strong>$1</strong> risultad}} dal <strong>$2</strong> al <strong>$3</strong>.",
	"search-showingresults": "{{PLURAL:$4|Resultad <strong>$1</strong> de <strong>$3</strong>|Resultad <strong>$1 – $2</strong> de <strong>$3</strong>}}",
	"search-nonefound": "A gh'è minga de risultad per la ricerca.",
	"search-nonefound-thiswiki": "A gh'è minga de risultad per questa ricerca chì in quell sit chì.",
	"powersearch-legend": "Ricerca vanzada",
	"powersearch-ns": "Cerca in di spazzi di nom:",
	"powersearch-togglelabel": "Scerniss:",
	"powersearch-toggleall": "Tucc",
	"powersearch-togglenone": "Nissun",
	"powersearch-remember": "Regorda la selezzion per i ricerche che vegnarann",
	"searchdisabled": "La ricerca interna de {{SITENAME}} a l'è no ativa; fratant se po provà a doprà un motor de ricerca esterno compagn de Google. (Notà però che i contegnud de {{SITENAME}} che gh'è in 'sti motor de ricerca chì i podarissen vesser no asgiornad.)",
	"search-error": "A l'è sucedud on eror in del cors de la ricerca: $1",
	"search-warning": "A l'è capitad un avis in del cors de la ricerca: $1",
	"mypreferences": "Preferenze",
	"searchresultshead": "Cerca",
	"prefs-description-misc": "Personaliza l'indes di contegnud.",
	"prefs-help-watchlist-token2": "Questa chì l'è la ciaf segreta per el feed in su la red di pagine che te tegnet d'oeugg\nChi che la conoss i sarà bon de lensg i pagine che te tegnet d'oeugg, donca dala no in gir. Se gh'è de besogn, [[Special:ResetTokens|te podet impostala de noeuv]].",
	"savedrights": "I grup de utent d{{GENDER:$1|el $1| la $1|$1}} a inn stad salvad.",
	"prefs-namespaces": "Spazzi di nom",
	"default": "predefinid",
	"linterror-bogus-image-options": "Parametro de failː insesistent",
	"linterror-deletable-table-tag": "L'eticheta de la tavola la gh'avariss de vesser scancelada",
	"linterror-html5-misnesting": "Nihasciad minga ben (adess rot)",
	"linterror-misc-tidy-replacement-issues": "Eror de segnadura de varia natura",
	"linterror-misnested-tag": "Eticheta nihasciada minga ben che la gh'havariss de vesser nihasciada polit",
	"linterror-missing-end-tag": "Eticheta de saradura mancanta",
	"linterror-multi-colon-escape": "Mancanza de pussee de du pont",
	"linterror-multiline-html-table-in-list": "Tabella HTML5 multilinea dent a 'na lista",
	"linterror-multiple-unclosed-formatting-tags": "Diverse etichete de formatazzion  minga sarade in de la pagina",
	"linterror-obsolete-tag": "Eticheta HTML andaghera",
	"linterror-pwrap-bug-workaround": "Eror de paragraf ch'a se po giragh intorna",
	"linterror-self-closed-tag": "Eticheta sarada deperlee",
	"linterror-stripped-tag": "Eticheta descompagnada",
	"linterror-tidy-font-bug": "El tag font el prova a cambiàgh el color del ligam",
	"linterror-tidy-whitespace-bug": "Problema de parsing cont i spazzi",
	"linterror-unclosed-quotes-in-heading": "Virgolete minga sarade ch' i sortissen foeura de la tabella di contegnud",
	"email": "Posta eletronica",
	"userrights": "Dirit di utent",
	"userrights-lookup-user": "Scerniss un utent",
	"userrights-user-editname": "Met dent el nom d'un utent:",
	"editusergroup": "Carega i grup de l'utent",
	"editinguser": "Adree a cambià i grup de l'{{GENDER:$1|utent}} <strong>[[User:$1|$1]]</strong> $2",
	"viewinguserrights": "Varda i grup de l'{{GENDER:$1|utent}} <strong>[[User:$1|$1]]</strong> $2",
	"userrights-editusergroup": "Modifica grup {{GENDER:$1|utent}}",
	"userrights-viewusergroup": "Varda i grup {{GENDER:$1|utent}}",
	"saveusergroups": "Salva grup {{GENDER:$1|utent}}",
	"userrights-groupsmember": "El fà part di grup:",
	"userrights-groupsmember-auto": "Member sgiontad in automatich de:",
	"userrights-systemuser": "{{GENDER:$1|Quell utent chì}} l'è un utent de sistema",
	"userrights-groups-help": "Se po cambià i grup ai quai l'è assegnad quell {{GENDER:$1|utent}} chì.\n* Un quader marcad el voeur dì che l'utent al fà part de quell grup lì.\n* Un quader mingaa marcad el voer dì che l'utent el fà minga part de quell grup lì.\n* L'asterisch (*) el voeur dì che se po minga toeu via un utent dal grup dopo d'aveghel giontaa, o viceversa.\n* El cancelet (#) el voeur dì che se po doma sposta indree el moment de scadenza de l'aderenza la grup; te podet minga spostall inanz.",
	"userrights-reason": "Reson:",
	"userrights-no-interwiki": "Te gh'hee minga i permess necessari per podè modifegà i dirit di utent di alter wiki.",
	"userrights-nodatabase": "El databeis $1 el gh'é minga, opur a l'é minga local.",
	"userrights-changeable-col": "Grup che te podet modifegà",
	"userrights-unchangeable-col": "Grup che te podet minga modifegà",
	"userrights-expiry-current": "La scad el $1",
	"userrights-expiry-none": "Senza scadenza",
	"userrights-expiry": "Scadenza:",
	"userrights-expiry-existing": "Scadenza atual: $3 $2",
	"userrights-expiry-othertime": "Altra durada:",
	"userrights-expiry-options": "1 dì:1 day,1 setimana:1 week,1 mes:1 month,3 mes:3 months,6 mes:6 months,1 an:1 year",
	"userrights-invalid-expiry": "La scadenza per el grup \"$1\" l va minga ben",
	"userrights-expiry-in-past": "La scadenza per el grup \"$1\" l'è sgiamò passada.",
	"userrights-conflict": "Conflit de modifica di dirit de l'utent! Per piesè varda anmò e conferma i to cambiament.",
	"group": "Grup:",
	"group-user": "Utent",
	"group-autoconfirmed": "Utent autoconvalidad",
	"group-bot": "bot",
	"group-sysop": "Aministrador",
	"group-interface-admin": "Aministrador de l'interfaccia",
	"group-bureaucrat": "Burocrati",
	"group-suppress": "Supressor",
	"group-all": "(tucc)",
	"group-user-member": "{{GENDER:$1|utent}}",
	"group-autoconfirmed-member": "{{GENDER:$1|utent autoconvalidad}}",
	"group-bot-member": "{{GENDER:$1|bot}}",
	"group-sysop-member": "{{GENDER:$1|aministrador|aministradora}}",
	"group-interface-admin-member": "{{GENDER:$1|aministrador de l'interfaccia|aministradora de l'interfaccia}}",
	"group-bureaucrat-member": "{{GENDER:$1|burocrate}}",
	"group-suppress-member": "{{GENDER:$1|sopressor|sopressora}}",
	"grouppage-user": "{{ns:project}}:Utent",
	"grouppage-autoconfirmed": "{{ns:project}}:Utent autoconvalidad",
	"grouppage-bot": "{{ns:project}}:Bot",
	"grouppage-sysop": "{{ns:project}}:Aministrador",
	"grouppage-interface-admin": "{{ns:project}}:Aministrador de l'interfaccia",
	"grouppage-bureaucrat": "{{ns:project}}:Burocrati",
	"grouppage-suppress": "{{ns:project}}:Soprim",
	"right-read": "Lensg i pagine",
	"right-edit": "Fagh di cambiament ai pagine",
	"right-createpage": "Crea i pagine (foeura che i pagine de discussion)",
	"right-createtalk": "Crea di pagine de discussion",
	"right-createaccount": "Crea di utenze noeuve",
	"right-autocreateaccount": "Va denter in automatich cont un cunt utent esterno",
	"right-minoredit": "Segna i modifiche come piscinine",
	"right-move": "Sposta i pagine",
	"right-move-subpages": "Sposta i pagine e i sotapagine",
	"right-move-rootuserpages": "Sposta i pagine principai di utent",
	"right-move-categorypages": "Sposta i pagine di categurie",
	"right-movefile": "Spostà i archivi",
	"right-suppressredirect": "El crea minga una ''redirezzion'' automatica quand che se sposta una pagina",
	"right-upload": "Carega on fail",
	"right-reupload": "Sorascriver i archìvi ch'i esisten sgiamò",
	"right-reupload-own": "Surascriver di archivi ch' i esisten sgiamò caregad su de l'istess utent",
	"right-reupload-shared": "Sorascriv localment i fail present in de l'archivi condivis.",
	"right-upload_by_url": "Carega su un fail d'un adress URL",
	"right-purge": "Neta la cache per la pagina",
	"right-autoconfirmed": "Minga soget al limit de azzion per IP",
	"right-bot": "De vesser trattad come un process automatich",
	"right-nominornewtalk": "Fà de manera che i modifiche piscinine ai pagine de discussion i faghen minga comparì l'avis de messagg noeuv",
	"right-apihighlimits": "Dopra di limit pussee alt per i interograzzion API",
	"right-delete": "Scancella i pagine",
	"right-delete-redirect": "Scancela la redirezzion cont un'unega version in la cronologia",
	"right-bigdelete": "Scancela i pagine con di cronologie longhe",
	"right-deletelogentry": "Scancela e rimet a post di vos de register specifiche",
	"right-deleterevision": "Scancela e rimet al so post di revision di pagine specifiche",
	"right-deletedhistory": "Varda i version de la storia di pagine scancelade senza el so test",
	"right-deletedtext": "Fa vedè el test scancelad e i cambiament intra i revision scancelade",
	"right-browsearchive": "Cerca di pagine scancellade",
	"right-undelete": "Anulla la scancellazzion di pagine scancellade",
	"right-suppressrevision": "Vedè, sconder e desquattà di version specifiche di pagine de qualsiasi utent",
	"right-viewsuppressed": "Ved di version scondude per qualsiasi utent",
	"right-suppressionlog": "Mostra i register privad",
	"right-block": "Bloca i modifiche de alter utenze",
	"right-blockemail": "Fà de manera che quell utent chì el poda minga spedì di messagg via posta eletronica",
	"right-hideuser": "Bloca un nom de utent e scondell al publich",
	"right-ipblock-exempt": "Giregh intorna di bloch di IP, di bloch automatich e di bloch di grup de IP",
	"right-unblockself": "Desblocà se stess",
	"right-protect": "Cambia i impostazzion de protezzion e modifica i pagine protesgiude con la protezzion a cascada",
	"right-editprotected": "Modifica i pagine prosgiude con \"{{int:protect-level-sysop}}\"",
	"right-editsemiprotected": "Modifica i pagine protesgiude con \"{{int:protect-level-autoconfirmed}}\"",
	"right-editcontentmodel": "Modifica el model de contegnud de una pagina",
	"right-editinterface": "Modifica l'interfaccia-utent",
	"right-editusercss": "Modifica i fail CCS di alter utent",
	"right-edituserjson": "Modifica i fail JSON d'alter utent",
	"right-edituserjs": "Modifica i fail javascript d'alter utent",
	"right-editsitecss": "Modifica i CCS del sit",
	"right-editsitejson": "Modifica el JSON del sit",
	"right-editsitejs": "Modifica el JavaScript del sit",
	"right-editmyusercss": "Modifica i fail CSS del to utent",
	"right-editmyuserjson": "Modifica i fail JSON del to utent",
	"right-editmyuserjs": "Modifica el fail Javascript del to utent",
	"right-editmyuserjsredirect": "Modifica el fail Javascript del to utent ch'a inn di redirezzion",
	"right-viewmywatchlist": "Varda la lista di pagine che te tegnet d'oeugg",
	"right-editmywatchlist": "Modifica la lista di pagine che te tegnet d'oeugg. (Varda veh che 'na quai azzion la sgiontarà di pagine anca senza quell dirit chì).",
	"right-viewmyprivateinfo": "Varda i to dati personai privad (idest adress de posta eletronica, nom real)",
	"right-editmyprivateinfo": "Modifica i to dati personai (idest adress de posta eletronica, nom ver) e domanda on messagg de posta eletronica per impostà an'mò la parolla ciav.",
	"right-editmyoptions": "Modifica i to preferenze",
	"right-rollback": "Modifica indree i cambiament de l'ultim utent a 'na pagina particolar.",
	"right-markbotedits": "Marca i modifiche per tornà indree come modifiche d'un bot",
	"right-noratelimit": "Minga soget al limit d'azzion",
	"right-import": "Importa di pagine di alter wiki",
	"right-importupload": "Importa di pagine per mezz d'un fail caregad su",
	"right-patrol": "Marca i modifiche di alter utent come verificade",
	"right-autopatrol": "Marca in automatich i to modifiche come verificade",
	"right-patrolmarks": "Dovra la fonzion de verifica di ultime modifiche",
	"right-unwatchedpages": "Varda una lista de pagine minga tegnude d'oeugg",
	"right-mergehistory": "Mèt insema la storia di pagine",
	"right-userrights": "Cambia tucc i permess de l'utent",
	"right-userrights-interwiki": "Modifica i dirit di utent de alter wiki",
	"right-siteadmin": "Blocà e desblocà el databeis",
	"right-override-export-depth": "Eporta i pagine, compres i pagine conligade fin a una profondità de 5",
	"right-sendemail": "Manda di messagg de posta eletronica a di alter utent",
	"right-managechangetags": "Crea e ativa/disativa i [[Special:Tags|etichete]]",
	"right-applychangetags": "Aplica di [[Special:Tags|etichete]] ai propie modifiche",
	"right-changetags": "El sgionta e 'l toue via di [[Special:Tags|etichete]] specifeghe in di version individoai o di vos de register.",
	"right-deletechangetags": "Scancela i [[Special:Tags|etichete]] dal databeis",
	"grant-generic": "Pachet di dirit \"$1\"",
	"grant-group-page-interaction": "Interagiss cont i pagine",
	"grant-group-file-interaction": "Interagiss cont i fail audio e video",
	"grant-group-watchlist-interaction": "Interagiss con la lista di robe che te tegnet d'oeugg",
	"grant-group-email": "Manda on messagg de posta eletronica",
	"grant-group-high-volume": "Fa di atività de alt volum",
	"grant-group-customization": "Personalizazzion e preferenze",
	"grant-group-administration": "Fà di azzion aministrative",
	"grant-group-private-information": "Và dent in di dati personai",
	"grant-group-other": "Atività de varia natura",
	"grant-blockusers": "Bloca e desbloca i utent",
	"grant-createaccount": "Crea di cunt",
	"grant-createeditmovepage": "Crea, modifica e sposta i pagine",
	"grant-delete": "Scancela i pagine, i versioni, e i vos de register",
	"grant-editinterface": "Modifica el spazzi di nom MediaWiki e i JSON del sit/utent",
	"grant-editmycssjs": "Modifica i CSS/JSON/JavaScript de la toa utenza",
	"grant-editmyoptions": "Modifega i preferenze de la tua utenza e l'impostazzion JSON",
	"grant-editmywatchlist": "Modifega la lista di pagine che te tegnet d'oeugg",
	"grant-editsiteconfig": "Modifega i CSS/JS di utent e del sit",
	"grant-editpage": "Modifica i pagine esistente",
	"grant-editprotected": "Modifica i pagina protesgiude",
	"grant-highvolume": "Modifiche de alt volum",
	"grant-import": "Importa di version",
	"grant-mergehistory": "El met insema i cronologie di pagine",
	"grant-oversight": "El scond i utent e 'l soprim i version",
	"grant-patrol": "Marca i modifiche ai pagine come verificade",
	"grant-privateinfo": "El va dent in di informazzion privade",
	"grant-protect": "El protesg e 'l desprotesg i pagine",
	"grant-rollback": "Modifega indree i pagine",
	"grant-sendemail": "Manda di messagg de posta eletronica a di alter utent",
	"grant-uploadeditmovefile": "El carega, el sostuituiss e 'l sposta i fail",
	"grant-uploadfile": "Carega su di fail noeuv",
	"grant-basic": "Dirit fondamentai",
	"grant-viewdeleted": "El ved i fail e i pagine scancellade",
	"grant-viewmywatchlist": "El ved la lista di pagine che te tegnet d'oeugg",
	"grant-viewrestrictedlogs": "Ved i valor privad del register",
	"newuserlogpage": "Register di utent noeuv",
	"newuserlogpagetext": "Chesschì a l'è un register de la crezzion di utenze.",
	"rightslog": "Register di dirit di utent",
	"rightslogtext": "Chesschì a l'è un register di cambiament di dirit di utent.",
	"action-read": "legger questa pagina",
	"skin-action-addsection": "Sgionta un argoment",
	"action-edit": "modifegà questa pagina chì",
	"action-createpage": "creà 'sta pagina chi",
	"action-createtalk": "creà sta pagina de discussion",
	"action-createaccount": "Crea questa utenza chì",
	"action-autocreateaccount": "creà in automatich quell cunt esterno chì",
	"action-history": "Vardà la cronologìa de questa pagina",
	"action-minoredit": "segnà questa modifica chì come piscinina",
	"action-move": "spostà questa pagina",
	"action-move-subpages": "sposta questa pagina chì e i so sotpagine",
	"action-move-rootuserpages": "spostà i pagine principai di utent",
	"action-move-categorypages": "spostà le categurie",
	"action-movefile": "sposta questo archivi",
	"action-upload": "Carega su quest'archivi chì",
	"action-reupload": "sorascriver quest'archivi chì (che l'esist sgiamò)",
	"action-reupload-shared": "sorascriver quell fail chì in d'un archivi condivis",
	"action-upload_by_url": "carega quest'archivi chì de un adress URL",
	"action-delete": "Scancella questa pagina chì",
	"action-delete-redirect": "sorascriver i redirezzion cont un'unega version in la cronologia",
	"action-deleterevision": "scancella questa version",
	"action-deletelogentry": "scancelà i vos de register",
	"action-deletedhistory": "vardà la cronologia scancelada de la pagina",
	"action-deletedtext": "varda el test di version scancellade",
	"action-browsearchive": "Cerca pagine scancellade",
	"action-undelete": "pagine recuperade",
	"action-suppressrevision": "Vardà an'mò e rimeter indove che a eren prima i version scondude",
	"action-suppressionlog": "Veder quell register privad chì",
	"action-block": "blocà i modifiche de quest'utent",
	"action-protect": "cambià i impostazzion de protezzion per questa pagina chì",
	"action-rollback": "Modifica indree i cambiament de l'ultim utent a 'na pagina particolar.",
	"action-import": "emportà pagine de le atre wiki",
	"action-importupload": "importà di pagine per mezz del caregament de fail",
	"action-patrol": "segnà i modifiche di alter utent come verificade",
	"action-autopatrol": "segnà i to modifiche come verificade",
	"action-unwatchedpages": "Varda una lista de pagine minga tegnude d'oeugg",
	"action-mergehistory": "Met insema la cronologia de quest pagina chì",
	"action-userrights": "cambià tucc i permess di utent",
	"action-userrights-interwiki": "cambià i permess di utent su di alter wiki",
	"action-siteadmin": "blocà o sblocà el databeis",
	"action-sendemail": "manda la posta eletronica",
	"action-editmyoptions": "modifica i to preferenze",
	"action-editmywatchlist": "cambià la lista di pagine che te tegnet d'oeugg",
	"action-viewmywatchlist": "varda la lista di pagine che t tegnet d'oeugg",
	"action-viewmyprivateinfo": "varda i to informazzion personai",
	"action-editmyprivateinfo": "cambia i to informazzion personai",
	"action-editcontentmodel": "modifica el model de contegnud de una pagina",
	"action-managechangetags": "creà e ativà/desativà i etichete",
	"action-applychangetags": "aplicà di etichete ai to modifiche",
	"action-changetags": "sgiontà o toeu via di specifiche etichete in su di version individuai o di vos de register",
	"action-deletechangetags": "scancelà i etichete del databeis",
	"action-purge": "atualizà 'sta pagina chì",
	"action-apihighlimits": "dovra di limit pussee alt in di interograzzion API",
	"action-autoconfirmed": "vesser minga soget al limit di azzion per IP",
	"action-bigdelete": "scancelà i pagine con di cronologie longhe",
	"action-blockemail": "impedigh a 'n'utent de mandà di messagg de posta eletronica",
	"action-bot": "vesser tratad come un process automatich",
	"action-editprotected": "modificà i pagine protesgiude con \"{{int:protect-level-sysop}}\"",
	"action-editsemiprotected": "modifegà i pagine protesgiude con \"{{int:protect-level-autoconfirmed}}\"",
	"action-editinterface": "modifegà l'interfaccia utent",
	"action-editusercss": "modificà i fail CSS de alter utent",
	"action-edituserjson": "modificà i fail JSON de alter utent",
	"action-edituserjs": "modificà i fail Javascript de alter utent",
	"action-editsitecss": "modifega el CSS complessiv del sit",
	"action-editsitejson": "modifega el JSON complessiv del sit",
	"action-editsitejs": "modifega el Javascript complessiv del sit",
	"action-editmyusercss": "modificà i fail CSS de la toa utenza",
	"action-editmyuserjson": "modificà i fail JSON de la toa utenza",
	"action-editmyuserjs": "modificà i fail Javascript de la toa utenza",
	"action-editmyuserjsredirect": "mnodificà i fail Javascript de la toa utenza ch'a inn di redirezzion",
	"action-viewsuppressed": "vardà di version scondude a qualsesia utent",
	"action-hideuser": "blocà on nom de utent, scondendoll al publich",
	"action-ipblock-exempt": "giregh intorna ai bloch IP, ai bloch automatich e ai bloch per grup de IP",
	"action-unblockself": "desblocà se stess",
	"action-noratelimit": "vesser minga soget a di limit de intervall",
	"action-reupload-own": "sorascriv i fail esistent caregad d'un quaivun",
	"action-nominornewtalk": "fà de manera che i modifiche piscinine ai pagine de discussion i faghen minga comparì l'avis de messagg noeuv",
	"action-markbotedits": "marcà i modifiche per tornà indree come modifiche fade d'un bot",
	"action-patrolmarks": "vedè i segn de verifica di ultime modifiche",
	"action-override-export-depth": "Eporta i pagine, compres i pagine conligade fin a una profondità de 5",
	"action-suppressredirect": "crea minga di redirezzion che parten de pagine sorgent quand che se sposten i pagine",
	"nchanges": "$1 {{PLURAL:$1|modifega|modifeghe}}",
	"enhancedrc-since-last-visit": "$1 {{PLURAL:$1|de l'oltima visita}}",
	"enhancedrc-history": "cronologia",
	"recentchanges": "Cambiament recent",
	"recentchanges-legend": "Opzion ulteme modifeghe",
	"recentchanges-summary": "In quella pagina chì a gh'è i cambiament pussée recent al contegnud del sit.",
	"recentchanges-noresult": "A gh'è minga de modifeghe in del cors del period dad che i sodisfa quii criteri chì.",
	"recentchanges-timeout": "Questa ricerca chì l'è finida. Magara proeuva di alter parametri de ricerca.",
	"recentchanges-network": "Per via de un eror tecnich, a l'è stad possibil caregà nissun risultad. Proeuva a asgiornà la pagina.",
	"recentchanges-notargetpage": "Met denter de sora el nom de la pagina per vedè i modifiche relative a quella pagina lì.",
	"recentchanges-feed-description": "Quell feed chì 'l mostra i modifeghe pussèe recente ai contegnud de la wiki.",
	"recentchanges-label-newpage": "Questa modifega chì l'ha cread una pagina noeuva",
	"recentchanges-label-minor": "Questa chì l'è una modifega piscinina.",
	"recentchanges-label-bot": "Questa modifega chì l'ha fada un bot",
	"recentchanges-label-unpatrolled": "Quella modifega chì a l'è stada nananmò verificada.",
	"recentchanges-label-plusminus": "La grandezza de la pagina l'è cambiada de quell numer de bait chì",
	"recentchanges-legend-heading": "<strong>Legenda:</strong>",
	"recentchanges-legend-newpage": "{{int:recentchanges-label-newpage}} (varda anca [[Special:NewPages|la lista de le pagine noeuve]])",
	"recentchanges-legend-watchlistexpiry": "Pagina temporanement sot oeugg",
	"recentchanges-submit": "Fà vedè",
	"rcfilters-tag-remove": "Toeu via '$1'",
	"rcfilters-legend-heading": "<strong>Lista di abreviazzion:</strong>",
	"rcfilters-other-review-tools": "Alter istrument de revision",
	"rcfilters-group-results-by-page": "Raggrupa i risultad per pagina",
	"rcfilters-activefilters": "Filter ativ",
	"rcfilters-activefilters-hide": "Scond",
	"rcfilters-activefilters-show": "Mostra",
	"rcfilters-activefilters-hide-tooltip": "Scond l'area di filter ativ",
	"rcfilters-activefilters-show-tooltip": "Fà vedè l'area di filter ativ",
	"rcfilters-advancedfilters": "Filter vanzad",
	"rcfilters-limit-title": "Risultad de fà vedè",
	"rcfilters-limit-and-date-label": "$1 {{PLURAL:$1|modifica|modifiche}}, $2",
	"rcfilters-limit-and-date-popup-dialog-aria-label": "Filtra i risultad per numer de modifiche e per period de temp",
	"rcfilters-date-popup-title": "Period de temp per la ricerca",
	"rcfilters-days-title": "Dì recent",
	"rcfilters-hours-title": "Ore recente",
	"rcfilters-days-show-days": "$1 {{PLURAL:$1|dì}}",
	"rcfilters-days-show-hours": "$1 {{PLURAL:$1|ora|ore}}",
	"rcfilters-highlighted-filters-list": "Marcad: $1",
	"rcfilters-quickfilters": "Filter salvad",
	"rcfilters-quickfilters-placeholder-title": "Nissun filter nancamò salvad",
	"rcfilters-quickfilters-placeholder-description": "Per salvà i impostazzion del to filter e doprai pussee tard, clica in su l'imagin segnaliber in l'area \"Filter ativ\" chì de sota",
	"rcfilters-savedqueries-defaultlabel": "Filter salvad",
	"rcfilters-savedqueries-rename": "Rinomina",
	"rcfilters-savedqueries-setdefault": "Imposta come predefinid",
	"rcfilters-savedqueries-unsetdefault": "Toeu via come predefinid",
	"rcfilters-savedqueries-remove": "Scancella",
	"rcfilters-savedqueries-new-name-label": "Nom",
	"rcfilters-savedqueries-new-name-placeholder": "Descriv el fin del filter",
	"rcfilters-savedqueries-apply-label": "Crea un filter",
	"rcfilters-savedqueries-cancel-label": "Anulla",
	"rcfilters-savedqueries-add-new-title": "Salva i impostazzion corent del filter",
	"rcfilters-savedqueries-already-saved": "'Sti filter chì inn sgiamò salvad. Cambia i impostazzion per creà un noeuv filter salvad.",
	"rcfilters-restore-default-filters": "Rinova i filter predefinid",
	"rcfilters-clear-all-filters": "Neta tucc i filter",
	"rcfilters-show-new-changes": "Varda i modifiche del $1",
	"rcfilters-search-placeholder": "Filtra i modifiche (dopra el menu o cerca el nom del filter)",
	"rcfilters-search-placeholder-mobile": "Fiter",
	"rcfilters-invalid-filter": "Filter minga valid",
	"rcfilters-empty-filter": "Nissun filter ativ. Tute i contribuzzione a inn mostrade.",
	"rcfilters-filterlist-title": "Filter",
	"rcfilters-filterlist-whatsthis": "Com' a l'è che fonzionen?",
	"rcfilters-highlightbutton-title": "Marca i risultad",
	"rcfilters-highlightmenu-title": "Scerniss un color",
	"rcfilters-highlightmenu-help": "Scerniss un color per marcà quella proprietà chì",
	"rcfilters-filterlist-noresults": "Nissun filter trovad",
	"rcfilters-noresults-conflict": "Nissun risultad trovad perchè i criteri de ricerca a inn in conflit",
	"rcfilters-state-message-subset": "Quell filter chì el gh'hà minga de efet perché i so risultad inn inclus in quei {{PLURAL:$2|de stoo filter chì, pussee ampi|di 'sti filter chì, pussee ampi}} (prova a marcai e a distinguei): $1",
	"rcfilters-state-message-fullcoverage": "A selezionà tucc i filter l'è l'istess de selezionann nissun, in quella manera chì el filter el gh'hà minga de efet. El grup el gh'hà denter: $1",
	"rcfilters-filtergroup-authorship": "Autor de la contribuzzion",
	"rcfilters-filter-editsbyself-label": "I to cambiament",
	"rcfilters-filter-editsbyself-description": "I to contribuzzion",
	"rcfilters-filter-editsbyother-label": "Modifiche de alter",
	"rcfilters-filter-editsbyother-description": "Tucce i modifiche foeura che i to.",
	"rcfilters-filtergroup-user-experience-level": "Registrazzion e pratica del mester de l'utent",
	"rcfilters-filter-user-experience-level-registered-label": "Registrad",
	"rcfilters-filter-user-experience-level-registered-description": "Contributor coness",
	"rcfilters-filter-user-experience-level-unregistered-label": "Minga registrad",
	"rcfilters-filter-user-experience-level-unregistered-description": "Contributor ch'a inn minga coness",
	"rcfilters-filter-user-experience-level-newcomer-label": "Utent noeuv",
	"rcfilters-filter-user-experience-level-newcomer-description": "Utent registrad che hann fad manch de 10 modifiche o 4 dì de atività.",
	"rcfilters-filter-user-experience-level-learner-label": "Principiant",
	"rcfilters-filter-user-experience-level-learner-description": "Utent registrad che 'l so nivell de esperienza l' compres tra \"pena arivad\" e \"Utent prategh del mester\".",
	"rcfilters-filter-user-experience-level-experienced-label": "Utent prategh del mester",
	"rcfilters-filter-user-experience-level-experienced-description": "Utent registrad con pussee de 500 modifiche e 30 dì de atività.",
	"rcfilters-filtergroup-automated": "Contribuzzion automatiche",
	"rcfilters-filter-bots-label": "Bot",
	"rcfilters-filter-bots-description": "Modifiche fade de istrument automatich.",
	"rcfilters-filter-humans-label": "Uman (minga bot)",
	"rcfilters-filter-humans-description": "Modifiche fade de contributor uman.",
	"rcfilters-filtergroup-reviewstatus": "Stat de la revision",
	"rcfilters-filter-reviewstatus-unpatrolled-description": "Modifiche minga marcade manualment o in automatich come verificade.",
	"rcfilters-filter-reviewstatus-unpatrolled-label": "Minga verificade",
	"rcfilters-filter-reviewstatus-manual-description": "Modifiche marcade manualment come verificade.",
	"rcfilters-filter-reviewstatus-manual-label": "Verificad manualment",
	"rcfilters-filter-reviewstatus-auto-description": "I modifiche di utent prategh del mester i sarann marcade in automatich come verificade.",
	"rcfilters-filter-reviewstatus-auto-label": "Verificad in automatich",
	"rcfilters-filtergroup-significance": "Significad",
	"rcfilters-filter-minor-label": "Modifiche piscinine",
	"rcfilters-filter-minor-description": "Modifiche che inn stade marcade come piscinine.",
	"rcfilters-filter-major-label": "Modifiche minga piscinine",
	"rcfilters-filter-major-description": "Modifiche minga marcade come piscinine.",
	"rcfilters-filtergroup-watchlist": "Pagine tegnude d'oeugg",
	"rcfilters-filter-watchlist-watched-label": "In la lista di pagine tegnude d'oeugg",
	"rcfilters-filter-watchlist-watched-description": "Modifiche ai vos infra i pagine che te tegnet d'oeugg.",
	"rcfilters-filter-watchlist-watchednew-label": "Modifiche noeuve ai pagine che te tegnet d'oeugg",
	"rcfilters-filter-watchlist-watchednew-description": "Modifiche ai pagine che te tegnet d'oeugg che t'hee mai visitad dopo de la modifica.",
	"rcfilters-filter-watchlist-notwatched-label": "Minga in di pagine tegnude d'oeugg",
	"rcfilters-filter-watchlist-notwatched-description": "Tuscoss foeura che i cambiament a la lista di pagine che te tegnet d'oeugg.",
	"rcfilters-filtergroup-watchlistactivity": "Atività in di pagine tegnude d'oeugg",
	"rcfilters-filter-watchlistactivity-unseen-label": "Modifiche nananmò vedude",
	"rcfilters-filter-watchlistactivity-unseen-description": "Modifiche ai pagine che che t'hee nananmò visitad de quand i modifiche a inn succedude.",
	"rcfilters-filter-watchlistactivity-seen-label": "Modifiche sgiamò viste",
	"rcfilters-filter-watchlistactivity-seen-description": "Modifiche ai pagine che t'hee visitad de quand che i modifiche a inn succedude.",
	"rcfilters-filtergroup-changetype": "Tipo de modifica",
	"rcfilters-filter-pageedits-label": "Modifiche ai pagine",
	"rcfilters-filter-pageedits-description": "Modifiche al contegnud wiki, ai discussion, ai descrizzion di categorie…",
	"rcfilters-filter-newpages-label": "Creazzion",
	"rcfilters-filter-newpages-description": "Modifiche che creen di pagine noeuve.",
	"rcfilters-filter-categorization-label": "Modifiche ai categorie",
	"rcfilters-filter-categorization-description": "Register di pagine sgiontade o tolte via di categorie.",
	"rcfilters-filter-logactions-label": "Azzion de register",
	"rcfilters-filter-logactions-description": "Azzion aministrative, creazzion de utenze, scancelament di pagine, caregament...",
	"rcfilters-hideminor-conflicts-typeofchange-global": "El filter \"Modifiche minori\" a l'è in conflit con almanch vun di filter \"Tipo de modifica\", perché certe modifiche poden minga vesser insegnade come \"piscinine\". I filter in conflit a inn indicad in l'area \"Filter ativ\" chi de sora.",
	"rcfilters-hideminor-conflicts-typeofchange": "Certi tipi de cambiament poden minga vesser indicade come \"piscinine\", donca quell filter chì l'è in conflit con'sti filter chìː $1",
	"rcfilters-typeofchange-conflicts-hideminor": "'Sto filter \"Tipo di modifica\" l'è in conflit cont el filter \"Modifiche piscinine\". Certi tipi de modifiche poden minga vesser indicade come \"piscinine\".",
	"rcfilters-filtergroup-lastrevision": "Ultime version",
	"rcfilters-filter-lastrevision-label": "Ultima versione",
	"rcfilters-filter-lastrevision-description": "Doma la modifica pussee recenta a la pagina",
	"rcfilters-filter-previousrevision-label": "No l'ultima version",
	"rcfilters-filter-previousrevision-description": "Tute i modifiche che sien minga l'\"ultima version\"",
	"rcfilters-filter-excluded": "Esclus",
	"rcfilters-tag-prefix-namespace-inverted": "<strong>:minga</strong> $1",
	"rcfilters-tag-prefix-tags-inverted": "<strong>#minga</strong> $1",
	"rcfilters-exclude-button-off": "Esclud i selezionad",
	"rcfilters-exclude-button-on": "Selezionad esclus",
	"rcfilters-view-tags": "Modifeghe etichetade",
	"rcfilters-view-namespaces-tooltip": "Filtra i risultad per spazzi di nom",
	"rcfilters-view-tags-tooltip": "Filtra i risultad doprand i etichete de modifica",
	"rcfilters-view-return-to-default-tooltip": "Torna indree al menù filter principal",
	"rcfilters-view-tags-help-icon-tooltip": "Savenn pussee sora i modifiche etichetade",
	"rcfilters-liveupdates-button": "Atualizazzion in temp real",
	"rcfilters-liveupdates-button-title-on": "Smorza i atualizazzion in temp real",
	"rcfilters-liveupdates-button-title-off": "Fà vedè i modifiche noeuve quand che suceden",
	"rcfilters-watchlist-markseen-button": "Marca tucc i cambiament come sgiamò vardad",
	"rcfilters-watchlist-edit-watchlist-button": "Modifica la lista di pagine che te tegnet d'oeugg",
	"rcfilters-watchlist-showupdated": "I cambiament ai pagine che t'hee nan'mò vist de quando che i cambiament inn stad fad, i vegnen marcad in <strong>negret</strong> e con di ballit pien.",
	"rcfilters-filter-showlinkedfrom-label": "Fà vedè i modifiche ai pagine con di conligament de",
	"rcfilters-filter-showlinkedfrom-option-label": "<strong>Pagine con di conligament de </strong> la pagina scernida",
	"rcfilters-filter-showlinkedto-label": "Fà vedè i modifiche ai pagine che conlighen a",
	"rcfilters-filter-showlinkedto-option-label": "<strong>Pagine ch'i conlighen</strong> a la pagina scernida",
	"rcfilters-target-page-placeholder": "Met dent el nom de 'na pagina (o categoria)",
	"rcfilters-allcontents-label": "Tucc i contegnud",
	"rcfilters-alldiscussions-label": "Tute i discussion",
	"rcnotefrom": "Chichinscì de sota {{PLURAL:$5|a gh'è el cambiament|gh'inn i cambiament}} de <strong>$3, $4</strong> (mostrad fina a <strong>$1</strong> shown).",
	"rclistfromreset": "Rimposta ala selezzion de la data",
	"rclistfrom": "Fà vedè i cambiament noeuv a partì de $3 $2",
	"rcshowhideminor": "$1 i modifeghe piscinine",
	"rcshowhideminor-show": "Fà vedè",
	"rcshowhideminor-hide": "Scond",
	"rcshowhidebots": "$1 i bot",
	"rcshowhidebots-show": "Fà vedè",
	"rcshowhidebots-hide": "Scond",
	"rcshowhideliu": "$1 utencc registracc",
	"rcshowhideliu-show": "Fà vedè",
	"rcshowhideliu-hide": "Scond",
	"rcshowhideanons": "$1 i utent anonim",
	"rcshowhideanons-show": "Fà vedè",
	"rcshowhideanons-hide": "Scond",
	"rcshowhidepatr": "$1 cambiament verficad",
	"rcshowhidepatr-show": "Fà vedè",
	"rcshowhidepatr-hide": "Scond",
	"rcshowhidemine": "$1 i mè modifiche",
	"rcshowhidemine-show": "Fà vedè",
	"rcshowhidemine-hide": "Scond",
	"rcshowhidecategorization": "$1 categorizazzione de la pagina",
	"rcshowhidecategorization-show": "Fà vedè",
	"rcshowhidecategorization-hide": "Scond",
	"rclinks": "Fà vedé i ultim $1 cambiament in di ultim $2 dì",
	"diff": "dif",
	"hist": "storia",
	"hide": "Scond",
	"show": "Fà vedè",
	"minoreditletter": "m",
	"newpageletter": "N",
	"boteditletter": "b",
	"rc-change-size-new": "$1 {{PLURAL:$1|byte|bytes}} dopo el cambiament",
	"newsectionsummary": "/* $1 */ sezzion noeuva",
	"rc-old-title": "creada in origin come \"$1\"",
	"recentchangeslinked": "Cambiament conligad",
	"recentchangeslinked-feed": "Cambiament conligad",
	"recentchangeslinked-toolbox": "Cambiament conligad",
	"recentchangeslinked-title": "Modifeghe ligade a \"$1\"",
	"recentchangeslinked-summary": "Metegh dent el nom de la pagina. (Per vedè i cambiament in sui pagine conligade da e vers quella pagina chì, met denter {{ns:category}}:el nom de la categoria). I cambiament a la pagina in  [[Special:Watchlist|di pagine che te tegnet d'oeugg]] a inn in  <strong>grasset</strong>.",
	"recentchangeslinked-page": "Nom de la pagina:",
	"recentchangeslinked-to": "Fà vedè doma i modifeghe ai pagine conligad a quella dada",
	"recentchanges-page-added-to-category": "[[:$1]] sgiontada a la categoria",
	"recentchanges-page-added-to-category-bundled": "[[:$1]] sgiontada a la categoria, [[Special:WhatLinksHere/$1|questa pagina chì l'è inclusa denter in di alter pagine]]",
	"recentchanges-page-removed-from-category": "[[:$1]] tolta via de la categoria",
	"recentchanges-page-removed-from-category-bundled": "[[:$1]] tolta via de la categoria, [[Special:WhatLinksHere/$1|questa pagina chì l'è inclusa denter in di alter pagine]]",
	"autochange-username": "Modifica automatica de MediaWiki",
	"upload": "Carega su on fail",
	"uploadbtn": "Carega on fail",
	"reuploaddesc": "Anula el caregament e torna indree al modol del caregament.",
	"upload-tryagain": "Manda la descrizzion de fail modificad",
	"upload-tryagain-nostash": "Manda el fail caregad su anmò e la descrizzion modifegada",
	"uploadnologin": "Minga autenticad",
	"uploadnologintext": "Per caregà un fail besogna $1.",
	"upload_directory_missing": "El diretori de caregament ($1) el gh'è no e 'l po minga vesser cread del servidor de la red.",
	"upload_directory_read_only": "El diretori de caregament ($1) l'è minga bon de vesser scrivud del servidor de la red.",
	"uploaderror": "Eror de caregament",
	"upload-recreate-warning": "<strong>Atenzione: un fail con quell nom chì l'è stad scancelad o spostad.</strong>\nEl register di scancelazion e di spostament de quella pagina chì el ven raportad chì per vesser comodː",
	"uploadtext": "Dopra el modol chì de sota per caregà di fail noeuv. Per caregà o cercà i fail sgiamò caregad, va a vedé la [[Special:FileList|lista di fail caregad]]. I caricament e i ricaregament a inn registrad in del [[Special:Log/upload|register di caregament]]. I scancellament a inn registrad in del [[Special:Log/delete|register di scancellament]].\n\nPer meter on fail denter in d'ona pagina, dopra un conligament de quell tipo chì:\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code>''' per doprà la version completa del fail\n* '''<code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|Descrizzion concisa]]</nowiki></code>''' per doprà la version 200 picsel larga missa denter in d'on riquader, in sul bord de manzina e cont el test 'descrizzion concisa' chì de sota\n* '''<code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code>''' de insgenerà un ligam diret al fail senza vedéll",
	"upload-permitted": "{{PLURAL:$2|Tipo de fail permetud|Tipi de fail permetud}}: $1.",
	"upload-preferred": "{{PLURAL:$2|Tipo de fail consiliad|Tipi de fail consiliad}}: $1.",
	"upload-prohibited": "{{PLURAL:$2|Tipo de fail proibid|Tipi de fail proibid}}: $1.",
	"uploadlogpage": "Register di fail caregad",
	"uploadlogpagetext": "Chì de sota la gh'è la lista di caregament de fail pussee recent.\nVardà la [[Special:NewFiles|galeria di fail noeuv]] per una veduda d'insema.",
	"filename": "Nom de l'archivi",
	"filedesc": "Somari",
	"fileuploadsummary": "Detali del failː",
	"filereuploadsummary": "Cambiament al failː",
	"filestatus": "Informazzion sora 'l dirit d'autorː",
	"filesource": "Sorgent",
	"ignorewarning": "Lassa perder l'avis e salva el fail comunque",
	"ignorewarnings": "Ignora tucc i avertiment",
	"minlength1": "El nome del fail el gh'hà de vesser longh almanch vun carater",
	"illegalfilename": "El nom del fail \"$1\" el gh'ha dent di carater minga permetud in di titoi di pagine. Dàgh on alter nom  al fail e proeuva a caregàll su an'mò.",
	"filename-toolong": "I nom di fail poden no vesser pussee longh de 240 bytes",
	"badfilename": "El nom del fail l'è stad cambiad in \"$1\".",
	"filetype-mime-mismatch": "L'estension del fail \".$1\" la corispond minga al tipo MIME del fail ($2).",
	"filetype-badmime": "I fail del tipo MIME \"$1\" i se poden minga caregà.",
	"filetype-bad-ie-mime": "Impossibil caregà el fail desgià che el Microsoft Edge e 'l le reconossaria come  \"$1\", che l'è un tipo de fail proibid e potenzialment pericolos.",
	"filetype-unwanted-type": "'''\".$1\"''' l'è on tipo de fila no vorsud. {{PLURAL:$3|El tipo de fail consiliad l'è|I tipi de fail consiliad inn}} $2.",
	"filetype-banned-type": "'''\".$1\"''' {{PLURAL:$4|a l'è mun tipo de fail minga permetud|a inn di tipi de fail minga permetud}}. {{PLURAL:$3|El tipo de fail permetud l'è|I tipi de fail permetud a inn}} $2.",
	"filetype-missing": "El fail el gh'hà minga de estension (per esempi \".jpg\").",
	"empty-file": "El fail che t'hee mandad l'èra voeuj",
	"file-too-large": "El fail che t'hee mandad l'è trop grand",
	"filename-tooshort": "El nom del fail l'è trop curt",
	"filetype-banned": "Quell tipo de fail chì l'è bandid",
	"verification-error": "Quell fail chì l'hà passad no la verifica.",
	"hookaborted": "La modifica che t'hee tentad de aportà l'è stada interota d'una'estension.",
	"illegal-filename": "El nom del fail l'è minga permetud",
	"unknown-error": "A l'è capitad un eror minga conossud.",
	"tmp-create-error": "A l'è minga possibil creà un fail provisori.",
	"tmp-write-error": "Eror de scritura del fail provisori.",
	"large-file": "Se raccomanda de sorpassà no la grandezza de $1 per ciaschedun fail; quell fail chì l'è grand $2.",
	"largefileserver": "Quel archivi chí l'è pussee grand de la grandezza massima permettuda del server.",
	"emptyfile": "El par che 'l fail che t'hee caregà el sia voeuj. \nQuest el podariss vesser caosad d'un eror in del nom del fail.\nVerifica che te voeuret propi caregà quell fail chì.",
	"windows-nonascii-filename": "'Sta wiki chì la soporta minga i nom di fail cont i carater speciai.",
	"fileexists": "On fail con quell nom chì l'esist sgiamò, contrólla prima <strong>[[:$1]]</strong> se te see minga sicur de volé scrivegh sora.\n[[$1|thumb]]",
	"filepageexists": "La pagina de descrizzion de 'sto fail chì l'è sgiàmo stada creada a l'adress <strong>[[:$1]]</strong>, ancaben l'esista nananmò on fail con quell nom chì. La descrizzion de l'oggetto missa denter adree al caregament la comparirà minga in la pagina de descrizzion Per fà de manera che l'oget el compara in la pagina de descrizzion, a ghe sarà de besogn de modifegala a man.\n[[$1|thumb]]",
	"fileexists-extension": "un fail cont un nom compagn el gh'è sgiamò: [[$2|thumb]]\n* Nom del fail caregad: <strong>[[:$1]]</strong>\n* Nom del fail che 'l ghe sgiamò: <strong>[[:$2]]</strong>\nForsi te voeuret cata foeura un nom pussee carateristich?.",
	"fileexists-thumbnail-yes": "El par che 'l fail caregad su el sia una miniadura ''(thumbnail)''. [[$1|thumb]]\nVerifica, per confront, el fail <strong>[[:$1]]</strong>.\nSe 'l fail l'è l'imagin medesima, a la grandezza d'origin, a gh'è minga de besogn de caregà di alter miniadure.",
	"file-thumbnail-no": "El nom del fail el comenza con <strong>$1</strong>; el par donca che 'l sia una miniadura <em>(thumbnail)</em>..\nSe te gh'hee quel 'imagin chì a la risoluzzion original, caregala su. Inscambi, cambiegh el nom al fail.",
	"fileexists-forbidden": "Un fail con quell nom chì l'esist sgiamò e 'l po minga vesser sorascrivud. Se te voeuret comunque caregà el fail, torna indree e dopra un alter nom. [[File:$1|thumb|center|$1]]",
	"fileexists-shared-forbidden": "Un fail con quell nom chì el gh'è sgiamò in del deposit condivis.Se te voeuret comunque caregà el fail, torna indree e dopra un alter nom. [[File:$1|thumb|center|$1]]",
	"fileexists-no-change": "Il fail caregad l'è un duplicad precis de la version de adess de <strong>[[:$1]]</strong>.",
	"fileexists-duplicate-version": "El fail caregad a l'è un duplicad precis de {{PLURAL:$2|una version passada|version passade}} de <strong>[[:$1]]</strong>.",
	"file-exists-duplicate": "Quell fail chì l'è un duplicad de {{PLURAL:$1|de qual fail chì|de 'sti fail chì}}:",
	"file-deleted-duplicate": "Un fail istess de chesschì ([[:$1]]) è stad scancellad in d'un temp indree. Varda la cronologia di scancelament inanz de caregall de nouef.",
	"file-deleted-duplicate-notitle": "Un fail istess de chesschì è stad scancellad in d'un temp indree, e 'l titol l'è stad sopress. Domandegh a un quaivun che 'l gh'hà la possibilità de vedè i fail sopress de toeu in esam la situazzion inanz de anda adree a caregà.",
	"uploadwarning": "Avis de caregament",
	"uploadwarning-text": "Per piesè modifega la descrizzion del fail de sota e prova anmò.",
	"uploadwarning-text-nostash": "Per piesè carega anmò el fail, cambia la descrizzion de sota e prova anmò.",
	"savefile": "Salva l'archivi",
	"uploaddisabled": "Caregament disativad.",
	"copyuploaddisabled": "El caregament per mez de URL l'è disativad.",
	"uploaddisabledtext": "El caregament di fail l'è minga ativ.",
	"php-uploaddisabledtext": "I caregament di fail per mezz de PHP a inn disativad.\nControla i impostazzion de caregament di fail (file_uploads).",
	"uploadscripted": "Quell fail chì el gh'hà dent del codes HTML o de script che 'l po vesser interpretad in manera minga sgiusta de un programa de navigazzion.",
	"upload-scripted-pi-callback": "Impossibil caregà un fail che 'l gh'hà dent un istruzzion per laoragh adree a un foeuj de stil XML.",
	"upload-scripted-dtd": "Impossibil caregà di fail SVG che gh'hann dent ona deciarazzion DTD minga standard.",
	"uploaded-script-svg": "Trovad element de script \"$1\" in del fail caregad in formad SVG.",
	"uploaded-hostile-svg": "Trovà CSS minga sicur in del element de stil del fail in formad SVG caregad.",
	"uploaded-event-handler-on-svg": "Impostazzion di atribud de gestion <code>$1=\"$2\"</code> a l'è minga permettud in di fail SGV.",
	"uploaded-href-attribute-svg": "&lt;a&gt; element i poden doma conligà (href) a data: (fail incorporad), http:// o https://, o destinazzion frment (#, istess document). Per i alter element, compagn de &lt;image&gt;, doma data: e frament a inn permettud. Prova a incorporà i imagin quand che t'esportet el to SVG. Trovad <code>&lt;$1 $2=\"$3\"&gt;</code>.",
	"uploaded-href-unsafe-target-svg": "Trovad href a dati minga sicuri: destinazzion URI <code>&lt;$1 $2=\"$3\"&gt;</code> in del fail SVG caregad.",
	"uploaded-animate-svg": "Trovada l'eticheta \"animate\" che la podariss cambià href, cont el doprà l'atribud \"from\" <code>&lt;$1 $2=\"$3\"&gt;</code> in del SVG caregad.",
	"uploaded-setting-event-handler-svg": "La determinazzion de la posizzion di atribud  l'è blocada, trovad <code>&lt;$1 $2=\"$3\"&gt;</code> in del fail SVG caregad.",
	"uploaded-setting-href-svg": "Dopra l'eticheta \"set\" per sgiontagh l'atribud \"href\" a l'element-parent blocad.",
	"uploaded-wrong-setting-svg": "L'utilizzazion de l'element \"set\" per sgiontà una destinazzion remote/data/script per qualsesia atribud l'è blocad. Trovad <code>&lt;set to=\"$1\"&gt;</code> in del fail SVG caregad.",
	"uploaded-setting-handler-svg": "El SVG che l'imposta l'atribud \"handler\" con remote/data/script l'è blocad. Trovad <code>$1=\"$2\"</code> in del fail SVG caregad.",
	"uploaded-remote-url-svg": "El SVG che l'imposta qualsesia atribud de stil con URL a distanza l'è blocad. Trovad <code>$1=\"$2\"</code> in del SVG caregad.",
	"uploaded-image-filter-svg": "Trovad filter imagin con URL: <code>&lt;$1 $2=\"$3\"&gt;</code> in del fail in formad SVG caregad.",
	"uploadscriptednamespace": "Quell fail SVG chì el gh'hà dent un spazzi di nom '<nowiki>$1</nowiki>'minga permetud",
	"uploadinvalidxml": "A se po minga laoragh adree al codes XML del fail caregad.",
	"uploadvirus": "Quell fail chì el gh'hà dent un virus! Detali: $1",
	"upload-source": "Fail de origin",
	"sourcefilename": "Nom de l'archivi sorgent:",
	"sourceurl": "URL d'originː",
	"destfilename": "Nom de l'archivi de destinazzion:",
	"upload-maxfilesize": "Grandezza massima del fail: $1",
	"upload-description": "Descrizzion del fail",
	"upload-options": "Opzion de caregament",
	"watchthisupload": "Ten d'oeugg quell fail chì",
	"filewasdeleted": "Un fail con quell nom chì l'è stad sgiamò caregad e scancelad in d'un temp indree. Te gh'avarisset de controlà el $1 inanz de caregall anmò.",
	"filename-thumb-name": "Chesschì el par che 'l sia el titol de una miniatura. Carega no i miniadure in su la medesima wiki. Diversament, cambiegh el nom al fail de manera che 'l sia pussee significativ e 'l gh'abia no el prefiss de la miniadura.",
	"filename-bad-prefix": "Il nom del fail che te see 'dree a caregà el comenza con '''\"$1\"''', ch'a l'è un nom generich compagn de quei assegnad in automatich di cinepres digitai. Cata foeur un nom che 'l descriva mej el fail",
	"upload-proto-error": "protocol minga sgiust",
	"upload-proto-error-text": "Per el caregament a distanza a gh'è de besogn de met dent di URL che comenzen con <code>http://</code> opur <code>ftp://</code>.",
	"upload-file-error": "Eror interno",
	"upload-file-error-text": "A l'è capità un eror interno intanta che un fail provisori l'era 'dree a vesser cread in sul server. Toru contat cont un [[Special:ListUsers/sysop|aministrador]].",
	"upload-misc-error": "Eror de caregament conossud de nissun",
	"upload-misc-error-text": "Un eror minga reconossud l'è sucedud adree a caregament. Controla che l'URL la sia sgiusta e che sia possibil de andagh denter e poeu prova anmò. Se 'l problema el persist, toeu contat cont un [[Special:ListUsers/sysop|aministrador]].",
	"upload-too-many-redirects": "L'URL la gh'aveva dent troppe tante redirezzion",
	"upload-http-error": "A l'è capitad un eror HTTP: $1",
	"upload-copy-upload-invalid-domain": "El caregament di copi l'è minga permetud de quell domini chì.",
	"upload-foreign-cant-upload": "Quella wiki chì l'è impostada no per caregà i fail in del deposit de fail de foeura domandad.",
	"upload-foreign-cant-load-config": "Caregament de l'impostazzion de caregament di fail in del deposit de fail defoeura.",
	"upload-dialog-disabled": "I caregament di fail per mezz de quella finestra chì a inn disativad in du quell wiki chì.",
	"upload-dialog-title": "Carega on fail",
	"upload-dialog-button-cancel": "Anula",
	"upload-dialog-button-back": "Indree",
	"upload-dialog-button-done": "Faa",
	"upload-dialog-button-save": "Salva",
	"upload-dialog-button-upload": "Carega",
	"upload-form-label-infoform-title": "Detali",
	"upload-form-label-infoform-name": "Nom",
	"upload-form-label-infoform-name-tooltip": "Un titol unegh de descriv ben el fail, che 'l farà la part del nom del fail. Te podet doprà un lenguagg sempliz con di spazzi. Includ minga l'estesion del fail.",
	"upload-form-label-infoform-description": "Descrizzion",
	"upload-form-label-infoform-description-tooltip": "Cunta su in poch parolle tucc i robe importante del to lavorà.\nPer i fotografie, descriv i robe principai ch'a inn figurade, l'ocorenza o el sit.",
	"upload-form-label-usage-title": "Utilizazzion",
	"upload-form-label-usage-filename": "Nom del fail",
	"upload-form-label-own-work": "Chesschì l'è un me lavorà",
	"upload-form-label-infoform-categories": "Categorie",
	"upload-form-label-infoform-date": "Data",
	"upload-form-label-own-work-message-generic-local": "Mi confermi de vesser 'dree a caregà quell fail chì conforma ai termin del servizzi e i politeghe de la licenza del {{SITENAME}}.",
	"upload-form-label-not-own-work-message-generic-local": "Se te riesset minga a caregà su quell fail chì sota i politeghe de {{SITENAME}}, sara su quella finestra chì e prova un alter sistema.",
	"upload-form-label-not-own-work-local-generic-local": "Te podet anca provà la [[Special:Upload|pagina de caregament predefinida]].",
	"upload-form-label-own-work-message-generic-foreign": "Ho capid de vesser 'dree a caregà quell fail chì in d'un deposit condivis. Confermi de vesser 'dree a fall conforma ai condizzion del servizzi e i so politeghe sora i licenze.",
	"upload-form-label-not-own-work-message-generic-foreign": "Se te riesset nò a caregà su quell fail chì sota i politeghe del deposit condivis, sara su quella finestra chì e prova un alter sistema.",
	"upload-form-label-not-own-work-local-generic-foreign": "Te podet anca provà a doprà la [[Special:Upload|pagina de caregamento in su {{SITENAME}}]], semai che quell fail chì el poda vesser caregad chì seconda i sò politeghe.",
	"backend-fail-stream": "Impossibil trasmeter el fail $1.",
	"backend-fail-backup": "Impossibil copià in del'archivi el fail \"$1\" .",
	"backend-fail-notexists": "El fail $1 a l'esist minga.",
	"backend-fail-hashes": "Impossibil otegnì i hash di fail de fà 'l confront",
	"backend-fail-sizes": "Impossibil otegnì la grandezza del fail per fà un confront.",
	"backend-fail-notsame": "A l'esist sgiamò un fail minga identich de \"$1\".",
	"backend-fail-invalidpath": "\"$1\" a l'è un percors de archiviazzion minga valid.",
	"backend-fail-delete": "Impossibil scancelà el fail \"$1\".",
	"backend-fail-describe": "A l'è impossibil cambià i metadati per el fail \"$1\".",
	"backend-fail-alreadyexists": "El fail $1 l'esist sgiamò.",
	"backend-fail-store": "Impossibil memorizzà i fail $1 in $2 .",
	"backend-fail-copy": "Impossibil copià el fail \"$1\" in \"$2\".",
	"backend-fail-move": "Impossibil trasformà el fail \"$1\" in \"$2\" .",
	"backend-fail-opentemp": "Impossibil dervì el fail provisori.",
	"backend-fail-writetemp": "Impossibil scriver el fail provisori.",
	"backend-fail-closetemp": "Impossibil sarà el fail provisori.",
	"backend-fail-read": "Impossibil lensger el fail \"$1\" .",
	"backend-fail-create": "Impossibil scriver el fail $1.",
	"backend-fail-maxsize": "Impossibil scriver el fail $1 perchè l'è pussée grand de {{PLURAL:$2|un|$2}} bait.",
	"backend-fail-readonly": "El beckend \"$1\" al moment l'è doma de letura. La reson indicada l'è: <em>$2</em>",
	"backend-fail-synced": "El fail \"$1\" l'è in d'un stat incoerent denter in di backend de memoria interna",
	"backend-fail-connect": "Impossibil conetess al beckend de memoria \"$1\".",
	"backend-fail-internal": "A l'è succedud on eror minga conossud in del beckend de memoria \"$1\".",
	"backend-fail-contenttype": "Impossibil determinà el tipo de fail de met via in \"$1\".",
	"backend-fail-batchsize": "El beckend de memoria l'ha fad el programa per una serie de $1 {{PLURAL:$1|operazzion}} sui fail; el limit l'è de $2 {{PLURAL:$2|operazzion}}.",
	"backend-fail-usable": "Impossibil lensg o scriver el fail \"$1\" per via di permess ch'a inn minga assee o i diretori/contenidor mancant.",
	"backend-fail-stat": "Impossibil lensger el stat del fail \"$1\".",
	"backend-fail-hash": "Impossibil determinà l'hash criptografich del fail \"$1\".",
	"lockmanager-notlocked": "Impossibil desblocà \"$1\"; a l'è minga blocad.",
	"lockmanager-fail-closelock": "Impossibil sartà el fail de bloch per \"$1\".",
	"lockmanager-fail-deletelock": "Impossibil scancelà el fail de bloch per \"$1\"",
	"lockmanager-fail-acquirelock": "Impossibil acquisì el bloch per \"$1\".",
	"lockmanager-fail-openlock": "Impossibil dervì el fail de bloch per \"$1\". Sicuress che el diretori per i caregament el sia impostad sgiust e che 'l to server de la red el gh'abia i permess de scrivegh denter. Varda https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgUploadDirectory per savenn pussee.",
	"lockmanager-fail-releaselock": "A l'è stad minga possibil toeu via el bloch per \"$1\".",
	"lockmanager-fail-db-bucket": "Impossibil toeu contat cont i databeis de bloch che gh'è de besogn in del bachet ̯$1.",
	"lockmanager-fail-db-release": "Impossibil toeu via i bloch in sul databeis $1.",
	"lockmanager-fail-svr-acquire": "Impossibil acquisì i bloch in sul server $1.",
	"lockmanager-fail-svr-release": "Impossibil toeu via i bloch in sul server $1.",
	"lockmanager-fail-conflict": "A se po minga otegnì el bloch . On quaidun alter l'è 'dree a fà on quaicoss a quell file chì",
	"zip-file-open-error": "A l'è capità un eror in del cors de l'avertura del fail per i controi ZIP.",
	"zip-wrong-format": "El fail specificad l'è minga un fail ZIP.",
	"zip-bad": "El fail l'è un fail ZIP guastad o diversament vegnud impossibil de vesser lensgiud.\nEl po minga vesser controlad de bon per la sicurezza.",
	"zip-unsupported": "El fail l'è un fail ZIP che 'l dopra di caratteristiche ZIP minga suportade da MediaWiki.\nEl po minga vesser controlad de bon per la sicurezza.",
	"uploadstash": "Carega stash",
	"uploadstash-summary": "Questa pagina chì la permet de andagh dent ai fail caregà su o 'dree a vesser caregad ma ch'a inn nanamò publicad in sul wiki. 'Sti fail chì a inn minga visibile a tucc ma doma a qual là ch'ai ha caregad.",
	"uploadstash-clear": "Elimina i fail scondud",
	"uploadstash-nofiles": "Te gh'hee minga de fail scondud.",
	"uploadstash-badtoken": "Esecuzzion de l'azzion falada, forse perchè i to credenziai de modifica a inn scadude. Prova amò.",
	"uploadstash-errclear": "El scancelament di fail l'è fallad",
	"uploadstash-refresh": "Atualiza la lista di fail",
	"uploadstash-exception": "Impossibil memorizzà el caricamento in del stash ($1): \"$2\".",
	"uploadstash-bad-path": "El percors l'esist minga",
	"uploadstash-bad-path-invalid": "El percors l'è minga valid",
	"uploadstash-bad-path-unknown-type": "Tipo minga conossud \"$1\".",
	"uploadstash-bad-path-unrecognized-thumb-name": "Nom de la miniadura minga reconossud.",
	"uploadstash-bad-path-no-handler": "Hoo trovad nissun handler per el mime $1 del fail $2",
	"uploadstash-bad-path-bad-format": "La ciaf \"$1\" a l'è in d'un formad minga giust.",
	"uploadstash-file-not-found": "La ciaf \"$1\" a l'è stada minga trovada in del stash",
	"uploadstash-file-not-found-no-thumb": "A l'è stad minga possibil otegnì la miniatura.",
	"uploadstash-file-not-found-no-local-path": "Nissun percors local per l'element scalad.",
	"uploadstash-file-not-found-no-remote-thumb": "Recuper de la miniadura falid: $1\nURL = $2",
	"uploadstash-file-not-found-missing-content-type": "Intestazzioɳ del tipo de contegnud mancant.",
	"uploadstash-file-not-found-not-exists": "Impossibil trovà on percors, o l'è minga un fail sempliz.",
	"uploadstash-file-too-large": "Podi no servì un fail pussee grand de $1 bytes.",
	"uploadstash-not-logged-in": "Nissun utent coness, i fail i gh'hann de partegnì ai utent.",
	"uploadstash-wrong-owner": "Quell fail chì ($1) el parten minga a l'utent corent.",
	"uploadstash-no-such-key": "Nissuna ciaf ($1), impossibil toeu via.",
	"uploadstash-zero-length": "El fail l'è longh nagot.",
	"invalid-chunk-offset": "Ofset de la part minga valida",
	"img-auth-accessdenied": "Entrada negada",
	"img-auth-notindir": "El percors domandad l'è no in del diretori de caregament impostad.",
	"img-auth-badtitle": "Impossibil costruì un titol valid de \"$1\".",
	"img-auth-nofile": "El fail \"$1\" l'esist minga.",
	"img-auth-isdir": "Te se 'dree a tentà de andà dent a un diretori \"$1\".\nDoma de andà dent ai fail l'è permetud.",
	"img-auth-streaming": "Letura continua de \"$1\"",
	"img-auth-public": "La fonzion de img_auth.php l'è de dà in sortida di fail de un sit wiki privad.\nQuell sit chì l'è impostad come un wiki  publich.\nPer una sicurezza otima, img_auth.php l'è disativad.",
	"img-auth-noread": "L'utent el gh'hà minga i permess de andà a lensger \"$1\".",
	"http-invalid-url": "URL minga valid: $1",
	"http-invalid-scheme": "I URL cont el prefiss \"$1\" inn minga suportad.",
	"http-request-error": "Richiesta HTTP falida a caosa d'un erore che 'l conoss nissun.",
	"http-read-error": "eror de letura HTTP.",
	"http-timed-out": "La richiesta HTTP l'hà finid el so temp",
	"http-curl-error": "Eror in del cors del recuper de l'URL: $1",
	"http-bad-status": "A l'è capità un problema in del cors de la richiesta HTTPː $1 $2",
	"http-internal-error": "Eror interno HTTP.",
	"upload-curl-error6": "URL impossibil de vesser raggiont",
	"upload-curl-error6-text": "Impossibil raggionger la URL specificata. Verificà tant che la URL la sia scrivuda ben quant che 'l sit el sia ativ.",
	"upload-curl-error28": "L'è finid el temp per el caregament",
	"upload-curl-error28-text": "Il sit distant el gh'hà miss trop temp per risponder. Verifica che el sit sia ativ, speta on zich e poeu prova anmò, magara in d'un moment de minor trafich.",
	"license": "Licenza",
	"license-header": "Licenza",
	"nolicense": "Nissuna licenza indicada",
	"licenses-edit": "Modifega i opzion de licenza",
	"license-nopreview": "(Veduda antecipada minga disponibil)",
	"upload_source_url": "(un fail d'un URL valid e che poden andagh denter tucc)",
	"upload_source_file": "(el fail che t'hee scernid de to compiuter)",
	"listfiles-delete": "scancella",
	"listfiles-summary": "Questa pagina special chì la fa vedè tut i fail caregad",
	"listfiles-userdoesnotexist": "L'utenza \"$1\" l'è minga registrada.",
	"imgfile": "fail",
	"listfiles": "Lista di fail",
	"listfiles_subpage": "Caregament de $1",
	"listfiles_thumb": "Miniadura",
	"listfiles_date": "Data",
	"listfiles_name": "Nom",
	"listfiles_user": "Utent",
	"listfiles_size": "Grandezza in bait",
	"listfiles_description": "Descrizzion",
	"listfiles_count": "Version",
	"listfiles-show-all": "Includ i vegge version di fail",
	"listfiles-latestversion": "Version de adess",
	"listfiles-latestversion-yes": "Sì",
	"listfiles-latestversion-no": "Nò",
	"file-anchor-link": "Archivi",
	"filehist": "Cronologia de l'archivi",
	"filehist-help": "Schiscia in su un grup data/ora per vedè l'archivi com 'a l'è che l'era in quell moment là",
	"filehist-deleteall": "scancella tut",
	"filehist-deleteone": "scancella",
	"filehist-revert": "torna indrée a 'me che l'era",
	"filehist-current": "corent",
	"filehist-datetime": "Data/Ora",
	"filehist-thumb": "Miniadura",
	"filehist-thumbtext": "Miniadura de la version di $1",
	"filehist-nothumb": "Nissuna miniadura",
	"filehist-user": "Utent",
	"filehist-dimensions": "Grandezza",
	"filehist-comment": "Coment",
	"imagelinks": "Utilizazzion del fail",
	"linkstoimage": "Quell fail chì l'è doprad de {{PLURAL:$1|la pagina chichinscì|$1 i pagine chichinscì}}:",
	"linkstoimage-more": "Pussee de $1 {{PLURAL:$1|pagina la dopra|pagine i dopren}} quell fail chì.\nLa lista chichinscì la fà vedè doma {{PLURAL:$1|la prima pagina che la dopra|i prim $1 pagine ch'i dopren}} quell fail chì.\nA l'è disponibil una [[Special:WhatLinksHere/$2|lista completa]].",
	"nolinkstoimage": "A gh'è minga de pagine che doperen quell fail chì.",
	"morelinkstoimage": "Varda i [[Special:WhatLinksHere/$1|alter conligament]] vers quell fail chì.",
	"linkstoimage-redirect": "$1 (redirezzion del fail) $2",
	"duplicatesoffile": "{{PLURAL:$1|Quell fail chì l'è un duplicad|'Sti $1 fail inn di duplicad}} de quell fail chì ([[Special:FileDuplicateSearch/$2|per savenn pussee]]):",
	"sharedupload": "Quell fail chì el ven de $1 e 'l po vesser duprae de alter proget",
	"sharedupload-desc-there": "Quell fail chì el ven $1 e po vesser doprad de di alter proget\nVa a vedè la [$2 pagina de descrizzion del fail] per savenn pussee.",
	"sharedupload-desc-here": "Quell ''fail'' chì el ven de $1 e 'l po vesser doprad de alter proget.\nLa descrizzion sora la soa [$2 pagina de descrizzion del fail] l'è mostrada chì de sota.",
	"sharedupload-desc-edit": "Quell fail chì el ven $1 e po vesser doprad de di alter proget\nForsi te voeuret modifegà la descrizzion che gh'è in la [$2 pagina de descrizzion del fail].",
	"sharedupload-desc-create": "Quell fail chì el ven $1 e po vesser doprad de di alter proget\nForsi te voeuret modifegà la descrizzion che gh'è in la [$2 pagina de descrizzion del fail].",
	"filepage-nofile": "A gh'è minga de fail con quell nom chì.",
	"filepage-nofile-link": "A l'esist minga on fail con quell nom chì, ma se po [$1 caregall].",
	"uploadnewversion-linktext": "Carega una version noeuva de quell fail chì",
	"shared-repo-from": "de $1",
	"shared-repo": "un arichivi condivis",
	"upload-disallowed-here": "Te podet minga scriver sora quell fail chì",
	"filerevert": "fà tornà $1 'me che l'era inanz",
	"filerevert-legend": "Fà tornà el fail 'me che l'era prima",
	"filerevert-intro": "Te seet adree a fà tornà indree el fail '''[[Media:$1|$1]]''' a la [$4 version del $2, $3].",
	"filerevert-comment": "Reson:",
	"filerevert-defaultcomment": "Tornad indree a la version del $2, $1 ($3)",
	"filerevert-submit": "Torna a 'me che l'era inanz",
	"filerevert-success": "'''L'archivi [[Media:$1|$1]]''' l'è stad ripristinad a la [$4 version del $2, $3].",
	"filerevert-badversion": "A gh'è minga de version locai precedente de qual fail chì con la marca temporal fornida.",
	"filerevert-identical": "La version atual del fail l'è sgiamò identica de quella scernida.",
	"filedelete": "Scancella $1",
	"filedelete-legend": "Scancella l'archivi",
	"filedelete-intro": "Te seet adree per scancellà el fail '''[[Media:$1|$1]]''' con tuta la soa storia.",
	"filedelete-intro-old": "Te seet adree a scancelà la version de '''[[Media:$1|$1]]''' del [$4 $2, $3].",
	"filedelete-comment": "Reson:",
	"filedelete-submit": "Scancella",
	"filedelete-success": "L'archivi '''$1''' l'è stad scancelad.",
	"filedelete-success-old": "La version de l'archivi '''[[Media:$1|$1]]''' del $2, $3  l'è stada scancelada.",
	"filedelete-nofile": "Un fail $1 l'esist minga.",
	"filedelete-nofile-old": "In archivi a gh'è minga de version de <strong>$1</strong> cont i caratteristiche indicade.",
	"filedelete-otherreason": "Alter reson/spiegazzion:",
	"filedelete-reason-otherlist": "Oltra reson",
	"filedelete-reason-dropdown": "*I solit reson per i scancelament\n** Violazzion de dirott d'autor\n** Fail dobi",
	"filedelete-edit-reasonlist": "Cambia i reson del scancelament",
	"filedelete-edit-reasonlist-suppress": "Modifega i reson de la sopression",
	"filedelete-maintenance": "Scancelazzion e recuper di fail dfelsadess disativad in del cors de la manutenzion.",
	"filedelete-maintenance-title": "Impossibil scancelà el fail",
	"mimesearch": "cerca MIME",
	"mimesearch-summary": "Questa pagina chì la permet de filtrà i fail a segonda del tipo de  MIME.\nMet denter la strnga de ricerca ina la forma tipo/sottotipo o tipo/*, per esempi <code>image/jpeg</code>.",
	"mimetype": "Tipo MIME:",
	"download": "descarega",
	"unwatchedpages": "Pagine minga tegnude d'oeugg",
	"listredirects": "Lista di pagine de redirezzion",
	"listduplicatedfiles": "Lista di fail con di duplicad",
	"listduplicatedfiles-summary": "Questa chì l'è una lista di fail, indoe la version pussee recenta del fail l'è un duplicad de la version pussee recenta d'un alter fail. A inn considerad doma i fail locai.",
	"listduplicatedfiles-entry": "[[:File:$1|$1]] el gh'hà [[$3|{{PLURAL:$2|un duplicad|$2 duplicad}}]].",
	"unusedtemplates": "Modei minga doprad",
	"unusedtemplatestext": "In questa pagina chì l'è fad l'elench di pagine del spazzi di nom {{ns:template}} ch'a inn incluse in nissuna pagina. Inanz de scancelai l'è mej verificà che i modei in deperlor i gh'abien minga di conligament in entrada.",
	"unusedtemplateswlh": "alter colegament",
	"randompage": "Una pagina a sort",
	"randompage-nopages": "A ghe n'è minga de pagine in {{PLURAL:$2|quell spazzi di nom chì|in 'sti spazzi di nom chì}}: $1.",
	"randomincategory": "Pagina a sort in d'una categoria",
	"randomincategory-invalidcategory": "\"$1\" a l'è un nom de categoria minga valid.",
	"randomincategory-nopages": "A ghe 'n è minga de pagine in la categoria [[:Category:$1]].",
	"randomincategory-category": "Categoriaː",
	"randomincategory-legend": "Pagina a sort in d'una categoria",
	"randomincategory-submit": "Và",
	"randomredirect": "Una redirezzion a cas",
	"randomredirect-nopages": "A gh'è minga de redirezzion in del spazzi di nom \"$1\".",
	"statistics": "Statistiche",
	"statistics-header-pages": "Statisteghe di pagine",
	"statistics-header-edits": "Statisteghe sora i modifeghe",
	"statistics-header-users": "Statisteghe di utent",
	"statistics-header-hooks": "Alter statisteghe",
	"statistics-articles": "Pagine de contegnud",
	"statistics-pages": "Pagine",
	"statistics-pages-desc": "Tute i pagine del sit, comprese i pagine de discussion, i redirezzion, eccetera",
	"statistics-files": "Fail caregad su",
	"statistics-edits": "Pagine modifegade del dì che l'è nassud el sit de {{SITENAME}}",
	"statistics-edits-average": "Modifeghe in media per pagina",
	"statistics-users": "Utent registrad",
	"statistics-users-active": "Utent ativ",
	"statistics-users-active-desc": "Utent che i han fad un'azion in {{PLURAL:$1|l'oltim dì|i oltim $1 dì}}",
	"pageswithprop": "Pagine con proprietà de pagina",
	"pageswithprop-legend": "Pagine con una proprietà de pagina",
	"pageswithprop-text": "Questa pagina chì la fà la lista di pagine che doperen una proprietà particolar de pagina.",
	"pageswithprop-prop": "Nom de la proprietà",
	"pageswithprop-reverse": "Ordin a l'incontrari",
	"pageswithprop-sortbyvalue": "Ordina segond el valor de la proprietà",
	"pageswithprop-submit": "Và",
	"pageswithprop-prophidden-long": "valor de la proprietà del test longh scondud ($1)",
	"pageswithprop-prophidden-binary": "valor binari de la proprietà scondud ($1)",
	"doubleredirects": "Redirezzion dopie",
	"doubleredirectstext": "In questa pagina chì gh'è la lista di pagine che fann la redirezzion vers di alter pagine de redirezzion.\nCiascheduna riga la gh'hà dent i conligament a la prima e a la segonda redirezzion che de solit la gh'hà dent la pagina de destinazzion \"giusta\" a la qual la gh'avariss de pontà anca la prima redirezzion.\nI redirezzion <del>scancelade</del> a inn stade corresgiude.",
	"double-redirect-fixed-move": "[[$1]] l'è stada spostad.\nA l'è stad asgiornad in automatich e adess l'è un redirect a [[$2]].",
	"double-redirect-fixed-maintenance": "Corresgiud in automatich la redirezzion doppia de [[$1]] a [[$2]] in del lavorà de manutenzion",
	"double-redirect-fixer": "Corettor de redirezzion",
	"brokenredirects": "Redirezzion rote",
	"brokenredirectstext": "I redirezzion chi de sota i punten a di pagine che i esisten minga:",
	"brokenredirects-edit": "fa un cambiament",
	"brokenredirects-delete": "scancella",
	"withoutinterwiki": "Pagine senza ligam interlinguistegh",
	"withoutinterwiki-summary": "I pagine chì adree conlighen minga a di alter version in alter lengov.",
	"withoutinterwiki-submit": "Fà vedè",
	"fewestrevisions": "Pagine con pussee poche revision",
	"nbytes": "$1 {{PLURAL:$1|bait}}",
	"ncategories": "$1 {{PLURAL:$1|Categoria|Categorie}}",
	"ninterwikis": "$1 {{PLURAL:$1|interwiki}}",
	"nlinks": "$1 {{PLURAL:$1|colegament|colegamencc}}",
	"nmembers": "$1 {{PLURAL:$1|element|elemencc}}",
	"nmemberschanged": "$1 → $2 {{PLURAL:$2|element|elemencc}}",
	"nrevisions": "$1 {{PLURAL:$1|revision|revisione}}",
	"nimagelinks": "Dopràt sö $1 {{PLURAL:$1|pagina|pagine}}",
	"ntransclusions": "dopràt sö $1 {{PLURAL:$1|pagina|pagine}}",
	"specialpage-empty": "Questa pagina special al moment l'è voeuja",
	"lonelypages": "Pagine in deperlore",
	"lonelypagestext": "I pagine elencade chì de sota i gh'han minga de conligament che vegnen de alter pagine {{SITENAME}} e a inn minga denter in nissuna pagina del sit.",
	"uncategorizedpages": "Pagine che i gh'han minga de categorie",
	"uncategorizedcategories": "Categoriaìe minga categorizìzade",
	"uncategorizedimages": "''Fail'' che i gh'hann minga de categorie.",
	"uncategorizedtemplates": "Modei che i gh'han minga de categorie.",
	"uncategorized-categories-exceptionlist": "# El gh'ha dent una lista de categorie, ch'i gh'avarissen de vesser minga minzonade in Special:UncategorizedCategories. Una categoria per linea, a comenzà de \"*\". I linei che comenzen cont un alter carater (compres i spazzi bianch) i sarann ignorade. Dopra «#» per sgiontà di coment.",
	"unusedcategories": "Categorie minga doprade",
	"unusedimages": "Imagin minga doprade",
	"wantedcategories": "Categorie ricercade",
	"wantedpages": "Pagine ricercade",
	"wantedpages-summary": "Lista di pagine inesistent, cont el numer maggior con conligament a lor, foeura che i pagine che gh'hann doma i redirezzion a lor. Per una lista de pagine inesistent che gh'hann di redirezzion che ghe menen, varda [[{{#special:BrokenRedirects}}|la lista di redirezzion rot]].",
	"wantedpages-badtitle": "Titol minga valid in del grup de risultad: $1",
	"wantedfiles": "Fail ciamad",
	"wantedfiletext-cat": "I fail chì adree inn doprà, ma i esisten minga. I fail ospitad in di deposit de foeura i podarissen vesser in la lista anca s'i esisten minga. 'Sti falsi positiv chì i vegnarann <del>sbarrad</del>. La lista di pagine che gh'hann denter di fail ch'i esisten minga l'è presenta in [[:$1]].",
	"wantedfiletext-cat-noforeign": "Sti fail chì vegnen doprad ma i esisten minga. De sorapù, di pagine che gh'hann denter di fail ch'i esisten minga l'è fada la lista in la [[:$1]].",
	"wantedfiletext-nocat": "I fail chì adree inn doprà, ma i esisten minga. I fail ospitad in di deposit de foeura i podarissen vesser in la lista anca s'i esisten minga. 'Sti fals positiv chì i vegnarann <del>sbarrad</del>.",
	"wantedfiletext-nocat-noforeign": "I fail chì adree inn doprà, ma i esisten minga.",
	"wantedtemplates": "Modei ciamad",
	"mostlinked": "Pagine con pussée tanti ligam",
	"mostlinkedcategories": "Categorie con pussée tanti ligam",
	"mostlinkedtemplates": "Pagine pussée incluse",
	"mostcategories": "Articoi con pussee tante categorie",
	"mostimages": "Fail con pussée tanti ligamm",
	"mostinterwikis": "Pagine con pussée tanti interwikis",
	"mostrevisions": "Articoi con pussee tante revision",
	"prefixindex": "Tucce i pagine con prefiss",
	"prefixindex-namespace": "Tute i pagine con prefiss (spazzi di nom \"$1\")",
	"prefixindex-submit": "Fà vedè",
	"prefixindex-strip": "Scond el prefiss in del risultad",
	"shortpages": "Pagine pussee curte",
	"longpages": "Pagine pussee longhe",
	"deadendpages": "Pagine-stop",
	"deadendpagestext": "I pagine chì de sota i gh'hann dent minga de ligam a di alter pagine de {{SITENAME}}.",
	"protectedpages": "Pagine protesgiude",
	"protectedpages-filters": "Filterː",
	"protectedpages-indef": "Doma protezzion infinite",
	"protectedpages-summary": "Questa pagina chì la fa la lista di pagine esistent che incoeu inn protesgiude. Per una lista di titoi protesgiud de la creazzion, varda [[{{#special:ProtectedTitles}}|{{int:protectedtitles}}]].",
	"protectedpages-cascade": "Doma protezzion a cascada",
	"protectedpages-noredirect": "Scond i redirezzion (redirect)",
	"cachedspecial-viewing-cached-ttl": "Te see 'dree a vardà una version de la pagina memorizzada in la cache, che la po vesser al pu vesgia de $1.",
	"protectedpagesempty": "Adsedess gh'è minga de pagine protesgiude cont i parametri specificad.",
	"protectedpages-timestamp": "Marca temporal",
	"protectedpages-page": "Articol",
	"protectedpages-expiry": "Scadenza:",
	"protectedpages-performer": "Utent che l'hà protesgiuda",
	"protectedpages-params": "Parameter de protezzion",
	"protectedpages-reason": "Reson:",
	"protectedpages-submit": "Mostra pagine",
	"protectedpages-unknown-timestamp": "Minga conossud",
	"protectedpages-unknown-performer": "Utent minga conossud",
	"protectedtitles": "Titoi protesgiud",
	"protectedtitles-summary": "Questa pagina chì la fà la lista di titoi che incoeu a inn protesgiude de la creazzion. Per una lista di pagine esistente ch'a inn protesgiude, varda[[{{#special:ProtectedPages}}|{{int:protectedpages}}]].",
	"protectedtitlesempty": "Nissun titol l'è protesgiud con chi parametri chì adsedess.",
	"protectedtitles-submit": "Mostra i titoi",
	"listusers": "Lista di utent registrad",
	"listusers-editsonly": "Mostra doma i utent con di contribuzzion",
	"listusers-temporarygroupsonly": "Mostra doma i utent in grup utent provisori",
	"listusers-creationsort": "Met in ordin per data de creazzion",
	"listusers-desc": "Met in ordin de la \"Z\" a la \"A\"",
	"usereditcount": "$1 {{PLURAL:$1|cambiament|cambiamencc}}",
	"usercreated": "{{GENDER:$3|Cread|Creada}} el $1 ai $2",
	"newpages": "Pagine neouve",
	"newpages-submit": "Fà vedè",
	"newpages-username": "Nom de l'utent:",
	"ancientpages": "Pagine pussee vegge",
	"move": "Sposta",
	"movethispage": "Sposta questa pagina chì",
	"unusedimagestext": "'Sti fail chi i esisten ma' inn compres in nissuna pagina.\nPer piesè ten in cunt che di alter sit internet i podarissen fà di conligament ai fail diretament doprand l'URL, e donca i podarissen vesser miss in questa lista chì anca se vegnen minga doprad.",
	"unusedimagestext-categorizedimgisused": "'Sti fail chì i esisten ma' inn compres in nissuna pagina. I imagin categorizade inn considerade come doprade anca se inn compres in nissuna pagina. Nota che alter sit in su la red i podarissen conligass a un fail per mezz d'un URL diret, e donca i podarissen vesser inclus in quella lista chì a anca se i esisten minga.",
	"unusedcategoriestext": "'Ste pagine di categorie i esisten, impunemanch i categorie corispondent sien voeuje.",
	"notargettitle": "Dati mancant",
	"notargettext": "Te'hee minga indicad una pagina o un utent de aplicagh quella fonzion chì.",
	"nopagetitle": "La pagina de destinazzion l'esist minga.",
	"nopagetext": "La pagina che te voeuret l'esist minga.",
	"pager-newer-n": "i {{PLURAL:$1|1|$1}} pussee noeuve",
	"pager-older-n": "i {{PLURAL:$1|1|$1}} pussee vege",
	"suppress": "Soprim",
	"querypage-disabled": "Questa pagina special l'è disativada per di reson de resa del servizzi.",
	"apihelp": "Ajut API",
	"apihelp-no-such-module": "El modol \"$1\" l'è stad minga trovad..",
	"apisandbox": "Pagina de proeuva API",
	"apisandbox-jsonly": "A gh'è de besogn del Javascript per doprà la pagina de proeuva API.",
	"apisandbox-intro": "Dovra questa pagina chì per sperimentà i <strong>web service API MediaWiki</strong>.\nPer savénn pussee de l'utilizzazion de API, varda la [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page|documentazzion API]]. Esempi: [https://www.mediawiki.org/wiki/Special:MyLanguage/API:Tutorial#A_simple_query ricerca d'on titolo dona pagina che la corrispond a ona certa parolla ciav]. Scerniss foeura un'azzion per vedé pussee de esempi. \n\nNota che, anca se questa pagina chì la serviss de provà, i azzion che te feet i podarissen fàgh di cambiament al wiki.",
	"apisandbox-submit": "Fà la richiesta",
	"apisandbox-reset": "Neta",
	"apisandbox-retry": "Proeuva an'mò",
	"apisandbox-loading": "Caregament di informazzion per el modol API \"$1\"...",
	"apisandbox-load-error": "A l'è capità un eror adree al caregament di informazzion per el modol API \"$1\": $2",
	"apisandbox-no-parameters": "Quell modol API chì el gh'hà minga de parameter.",
	"apisandbox-helpurls": "Conligament d'ajut",
	"apisandbox-examples": "Esempi",
	"apisandbox-dynamic-parameters": "Parameter de sgionta",
	"apisandbox-dynamic-parameters-add-label": "Sgionta parameterː",
	"apisandbox-dynamic-parameters-add-placeholder": "Nom del parameter",
	"apisandbox-dynamic-error-exists": "Un parametro che'l se ciama \"$1\" l'esiste sgiamò",
	"apisandbox-templated-parameter-reason": "'Sto [[Special:ApiHelp/main#main/templatedparams|parametro modelizzad]] l'è ofert cont el fondass sora i {{PLURAL:$1|valor}} de $2.",
	"apisandbox-deprecated-parameters": "Parameter sconsiliad",
	"apisandbox-fetch-token": "Auto-impieniss el token",
	"apisandbox-add-multi": "Sgionta",
	"apisandbox-submit-invalid-fields-title": "Un quaj campo l'è minga valid",
	"apisandbox-submit-invalid-fields-message": "Per piesè corensg i camp marcad e prova anmò",
	"apisandbox-results": "Risultad",
	"apisandbox-sending-request": "Adree a mandà la richiesta API...",
	"apisandbox-loading-results": "Adree a ricev i risultad API...",
	"apisandbox-results-error": "A l'è capitad un eror intanta che la risposta a l'interogazzion API l'era 'dree a vesser caregada: $1",
	"apisandbox-results-login-suppressed": "La richiesta l'è stada fada d'un utent minga autenticad che 'l podariss avè girad intorna ai fonzion de sicurezza (Same-Origin security). Notà che la gestion di token automatich del sabion de l'API la fonziona minga ben con tai richieste, per piesè impienissela a man.",
	"apisandbox-request-selectformat-label": "Fà vedè i dati domandad comeː",
	"apisandbox-request-format-url-label": "Stringa de richiesta URL",
	"apisandbox-request-url-label": "URL de richiestaː",
	"apisandbox-request-json-label": "Richiesta JSONː",
	"apisandbox-request-format-php-label": "matris PHP",
	"apisandbox-request-php-label": "Domanda de matris PHPː",
	"apisandbox-request-time": "Temp necessari: {{PLURAL:$1|$1 ms}}",
	"apisandbox-results-fixtoken": "Corensg el token e manda de noeuv",
	"apisandbox-results-fixtoken-fail": "Impossibil recuperà el token \"$1\".",
	"apisandbox-alert-page": "I camp in questa pagina chì a inn minga valid.",
	"apisandbox-alert-field": "El valor de qual camp chì l'è minga valid",
	"apisandbox-continue": "Seguita",
	"apisandbox-continue-clear": "Neta",
	"apisandbox-continue-help": "{{int:apisandbox-continue}}[https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query#Continuing_queries a continuiâ] l'ultima richiesta; {{int:apisandbox-continue-clear}} la netarà i parametri relativ a la continuazzion.",
	"apisandbox-param-limit": "Met dent <kbd>max</kbd> per doprà el limit massim.",
	"apisandbox-multivalue-all-namespaces": "$1 (Tut i spazzi di nom)",
	"apisandbox-multivalue-all-values": "$1 (Tucc i valor)",
	"booksources": "Sorgent in di liber",
	"booksources-search-legend": "Cerca i font in di liber",
	"booksources-search": "Cerca",
	"booksources-text": "Chi de sota gh'è la lista di conligament vers di sit esterni che venden di liber noeuv o doprad, cont i quai l'è possibil otegnì pussee de informazzion sora el test che t'hee crecadː",
	"booksources-invalid-isbn": "L'ISBN miss denter el par che 'l sia minga valid; verificà che sien stad fad minga di eror in del copiall de la font original.",
	"magiclink-tracking-rfc": "Pagine che doperen di conligament magich RFC",
	"magiclink-tracking-rfc-desc": "Questa pagina chì la dopera di conligament magich RFC. varda [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] per savè come fà la migrazzion.",
	"magiclink-tracking-pmid": "Pagine che dopren di conligament magich PMID",
	"magiclink-tracking-pmid-desc": "Questa pagina chì la dopera di conligament magich PMID. varda [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] per savè come fà la migrazzion.",
	"magiclink-tracking-isbn": "Questa pagina chì la dopera di conligament magich ISBN.",
	"magiclink-tracking-isbn-desc": "Questa pagina chì la dopera di conligament magich ISBN. varda [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Magic_links mediawiki.org] per savè come fà la migrazzion.",
	"specialloguserlabel": "Utent:",
	"speciallogtitlelabel": "Obietiv (titol o {{ns:user}}:nom de l'utent):",
	"log": "Register",
	"logeventslist-submit": "Fà vedè",
	"logeventslist-more-filters": "Fà vedè i register adazionai:",
	"logeventslist-patrol-log": "Register di controi",
	"logeventslist-tag-log": "Resgister di etichete",
	"logeventslist-newusers-log": "Register de la creazzion di utenze",
	"all-logs-page": "Tucc i register publich",
	"alllogstext": "Visualizzazion de tucc i register diponibil insema de {{SITENAME}}.\nA l'è possibil a avegh ona visualizzazion pussée picola cont el scernì foeura on tipo de register, el nom utent e/o la pagina che la interessa (tucc e du i camp inn sensibil ai leter grande e piscinine).",
	"logempty": "El register el gh'ha dent nanca on element che 'l corrisponda a la ricerca",
	"log-title-wildcard": "Ricerca di titoi che comenzen con quell test chì",
	"showhideselectedlogentries": "Cambia la visibilità di vos de register scernide",
	"log-edit-tags": "Mostra i etichete di vos de register scernide",
	"checkbox-select": "Scerniss: $1",
	"checkbox-all": "Tucc",
	"checkbox-none": "Nissun",
	"checkbox-invert": "Roversa",
	"allpages": "Tute i pagine",
	"nextpage": "Pagina adree ($1)",
	"prevpage": "Pagina indrée ($1)",
	"allpagesfrom": "Fam vedè i pagine a partì de:",
	"allpagesto": "Fam vedè i pagine fina a:",
	"allarticles": "Tucc i articoi",
	"allinnamespace": "Tute i pagine del spazzi di nom $1",
	"allpagessubmit": "Inanz",
	"allpagesprefix": "Varda i pagine cont el prefiss:",
	"allpagesbadtitle": "Il titolo indicad per la pagina l'è minga valid o 'l gh'hà denter di perfiss interlengua o interwiki. De sorapù el podariss contegnì almanch vun carater che se po minga doprà in di titoi.",
	"allpages-bad-ns": "El spazzi di nom \"$1\" l'esist minga in su {{SITENAME}}.",
	"allpages-hide-redirects": "Scond i redirezzion",
	"categories": "Categorie",
	"categories-submit": "Fà vedè",
	"categoriespagetext": "{{PLURAL:$1|LA categoria indicada chì adree l'esist|I categorie indicade chì adree i esisten}} in del wiki, e podarissen o no vesser doprade\nvarda anca i [[Special:WantedCategories|categorie domandade]].",
	"categoriesfrom": "Mostra i categorie a partì de:",
	"deletedcontributions": "Modifiche de l'utent scancelade",
	"deletedcontributions-title": "Contribuzzion de l'utent scancellade per $1",
	"sp-deletedcontributions-contribs": "Contribuzzion",
	"linksearch": "Cerca ligam de foeura",
	"linksearch-pat": "Schema de ricercaː",
	"linksearch-ns": "Spazzi di nomː",
	"linksearch-ok": "Cerca",
	"linksearch-text": "Se po doprà i metacarater, compagn de \"*.wikipedia.org\".<br />\n{{PLURAL:$2|Protocollo supportato|Protocolli supportati}}: $1 (predefinid http:// de nissun protocol l'è specificad).",
	"linksearch-line": "De $1 a gh'è un conligament in la pagina $2",
	"linksearch-error": "I metacarater poden vesser doprad doma al prenzippi del nom de l'host.",
	"listusersfrom": "Fam vedè i utent a partì da:",
	"listusers-submit": "Mostra",
	"listusers-noresult": "Nanca on utent trovad.",
	"listusers-blocked": "(blocad)",
	"activeusers": "Lista di utent ativ",
	"activeusers-intro": "Questa chì l'è na lista di utent ch'hann fad 'na quaj sorta de atività {{PLURAL:$1|in del'ultim dì|in di ultim $1 dì}}.",
	"activeusers-count": "$1 {{PLURAL:$1|azzion}} {{PLURAL:$3|in de l'ultim dì|in di ultim $3 dì}}",
	"activeusers-from": "Fam vedè i utent a partì da:",
	"activeusers-groups": "Varda i utent che partegnen ai grup",
	"activeusers-excludegroups": "Lassa foeura i utent per partegnen a 'sti grup chìː",
	"activeusers-noresult": "Nanca on utent trovad",
	"activeusers-submit": "Fa vedè i utent ativ",
	"listgrouprights": "Dirit del grup di utent",
	"listgrouprights-summary": "Chì adree gh'è la lista di grup de utent definid per quell sit chì, cont i sò dirit de andà dent. \nA podarissen vessegh [[{{MediaWiki:Listgrouprights-helppage}}|di informazzion addizzionai]] in sui dirit individuai.",
	"listgrouprights-key": "Legenda:\n* <span class=\"listgrouprights-granted\">Dirit assegnad</span>\n* <span class=\"listgrouprights-revoked\">Dirit tolt via</span>",
	"listgrouprights-group": "Grup",
	"listgrouprights-rights": "Diricc",
	"listgrouprights-helppage": "Help:Diritt del grup",
	"listgrouprights-members": "(Lista di member)",
	"listgrouprights-addgroup": "El po sgionta {{PLURAL:$2|al grup|ai grup}}: $1",
	"listgrouprights-removegroup": "El po toeu via {{PLURAL:$2|dal grup|di grup}}: $1",
	"listgrouprights-addgroup-all": "Te podet sgiontà a tut i grup",
	"listgrouprights-removegroup-all": "Toeu via de tut i grup",
	"listgrouprights-addgroup-self": "El po sgiontrass {{PLURAL:$2|al grup|ai grup}}: $1",
	"listgrouprights-removegroup-self": "El po toeuvess via {{PLURAL:$2|del grup|dai grup}}: $1",
	"listgrouprights-addgroup-self-all": "El po sgiontass a tucc i grup",
	"listgrouprights-removegroup-self-all": "El po toeuvess via de tucc i grup",
	"listgrouprights-namespaceprotection-header": "Vincol per el spazzi di nom",
	"listgrouprights-namespaceprotection-namespace": "Spazzi di nom",
	"listgrouprights-namespaceprotection-restrictedto": "Dirit che 'l permet/ch'i permeten a l'utente di modificà",
	"listgrants": "Assegnazzion",
	"listgrants-summary": "Chì adree l'è raportada una lista di concession, e di so dirit utent asociad.  I utent poden autorizzà i aplicazzion a doprà la soa utenza, ma con di autorizzazion limitade a segonda di assegnazzion che l'utent el gh'hà dad a l'aplicazzion. De tut i manere, un'aplicazzion che l'agiss per cunt d'un utent la po minga dopra i dirit che l'utent el gh'hà no.\nTe podet trovà [[{{MediaWiki:Listgrouprights-helppage}}|di alter informazzion]] sora i dirit individoai.",
	"listgrants-grant": "Assegnazzion",
	"listgrants-rights": "Dirit",
	"trackingcategories": "Lista di categorie per tegnì d'oeugg",
	"trackingcategories-summary": "In quella pagina chì gh'è la lista di categorie per tegnì d'oeugg, i quai a  vegnen popolade in automatich del programa  MediaWiki. I so nom pode vesser canmbiad cont el modificà i messagg de sistema in del spazzi di nom relativ {{ns:8}}.",
	"trackingcategories-msg": "Categori per tegnì d'oeugg",
	"trackingcategories-name": "Nom del messagg",
	"trackingcategories-desc": "Criteri per l'inclusion in la categoria",
	"restricted-displaytitle-ignored": "Pagine con di titoi de visualizzà ignorad",
	"restricted-displaytitle-ignored-desc": "La pagina la gh'hà on <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> ignorad perchè perchè l'è minga l'istess del titol efetiv de la pagina.",
	"nonnumeric-formatnum": "Pagine con argoment de formatnum minga numerich",
	"nonnumeric-formatnum-desc": "La pagina la gh'ha dent un argoment minga numerich per la fonzion parser formatnum.",
	"noindex-category-desc": "La pagina l'è minga indesizzada di robó perchè la gh'ha dent la parola magica <code><nowiki>__NOINDEX__</nowiki></code> e la se troeuva in d'un spazzi di nom indoe quell indicador chì l'è permetud.",
	"index-category-desc": "La pagina la gh'ha dent on <code><nowiki>__INDEX__</nowiki></code> (e la se troueva in d'un spazzi di nom indoe quell indicador chì l'è permetud) e donca l'è indesizzada di robó, anca se de norma la saria minga.",
	"post-expand-template-inclusion-category-desc": "La grandezza de la pagina la sarà pussee granda de <code>$wgMaxArticleSize</code> dopo de avè slargà tut i sagome, e per quest una quai sagoma el sarà minga slargada.",
	"post-expand-template-argument-category-desc": "La pagina la sarà pussee granda de <code>$wgMaxArticleSize</code> dopo de avè svilupad l'argoment d'on model (quaiscoss infra trè parentisei sgraffe, come <code>{{{Foo}}}</code>).",
	"expensive-parserfunction-category-desc": "La pagina la dopra trope fonzioni parser (come <code>#ifexist</code>). Varda [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:$wgExpensiveParserFunctionLimit Manual:$wgExpensiveParserFunctionLimit].",
	"broken-file-category-desc": "La pagina la gh'hà dent un conligament interot a un fail (un conligament per incoporà un fail quand che chessichì l'esist minga).",
	"hidden-category-category-desc": "Questa categoria chì la gh'hà dent <code><nowiki>__HIDDENCAT__</nowiki></code> in la soa pagina, che ghe impediss de vesser mostrada, in manera predefinida, in del riquader di conligament ai categorie di pagine.",
	"trackingcategories-nodesc": "Nissuna descrizzion disponibil.",
	"trackingcategories-disabled": "La categoria l'è disativada",
	"mailnologin": "Nissun adress che ghe se po mandà el messagg",
	"mailnologintext": "Per mandà di messagg de posta eletronica a di alter utent a gh'è de besogn de [[Special:UserLogin|andà dent in del sit]] e avè registrà un adress valid in di propie [[Special:Preferences|preferenze]].",
	"emailuser": "Mandegh un messagg de posta eletronica a quell utent chì",
	"emailuser-title-target": "Manda un messagg de posta eletronica a quell {{GENDER:$1|utent}} chì",
	"emailuser-title-notarget": "Manda un messagg de posta eletronica a quell utent chì",
	"emailpagetext": "Dopra el modol chi de sota per mandà on messagg de posta eletronica a l'{{GENDER:$1|utent}} indicad. L'adress specificad in di [[Special:Preferences|to preferenze]] el comparirà in del camp \"De:\" del messagg per permet al destinatari de rispondet diretament.",
	"defemailsubject": "Messag de {{SITENAME}} da l'utente \"$1\"",
	"usermaildisabled": "Posta eletronica de  l'utent disativada",
	"usermaildisabledtext": "Te podet minga mandà di messagg de posta eletronica a di alter utent in su questa wiki chì",
	"noemailtitle": "Nissun adress de posta eletronica",
	"noemailtext": "'St'utent chì l'hà specificà nissun adress de posta eletroncia valid.",
	"nowikiemailtext": "'St'utent chì l'ha scernì de ricev minga di messagg de posta eletronica di alter utent.",
	"emailnotarget": "Nom-utent del destinatari inesistent o minga valid.",
	"emailtarget": "Met dent el nom utent de destinatari",
	"emailusername": "Nom de l'utent",
	"emailusernamesubmit": "Spediss",
	"email-legend": "Manda un messagg de posta eletronica a un alter utent de {{SITENAME}}",
	"emailfrom": "De:",
	"emailto": "A:",
	"emailsubject": "Oget:",
	"emailmessage": "Messagg",
	"emailsend": "Manda",
	"emailccme": "Màndemm una copia del me messagg",
	"emailccsubject": "Copia del messagg mandada a $1: $2",
	"emailsent": "Messagg spedid",
	"emailsenttext": "El messagg de posta elettronica l'è stad spedid.",
	"emailuserfooter": "'Sto messagg de posta eletronica l'è stad mandad de $1 a $2 con la fonzion \"{{int:emailuser}}\" in su {{SITENAME}}. Se te {{GENDER:$2|risponderaret}}, el to messagg de risposta el ghe sarà inviad diretament {{GENDER:$1|al mitent |a la mitenta}} original e 'l ghe sarà fad savè {{GENDER:$1||}} el {{GENDER:$2|to}} adress de posta eletronica.",
	"usermessage-summary": "Messagg de sistema",
	"usermessage-editor": "Nunzi de sistema",
	"watchlist": "Pagine ch'a tegni d'oeugg",
	"mywatchlist": "Pagine tegnude d'oeugg",
	"watchlistfor2": "Per $1",
	"nowatchlist": "Te gh'hee minga de element in la lista di pagine che te tegnet d'oeugg",
	"watchlistanontext": "Per piesè va dent per vardà o modificà i element in la lista di pagine che te tegnet d'oeugg.",
	"watchnologin": "Minga autenticad",
	"watchlistnotwatchable": "A se pò minga tegnì d'oeugg la pagina.",
	"addwatch": "Sgionta a la lista di pagine che te tegnet d'oeugg",
	"updatewatchlist": "Atualiza la lista di pagine che te tegnet d'oeugg",
	"addedwatchtext": "\"[[:$1]]\" e la soa pagina de discussion a inn stade sgiontade la toa [[Special:Watchlist|lista de pagine de tegnì d'oeugg]].",
	"addedwatchtext-talk": "\"[[:$1]]\" e la soa pagina associada a inn stada sgiontade a la [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]].",
	"addedwatchtext-short": "La pagina \"$1\" l'è stada sgiontada a la lista di pagine che te tegnet d'oeugg",
	"addedwatchexpiry-options-label": "Period de temp in la lista di pagine che te tegnet d'oeuggː",
	"addedwatchexpiryhours": "\"[[:$1]]\" e la soa pagina di discussion a inn stade sgiontade a la toa [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]] per 'na quaj ora.",
	"addedwatchexpiryhours-talk": "\"[[:$1]]\" e la pagina che la gh'è conligada a inn stade sgiontade a la toa [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]] per 'na quaj ora.",
	"addedwatchexpirytext": "\"[[:$1]]\" e la soa pagina associada a inn stade sgiontade a la [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]] per $2.",
	"addedwatchexpirytext-talk": "\"[[:$1]]\" e la soa pagina associada a inn stade sgiontade a la [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]] per $2.",
	"addedwatchindefinitelytext": "\"[[:$1]]\" e la soa pagina associada a inn stade sgiontade a la [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]] per semper.",
	"addedwatchindefinitelytext-talk": "\"[[:$1]]\" e la soa pagina associada a inn stade sgiontade a la [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]] per semper.",
	"removewatch": "Toeu via de la lista di pagine che te tegnet d'oeugg",
	"removedwatchtext": "\"[[:$1]]\" e la soa pagina de discussion a inn stade tolte via de la toa lista di [[Special:Watchlist|pagine de tegnì d'oeugg]].",
	"removedwatchtext-talk": "\"[[:$1]]\" e la soa pagina associada inn stada tolte via de la lista [[Special:Watchlist|lista di pagine che te tegnet d'oeugg]].",
	"removedwatchtext-short": "La pagina \"$1\" l'è stada tolta via di pagine che te tegnet d'oeugg.",
	"watch": "Ten d'oeugg",
	"watchthispage": "Ten d'oeugg questa pagina chì",
	"unwatch": "Ten pu d'oeugg",
	"unwatchthispage": "Desmet de tegnì d'oeugg",
	"notanarticle": "Questa pagina chi l'è no una vos",
	"notvisiblerev": "L'ultima version d'un alter utent l'è stada tolta via",
	"watchlist-details": "{{PLURAL:$1|$1 pagina tegnuda|$1 pagine tegnude}} d'oeugg, foeura che i pagine de discussion.",
	"watchlist-expiry-days-left": "{{PLURAL:$1|$1 dì restad}}",
	"watchlist-expiring-days-full-text": "Anmò per {{PLURAL:$1|1 dì}} infra i pagine che te tegnet d'oeugg",
	"watchlist-expiry-hours-left": "Anmò 'na quaj ora",
	"watchlist-expiring-hours-full-text": "Anmò per 'na quaj ora infra i pagine che te tegnet d'oeugg",
	"wlheader-enotif": "La notificazzion con la posta eletronica l'è ativa.",
	"wlheader-showupdated": "I pagine che a inn stad cambiade del moment che t'je visitade l'ultima volta a inn marcade in <strong>grasset</strong>",
	"wlnote": "Sota {{PLURAL:$1|a l'è l'oltim cambiament|a inn i oltim <strong>$1</strong> cambiamencc}} in del temp de {{PLURAL:$2|l'ultima ora|i ultim <strong>$2</strong> ore}}, in dati a inn giornad ai $3 ore, del $4.",
	"watchlist-hide": "Scond",
	"watchlist-submit": "Mostra",
	"wlshowtime": "Period de temp de fà vedèː",
	"wlshowhideminor": "modifeghe piscinine",
	"wlshowhidebots": "bot",
	"wlshowhideliu": "utent registrad",
	"wlshowhideanons": "utent anonim",
	"wlshowhidepatr": "modifeghe verificade",
	"wlshowhidemine": "i mè modifeghe",
	"wlshowhidecategorization": "categorizazzion de la pagina",
	"watchlist-options": "Opzion per la lista di pagine tegnude d'oeugg",
	"watching": "Giontà ai pagine da tegnì d'oeugg...",
	"unwatching": "Eliminà dai pagine de tegnì d'oeugg...",
	"enotif_reset": "Marca tute i pagine come sgaimò visitade",
	"enotif_impersonal_salutation": "Utent de {{SITENAME}}",
	"enotif_subject_deleted": "La pagina $1 de {{SITENAME}} l'è stada scancelada d{{GENDER:$2|el $2|e la $2}}",
	"enotif_subject_created": "La pagina $1 de {{SITENAME}} l'è stada creada {{GENDER:$2|del $2|de la $2|de $2}}",
	"enotif_subject_moved": "La pagina $1 de {{SITENAME}} l'è stada spostada {{GENDER:$2|del|de la|de}} $2",
	"enotif_subject_restored": "La pagina $1 de {{SITENAME}} l'è stada rimetuda a post {{GENDER:$2|del|de la|de}} $2",
	"enotif_subject_changed": "La pagina $1 de {{SITENAME}} l'è stada modifegada {{GENDER:$2|del|de la|de}} $2",
	"enotif_body_intro_deleted": "La pagina $1 de {{SITENAME}} l'è stada scancelada {{GENDER:$2|del|de la}} $2 el $PAGEEDITDATE de $2 (varda $3 per la version de adess).",
	"enotif_body_intro_created": "La pagina $1 de {{SITENAME}} l'è stada scancelada {{GENDER:$2|del|de la|de}} $2 (varda $3 per la version de adess).",
	"enotif_body_intro_moved": "La pagina $1 de {{SITENAME}} l'è stada traformada {{GENDER:$2|del|de la}} $2 (varda $3 per la version de adess).",
	"enotif_body_intro_restored": "La pagina $1 de {{SITENAME}} l'è stada missa a post indove che l'era prima {{GENDER:$2|del|de la|de}} $2 (varda $3 per la version de adess).",
	"enotif_body_intro_changed": "La pagina $1 de {{SITENAME}} l'è stada moeifegada {{GENDER:$2|del|de la}} $2 el $PAGEEDITDATE de $2 (varda $3 per la version de adess).",
	"enotif_lastvisited": "For tut i cambiament de l'ultima toa visita, varda $1",
	"enotif_lastdiff": "Per vedé questa modifega chì, varda $1",
	"enotif_anon_editor": "utent anonim $1",
	"enotif_body": "Car -/a $WATCHINGUSERNAME,\n\n$PAGEINTRO $NEWPAGE $PAGELOG\n\nSunt di modifiche scrivud de quell che je hà fade: $PAGESUMMARY $PAGEMINOREDIT\n\nToeu contat con chi l'hà fad i modifiche:\nposta eletronica: $PAGEEDITOR_EMAIL\nwiki: $PAGEEDITOR_WIKI\n\nI vegnanran mandà minga de noeuve notifiche in cas de inatività ulteriora, se te fee minga visita a la pagina dopo de vesser andad denter. De sorapù a l'è possibil cambià i impostazzion de notifica per tucce i pagine de la lista di pagine tegnude d'oeugg.\n\nEl to sistema de notifica {{SITENAME}} al to servizzi\n\n--\nPer cambià i to impostazzion sora i notifiche via posta eletronica, varda\n{{canonicalurl:{{#special:Preferences}}}}\n\nPer cambià la lista di pagine tegnude d'oeugg\n{{canonicalurl:{{#special:EditWatchlist}}}}\n\nDe trà via la pagina de la lista di pagine tegnude d'oeugg, varda \n$UNWATCHURL\n\nPer dì quell che te penset e ciamà ajut:\n$HELPPAGE",
	"enotif_minoredit": "Questa chì l'è una modifega piscinina",
	"deletepage-deletetalk": "Scassa la pagina de discussion associada",
	"deletepage-submit": "Scancella la pagina",
	"confirm": "Conferma",
	"excontent": "el contegnud l'eva: '$1'",
	"excontentauthor": "el contegnud l'era: '$1', e l'unegh contributor l'era stad [[Special:Contributions/$2|$2]]\" ([[User talk:$2|talk]])",
	"exbeforeblank": "Inanz da vesser svojad el contegnud l'era: '$1'",
	"delete-confirm": "Scancella \"$1\"",
	"delete-legend": "Scancella",
	"delete-talk-summary-prefix": "Scancellada insema a la pagina associada con la reson: $1",
	"historywarning": "'''Fà ballà l'oeugg!''' La pagina che te seet adree a scancellà la gh'a una storia con $1 {{PLURAL:$1|revision}}:",
	"historyaction-submit": "Mostra i revision",
	"confirmdeletetext": "A te see lì per scancelà una pagina con tuta la sua cronologìa.\nPer piasè, dà la conferma che te gh'hee intenzion de andà inanz con el scancelament, che te see al corent di conseguenz, e che te see adree a fal segond i regolament de [[{{MediaWiki:Policy-url}}]].",
	"actioncomplete": "Azzion completada",
	"actionfailed": "Azzion falida",
	"deletedtext": "La pagina \"$1\" l'è stada scancelada. Varda el $2 per una lista di ultim scancelament.",
	"deleted-page-and-talkpage": "I pagine \"$1\" e \"$2\" a inn stade scancellade.\nPer i scancellazzion recente varda 'l register $3 .",
	"dellogpage": "Register di scancellament",
	"dellogpagetext": "De sota gh'è una lista di scancelament pussee recent.",
	"deletionlog": "register di scancellament",
	"log-name-create": "Creazzion de pagina",
	"log-description-create": "De sota gh'è una lista di creazzion di pagine pussee recente",
	"logentry-create-create": "{{GENDER:$2|El $1|La $2| $2}} l'hà cread la pagina $3",
	"reverted": "Butada su turna la version de prima.",
	"deletecomment": "Reson:",
	"deleteotherreason": "Olter reson/spiegazzion:",
	"deletereasonotherlist": "Altra reson",
	"deletereason-dropdown": "*Reson cumun de scancelament\n** Scritura de ruf\n** Vandalismo\n** Violazzion del dirit d'autor\n** A l'è l'autor che 'l voeur\n** Redirezzion rota",
	"delete-edit-reasonlist": "Cambia i reson del scancelament",
	"delete-edit-reasonlist-suppress": "Cambia i reson de la sopression",
	"delete-toobig": "Quella pagina chì la gh'hà una cronologia di modifiche longa, de pussee de $1 {{PLURAL:$1|revision}}.\nLa scancelazion de tai pagine chì l'è stada limitada per prevegnì di problema de fonzionament al databeis de {{SITENAME}}.",
	"delete-toomanyrevisions": "Te see 'dree a cercà de scancellà pussee de $1 {{PLURAL:$1|revision}} insema.\nQuest'operazzion chì l'è stada limitada per prevegnì la rotura acidental de {{SITENAME}}.",
	"delete-warning-toobig": "La storia de questa pagina chì  l'è assosenn longa (pussee de $1 {{PLURAL:$1|versione}}). A scancellà sti pagine chì podarissen vegnì a voltra di problema al fonzionament del databeis de {{SITENAME}}; vii inanz con atenzion.",
	"delete-error-associated-alreadytalk": "A se pò nò scancellà la pagina de ciciarada associada d'ona pagina de ciciarada.",
	"delete-error-associated-doesnotexist": "A se pò minga scancellà ona pagina de ciciarada associada minga esistenta.",
	"deleteprotected": "Te podet minga scancela questa pagina chì perchè l'è stada protesgiuda.",
	"deleting-backlinks-warning": "<strong>Atenzion:</strong> [[Special:WhatLinksHere/{{FULLPAGENAME}}|di alter pagine]] i gh'hann denter di conligament o di inclusion a la pagina che te see in sul pont de scancelà.",
	"deleting-subpages-warning": "<strong>Atenzion:</strong> la pagina che te seet adree per scancellà la gh'hà [[Special:PrefixIndex/{{FULLPAGENAME}}/|{{PLURAL:$1|una sotopagina|$1 sotopagine|51=pussée de 50 sotopagine}}]].",
	"deleting-talkpage-subpages-warning": "<strong>Ocio:</strong> La pagina de ciciarada associada a la pagina che te see 'dree a scancellad la gh'ha [[Special:PrefixIndex/{{TALKPAGENAME}}/|{{PLURAL:$1|ona sotpagina|$1 sotpagine|51=de là de 50 sotpagine}}]].",
	"rollback": "Torna a 'me che l'era inanz",
	"rollback-confirmation-confirm": "Per piesè confermaː",
	"rollback-confirmation-yes": "Torna indree",
	"rollback-confirmation-no": "Anula",
	"rollbacklink": "torna a la version de prima",
	"rollbacklinkcount": "Anula i $1 {{PLURAL:$1|cambiament|cambiamencc}}",
	"rollbacklinkcount-morethan": "Tira indree pussee de {{PLURAL:$1|una modifica|$1 modifiche}}",
	"rollbackfailed": "L'è minga stad possibil portá indrée",
	"rollback-missingparam": "Ghe manchen di parametri obligatori in la richiesta",
	"rollback-missingrevision": "Impossibil caregà i dati de la version",
	"cantrollback": "Impossibil modifgeà indree.\nL'utim contributor l'è unegh autor de la pagina.",
	"alreadyrolled": "A l'è minga possibil tornà indrée rispet ai oltime modifiche de la pagina [[:$1]] by [[User:$2|$2]] ([[User talk:$2|fade de]]{{int:pipe-separator}}[[Special:Contributions/$2|{{int:contribslink}}]]).\nUn quaidun alter el gh'hà fàa sgiamò di cambiament a la pagina opur l'hà fad el \"torna indrée\" \n\nL'ultim cambiament a questa pagina l'è stada fada de [[User:$3|$3]] ([[User talk:$3|talk]]{{int:pipe-separator}}[[Special:Contributions/$3|{{int:contribslink}}]]).",
	"editcomment": "El sunt de la modifica l'era: <em>$1</em>.",
	"revertpage": "Anulade i modifiche de [[Special:Contributions/$2|$2]] ([[User talk:$2|discussion]]), riportada a la version indree de l'utent [[User:$1|$1]]",
	"revertpage-anon": "Anulade i modifiche de [[Special:Contributions/$2|$2]], riportada a la version indree de l'utent [[User:$1|$1]]",
	"revertpage-nouser": "Anulade i modifiche d'un utent scondud, riportada a l'ultima version d{{GENDER:$1|el [[User:$1|$1]]| la [[User:$1|$1]]}}",
	"rollback-success": "Scancelade i modifiche d{{GENDER:$3|el $1| la $1|e $1}};\npagina menada indrée a l'oltima version d{{GENDER:$4|el $2| la $2|el/la $1}}.",
	"sessionfailure-title": "Session falada",
	"sessionfailure": "A l'è capità un problema in la toa session de entrada; quel'azzion chì l'è stada anulada come precauzzion contra del dirotament de session.\nPer piesè, manda anmò el modol.",
	"changecontentmodel": "Modifega el modell de contegnud de una pagina",
	"changecontentmodel-legend": "Modifega el modell de contegnud",
	"changecontentmodel-title-label": "Titol de la paginaː",
	"changecontentmodel-model-label": "Modell de contegnud noeuvː",
	"changecontentmodel-reason-label": "Reson:",
	"changecontentmodel-submit": "Cambia",
	"changecontentmodel-success-title": "El modell de contegnud l'è stad cambiad",
	"changecontentmodel-success-text": "El tipo de contegnud de [[:$1]] l'è stad modifegad.",
	"changecontentmodel-cannot-convert": "El contegnud de [[:$1]] el po minga vesser trasformad in d'un tipo $2.",
	"changecontentmodel-nodirectediting": "El model de contenud $1 el soporta no la modifega direta",
	"changecontentmodel-emptymodels-title": "Nissun modell de contegnud disponibil",
	"changecontentmodel-emptymodels-text": "Il contegnud de [[:$1]] el po minga vesser trasformad in nissun tipo.",
	"log-name-contentmodel": "Modifegh del modell di contegnud",
	"log-description-contentmodel": "Quella pagina chì la fa la lista di modifiche al model de contegnud di pagine, e i pagine ch'a inn stade creade cont un model de contegnud divers de quell predefinid.",
	"logentry-contentmodel-new": "{{GENDER:$2|El $1|La $1|$1 el/la}} l'hà cread la pagina $3 doprand un model de contegnud minga predefinid \"$5\"",
	"logentry-contentmodel-change": "{{GENDER:$2|El $1|La $1|$1}} l'hà cambiad el model de contegnud de la pagina $3 de \"$4\" a \"$5\"",
	"logentry-contentmodel-change-revertlink": "torna a 'me che l'era inanz",
	"logentry-contentmodel-change-revert": "torna indrée a 'me che l'era",
	"protectlogpage": "Register di protezzion",
	"protectlogtext": "De sota gh'è una lista di cambiament ai protezzion di pagine.\nVarda la [[Special:ProtectedPages|lista di pagine protesgiude]] per la lista di protezzion ai pagine ative adess.",
	"protectedarticle-comment": "{{GENDER:$2|Protesgiud}} \"[[$1]]\"",
	"modifiedarticleprotection-comment": "{{GENDER:$2|l'hà cambiad i impostazzion de protezzion}} per \"[[$1]]\"",
	"unprotectedarticle-comment": "{{GENDER:$2|Tolta via la protezzion}} de \"[[$1]]\"",
	"protect-title": "Cambia i impostazzion de protezzion per \"$1\"",
	"protect-title-notallowed": "Varda i impostazzion de protezzion de \"$1\"",
	"prot_1movedto2": "[[$1]] trasformad in [[$2]]",
	"protect-badnamespace-title": "Spazzi di nom che 'l po vesser minga protesgiud",
	"protect-badnamespace-text": "I pagine in quell spazzi de nom chì i poden minga vesser protesgiude",
	"protect-norestrictiontypes-text": "Questa pagina chì la po vesser minga protesgiuda desgià che gh'è nissun tipo de vincol disponibil.",
	"protect-norestrictiontypes-title": "Pagina che la po minga vesser protesgiuda",
	"protect-legend": "Conferma la protezzion",
	"protectcomment": "Reson:",
	"protectexpiry": "Scadenza:",
	"protect_expiry_invalid": "Scadenza minga valida",
	"protect_expiry_old": "Scadenza sgiamò passada",
	"protect-unchain-permissions": "Desbloca di alter opzion de protezzion",
	"protect-text": "Chichinscì te podet vardà e mudà i impostazzion de la pagina <strong>$1</strong>.",
	"protect-locked-blocked": "A l'è minga possibil cambià i impostazzion de protezzion quand che te see stad blocad. I impostazzion corent per la pagina a inn <strong>$1</strong>:",
	"protect-locked-dblock": "I impostazzion de protezzion i poden minga vesser cambiade in grazzia d'un bloch ativ del databeis. \nI impostazzion corent per la pagina a inn '''$1''':",
	"protect-locked-access": "El to cunt el gh'hà minga la qualifega per podè mudà i impostazzion de protezzion.\n'Sti chì a inn i regolazzion corent per la pagina <strong>$1</strong>:",
	"protect-cascadeon": "Al moment, quella pagina chì l'è prutesgiuda perchè l'è inclusa in {{PLURAL:$1|la pagina chì de sota, che la gh'ha|i pagine chì sota, ch'i gh'hann}} la protezzion a cascada. I cambiament ai impostazzion de protezzion de questa pagina chì, i gh'avarann minga d'efet in su la protezzion a cascada.",
	"protect-default": "Autorizza tucc i utent",
	"protect-fallback": "Permetud doma ai utent cont el permess \"$1\"",
	"protect-level-autoconfirmed": "Permetud doma ai utent autoconfermad",
	"protect-level-sysop": "Permetud doma a i minestrador",
	"protect-summary-cascade": "recorsiva",
	"protect-expiring": "scadenza: $1 (UTC)",
	"protect-expiring-local": "la finiss ai $1",
	"protect-expiry-indefinite": "per semper",
	"protect-cascade": "Protegg i pagine ch'i fan part de questa (protezzion recorsiva)",
	"protect-cantedit": "Te podet minga modifegàgh i impostazzion de protezzion a quella pagina chì, per el fad che t'hee minga el permiss de modifegala.",
	"protect-othertime": "Altra durada:",
	"protect-othertime-op": "altra durada",
	"protect-existing-expiry": "Scadenza atual: $2, $3",
	"protect-existing-expiry-infinity": "Scadenza atual: per semper",
	"protect-otherreason": "Alter reson/spiegazzionː",
	"protect-otherreason-op": "Oltra reson",
	"protect-dropdown": "*roson comun per la protezzion\n** Sproposit de vandalismi\n** Sporposit de ruf\n** Guera de modifiche\n** Pagina con parecc trafich",
	"protect-edit-reasonlist": "Cambia i reson per la protezzion",
	"protect-expiry-options": "1 ora:1 hour,1 dì:1 day,1 setimana:1 week,2 setimane:2 weeks,1 mes:1 month,3 mes:3 months,6 mes:6 months,1 ann:1 year,per_semper:infinite",
	"restriction-type": "Permiss",
	"restriction-level": "Nivell de restrizzion",
	"minimum-size": "Grandezza minima",
	"maximum-size": "Grandezza massima:",
	"pagesize": "(bait)",
	"restriction-edit": "Modifega",
	"restriction-move": "Spostament",
	"restriction-create": "Crea",
	"restriction-upload": "Carega su",
	"restriction-level-sysop": "protesgiuda",
	"restriction-level-autoconfirmed": "meza-protesgiuda",
	"restriction-level-all": "tucc i nivei",
	"undelete": "Varda i pagine scancellade",
	"undeletepage": "Varda e anulla la scancellazzion di pagina scancellade",
	"undeletepagetitle": "<strong>Quell che 'l gh'è chichinscì l'è fad su de version scancellade de [[:$1|$1]]<strong>",
	"viewdeletedpage": "Varda i pagine scancellade",
	"skin-action-viewdeleted": "Voeuret vidè $1?",
	"undeletepagetext": "{{PLURAL:$1|La pagina chi adree l'è stada scancellada, ma l'è ancamò in archivi e donca a se po anullànn la scancellazzion|I pagine chi adree a inn stade scancellade, ma a inn ancamò in archivi e donca a se po anullànn la scancellazzion}}. \nL'archivi el po vesser svojad in manera periodica.",
	"undelete-fieldset-title": "Torna indree ai version de prima",
	"undeleteextrahelp": "Anullà la scancellazion de tuta la storia de la pagina, lassa tute i caselle minga selezionade e clica in su '''''{{int:undeletebtn}}'''''.\nPer anullà domà ona quai scancellazzion, scerniss foeura i caselle corispondente ai version de rimeter a post e fà clich in su '''''{{int:undeletebtn}}'''''.",
	"undeleterevisions": "{{PLURAL:$1|Una version scancellada|$1 version scancellade}}",
	"undeletehistory": "Se te anullet la scancellazzion de questa pagina chì, tute i so version i sarann recuperade 'me ch'i eren.\nSe dopo de la scancellazzion l'è stata creada una pagina noeuva cont l'istess titol, i version recuperade i sarann misse denter in la cronologia precedenta.",
	"undeleterevdel": "La descancelazzion la vegnarà fada no se la comporta la scancelazzion parzial de la version de adess de la pagina o del fail interessad. In quell caso chì, a l'è necessari toeu via la marcadura o desquattà i version scancelade pussee de recent.",
	"undeletehistorynoadmin": "Questa pagina l'è stada scancelada.\nLa reson del scancelament l'è mostrada chì de sota, insema ai detali de l'utent che l'ha modifegad questa pagina inanz del scancelament.\nEl test che gh'era dent in di version scancelade l'è disponibil doma per i minestrador.",
	"undelete-revision": "Version scancelada de $1, scrivuda el $4 ai $5 de $3:",
	"undeleterevision-missing": "Version sbagliata o mancanta. El conligament l'è sbagliad opur la version l'è stata sgiamò rimissa 'me che l'era prima o tolta via de l'archivi.",
	"undelete-nodiff": "Per questa pagina gh'è nanca una version precedenta.",
	"undeletebtn": "Anulla la scancellazzion",
	"undeletelink": "Varda/anulla la scancellazion",
	"undeleteviewlink": "varda",
	"undelete-undeletetalk": "Anulla tute i scancellazzion de la pagina de discussion associada",
	"undeleteinvert": "Invertì la selezzion",
	"undeletecomment": "Reson:",
	"undeletedpage": "<strong>L'è stada anullada la scancellazzion de la pagina $1</strong>\n\nVa a vedè el [[Special:Log/delete|register di scancelament]] per vedè i scancellament e i recuper pussee recent.",
	"undelete-header": "Varda el [[Special:Log/delete|register di scancellament]] per vedè i scancellament pussee recent.",
	"undelete-search-title": "Cerca pagina scancellade",
	"undelete-search-box": "Cerca pagine scancellade",
	"undelete-search-prefix": "Fà vedè i pagine che comenzen per:",
	"undelete-search-full": "Fa vedè i titoi di pagine che gh'hann dentː",
	"undelete-search-submit": "Cerca",
	"undelete-no-results": "Nissuna pagina corispondenta l'è stada trovada in de l'archivi di scancelament.",
	"undelete-filename-mismatch": "Impossibil descancelà i version del fail con marca temporal $1: nom del fail minga corispondent.",
	"undelete-bad-store-key": "Impossibil descancelà la version del fail con marca temporal $1: el fail l'era minga disponibil  inanz de vesser scancelad.",
	"undelete-cleanup-error": "Eror in del cors del scancelament del fail d'archivi  minga doprad \"$1\".",
	"undelete-missing-filearchive": "Impossibil anullà la scancellazzion de l'ID $1 de l'archivi di fail desgià che 'l gh'è no in del databeis.\nEl podariss vesser sgiamò rimiss a post.",
	"undelete-talk-summary-prefix": "Scancellazion anullada insema a la pagina associada con resonː $1",
	"undelete-error": "Eror in del descancelament de la pagina",
	"undelete-error-associated-alreadytalk": "Impossibil anullà la scancellazzion de la pagina de ciciarada associada de ona pagina de ciciarada.",
	"undelete-error-associated-notdeleted": "La pagina de ciciarada associada la gh'ha minga de version che poden vesser rimetude come che i eren prima de la scancellazzion.",
	"undelete-show-file-confirm": "Te see sicur che te voeuret vedè la version scancelada del fail \"<nowiki>$1</nowiki>\" del $2 ai $3?",
	"undelete-show-file-submit": "Sì",
	"undelete-back-to-list": "Varda tute i version scancellade",
	"namespace": "Spazzi di nomː",
	"invert": "Invertiss la selezzion",
	"tooltip-invert": "Insegna quella casèlla chì per scond i cambiament ai pagine in del spazzi di nom che t'hee scernid foeura\n(e 'l spazzi di nomassociad se l'è stad insegnad)",
	"tooltip-whatlinkshere-invert": "Seleziona questa casella per scond i conligament di pagine dent in del spazzi di nom scernid foeura .",
	"namespace_association": "Spazzi di nom associad",
	"tooltip-namespace_association": "Insegna quella casella chì per trà dent anca la pagina de discussion o l'oget del spazzi di nom che l'è associad cont el spazzi di nom scernid foeura.",
	"blanknamespace": "(Principal)",
	"contributions": "Contribuzzion de l'utent",
	"tool-link-contributions": "Contribuzzion de l'{{GENDER:$1|utent}}",
	"contributions-title": "Contribuzzion de $1",
	"contribute-title": "Contribuzzion de l'utent",
	"mycontris": "Contribuzzion",
	"anoncontribs": "Contribuzzion",
	"contribute": "Contribuzzion",
	"contributions-subtitle": "Per {{GENDER:$2|el $1|la $1}}",
	"contributions-userdoesnotexist": "L'utenza \"$1\" l'è minga registrada.",
	"negative-namespace-not-supported": "I spazzi di nom con di valor negativ a inn minga suportad.",
	"nocontribs": "A gh'è minga de modifeghe che sodisfen 'sti criteri chì.",
	"uctop": "corenta",
	"month": "A partì de l'ann (e chi inanz)",
	"year": "A partì de l'ann (e chi inanz)",
	"date": "De questa data chì (a andà indree):",
	"sp-contributions-blocklog": "Register di bloch",
	"sp-contributions-suppresslog": "Contribuzzion de {{GENDER:$1|l'utent}} sopress",
	"sp-contributions-deleted": "\nContribuzzion de l'{{GENDER:$1|utent}} scancellade",
	"sp-contributions-uploads": "Caregament",
	"sp-contributions-logs": "Register",
	"sp-contributions-talk": "Ciciarada",
	"sp-contributions-userrights": "Manegg di permess de l'{{GENDER:$1|utent}}",
	"sp-contributions-search": "Cerca i contribuzzion",
	"sp-contributions-username": "Adress IP o nom de l'utent:",
	"sp-contributions-toponly": "Fà vedè doma i contribuzzion che a inn i ultim revision de la pagina.",
	"sp-contributions-newonly": "Fà vedè doma i cambiament che inn i creazzion di pagine",
	"sp-contributions-hideminor": "Scond i modifeghe piscinine",
	"sp-contributions-submit": "Ricerca",
	"sp-contributions-outofrange": "Impossibil mostrà i contribuzzion. El grup de adress IP specifegad l'è maggiore del limit CIDR de /$1.",
	"sp-contributions-concurrency-user": "Ne rincress, t'hee fad trope richieste con la toa utenza. Per piesè, prova anmò pussee tard.",
	"sp-contributions-concurrency-ip": "Ne rincress, a inn stade fade trop tante richieste del to adress IP. Per piesè, prova anmò pussée tard.",
	"whatlinkshere": "Pagine che se conlighen chì",
	"whatlinkshere-count": "$1 {{PLURAL:$1|element mostrad}}.",
	"whatlinkshere-title": "Pagine che menen a \"$1\"",
	"whatlinkshere-page": "Pagina:",
	"linkshere": "I pagine chì de sota gh'hann di ligam che menen a '''$2''':",
	"nolinkshere": "Nissuna pagina la se conliga <strong>$2</strong>.",
	"nolinkshere-ns": "Nissuna pagina la mena a <strong>$2</strong> in del spazzi di nom scernid foeura.",
	"isredirect": "i pagine de redirezzion",
	"istemplate": "inclusion",
	"isimage": "ligam a un archivi",
	"whatlinkshere-prev": "{{PLURAL:$1|quell indree|$1chi indree}}",
	"whatlinkshere-next": "{{PLURAL:$1|adree|$1 adree}}",
	"whatlinkshere-links": "← ligam",
	"whatlinkshere-hideredirs": "Scond i redirezzion",
	"whatlinkshere-hidetrans": "Scon i trasclusion",
	"whatlinkshere-hidelinks": "Scond i ligam",
	"whatlinkshere-hideimages": "Scond i ligam ai fail",
	"whatlinkshere-sectionredir": "redirezzion a la selezzion \"$1\"",
	"whatlinkshere-submit": "Và",
	"autoblockid": "Autobloch #$1",
	"block": "Bloca l'utent",
	"unblock": "Desbloca l'utent",
	"changeblockip": "Cambia bloch",
	"blockip": "Bloca l'{{GENDER:$1|utent}}",
	"blockiptext": "Dopera el modol chì de sota per fà no andà dent a scriver on specifich adress IP o nom d'utent.\nEl bloch l'è de vesser fad per prevegnì el vandalismo, e seconda conforma a la [[{{MediaWiki:Policy-url}}|politega]].\nInsegna la reson specifega chì de sota (per esempi, cont el cità di pagine che 'a inn stade vandalizzade).\nTe podet blocà on interval de adress IP per mezz de la [https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR] sintassi; l'interval massim possibil l'è /$1 per IPv4 e /$2 per IPv6..",
	"ipaddressorusername": "Adress IP, nom utent o ID del bloch:",
	"ipbreason": "Reson:",
	"ipbreason-dropdown": "*Roson pussee comun per i bloch\n** Havé caregad di informazzion false\n** Havé scassad del contegnud dai pagine\n** Havé sgiontad di reclam a di sit da foeura\n** Havé sgiontad del ruf in di pagine\n** Contegn intimidatori\n** Havé pussee drovad d'un cunt in manera abusiva\n** El nom de l'utent l'è inacetabil",
	"ipb-hardblock": "Aplicagh el bloch ai utent registrad de 'sto adree IP chì",
	"ipbcreateaccount": "Creazzion de utenze",
	"ipbemailban": "Invià di messagg de posta eletronica",
	"ipbenableautoblock": "Bloca in manera automatega l'oltim adress IP doprad de 'sto utent chì, e qualsessia alter adress IP cont al qual el cerca de fà di modifeghe per on temp de $1",
	"ipbsubmit": "Bloca quell utent chì",
	"ipbother": "Altra durada:",
	"ipboptions": "2 ore:2 hours,1 dì:1 day,3 dì:3 days,1 setimana:1 week,2 setimane:2 weeks,1 mes:1 month,3 mes:3 months,6 mes:6 months,1 ann:1 year,per semper:infinite",
	"ipbhidename": "Scond 'l nom de l'utent da i modifeghe e da i list.",
	"ipbwatchuser": "Tegn d'oeugg i pagine utent e de discussion de quell utent chì",
	"ipb-disableusertalk": "Modifegà la propia pagina de discussion",
	"ipb-change-block": "Blocà ancamò l'utent con chi impostazzion chì",
	"ipb-confirm": "Conferma el bloch",
	"ipb-sitewide": "In tut el sit",
	"ipb-partial": "Parzial",
	"ipb-sitewide-help": "El bloca i modifeghe de tute i pagine e i spazzi di nom. El bloca anca i azzion predefinide ([https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Blocking_users#What_it_means_to_be_blocked See help])",
	"ipb-partial-help": "El te permet de catà foeura i pagine ei spazzi di nom de blocà. El bloca no i azzion predefinide ma 'l te permet de blocà di azzion specifeghe.",
	"ipb-action-create": "Creazzion de pagine noeuve",
	"ipb-action-move": "Adree a rinominà i pagine.",
	"ipb-action-upload": "Adree a caregà i fail",
	"ipb-pages-label": "Pagine",
	"ipb-namespaces-label": "Spazzi di nom",
	"badipaddress": "Adress IP minga valid",
	"blockipsuccesssub": "Bloccada bel-e fada",
	"blockipsuccesstext": "[[Special:Contributions/$1|$1]] a l'è stad blocad.<br />\nVarda [[Special:BlockList|lista di IP blocad]] per vedè anmò i bloch.",
	"ipb-empty-block": "El bloch impost el gh'hà minga de vincol ativad.",
	"ipb-block-not-found": "The bloch el po vesser minga fad, ma a inn stad trovad minga di bloch per \"$1\". Se 'l problema el persit, per piesè [https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Blocking_users report it].",
	"ipb-blockingself": "Te seet lì lì per blocà ti medemǃ Te see sicur che te voeuret fall?",
	"ipb-confirmhideuser": "Te seet in sul pont de blocà un utent con l'opzzion \"Scond utent\" ativada.\nIn quella manera chì se fa de manera che 'l nom -utent el compara in tute i liste e i vos de register.  \nTe see sicur de vorè andà inanz?",
	"ipb-confirmaction": "Te see sicur de vorè fall de vera, controla el camp \"{{int:ipb-confirm}}\" de bass.",
	"ipb-edit-dropdown": "Reson del bloch",
	"ipb-unblock-addr": "Desbloca $1",
	"ipb-unblock": "Desbloca un utent o un adress IP",
	"ipb-blocklist": "Varda i bloch ativ",
	"ipb-blocklist-contribs": "Contribuzzion de{{GENDER:$1|l $1| la $1| $1}}",
	"ipb-blocklist-duration-left": "$1 restad",
	"block-actions": "Tipo de blochː",
	"block-details": "Detali del bloch",
	"block-expiry": "Fina al:",
	"block-options": "Opzion adizzionaiː",
	"block-reason": "Resonː",
	"block-target": "Nom de l'utent, adress IP o interval de adress IPː",
	"block-target-placeholder": "Nom de l'utent, 1.1.1.42, o 1.1.1.42/16",
	"unblockip": "Desbloca quell utent chì",
	"unblockiptext": "Dovra el modol chì de sota per permetegh de noeuv de scriver a 'n utent o a un adress Ip blocad.",
	"ipusubmit": "Toeu via 'stoo bloch chì",
	"unblocked": "[[User:$1|$1]] l'è stad desblocad",
	"unblocked-range": "$1 a l'è stad desblocad.",
	"unblocked-id": "El bloch $1 l'è stad tolt via.",
	"unblocked-ip": "[[Special:Contributions/$1|$1]] l'è stad desblocad.",
	"blocklist": "Utent blocad",
	"autoblocklist": "Autobloch",
	"autoblocklist-submit": "Cerca",
	"autoblocklist-legend": "Fa la lista di autobloch",
	"autoblocklist-localblocks": "{{PLURAL:$1|Autobloch local|Autobloch locai}}",
	"autoblocklist-empty": "La lista di autobloch l'è voeuja.",
	"autoblocklist-otherblocks": "{{PLURAL:$1|Alter autobloch|Atri autobloch}}",
	"ipblocklist": "Utencc blocad",
	"ipblocklist-legend": "Cerca un utent blocad",
	"blocklist-autoblocks": "Scond i autobloch",
	"blocklist-userblocks": "Scond i bloch dei utencc registrad",
	"blocklist-tempblocks": "Scond i bloch temporani",
	"blocklist-indefblocks": "Scond i bloch infinid",
	"blocklist-addressblocks": "Scond i bloch de 'n IP",
	"blocklist-type": "Tipo:",
	"blocklist-type-opt-all": "Tucc",
	"blocklist-type-opt-sitewide": "In tut el sit",
	"blocklist-type-opt-partial": "Parzial",
	"blocklist-rangeblocks": "Scond i bloch de pachet de IP",
	"blocklist-timestamp": "Data e ora",
	"blocklist-target": "Destinazzion",
	"blocklist-expiry": "Scadenza:",
	"blocklist-by": "Aministrador che l'ha blocad",
	"blocklist-params": "Parameter del bloch",
	"blocklist-reason": "Reson:",
	"ipblocklist-submit": "Cerca",
	"ipblocklist-localblock": "Bloch locaI",
	"ipblocklist-otherblocks": "{{PLURAL:$1|Oter bloch}}",
	"infiniteblock": "per semper",
	"anononlyblock": "duma i anonim",
	"noautoblockblock": "bloch autumatich minga ativ",
	"createaccountblock": "creazzion di cunt blocada",
	"emailblock": "adress de posta eletronica blocad",
	"blocklist-nousertalk": "el/la po minga portagh di cambiamament a la soa pagina de discussion",
	"blocklist-editing": "modifica",
	"blocklist-editing-sitewide": "modifega (sit intregh)",
	"blocklist-editing-page": "pagine",
	"blocklist-editing-ns": "spazzi di nom",
	"blocklist-editing-action": "azzion",
	"ipblocklist-empty": "El register di bloch l'è voeui.",
	"ipblocklist-no-results": "A l'è stad trovad nissun bloch che 'l corespond a l'adress IP o nom d'utent ciamad.",
	"blocklink": "bloca",
	"unblocklink": "desbloca",
	"change-blocklink": "cambia bloch",
	"empty-username": "(nissun nom d'utent disponibil)",
	"contribslink": "contribuzzion",
	"emaillink": "manda on messagg con la posta eletronica",
	"autoblocker": "Bloccad in automatich perchè el to adress IP, de recent, l'è doprad de l'utent \"[[User:$1|$1]]\".\nEl bloch de l'utente $1 l'è stad impost per quella reson chì: \"$2\".",
	"blocklogpage": "Register di bloch",
	"blocklog-showlog": "{{GENDER:$1|Questo|Questa}} utent chì {{GENDER:$1|stad blocad|stasa blocada}} in precedenza. El register di bloch l'è raportà chì de sota per informazzionː",
	"blocklog-showsuppresslog": "Quell utent chì l'è stad blocad e scondud in precedenza. El register di sopression l'è raportad chì adree per informazzionː",
	"blocklogtext": "Chesschì l'è el register di bloch e desbloch di utent.\nI adress IP che a inn stad blocad in automatich a inn minga compres in la lista.\nVarda el [[Special:BlockList|register di utent boucaa]] per la lista de tut i bloch operazionai ativ.",
	"block-log-flags-anononly": "doma per i utent anonim",
	"block-log-flags-nocreate": "blocada la creazzion de cunt noeuv",
	"block-log-flags-noautoblock": "bloch automatich disativad",
	"block-log-flags-noemail": "messagg de posta eletronica blocad",
	"block-log-flags-nousertalk": "el po minga modifegà la soa pagina de discussion",
	"block-log-flags-angry-autoblock": "bloch automatich vanzad ativ",
	"block-log-flags-hiddenname": "nom d'utent scondud",
	"range_block_disabled": "La possibilità per i minestrador de blocà di grup de adress IP al moment l'è no ativa.",
	"ipb-prevent-user-talk-edit": "La modifega di propie pagine de discussion la gh'hà de vesser permissa in d'un bloch parzial, condemanch l'includa minga on vincol in del spazzi di nom \"discussion utent\".",
	"ipb_expiry_invalid": "Scandenza minga valida.",
	"ipb_expiry_old": "Scadenza sgiamò passada.",
	"ipb_expiry_temp": "I bloch di nom di utent scodud i gh'avarissen de vesser infinid.",
	"ipb_hide_invalid": "Impossibil sopprim quella utenza chì; la gh'ha pussee de {{PLURAL:$1|una modifica|$1 modifiche}}.",
	"ipb_hide_partial": "I bloch che sconden i nom de utent i gh'hann de interessà el sit intregh.",
	"ipb_already_blocked": "L'utent \"$1\" a l'è giamò blocad",
	"ipb-needreblock": "L'utent $1 a l'è sgiamò blocad. Te veouret cambià i impostazzion?",
	"ipb-otherblocks-header": "{{PLURAL:$1|bloch anmò}}",
	"unblock-hideuser": "Te poden minga desblocà quell utent chì, desgià che 'l so nom d'utent l'è stad scondud.",
	"ipb_cant_unblock": "Eror: impossibil trovà el bloch per $1. El bloch el podariss sgiamò vesser tolt via.",
	"ipb_blocked_as_range": "Eror: L'adress IP $1 l'è minga soget a a bloch individual a 'l po vesser minga desblocad. Tutamanch l'è blocad insema a tut el grup  $2, che'l po vesser desblocad.",
	"ip_range_invalid": "Grup de adress IP minga valid.",
	"ip_range_toolarge": "A l'è minga possibil de blocà di intervai pussee grand de /$1",
	"ip_range_exceeded": "L'interval de IP l'è pussee grand de la grandezza massima. Interval permetudː /$1.",
	"ip_range_toolow": "De fat i intervai de Ip a inn minga permetud.",
	"proxyblocker": "Blocator di proxy avert",
	"proxyblockreason": "El to adress IP l'è stad bloccad perchè l'è un procsi avert. Toeu contat cont el to fornidor di servizzi interneto el suport tecnnegh e informai de 'sto grave problema de sicurezza.",
	"sorbsreason": "El to adress IP l'è considerad avert un procsi avert in la lista DNSBL doprada de {{SITENAME}}.",
	"sorbs_create_account_reason": "El to adress IP address l'è considerad on procsi avert in del DNSBL doprad de {{SITENAME}}.\nTe podet creà minga un cunt.",
	"softblockrangesreason": "I contribuzzion anonime a inn minga permetude del to adress IP ($1). Va dent con la toa utenza.",
	"xffblockreason": "Un adress IP present in l'intestazzion X-Forwarded-For, toa o del server procsi che te see 'dree a doprà, l'è stad blocad. El bloch original l'eraː $1",
	"cant-see-hidden-user": "L'utent che te sse adree a provà a blocà l'è sgiamò stad blocad o scondud. Desgià che te gh'hee minga el permess \"hideuser\", te podet no vardà o modifegà el bloch de l'utent.",
	"cant-block-nonexistent-page": "Te podet minga blocà un'utent de la pagina $1 perchè la pagina l'esista minga.",
	"ipbblocked": "Te podet minga blocà o desblocà i alter utent, perchè te see blocad anca ti.",
	"ipbnounblockself": "Te podet minga desblocass depertì.",
	"lockdb": "Bloca el databeis",
	"unlockdb": "Desbloca el databeis",
	"lockdbtext": "El bloch del databeis, el sospenderà per tut i utent la possibilità de modifegà i pagine o de creann di alter noeuve, de cambià i preferenze e modifegà i liste di pagine tegnude d'oeugg, e di alter robe che gh'hann besogn di cambiament in del databeis.  Per piesè, conferma che 'l sia quell che te voeuret fà e che te desblocaret el databeis quand che t'avaret finid la manutenzion.",
	"unlockdbtext": "A desblocà el databeis te daret de noeuv la possibilità de modifegà i pagine o de creann di alter noeuve, de cambià i preferenze e modifegà i liste di pagine tegnude d'oeugg, e generalment de compì tute i operazzion che gh'hann de besogn di modifiche al databeis. Per piesè, conferma che quest l'è quell che te voeuret fà.",
	"lockconfirm": "Sì, mi voeuri de vera blocà el databeis.",
	"unlockconfirm": "Sì, mi voeuri de vera desblocà el databeis.",
	"lockbtn": "Bloca el databeis",
	"unlockbtn": "Desbloca el databeis",
	"locknoconfirm": "T'hee segnad minga la casella de conferma.",
	"lockdbsuccesssub": "Bloch del databeis fad",
	"unlockdbsuccesssub": "Bloch de databeis tolt via",
	"lockdbsuccesstext": "El databeis l'è stad blocad.<br />\nRicorda de [[Special:UnlockDB|toeu via el bloch]] quand che t'hee finid la manutenzzion.",
	"unlockdbsuccesstext": "El databeis l'è stad desblocad.",
	"lockfilenotwritable": "Impossibil scriver in del fail de ''blocagg'' del databeis. Per fà de manera che 'l server el poda scrivegh, a gh'è de besogn de blocà o desblocà el databeis.",
	"databaselocked": "El databeis l'è anmò blocad.",
	"databasenotlocked": "El databeis l'è minga blocad.",
	"lockedbyandtime": "(de $1 el $2 ai $3)",
	"move-page": "Spostament de $1",
	"move-page-legend": "Spostament de la pagina",
	"movepagetext": "Cont el doprà el modol chí de sota a l'è possibil dagh on nom noeuv a la pagina, movend tuta la cronologia al nom noeuv. \nEl vegg titol el diventarà una pagina de redirezzion al titol noeuv. \nTe podet atualizà in automatich i redirezzion che menen al titol orisginal.\nSe te decidet de fàll no, te gh'hee de controllà e giustà i [[Special:DoubleRedirects|redirezzion doppi]] e di [[Special:BrokenRedirects|redirezzion rote]].\nTe see responsabil che i ligam seguten a menà indove che i gh'han de menà. \n\nNota che la pagina la sarà <strong>minga</strong> movuda se a gh'è sgiamò ona pagina al noeuv titol, condemanch che la sia fada domà de una redirezzion e senza version precedente. Quest el voeur dì che te podet renominà indrèe se t'hee fallad, e te podet minga scriver sora una pagina che l'esist sgiamò.\n\n\n<strong>Atenzion:</strong>\nChees-chí el po vesser on cambi drastegh e imprevist a una pagina popolar: per piaser sicuress de havè capid i conseguenze de quast prima de andà inanz.",
	"movepagetext-noredirectfixer": "Quell modol chì de sota el permet de dagh un alter nom a la pagina, e a l'istess temp spostà tuta la cronologia al so nom noeuv. La pagina de adess la diventarà in automatich una redirezzion al titol noeuv. Te gh'hee de verificà [[Special:DoubleRedirects|i redirezzion doppi]] o [[Special:BrokenRedirects|i redirezzion rote]]. Te gh'hee de sicurass che i conligament i seguiten a menà vers i pagina sgiuste.\n\nNota che la pagina la sarà <strong>minga</strong> spostada sgiamò cont el nom noeuv se la gh'è sgiamò una pagina con quell nom là, condemanch la sia fada su doma d'una redirezzion e la sia priva de version precedente. In cas de spostament sbagliad, donca se po tornà subit al titol vegg, ma l'è no possibil sorascriver per eror una pagina sgiamò esistenta.  \n\n<strong>Nota:</strong>\nChesschì el po vesser un cambiament decis e a l'imprevista de una pagina popolar; sicuress de conosser i conseguenze inanz de andà adree.",
	"movepagetext-noredirectsupport": "Quell modol chì de sota el permet de dagh un alter nom a la pagina e a l'istess temp spostà tuta la cronologia al so nom noeuv. \nTe gh'hee de sicurass che i conligament i seguiten a menà vers i pagina sgiuste.\n\nNota che la pagina la sarà <strong>minga</strong> spostada sgiamò cont el nom noeuv, se la gh'è sgaimò una pagina che la gh'hà quell nom là\nQuest el voeur dì che te podet rinominà indree la pagina al nom vegg prima de sbaglià, se la gh'è sgiamò una pagina con quell nom là e te podet minga sorascriver una pagina sgiamò esistenta\n\n<strong>Nota:</strong>\nChesschì el po vesser un cambiament decis e a l'imprevista de una pagina popolar; sicuress de conosser i conseguenze inanz de andà adree.",
	"movepagetalktext": "Se te insegnet quella casella chì, la pagina de discussion asociada la sarà menada in automatich al titol noeuv, condemanch l'esista sgiamò una pagina de discussion minga voeuja.\nIn quell caso chì, te gh'avaree de spostà o mèt insema manualment la pagina, se te voeulet.",
	"moveuserpage-warning": "'''Atenzion:''' te seet in sul pont de spostà una pagina utent. Nota che la vegnarà spostada domà la pagina. Nota che la vegnarà spostada doma la pagina e l'utent el sarà ''minga'' rinominad.",
	"movecategorypage-warning": "<strong>Atenzion:</strong> te seet in sul pont de spostà una categoria. Doma questa pagina chì la sarà spostadaː tute i pagine de la categoria vesgia i sarann <em>minga</em> misse dent a quella noeuva.",
	"movenologintext": "Te gh'è de vesser un utent registrad e [[Special:UserLogin|coness]] al sit per podè spostà la pagina.",
	"movenotallowed": "Te gh'è minga el permess de spostà i pagine.",
	"movenotallowedfile": "Te gh'hee minga el permess de spostà i fail",
	"cant-move-user-page": "Te gh'hee minga el permess de spostà i pagine di utent (foeura che i sotpagine).",
	"cant-move-to-user-page": "Te gh'hee minga el permess de spostà una pagina in su 'na pagina d'un utent (foeura che i sotpagine).",
	"cant-move-category-page": "Te gh'hee minga el permess de spostà i categorie.",
	"cant-move-to-category-page": "Te gh'hee no el permess de spostà una pagina in su la pagina d'una categoria.",
	"cant-move-subpages": "Te gh'hee minga el permess de postà i sotpagine.",
	"namespace-nosubpages": "El spazzi di nom \"$1\" el permet minga i sotpagine.",
	"newtitle": "Titol noeuv",
	"move-watch": "Sgionta questa pagina chí a queii che te tegnet d'oeugg.",
	"movepagebtn": "Sposta 'sta pagina chì",
	"pagemovedsub": "El San Martin l'è bell e fad!",
	"cannotmove": "La pagina la po vesser minga spostada, per {{PLURAL:$1|'sti reson chì}}:",
	"movepage-moved": "'''\"$1\" l'è stada cambiada in \"$2\"'''",
	"movepage-moved-redirect": "L'è stada creada una redirezzion.",
	"movepage-moved-noredirect": "La creazzion d'una redirezzion l'è stada sopressa.",
	"movepage-delete-first": "La pagina de destinazzion la gh'ha trope revision de scancelà come part d'un spostament de una pagina. Inanz de tut scancela la pagina e man, poeu prova anmò.",
	"articleexists": "A gh'è sgiamàò una pagina in [[:$1]], opur el nom catad foeura l'è minga valid.\nPer piasè cata foeura un alter nom.",
	"redirectexists": "La gh'è sgiamò una redirezzion vers [[:$1]] e la po minga vesser scancelada in automatich.\nPer piesè cata foeura un'alter nom.",
	"cantmove-titleprotected": "Te podet spostà no la pagina chichinscì desgià che 'l titol noeuv l'è stad protesgiud per impedinn la creazzion.",
	"movetalk": "Sposta anca la pagina de discussion",
	"move-subpages": "Sposta i sotpagine (fina a $1)",
	"move-talk-subpages": "Sposta i sotpagine de discussion (fina a $1)",
	"movepage-page-exists": "La pagina $1 l'esist sgiamò e la po minga vesser sorascrivuda in automatich.",
	"movepage-source-doesnt-exist": "La pagina $1 la gh'è no e la po minga vesser spostada.",
	"movepage-page-moved": "La pagina $1 l'è stada trasformada in $2.",
	"movepage-page-unmoved": "A se po minga trasformà la pagina $1 in $2.",
	"movepage-max-pages": "A l'è stad spostad el numer massim de $1 {{PLURAL:$1|pagina|pagine}} e se poden spostà pu di alter pagine in automatich.",
	"movelogpage": "Register de San Martin",
	"movelogpagetext": "Chi de sota gh'è la lista di pagine spostade de recent.",
	"movesubpage": "{{PLURAL:$1|Sotpagina|Sotpagine}}",
	"movesubpagetext": "Questa pagina chì la gh'hà $1 {{PLURAL:$1|sotpagina mostrada|sotpagine mostrade}} chì de sota.",
	"movesubpagetalktext": "La pagina de discussion corispondenta la gh'hà $1 {{PLURAL:$1|sotpagina|sotpagine}} mostrade chì de sota.",
	"movenosubpage": "Questa pagina chì la gh'hà minga de sotpagine.",
	"movereason": "Reson:",
	"moveotherreason": "Oltre reson/spiegazzionː",
	"movereasonotherlist": "Olter reson",
	"movepage-reason-dropdown": "* Reson comun de spostament\n** Error in del titol",
	"revertmove": "Torna 'me che l'era inanz",
	"delete_and_move_text": "La pagina de destinazzion \"[[:$1]]\" l'esist sgiamò\nTe voeuret scancelala e andà inanz a spostà?",
	"delete_redirect_and_move_text": "La pagina de destinazzion \"[[:$1]]\" l'esist sgiamò come redirezzion.\nTe voeuret scancelala e andà inanz a spostà?",
	"delete_and_move_confirm": "Sì, sorascriv la pagina che gh'è sgiamò",
	"delete_and_move_reason": "Scancellada per podè spostà da \"[[$1]]\"",
	"selfmove": "El titol l'è l'istess;\na l'è minga possibil spostà una pagina in su lee medemma.",
	"immobile-source-namespace": "Impossibil spostà i pagine del spazzi di nom \"$1\"",
	"immobile-source-namespace-iw": "A l'è minga possibil sostà i pagin e de questa wiki chì vers di alter wiki.",
	"immobile-target-namespace": "A l'è minga possibil spostà i pagine in del spazzi di nom \"$1\"",
	"immobile-target-namespace-iw": "El conligament interwiki a l'è minga una destinazzin valida de spostàgh la pagina.",
	"immobile-source-page": "Questa pagina chì la po vesser minga spostada.",
	"immobile-target-page": "A l'è minga possibil spostà a quell titol de destinazzion chì",
	"movepage-invalid-target-title": "El nom ciamad l'è minga valid.",
	"bad-target-model": "La destinazzion vorsuda la dupera un model de contegnud divers. Impossibil trasformà de $1 to $2",
	"imagenocrossnamespace": "A se po no spostà un fail inn d'un spazz de scritura d'un minga-fail.",
	"nonfile-cannot-move-to-file": "A se po no spostà quaicoss che l'è minga un fail in d'un spazz de scritura d'un fail.",
	"imagetypemismatch": "La noeuva estension del fail la corispond minga al tipo de fail.",
	"imageinvalidfilename": "El nom de l'imagin l'è minga valid.",
	"fix-double-redirects": "Atualiza tute i redirezzion che menen al titol original",
	"move-leave-redirect": "Sposta una pagina creand 'na redirezzion adree in automatich",
	"protectedpagemovewarning": "'''Atenzion: Questa pagina chì l'è stada blocada de manera che domà i utent cont i privilengs de minestrador i poden spostala.'''\nL'ultim element del register l'è raportad chì de sota per informazzion.",
	"semiprotectedpagemovewarning": "'''Nota:''' questa pagina chì l'è stada blocada de manera che domà i utent autenticad i poden spostala.\nL'ultim element del register l'è raportad chì de sota per informazzionː",
	"move-over-sharedrepo": "[[:$1]] l'esiste sgiàmò in d'un deposit condivis. El spostament d'un fail a quell titol chì el comporterà la sorascritura del fail condivis.",
	"file-exists-sharedrepo": "Il nom del fail che t'hee scernid l'è sgiamò doprad.\nPer piesè caten foeura, un'alter.",
	"export": "Esporta pagine",
	"exporttext": "A l'è possibil esportà el test e la cronologia di modifiche de una pagina specifega o de un grup di pagine in formad XML per importai in di alter siti che dopren el programa MediaWiki, per mezz de la [[Special:Import|pagina di importazzion]].\n\nPer esportà i pagine, met dent i titoi in la casella de scritura chì de sota, vun titol per riga, e specifica se te voeuret vedè l'ultima version e tute i version precedente, cont i dati de la cronologia de la pagina, opur doma l'ultima version e i dati corispondent a l'ultima modifega.\n\nIn de l'ultim caso te podet anca doprà un conligament, per esempi [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] per esportà \"[[{{MediaWiki:Mainpage}}]]\".",
	"exportall": "Eporta tucce i pagine",
	"exportcuronly": "Tira dent doma la version corenta, minga la cronologia intrega",
	"exportnohistory": "----\n'''Nota:''' l'esportazzion de la cronologia intrega di pagine per mezz de questa interfacia chì l'è disativada per di reson conligade al rediment del servizz del sistema.",
	"exportlistauthors": "Includ la lista completa di contributor per ogni pagina",
	"export-submit": "Esporta",
	"export-addcattext": "Sgionta i pagine de la categoriaː",
	"export-addcat": "Sgionta",
	"export-addnstext": "Sgionta i pagine del spazzi di nom",
	"export-addns": "Sgionta",
	"export-download": "Salva in forma de fail",
	"export-templates": "Tira dent i modei",
	"export-pagelinks": "Includ i pagine conligade fina a una profondità deː",
	"export-manual": "Sgionta i pagine a manː",
	"allmessages": "Tucc i messagg dal sistema",
	"allmessagesname": "Nom",
	"allmessagesdefault": "Test standard",
	"allmessagescurrent": "Test corent",
	"allmessagestext": "Questa chì l'è la lista de tucc i messag de sistema disponibil in del spazzi MediaWiki,\nPassa dent in [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation MediaWiki Localisation] e [https://translatewiki.net translatewiki.net] se te voeulet toeu part a la traduzzion del de la programadura in di vari lengov.",
	"allmessages-not-supported-database": "Questa pagina chì la po vesser minga doprada perchè <strong>$wgUseDatabaseMessages</strong> l'è minga ativ.",
	"allmessages-filter-legend": "Filter",
	"allmessages-filter": "Filtra per stat de personalizzazionː",
	"allmessages-filter-unmodified": "Minga modifegad",
	"allmessages-filter-all": "Tucc",
	"allmessages-filter-modified": "Modificad",
	"allmessages-prefix": "Filtra per prefiss:",
	"allmessages-language": "Lengua:",
	"allmessages-filter-submit": "Filter",
	"allmessages-filter-translate": "Tradù",
	"thumbnail-more": "Sgrandì",
	"filemissing": "Fail mancant",
	"thumbnail_error": "Eror intanta che la miniaduras l'era 'dree a vesser creada: $1",
	"thumbnail_error_remote": "Messagg de eror de $1:\n$2",
	"djvu_page_error": "Numer de pagina DjVu sbagliad",
	"thumbnail-temp-create": "Impossibil creà el fail provisori di miniadure",
	"thumbnail-dest-create": "Impossibil salvà la miniadura in la destinazzion",
	"thumbnail_invalid_params": "Parameter de la miniadura minga valid",
	"thumbnail_toobigimagearea": "Fail pussee grand de $1",
	"thumbnail_dest_directory": "Impossibil creà el diretori de destinazzion",
	"thumbnail_image-type": "Tipo de imagin minga suportad",
	"thumbnail_gd-library": "Impostazzion minga completa de la libreria GD: fonzion $1 mancanta",
	"thumbnail_image-size-zero": "El par che la grandezza de quel'imagin chì la sia nagot.",
	"thumbnail_image-missing": "El par che 'l fail el ghe sia minga: $1",
	"thumbnail_image-failure-limit": "De recent a gh'è stasd trop tant tenttiv fallad ($1 o pussee) de figurà quella miniadura chì. prova anmò pusse tard.",
	"import": "Importa pagine",
	"importinterwiki": "Importa d'un'alter wiki",
	"import-interwiki-text": "Scerniss foeura un proget wiki e 'l titol de la pagina de importà.\nI date di version e i nom di autor di vari version i vegnarann mantegnud.\nTute i importazzion de alter wiki a inn registrade in del [[Special:Log/import|register di importazzion]].",
	"import-interwiki-sourcewiki": "Wiki d'originː",
	"import-interwiki-sourcepage": "Pagina d'originː",
	"import-interwiki-history": "Copia tute i version de questa pagina chì",
	"import-interwiki-templates": "Includ tut i modei i pagine trascluse",
	"import-interwiki-submit": "Importa",
	"import-mapping-default": "Importa in del spazzi di nom orisginal",
	"import-mapping-namespace": "Importa in d'un spazzi de nomː",
	"import-mapping-subpage": "Importa come sotpagine de la questa pagina chìː",
	"import-upload-filename": "Nom del failː",
	"import-upload-username-prefix": "Prefiss interwikiː",
	"import-assign-known-users": "Assegna i modifiche ai utent locai semai che l'utent indicad l'esista localment.",
	"import-comment": "Comentː",
	"importtext": "Per piesè esporta el fail del sit wiki de origin con la [[Special:Export|fonzion do esportazzion]]. \nSàlvell in del to compiuter e càregall scià.",
	"importstart": "Adree a importà i pagine...",
	"import-revision-count": "{{PLURAL:$1|voeuna version importada|$1 version importade}}",
	"importnopages": "Nissuna pagina de importà.",
	"imported-log-entries": "$1 {{PLURAL:$1|vos de register}} importade.",
	"importfailed": "Importazzion minga riessidaː\n$1",
	"importunknownsource": "Tipo de origin conossud de nissun per l'importazzion",
	"importnoprefix": "A l'è stad fornid nissun prefiss interwiki",
	"importcantopen": "Impossibil dervì el fail de importazzion",
	"importbadinterwiki": "Conligament interwiki sbagliad",
	"importsuccess": "Importazzion finidaǃ",
	"importnosources": "A l'è stada minga definida una sorgent per l'importazzion d'un alter wiki e l'importazzion diretta de la cronologia l'è no ativa.",
	"importnofile": "A l'è stad caregad nissun fail per l'importazzion",
	"importuploaderrorsize": "El caregament del fail per l'importazzion l'è fallad. \nEl fail l'è pussee grand de la grandezza massima permetuda per el caregament.",
	"importuploaderrorpartial": "El caregament del fail d'importazzion l'è fallad.\nQuell fail chì l'è stad caregad minga del tut.",
	"importuploaderrortemp": "El caregament del fail d'importazzion l'è fallad.\nUna cartella provisoria l'è mancanta.",
	"import-parse-failure": "Eror de analisi in l'importazzion XML.",
	"import-noarticle": "Nissun pagina de importàǃ",
	"import-nonewrevisions": "Nissuna version importada (i eren sgiamò tute presente, opur saltada per via de eror).",
	"xml-error-string": "$1 per riga $2, colona $3 (bait $4): $5",
	"import-upload": "Carega di dati XML",
	"import-token-mismatch": "I dati de la session a inn andad perdud.\n\nTe podarisset vesser stad desconess. '''Verifica de vesser conligad e prova anmò'''.\nSe 'l va no, te podet provà a [[Special:UserLogout|desconligass]] e andà dent de noeuv, dopo de avè controlà che 'l to programa de navigazzion l'aceta tucc i coki de quel sit chì.",
	"import-invalid-interwiki": "Impossibil importà del wiki specifegad.",
	"import-error-edit": "La pagina \"$1\" l'è stada minga importada perchè te see minga autorizzad a modifegala",
	"import-error-interwiki": "La pagina \"$1\" l'è stada minga importada perchè el so nom l'è riservad per el conligament defoeura (interwiki).",
	"import-error-special": "La pagina \"$1\" l'è stada minga importada perchè la parten a 'n spazzi di nom special che 'l permet minga di pagine.",
	"import-error-invalid": "La pagina \"$1\" l'è minga stada importada perchè el nom cont el qual la sariss stada importada a l'è minga valid in su quell wiki chì.",
	"import-error-unserialize": "La version $2 de la pagina \"$1\" la po vesser no deserializzada. La version l'è stata raportada per \n doprà el model de contegund  $3 serializzad come $4.",
	"import-error-bad-location": "La version $2 la dopra un model de contegnud $3 che 'l po minga vesser memorizzad in \"$1\" de 'sto wiki, desgià che la pagina la suporta no quel model chì.",
	"import-options-wrong": "{{PLURAL:$2|Opzion sbagliada|Opzion sbagliade}}:\n$1",
	"import-rootpage-invalid": "La pagina principal dada l'è un titol minga bon.",
	"import-rootpage-nosubpage": "El spazzi di nom \"$1\" de la pagina principal el permet de avegh minga de sotpagine.",
	"importlogpage": "Register di importazzion",
	"importlogpagetext": "Importazzion aministrative de pagine con cronologia de modifeghe de alter wiki.",
	"import-logentry-upload-detail": "{{PLURAL:$1|una version importada|$1 version importade}}",
	"import-logentry-interwiki-detail": "{{PLURAL:$1|una version importada|$1 version importade}} de $2",
	"javascripttest": "Proeuva del Javascript",
	"tooltip-pt-userpage": "La {{GENDER:|toa pagina utent}}",
	"tooltip-pt-anonuserpage": "La pagina-utent de quell adress IP chì che te see 'dree a modifegà come",
	"tooltip-pt-tmpuserpage": "El to nom-utent temporani autoinsgenerad",
	"tooltip-pt-mytalk": "{{GENDER:|La toa}} pagina de discussion",
	"tooltip-pt-anontalk": "Discussion sora i modifeghe de quell adress IP chì",
	"tooltip-pt-preferences": "{{GENDER:|I to}} preferenze",
	"tooltip-pt-watchlist": "Lista di pagine che te tegnet d'oeugg",
	"tooltip-pt-mycontris": "A list di {{GENDER:|tò}} contribuzzion",
	"tooltip-pt-anoncontribs": "Una lista de modifeghe fade de quell adress IP chì",
	"tooltip-pt-login": "Nun conseliom la registrazziun, anca s'a l'è minga obligatoria.",
	"tooltip-pt-login-private": "Te gh'hee de andà dent per doprà quella wiki chì",
	"tooltip-pt-logout": "Va foeura (logout)",
	"tooltip-pt-createaccount": "Te see invidad a creà un cunt e andagh dent; comunque, l'è minga obligatori",
	"tooltip-ca-talk": "Ciciarada sora el contegnud de la pagina.",
	"tooltip-ca-edit": "Fagh un cambiament a questa pagina chì",
	"tooltip-ca-addsection": "Comenza una sezzion noeuva",
	"tooltip-ca-viewsource": "Questa pagina chì a l'è protesgiuda, comunque te podet vedè el so codes sorgent",
	"tooltip-ca-history": "Version vegge de questa pagina chì",
	"tooltip-ca-protect": "Protegg 'sta pagina chì",
	"tooltip-ca-unprotect": "Cambia la protezzion de questa pagina chì",
	"tooltip-ca-delete": "Scancella 'sta pagina chì",
	"tooltip-ca-undelete": "Anulla la scancellazzion di modifeghe fade a questa pagina chì inanz che la fudess scancellada",
	"tooltip-ca-move": "Cambiegh el titol a 'sta pagina chì",
	"tooltip-ca-watch": "Sgionta 'sta pagina chì a la toa lista di rob che te tegnet d'oeugg",
	"tooltip-ca-unwatch": "Leva questa pagina chì de la lista di pagine sot oeugg",
	"tooltip-ca-unwatch-expiring": "Pagina anmò per {{PLURAL:$1|$1 dì}} intra i pagine che te tegnet d'oeugg. Clica per touevela via.",
	"tooltip-ca-unwatch-expiring-hours": "Pagina anmò per 'na quai ora intra i pagine che te tegnet d'oeugg. Clica per touevela via.",
	"tooltip-search": "Cerca in {{SITENAME}}",
	"tooltip-search-go": "Va a una pagina che la gh'hà quell nom chì, semper che la ghe sia.",
	"tooltip-search-fulltext": "Cerca quell test chì intra i pagine del sit",
	"tooltip-p-cactions": "Pussee de opzion",
	"tooltip-p-logo": "Pagina principal",
	"tooltip-p-personal": "Menu de l'utent",
	"tooltip-n-mainpage": "Visita la pagina principala",
	"tooltip-n-mainpage-description": "Visita la pagina principala",
	"tooltip-n-portal": "Descrizzion del proget, cosa l'è ch'a se pò fà, indoe che se pò trovà i robe.",
	"tooltip-n-currentevents": "Informazzion sora a vergot d'atualità.",
	"tooltip-n-recentchanges": "Lista di oltime modifeghe a la wiki",
	"tooltip-n-randompage": "Carega una pagina a sort",
	"tooltip-n-help": "Pagine de jut",
	"tooltip-t-whatlinkshere": "Lista de tute i pagine wiki che menen scià",
	"tooltip-t-recentchangeslinked": "Lista di oltim cambiament ai pagine conligade a questa chì",
	"tooltip-feed-rss": "Feed RSS per chesta pàgina",
	"tooltip-feed-atom": "Atom feed per questa pagina chì",
	"tooltip-t-contributions": "Una lista de contribuzzion de {{GENDER:$1|quell utent chì}}",
	"tooltip-t-emailuser": "Manda un messagg de posta elettronica {{GENDER:$1|a quell utent chì}}",
	"tooltip-t-info": "Pussee d'informazzion sora questa pagina chì",
	"tooltip-t-upload": "Carega su di fail audio o video",
	"tooltip-t-specialpages": "Lista de tucce i pagine speciai",
	"tooltip-t-print": "Version bona de stampà de questa pagina chì",
	"tooltip-t-permalink": "Ligam permanent a questa version chì de questa pagina chì",
	"tooltip-ca-nstab-main": "Vardà la pagina de contegnud",
	"tooltip-ca-nstab-user": "Varda la pagina de l'utent",
	"tooltip-ca-nstab-media": "Varda la pagina del fail audio/video",
	"tooltip-ca-nstab-special": "Questa chì a l'è una pagina speciala, se pò minga modifegala",
	"tooltip-ca-nstab-project": "Varda la pagina del proget",
	"tooltip-ca-nstab-image": "Varda la pagina del fail",
	"tooltip-ca-nstab-mediawiki": "Varda el messagg de sistema",
	"tooltip-ca-nstab-template": "Varda el modell",
	"tooltip-ca-nstab-help": "Varda la pagina de ajut",
	"tooltip-ca-nstab-category": "Varda la pagina de la categoria",
	"tooltip-minoredit": "Marca questa chì come una modifega piscinina",
	"tooltip-save": "Salva i to modifeghe",
	"tooltip-publish": "Met foeura i to cambiament",
	"tooltip-preview": "Varda i modifeghe (a l'è semper mei fal inanz de publicà)",
	"tooltip-diff": "Fam vidè i modifeghe che hoo fad al test.",
	"tooltip-compareselectedversions": "Varda i diferenze intra i do versione selezionade  da questa pagina chì",
	"tooltip-watch": "Sgionta quella pagina chì a la lista di robe che te tegnet sot oeugg",
	"tooltip-watchlist-expiry": "Sgionta temporanemant questa pagina chì a quei che te tegnet d'oeugg",
	"tooltip-watchlistedit-normal-submit": "Toeu via i titoi",
	"tooltip-watchlistedit-raw-submit": "Atualiza la lista di pagine che te tegnet d'oeugg",
	"tooltip-recreate": "Crea anmò la pagina ancaben la sia stada scancelada",
	"tooltip-upload": "Comenza el caregament",
	"tooltip-rollback": "El \"tira indree\" el scancela cont un clich i mudifegh fade a quella pagina chì de l'oltim cuntributor",
	"tooltip-undo": "\"Torna a 'me che l'era\" el scancela questa modifega chì e la derva la finestra de modifega de manera de vardà prima. La te lassa sgiontagh 'na spiegazzion de la modifega.",
	"tooltip-summary": "Met dent on curt sunt",
	"anonymous": "{{PLURAL:$1|Utent anonim}} de {{SITENAME}}",
	"siteuser": "{{SITENAME}} utent $1",
	"anonuser": "$1, utent anonim de {{SITENAME}}",
	"lastmodifiedatby": "Questa pagina chì l'è stada modifedata l'ultima volta el $1 ai $2 {{GENDER:$3|del|de la|de}} $3.",
	"othercontribs": "Fondad dora la contribuzzion de $1",
	"others": "alter",
	"siteusers": "$1, {{PLURAL:$2|{{GENDER:$1|utent}}|utent}} de {{SITENAME}}",
	"anonusers": "$1, {{PLURAL:$2|utent anonim}} de {{SITENAME}}",
	"creditspage": "Autor de la pagina",
	"nocredits": "A gh'è minga de informazzion disponibil sora i autor per questa pagina chì.",
	"spamprotectiontitle": "Filter de protezzion contra del ruf",
	"spamprotectiontext": "La pagina che te vorevet publicà l'è stada blocada d'un filter contra del ruf. Quest l'è facilment stad caosad d'un conligament defoeura vers un sit proibid.",
	"spamprotectionmatch": "El filter contra del ruf l'è stad dessedad de quell test chì: $1",
	"spambot_username": "Sistema spazzin de MediaWiki",
	"spam_reverting": "Modifegada indree a l'ultima revision che la gh'haveva minga i conligament vers $1",
	"spam_blanking": "Tute i revision i gh'haveven dent di conligament vers $1, pagina svojada",
	"spam_deleting": "Tute i revision gh'haveven dent di conligament vers $1, pagina scancelada",
	"simpleantispam-label": "Control contra del ruf.\nImpienissell <strong>minga</strong>!",
	"pageinfo-title": "Informazzion sora \"$1\"",
	"pageinfo-not-current": "Ne rincress,  l'è impossibil fornì quel informazzion ch per i version vegge.",
	"pageinfo-header-basic": "Informazzion fondamentai",
	"pageinfo-header-edits": "Cronologia di cambiament",
	"pageinfo-header-restrictions": "Protezzion de la pagina",
	"pageinfo-header-properties": "Proprietà de la pagina",
	"pageinfo-display-title": "Titol visualizzad",
	"pageinfo-default-sort": "Ciaf de ordinazzion predefinida.",
	"pageinfo-length": "Longhezza de la pagina (in bait)",
	"pageinfo-namespace": "Spazzi di nom",
	"pageinfo-namespace-id": "Sigla de riconosciment del spazzi di nomː",
	"pageinfo-article-id": "ID de la pagina",
	"pageinfo-language": "Lengua del contegnud de la pagina",
	"pageinfo-language-change": "cambia",
	"pageinfo-content-model": "Modell del contegnud de la pagina",
	"pageinfo-content-model-change": "cambia",
	"pageinfo-robot-policy": "Indesizzazzion fada di robó",
	"pageinfo-robot-index": "Permettud",
	"pageinfo-robot-noindex": "Minga permettud",
	"pageinfo-watchers": "Numer di utent che tegnen d'oeugg la pagina.",
	"pageinfo-visiting-watchers": "Numer de osservador de la pagina ch'i hann visitad i modifeghe recente",
	"pageinfo-few-watchers": "Men de $1 {{PLURAL:$1|osservador}}",
	"pageinfo-few-visiting-watchers": "A ghe podarissen versse o anca no di utent ch'i hann vardad i modifiche recente",
	"pageinfo-redirects-name": "Numer de redirezzion che menen a quasta pagina chì",
	"pageinfo-subpages-name": "Numer de sot-pagine de questa pagina chì",
	"pageinfo-subpages-value": "$1 ($2 {{PLURAL:$2|redirezzion}}; $3 {{PLURAL:$3|senza redirezzion}})",
	"pageinfo-firstuser": "Creator de la pagina",
	"pageinfo-firsttime": "Data de la creazzion de la pagina",
	"pageinfo-lastuser": "Oltim contributor",
	"pageinfo-lasttime": "Data de l'oltim cambiament",
	"pageinfo-edits": "Numer complessiv di cambiament",
	"pageinfo-authors": "Numer complessiv de autor diversi",
	"pageinfo-recent-edits": "Numer de cambiament recent (in di ultim $1)",
	"pageinfo-recent-authors": "Numer de autor diversi recent",
	"pageinfo-magic-words": "{{PLURAL:$1|parolla magica|parolle magiche}} ($1)",
	"pageinfo-hidden-categories": "{{PLURAL:$1|Categoria sconduda|Categorie scondude}} ($1)",
	"pageinfo-templates": "{{PLURAL:$1|Modell inclus|Modei inclus}} ($1)",
	"pageinfo-transclusions": "{{PLURAL:$1|Pagina|Pagine}} che gh'è denter ($1)",
	"pageinfo-toolboxlink": "Informazzion sora la pagina",
	"pageinfo-redirectsto": "La rimanda a",
	"pageinfo-redirectsto-info": "infornazzion",
	"pageinfo-contentpage": "Cuntada come una pagina de contegnud",
	"pageinfo-contentpage-yes": "Sì",
	"pageinfo-protect-cascading": "La protezzion l'è a cascada de chì",
	"pageinfo-protect-cascading-yes": "Sì",
	"pageinfo-protect-cascading-from": "La protezzion l'è a cascada de",
	"pageinfo-category-info": "Informazzion sora la categoria",
	"pageinfo-category-total": "Numer total de member",
	"pageinfo-category-pages": "Numer de pagine",
	"pageinfo-category-subcats": "Numer de sotcategorie",
	"pageinfo-category-files": "Numer de fail",
	"pageinfo-user-id": "ID de l'utent",
	"pageinfo-file-hash": "Valor hash",
	"pageinfo-view-protect-log": "Varda el register de protezzion per questa pagina chì.",
	"markaspatrolleddiff": "Marca come verifegada",
	"markaspatrolledtext": "Marca 'sta pagina chì come verificada",
	"markaspatrolledtext-file": "Marca questa version del fail come verificada",
	"markedaspatrolled": "Marca come verifegada",
	"markedaspatrolledtext": "La version selezionada de [[:$1]] l'è stada marcada come verificada",
	"rcpatroldisabled": "La verifica di ultime modofiche l'è disativada",
	"rcpatroldisabledtext": "Adess la fonzion de modifega di ultime modifeghe l'è no pizzada.",
	"markedaspatrollederror": "Impossibil marcala come verificada",
	"markedaspatrollederrortext": "A gh'è besogn de specifegà una modifega de marcà come verifegada.",
	"markedaspatrollederror-noautopatrol": "Te se minga autorizzad de marcà i to modifighe come verificade.",
	"markedaspatrollednotify": "La modifica a $1 l'è stada marcada come verificada.",
	"patrol-log-page": "Register di controi",
	"patrol-log-header": "Chesschì l'è un register di version verificade.",
	"confirm-markpatrolled-button": "Va ben",
	"confirm-markpatrolled-top": "Te marchet la version $3 de $2 come verificada?",
	"deletedrevision": "Scancellada la revision veggia de $1.",
	"filedelete-missing": "Impossibil scancelà el fail \"$1\" perchè 'l gh'è no.",
	"filedelete-old-unregistered": "La version del fail indicada, \"$1\", la gh'è minga in del databeis.",
	"filedelete-current-unregistered": "El fail specifegad \"$1\", a gh'è minga denter in del databeis.",
	"filedelete-archive-read-only": "El server de la red l'è mia bon de scriver in del diretori de l'archivi \"$1\".",
	"previousdiff": "← Diferenza pussée vesgia",
	"nextdiff": "Modifega pussée noeuva →",
	"mediawarning": "'''Atenzion''': Quel tipo de fail chì el podariss avegh denter on codes malizios. A fall girà el prodaria denaggiass el to sistema.",
	"widthheightpage": "$1 × $2, $3 {{PLURAL:$3|pagina|pagine}}",
	"file-info": "grandezza de fail: $1, tipo MIME: $2",
	"file-info-size": "$1 × $2 picsel, dimension : $3, sort MIME: $4",
	"file-info-size-pages": "$1 × $2 picsel, grandezza del fail: $3, tipo MIME: $4, $5 {{PLURAL:$5|pagina|pagine}}",
	"file-nohires": "Nissuna resoluzzion maggiora disponibil.",
	"svg-long-desc": "archivi in formad SVG, grandezza nominal  $1 × $2 picsel, grandezza de l'archivi: $3",
	"svg-long-desc-animated": "Fail in formad SVG animad, grandezza nominal $1 × $2 picsel, grandezza del fail: $3",
	"svg-long-error": "Fail SVG minga bon: $1",
	"show-big-image": "Fail orginal",
	"show-big-image-preview": "Grandezza de questa pagina de veduda antecipada: $1.",
	"show-big-image-preview-differ": "Grandezza de quetsa presualizzazion $3 per quell fail $2 chì: $1.",
	"show-big-image-other": "Alter {{PLURAL:$2|risoluzzion}}: $1.",
	"show-big-image-size": "$1 × $2 picsel",
	"file-info-gif-looped": "a ripetizzion",
	"file-info-gif-frames": "$1 {{PLURAL:$1|quader}}",
	"file-info-png-looped": "a ripetizzion",
	"file-info-png-repeat": "ripetud $1 {{PLURAL:$1|volta|volte}}",
	"file-info-png-frames": "$1 {{PLURAL:$1|quader}}",
	"file-no-thumb-animation": "'''Nota: per via de vincoi tenich, i miniadure de quel fail chì i sarann minga animade.'''",
	"file-no-thumb-animation-gif": "'''Nota: per via de vincoi tenich, i miniadure di imagin GIF de alta risoluzzion compagne de questa chì i sarann minga animade.'''",
	"newimages": "Gallaria de imagin noeuve",
	"imagelisttext": "Chì de sota gh'è una lista de {{PLURAL:$1|un fail|'''$1''' fail}}, l'è in ordin $2.",
	"newimages-summary": "Questa pagina special chì la fà vedè i fail pussee recent caregad.",
	"newimages-legend": "Filter",
	"newimages-user": "Adress IP o nom de l'utent",
	"newimages-showbots": "Fà vedè i caregament fad cont el bot",
	"newimages-hidepatrolled": "Scond i caregament verificad",
	"newimages-mediatype": "Tipo de suportː",
	"noimages": "Gh'è nagot de veder.",
	"gallery-slideshow-toggle": "Fà vedè i minidure prima voeuna poeul l'altra",
	"ilsubmit": "Trová",
	"bydate": "per data",
	"sp-newimages-showfrom": "Fà vedè i fail pusser recent a partì de $2 ore del $1",
	"bad_image_list": "El formad a l'è quest chì:\n\nSe tegnen bon doma i list pontad (i righ che comenzen per *).\nEl prim ligam de ogni riga el gh'ha de vesser un ligam a un fal minga vorud.\nI ligam che i vegnen dopo, in su l'istessa riga, i vegnen considerad di ecezión (che'l voeur dì pagine indoe che 'l fail se'l po riciamà in manera normala).",
	"metadata": "Metadat",
	"metadata-help": "Quell fail chì el gh'ha dent di informazzion adizionai, che l'è probabil che sien stad agiontad con la fotocamera o 'l scanner doprad per creà o digitalizzà el fail medesim. Se el fail a l'è stad mudifegad, un quaivun di detali el pudariss corespond pu ai modifeghe fade",
	"metadata-expand": "Fà vedè i detali",
	"metadata-collapse": "Scond i detali",
	"metadata-fields": "I camp di metadat listad in queld messagg chì i sarand mustrad in la pagina de la figura quand che la tabela di metadat la sarà presentada forma curta. Per impostazzion i alter camp i sarann scundud.\n* make \n* model \n* datetimeoriginal \n* exposuretime \n* fnumber \n* isospeedratings \n* focallength \n* artist \n* copyright \n* imagedescription \n* gpslatitude \n* gpslongitude \n* gpsaltitude \n* dc-rights \n* copyrightowner \n* usageterms \n* webstatement \n* licenseurl \n* attributionurl \n* preferredattributionname \n* credit \n* jpegfilecomment \n* pngfilecomment \n* giffilecomment \n* usercomment \n* citydest \n* citycreated \n* headline \n* source \n* locationdest \n* dc-contributor \n* dc-coverage \n* dc-publisher \n* dc-relation \n* label \n* nickname \n* personinimage \n* disclaimer \n* event \n* objectname\n* digitalsourcetype",
	"namespacesall": "tucc",
	"monthsall": "tucc",
	"confirmemail": "Conferma l<nowiki>'</nowiki>''e-mail''",
	"confirmemail_noemail": "Te gh'hee minga un adress de posta eletronica bon indicad in di to [[Special:Preferences|preferenze]].",
	"confirmemail_text": "Inanz de podé rice di messagg sul to adress de posta eletrònica l'è necessari verifical.\nSchisciá el boton che gh'è chi da sót par corfermá al to adress.\nTe ricevaret un mesagg cun dent un ligam special; te gh'avaret de clicà in sul ligam per confermá che 'l to adrèss l'è valid.",
	"confirmemail_pending": "El t'è sgiamò stad mandad on messagg de conferma con la posta eletronica;\nse t'hee apena cread un cunt, te gh'hee de spetà un quai minut de fall rivà inanz de domandànn vun noeuv.",
	"confirmemail_send": "Mandom un mesacc da confermazzion",
	"confirmemail_sent": "El mesacc da confermazzion l'è stad mandad.",
	"confirmemail_oncreate": "El t'è stad mandad on messagg de conferma con la posta eletronica;\nA gh'è minga besogn de quell codes chì de andà dent in del sit, ma el seviss de ativa tute i fonzion del sit che dopren la posta eletronica.",
	"confirmemail_sendfailed": "{{SITENAME}} l'è stad minga bon de mandatt el messagg de conferma. Verifica che 'l to adress de posta eletronica el gh'abia denter minga de carater minga valid.\n\nMessagg de eror del mandator de la posta: $1",
	"confirmemail_invalid": "Codes de conferma minga valid.\nL'è fail che 'l codes el sia scadud.",
	"confirmemail_needlogin": "A gh'è de besogn de $1 per confermà el to adress de posta eletronica.",
	"confirmemail_success": "El to adrezz de posta eletronica l'è stad confermad\nAdess te podet [[Special:UserLogin|andà dent]] e doprà la wiki.",
	"confirmemail_loggedin": "Adess el voster adress de posta eletronica l'è stad confermad",
	"confirmemail_subject": "{{SITENAME}}: richiesta de conferma de l'adress",
	"confirmemail_body": "Un quajdun, magara ti medesim, de l'adress IP $1, l'hà registrad el cunt \"$2\" in su {{SITENAME}} con quell adress de posta eletronica chì.\n\nPer confermà che 'l cunt el te partegna e ativà i fonzion relativ a la spedizzion de messagg de posta eletronica in su {{SITENAME}}, derva quel conligament chì in sul to programa de navigazzion:\n\n$3\n\nSe te see stad *minga* ti a registrà el cunt, vagh adree a quel conligament chì per anulà la conferma de l'adress de posta eletronicaː\n\n$5\n\nQuell codes de conferma chì el scaderà in automatich ai $4.",
	"confirmemail_body_changed": "Un quajdun, magara ti medesim, de l'adress IP $1, l'hà cambià l'adress de posta eletronica del cunt \"$2\" in su {{SITENAME}} con questchì.\n\nPer confermà che 'l cunt el te partegna e ativà de noeuv i fonzion relativ a la spedizzion de messagg de posta eletronica in su {{SITENAME}}, derva quel conligament chì in sul to programa de navigazzion:\n\n$3\n\nSe te see stad *minga* ti a registrà el cunt, vagh adree a quel conligament chì per anulà la conferma de l'adress de posta eletronicaː\n\n$5\n\nQuell codes de conferma chì el scaderà in automatich ai $4",
	"confirmemail_body_set": "Un quajdun, magara ti medesim, de l'adress IP $1, l'hà impostad quest adress de posta eletronica chì per el cunt \"$2\" in su {{SITENAME}}.\n\nPer confermà che 'l cunt el te partegna e ativà i fonzion relativ a la spedizzion de messagg de posta eletronica in su {{SITENAME}}, derva quel conligament chì in sul to programa de navigazzion:\n\n$3\n\nSe te see stad *minga* ti a registrà el cunt, vagh adree a quell conligament chì per anulà la conferma de l'adress de posta eletronicaː\n\n$5\n\nQuell codes de conferma chì el scaderà in automatich ai $4",
	"confirmemail_invalidated": "Richiesta de conferma de l'adress de posta eletronica anulada",
	"invalidateemail": "Anula richiesta de conferma de l'adress de posta eletronica",
	"notificationemail_subject_changed": "L'adress de posta eletronica registrad in su {{SITENAME}} l'è stad cambiad",
	"notificationemail_subject_removed": "L'adress de posta eletronica registrad in su {{SITENAME}} l'è stad cambiad",
	"notificationemail_body_changed": "Un quajdun, magara ti medesim, de l'adress IP $1, l'hà modifegà l'adress de posta eletronica del cunt da \"$2\" a \"$3\"in su {{SITENAME}}.",
	"notificationemail_body_removed": "Un quajdun, magara ti medesim, de l'adress IP $1, l'hà tolt via de {{SITENAME}} l'adress de posta eletronica del cunt \"$2\" .",
	"scarytranscludedisabled": "[L'inclusion de pagine tra i vari sit wiki l'è no ativa]",
	"scarytranscludefailed": "[Eror: Impossibil ottegnì el modell $1]",
	"scarytranscludefailed-httpstatus": "[Impossibel ottegnì el modell per $1: HTTP $2]",
	"scarytranscludetoolong": "[Eror: URL tropa lɔnga]",
	"deletedwhileediting": "'''Atenzion''': questa pagina chì l'è stada scancelada dòpo che ti t'hee tacad a modifegala!",
	"confirmrecreate": "L'utent [[User:$1|$1]] ([[User talk:$1|discussion]]) l'hà scancelad la pagina dòpo che t'hee tacad a modifegala, per quella reson chì: ''$2''\nPer piesè, conferma che te voeuret creà la pagina de noeuv.",
	"confirmrecreate-noreason": "L'utent [[User:$1|$1]] ([[User talk:$1|discussion]]) {{GENDER:$1|l'ha scancelad}} questa pagina chì dopo che t'hee tacad a modifegala. Per piesè, conferma che te voeuret de vera creà de noeuv quella pagina chì.",
	"recreate": "Crea de noeuv",
	"confirm-purge-title": "Purifica questa pagina chì",
	"confirm_purge_button": "Conferma",
	"confirm-purge-top": "Te voeuret netà la cache de questa pagina chì?",
	"confirm-purge-bottom": "A netà la cache de una pagina la vegnarà mostrada la soa version pussee noeuva.",
	"confirm-watch-button": "OK",
	"confirm-watch-top": "Sgionta questa pagina chì a la lista di pagine che te tegnet d'oeugg",
	"confirm-watch-label": "Period che la pagina la ven tegnuda d'oeuggː",
	"watchlist-expiry-options": "Per semper:infinite,1 setimana:1 week,1 mes:1 month,3 mes:3 months,6 mes:6 months,1 annː1 year.",
	"watchlist-expires-in-aria-label": "Scadenza del period che te tegnet d'oeugg i pagine",
	"confirm-watch-button-expiry": "Ten d'oeugg",
	"confirm-unwatch-button": "Va ben",
	"confirm-unwatch-top": "Toeu via questa pagina chì de la lista di pagine che te tegnet d'oeugg?",
	"confirm-rollback-button": "Va ben",
	"confirm-rollback-top": "Modifegà indree questa pagina chì?",
	"confirm-rollback-bottom": "Questa azzion la modifegherà indree i cambiament selezionad a questa pagina chì.",
	"confirm-mcrrestore-title": "Torna a una version indree",
	"confirm-mcrundo-title": "Torna a 'me che l'era inanz",
	"mcrundofailed": "Anulament fallad",
	"mcrundo-missingparam": "Parametri obligatori mancant in la richiesta.",
	"mcrundo-changed": "La pagina l'è cambiada de quand che t'hee vardad i diferenze. Per piesè, toeu in esam i modifeghe noeuve.",
	"mcrundo-parse-failed": "Eror a fà l'analisi de la version noeuva: $1",
	"quotation-marks": "\"$1\"",
	"formatnum-nan": "Minga un Numer",
	"imgmultipageprev": "← pagina indree",
	"imgmultipagenext": "Pagina inanz",
	"imgmultigo": "Và!",
	"imgmultigoto": "Và a la pagina $1",
	"img-lang-default": "(lengua predefinida)",
	"img-lang-info": "Traforma quel'imagin chì in $1. $2",
	"img-lang-go": "Và",
	"table_pager_next": "Pagina adree",
	"table_pager_prev": "Pagina indree",
	"table_pager_first": "Prima pagina",
	"table_pager_last": "Ultima pagina",
	"table_pager_limit": "Fà vedè $1 element per pagina",
	"table_pager_limit_label": "Element per pagina:",
	"table_pager_limit_submit": "Và",
	"table_pager_empty": "Nissun risultad",
	"autosumm-blank": "Pagina svojada",
	"autosumm-replace": "Pagina sostituida con '$1'",
	"autoredircomment": "Redirezzion a la pagina [[$1]]",
	"autosumm-removed-redirect": "Tolta via la redirezzion a [[$1]]",
	"autosumm-changed-redirect-target": "Modifegada destinazzion de la redirezzion da [[$1]] a [[$2]]",
	"autosumm-new": "Creada pagina con \"$1\"",
	"autosumm-newblank": "Creada pagina voeuja",
	"lag-warn-normal": "I modifeghe aportade {{PLURAL:$1|in de l'ultim segond|in di ultim $1 segond}} i podarissen comparì no in la lista.",
	"lag-warn-high": "Per via d'un ritard fort de l'asgiornament del server de databeis, i modifeghe aportade {{PLURAL:$1|in del ultim segond|in di ultim $1 segond}} i podarissen comparì minga in quella lista chì.",
	"watchlistedit-normal-title": "Modifega la lista di pagine ch'a tegni d'oeugg",
	"watchlistedit-normal-legend": "Toeu via di pagine de quele ch'a tegni oeugg",
	"watchlistedit-normal-explain": "Chi de sota gh'è la lista di pagine che te tegnet d'oeugg.\nPer toeuvenn via 'na quaivoeuna, insegna i caselle relative e clica in sul pulsant \"{{int:Watchlistedit-normal-submit}}\" in fondo all'elenco.\nTe podet anca [[Special:EditWatchlist/raw|modifegà la lista in formad test]].",
	"watchlistedit-normal-submit": "Toeu via pagine",
	"watchlistedit-normal-done": "De la lista di pagine che te tegnet d'oeugg {{PLURAL:$1|a l'è stada tolta via una pagina|a inn stade tolte via $1 pagine}}:",
	"watchlistedit-raw-title": "Modifega de la lista di pagine tegnude d'oeugg in formad test",
	"watchlistedit-raw-legend": "Modifega la lista di pagine tegnude d'oeugg in formad test",
	"watchlistedit-raw-explain": "I pagine che te tegnet d'oeugg a inn mostrade chì de sota, per modifgeà la lista sgionta o toeu via i titoi, vun titol ciascheduna per riga.\nQuand che t'hee finid, clica in su \"{{int:Watchlistedit-raw-submit}}\" in fond a la lista.\nTe podet anca [[Special:EditWatchlist|modifegà la lista con l'interfaccia standard]].",
	"watchlistedit-raw-titles": "Titoiː",
	"watchlistedit-raw-submit": "Atualiza la lista di pagine che te tegnet d'oeugg",
	"watchlistedit-raw-done": "La lista di pagine che te tegnet d'oeugg l'è stada atualizada.",
	"watchlistedit-raw-added": "{{PLURAL:$1|L'è stada sgiontada una pagina|A inn stade sgiontade $1 pagine}}:",
	"watchlistedit-raw-removed": "{{PLURAL:$1|A l'è stada tolta via una pagina|A inn stade tolte via $1 pagine}}:",
	"watchlistedit-clear-title": "Neta via la lista de la roba tegnuda d'oeugg.",
	"watchlistedit-clear-legend": "Neta via la lista de la roba tegnuda d'oeugg.",
	"watchlistedit-clear-explain": "Tucc i titoi i sarann tolt via de la lista di pagine tegnude d'oeugg",
	"watchlistedit-clear-titles": "Titoiː",
	"watchlistedit-clear-submit": "Neta via la lista di pagine tegnude d'oeugg (L'è per semper)",
	"watchlistedit-clear-done": "La lista di pagine che te tegnet d'oeugg l'è stada netada.",
	"watchlistedit-clear-jobqueue": "La lista di pagina che te tegnet d'oeugg l'è stada netada. El podariss vorégh on poo de temp.",
	"watchlistedit-clear-removed": "{{PLURAL:$1A l'è stada tolta via una pagina|A inn stade tolte via $1 pagine}}:",
	"watchlistedit-too-many": "La lista di pagine che te tegnet d'oeugg l'è stada atualizada. A gh'è trope tante pagine de fà vedé chichiscì.",
	"watchlisttools-clear": "Neta via la lista de la roba tegnuda d'oeugg.",
	"watchlisttools-view": "Varda i cambiament important",
	"watchlisttools-edit": "Varda e modifega la lista di pagine che te tegnet d'oeugg",
	"watchlisttools-raw": "Modifega la lista in formad test",
	"signature": "[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|ciciarade]])",
	"signature-temp": "[[{{#special:Contributions}}/$1|$2]] ([[{{ns:user_talk}}:$1|ciciarada]])",
	"duplicate-defaultsort": "Atenzion: la ciaf di ordinazzion predefinida \"$2\" la sostituiss quella de prima \"$1\".",
	"duplicate-displaytitle": "<strong>Atenzion:</strong> el titol mostrad \"$2\" el sostituiss quel precedent \"$1\".",
	"restricted-displaytitle": "<strong>Atenzion:</strong> El titol mostrad \"$1\" l'è stad ignorad perchè l'è minga l'istèss del titol de adess de la pagina.",
	"invalid-indicator-name": "<strong>Eror:</strong> attribud <code>name</code> di indicador del stat de la pagina el po vesser minga voeuj.",
	"invalid-langconvert-attrs": "<strong>Eror:I </strong> etichete Lancovert <code>da</code> e <code>vers</code> i atribud i ghì'hann de vesser minga voeuj e gh'hann de avegh denter di codes BCP47 per i variante trasformabil de l'istessa lengua.",
	"version": "Version",
	"version-extensions": "Estension instalade",
	"version-skins": "Tema instalad",
	"version-specialpages": "Pagina special",
	"version-parserhooks": "Rampin del parser",
	"version-variables": "Variabel",
	"version-editors": "Contributor",
	"version-antispam": "Prevenzzion del ruf",
	"version-other": "Alter",
	"version-mediahandlers": "Maneggion di contegnud audio/video",
	"version-hooks": "Rampin",
	"version-parser-extensiontags": "Etichete riconossude dal parser introdot de di estension",
	"version-parser-function-hooks": "Rampin per i fonzion parser",
	"version-hook-name": "Nom del rampin",
	"version-hook-subscribedby": "Sottoscrizzion",
	"version-no-ext-name": "[senza nom]",
	"version-license": "Licenza MediaWiki",
	"version-ext-license": "Licenza",
	"version-ext-colheader-name": "Estension",
	"version-skin-colheader-name": "Tema",
	"version-ext-colheader-version": "Version",
	"version-ext-colheader-license": "Licenza",
	"version-ext-colheader-description": "Descrizzion",
	"version-ext-colheader-credits": "Autor",
	"version-license-title": "Licenza per $1",
	"version-license-not-found": "Per questa estension chì l'è stada trovada nissuna informazzion detagliada sora la licenza.",
	"version-credits-title": "Credit per $1",
	"version-credits-not-found": "Per questa estension chì l'è stada trovada nissuna informazzion detagliada sora i credit.",
	"version-poweredby-credits": "'Sto wiki chì l'è realizzad de '''[https://www.mediawiki.org/ MediaWiki]''', dirit d'autor © 2001-$1 $2.",
	"version-poweredby-others": "alter",
	"version-poweredby-translators": "tradutor de translatewiki.net",
	"version-poweredby-various": "Autor vari",
	"version-credits-summary": "Ne pasariss de reconoss sti persone chì per avè contribuid a [[Special:Version|MediaWiki]].",
	"version-license-info": "MediaWiki l'è un programa liber; te podet dall in gir a toa volta e/o fagh di cambiament conforma ai termin de la GNU General Public License, inscì come l'è missa foeura de la Free Software Foundation; o la version 2 de la Licenza o (a toa scelta) qualsessia version adree.\n\nMediaWiki l'è distribuid con la  speranza che 'l sia util, ma <em>SENZA NISSUNA GARANZIA</em>; senza nanca la garanzia compresa de <strong>COMMERCIABILITA'</strong> o de <strong>POSSIBILITA' DE APLICALA A UN FIN PARTICOLAR</strong>. Varda la GNU General Public License di alter detali.\n\nTe dovarisset havè ricevud [{{SERVER}}{{SCRIPTPATH}}/COPYING una copia de la GNU General Public License] insema a quell programa chì; diversaemnt, te podet scriver a la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA opur [//www.gnu.org/licenses/old-licenses/gpl-2.0.html legela in su la red].",
	"version-software": "Programa instalad",
	"version-software-product": "Prodot",
	"version-software-version": "Version",
	"version-entrypoints": "URL del pont d'entrada",
	"version-entrypoints-header-entrypoint": "Pont d'entrada",
	"version-entrypoints-header-url": "URL",
	"version-libraries": "Librerie installade",
	"version-libraries-library": "Libreria",
	"version-libraries-version": "Version",
	"version-libraries-license": "Licenza",
	"version-libraries-description": "Descrizzion",
	"version-libraries-authors": "Autor",
	"redirect": "Redirezzion che la ven de fail, utent, pagina, version o ID de register",
	"redirect-summary": "Questa pagina special chì l'insegna on fail (per mezz del nom del fail), ona pagina (per mezz de un ID de la revision o de un ID de la pagina), una pagina de un utent (per mezz del so ID numerich), o un element del register (per mezz de l'ID del register). Usage: [[{{#Special:Redirect}}/file/Example.jpg]], [[{{#Special:Redirect}}/page/64308]], [[{{#Special:Redirect}}/revision/328429]], [[{{#Special:Redirect}}/user/101]], or [[{{#Special:Redirect}}/logid/186]].",
	"redirect-submit": "Va inanz",
	"redirect-lookup": "Ricerca",
	"redirect-value": "Valor",
	"redirect-user": "ID de l'utent",
	"redirect-page": "ID de la pagina",
	"redirect-revision": "Version de la pagina",
	"redirect-file": "Nom del fail",
	"redirect-logid": "ID register",
	"redirect-not-exists": "Valor minga trovad",
	"redirect-not-numeric": "Valor minga numerich",
	"fileduplicatesearch": "Ricerca di fail duplicad",
	"fileduplicatesearch-summary": "Ricerca di fail duplicad seconda el so valor de hash.",
	"fileduplicatesearch-filename": "Nom del failː",
	"fileduplicatesearch-submit": "Ricerca",
	"fileduplicatesearch-info": "$1 × $2 picsel<br />Grandezza del fail: $3<br />Tipo MIME: $4",
	"fileduplicatesearch-result-1": "I esisten minga di fail eguai del fail \"$1\".",
	"fileduplicatesearch-result-n": "{{PLURAL:$2|A gh'è un duplicad egual|I esisten $2 duplicad eguai}} del fail \"$1\".",
	"fileduplicatesearch-noresults": "Nissun fail ciamad \"$1\" trovad.",
	"specialpages": "Pagine speciai",
	"specialpages-note-top": "Legenda",
	"specialpages-note-restricted": "* Pagine speciai minga riservade.\n* <span class=\"mw-specialpagerestricted\">Pagine speciai riservade doma per certe categoria di utent.</span>",
	"specialpages-group-maintenance": "Raport de manutenzion",
	"specialpages-group-other": "Alter pagine speciai",
	"specialpages-group-login": "Và dent / crea un cunt",
	"specialpages-group-changes": "Modifeghe recente e register",
	"specialpages-group-media": "Caregament e raport di fail audio e video",
	"specialpages-group-users": "Utent e dirit",
	"specialpages-group-highuse": "Pagine drovade fiss",
	"specialpages-group-pages": "Lista de pagine",
	"specialpages-group-pagetools": "Arnes per i pagine",
	"specialpages-group-wiki": "Dati e ferr del mester",
	"specialpages-group-redirects": "Pagine speciai che rimanden",
	"specialpages-group-spam": "Arnes contra 'l ruf",
	"specialpages-group-developer": "Istrument per i svilupador",
	"blankpage": "Pagina voeuja",
	"intentionallyblankpage": "Questa pagina chì l'è stada lassada voeuja aposta.",
	"disabledspecialpage-disabled": "Questa pagina chì l'è stada disativada d'un minestrador de sistema",
	"external_image_whitelist": " #Lassa questa riga chì inscì come che l'è<pre>\n#Met dent i frament di espression regolar (doma la part che la va infra //) chì de sota\n#'Ste chì i sarann confrontade cont i adress URL di imagin defoeura  (hotlinked)\n#I corispondenze i sarann mostrade come di imagin, diverament a vegnarà mostrad doma un conligament\n#I righe che comenzen con # inn considerade come comment\n#La differenza intra i maiuscole e i minuscole l'è minga significativa\n\n#Met dent tucc i frament de regecs sora quela riga chì.  Lassa questa riga chì 'me che l'è</pre>",
	"tags": "Etichete de modifega valide",
	"tag-filter": "Filter per [[Special:Tags|eticheta]]:",
	"tag-filter-submit": "Filter",
	"tag-hidden": "$1 (eticheta sconduda)",
	"tag-list-wrapper": "[[Special:Tags|{{PLURAL:$1|eticheta|etichete}}]]: $2",
	"tag-mw-contentmodelchange": "modifega del modell di contegnud",
	"tag-mw-contentmodelchange-description": "Modifeghe che [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:ChangeContentModel cambien el model de contegnud] de una pagina",
	"tag-mw-new-redirect": "Redirezzion noeuva",
	"tag-mw-new-redirect-description": "Modifeghe che creen una redirezzion noeuva o trasformen una pagina in una redirezzion",
	"tag-mw-removed-redirect": "Redirezzion tolta via",
	"tag-mw-removed-redirect-description": "Modifeghe che trasformen una redirizzion esistente in d'una no-redirezzion",
	"tag-mw-changed-redirect-target": "Destinazzion de la redirezzion modifegada",
	"tag-mw-changed-redirect-target-description": "Modifeghe che cambien la destinazzion d'una redirezzion",
	"tag-mw-blank": "Svojade",
	"tag-mw-blank-description": "Modifeghe che svoeujen una pagina",
	"tag-mw-replace": "Cambiad vun con l'alter",
	"tag-mw-replace-description": "Modifeghe che toeuven via pussee del 90% del contegnud d'una pagina",
	"tag-mw-rollback": "Tornà a la version de prima",
	"tag-mw-rollback-description": "Modifiche che fann tornà indree ai versioni precedente cont el doprà el conligament per tornà a la version de prima",
	"tag-mw-undo": "Torna a 'me che l'era inanz",
	"tag-mw-undo-description": "Modifiche che fann tornà indree cont el doprà el conligament \"Torna a 'me che l'era inanz\"",
	"tag-mw-manual-revert": "Inversadura manual",
	"tag-mw-manual-revert-description": "Modifeghe che menen indree manualment una pagina a una stat de prima",
	"tag-mw-reverted": "Anulad",
	"tag-mw-reverted-description": "Modifeghe ch'a inn stad poeu inversade per mezz d'una modifega diversa",
	"tag-mw-server-side-upload": "Caregament de la banda del server",
	"tag-mw-server-side-upload-description": "Fail audiovisiv caregad per via d'on script de manutenzion",
	"tags-title": "Etichete",
	"tags-intro": "Questa pagina chì la fa la lista di etichete cont el qual el programa el podariss marcà una modifega, e 'l so significad.",
	"tags-tag": "Nom de l'eticheta",
	"tags-display-header": "Aspet in la lista di modifeghe",
	"tags-description-header": "Descrizzion completa del significad",
	"tags-source-header": "Sorgent",
	"tags-active-header": "Ativ?",
	"tags-hitcount-header": "Modifeghe con l'eticheta",
	"tags-actions-header": "Azzion",
	"tags-active-yes": "Sì",
	"tags-active-no": "Nò",
	"tags-source-extension": "Definid del programa",
	"tags-source-manual": "Aplicad a man de utent e bot",
	"tags-source-none": "L'usen pu",
	"tags-hidden": "(scondud)",
	"tags-edit": "modifica",
	"tags-delete": "scancella",
	"tags-activate": "ativa",
	"tags-deactivate": "desativa",
	"tags-hitcount": "$1 {{PLURAL:$1|cambiament|cambiamencc}}",
	"tags-manage-no-permission": "Te gh'hee minga el permess de manesgià i etichete de modifega.",
	"tags-manage-blocked": "Te podet minga manesgià i etichete di modifeghe intanta che te seet {{GENDER:$1|blocad|blocada|blocad}}.",
	"tags-create-heading": "Crea una eticheta noeuva",
	"tags-create-explanation": "Per impostazzion predefinida, i etichete apena creade i sarann disponibil per l'utilizzazion de utent e bot.",
	"tags-create-tag-name": "Nom de l'etichetaː",
	"tags-create-reason": "Resonː",
	"tags-create-submit": "Crea",
	"tags-create-no-name": "Te gh'hee de specifegà el nom d'una eticheta.",
	"tags-create-invalid-chars": "I nom di tag i gh'hann de avegh dent no di virgole (<code>,</code>), di sbarre verticai (<code>|</code>), o si sbarre de travers (<code>/</code>).",
	"tags-create-invalid-title-chars": "I nom di tag i gh'hann de contegnì minga di carater che poden minga vesser doprad in di titoi di pagine.",
	"tags-create-already-exists": "L'eticheta \"$1\" l'esist sgiamò.",
	"tags-create-warnings-above": "{{PLURAl:$2|A l'è stad rilevad quell pericol chì|A inn stad rilevad 'sti pericoi chì}} intanta che se tentava de creà l'eticheta \"$1\":",
	"tags-create-warnings-below": "Te voeuret andà adree a creà l'eticheta?",
	"tags-delete-title": "Scancella i pagine",
	"tags-delete-explanation-initial": "Te seet adree per scancellà l'eticheta \"$1\" del databeis.",
	"tags-delete-explanation-in-use": "La sarà tolta via de {{PLURAL:$2|$2 version o vos de register|tute i $2 version e vos de register}} indoe la se trova adess.",
	"tags-delete-explanation-warning": "De quel'azzion chì <strong>se po no tornà indree</strong> e <strong>e la po minga vesser desfada</strong>, nanca di minetrsador de databeis. Sicuress che chesschì el sia de vera el tag che te voeuret toeu via.",
	"tags-delete-explanation-active": "<strong> L'eticheta \"$1\" l'è ancamò ativa, e la restarà in del temp che 'l ven. </strong> Per disativàla, va ai vos de register indoe l'eticheta l'impostada per vesser aplicada e disatìvela.",
	"tags-delete-reason": "Resonː",
	"tags-delete-submit": "Scancela quel'eticheta chì (e se pò pu rimetela)",
	"tags-delete-not-allowed": "I tag definidi d'un'estension i poden minga vesser scancelad condemanch el sia permetud de l'estension.",
	"tags-delete-not-found": "El tag \"$1\" a l'esist minga.",
	"tags-delete-too-many-uses": "L'eticheta \"$1\" l'è aplicada a pussee de $2 {{PLURAL:$2|revision}}, per dì che la po vesser minga scancelada.",
	"tags-delete-warnings-after-delete": "L'eticheta \"$1\" l'è stada scancelada, ma fagh atenzion {{PLURAL:$2|a quel'avis chì|a chi avis chì}}:",
	"tags-delete-no-permission": "Te gh'hee minga el permess de scancelà i etichete de modifega.",
	"tags-activate-title": "Ativa l'eticheta",
	"tags-activate-question": "Te seet in sul pont de ativà l'eticheta \"$1\".",
	"tags-activate-reason": "Reson:",
	"tags-activate-not-allowed": "A l'è minga possibil ativà l'eticheta \"$1\".",
	"tags-activate-not-found": "L'eticheta \"$1\" a l'esist minga.",
	"tags-activate-submit": "Ativa",
	"tags-deactivate-title": "Desativa l'eticheta",
	"tags-deactivate-question": "Te seet adree per desativà l'eticheta \"$1\".",
	"tags-deactivate-reason": "Resonː",
	"tags-deactivate-not-allowed": "A l'è minga possibil desativà l'eticheta \"$1\".",
	"tags-deactivate-submit": "Desativa",
	"tags-apply-no-permission": "Te gh'hee minga el permess de fagh di cambiament ai etichete insema ai to modifeghe.",
	"tags-apply-blocked": "Te podet aplicà minga i etichete ai modifeghe intanta che te see {{GENDER:$1|bloccad|bloccada}}.",
	"tags-apply-not-allowed-one": "L'eticheta \"$1\" la po minga vesser aplicada a man.",
	"tags-apply-not-allowed-multi": "{{PLURAL:$2|Quel'eticheta chì la po minga vesser aplicada|'Sti etichete chì i poden minga vesser aplicade}}  manualment: $1",
	"tags-update-no-permission": "Te gh'hee minga el permess de sgiontà o de toeu via i etichete de modifega d'una version o vos de register.",
	"tags-update-blocked": "Te podet minga sgiontà o toeu via i etichete de modifega intanta che {{GENDER:$1|te seet blocad|te see blocada}}.",
	"tags-update-add-not-allowed-one": "L'eticheta \"$1\" la po vesser minga sgiontada a man.",
	"tags-update-add-not-allowed-multi": "{{PLURAL:$2|Quel'eticheta chì la po minga vesser sgiontada|Chi etichete chì i poden minga vesser sgintade}} a man: $1",
	"tags-update-remove-not-allowed-one": "L'eticheta \"$1\" a se po toeula minga via.",
	"tags-update-remove-not-allowed-multi": "A se po minga toeu via a man {{PLURAL:$2|'st'eticheta chì|chì etichete chì}}: $1",
	"tags-edit-title": "Modifega etichete",
	"tags-edit-manage-link": "Manesgia i etichete",
	"tags-edit-revision-selected": "{{PLURAL:$1|Version scernida|Version scenide}} de [[:$2]]:",
	"tags-edit-logentry-selected": "{{PLURAL:$1|Aveniment del register scernid}}:",
	"tags-edit-revision-legend": "Sgionta o toeu via di etichete de {{PLURAL:$1|questa version chì|tucce i $1 version}}",
	"tags-edit-logentry-legend": "Sgionta o toeu via di etichete de {{PLURAL:$1|questa vos de register chì|tucce i $1 vos de register}}",
	"tags-edit-existing-tags": "Etichete esistent̠ː",
	"tags-edit-existing-tags-none": "<em>Nissuna</em>",
	"tags-edit-new-tags": "Etichete noeuveː",
	"tags-edit-add": "Sgionta 'ste etichete chì̠ː",
	"tags-edit-remove": "Toeu via ste etichete chìː",
	"tags-edit-remove-all-tags": "(Toeu via tucce i etichete)",
	"tags-edit-chosen-placeholder": "Scerniss foeura 'na quai eticheta",
	"tags-edit-chosen-no-results": "Nissuna eticheta corispondenta trovada",
	"tags-edit-reason": "Resonː",
	"tags-edit-revision-submit": "Aplica i modifeghe {{PLURAL:$1|questa version chì|$1 'sti version chì}}",
	"tags-edit-logentry-submit": "Aplica i modifeghe a {{PLURAL:$1|questa vos de register chì|$1 vos de register}}",
	"tags-edit-success": "I modifeghe a inn stade aplicade",
	"tags-edit-failure": "A l'è stad minga possibil aplicà 'ste modifeghe chì:\n$1",
	"tags-edit-nooldid-title": "version specifegada minga valida",
	"tags-edit-nooldid-text": "No l'è stada specifegada nissuna version de la pagin indoe fà lavorà quella fonzion chì, opur la version specifegada l'esist minga.",
	"tags-edit-none-selected": "Per piesè scerniss foeura almanc una eticheta de sgiontà o toeu via.",
	"comparepages": "Confronta i pagine",
	"compare-page1": "Pagina 1",
	"compare-page2": "Pagina 2",
	"compare-rev1": "Revision 1",
	"compare-rev2": "Revision 2",
	"compare-submit": "Confronta",
	"compare-revision-not-exists": "La version che t'hee specifegad l'esist minga.",
	"diff-form": "Diferenze",
	"diff-form-oldid": "ID vegg de la version (opzzional)",
	"diff-form-revid": "ID version o diferenza",
	"diff-form-submit": "Mostra i diferenze",
	"diff-form-other-revid": "ID de la version",
	"diff-form-error-revid": "Met denter l'ID numerich de la version",
	"permanentlink": "Conligament permanent",
	"permanentlink-revid": "ID de la version",
	"permanentlink-submit": "Và a la version",
	"newsection": "Sezzion noeuva",
	"newsection-page": "Pagina de destinazzion",
	"newsection-submit": "Và a la pagina",
	"editpage": "Modifega una pagina",
	"specialeditpage-page": "Pagina de destinazzion",
	"specialeditpage-submit": "Và a la pagina",
	"deletepage": "Scancella ona pagina",
	"specialdeletepage-page": "Pagina de destinazzion",
	"specialdeletepage-submit": "Và a la pagina",
	"pageinfo": "Informazzion sora la pagina",
	"specialpageinfo-page": "Pagina de destinazzion",
	"specialpageinfo-submit": "Và a la pagina",
	"pagehistory": "Storia de la pagina",
	"specialpagehistory-page": "Pagina de destinazzion",
	"specialpagehistory-submit": "Và a la pagina",
	"protectpage": "Protesg ona pagina",
	"specialprotectpage-page": "Pagina de destinazzion",
	"specialprotectpage-submit": "Và a la pagina",
	"purge": "Purga",
	"specialpurge-page": "Pagina de destinazzion",
	"specialpurge-submit": "Và a la pagina",
	"dberr-problems": "Ne rincressǃ In quel sit chì a inn dree a suced di dificoltà tecnich.",
	"dberr-again": "prova a spetà un quai minut e caregà anmò.",
	"dberr-info": "(Impossibil andà dent al databeis: $1)",
	"dberr-info-hidden": "(Impossibil andà dent al databeis)",
	"htmlform-invalid-input": "A gh'è dun quai problema con quaivun di dati che t'hee miss denter.",
	"htmlform-select-badoption": "El valor che t'hee specifegad l'è una opzion minga valida.",
	"htmlform-int-invalid": "El valor che t'hee specifegad l'è minga una opzion valida.",
	"htmlform-float-invalid": "El valor che t'hee specifegad l'è minga un numer.",
	"htmlform-int-toolow": "El valor che t'hee specifegad l'è sota el minim de $1",
	"htmlform-int-toohigh": "El valor che t'hee specifegad l'è sora el massim de $1.",
	"htmlform-multiselect-toomany": "El numer de element che t'hee specifegad l'è sora el massim de $1.",
	"htmlform-required": "Quell valor chì l'è obligatori.",
	"htmlform-submit": "Invia",
	"htmlform-reset": "Torna a 'me che l'era inanz",
	"htmlform-selectorother-other": "Alter",
	"htmlform-no": "Nò",
	"htmlform-yes": "Sì",
	"htmlform-cloner-create": "Sgionta pussee",
	"htmlform-cloner-delete": "Toeu via",
	"htmlform-cloner-required": "A gh'è de besogn de almanch vun valor.",
	"htmlform-date-placeholder": "AAAA-MM-DD",
	"htmlform-time-placeholder": "HH:MM:SS",
	"htmlform-datetime-placeholder": "AAAA-MM-DD HH:MM:SS",
	"htmlform-date-invalid": "El valor che t'hee specifegad l'è minga reconossud come una data. Prova a doprà el formad AAAA-MM-DD.",
	"htmlform-time-invalid": "El valor che t'hee specifegad l'è minga reconossud come 'n orari. Prova a doprà el formad HH:MM:SS.",
	"htmlform-datetime-invalid": "El valor che t'hee specifegad l'è minga reconossud come 'n orari e ona data. Prova a doprà el formad AAAA-MM-DD HH:MM:SS.",
	"htmlform-date-toolow": "El valor che t'hee specificad è prima de la prima data permetuda del $1.",
	"htmlform-date-toohigh": "El valor che t'hee specificad l'è dopo de l'ultima data permetuda del $1.",
	"htmlform-time-toolow": "El valor che t'hee specificad è prima del prim orari de $1.",
	"htmlform-time-toohigh": "El valor che t'hee specificad è dopo de l'ultim orari permetud de $1.",
	"htmlform-datetime-toolow": "El valor che t'hee specifegà l'è prima de la parima data e ora permetuda de $1.",
	"htmlform-datetime-toohigh": "El valor che t'hee specifegad l'è dopo de l'ultima data e ora permetuda de $1.",
	"htmlform-title-badnamespace": "[[:$1]] l'è minga in del spazzi de scrittura \"{{ns:$2}}\".",
	"htmlform-title-not-creatable": "\"$1\" a l'è un titol de pagina ch' a se po no creà",
	"htmlform-title-not-exists": "$1 l'esist minga.",
	"htmlform-title-interwiki": "$1 a l'è un titol interwiki, el gh'avaria de vesser local.",
	"htmlform-user-not-exists": "<strong>$1</strong> a l'esist minga.",
	"htmlform-user-not-valid": "<strong>$1</strong> a l'è un nom de utent minga valid.",
	"htmlform-tag-not-allowed": "$1 a l'è un'eticheta minga permetuda",
	"logentry-delete-delete": "\n {{GENDER:$2|el $1 l'ha scancellad|la $1 l'ha scancellad}} la pagina $3",
	"logentry-delete-delete_redir": "{{GENDER:$2|El $1 l'hà scancelad|La $1 l'hà scancelad|$1 l'hà scancelad}} la redirezzion $3 a sorascrivegh",
	"logentry-delete-delete_redir2": "{{GENDER:$2|El $1 l'hà scancelad|La $1 l'hà scancelad|$1 l'hà scancelad}} la redirezzion $3 a sorascrivegh",
	"logentry-delete-restore": "{{GENDER:$2|El | La | El / La}} $1 {{GENDER:$2|l'ha anullad la scancellazzion}} de la pagina $3 ($4)",
	"logentry-delete-restore-nocount": "{{GENDER:$2|El $1|La $1| $1}} l'ha anullad la scacellazzion de la pagina $3",
	"restore-count-revisions": "{{PLURAL:$1|1 version|$1 version}}",
	"restore-count-files": "{{PLURAL:$1|1 fail|$1 fail}}",
	"logentry-delete-event": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad| $1 l'hà cambiad}} la visibilità de {{PLURAL:$5|un'aveniment del register|$5 aveniment del register}} de \"$3\": $4",
	"logentry-delete-revision": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$1 l'ha cambiad}} la visibilità de {{PLURAL:$5|una version|$5 version}} a la pagina $3: $4",
	"logentry-delete-event-legacy": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$1 l'hà cambiad}} la visibilità d'un quai aveniment del register de $3",
	"logentry-delete-revision-legacy": " {{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$1 l'hà cambiad}} la visibilità di revision de la pagina $3",
	"logentry-suppress-delete": "\n {{GENDER:$2|El $1 l'ha scancellad|La $1 l'ha scancellad}} la pagina $3",
	"logentry-suppress-event": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$1 l'hà cambiad}} fogn la visibilità de {{PLURAL:$5|un aveniment de register|$5 aveniment de register}} de $3: $4",
	"logentry-suppress-revision": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad}} fogn la visibilità de {{PLURAL:$5|una version|$5 version}} de la pagina $3: $4",
	"logentry-suppress-event-legacy": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$2 l'hà cambiad}} fogn la visibilità del register di aveniment de $3",
	"logentry-suppress-revision-legacy": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$a l'hà cambiad}} fogn la visibilità di revision de la pagina $3",
	"revdelete-content-hid": "Contegnud scondud",
	"revdelete-summary-hid": "sunt de la modifega scondud",
	"revdelete-uname-hid": "nom d'utent scondud",
	"revdelete-content-unhid": "contegnud desquatad",
	"revdelete-summary-unhid": "sunt di modifeghe desquatad",
	"revdelete-uname-unhid": "nom de l'utent desquatad",
	"revdelete-restricted": "vincol ativad doma per i minestrador",
	"revdelete-unrestricted": "vincol tolt via ai minestrador",
	"logentry-block-block": "{{GENDER:$2|El $1  ha blocad|La $2 l'ha blocad}} {{GENDER:$4|$3}} cont una scadenza de $5 $6",
	"logentry-block-unblock": "{{GENDER:$2|El $1  ha deblocad|La $1 l'ha desblocad| $1 l'hà desblocad}} {{GENDER:$4|el $3|la $3| $3}}",
	"logentry-block-reblock": "{{GENDER:$2|El $1  ha cambiad|La $2 l'ha cambiad}} i impostazzion de bloch per {{GENDER:$4|el $3|la $3}} cont una scadenza de $5 $6",
	"logentry-partialblock-block-page": "{{PLURAL:$1|articol|articoi}} $2",
	"logentry-partialblock-block-ns": "{{PLURAL:$1|el spazzi di nom|i spazzi di nom}} $2",
	"logentry-partialblock-block-action": "{{PLURAL:$1|l'azzion|i azzion}} $2",
	"logentry-partialblock-block": "{{GENDER:$2|El $1  l'ha blocad|La $1 l'ha blocad}} {{GENDER:$4|el $3|la $3}} in quant a $7 cont una scadenza de $5 $6",
	"logentry-partialblock-reblock": "{{GENDER:$2|El $1  l'ha cambiad|La $1 l'ha cambiad|$1 l'ha cambiad}} i impostazzion de bloch per  {{GENDER:$4|el $3|la $3|$3}} cont el blocà $7 cont una scadenza de $5 $6",
	"logentry-non-editing-block-block": "{{GENDER:$2|El $1  l'ha blocad|La $1 l'ha blocad}} {{GENDER:$4|el $3|la $3}} quant a di azzion specifegad minga de modifega cont una scandenza de $5 $6",
	"logentry-non-editing-block-reblock": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$1 l'hà cambiad}} i impostazzion de bloch per {{GENDER:$4|el $3|la $3|$3}} quant a di azzion specifegad minga de modifega cont una scandenza de $5 $6",
	"logentry-suppress-block": "{{GENDER:$2|El $1 l'ha blocad|La $1 l'ha blocad}} i impostazzion de bloch per {{GENDER:$4|el $3|la $3}} cont una scandenza de $5 $6",
	"logentry-suppress-reblock": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad}} i impostazzion de bloch per {{GENDER:$4|el $3|la $3}} cont una scandenza de $5 $6",
	"logentry-import-upload": "{{GENDER:$2|El $1 l'ha importad|La $1 l'ha importad|$1 l'hà importad}} $3 cont el caregà di fail",
	"logentry-import-upload-details": "{{GENDER:$2|El $1 l'ha importad|La $1 l'ha importad|$1 l'hà importad}} $3 cont el caregà di fail ($4 {{PLURAL:$4|version}})",
	"logentry-import-interwiki": "{{GENDER:$2|El $1 l'ha importad|La $1 l'ha importad}} $3 d'un'altra wiki",
	"logentry-import-interwiki-details": "{{GENDER:$2|El $1 l'ha importad|La $1 l'ha importad}} $3 da $5($4 {{PLURAL:$4|version}})",
	"logentry-merge-merge": "{{GENDER:$2|El $1 l'ha miss insema|La $1 l'ha miss insema|$2 l'hà miss insema}} $3 da $5($4 {{PLURAL:$4|version}})",
	"logentry-move-move": "{{GENDER:$2|El $1 l'ha trasformad|La $1 l'ha trasformad|$1 l'ha trasformad}} la pagina \"$3\" in \"$4\"",
	"logentry-move-move-noredirect": "{{GENDER:$2|El $1 l'ha trasformad|La $1 l'ha trasformad|$1 l'hà trasformad}} la pagina \"$3\" in \"$4\" senza lassà una redirezzion.",
	"logentry-move-move_redir": "{{GENDER:$2|El $1 l'ha trasformad|La $1 l'ha trasformad|$1 l'ha trasformad}} la pagina \"$3\" in \"$4\" cont una redirezzion che la mena de ̯\"$3\" a \"$4\"",
	"logentry-move-move_redir-noredirect": "{{GENDER:$2|El $1 l'ha trasformad|La $1 l'ha trasformad|$1 l'hà trasformad}} la pagina $3 in $4 inscambi de una redirezzion e senza lassà 'na redirezzion",
	"logentry-patrol-patrol": "{{GENDER:$2|El $1 l'ha marcad|La $1 l'ha marcad|$1 l'hà marcad}} la version $4 de la pagina $3 come verifegada.",
	"logentry-patrol-patrol-auto": "{{GENDER:$2|El $1 l'ha marcad|La $1 l'ha marcad|$1 l'ha marcad}} in automatich la version \"$4\" de la pagina $3 come verificade",
	"logentry-newusers-newusers": "El cunt de l'utent $1 a l'è stad {{GENDER:$2|cread}}",
	"logentry-newusers-create": "El cunt de l'utent $1 a l'è stad {{GENDER:$2|cread}}",
	"logentry-newusers-create2": "El cunt de l'utent $3 {{GENDER:$2|a l'é stad cread}} de $1",
	"logentry-newusers-byemail": "El cont de l'utent $3 a l'é {{GENDER:$2|stad cread}} da $1 e la ciaf l'è stada mandada per posta eletronica.",
	"logentry-newusers-autocreate": "El cunt de l'utent $1 l'è stad {{GENDER:$2|cread}} in manera automatica",
	"logentry-protect-move_prot": "$1 {{GENDER:$2|ha modifegad}} i impostazzion de protezzion da $4 a $3",
	"logentry-protect-unprotect": "{{GENDER:$2|El $1 el|La $1 la|$1 el/la}} gh'ha tolt via la protezzion a $3",
	"logentry-protect-protect": "{{GENDER:$2|El $1 l'ha protesgiud|La $1 l'ha protesgiud}} $3 $4",
	"logentry-protect-protect-cascade": "{{GENDER:$2|El $1 l'ha protesgiud|La $1 l'ha protesgiud|$1 l'hà protesgiud}} $3 $4 [protezzion a cascada]",
	"logentry-protect-modify": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad}} i impostazzion de protezzion per $3 $4",
	"logentry-protect-modify-cascade": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad|$2 l'hà cambiad}} i impostazzion de protezzion per $3 $4 [protezzion a cascada]",
	"logentry-rights-rights": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad| $1 l'hà cambiad}} l'aderenza {{GENDER:$6|del $3|de la $3|de $3}} del grup $4 al grup $5",
	"logentry-rights-rights-legacy": "{{GENDER:$2|El $1 l'ha cambiad|La $1 l'ha cambiad}} l'aderenza a di grup de $3",
	"logentry-rights-autopromote": "{{GENDER:$2|El $1 l'è stad promoss|La $1 l'è stada promossa|$1 l'è stad promoss}} in automatich de $4 a $5",
	"logentry-upload-upload": "{{GENDER:$2|El $1 l'hà caregad|La $1 l'hà caregad| $1 l'hà caregad}} $3",
	"logentry-upload-overwrite": "{{GENDER:$2|El $1 l'hà caregad|La $1 l'hà caregad|$1 l'hà caregad}} una version noeuva de $3",
	"logentry-upload-revert": "{{GENDER:$2|El $1 l'ha roversad|La $1 l'ha roversad|$1 l'hà roversad}} $3 a una version indree",
	"log-name-managetags": "Manegg di etichete",
	"log-description-managetags": "Questa pagina chì la fà la lista di azzion de gestion relative ai [[Special:Tags|etichete]]. El register el gh'hà dent doma i azzion fade a man d'un minestrador; i etichete i podarissen vesser creade o scancelade del programa wiki senza che la vegna registrada una vos in del register.",
	"logentry-managetags-create": "{{GENDER:$2|El $1 l'ha cread|La $1 l'ha cread}} l'eticheta \"$4\"",
	"logentry-managetags-delete": "{{GENDER:$2|El $1 l'ha scancelad|La $1 l'ha scancelad}} l'eticheta \"$4\" (tolta via de $5 {{PLURAL:$5|version o vos di register|version e/o vos di register}})",
	"logentry-managetags-activate": "{{GENDER:$2|El $1 l'ha ativad|La $1 l'ha ativad|$1 l'hà ativad}} l'eticheta \"$4\" per l'utilizzazion de utente e bot",
	"logentry-managetags-deactivate": "{{GENDER:$2|El $1 l'ha desativad|La $1 l'ha desativad}}  l'eticheta \"$4\" per l'utilizzazion de utent e bot",
	"log-name-tag": "Register di etichete",
	"log-description-tag": "Questa pagina chì la fà vedè quand che i utent sgionten o toeuven via i [[Special:Tags|etichete]] de 'na quai version o vos de register. El register el fà no la lista di azzion cont i quai i etichete i vegnen tacade su per mezz  d'una modifega, una scancelazzion o un'altra azzion compagna.",
	"logentry-tag-update-add-revision": "{{GENDER:$2|El $1 l'ha sgiontad|La $1 l'ha sgiontad}}  {{PLURAL:$7|l'eticheta|i etichete}} $6 a la version $4 de la pagina $3",
	"logentry-tag-update-add-logentry": "{{GENDER:$2|El $1 l'ha sgiontad|La $1 l'ha sgiontad|$1 l'hà sgiontad}}  {{PLURAL:$7|l'eticheta|i etichete}} $6 a la vos di register $5 de la pagina $3",
	"logentry-tag-update-remove-revision": "{{GENDER:$2|El $1 |La $1|$1}} l'ha tolt via {{PLURAL:$9|l'eticheta|i etichete}} $8 da la versione $4 de la pagina $3",
	"logentry-tag-update-remove-logentry": "{{GENDER:$2|El $1 l'ha stolt via|La $1 l'ha tolt via|$1 l'hà tolt via}}  {{PLURAL:$9|l'eticheta|i etichete}} $8 da la vos de register $5 de la pagina $3",
	"logentry-tag-update-revision": "{{GENDER:$2|El $1 l'ha asgiornad|La $1 l'ha asgiornad||$1 l'hà asgiornad}}  i etichete de la version $4 de la pagina $3 ({{PLURAL:$7|sgiontada|sgiontade}} $6; {{PLURAL:$9|tolta via|tolte via}} $8)",
	"logentry-tag-update-logentry": "{{GENDER:$2|El $1 l'ha asgiornad|La $1 l'ha asgiornad||$1 l'hà asgiornad}}  i etichete de la vos de register $5 de pagina $3 ({{PLURAL:$7|sgiontada|sgiontade}} $6; {{PLURAL:$9|tolta via|tolte via}} $8)",
	"rightsnone": "(nissun)",
	"rightslogentry-temporary-group": "$1 (provisori, fina a $2)",
	"feedback-cancel": "Anulla",
	"feedback-close": "Fad",
	"feedback-external-bug-report-button": "Documenta un catif fonzionament",
	"feedback-dialog-title": "Spediss un coment",
	"feedback-dialog-intro": "Dopra el modol chì de sota per spedì el to coment. El to coment el comparirà in la pagina \"$1\", insema al to nom d'utent.",
	"feedback-error1": "Eror: Risultad de l'API minga reconossud",
	"feedback-error4": "Eror: Impossibil met foeura el tìtol del to coment",
	"feedback-message": "Messaggː",
	"feedback-subject": "Soget:",
	"feedback-submit": "Spediss",
	"feedback-terms": "Hoo capid che i me informazzion sora el me agent d'utent contegnen di informazzion sora el me programa de navigazzion che vegnarann condivise publicament insema ai me coment",
	"feedback-termsofuse": "Son d'acord de fornì di coment second conforma ai Condizzion de Utilizazzion",
	"feedback-thanks": "Grazieǃ El to coment l'è stad miss foeura a la pagina \"[$2 $1]\".",
	"feedback-thanks-title": "Grazieǃ",
	"feedback-useragent": "Agent d'utentː",
	"searchsuggest-search": "Cerca in {{SITENAME}}",
	"searchsuggest-containing": "Cerca in di pagine che gh'hann denter",
	"search-match-redirect-label": "Redirezzion a la corispondenza precisa in del cors de la ricerca",
	"search-match-redirect-help": "Scerniss foeura quel'opzzione chì per vesser rimandad/rimandada  a una pagina quand che 'l titol de la pagina l'è l'istess de quell che t'hee cercad.",
	"api-clientside-error-noconnect": "Impossibil conetess al server. Verifica de avegh una conession a internet che la vaga e prova anmò.",
	"api-clientside-error-http": "El server l'hà dad indree quell eror chì: HTTP $1.",
	"api-clientside-error-timeout": "El server la minga rispondud denter in del temp previst.",
	"api-clientside-error-aborted": "la richiesta l'è stada anulada.",
	"api-clientside-error-invalidresponse": "Risposta minga valida del server.",
	"api-error-badtoken": "Eror interno: token minga bon.",
	"api-error-emptypage": "A creà di pagine noeuve voeuje l'è minmga permettud.",
	"api-error-publishfailed": "Eror internoː el server l'hà fallad in del publicà el fail provisori.",
	"api-error-stashfailed": "Eror internoː el server l'hà fallad in del memorizzà on fail provisori.",
	"api-error-unknown-warning": "Avertiment minga conossud: \"$1\".",
	"api-error-unknownerror": "Eror conossud de nissun: \"$1\".",
	"rotate-comment": "Imagin girada de $1 {{PLURAL:$1|grado|gradi}} in sens orari",
	"limitreport-title": "Dati de la determinazzion del profil de parserː",
	"limitreport-cputime": "Temp de utilizazzion de la CPU",
	"limitreport-cputime-value": "$1 {{PLURAL:$1|segond}}",
	"limitreport-walltime": "Temp de utilizazzion real",
	"limitreport-walltime-value": "$1 {{PLURAL:$1|segond}}",
	"limitreport-ppvisitednodes": "Cuntensg di noeud del proprocessor visitad",
	"limitreport-postexpandincludesize": "Grandezza di inclusion dopo de l'espansion",
	"limitreport-postexpandincludesize-value": "$1/$2 {{PLURAL:$2|bait}}",
	"limitreport-templateargumentsize": "Grandezza di parametri del modell",
	"limitreport-templateargumentsize-value": "$1/$2 {{PLURAL:$2|bait}}",
	"limitreport-expansiondepth": "Profondità de espansion massima",
	"limitreport-expensivefunctioncount": "Cuntensg di fonzion parser sposose",
	"limitreport-unstrip-depth": "Profondità de ripetizzion de Unstrip",
	"limitreport-unstrip-size": "Grandezza de Unstrip dopo de l'espansion",
	"limitreport-unstrip-size-value": "$1/$2 {{PLURAL:$2|bait}}",
	"expandtemplates": "Slarga foeura i modei",
	"expand_templates_intro": "Questa pagina special chì a la rapresenta a un wikitest e la slarga foeura tucc i modei che gh'è.\nDessorapù, la calcola el risultad di fonzion suportade del parser come\n<code><nowiki>{{</nowiki>#language:…}}</code> e de variabil de sistema compagne de\n<code><nowiki>{{</nowiki>CURRENTDAY}}</code>, per dì in pratega quell che gh'è infra i parentesi sgraffe.",
	"expand_templates_title": "Titol del contest (per {{FULLPAGENAME}} ecc.):",
	"expand_templates_input": "Wikitest de slargà foeura",
	"expand_templates_output": "Risultad",
	"expand_templates_xml_output": "Dati in dortida XML",
	"expand_templates_html_output": "Risultad HTML sgresg",
	"expand_templates_ok": "OK",
	"expand_templates_remove_comments": "Toeu via i coment",
	"expand_templates_remove_nowiki": "Toeu via l'eticheta <nowiki> in del risultad",
	"expand_templates_generate_xml": "Mostra l'alber de la sintassi XML",
	"expand_templates_generate_rawhtml": "Mostra HTML sgresg",
	"expand_templates_preview": "Veduda antecipada",
	"expand_templates_preview_fail_html": "<em>Desgià che {{SITENAME}} el gh'hà de l''HTML sgresg ativad e gh'è stada una perdita dei dati de la session, la previsualizazzion l'è sconduda come prevenzzion contra di atach JavaScript.</em>\n\n<strong>Se l'è un tentativ legitim de vardà l'aticipazzion, proeuva an'mò.</strong> \nSe el problema el persist, te podet tentà de [[Special:UserLogout|desconligass]] e andà dent an'mò, e controllà che 'l to programa de navigazzion l'aceti i cochi de quell sit chì.",
	"expand_templates_preview_fail_html_anon": "<em>Desgià che {{SITENAME}} el gh'hà de l''HTML sgresg ativad e gh'è stada una perdita dei dati de la session, la previsualizazzion l'è sconduda come prevenzzion contra di atach JavaScript.</em>\n\n<strong>Se l'è un tentativ legitim de vardà la veduda antecipada, [[Special:UserLogin|va dent]] e prova anmò.</strong>",
	"expand_templates_input_missing": "Te gh'hee de met dent on zich de wikitest",
	"pagelanguage": "Cambia la lengua de la pagina",
	"pagelang-name": "Pagina",
	"pagelang-language": "Lengua",
	"pagelang-use-default": "Dovra la lengua predefinida",
	"pagelang-select-lang": "Scerniss foeura 'na lengua",
	"pagelang-reason": "Reson",
	"pagelang-submit": "Invia",
	"pagelang-nonexistent-page": "La pagina $1 a l'esist minga.",
	"pagelang-unchanged-language": "La pagina $1 a l'è sgaimò impostata per la lengua $2.",
	"pagelang-unchanged-language-default": "La pagina $1 a l'è sgiamò impostada con la lengua del contegnud predefinid de la wiki.",
	"pagelang-db-failed": "El databeis l'è stad minga bon de cambià la lengua de la pagina.",
	"right-pagelang": "Cambia la lengua de la pagina",
	"action-pagelang": "el cambia la lengua de la pagina",
	"log-name-pagelang": "register di cambiament de la lengua",
	"log-description-pagelang": "Chesschì l'è un register di cambiament a la lengua di pagine.",
	"logentry-pagelang-pagelang": " {{GENDER:$2|el $1|la $1|$1}} l'hà cambià la lengua de $3 de $4 a $5",
	"default-skin-not-found": "Oops! Il tema predefinid per el to wiki, definid in <code dir=\"ltr\">$wgDefaultSkin</code> come <code>$1</code>, a l'è minga disponibil.\n\nEl par che la tua instalazzione l'includa {{PLURAL:$4|quell tema chì|sti tema chì}}. Varda [https://www.mediawiki.org/wiki/Manual:Skin_configuration Manuale: configurazione tema] per informazzion sora come {{PLURAL:$4|ativai|ativai e scernì foeura quell predefinid}}.\n\n$2\n\n; Semai che t'hee apena installad MediaWiki:\n: Facilment te l'heet installad de git, o diretament del codes sorgent in 'na quai altra manera. A l'era prevedud. Prova a installà un quai tema de la [https://www.mediawiki.org/wiki/Category:All_skins directory su mediawiki.org], per mezz de:\n:* Cont el descaregà el [https://www.mediawiki.org/wiki/Special:MyLanguage/Download programma di installazione tarball], che 'l ven fornid in diversi tema e estension. Te podet fà copia incolla del diretori <code dir=\"ltr\">skins/</code> da lì.\n:* Cont el scaregà i tarball de ciaschedun tema de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:* [https://www.mediawiki.org/wiki/Special:MyLanguage/Download_from_Git#Using_Git_to_download_MediaWiki_skins Cont el dovrà Git per descaregà i tema].\n: In quela manera chì l'è facil che 'l farà minga interferenza cont el to deposit git se te see un svilupador MediaWiki.\n\n; Semai che t'heet apena asgiordad MediaWiki:\n: MediaWiki 1.24 e i version adree no ativen pu in automatich i tema instalad (varda [https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery Manuale: rilevament automatich di tema]). te podet copià {{PLURAL:$5|quela linea chì|sti linei chì}} in del <code>LocalSettings.php</code> per ativà {{PLURAL:$5|el tema instalad|tut i tema instalad}}:\n\n<pre dir=\"ltr\">$3</pre>\n\n; Se t'hee apena modificad <code>LocalSettings.php</code>:\n: Controla anmò i nom di tema per eror de batuda.",
	"default-skin-not-found-no-skins": "Oops! Il tema predefinid per el to wiki, definid in <code dir=\"ltr\">$wgDefaultSkin</code> come <code>$1</code>, a l'è minga disponibil.\n\n Te gh'hee instalad nissun tema.\n\n\n; Semai che t'hee apena installad o asgiornad MediaWiki:\n: Facilment te l'heet installad de git, o diretament del codes sorgent in 'na quai altra manera. A l'era prevedud. Prova a installà un quai tema de la [https://www.mediawiki.org/wiki/Category:All_skins directory su mediawiki.org], per mezz de:\n:* Cont el descaregà el [https://www.mediawiki.org/wiki/Special:MyLanguage/Download programma di installazione tarball], che 'l ven fornid in diversi tema e estension. Te podet fà copia incolla del diretori <code dir=\"ltr\">skins/</code> da lì.\n:* Cont el scaregà i tarball de ciaschedun tema de [https://www.mediawiki.org/wiki/Special:SkinDistributor mediawiki.org].\n:̽*\n[https://www.mediawiki.org/wiki/Special:MyLanguage/Download_from_Git#Using_Git_to_download_MediaWiki_skins Cont el dovrà Git per descaregà i tema].\n: In quella manera chì l'è facil che 'l farà minga interferenza cont el to deposit git se te see un svilupador MediaWiki. varda [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Skin_configuration Manual: Skin configuration] per informazzion cora come ativà i tempa e scernì quell predefinid.",
	"default-skin-not-found-row-enabled": "* <code>$1</code> / $2 (ativad)",
	"default-skin-not-found-row-disabled": "* <code>$1</code> / $2 (<strong>disativad</strong>)",
	"mediastatistics": "Statisteghe sora i fail audio/video",
	"mediastatistics-summary": "Stitisteghe sora tucc i tipi de fail caregad. A inn comprese doma in la version pussee recenta d'un fail. I version vegge o scancelade a inn tajade foeura.",
	"mediastatistics-nbytes": "{{PLURAL:$1|$1 bait}} ($2; $3%)",
	"mediastatistics-bytespertype": "Grandezza total per questa sezzion chì de {{PLURAL:$4|$4 del fail|$4 di fail}} ($5%): {{PLURAL:$1|$1 baitt}} ($2; $3%).",
	"mediastatistics-allbytes": "Grandezza total {{PLURAL:$3|per $3 fail|per tucc i $3 fail}}: {{PLURAL:$1|$1 bait}} ($2).",
	"mediastatistics-table-mimetype": "Tipo MIME",
	"mediastatistics-table-extensions": "Estension possibil",
	"mediastatistics-table-count": "Numer de fail",
	"mediastatistics-table-totalbytes": "Grandezza combinada",
	"mediastatistics-header-unknown": "Conossud de nissun",
	"mediastatistics-header-bitmap": "Imagin botmap",
	"mediastatistics-header-drawing": "Disegn (imagin vetoriai)",
	"mediastatistics-header-audio": "Audio",
	"mediastatistics-header-video": "Video",
	"mediastatistics-header-multimedia": "Contegnud audio e video",
	"mediastatistics-header-office": "Ofizzi",
	"mediastatistics-header-text": "Testual",
	"mediastatistics-header-executable": "Fail eseguibil",
	"mediastatistics-header-archive": "Formad compress",
	"mediastatistics-header-total": "Tucc i fail",
	"json-warn-trailing-comma": "$1 {{PLURAL:$1|virgola a la fenitiva l'è stada minga tolta via|virgole a la fenitiva a inn stade minga tolte via}} del JSON",
	"json-error-unknown": "A l'è sucedud un problema cont el  JSON. Eror: $1",
	"json-error-depth": "La profondità massima de la quantità l'è stada sorpassada",
	"json-error-state-mismatch": "JSON minga valid o mal-formad",
	"json-error-ctrl-char": "Eror in del carater de control, forsi eror in del codes",
	"json-error-syntax": "Eror de sintassi",
	"json-error-utf8": "Carater UTF-8 minga valid, magara eror in del codes",
	"json-error-invalid-property-name": "El nom de la propietà descodificad a l'è minga bon",
	"json-error-utf16": "Carater UTF-16 mimga valid, magara eror in del codes",
	"headline-anchor-title": "Conligament a questa sezzion chì",
	"special-tab-contribute-short": "Contribuzzion",
	"special-tab-contributions-short": "Varda i contribuzzin",
	"special-characters-group-latin": "Latin",
	"special-characters-group-latinextended": "Latin estes",
	"special-characters-group-ipa": "IPA",
	"special-characters-group-symbols": "Simboi",
	"special-characters-group-greek": "Grech",
	"special-characters-group-greekextended": "Grech estes",
	"special-characters-group-cyrillic": "Cirillich",
	"special-characters-group-arabic": "Arabo",
	"special-characters-group-arabicextended": "Arabo estes",
	"special-characters-group-persian": "Persian",
	"special-characters-group-hebrew": "Ebraich",
	"special-characters-group-bangla": "Bengales",
	"special-characters-group-tamil": "Tamil",
	"special-characters-group-telugu": "Telugu",
	"special-characters-group-sinhala": "Singales",
	"special-characters-group-gujarati": "Gujarati",
	"special-characters-group-devanagari": "Devanagari",
	"special-characters-group-thai": "Thailandes",
	"special-characters-group-lao": "Laotian",
	"special-characters-group-khmer": "Khmer",
	"special-characters-group-canadianaboriginal": "Canades Barber",
	"special-characters-group-runes": "Runes",
	"special-characters-title-endash": "tratin enna",
	"special-characters-title-emdash": "tratin emma",
	"special-characters-title-minus": "segn men",
	"mw-widgets-abandonedit": "Te see sicur de lassà perder i modifiche senza prima publicai?",
	"mw-widgets-abandonedit-discard": "Lassa perder i modifeghe",
	"mw-widgets-abandonedit-keep": "Va inanz a modifegà",
	"mw-widgets-abandonedit-title": "Te see sicur?",
	"mw-widgets-copytextlayout-copy-fail": "Copia in di apunt minga riessida.",
	"mw-widgets-copytextlayout-copy-success": "Copia in di apunt.",
	"mw-widgets-dateinput-no-date": "Nissuna data scernida foeura",
	"mw-widgets-mediasearch-input-placeholder": "Cerca di fail audiovisiv",
	"mw-widgets-mediasearch-recent-uploads": "{{GENDER:$1|I to}} caregament recent",
	"mw-widgets-mediasearch-noresults": "Nissun risultad trovad.",
	"mw-widgets-mediasearch-results-aria-label": "Risultad de la ricerca de fail audio e video",
	"mw-widgets-table-row-delete": "Scancella riga",
	"mw-widgets-titleinput-description-new-page": "La pagina l'esist nananmò",
	"mw-widgets-titleinput-description-redirect": "redirezzion a $1",
	"mw-widgets-categoryselector-add-category-placeholder": "Sgionta una categoria...",
	"mw-widgets-usersmultiselect-placeholder": "Sgionta an'mò...",
	"mw-widgets-tagmultiselect-placeholder": "Sgióntenn ancamò....",
	"mw-widgets-titlesmultiselect-placeholder": "Sgionta an'mò...",
	"date-range-from": "De la dataː",
	"date-range-to": "A la dataː",
	"sessionmanager-tie": "A se po minga combinà diversi tipi de richieste de autenticazzion: $1.",
	"sessionprovider-generic": "session $1",
	"sessionprovider-mediawiki-session-cookiesessionprovider": "session fondade sora i cochi",
	"sessionprovider-nocookies": "I coki poden vesser disativad. Sicuress de avegh i coki ativad e comenza de noeuv.",
	"randomrootpage": "Pagina radis a cas",
	"log-action-filter-block": "Tipo de bloch:",
	"log-action-filter-contentmodel": "Tipo de modifega del modell de contegnud:",
	"log-action-filter-delete": "Tipo de scancelazzionː",
	"log-action-filter-import": "Tipo de importazzionː",
	"log-action-filter-managetags": "Tipo de azzion de gestion de l'etichetaː",
	"log-action-filter-move": "Tipo de spostamentː",
	"log-action-filter-newusers": "Tipo de creazzion d'un cuntː",
	"log-action-filter-patrol": "Tipo de verificaː",
	"log-action-filter-protect": "Tipo de protezzionː",
	"log-action-filter-rights": "Tipo de modifega di diritː",
	"log-action-filter-suppress": "Tipo de sopressionː",
	"log-action-filter-upload": "Tipo de caregamentː",
	"log-action-filter-all": "Tucc",
	"log-action-filter-block-block": "Bloch",
	"log-action-filter-block-reblock": "Modifica del bloch",
	"log-action-filter-block-unblock": "Sbloch",
	"log-action-filter-contentmodel-change": "Cambia el modell de contegnud",
	"log-action-filter-contentmodel-new": "Creazzin de la pagina cont un model de contegnud minga predefinid",
	"log-action-filter-delete-delete": "Scancelament de la pagina",
	"log-action-filter-delete-delete_redir": "Sora-scritura de una redirezzion",
	"log-action-filter-delete-delete_redir2": "Sora-scritura de una redirezzion",
	"log-action-filter-delete-restore": "El fà tornà la pagina 'me che l'era",
	"log-action-filter-delete-event": "Scancellament del register",
	"log-action-filter-delete-revision": "Scncelament de la version",
	"log-action-filter-import-interwiki": "Importazzion transwiki",
	"log-action-filter-import-upload": "importazzion de XML caregad",
	"log-action-filter-managetags-create": "Creazzion de eticheta",
	"log-action-filter-managetags-delete": "Scancelament de eticheta",
	"log-action-filter-managetags-activate": "Ativazzion de l'eticheta",
	"log-action-filter-managetags-deactivate": "Desativazzion de l'eticheta",
	"log-action-filter-move-move": "Spostà senza sorascriver i redirezzion",
	"log-action-filter-move-move_redir": "Spostament sora-scrivend i redirezzion",
	"log-action-filter-newusers-create": "Creazzion fada d'un utent anonim",
	"log-action-filter-newusers-create2": "Creazzion fada d'un utent minga registrad",
	"log-action-filter-newusers-autocreate": "Creazzion in automatich",
	"log-action-filter-newusers-byemail": "Creazzion con password mandada con la posta eletronica",
	"log-action-filter-patrol-patrol": "Verifica manual",
	"log-action-filter-patrol-autopatrol": "Verifica automatica",
	"log-action-filter-protect-protect": "Protezzion",
	"log-action-filter-protect-modify": "Modifica la protezzion",
	"log-action-filter-protect-unprotect": "Desprotezzion",
	"log-action-filter-protect-move_prot": "Protezzion spostada",
	"log-action-filter-rights-rights": "Modifega manual",
	"log-action-filter-rights-autopromote": "Modifega automatega",
	"log-action-filter-suppress-event": "Sopression del register",
	"log-action-filter-suppress-revision": "Sopression de la version",
	"log-action-filter-suppress-delete": "Sopression de la pagina",
	"log-action-filter-suppress-block": "Sopression d'un utent per mezz del bloch",
	"log-action-filter-suppress-reblock": "Sopression d'un utent per mezz de ri-bloch",
	"log-action-filter-upload-upload": "Caregament noeuv",
	"log-action-filter-upload-overwrite": "Ri-caregament",
	"log-action-filter-upload-revert": "Torna 'me che l'era inanz",
	"authmanager-authn-not-in-progress": "L'autenticazion a l'è minga dree a seguità o i dati de la session a inn andad perdud. Comenza anmò del prenzippi.",
	"authmanager-authn-no-primary": "I credenziai fornide poden vesser minga autenticade.",
	"authmanager-authn-no-local-user": "Le credenziai fornide no a inn associade a nissun utent wiki.",
	"authmanager-authn-no-local-user-link": "I credenziai fornide a inn valide ma on inn associade a nissun utent de questa wiki chì. va denter in d'un'altra manera o crea un'utenza noeuva, e te gh'avaret un'opzzion per conligà i to credenziai precedentea quel'utenza là.",
	"authmanager-authn-autocreate-failed": "Creazzion automatica d'un'utenza local fallada: $1",
	"authmanager-change-not-supported": "I credenziai fornide poden minga versser modifegade, dato che nagot je dovrariss.",
	"authmanager-create-disabled": "La creazzion de utenze l'è disativada.",
	"authmanager-create-from-login": "Per creà la toa utenza, per piesè completa i camp.",
	"authmanager-create-not-in-progress": "La creazzion del cunt a l'è minga dree a seguità o i dati de la session a inn andad perdud. Comenza anmò del prenzippi.",
	"authmanager-create-no-primary": "I credenziai fornide i poden minga vesser drovate per la creazzion de l'utenza.",
	"authmanager-link-no-primary": "I credenziai fornide i poden minga vesser dovrade per el conligament de l'utenza.",
	"authmanager-link-not-in-progress": "El conligament del cunt del cunt a l'è minga dree a seguità o i dati de la session a inn andad perdud. Comenza anmò del prenzippi.",
	"authmanager-autocreate-noperm": "La creazzion del cunt l'è minga permetuda.",
	"authmanager-autocreate-exception": "La creazzion automatica del cunt l'è temporanemanet disativada per via de eror precedent.",
	"authmanager-userdoesnotexist": "El cunt de l'utent \"$1\" l'è minga registrad.",
	"authmanager-userlogin-remembermypassword-help": "Qualora che la parola ciav la gh'abia de vesser ricordada pussee in longh rispet a la durada de la session.",
	"authmanager-username-help": "Nom de l'utent de l'autenticazzion",
	"authmanager-password-help": "Parolla ciav per l'autenticazzion",
	"authmanager-domain-help": "Domini per l'autenticazzion de foeura.",
	"authmanager-retype-help": "Scrìv an'mò la parolla ciav per confermà.",
	"authmanager-email-label": "Posta eletronica",
	"authmanager-email-help": "Adress de posta eletronica",
	"authmanager-realname-label": "Nom ver",
	"authmanager-realname-help": "Nom ver de l'utent",
	"authmanager-provider-password": "Autenticazzion per mez d'una parolla ciav",
	"authmanager-provider-password-domain": "Autenticazzion fondada sora el domini o la parola ciav",
	"authmanager-provider-temporarypassword": "Parolla ciav provisoria",
	"authprovider-confirmlink-message": "Second i temtativ recent de andà det el sistema, 'sti cunt chì i poden vesser conligad al to cunt wiki. Se t'ai conlighet te podet andà dent cont el doprai. Scerniss foeura quei che i gh'avarissen de vesser conligade.",
	"authprovider-confirmlink-request-label": "Cunt che gh'avarissen de vesser conligad",
	"authprovider-confirmlink-success-line": "$1: conligad con success.",
	"authprovider-confirmlink-failed": "El conligament de l'utenza l'è minga riessid del tut: $1",
	"authprovider-confirmlink-ok-help": "Va adree dopo che t'hee vist i messagg de eror de conligament.",
	"authprovider-resetpass-skip-label": "Salta",
	"authprovider-resetpass-skip-help": "Salta la rimpostazzion de la parolla ciav.",
	"authform-nosession-login": "L'autenticazzion l'è andada ben, ma el to programa de navigazzion el \"se regorda minga\" che ti te see conligad.\n\n$1",
	"authform-nosession-signup": "El to cunt l'è stad cread, ma el to programa de navigazzion el \"se regorda minga\" che ti te see conligad.\n\n$1",
	"authform-newtoken": "Token mancant. $1",
	"authform-notoken": "Token mancant",
	"authform-wrongtoken": "Token sbagliad",
	"specialpage-securitylevel-not-allowed-title": "Minga permetud",
	"specialpage-securitylevel-not-allowed": "Ne rincress, te see minga autorizzad a drovà quella pagina chì perchè la toa identità la pò minga vesser verificada.",
	"authpage-cannot-login": "Impossibil comenzà el process de entrada.",
	"authpage-cannot-login-continue": "Impossibil andà dent. L'è facil che la toa session la sia scaduda",
	"authpage-cannot-create": "Impossibil comenzà la creazzion dl cunt.",
	"authpage-cannot-create-continue": "Impossibil andà adree a creà el cunt. La toa session l'è facil che la sia scaduda.",
	"authpage-cannot-link": "Impossibil dagh l'invaida a la creazzion del cunt.",
	"authpage-cannot-link-continue": "Impossibil andà adree a conligà l'utenza. La toa session l'è facil che la sia scaduda.",
	"cannotauth-not-allowed-title": "Permess negad",
	"cannotauth-not-allowed": "Te see minga autorizzad a doprà questa pagina chì",
	"changecredentials": "Cambia i credenziai",
	"changecredentials-submit": "Cambia i credenziai",
	"changecredentials-invalidsubpage": "$1 a l'è un tipo de credenzial minga bon.",
	"changecredentials-success": "I to credenziai a inn stade cambiade.",
	"removecredentials": "Toeu via i credenziai",
	"removecredentials-submit": "Toeu via i credenziai",
	"removecredentials-invalidsubpage": "$1 a l'è un tipo de credenzial minga bon.",
	"removecredentials-success": "I to credenziai a inn stade tolte via.",
	"credentialsform-provider": "Tipo de credenziaiː",
	"credentialsform-account": "Nom del cuntː",
	"cannotlink-no-provider-title": "A ghe n'è minga de cunt conligabil",
	"cannotlink-no-provider": "A ghe n'è minga de cunt conligabil.",
	"linkaccounts": "Conliga i cunt",
	"linkaccounts-success-text": "El cunt l'è stad conligad",
	"linkaccounts-submit": "Conliga i cunt",
	"cannotunlink-no-provider-title": "Ghe n'è minga de cont conligad de desconlingà",
	"cannotunlink-no-provider": "Ghe n'è minga de cunt conligad de desconligaà",
	"unlinkaccounts": "Desconliga i cunt",
	"unlinkaccounts-success": "El cunt l'è stad desconligad",
	"authenticationdatachange-ignored": "El cambiament di dati de autenticàss l'è stad minga gestid. Forsi l'è stad impostad nanca on fornidor de servizzi internet?",
	"userjsispublic": "Ricorda: i sot-pagine JavaScript i gh'hann de avegh minga dent di dati riservad desgià che poden vesser vardad di alter utent.",
	"userjsonispublic": "Ricorda: i sot-pagine JSON i gh'hann de avegh minga dent di dati riservad desgià che poden vesser vardad di alter utent.",
	"usercssispublic": "Ricorda: i sot-pagine CSS i gh'hann de avegh minga dent di dati riservad desgià che poden vesser vardad di alter utent.",
	"userjsdangerous": "Ten in cunt: i script compres in quella pagina chì i sarann eseguid tute i volte che te careghet 'na pagina. El codes malizios caregad chì l'è bon de fágh di dagn al cunt. El codes el eseguid quand che te vardaret la pagina provisoria inanz de salvala.",
	"restrictionsfield-badip": "Adress IP o grup de IP minga valid: $1",
	"restrictionsfield-label": "Grup de IP permetudː",
	"restrictionsfield-help": "Un adress IP o un interval CIDR per linea. Per permeter tuscoss, drova:<pre>0.0.0.0/0\n::/0</pre>",
	"specialmute": "Fà cittoǃ",
	"specialmute-success": "I robe che te preferisset che i faga citto. Varda tucc i utent che fann citto in [[Special:Preferences|i to preferenze]].",
	"specialmute-submit": "Conferma",
	"specialmute-label-mute-email": "Fa de manera i messagg de posta eletronica de {{GENDER:$1|quell utent chì}} i faghen citto.",
	"specialmute-header": "Cata foeura cosè che de l'utent <b>{{BIDI:[[User:$1|$1]]}}</b> che te voeulet che 'l faga cito.",
	"specialmute-error-invalid-user": "El nom de l'utent che t'hee crecad l'è stad minga trovad.",
	"specialmute-error-no-options": "I fonzzion de silenzi a inn minga disponibil. Forsi perchè t'hee minga confermad el to adress de posta eletronica, opur el minestrador e 'l podariss havè desativad la fonzion de silenzzi o la lista di adress de posta eletronica de meter a tasè in quela wiki chì.",
	"specialmute-email-footer": "Per manesgià i preferenze de posta eletronica de l'utent {{BIDI:$2}} visita <$1>.",
	"specialmute-login-required": "Và dent per cambià i to impostazzion sora el silenzzi.",
	"mute-preferences": "Preferenze sora el silenzzi",
	"revid": "version $1",
	"pageid": "ID de la pagina $1",
	"rawhtml-notallowed": "I etichete &lt;html&gt; i poden minga vesser drovate foeura di pagine normai.",
	"gotointerwiki": "Te seet in sul pont de andà via de {{SITENAME}}",
	"gotointerwiki-invalid": "El titol specifegad l'è minga valid.",
	"gotointerwiki-external": "te sset in sul pont de andà via de {{SITENAME}} per visità [[$2]], che l'è un sit web in deperlù.\n\n'''[$1 Va adree in su $1]'''",
	"undelete-cantedit": "Te podet nò fà tornà questa pagina chì 'me che l'era desgià che te gh'hee minga assee de permess de modifegà quella pagina chì.",
	"undelete-cantcreate": "Te podet minga fà tornà quella pagina chì 'me che l'era desgià che gh'è nissuna pagina con quel nom chì e ti te gh'hee minga el permess de creala.",
	"pagedata-title": "Dati de la pagina",
	"pagedata-text": "Sta pagina chi la ghe forniss ai pagine un'interfaccia-dati. Per piesè forniss el titol de la pagina in de l’URL dovrand la sintassi de quella sot-pagina chì.\n* La trattazzion del contegud l'è fondada sora l' intestazzion Accept del to client. Per dì che i dati de la pagina i sarann fornid in del formad preferid del to client.",
	"pagedata-not-acceptable": "Nissun formato corispondente trovad. Tipi MIME suportad: $1",
	"pagedata-bad-title": "Titol minga valid: $1.",
	"unregistered-user-config": "Per di reson de sicurezza, l'è minga possibil caregà di sot-pagine-utent JavaScript, CSS e JSON per i utent minga registrad.",
	"passwordpolicies": "Politeghe sora i parolle ciav",
	"passwordpolicies-summary": "Questa chì l'è una lista di politeghe in quant ai parolle ciav valide per i grup de utent definid in quell wiki chì.",
	"passwordpolicies-group": "Grup",
	"passwordpolicies-policies": "Politeghe",
	"passwordpolicies-policy-minimalpasswordlength": "La parola ciav la gh'hà de vesser longa almanch $1 {{PLURAL:$1|carater}}",
	"passwordpolicies-policy-minimumpasswordlengthtologin": "La parola ciav la gh'hà de vesser longa almanch $1 {{PLURAL:$1|carater}} per podè andà dent.",
	"passwordpolicies-policy-passwordcannotbesubstringinusername": "La parola ciav la gh'hà de avègh denter nò el nom de l'utent",
	"passwordpolicies-policy-passwordcannotmatchdefaults": "La parolla ciav la po minga vesser istessa de quei de la lista di parolle ciav predefinide.",
	"passwordpolicies-policy-maximalpasswordlength": "La parola 'dordin la gh'hà de vesser longa manch de $1 {{PLURAL:$1|carater}}",
	"passwordpolicies-policy-passwordnotincommonlist": "La parola ciav la gh'hà de vesser minga compresa in de la lista di 100 000 parole ciav pussee doprade.",
	"passwordpolicies-policyflag-forcechange": "la gh'hà de vesser cambiada al moment de l'entrada",
	"passwordpolicies-policyflag-suggestchangeonlogin": "sugerida modifega a l'andà dent",
	"mycustomjsredirectprotected": "Te gh'hee minga i permess che gh'è besogn per modifegà questa pagina JavaScript chì perchè l'è una redirezzion che la mena minga al to spazzi-utent.",
	"deflate-invaliddeflate": "El contegnud fornid l'è comprèss in manera minga giust",
	"unprotected-js": "Per di reson de sicurezza, a l'è minga possibil caregà JavaScript de pagine minga protesgiude. Crea javascript doma in del spazzi di nom MediaWiki o come sot-pagina-utent.",
	"userlogout-continue": "Te voeuret sortì devera?",
	"userlogout-temp": "Te see sicur che te voeulet andà foeura? Te podaree pu tornà dent col to cunt temporani.",
	"paramvalidator-baduser": "El valor \"$2\" minga valid per el parametro-utent <var>$1</var>.",
	"paramvalidator-help-type-user": "Tipo: {{PLURAL:$1|1=utent|2=lista de utent}}, {{PLURAL:$3|per mezz de|per mezz de quaivoeuna di}} $2",
	"paramvalidator-help-type-user-subtype-name": "nom de l'utent",
	"paramvalidator-help-type-user-subtype-ip": "IP",
	"paramvalidator-help-type-user-subtype-cidr": "Interval de IP",
	"paramvalidator-help-type-user-subtype-interwiki": "nom interwiki (prez. \"prefiss>NomPerEsempi\")",
	"paramvalidator-help-type-user-subtype-id": "ID de l'utent (per esempi \"#12345\")",
	"paramvalidator-badtitle": "Valor \"$2\" minga valid come parametro del titol <var>$1</var>: stringa del titol minga valida.",
	"paramvalidator-missingtitle": "Valor \"$2\" minga valid come parametro del titol <var>$1</var>: la pagina l'esist minga.",
	"paramvalidator-help-type-title": "Tipo: titol de la pagina",
	"paramvalidator-help-type-title-must-exist": "L'aceta doma di pagine ch'i esisten",
	"paramvalidator-help-type-title-no-must-exist": "L'aceta di pagine ch'i esisten minga",
	"nonmain-slot-differences-therefore-readonly": "A se po minga modifegà el wikitest in questa version chì de la pagina, desgià che in la pagina gh'è stad di cambiament ai dati dopo de la version medesima ch'a inn fondad minga sora 'l wikitest . [$1 Per tornà a 'me che l'era clica chichinscì.]",
	"config-missing-key": "A ghe cala on parameter de la configurazzion MediaWiki \"$1\"",
	"config-invalid-key": "Parameter de la configurazzion MediaWiki minga valid \"$1\": $2",
	"changeslist-nocomment": "Nissun riassont de la modifega",
	"skin-view-create-local": "Sgiontegh 'na descrizzion local",
	"nstab-mainpage": "Pagina principal",
	"skin-view-edit-local": "Cambia la descrizzion local",
	"skin-action-protect": "Protesg",
	"skin-action-undelete": "Recupera",
	"skin-action-delete": "Scancella",
	"skin-action-move": "Sposta",
	"newpages-showhide-bots": "$1 i bot",
	"newpages-showhide-patrolled": "$1 le modifeghe controllade",
	"newpages-showhide-redirect": "redirezzion $1",
	"newpages-showhide-registered": "$1 i utent registrad",
	"renameuserold": "Nom de l'utent de adessː",
	"renameusernew": "Nom de l'utent noeuvː",
	"renameuserreason": "Resonː",
	"logentry-renameuser-renameuser": "$1 {{GENDER:$2|a l'ha rinominad}} l'utent $4 ({{PLURAL:$6|$6 modifega|$6 modifeghe}}) come $5"
}
