← Back to team overview

kernel-packages team mailing list archive

[Bug 1327300] [NEW] Regression in commit 8e4e453d548e3c24e9070eda23c52f210951b921

 

Public bug reported:

Phil Turnbull reported a problem with the Lucid (2.6.32) backport of
  futex: Always cleanup owner tid in unlock_pi
  commit: 8e4e453d548e3c24e9070eda23c52f210951b921

In patches-2.6.32.tgz:patches/0003-futex-Always-cleanup-owner-tid-in-unlock_pi.$
there is this change (ignoring whitespace changes):

        curval = cmpxchg_futex_value_locked(uaddr, uval, newval);
-
-               if (curval == -EFAULT)
+       if (curval)
                ret = -EFAULT;

which seems to change the behaviour of the function.

The purpose of the return value of cmpxchg_futex_value_locked changed in

37a9d912b24f96a0591 "futex: Sanitize cmpxchg_futex_value_locked API"

which is not included in 2.6.32. This patch changes the return value to a
status code, but in 2.6.32 the return value is the value of the futex or
-EFAULT. With this backported patch, any futex with a non-zero value will
return -EFAULT.

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: John Johansen (jjohansen)
         Status: Confirmed

** Affects: linux (Ubuntu Lucid)
     Importance: Undecided
         Status: New

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => John Johansen (jjohansen)

** Changed in: linux (Ubuntu)
       Status: New => Confirmed

** Also affects: linux (Ubuntu Lucid)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1327300

Title:
  Regression in commit 8e4e453d548e3c24e9070eda23c52f210951b921

Status in “linux” package in Ubuntu:
  Confirmed
Status in “linux” source package in Lucid:
  New

Bug description:
  Phil Turnbull reported a problem with the Lucid (2.6.32) backport of
    futex: Always cleanup owner tid in unlock_pi
    commit: 8e4e453d548e3c24e9070eda23c52f210951b921

  In patches-2.6.32.tgz:patches/0003-futex-Always-cleanup-owner-tid-in-unlock_pi.$
  there is this change (ignoring whitespace changes):

          curval = cmpxchg_futex_value_locked(uaddr, uval, newval);
  -
  -               if (curval == -EFAULT)
  +       if (curval)
                  ret = -EFAULT;

  which seems to change the behaviour of the function.

  The purpose of the return value of cmpxchg_futex_value_locked changed
  in

  37a9d912b24f96a0591 "futex: Sanitize cmpxchg_futex_value_locked API"

  which is not included in 2.6.32. This patch changes the return value to a
  status code, but in 2.6.32 the return value is the value of the futex or
  -EFAULT. With this backported patch, any futex with a non-zero value will
  return -EFAULT.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1327300/+subscriptions


Follow ups

References