18 Jul, 2015

1 commit

  • Using __printf attributes helps to detect several format string issues
    at compile time (even though -Wformat-security is currently disabled in
    Makefile). For example it can detect when formatting a pointer as a
    number, like the issue fixed in commit a3fa71c40f18 ("wl18xx: show
    rx_frames_per_rates as an array as it really is"), or when the arguments
    do not match the format string, c.f. for example commit 5ce1aca81435
    ("reiserfs: fix __RASSERT format string").

    To prevent similar bugs in the future, add a __printf attribute to every
    function prototype which needs one in include/linux/ and lib/. These
    functions were mostly found by using gcc's -Wsuggest-attribute=format
    flag.

    Signed-off-by: Nicolas Iooss
    Cc: Greg Kroah-Hartman
    Cc: Felipe Balbi
    Cc: Joel Becker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Iooss
     

06 May, 2015

3 commits

  • Add a helper to allocate and add a clk_lookup structure. This can not
    only be used in several places in clkdev.c to simplify the code, but
    more importantly, can be used by callers of the clkdev code to simplify
    their clkdev creation and registration.

    Signed-off-by: Russell King

    Russell King
     
  • The connection id is only passed to clk_get() which is already const.
    Const-ify this argument too.

    Signed-off-by: Russell King

    Russell King
     
  • clk_add_alias() calls clk_get() followed by clk_put() but in between
    those two calls it saves away the struct clk pointer to a clk_lookup
    structure. This leaves the 'clk' member of the clk_lookup pointing at
    freed memory on configurations where CONFIG_COMMON_CLK=y. This is a
    problem because clk_get_sys() will eventually try to dereference the
    freed pointer by calling __clk_get_hw() on it. Fix this by saving away
    the struct clk_hw pointer instead of the struct clk pointer so that when
    we try to create a per-user struct clk in clk_get_sys() we don't
    dereference a junk pointer.

    Signed-off-by: Russell King

    Russell King
     

05 Dec, 2013

1 commit

  • This patch adds common __clk_get(), __clk_put() clkdev helpers that
    replace their platform specific counterparts when the common clock
    API is used.

    The owner module pointer field is added to struct clk so a reference
    to the clock supplier module can be taken by the clock consumers.

    The owner module is assigned while the clock is being registered,
    in functions _clk_register() and __clk_register().

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Russell King

    Sylwester Nawrocki
     

02 May, 2012

1 commit


13 Oct, 2011

1 commit


26 Nov, 2010

1 commit