Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3308134yba; Tue, 23 Apr 2019 01:13:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqydi6uH/ZW1e0GzYkp6eCFaHs9snuH5kQNF3s72CKW4CWShbw4b76Q4t+RD1+0Z/FWoRPQo X-Received: by 2002:a63:5c56:: with SMTP id n22mr23822295pgm.108.1556007197871; Tue, 23 Apr 2019 01:13:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556007197; cv=none; d=google.com; s=arc-20160816; b=YFexXIxldF1ZJoc48WUcRb59siKpfaJNo0Fo8mBNucWfe0N7lFESYYmiD81ZHw9f6N PBkWE2NW3+4OHpXIN7I1pIuhaf24ew+ZwnY2v2TZrYeha4qVVntDuZt45WHZU3Ai8ocm 3OtuiG2HPAv4HXPcBk3zmhwRqmxy7xe6MpJsqj6O9o4L01gP5YlqVAZhf7eu3V/rqUQ7 SaxmwVpGiUdHt30b3ITf9TyGt58NpJ540wB45FtSK9121890BiLyHwQkyqPj1w7TC+NW BINaG3mI3Q60wGQN+5KmaQaZFJXJVwYXrFY6fcX60ERfV7yYUFMjYJ6zCL53N53VVa/W Jvzg== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=BcYZCf5PYOgjHxDrrN02/6ixDizMI5wh0AGNFjJ5LZc=; b=VlwOwQAJ+Ba6O6sLlQIU/4BB08wIzHhsGxDBJ0jU7QtvBYCi27dJHt0s67gl1twubw mtrfJLGOhKGzeqGc2kG/MGrzn7p45bJXLGMZyyt6PZcehDUpmwetxtVyA3nJdzLN1tlJ KuddkEh4NCVi/9sBsCZhLtY4hnrx52x0vRrPljd6xylUVkNMEL9jDSGgF66vjbgBs7e/ eU+ZC5nM3xHrvqd9+Ciy1rWh3TE2RjuLgHsLkRqse+Ktst3oEu+t7piUukoyhk81V1Yn sEQB8bNpLWHMqml/4Bev/0zrcJFYyFADuBCAZh9y+QdVfP4i52nnX4QJ+DZdaTuXExN2 afGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=SyA+tUpC; 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=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b68si15832707plb.351.2019.04.23.01.13.01; Tue, 23 Apr 2019 01:13:17 -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=fail header.i=@gmail.com header.s=20161025 header.b=SyA+tUpC; 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=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726155AbfDWIMM (ORCPT + 99 others); Tue, 23 Apr 2019 04:12:12 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:50775 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725939AbfDWIML (ORCPT ); Tue, 23 Apr 2019 04:12:11 -0400 Received: by mail-wm1-f68.google.com with SMTP id 10so1013998wmk.0; Tue, 23 Apr 2019 01:12:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=BcYZCf5PYOgjHxDrrN02/6ixDizMI5wh0AGNFjJ5LZc=; b=SyA+tUpCM5ovI9Zz+7yPD8BKSvd+AMjgDkZOcXpE19IQWV3S1WBaGiJMPn5zpB/Bjp iBd11lr+TdIaRriUJD5eyrJs39kvqb8rvEEDmt9VWJc7Qmegs7igY1udrBMuQGpWFn+A e+V9o2b2Pi99KjyWtpkUoW40QHyU+pBndUQSuW+eEhlQJ+1sZA3lr9j47m/U9hnD+hnQ AngAHKNqT7d+xsGIKmsLv0d3GQV1LvpIUY9juVCvPdaOnQhhWqOGQn7HufkpwgOJ/pRd srGDB+iS5WlnnyqfBndFhWe9ExUssrnN9YE3DP262A+hFx2dpE+dN41bFAI5eEr6dckr YV4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=BcYZCf5PYOgjHxDrrN02/6ixDizMI5wh0AGNFjJ5LZc=; b=ZKIreseuE+z+JW//KmPjYKpJXD21fH9fIFSFsQ3zX8uP/A/x2/KLR/T/Fg5NAusqLX c+uIWkOGg/d9yX79mdgHbTY15f6+bGNz9AWfUMaLM++tGsVOFglB09Lh3jF1QJNO/Zy+ lP65uIOoaMndXfcX6OwCm5z7JG4cdvR63HxEvq8eVnLy9oFlt5f+uAg0gAMQ/MZDqtLW YElqaoT8LFB3k3KZEfqboFigcq9RYTpv3CPSV8GpYpvrFiAaA17n8e1VATEML21wcneY eaqc1l/ZYOYmgq7d3PihBT69oHK+v6z4a+hULCKJ7q9fOVl8fzrDD2iZJjUdMzA7lRfa B4fQ== X-Gm-Message-State: APjAAAUB4uR15g2VD4rFJUI6FCmkI51mwyB1Ix/3o6r8Y+LTDhAeWgrZ bn4TmlRI43nafX5V/lknx0tt70Di X-Received: by 2002:a7b:ce1a:: with SMTP id m26mr1155912wmc.131.1556007129516; Tue, 23 Apr 2019 01:12:09 -0700 (PDT) Received: from cizrna.lan ([109.72.12.5]) by smtp.gmail.com with ESMTPSA id o15sm18858829wrj.59.2019.04.23.01.12.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Apr 2019 01:12:08 -0700 (PDT) From: Tomeu Vizoso To: linux-kernel@vger.kernel.org Cc: Tomeu Vizoso , Alyssa Rosenzweig , Enric Balletbo i Serra , MyungJoo Ham , Kyungmin Park , Chanwoo Choi , linux-pm@vger.kernel.org Subject: [PATCH] PM / devfreq: Return -ENODEV from try_then_request_governor Date: Tue, 23 Apr 2019 10:11:56 +0200 Message-Id: <20190423081158.29859-1-tomeu.vizoso@collabora.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Callers don't expect it to return NULL, but an error code. Fixes Oops such as the one below, when one tries to set a governor that isn't available: Unable to handle kernel NULL pointer dereference at virtual address 00000018 [] (governor_store) from [] (kernfs_fop_write+0x100/0x1e0) [] (kernfs_fop_write) from [] (__vfs_write+0x2c/0x17c) [] (__vfs_write) from [] (vfs_write+0xa4/0x184) [] (vfs_write) from [] (ksys_write+0x4c/0xac) [] (ksys_write) from [] (ret_fast_syscall+0x0/0x28) Signed-off-by: Tomeu Vizoso Fixes: 23c7b54ca1cd ("PM / devfreq: Fix devfreq_add_device() when drivers are built as modules.") Reported-by: Alyssa Rosenzweig Cc: Enric Balletbo i Serra --- 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 0ae3de76833b..5539e9be718d 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 NULL; + return ERR_PTR(-ENODEV); governor = find_devfreq_governor(name); } -- 2.20.1