From patchwork Mon Oct 26 07:39:02 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frans Pop X-Patchwork-Id: 55832 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n9Q7ewqu008481 for ; Mon, 26 Oct 2009 07:40:59 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754925AbZJZHjK (ORCPT ); Mon, 26 Oct 2009 03:39:10 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754913AbZJZHjH (ORCPT ); Mon, 26 Oct 2009 03:39:07 -0400 Received: from cpsmtpm-eml103.kpnxchange.com ([195.121.3.7]:54360 "EHLO CPSMTPM-EML103.kpnxchange.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754872AbZJZHjC (ORCPT ); Mon, 26 Oct 2009 03:39:02 -0400 Received: from elrond.fjphome.nl ([77.166.180.99]) by CPSMTPM-EML103.kpnxchange.com with Microsoft SMTPSVC(7.0.6001.18000); Mon, 26 Oct 2009 08:39:06 +0100 Received: from aragorn.fjphome.nl ([10.19.66.13]) by elrond.fjphome.nl with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1N2KAT-0007j2-Fn; Mon, 26 Oct 2009 08:39:05 +0100 Received: from fjp by aragorn.fjphome.nl with local (Exim 4.69) (envelope-from ) id 1N2KAT-0006v9-75; Mon, 26 Oct 2009 08:39:05 +0100 From: Frans Pop To: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, Frans Pop , Matthew Garrett , Zhang Rui Subject: [PATCH 4/6] thermal: add sanity check for the passive attribute Date: Mon, 26 Oct 2009 08:39:02 +0100 Message-Id: <1256542744-26569-5-git-send-email-elendil@planet.nl> X-Mailer: git-send-email 1.5.6.5 In-Reply-To: <1256542744-26569-1-git-send-email-elendil@planet.nl> References: <1256542744-26569-1-git-send-email-elendil@planet.nl> X-OriginalArrivalTime: 26 Oct 2009 07:39:06.0169 (UTC) FILETIME=[658C9290:01CA560F] Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org diff --git a/Documentation/thermal/sysfs-api.txt b/Documentation/thermal/sysfs-api.txt index a87dc27..cb3d15b 100644 --- a/Documentation/thermal/sysfs-api.txt +++ b/Documentation/thermal/sysfs-api.txt @@ -206,6 +206,7 @@ passive passive trip point for the zone. Activation is done by polling with an interval of 1 second. Unit: millidegrees Celsius + Valid values: 0 (disabled) or greater than 1000 RW, Optional ***************************** diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c index 4e83c29..74d2eb5 100644 --- a/drivers/thermal/thermal_sys.c +++ b/drivers/thermal/thermal_sys.c @@ -225,6 +225,12 @@ passive_store(struct device *dev, struct device_attribute *attr, if (!sscanf(buf, "%d\n", &state)) return -EINVAL; + /* sanity check: values below 1000 millicelcius don't make sense + * and can cause the system to go into a thermal heart attack + */ + if (state && state < 1000) + return -EINVAL; + if (state && !tz->forced_passive) { mutex_lock(&thermal_list_lock); list_for_each_entry(cdev, &thermal_cdev_list, node) {