Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp3544155imc; Wed, 13 Mar 2019 22:47:56 -0700 (PDT) X-Google-Smtp-Source: APXvYqwso+fOnSxjYth6tMXI/uSlHyEIREiGYsgnil44reX45rWbZVCH0YbPC9QyV25O8wuXD0pk X-Received: by 2002:a65:6085:: with SMTP id t5mr35450462pgu.257.1552542476561; Wed, 13 Mar 2019 22:47:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552542476; cv=none; d=google.com; s=arc-20160816; b=Vs9+V9QF8R17Vvqv/Qf9VKN2cq+2h7jl6U18ZrisBz/VYWBczb65S5q+x/+Q/6yRUG /6h7+ljFxuX50crPtQKd1vcVORTpq1sggCenr3M7nAMuKeH5OcCuwp5iCNcPHj1zd9n8 qYmIKPLZy+lOT5re7dRtp9fzDTiaQQNLsl1dbk2e4XRQvEHl7E4MXXi9Uj0gKpuZ9NQf iQQpLC4D0VizwJH9CoqenwX63GmGDS+6TgY/l23qtRXboEZ3xOBDw0AutFFinhYc58Bn RkDIxu0pzFRcxqkd4VdvMVjxhUym/479sU/h2DKQzFijqUqhTDNqc+7gqB16aDq/MFbk MoVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=lFBvHFrXAL0eimKSp+hFYJLmZ6C2x3iSkcwzXmsag2U=; b=r11MwAiDWhqH/g+3qLz+dF5f36OuSd/v1m5VN2IUgssBQjzpnJlhEgReEMwOzeAksn k2ZfwOawMWaDLswkNZT5/tJYgF76LQE/rVYCKZn3bA9NT/VPlu6H4W/XW5JVGq+K6cA6 wHmVB5Unx2iD6PICjI2SoPh+Gez7PruggTJkqVTvcJ6vBrRXBsvwz0M4OIXFLshgHzsr RMlj2qm64quQ0sMfWn+swpsWEydDz63D5mFlyBQoh92Qz8ZJ0VpXOVNEw8PInqmcRZP8 mCVs7vjQZynxXm0WamP41h3Hihjh3JRZ+nRiH+Om8XNdj29hMFapIr4qKB0UXBEE7gBG vmZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=j941Sds8; 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=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a5si12177034pfo.116.2019.03.13.22.47.40; Wed, 13 Mar 2019 22:47:56 -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=@umn.edu header.s=google header.b=j941Sds8; 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=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727162AbfCNFrA (ORCPT + 99 others); Thu, 14 Mar 2019 01:47:00 -0400 Received: from mta-p6.oit.umn.edu ([134.84.196.206]:36068 "EHLO mta-p6.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726303AbfCNFq7 (ORCPT ); Thu, 14 Mar 2019 01:46:59 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p6.oit.umn.edu (Postfix) with ESMTP id 3CE22B13 for ; Thu, 14 Mar 2019 05:46:58 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p6.oit.umn.edu ([127.0.0.1]) by localhost (mta-p6.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fXJsYen0ogIv for ; Thu, 14 Mar 2019 00:46:58 -0500 (CDT) Received: from mail-it1-f199.google.com (mail-it1-f199.google.com [209.85.166.199]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p6.oit.umn.edu (Postfix) with ESMTPS id 0987E9A5 for ; Thu, 14 Mar 2019 00:46:58 -0500 (CDT) Received: by mail-it1-f199.google.com with SMTP id o73so3613615itb.1 for ; Wed, 13 Mar 2019 22:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=lFBvHFrXAL0eimKSp+hFYJLmZ6C2x3iSkcwzXmsag2U=; b=j941Sds84VzuR7SeNTbNS8+Hi5T5qBjqFD930mLELOEkUXi7dOvpwGKpFpr3yF5CsY +/aO54dZDBluqv0a/cOst7UFsfp94hioSBGXOIS+i42pxCuPbpKpsmMZEONHZU/hBxbv 0F4w7Vrubj6Sn0IGIB4i5GnWNLgAU4hN/4aiVDrj7XnyZpkB3dk7AQF3LdnXMFTDm1Od gkcp7i4BjoCL+oHvX4L8x6OfdVlXMkQpvs/RSPbf8/vz68x0T62NUN2IfTcGiQ3wltn/ BQJaKQO2+iOZfGiAmm/xWa4Au1cGLXCQZrl0UAFTb48W3L2hi7Ig3j8zSNa5/Qqx234V WGWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=lFBvHFrXAL0eimKSp+hFYJLmZ6C2x3iSkcwzXmsag2U=; b=Levc6htDrPz3HWRX21zB61rQMn4wN7cZxB2IGqx+vmOR8ymbDw2O5obUzucAiKUnPy kFJetG1BzQ9Nn+WxAuM2OYwWRC46tKtkh5R8STEa5+80nenAY02DoqDvfvltQjMWd9km +Fz0evwW0XxwvuZPGahFuSOxR7rwSUlpqehIWRQvNY/OX31s49GkCke1ZD9Ws5PRgPNY YXL0fJLtyWr7YUk2SliiCfMYX+HeXVbO62lnUaYbqNqaby2gUVfyIrgcJhfdtWyJ1AD8 JFanGEgahRijHHIx/+iFeZuHxXjWv7imIAoQdzNUJ93ic8qDMbhiTOvszYio4YVHEqjK xkIQ== X-Gm-Message-State: APjAAAXyOBrSkQ23tFKbLZg+57czbdEexEOyrRLC2Aex7c/H9FdSGel6 2s3pNleFkJY71myOif7c/H/SjAdBtqif4iVX3sM6y5fda+hQxMqxxDZ/fQUKyFmuADqGtb3rway Jn7UIEj3OGUFc71bxVznwHFpcvLjn X-Received: by 2002:a24:6588:: with SMTP id u130mr1014840itb.136.1552542417627; Wed, 13 Mar 2019 22:46:57 -0700 (PDT) X-Received: by 2002:a24:6588:: with SMTP id u130mr1014828itb.136.1552542417375; Wed, 13 Mar 2019 22:46:57 -0700 (PDT) Received: from bee.dtc.umn.edu (cs-bee-u.cs.umn.edu. [128.101.106.63]) by smtp.gmail.com with ESMTPSA id y16sm5945790ion.64.2019.03.13.22.46.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Mar 2019 22:46:56 -0700 (PDT) From: Kangjie Lu To: kjlu@umn.edu Cc: pakki001@umn.edu, "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , Sasha Levin , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] hyperv: a potential NULL pointer dereference Date: Thu, 14 Mar 2019 00:46:51 -0500 Message-Id: <20190314054651.1315-1-kjlu@umn.edu> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In case alloc_page, the fix returns -ENOMEM to avoid the potential NULL pointer dereference. Signed-off-by: Kangjie Lu --- arch/x86/hyperv/hv_init.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index 7abb09e2eeb8..dfdb4ce1ae9c 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -102,9 +102,13 @@ static int hv_cpu_init(unsigned int cpu) u64 msr_vp_index; struct hv_vp_assist_page **hvp = &hv_vp_assist_page[smp_processor_id()]; void **input_arg; + struct page *pg; input_arg = (void **)this_cpu_ptr(hyperv_pcpu_input_arg); - *input_arg = page_address(alloc_page(GFP_KERNEL)); + pg = alloc_page(GFP_KERNEL); + if (unlikely(!pg)) + return -ENOMEM; + *input_arg = page_address(pg); hv_get_vp_index(msr_vp_index); -- 2.17.1