Activity log for bug #479102

Date Who What changed Old value New value Message
2009-11-09 12:01:57 John Johansen bug added bug
2009-11-09 12:02:45 John Johansen linux (Ubuntu): status New In Progress
2009-11-09 12:02:45 John Johansen linux (Ubuntu): assignee John Johansen (jjohansen)
2009-11-09 12:03:35 John Johansen nominated for series Ubuntu Karmic
2009-11-10 17:24:01 John Johansen description The auditing code of capabilities, has a simple cache to reduce capability messages flooding the audit logs. Checking and updating the cache disables kernel preemption (via get_cpu_var). One potential exit path does not properly put the per cpu var, thus not reenabling preemption. ent = &get_cpu_var(audit_cache); if (sa->base.task == ent->task && cap_raised(ent->caps, sa->cap)) { --------> needs put_cpu_var(audit_cache); <-------- if (PROFILE_COMPLAIN(profile)) return 0; return sa->base.error; } else { ent->task = sa->base.task; cap_raise(ent->caps, sa->cap); } put_cpu_var(audit_cache); SRU Justification: Failing to put_cpu_var means that kernel preemption is disabled for the task. This will affect all confined processes that try to audit a capability message (so an process that has capability violation or is in learning mode and would have a capability violation). The auditing code of capabilities, has a simple cache to reduce capability messages flooding the audit logs. Checking and updating the cache disables kernel preemption (via get_cpu_var). One potential exit path does not properly put the per cpu var, thus not reenabling preemption.  ent = &get_cpu_var(audit_cache);  if (sa->base.task == ent->task && cap_raised(ent->caps, sa->cap)) { --------> needs put_cpu_var(audit_cache); <--------   if (PROFILE_COMPLAIN(profile))    return 0;   return sa->base.error;  } else {   ent->task = sa->base.task;   cap_raise(ent->caps, sa->cap);  }  put_cpu_var(audit_cache);
2009-11-12 15:30:09 Tim Gardner bug task added linux (Ubuntu Karmic)
2009-11-12 15:44:13 Stefan Bader linux (Ubuntu Karmic): importance Undecided Medium
2009-11-12 15:44:13 Stefan Bader linux (Ubuntu Karmic): status New Fix Committed
2009-11-13 13:35:07 Launchpad Janitor linux (Ubuntu): status In Progress Fix Released
2009-12-01 18:49:10 Launchpad Janitor branch linked lp:ubuntu/linux-ec2
2009-12-05 01:23:14 Launchpad Janitor branch linked lp:ubuntu/linux-mvl-dove
2009-12-05 01:38:14 Launchpad Janitor branch linked lp:ubuntu/linux-fsl-imx51
2009-12-10 16:19:42 Martin Pitt tags verification-needed
2010-01-06 15:14:28 Launchpad Janitor linux (Ubuntu Karmic): status Fix Committed Fix Released
2010-01-06 15:14:28 Launchpad Janitor cve linked 2009-3612
2010-01-06 15:14:28 Launchpad Janitor cve linked 2009-3621