From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9ACB5C021B8 for ; Tue, 4 Mar 2025 15:11:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 14C396B0082; Tue, 4 Mar 2025 10:11:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0FC426B0099; Tue, 4 Mar 2025 10:11:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EB7636B009A; Tue, 4 Mar 2025 10:11:07 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id CA6A66B0082 for ; Tue, 4 Mar 2025 10:11:07 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 341791601AF for ; Tue, 4 Mar 2025 15:11:07 +0000 (UTC) X-FDA: 83184206574.19.D3A6C9E Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf08.hostedemail.com (Postfix) with ESMTP id 5341B160024 for ; Tue, 4 Mar 2025 15:11:04 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="FtdXr/sb"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=O9OuXOL5; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="FtdXr/sb"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=O9OuXOL5; spf=pass (imf08.hostedemail.com: domain of hare@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=hare@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741101065; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=cX6k9psTnQCcVskkQ80w3Ui6nPJZVH+Jx2TP5xA1oDo=; b=gnDCqogiy1RC1gtpvnMXxFjU4w0p5sYs84VrmrJ/0MSDl3Kp1WE/FigKnq6G8pSICaY5GP Xm9j8V5mlCj87cNruRxEaKpgPcPlqYZRoZEM5zfHNczrt+eWNssXTANqzan/MFPmFrE8Xj oWxBV73dmxdNbWw7MR9aMTjVZDt9v9Y= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741101065; a=rsa-sha256; cv=none; b=Bcf4p2d2gNBLgxlVpw4E0sMILJ/Iyar5jITwVVnSZD2LtXPpTP2os/HjxrubfDUN8WcrA6 yD+8DheblYHbbgTGZL7ChVPfOYWL8VWsNnyfYIiecJG3zFMkgi/fcj+n6svr2kfiVqNbyU VqQDYI01jNXoxZm44me300IkH31w+Y4= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="FtdXr/sb"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=O9OuXOL5; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="FtdXr/sb"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=O9OuXOL5; spf=pass (imf08.hostedemail.com: domain of hare@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=hare@suse.de; dmarc=pass (policy=none) header.from=suse.de Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 46F5C1F745; Tue, 4 Mar 2025 15:11:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1741101062; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cX6k9psTnQCcVskkQ80w3Ui6nPJZVH+Jx2TP5xA1oDo=; b=FtdXr/sbgTevIT7kLTiK2NqosX3i1oi7WsvBkLuBm9F4T0zoBRDP1oaV8SQQYN8ocOD0MJ FA5Dpuzm2GR0/ZCpoOfivGWieCOmC3FDj6ZXSx6s2SBLzlHvPdB5WcA2s4m5jD0qAfwrA6 dCLLgQ0DAlPOuhAH1fx/RpnEP9cRWUg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1741101062; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cX6k9psTnQCcVskkQ80w3Ui6nPJZVH+Jx2TP5xA1oDo=; b=O9OuXOL506gxbwAPJXlyJuzp3cqCXrhd2a580OA85f0RTsUnzcmJXek/pOnMGjpsQfz8Ha 0OJ9qlGJh6wOnQAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1741101062; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cX6k9psTnQCcVskkQ80w3Ui6nPJZVH+Jx2TP5xA1oDo=; b=FtdXr/sbgTevIT7kLTiK2NqosX3i1oi7WsvBkLuBm9F4T0zoBRDP1oaV8SQQYN8ocOD0MJ FA5Dpuzm2GR0/ZCpoOfivGWieCOmC3FDj6ZXSx6s2SBLzlHvPdB5WcA2s4m5jD0qAfwrA6 dCLLgQ0DAlPOuhAH1fx/RpnEP9cRWUg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1741101062; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cX6k9psTnQCcVskkQ80w3Ui6nPJZVH+Jx2TP5xA1oDo=; b=O9OuXOL506gxbwAPJXlyJuzp3cqCXrhd2a580OA85f0RTsUnzcmJXek/pOnMGjpsQfz8Ha 0OJ9qlGJh6wOnQAA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 269B313967; Tue, 4 Mar 2025 15:11:02 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id T8QBCQYYx2c8PwAAD6G6ig (envelope-from ); Tue, 04 Mar 2025 15:11:02 +0000 Message-ID: <24870f73-97f9-496d-a1ca-787b54c222e4@suse.de> Date: Tue, 4 Mar 2025 16:11:01 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Kernel oops with 6.14 when enabling TLS To: Vlastimil Babka , Hannes Reinecke , Matthew Wilcox , Boris Pismenny , John Fastabend , Jakub Kicinski Cc: Sagi Grimberg , "linux-nvme@lists.infradead.org" , "linux-block@vger.kernel.org" , linux-mm@kvack.org, Harry Yoo , "netdev@vger.kernel.org" References: <08c29e4b-2f71-4b6d-8046-27e407214d8c@suse.com> <509dd4d3-85e9-40b2-a967-8c937909a1bf@suse.com> <15be2446-f096-45b9-aaf3-b371a694049d@suse.com> <95b0b93b-3b27-4482-8965-01963cc8beb8@suse.cz> <6877dfb1-9f44-4023-bb6d-e7530d03e33c@suse.com> Content-Language: en-US From: Hannes Reinecke In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Stat-Signature: a5prhzkjtkzryjutj615ufbtcspi48qt X-Rspamd-Queue-Id: 5341B160024 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1741101063-497487 X-HE-Meta: U2FsdGVkX18+/v7sPkVoqlYi5QBBWeOPVB84axE/Drunl82V+bQIqvGgZOR6kwcjCecszjng8BeJkgNSJsNh2DijLabDWXQql0blPHt4FeUqP0bukL1ygX6aPTV25nZ09yM9hS1fis2isEsA5R94rCcyjDz9U3zOBrwN0+d1MKRiAms3q0+09/4noFSwpFrcv4tMUsLqCXXToYlti6Mi4IS7EiDh6h8ug2mrygttyNraheLsIYOjMCVjEaBqTKmGqCBPgEX7xDjJzcY/bQkMTJg/NJ2nF6P/7rF3sqSWYYcJsO2uaZsTJOuSJTcb40YXrQDn3HI1D4KxCNreIO4bIFItVLdgs3OW4QEr63aoP2NOJjRTGXXz/zWzCmCu0Yw+J44LRXZEiQeF2QqBn83FLB4ujH9xRVwfejIKcKr4/EmVq40mif1l/LWYCPlW8d7n77nKyc7Otp2zny7nXvRGCbxf4rk9KsnnT8TFev7Ee/yeJkahSfFFGA9HKZbrY4Yd7zqob7r98XA+FQHvb+QmYFEDtT2iHLGqWxx1DyzUM+Nbib9iJ5gIAzbeXG/n15HmI1lLhPcNBy+H5CQXFJ0n3XfcTpTN9b25+hByXBey8TEWnXZaRFKCUFd8U6nM+ZzL/OQRa5JPAs2AAA9Ogajwv19uKcv8jZjMuS+8rtzSKKAPrS1Fw4/jtnKgPSuB5Yp7uKWaUw/heANjp5R579qhLGu8uciZydO4db5eJ2xoGI77WkrtABIfcAkMekL3eXtIPnEY0ehG/L4ohTmcfFB34FCPBOLQwElGHiHIE2YrJXMaQby1x1ZfUGl6JjrMGKlQrPUgO/FURKyMC9capp309pQIYozdE9IG7GFyU+YZ3rFz1Iali2RS/6+R5DORP+TNjkdwlAn1d3Ylb6yO7G+kd1jTs4Qu325bxNMsZ/dm+WmqlpdqypnWp7F06WtjTY3rwdo+07S3eNhwCIfLOM1 hauR8gXQ 5GwLyas8ptIZ20r1HmgQ54/tV/W/BlUEoRUtkDj8ZqTdDSz7vWuSO3CM+ulAAEHJ0lD+R3Gq40KwN5ZMrYBFuXfvgJnaARkth0P2hS5eRAH2KSaqCANHhXM3hVCaPihiqXv2sIoYYwn2MnzGZiKX8DN5j93YGj7Ep6ssDI+Lhyot0emJ84gW78rDg1PChpwM0cixX8dpEV9iKqXAeab2UfyD3Xw5b4AR1fibFdzv3MBD6B9Dbs5eljbWzrjR76XZrhd5tvpLgmmkQZoGIU5LS+mgxyyHlsh3ntiIiGxEuAlrS7+80Eqf140fdZvxyJ4Y+SreoNpLJab+HfUeEI/2TP0pvFopSRt/TZi4U7C30mSItm7tUbWGauaYqrBjASWLdRhjwkENZxKlPJrdYHF5QKGTpQ0KOCoLWomN8kZzYmnaDFkcD+tI/5qozbk9zoVHl9HeXjEu9JClNlAc0z20KXvkyiEUAdznWxD5uXKxVwSWl8Kn+dFLmZ6HRsauIVGTlhDDi X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 3/4/25 11:26, Vlastimil Babka wrote: > On 3/4/25 11:20, Hannes Reinecke wrote: [ .. ] >> So I'd be happy with an 'easy' fix for now. Obviously :-) >> With this patch: diff --git a/lib/iov_iter.c b/lib/iov_iter.c index 65f550cb5081..b035a9928cdd 100644 --- a/lib/iov_iter.c +++ b/lib/iov_iter.c @@ -1190,8 +1190,14 @@ static ssize_t __iov_iter_get_pages_alloc(struct iov_iter *i, if (!n) return -ENOMEM; p = *pages; - for (int k = 0; k < n; k++) - get_page(p[k] = page + k); + for (int k = 0; k < n; k++) { + if (!get_page_unless_zero(p[k] = page + k)) { + pr_warn("%s: frozen page %d of %d\n", + __func__, k, n); + return -ENOMEM; + } + } + maxsize = min_t(size_t, maxsize, n * PAGE_SIZE - *start); i->count -= maxsize; i->iov_offset += maxsize; the system doesn't crash anymore: [ 51.520949] __iov_iter_get_pages_alloc: frozen page 0 of 1 [ 51.536393] nvme nvme0: creating 4 I/O queues. [ 51.968897] nvme nvme0: mapped 4/0/0 default/read/poll queues. [ 51.972207] __iov_iter_get_pages_alloc: frozen page 0 of 1 [ 51.974528] __iov_iter_get_pages_alloc: frozen page 0 of 1 [ 51.976928] __iov_iter_get_pages_alloc: frozen page 0 of 1 [ 51.978980] __iov_iter_get_pages_alloc: frozen page 0 of 1 [ 51.981236] nvme nvme0: new ctrl: NQN "nqn.blktests-subsystem-1", addr 10.161.9.19:4420, hostnqn: nqn.2014-08.org.nvmexpress:uuid:027a49dc-b554-40e5-b0f9-0a9ea03ec30c and the allocation in question is coming from drivers/nvme/host/fabrics.c:nvmf_connect_data_prep(), which coincidentally _is_ a kmalloc()ed buffer. But TLS doesn't work, either: [ 58.886754] nvme nvme0: I/O tag 1 (3001) type 4 opcode 0x18 (Keep Alive) QID 0 timeout [ 58.889112] nvme nvme0: starting error recovery [ 58.892176] nvme nvme0: failed nvme_keep_alive_end_io error=10 [ 58.892282] nvme nvme0: reading non-mdts-limits failed: -4 [ 58.902490] nvme nvme0: Reconnecting in 10 seconds... (probably not surprising seeing that an error is returned ..) So yeah, looks like TLS has issues with kmalloced data. Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich