lkml.org 
[lkml]   [2010]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/3] ptrace: annotate siglock acquirement
    Date
    lock_task_sighand() conditionally acquires sighand->siglock in case of
    returning non-NULL but unlock_task_sighand() releases it unconditionally.
    This leads sparse to complain about the lock context imbalance. Annotate it
    to make sparse happier.

    Signed-off-by: Namhyung Kim <namhyung@gmail.com>
    ---
    kernel/ptrace.c | 2 ++
    1 files changed, 2 insertions(+), 0 deletions(-)

    diff --git a/kernel/ptrace.c b/kernel/ptrace.c
    index 1abbb4d..4553275 100644
    --- a/kernel/ptrace.c
    +++ b/kernel/ptrace.c
    @@ -438,6 +438,7 @@ static int ptrace_getsiginfo(struct task_struct *child, siginfo_t *info)
    int error = -ESRCH;

    if (lock_task_sighand(child, &flags)) {
    + __acquire(&child->sighand->siglock);
    error = -EINVAL;
    if (likely(child->last_siginfo != NULL)) {
    *info = *child->last_siginfo;
    @@ -454,6 +455,7 @@ static int ptrace_setsiginfo(struct task_struct *child, const siginfo_t *info)
    int error = -ESRCH;

    if (lock_task_sighand(child, &flags)) {
    + __acquire(&child->sighand->siglock);
    error = -EINVAL;
    if (likely(child->last_siginfo != NULL)) {
    *child->last_siginfo = *info;
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2010-08-22 12:25    [W:0.021 / U:28.824 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site