From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from aserp2120.oracle.com ([141.146.126.78]:41454 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404936AbhAZL0J (ORCPT ); Tue, 26 Jan 2021 06:26:09 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 10QBOXpU150477 for ; Tue, 26 Jan 2021 11:25:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : subject : message-id : mime-version : content-type; s=corp-2020-01-29; bh=/S0ZKS0HHwsZRBEcfNje89c62TgMPRQ1B1XZqd9eZ1s=; b=u8D9qe9VE46GDlTiQZdhZMQTuuqawAAPO5KWUlU620OvDtiFqRDdCXa6tsbhkhgMYnJw xySPfbhN26t9ugG1FzRFtBveC0omzsRY8ITfaYM3ggkanxNtIGgAIlKY/n2pcvHwc64R 6gVvkZUpjBOkaW3fgi5rry5RyDZP1SkuaRW0Ts5hVfRnJmHUAye4LnY+38C9D5hcJBts NeyNthDa17QxvQTW8MS1F72p7dNr/IC4VQ/8if9S3xi+cBIQAzX5Lh2oqpf7Q+7V/kmz adDsfRMnzrNJ8KgUZTVIlJG4nejAaXADZNmqDP2JIwNZj6rdZ+iJMudKG92++qqWETiy aQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 368brkhjjr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 26 Jan 2021 11:25:19 +0000 Date: Tue, 26 Jan 2021 14:25:08 +0300 From: Dan Carpenter Subject: smatch v1.71 released Message-ID: <20210126112508.GY2696@kadam> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline List-ID: To: smatch@vger.kernel.org Intro: Smatch is a C static checker with a lot of kernel specific checks. You can download it from: http://repo.or.cz/w/smatch.git. Or if you prefer a github mirror, then you can download it from https://github.com/error27/smatch The last time I made a release was in 2015. https://lwn.net/Articles/629250/ There have been over two thousand patches to Smatch in the past six years but it's hard to point to any one thing as standing out. I guess, one thing I'm happy about is that Smatch is now much better at tracking user controlled data. Another thing which I can mention that I re-wrote check_locking.c and wrote a blog entry about it: https://blogs.oracle.com/linux/writing-the-ultimate-locking-check The uninitialized variable warning that I mentioned six years ago is more important than ever now that we have disabled the GCC warning for uninitialized variables. I really suggest that people do add Smatch to their QC process. You don't have to have the full cross function database built. Just do: ~/path/to/smatch/smatch_scripts/kchecker drivers/file.c You could also just build a sub directory: ~/path/to/smatch/smatch_scripts/kchecker drivers/subdir/ If you don't use Smatch, that's fine as well because kbuild bot will catch it or I will catch it or someone else will. But probably it saves time for everyone if developers run it themselves. Building the cross function database is also really useful. The ~/path/to/smatch/smatch_data/db/smdb.py script is helpful to understand how function pointers are called or where struct members are set. Building the database takes a long time to run but it's simple to do: ~/path/to/smatch/smatch_scripts/build_kernel_data.sh And to test the whole kernel the command is: ~/path/to/smatch/smatch_scripts/test_kernel.sh This is kind of a weird release because it's been so long since the previous release. I'm hoping to do more regular releases with better release notes. regards, dan carpenter