From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751149AbdBDPR5 (ORCPT ); Sat, 4 Feb 2017 10:17:57 -0500 Received: from bh-25.webhostbox.net ([208.91.199.152]:52570 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750879AbdBDPR4 (ORCPT ); Sat, 4 Feb 2017 10:17:56 -0500 Subject: Re: Staging: speakup - syle fix permissions to octal To: Julia Lawall References: <20170128060509.21260-1-robsonde@gmail.com> <20170204044403.GA2380@roeck-us.net> <1486193266.22276.82.camel@perches.com> Cc: Joe Perches , Derek Robson , w.d.hubbs@gmail.com, chris@the-brannons.com, kirk@reisers.ca, samuel.thibault@ens-lyon.org, gregkh@linuxfoundation.org, shraddha.6596@gmail.com, alan@linux.intel.com, shiva@exdev.nl, amitoj1606@gmail.com, amsfield22@gmail.com, bhumirks@gmail.com, waltfeasel@gmail.com, speakup@linux-speakup.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org From: Guenter Roeck Message-ID: <73e1fc67-804c-ba28-178f-82224c54bb7c@roeck-us.net> Date: Sat, 4 Feb 2017 07:17:51 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated_sender: linux@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: linux@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: linux@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/04/2017 06:29 AM, Julia Lawall wrote: > > > On Sat, 4 Feb 2017, Guenter Roeck wrote: > >> On 02/03/2017 11:27 PM, Joe Perches wrote: >>> (adding Julia Lawall) >>> >>> On Fri, 2017-02-03 at 20:44 -0800, Guenter Roeck wrote: >>>> On Sat, Jan 28, 2017 at 07:05:09PM +1300, Derek Robson wrote: >>>>> A style fix across whole driver. >>>>> changed permissions to octal style, found using checkpatch >>>>> >>>>> Signed-off-by: Derek Robson >>>> >>>> FWIW, I think changes like this are best done using coccinelle. >>> >>> I think checkpatch does it reasonably well. >>> >>> Julia? Can coccinelle do this? >>> >>> I believe cocinelle doesn't handle the substitution >>> and octal addition very well when multiple flags >>> are used. >>> >> >> Why not ? Seems to be quite simple. One just has to list all the variants >> being used in the rule. >> >>>> That ensures that the results can be reproduced and are well defined. >>>> As it is, someone will have to check each line of your patches to ensure >>>> that the conversion is correct. >>>> >>>> It would also ensure (hopefully) that we don't end up with constructs >>>> such as >>>> >>>>> -#define USER_R (S_IFREG|S_IRUGO) >>>>> -#define USER_W (S_IFREG|S_IWUGO) >>>>> +#define USER_R (S_IFREG|0444) >>>>> +#define USER_W (S_IFREG|0666) >>>> >>>> which really defeat the purpose of the whole exercise. >>> >>> Why do you think mixing file specific attributes >>> with octal permissions is a bad thing? >>> >> >> Just an assumption. My bad. Ultimately, what I think doesn't really >> matter, though - because what I think is that the whole "use octals" >> is a bad idea to start with. > > I don't think I have received yet the message that this is referring to. > But I don't see a problem for Coccinelle a priori. If there are things > that need to be added together, as long as they are explicit constants, > that can be done in python or ocaml. > Something like @@ @@ ( - S_IFREG | S_IRUGO | S_IWUGO + S_IFREG | 0666 | - S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH + 0644 | - S_IRUGO|S_IWUSR + 0644 | - S_IWUSR|S_IRUGO + 0644 | - S_IRUGO|S_IWUGO + 0666 | - S_IWUGO|S_IRUGO + 0666 | - S_IRUGO + 0444 | - S_IWUGO + 0222 | - S_IWUSR + 0200 ) Odd is that the S_IFREG rule seems to be needed to catch "S_IFREG | S_IRUGO | S_IWUGO", but probably I am missing something as usual ;-). Guenter