Messages in this thread | | | Date | Fri, 27 May 2011 20:13:48 -0700 | From | Kees Cook <> | Subject | Re: status of constification |
| |
Hi Emese,
I got distracted, but I'd like to get back to this thread...
On Tue, Nov 09, 2010 at 10:37:41PM +0100, Emese Revfy wrote: > I will gladly break up my current patch for the next -rc by structure > type or maintainer (some preferred it one way or the other) and send > it in some time next week so that you can handle the upstream submission > process (I will continue to maintain my patch in grsecurity). > > There are many structures that can be constified, you can use the following > command to find most of them (use it on an allyesconfig kernel preferably): > > grep _ops System.map |grep -Ewi 'b|d' | awk '{print $3}' | \ > while read i ; do cscope -d -L -1 $i | grep -E "struct[ \t]*([^ ]*)[ \t]*" \ > --color=none -o | awk '{print $2}' ; done |sort -u > > Also there are always new instances of structures going in that should have > been constified.
Just in my running kernel, I see 56 _ops structures reported from the above search. :)
Do you have a new stack of patches I can help usher into the kernel? I don't want reinvent the wheel if I don't have to. :)
> I tried to automate the whole process with Coccinelle but I abandoned it > because Coccinelle didn't support recursive header file inclusion at the time. > If someone feels like fixing Coccinelle then I would quickly finish my script > (it has a few bugs because I could never test it for real), but see the end > of the mail for the current version. I think it would be a good idea because > it would take a few hours only to generate a constification patch for a new > kernel. One thing that probably cannot be automated with Coccinelle is that > once the script determines that a given structure cannot be constified, it > cannot undo already emitted patches for the given structure so it must be > cleaned up by post processing script.
Has there been any update to your Coccinelle script since the addition of -recursive_includes?
Thanks!
-Kees
-- Kees Cook Ubuntu Security Team
| |