From patchwork Fri Sep 25 16:41:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 54172 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-wi0-f200.google.com (mail-wi0-f200.google.com [209.85.212.200]) by patches.linaro.org (Postfix) with ESMTPS id 35787218DB for ; Fri, 25 Sep 2015 16:42:20 +0000 (UTC) Received: by wisv5 with SMTP id v5sf10845854wis.0 for ; Fri, 25 Sep 2015 09:42:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:delivered-to:from:to:cc:subject :date:message-id:sender:precedence:list-id:x-original-sender :x-original-authentication-results:mailing-list:list-post:list-help :list-archive:list-unsubscribe; bh=4YUD7bec3U1O/Wy1fequqeNHXhUBVaqWX0ZFU71m8Lo=; b=TYNXmL+x0de/+Z0zKBC0EmBKWCeVJ5TU2PcbvvFg1yn8bDDVx530q+r0zNlrSMSjmI bvDGYEWzP97oDVUZss67XuLVAAv9jQKUII6p0gICi0T7/ViZRBxP0F9IprlUpQFY5fem uo4NHm8wVhpPbHyxOiR6juKKQ9kXONnm7euD/9+vtHs7v+tuqvGmvxFbuG2xTnPJuJqO wNZ2dS6bPnehrXr1bASKtnteUXCOOAMBjqeui8plQRxGEGid3q9JAyhtL7DCdGE3UrOA 7Ue9nufZM3tw22+Tkj1XOmOGhNqZsW0UQyA/276wrPsLTrErdkwRbuMC/VDKyg8s2gXa PhXQ== X-Gm-Message-State: ALoCoQm5py0fPWa8AA9RTEvNHZzMZZgI7LEXC1N/IahKSm4Yr0zyyrg80z5G7qMnbcntpw0++2em X-Received: by 10.180.188.211 with SMTP id gc19mr683915wic.6.1443199339556; Fri, 25 Sep 2015 09:42:19 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.25.42.209 with SMTP id q200ls245515lfq.72.gmail; Fri, 25 Sep 2015 09:42:19 -0700 (PDT) X-Received: by 10.112.234.199 with SMTP id ug7mr1963396lbc.116.1443199339379; Fri, 25 Sep 2015 09:42:19 -0700 (PDT) Received: from mail-la0-f48.google.com (mail-la0-f48.google.com. [209.85.215.48]) by mx.google.com with ESMTPS id sw10si2052443lbb.124.2015.09.25.09.42.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Sep 2015 09:42:19 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.48 as permitted sender) client-ip=209.85.215.48; Received: by laclj5 with SMTP id lj5so9379982lac.3 for ; Fri, 25 Sep 2015 09:42:18 -0700 (PDT) X-Received: by 10.25.20.80 with SMTP id k77mr1260771lfi.117.1443199338913; Fri, 25 Sep 2015 09:42:18 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.59.35 with SMTP id w3csp156287lbq; Fri, 25 Sep 2015 09:42:17 -0700 (PDT) X-Received: by 10.68.192.9 with SMTP id hc9mr8372491pbc.57.1443199337796; Fri, 25 Sep 2015 09:42:17 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id rz7si6708954pbb.156.2015.09.25.09.42.16; Fri, 25 Sep 2015 09:42: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; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932690AbbIYQmN (ORCPT + 30 others); Fri, 25 Sep 2015 12:42:13 -0400 Received: from mail-pa0-f51.google.com ([209.85.220.51]:35669 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932613AbbIYQmH (ORCPT ); Fri, 25 Sep 2015 12:42:07 -0400 Received: by pacfv12 with SMTP id fv12so112257063pac.2 for ; Fri, 25 Sep 2015 09:42:06 -0700 (PDT) X-Received: by 10.69.1.67 with SMTP id be3mr8609738pbd.78.1443199326338; Fri, 25 Sep 2015 09:42:06 -0700 (PDT) Received: from localhost ([70.35.39.2]) by smtp.gmail.com with ESMTPSA id ll9sm4797436pbc.42.2015.09.25.09.42.05 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 25 Sep 2015 09:42:05 -0700 (PDT) From: Viresh Kumar To: Greg Kroah-Hartman Cc: linaro-kernel@lists.linaro.org, QCA ath9k Development , Intel Linux Wireless , Viresh Kumar , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, linux-bluetooth@vger.kernel.org, iommu@lists.linux-foundation.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, linux-scsi@vger.kernel.org, linux-usb@vger.kernel.org, linux-edac@vger.kernel.org, linux-mm@kvack.org, alsa-devel@alsa-project.org Subject: [PATCH V4 1/2] ACPI / EC: Fix broken 64bit big-endian users of 'global_lock' Date: Fri, 25 Sep 2015 09:41:37 -0700 Message-Id: X-Mailer: git-send-email 2.4.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: viresh.kumar@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.215.48 as permitted sender) smtp.mailfrom=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , global_lock is defined as an unsigned long and accessing only its lower 32 bits from sysfs is incorrect, as we need to consider other 32 bits for big endian 64 bit systems. There are no such platforms yet, but the code needs to be robust for such a case. Fix that by passing a local variable to debugfs_create_bool() and assigning its value to global_lock later. Signed-off-by: Viresh Kumar Acked-by: Rafael J. Wysocki --- V3->V4: - Create a local variable instead of changing type of global_lock (Rafael) - Drop the stable tag - BCC'd a lot of people (rather than cc'ing them) to make sure - the series reaches them - mailing lists do not block the patchset due to long cc list - and we don't spam the BCC'd people for every reply --- drivers/acpi/ec_sys.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/acpi/ec_sys.c b/drivers/acpi/ec_sys.c index b4c216bab22b..b44b91331a56 100644 --- a/drivers/acpi/ec_sys.c +++ b/drivers/acpi/ec_sys.c @@ -110,6 +110,7 @@ static int acpi_ec_add_debugfs(struct acpi_ec *ec, unsigned int ec_device_count) struct dentry *dev_dir; char name[64]; umode_t mode = 0400; + u32 val; if (ec_device_count == 0) { acpi_ec_debugfs_dir = debugfs_create_dir("ec", NULL); @@ -127,10 +128,11 @@ static int acpi_ec_add_debugfs(struct acpi_ec *ec, unsigned int ec_device_count) if (!debugfs_create_x32("gpe", 0444, dev_dir, (u32 *)&first_ec->gpe)) goto error; - if (!debugfs_create_bool("use_global_lock", 0444, dev_dir, - (u32 *)&first_ec->global_lock)) + if (!debugfs_create_bool("use_global_lock", 0444, dev_dir, &val)) goto error; + first_ec->global_lock = val; + if (write_support) mode = 0600; if (!debugfs_create_file("io", mode, dev_dir, ec, &acpi_ec_io_ops))