From patchwork Mon Mar 25 12:57:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 161094 Delivered-To: patch@linaro.org Received: by 2002:a02:c6d8:0:0:0:0:0 with SMTP id r24csp3935966jan; Mon, 25 Mar 2019 05:59:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqw8h+FN+rMmFU5A5bCWP6X9qOluBFOMIZ7gPKA7rwjkKt859OzBfHYzhk3mZqAtCxadRllE X-Received: by 2002:a17:902:bd82:: with SMTP id q2mr18782614pls.201.1553518751725; Mon, 25 Mar 2019 05:59:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553518751; cv=none; d=google.com; s=arc-20160816; b=Vk6RsNmrf9VWc1XLWUC1dyl0dEXNEuwFz2NEkDQFDqk3N3in6wrJYcFloRuswKl0an SBhIV0eDW4FMfsPCaCrEregc/8iXavEHttiDBZ/9NtzlK0j1MXfyj1dVzwjt/uf5ENmv rTmS/LMe964nePuLXerpiYcSfRDHZy03TMgaCySTq4USL++6s4u6GYVBi2KdQFuV/rF2 Yqej5hyYkN83I8tuHeKLrEoSCRDctSy+mTJFPEGls2x9t/4/yiZVFGkXE4f5Dnb/jSEk 6iAOXyVRoSPtKc5IwUcYgrYe+9UUdj8ztCDWMgpLyp0w7Muh+dl5N/0a5sFRoBzmCqmH +Wqw== 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; bh=k0JQx6A7ovCTUZeq6iK8mryXpQ+Xk0Dd7yoGsJabhpo=; b=XAUDaFL6Yv3lS9D6iQdXP3Y4LkUqIeZGN/hLMQ2JjwwrQpe65IME9ey3x+DMQ+qNcn PQ40vgOenT8jUSecZD9mOcxNuKiDTyUeCyBuYKWhNP8grkiH5WrFYjGOwmMkTR+HZ6fc tc+9LgLRb24qadaKAhGGuXrbaoE+zerdudP+oDBNWR0Wa2BjHUyWBdfCjXvrgjFh/WFi Kd4UBv8k9/nRaYwTiAB7X6xwyOjVsbPKyAOl41IDj2x+KmzlrdhOohEaXP82Zp32K8QA Jp47m5s1XWZLmVjAovodM3ht9mN3RHdrO2V2/vG87/2i9ioC8oeFypEBTjncHeZ6Zmwi JH2A== ARC-Authentication-Results: i=1; mx.google.com; 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 d62si13990543pfg.209.2019.03.25.05.59.11; Mon, 25 Mar 2019 05:59:11 -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; 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 S1731333AbfCYM7J (ORCPT + 31 others); Mon, 25 Mar 2019 08:59:09 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:37757 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731076AbfCYM7J (ORCPT ); Mon, 25 Mar 2019 08:59:09 -0400 Received: from wuerfel.lan ([149.172.19.189]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.145]) with ESMTPA (Nemesis) id 1N7AAk-1gtvjC2hYa-017WsT; Mon, 25 Mar 2019 13:58:10 +0100 From: Arnd Bergmann To: Peter Zijlstra , Ingo Molnar , Will Deacon Cc: clang-built-linux@googlegroups.com, Nick Desaulniers , Nathan Chancellor , Arnd Bergmann , Bart Van Assche , Waiman Long , "Joel Fernandes (Google)" , "Steven Rostedt (VMware)" , linux-kernel@vger.kernel.org Subject: [PATCH] lockdep: avoid bogus clang warning Date: Mon, 25 Mar 2019 13:57:57 +0100 Message-Id: <20190325125807.1437049-1-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 MIME-Version: 1.0 X-Provags-ID: V03:K1:0JalITWuNlbGqFMWf9YPNNXCWWUj21kBnB2vH7FtjIP/ktkihCw 5HK5xvrpIjZDO4dtalArBgT5e8vsk0eqzK+BGsRPdkYpl3T9ElR3Fm946BO+r/k/DRRsapw 5Wyiu1+Rz9NnxYd4TfYJPZa5DC3joUl5P+j5u1Tt++fjU7nS3x+hHRQYc/c9a494JY5uTiu IZbq8xmlU8kwg0zN7EunA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:vuakBT5w3FA=:hSdnnqgKKJeV+VQOcavrmK maXlRfkopN986NZHq/koC9j58NRJ1Nx/chb5Uaz0sQ+gk+6eKY0WbiGg4VQ4+8H4g6qxyrb27 q7vlGWXhPDVc5I2kT7fHKvDIW1nqto8VTR1nbKnqbCBpIZfRfmB+yPCEvFnuZstjuMp6XSG/k DW5Mo6+6/m0d3wWRf2BDKGPIGGZ79+hVmwdtuxhJKBsvoFTg4ka/KJLHWJCWfgAwixWe7IiQU m3T4Dq2Omfzp4WehUPffL06XWRi29S2++OgpjeyOy/HwP+t6WUU39Ti2k7MdDmYh4PWNLa1Eb nuhN+6mQ6vz09O60+GvM/ABEZvexRebYwNp+xNcS/jQ3t9RWf+9vOYsoIoOuaSXZfDVybzAx2 DXmc2O4VqRLIA1qe1F5d+EfLkwTbV9J8C6A8gIPDGeajS4jfG+CPZDtGK6QXztl0JMyrWOV4i kfbXAex/3RmyJcPTKxXhP31ncaIBLOm+beunBoG+dkFOQeYPxX/Y/IkSV+MKFls/WsrpgvYRr koQ34AlqLwEEvKt8c3aJrfiqgOdSKUa3tIJX5n/fd59BXmLsPBZhbZn+R2zUbxlF3cTtGqfsf C3CQFuF6xbD182nqDjQxtXOBopNtw+Jn7DLUc9rIw7KVXBU0q+eqdq45qfCjRgeTuCbcjWXpS yzME8HQ6/HM7wO+fRoLB3CPDV6x3QaeGAdG1uUIF9qMpZeeqrDT4jMp/fv3V8FQ0rQ9AnjxGC cfsU+FsPUY3VKXF78xczqJTPIodkbtjDZIy8Pw== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When lockdep is enabled, and -Wuninitialized warnings are enabled, clang produces a silly warning for every file we compile: In file included from kernel/sched/fair.c:23: kernel/sched/sched.h:1094:15: error: variable 'cookie' is uninitialized when used here [-Werror,-Wuninitialized] rf->cookie = lockdep_pin_lock(&rq->lock); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/lockdep.h:474:60: note: expanded from macro 'lockdep_pin_lock' #define lockdep_pin_lock(l) ({ struct pin_cookie cookie; cookie; }) ^~~~~~ kernel/sched/sched.h:1094:15: note: variable 'cookie' is declared here include/linux/lockdep.h:474:34: note: expanded from macro 'lockdep_pin_lock' #define lockdep_pin_lock(l) ({ struct pin_cookie cookie; cookie; }) ^ As the 'struct pin_cookie' structure is empty in this configuration, there is no need to initialize it for correctness, but it also does not hurt to set it to an empty structure, so do that to avoid the warning. Signed-off-by: Arnd Bergmann --- include/linux/lockdep.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.20.0 Reviewed-by: Steven Rostedt (VMware) Acked-by: Will Deacon diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 79c3873d58ac..31d7549933eb 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h @@ -471,7 +471,7 @@ struct pin_cookie { }; #define NIL_COOKIE (struct pin_cookie){ } -#define lockdep_pin_lock(l) ({ struct pin_cookie cookie; cookie; }) +#define lockdep_pin_lock(l) ({ struct pin_cookie cookie = {}; cookie; }) #define lockdep_repin_lock(l, c) do { (void)(l); (void)(c); } while (0) #define lockdep_unpin_lock(l, c) do { (void)(l); (void)(c); } while (0)