lkml.org 
[lkml]   [2012]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 068/120] ext4: fix crash when accessing /proc/mounts concurrently
    Date
    3.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>

    commit 50df9fd55e4271e89a7adf3b1172083dd0ca199d upstream.

    The crash was caused by a variable being erronously declared static in
    token2str().

    In addition to /proc/mounts, the problem can also be easily replicated
    by accessing /proc/fs/ext4/<partition>/options in parallel:

    $ cat /proc/fs/ext4/<partition>/options > options.txt

    ... and then running the following command in two different terminals:

    $ while diff /proc/fs/ext4/<partition>/options options.txt; do true; done

    This is also the cause of the following a crash while running xfstests
    #234, as reported in the following bug reports:

    https://bugs.launchpad.net/bugs/1053019
    https://bugzilla.kernel.org/show_bug.cgi?id=47731

    Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Brad Figg <brad.figg@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ext4/super.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/fs/ext4/super.c
    +++ b/fs/ext4/super.c
    @@ -1692,7 +1692,7 @@ static inline void ext4_show_quota_optio

    static const char *token2str(int token)
    {
    - static const struct match_token *t;
    + const struct match_token *t;

    for (t = tokens; t->token != Opt_err; t++)
    if (t->token == token && !strchr(t->pattern, '='))



    \
     
     \ /
      Last update: 2012-10-11 04:21    [W:4.054 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site