{"id":809008,"url":"http://patchwork.ozlabs.org/api/patches/809008/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1504222183-61202-32-git-send-email-keescook@chromium.org/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1504222183-61202-32-git-send-email-keescook@chromium.org>","list_archive_url":null,"date":"2017-08-31T23:29:43","name":"[31/31] timer: Switch to testing for .function instead of .data","commit_ref":null,"pull_url":null,"state":"awaiting-upstream","archived":false,"hash":"af5b4024561eb8f27392347691c9cd4c349bc907","submitter":{"id":10641,"url":"http://patchwork.ozlabs.org/api/people/10641/?format=json","name":"Kees Cook","email":"keescook@chromium.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1504222183-61202-32-git-send-email-keescook@chromium.org/mbox/","series":[{"id":1119,"url":"http://patchwork.ozlabs.org/api/series/1119/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=1119","date":"2017-08-31T23:29:43","name":null,"version":1,"mbox":"http://patchwork.ozlabs.org/series/1119/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/809008/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/809008/checks/","tags":{},"related":[],"headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.136; helo=silver.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"G8qoMEHo\"; dkim-atps=neutral"],"Received":["from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkXM431wTz9sPt\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 07:24:48 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id CE3D830BC9;\n\tFri,  1 Sep 2017 21:24:46 +0000 (UTC)","from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id zoTpSyKyBWYe; Fri,  1 Sep 2017 21:24:45 +0000 (UTC)","from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 6A02330BC4;\n\tFri,  1 Sep 2017 21:24:45 +0000 (UTC)","from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 122011CE899\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 31 Aug 2017 23:47:11 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 09D3E30A78\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 31 Aug 2017 23:47:11 +0000 (UTC)","from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id 2mXOd60--XEa for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 31 Aug 2017 23:47:10 +0000 (UTC)","from mail-pg0-f42.google.com (mail-pg0-f42.google.com\n\t[74.125.83.42])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 070532E871\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 31 Aug 2017 23:47:10 +0000 (UTC)","by mail-pg0-f42.google.com with SMTP id 63so3251730pgc.2\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 31 Aug 2017 16:47:10 -0700 (PDT)","from www.outflux.net\n\t(173-164-112-133-Oregon.hfc.comcastbusiness.net. [173.164.112.133])\n\tby smtp.gmail.com with ESMTPSA id\n\t10sm938904pfl.59.2017.08.31.16.39.20\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 31 Aug 2017 16:39:24 -0700 (PDT)"],"X-Virus-Scanned":["amavisd-new at osuosl.org","amavisd-new at osuosl.org"],"X-Greylist":"from auto-whitelisted by SQLgrey-1.7.6","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=YYR7Wl3TrS38XyFtQ9gBif8HUmvSB3ieDqRNqWu220w=;\n\tb=G8qoMEHoqYtADX/WMjaVzojpp6glIjzicIAxV69iy/fNuS/CEzo4/D5oGpEMrALfXh\n\tzlXK9IIQGty/qyPINx84DNDXGTs2tPUysUHtFqFxyu8DcJLi2P9gXiBvRNyuhtflRy82\n\t0YUOM9ACKi45uI9Tv8j3bySLPsnz/ApE8ufdo=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=YYR7Wl3TrS38XyFtQ9gBif8HUmvSB3ieDqRNqWu220w=;\n\tb=hYCuiKnWl95Gqqn9DW/KxO5Tp0yhBmhfr7H5YdplBKV4hn4qpA1aL4EzzahxlhkHxb\n\tp3p0Ajp31uCcb9HAypufmCJZZTm1lMLbtspHmKuY6IIslI2ga4f9KGZpTJJT1scXoApQ\n\t/oaCbEbOqy8J2XsVjvCXT7LvK1JaM7av7oAYZJIMMdfMHd1Re2QpcwKt2oaL591rRsTr\n\tjz3qNspEl5icVDNt0ZyzQDa32qBRbq3LKDUf5Yy9xKr5KzV6eKjkw0ugaXUBMvCxc3Tl\n\tLWJUYvLnBsuUZji6U96i9cvpblp746MecLYAKm3yWWhaC9voeIOPIyhaz+rtq7fvKObS\n\t8uUw==","X-Gm-Message-State":"AHPjjUgB9HqihNLM/QTSYtgXqI/hG2Qi7npzPuWUM69GQBWPr4ISGrdo\n\tHrOSSy0mkSkhE7Us","X-Google-Smtp-Source":"ADKCNb73zhmQv5uXzaCUvbaSffkpDyW8GnZiZGeJMsMueD933HHGewIU4ozEcTAucxtdPfEZkwUscg==","X-Received":"by 10.98.220.137 with SMTP id c9mr165082pfl.190.1504222766207;\n\tThu, 31 Aug 2017 16:39:26 -0700 (PDT)","From":"Kees Cook <keescook@chromium.org>","To":"Thomas Gleixner <tglx@linutronix.de>","Date":"Thu, 31 Aug 2017 16:29:43 -0700","Message-Id":"<1504222183-61202-32-git-send-email-keescook@chromium.org>","X-Mailer":"git-send-email 2.7.4","In-Reply-To":"<1504222183-61202-1-git-send-email-keescook@chromium.org>","References":"<1504222183-61202-1-git-send-email-keescook@chromium.org>","X-Mailman-Approved-At":"Fri, 01 Sep 2017 21:24:44 +0000","Cc":"Len Brown <len.brown@intel.com>,\n\tMike Marciniszyn <mike.marciniszyn@intel.com>,\n\tKees Cook <keescook@chromium.org>, linux-pm@vger.kernel.org,\n\tlinux-rdma@vger.kernel.org,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>, \n\tDennis Dalessandro <dennis.dalessandro@intel.com>,\n\tDmitry Torokhov <dmitry.torokhov@gmail.com>,\n\t\"Rafael J. Wysocki\" <rjw@rjwysocki.net>, linux-kernel@vger.kernel.org,\n\tDoug Ledford <dledford@redhat.com>, netdev@vger.kernel.org,\n\tintel-wired-lan@lists.osuosl.org, Pavel Machek <pavel@ucw.cz>,\n\tlinux-input@vger.kernel.org, Sean Hefty <sean.hefty@intel.com>,\n\tHal Rosenstock <hal.rosenstock@gmail.com>","Subject":"[Intel-wired-lan] [PATCH 31/31] timer: Switch to testing for\n\t.function instead of .data","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.18-1","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"In several places, .data is checked for initialization to gate early\ncalls to del_timer_sync(). Checking for .function is equally valid, so\nswitch to this in all callers.\n\nCc: \"Rafael J. Wysocki\" <rjw@rjwysocki.net>\nCc: Pavel Machek <pavel@ucw.cz>\nCc: Len Brown <len.brown@intel.com>\nCc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nCc: Mike Marciniszyn <mike.marciniszyn@intel.com>\nCc: Dennis Dalessandro <dennis.dalessandro@intel.com>\nCc: Doug Ledford <dledford@redhat.com>\nCc: Sean Hefty <sean.hefty@intel.com>\nCc: Hal Rosenstock <hal.rosenstock@gmail.com>\nCc: Dmitry Torokhov <dmitry.torokhov@gmail.com>\nCc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>\nCc: linux-pm@vger.kernel.org\nCc: linux-rdma@vger.kernel.org\nCc: linux-input@vger.kernel.org\nCc: intel-wired-lan@lists.osuosl.org\nCc: netdev@vger.kernel.org\nSigned-off-by: Kees Cook <keescook@chromium.org>\n---\n drivers/base/power/wakeup.c                 |  3 +--\n drivers/infiniband/hw/hfi1/chip.c           |  6 ++----\n drivers/infiniband/hw/hfi1/init.c           |  2 +-\n drivers/infiniband/hw/qib/qib_iba7220.c     |  2 +-\n drivers/infiniband/hw/qib/qib_iba7322.c     |  2 +-\n drivers/infiniband/hw/qib/qib_init.c        | 14 +++++---------\n drivers/infiniband/hw/qib/qib_mad.c         |  2 +-\n drivers/input/input.c                       |  5 ++---\n drivers/net/ethernet/intel/i40e/i40e_main.c |  2 +-\n 9 files changed, 15 insertions(+), 23 deletions(-)","diff":"diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c\nindex 144e6d8fafc8..79a3c1b204af 100644\n--- a/drivers/base/power/wakeup.c\n+++ b/drivers/base/power/wakeup.c\n@@ -479,8 +479,7 @@ static bool wakeup_source_not_registered(struct wakeup_source *ws)\n \t * Use timer struct to check if the given source is initialized\n \t * by wakeup_source_add.\n \t */\n-\treturn ws->timer.function != pm_wakeup_timer_fn ||\n-\t\t   ws->timer.data != (unsigned long)ws;\n+\treturn ws->timer.function != pm_wakeup_timer_fn;\n }\n \n /*\ndiff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c\nindex 94b54850ec75..53a6596cd7d6 100644\n--- a/drivers/infiniband/hw/hfi1/chip.c\n+++ b/drivers/infiniband/hw/hfi1/chip.c\n@@ -5513,9 +5513,8 @@ static int init_rcverr(struct hfi1_devdata *dd)\n \n static void free_rcverr(struct hfi1_devdata *dd)\n {\n-\tif (dd->rcverr_timer.data)\n+\tif (dd->rcverr_timer.function)\n \t\tdel_timer_sync(&dd->rcverr_timer);\n-\tdd->rcverr_timer.data = 0;\n }\n \n static void handle_rxe_err(struct hfi1_devdata *dd, u32 unused, u64 reg)\n@@ -11992,9 +11991,8 @@ static void free_cntrs(struct hfi1_devdata *dd)\n \tstruct hfi1_pportdata *ppd;\n \tint i;\n \n-\tif (dd->synth_stats_timer.data)\n+\tif (dd->synth_stats_timer.function)\n \t\tdel_timer_sync(&dd->synth_stats_timer);\n-\tdd->synth_stats_timer.data = 0;\n \tppd = (struct hfi1_pportdata *)(dd + 1);\n \tfor (i = 0; i < dd->num_pports; i++, ppd++) {\n \t\tkfree(ppd->cntrs);\ndiff --git a/drivers/infiniband/hw/hfi1/init.c b/drivers/infiniband/hw/hfi1/init.c\nindex 4a11d4da4c92..bc2af709c111 100644\n--- a/drivers/infiniband/hw/hfi1/init.c\n+++ b/drivers/infiniband/hw/hfi1/init.c\n@@ -839,7 +839,7 @@ static void stop_timers(struct hfi1_devdata *dd)\n \n \tfor (pidx = 0; pidx < dd->num_pports; ++pidx) {\n \t\tppd = dd->pport + pidx;\n-\t\tif (ppd->led_override_timer.data) {\n+\t\tif (ppd->led_override_timer.function) {\n \t\t\tdel_timer_sync(&ppd->led_override_timer);\n \t\t\tatomic_set(&ppd->led_override_timer_active, 0);\n \t\t}\ndiff --git a/drivers/infiniband/hw/qib/qib_iba7220.c b/drivers/infiniband/hw/qib/qib_iba7220.c\nindex b1d512c7ff4b..22fd65fe7193 100644\n--- a/drivers/infiniband/hw/qib/qib_iba7220.c\n+++ b/drivers/infiniband/hw/qib/qib_iba7220.c\n@@ -1662,7 +1662,7 @@ static void qib_7220_quiet_serdes(struct qib_pportdata *ppd)\n \t\t       dd->control | QLOGIC_IB_C_FREEZEMODE);\n \n \tppd->cpspec->chase_end = 0;\n-\tif (ppd->cpspec->chase_timer.data) /* if initted */\n+\tif (ppd->cpspec->chase_timer.function) /* if initted */\n \t\tdel_timer_sync(&ppd->cpspec->chase_timer);\n \n \tif (ppd->cpspec->ibsymdelta || ppd->cpspec->iblnkerrdelta ||\ndiff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c\nindex bb2439fff8fa..471aaf6bcbf2 100644\n--- a/drivers/infiniband/hw/qib/qib_iba7322.c\n+++ b/drivers/infiniband/hw/qib/qib_iba7322.c\n@@ -2531,7 +2531,7 @@ static void qib_7322_mini_quiet_serdes(struct qib_pportdata *ppd)\n \t\tcancel_delayed_work_sync(&ppd->cpspec->ipg_work);\n \n \tppd->cpspec->chase_end = 0;\n-\tif (ppd->cpspec->chase_timer.data) /* if initted */\n+\tif (ppd->cpspec->chase_timer.function) /* if initted */\n \t\tdel_timer_sync(&ppd->cpspec->chase_timer);\n \n \t/*\ndiff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c\nindex 6c16ba1107ba..66fb0318660b 100644\n--- a/drivers/infiniband/hw/qib/qib_init.c\n+++ b/drivers/infiniband/hw/qib/qib_init.c\n@@ -815,23 +815,19 @@ static void qib_stop_timers(struct qib_devdata *dd)\n \tstruct qib_pportdata *ppd;\n \tint pidx;\n \n-\tif (dd->stats_timer.data) {\n+\tif (dd->stats_timer.function)\n \t\tdel_timer_sync(&dd->stats_timer);\n-\t\tdd->stats_timer.data = 0;\n-\t}\n-\tif (dd->intrchk_timer.data) {\n+\tif (dd->intrchk_timer.function)\n \t\tdel_timer_sync(&dd->intrchk_timer);\n-\t\tdd->intrchk_timer.data = 0;\n-\t}\n \tfor (pidx = 0; pidx < dd->num_pports; ++pidx) {\n \t\tppd = dd->pport + pidx;\n-\t\tif (ppd->hol_timer.data)\n+\t\tif (ppd->hol_timer.function)\n \t\t\tdel_timer_sync(&ppd->hol_timer);\n-\t\tif (ppd->led_override_timer.data) {\n+\t\tif (ppd->led_override_timer.function) {\n \t\t\tdel_timer_sync(&ppd->led_override_timer);\n \t\t\tatomic_set(&ppd->led_override_timer_active, 0);\n \t\t}\n-\t\tif (ppd->symerr_clear_timer.data)\n+\t\tif (ppd->symerr_clear_timer.function)\n \t\t\tdel_timer_sync(&ppd->symerr_clear_timer);\n \t}\n }\ndiff --git a/drivers/infiniband/hw/qib/qib_mad.c b/drivers/infiniband/hw/qib/qib_mad.c\nindex f5a2aed31a89..37483f32935c 100644\n--- a/drivers/infiniband/hw/qib/qib_mad.c\n+++ b/drivers/infiniband/hw/qib/qib_mad.c\n@@ -2496,7 +2496,7 @@ void qib_notify_free_mad_agent(struct rvt_dev_info *rdi, int port_idx)\n \tstruct qib_devdata *dd = container_of(ibdev,\n \t\t\t\t\t      struct qib_devdata, verbs_dev);\n \n-\tif (dd->pport[port_idx].cong_stats.timer.data)\n+\tif (dd->pport[port_idx].cong_stats.timer.function)\n \t\tdel_timer_sync(&dd->pport[port_idx].cong_stats.timer);\n \n \tif (dd->pport[port_idx].ibport_data.smi_ah)\ndiff --git a/drivers/input/input.c b/drivers/input/input.c\nindex 7e6842bd525c..a91fbbfc1b32 100644\n--- a/drivers/input/input.c\n+++ b/drivers/input/input.c\n@@ -76,7 +76,7 @@ static void input_start_autorepeat(struct input_dev *dev, int code)\n {\n \tif (test_bit(EV_REP, dev->evbit) &&\n \t    dev->rep[REP_PERIOD] && dev->rep[REP_DELAY] &&\n-\t    dev->timer.data) {\n+\t    dev->timer.function) {\n \t\tdev->repeat_key = code;\n \t\tmod_timer(&dev->timer,\n \t\t\t  jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]));\n@@ -1790,7 +1790,7 @@ struct input_dev *input_allocate_device(void)\n \t\tdevice_initialize(&dev->dev);\n \t\tmutex_init(&dev->mutex);\n \t\tspin_lock_init(&dev->event_lock);\n-\t\tinit_timer(&dev->timer);\n+\t\tsetup_timer(&dev->timer, NULL, (unsigned long)dev);\n \t\tINIT_LIST_HEAD(&dev->h_list);\n \t\tINIT_LIST_HEAD(&dev->node);\n \n@@ -2053,7 +2053,6 @@ static void devm_input_device_unregister(struct device *dev, void *res)\n  */\n void input_enable_softrepeat(struct input_dev *dev, int delay, int period)\n {\n-\tdev->timer.data = (unsigned long) dev;\n \tdev->timer.function = input_repeat_key;\n \tdev->rep[REP_DELAY] = delay;\n \tdev->rep[REP_PERIOD] = period;\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 2db93d3f6d23..b9a4c1a6e4ba 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -11797,7 +11797,7 @@ static void i40e_remove(struct pci_dev *pdev)\n \t/* no more scheduling of any task */\n \tset_bit(__I40E_SUSPENDED, pf->state);\n \tset_bit(__I40E_DOWN, pf->state);\n-\tif (pf->service_timer.data)\n+\tif (pf->service_timer.function)\n \t\tdel_timer_sync(&pf->service_timer);\n \tif (pf->service_task.func)\n \t\tcancel_work_sync(&pf->service_task);\n","prefixes":["31/31"]}