Re: 2.6.27-rc6-mmotm0913 build error - suspectitimers-fix-itimer-many-thread-hang.patch

From: Frank Mayhar
Date: Mon Sep 15 2008 - 13:14:20 EST


On Mon, 2008-09-15 at 12:29 -0400, Valdis.Kletnieks@xxxxxx wrote:
> Trying to build rc6-mmotm0913 dies:
>
> CC security/selinux/hooks.o
> security/selinux/hooks.c: In function ÃâËselinux_bprm_committing_credsÃââ:
> security/selinux/hooks.c:2325: error: ÃâËstruct task_structÃââ has no member named ÃâËit_prof_expiresÃââ
> make[2]: *** [security/selinux/hooks.o] Error 1
> make[1]: *** [security/selinux] Error 2
> make: *** [security] Error 2
>
> I suspect that itimers-fix-itimer-many-thread-hang.patch has a merge issue
> against linux-next.patch, causing selinux_bprm_commiting_creds to be missing
> an update. The code as it appears in my tree (end of that function
> in security/selinux/hooks.c):
>
> if (rc) {
> for (i = 0; i < RLIM_NLIMITS; i++) {
> rlim = current->signal->rlim + i;
> initrlim = init_task.signal->rlim+i;
> rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur);
> }
>
> if (current->signal->rlim[RLIMIT_CPU].rlim_cur != RLIM_INFINITY) {
> /*
> * This will cause RLIMIT_CPU calculations to be
> * refigured.
> */
> current->it_prof_expires = jiffies_to_cputime(1);
> }
> }
> }

As it happens, my top-of-tree snapshot is missing this routine. I'm
re-snapping it now but I think you're right that it's a merge issue with
linux-next. The fix, however, is trivial: Replace the entire if block
with the line:
update_rlimit_cpu(rlim->rlim_cur);

The above snippet becomes:

if (rc) {
for (i = 0; i < RLIM_NLIMITS; i++) {
rlim = current->signal->rlim + i;
initrlim = init_task.signal->rlim+i;
rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur);
}
update_rlimit_cpu(rlim->rlim_cur);
}

And double-check that linux/posix-timers.h is being #included around
line 80.
--
Frank Mayhar <fmayhar@xxxxxxxxxx>
Google, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/