Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp66403ybp; Thu, 3 Oct 2019 10:14:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqwjtHuIh69yihWUlkcw/CTmkZkpjOoHwEZM6iknXgSwBtXcLFo95hxWei4M2qMxJLj14r5X X-Received: by 2002:a05:6402:6c6:: with SMTP id n6mr10449162edy.162.1570122894007; Thu, 03 Oct 2019 10:14:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570122894; cv=none; d=google.com; s=arc-20160816; b=A8wX1ODJBsrWX+mhPAf9c8G4F0ZXyx5zNG7eU8hAuVZDAJXGyK9WGqWj3RECt/PrrN uXMb0H5fRYZkaPDC6vYehHvwr+9gEnnbFAWrFhJhc36gpmE8zFBXxhB1oM0KWFCHBm3I 4sSPOLYn4f2ySjDrKrl8GXjuYvSpL0DkcCbTPF8r3Ug7Vr1XTRObe1h9UuOn5t5TaqYx pefjw7Ams0Y+RXpOufQ9hs5cz6sNlN2VaOQKNMUsNp2lU7t1AKoHP/1QYP2ROnR9wWsL LF9WHcr+yxrOCoXL71qa+fjb+UF6szTNiFVVqndgDcJZBQKkP92q7JdNfM80l8apml0i v2eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=6a+ixqdzAJ1M9wB1o4NKc1vK9TBNDV6mYtep3CLoV2A=; b=QNFUyaCpctxHES+zmE3HIv/guCVE+1Cj66XCWal0jZHd7dAHcE5/+FDhsXffMoj4Q1 6At3dXJGdmso+PF7gmstXxjeM8210KRqZyrz2fMQTsQIdoXVlv7Gbd8urErJiRxaLNCQ 1DeksAm6rB9rG7f+/MeXNbM5jcz9xjA2+MRAxgylNKc7TdYSiC8oYVBLpUeFiOeoWWlC aoozJeF6OIRR2WpDBS31/Nle+dMtb/kr1Ed1kjQpcVzBjxOTL2rRkcHx/RMuAqEpBUxv Kk0/qHFcGYjb/m2w/l0gIhphPZGG0uPdpvH6jeRY7Ozgw9dBitZmeIYeNe6bXh503DLt WE0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=nkzYmDpc; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w5si1850863eds.179.2019.10.03.10.14.29; Thu, 03 Oct 2019 10:14:53 -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=@kernel.org header.s=default header.b=nkzYmDpc; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391685AbfJCQaO (ORCPT + 99 others); Thu, 3 Oct 2019 12:30:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:36020 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391054AbfJCQaJ (ORCPT ); Thu, 3 Oct 2019 12:30:09 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7972820700; Thu, 3 Oct 2019 16:30:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570120209; bh=J2I7SM7bMsl2OQ6fr2CABIWGTg6EorLiy5htaNXQeuo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nkzYmDpcX/fz5lPYmQjeCLKHQGs0+Fl8Sg4q6FU/eriUZqgIrU5HLM75stpmiNC1Z NYlAlviad5GV4j7t3Uy1BQTpBLeepvHP+efPqj7iJlSvBkR8977S+dcFGOZHajAD6K N2qKh1oR5ScvYY+74emko8SOiceMlsYAt+M7LKk4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ezequiel Garcia , Chanwoo Choi , MyungJoo Ham , Sasha Levin Subject: [PATCH 5.2 137/313] PM / devfreq: Fix kernel oops on governor module load Date: Thu, 3 Oct 2019 17:51:55 +0200 Message-Id: <20191003154546.372351240@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191003154533.590915454@linuxfoundation.org> References: <20191003154533.590915454@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ezequiel Garcia [ Upstream commit 7544fd7f384591038646d3cd9efb311ab4509e24 ] A bit unexpectedly (but still documented), request_module may return a positive value, in case of a modprobe error. This is currently causing issues in the devfreq framework. When a request_module exits with a positive value, we currently return that via ERR_PTR. However, because the value is positive, it's not a ERR_VALUE proper, and is therefore treated as a valid struct devfreq_governor pointer, leading to a kernel oops. Fix this by returning -EINVAL if request_module returns a positive value. Fixes: b53b0128052ff ("PM / devfreq: Fix static checker warning in try_then_request_governor") Signed-off-by: Ezequiel Garcia Reviewed-by: Chanwoo Choi Signed-off-by: MyungJoo Ham Signed-off-by: Sasha Levin --- drivers/devfreq/devfreq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index ab22bf8a12d69..a0e19802149fc 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -254,7 +254,7 @@ static struct devfreq_governor *try_then_request_governor(const char *name) /* Restore previous state before return */ mutex_lock(&devfreq_list_lock); if (err) - return ERR_PTR(err); + return (err < 0) ? ERR_PTR(err) : ERR_PTR(-EINVAL); governor = find_devfreq_governor(name); } -- 2.20.1