Received: by 2002:ab2:788f:0:b0:1ee:8f2e:70ae with SMTP id b15csp515055lqi; Thu, 7 Mar 2024 04:17:15 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWwFtq3uB/iz/XnF71jJl9YZ0bENnk0IZIcm8Jp4cPnpVJEUQMhZxPXF69ChT9hqNdmPQO4hOnE4xCeUSneWSxY16OuSLiWlS6mTrVzLQ== X-Google-Smtp-Source: AGHT+IE0mJtDivbmoY5Zr0c52Af89yWCxHUOyl7fj7GvH22e88QMClTqVDfNfa3mCI7aBqkm6Ze5 X-Received: by 2002:a17:906:7cd7:b0:a45:af0c:e22c with SMTP id h23-20020a1709067cd700b00a45af0ce22cmr4376100ejp.37.1709813835201; Thu, 07 Mar 2024 04:17:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709813835; cv=pass; d=google.com; s=arc-20160816; b=TjoHePIzqX+4oIdWPAwcQh8Pamt1dNglYMDs3tayNaY+oz16MoaASnKatnwEhIb+P1 k/YBf9srisOxnitJN0gzrjdX0PNCo9WT8w18YGAfprzaRO/oqcjJRsXNgPWgGWpxhC84 2q/PWBAhVNPS0ATzjdF3R8MAFNVitC+DM/Iirr6BOUROKuR4sO/YOI9Uh++izypWSLV4 Ls4KSZ6Ohn3AQKcSrZ2uzLz1nW7x8gC2Yg3cYUrlFbHbOhBhcYOSrvZG67LU18O/cR1m v1lqdbi1/43re13ydoLXvIiOTCKXkbUTra5nfaHp6X1/Khm4zhnwfo7tp/zUJQuwCMZN A1mg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=o6ERHtHohBl+uhp2qXm5zLwc6fLO22uHxqSTgoioRzc=; fh=HD00nRZqF2KP+/v3jfP2EhO30VmW5CZEA+gv5zbRKi4=; b=xvSfJe5+3ErR8BOIfjRrJQ6oQtseD1JICbExbU9wKkHtVcZ7SCbAZjuL9vNVeFb7/I MWhlZyZJO32YqPqCLbgTKI656D/cOCK6Mr8NRVC/MER9tYJb/cbcRWLJisgVzjuu9iDJ dvZwF8qTuA1yMm7TK0i8NgpiyrfnVqu3QdyrXVYnxgyj23uL1eoYbUs/0BCfB6XWWgMg x5cqwRU8q+lX7jS1dY+B9oJ9nPs47YAK//yMD7HVQlCwP2xz1XRbwsii/XJ9l29IejYA WIlwFLnPcYLWncr+ua/MUNZfHIcWItbboUuKRiP43vIAGLfTC9QVRjTeCJzaKPVQcrWe j9Fg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@alien8.de header.s=alien8 header.b=bylKT12q; arc=pass (i=1 spf=pass spfdomain=alien8.de dkim=pass dkdomain=alien8.de dmarc=pass fromdomain=alien8.de); spf=pass (google.com: domain of linux-kernel+bounces-95518-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-95518-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=alien8.de Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id la8-20020a170906ad8800b00a45a2cde24esi2653512ejb.162.2024.03.07.04.17.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Mar 2024 04:17:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-95518-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@alien8.de header.s=alien8 header.b=bylKT12q; arc=pass (i=1 spf=pass spfdomain=alien8.de dkim=pass dkdomain=alien8.de dmarc=pass fromdomain=alien8.de); spf=pass (google.com: domain of linux-kernel+bounces-95518-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-95518-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=alien8.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id EA7B81F21CCF for ; Thu, 7 Mar 2024 12:17:14 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 055D012B142; Thu, 7 Mar 2024 12:17:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (4096-bit key) header.d=alien8.de header.i=@alien8.de header.b="bylKT12q" Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) (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 61DB712A143; Thu, 7 Mar 2024 12:16:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=65.109.113.108 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709813821; cv=none; b=o+9hfjqcE5fGkmUW1v1p4OrQOrmC9ZrAKpev+EbUnZJeC/SUnu/lgzenjRVUU+aDXOcDTAAcPh8ZUEa8aCUUEnfnZMusKoxI/l/PLiv+s1+oxrlg60XE+ezqMC+h3r8nR4DY614W+na9yTMRuBaE/Whtl1q/vyKtQlVGKjg+lOw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709813821; c=relaxed/simple; bh=4UjKhO2St8Z8PM74cHTkCT8nSA7UO5acrjL3xp50NJ4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=N7Xp1dam4F0DceZvYQw0VxW6BHawKQC6tHRfODwV8VI/ZXTQ5AltEVZ313bkSNxLyAwa5vB9nqvODsdfcbEj3j6rMsU8BzADzsXFb4/b60rmDPe1aT1zKqNn4wff1W9Yt9dE+jx44x8fV7OLbYltQFSjYcwHYFvNfcq6nXXXNys= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=alien8.de; spf=pass smtp.mailfrom=alien8.de; dkim=pass (4096-bit key) header.d=alien8.de header.i=@alien8.de header.b=bylKT12q; arc=none smtp.client-ip=65.109.113.108 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=alien8.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=alien8.de Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id B226F40E0174; Thu, 7 Mar 2024 12:16:49 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key) header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id CW9Ueswgo2ad; Thu, 7 Mar 2024 12:16:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1709813807; bh=o6ERHtHohBl+uhp2qXm5zLwc6fLO22uHxqSTgoioRzc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bylKT12qv6XOHKOkgxzJ8Hjec9OBdSrv/hRf9mB6qmSaS8GTEPMSBP5YlE9s9qolB oQ1f2BTHnqpaVBw2rB5JctoguoA1SErh41QVZAvrnb4HbJJw/soB3wTiCSajKHn3ZQ 9JSWitZL1a4BM6NgE3mFqUhHHs+TGvvk3DvYF/GxXQdMc9+aMKpI8HLgrCiSRPXDf9 v8cHRo3bBhZkbOsEhV/YIgvu5nFuTlPLaJUZuMaUni8/FAj3w7VTlX0ndf1KfOvJ/p n1rIogMv3YR8CSTEaR0Qk6Buxmc5Wr27rBrEkrG1IeDJ+WEzO7Pce+btrWNYQLza2g BbafIBk+neQLKnqy0zZfFPAWazdYCgG4Ml7lAmrTqwFz2gcrz795q57jnyYAzmTpyO TMhGAzfN4UYH6JX3fsgGbEWr2Y77i+MRrKNgaS7qfMxsvsMS7AJCxBQRVKncaUeDvz lixM+I4bj85X/fgHX9yKk00Y6DqClcZQRt4KgrXA7fSUy31lulWS2ZW2kccX4aSFqc gmLbk7cV5l8E4g18CxHaLikfqlxr+p7rQlk0XS2I3mszFkfweovEnTQXPA1Rtj+sHX PvnmhKqWDEKeZkX1R6ORpMhs+V0qsPXM3qNB1bn5D4lBLF+6xrVJwOfODXJp4dQ2Q7 W91PTnaM05xuSyFNzFDC7H0E= Received: from zn.tnic (pd953021b.dip0.t-ipconnect.de [217.83.2.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 4267640E016C; Thu, 7 Mar 2024 12:16:40 +0000 (UTC) Date: Thu, 7 Mar 2024 13:16:34 +0100 From: Borislav Petkov To: Tony Luck Cc: "Naik, Avadhut" , "Mehta, Sohil" , Yazen Ghannam , x86@kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] x86/mce: Dynamically size space for machine check records Message-ID: <20240307121634.GAZemwIgbKKJGaUVFg@fat_crate.local> References: <20240307000256.34352-1-tony.luck@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240307000256.34352-1-tony.luck@intel.com> On Wed, Mar 06, 2024 at 04:02:56PM -0800, Tony Luck wrote: > - ret = gen_pool_add(tmpp, (unsigned long)gen_pool_buf, MCE_POOLSZ, -1); > + mce_numrecords = max(MCE_MIN_ENTRIES, num_possible_cpus() * MCE_PER_CPU); > + mce_poolsz = mce_numrecords * (1 << order); > + mce_pool = kmalloc(mce_poolsz, GFP_KERNEL); > + if (!mce_pool) { > + gen_pool_destroy(tmpp); > + goto out; > + } > + ret = gen_pool_add(tmpp, (unsigned long)mce_pool, mce_poolsz, -1); > if (ret) { > gen_pool_destroy(tmpp); > + kfree(mce_pool); > goto out; Might as well get rid of the out label too since you're not doing the error handling pattern of jumping to err* labels and then unwinding. See diff below. Otherwise, patch looks ok to me, if we can test it quickly with all possible scenarios and Linus does a -rc8, I probably can take it even now... Thx. diff --git a/arch/x86/kernel/cpu/mce/genpool.c b/arch/x86/kernel/cpu/mce/genpool.c index 42ce3dc97ca8..cadf28662a70 100644 --- a/arch/x86/kernel/cpu/mce/genpool.c +++ b/arch/x86/kernel/cpu/mce/genpool.c @@ -126,25 +126,24 @@ static int mce_gen_pool_create(void) order = order_base_2(sizeof(struct mce_evt_llist)); tmpp = gen_pool_create(order, -1); if (!tmpp) - goto out; + return ret; mce_numrecords = max(MCE_MIN_ENTRIES, num_possible_cpus() * MCE_PER_CPU); mce_poolsz = mce_numrecords * (1 << order); mce_pool = kmalloc(mce_poolsz, GFP_KERNEL); if (!mce_pool) { gen_pool_destroy(tmpp); - goto out; + return ret; } ret = gen_pool_add(tmpp, (unsigned long)mce_pool, mce_poolsz, -1); if (ret) { gen_pool_destroy(tmpp); kfree(mce_pool); - goto out; + return ret; } mce_evt_pool = tmpp; -out: return ret; } -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette