Re: [PATCH v3 0/3] fs/binfmts: Improve handling of loops

From: Zach Levis
Date: Wed Aug 07 2013 - 19:30:56 EST


On 08/06/2013 02:11 PM, Kees Cook wrote:
Hi Zach,

I like the idea behind these clean ups. Thanks for working on them!

On Fri, Aug 02, 2013 at 04:21:40PM -0700, Zach Levis wrote:
This v3 is based off Oleg's changes from "exec: more cleanups" and
"exec: minor cleanups + minor fix"

I would echo all of Oleg's comments on the series so far. Additionally,
working on that. v4 will take a little longer since I'm working on some more significant changes to make sure I reset all of the possible data in the linux_binprm struct and reuse the code from do_execve_common for that as much as possible.

please use "scripts/checkpatch.pl" for checking your patches for common
errors (see item 4 in Documentation/SubmittingPatches). I see a number
of problems that are detected by the tool:

WARNING: line over 80 characters
#52: FILE: fs/exec.c:1403:
+ if (retval == -ELOOP && bprm->recursion_depth == 0) { /* cur, previous */

...

ERROR: trailing statements should be on next line
#269: FILE: fs/binfmt_em86.c:70:
+ if (retval < 0) return retval;

...

ERROR: "(foo*)" should be "(foo *)"
#341: FILE: fs/binfmt_flat.c:791:
+ memset((void*)(datapos + data_len), 0, bss_len +

etc.

will do
After that, be sure to use "scripts/get_maintainer.pl" for generating
your CC list (see item 5 in SubmittingPatches; I initially missed this
series -- adding more CCs for people that have touched the code can help
with your reviews).
Sorry about that. Will do in the future


Also, you only need to include a single Signed-off-by line for
yourself. :)
Well, then it seems I'll be sending the next rev from my personal email, seeing as I've only got a week and a half left on my internship here (and until I lose access to my IBM email).

It incorporates Oleg and Andrew's suggestions and takes care
of the issue from Dan's patch "fs/binfmts: double unlock in
search_binary_handler()"

In the commit message, can you include some examples of how to generate
the loops you're encountering? This helps people understand why you're
doing what you're doing and provides a way for people to reproduce the
conditions themselves.
Commit 2/3 has a link to a gist with testcases for the scripts -- I stuck them in a gist so they didn't clog up the commit message. If there's a way you'd prefer me to reference them let me know.


Thanks,

-Kees


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/