Received: by 10.192.165.156 with SMTP id m28csp716054imm; Mon, 16 Apr 2018 07:36:41 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/X8Gac/UmztEtjKahpGCI5KBkErsbn09aLLe+mqo9+U38aoyTmuXfSK6iobUQu9UCI4C6p X-Received: by 10.99.178.88 with SMTP id t24mr13477611pgo.212.1523889401476; Mon, 16 Apr 2018 07:36:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523889401; cv=none; d=google.com; s=arc-20160816; b=iQMlKopC5InYzZ72T1Iuo3UEzZXBPeCZ2ZS67rVFG9sgySdnWSBtIsD+g07s2IRBSi BedT6hmTLebygS3SfwA5Qn4X6WMbnuUY1eFriPQOer0/X8ZDTfWDhNJ/Yz1SQqbmR8Sn jnTcr4sROhd9xnwwu3bwkRnRbWYjfwddyjpCaUuNPTxKVDLerSSUxavvjNJIj4Exl/xy E6IBN4AfCwEPFMrLe4yy/ZZ7g1be0yxZ6usr81+kKfrzIUXjjYwaHk+af9bCalZvWb2D 0ivDHwxfSPH6d7g0fmrTjdTgx5atdOKi7olXqHgyuIxGvHmDp4832oS1WFDGIzLEl/jZ KztQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=CIAZDZgHFHe4BtMKlscJ+A6Tgy10lHut9c+GYNLo5vs=; b=EF+/KM3UhOvEW2dQ7K9SDLNZ92M54XkZ2xUOqP58RfWThxclf10XioQkWqzQZEyS5e sVZ9zn7hayUN4Jqw7uYFZfg7Mvngj48d8ZFP1ZL3LQL7dO2luFEUlro664VNuEiWJ2JG DaCzzj9gp101txuWzzsdLfw+AnflCd2mRVc2ZBTO187B/0m4oVXd7QesduNQ0mrz4PuI hiC5pzM860YGh2H4Rgc9VCpBsUyOH41Er/JcPNxLAGXS91CS8sYtJDB0lvA02FpL2GVr iOon/QhMSTOGVcVJmb20wQERJcgeiY0eVQuzYml42Vc0d+sOPgBeQ4XqBmA+CypJnxIe bTrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=PSOEK6wk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v6-v6si4174356plp.31.2018.04.16.07.36.28; Mon, 16 Apr 2018 07:36:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=PSOEK6wk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751150AbeDPO2G (ORCPT + 99 others); Mon, 16 Apr 2018 10:28:06 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:46390 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750735AbeDPO2E (ORCPT ); Mon, 16 Apr 2018 10:28:04 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w3GEQDwx089638; Mon, 16 Apr 2018 14:27:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=corp-2017-10-26; bh=CIAZDZgHFHe4BtMKlscJ+A6Tgy10lHut9c+GYNLo5vs=; b=PSOEK6wkrIf2tGfOu49QE4ZKeNNTe6MrvtBTskAm2Sb4PPQCXkXDrlxZd5T0z42OHqNf CZ4lppPaib9/4q4G4Msk+7ONzCAMXjHZQgx0ig3PjLJXkilroIt6fb3P5ewhwp9b8D6D UVukZ9lGwcJwN/EgcXKwqtYizJB8dam4y1pEOmYkj8bGWkPbeaj3sxb5qhVDwE9mI1Nb sA3JAZBNWs1NayCqafagqnFsx2sUjeAiR8zOzj1SYVeWkBZZ9vIdv/YpWSF6CNfyevT1 4w/9Zy8DqhE8Uz/xzLFbj6GPD0SzAc9YWDMeop1ggo5qKId2o8hkeFD9zvDUkY/1aW2e /w== Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp2120.oracle.com with ESMTP id 2hbam55c6n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Apr 2018 14:27:43 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w3GERguO025611 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Apr 2018 14:27:43 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w3GERgdP030154; Mon, 16 Apr 2018 14:27:42 GMT Received: from mwanda (/197.254.35.146) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 16 Apr 2018 07:27:42 -0700 Date: Mon, 16 Apr 2018 17:27:33 +0300 From: Dan Carpenter To: James Simmons Cc: Greg Kroah-Hartman , devel@driverdev.osuosl.org, Andreas Dilger , Oleg Drokin , NeilBrown , Amir Shehata , Linux Kernel Mailing List , Lustre Development List Subject: Re: [PATCH 07/25] staging: lustre: libcfs: NUMA support Message-ID: <20180416142733.s3f36jdd56rkbfbb@mwanda> References: <1523851807-16573-1-git-send-email-jsimmons@infradead.org> <1523851807-16573-8-git-send-email-jsimmons@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1523851807-16573-8-git-send-email-jsimmons@infradead.org> User-Agent: NeoMutt/20170609 (1.8.3) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8864 signatures=668698 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=568 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1804160136 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 16, 2018 at 12:09:49AM -0400, James Simmons wrote: > @@ -114,6 +115,15 @@ struct cfs_cpt_table * > memset(cptab->ctb_cpu2cpt, -1, > nr_cpu_ids * sizeof(cptab->ctb_cpu2cpt[0])); > > + cptab->ctb_node2cpt = kvmalloc_array(nr_node_ids, > + sizeof(cptab->ctb_node2cpt[0]), > + GFP_KERNEL); > + if (!cptab->ctb_node2cpt) > + goto failed; > + > + memset(cptab->ctb_node2cpt, -1, > + nr_node_ids * sizeof(cptab->ctb_node2cpt[0])); > + > cptab->ctb_parts = kvmalloc_array(ncpt, sizeof(cptab->ctb_parts[0]), > GFP_KERNEL); > if (!cptab->ctb_parts) You didn't introduce this, but I was explaining earlier that you should always be suspicious of code which does "goto failed". The bug here is that cptab->ctb_parts is allocated with kvmalloc_array() which doesn't zero out the memory. So if we only initialize it part way because art->cpt_nodemask = kzalloc() fails or something then it's problem: 91 void 92 cfs_cpt_table_free(struct cfs_cpt_table *cptab) 93 { 94 int i; 95 96 kvfree(cptab->ctb_cpu2cpt); 97 98 for (i = 0; cptab->ctb_parts && i < cptab->ctb_nparts; i++) { 99 struct cfs_cpu_partition *part = &cptab->ctb_parts[i]; 100 101 kfree(part->cpt_nodemask); ^^^^^^^^^^^^^^^^^^^ 102 free_cpumask_var(part->cpt_cpumask); ^^^^^^^^^^^^^^^^^ These are uninitialized so it will crash. It turns out there isn't a kvcalloc() or kvzalloc_array() function. We don't seem to have a vcalloc() either... Very strange. 103 } 104 105 kvfree(cptab->ctb_parts); 106 107 kfree(cptab->ctb_nodemask); 108 free_cpumask_var(cptab->ctb_cpumask); 109 110 kfree(cptab); 111 } regards, dan carpenter