sys_personality changes

Paul Larson (plars@austin.ibm.com)
02 Oct 2001 13:10:54 +0000


I'm curious about the purpose of the sys_personality changes that made
it into 2.4.10. In 2.4.9, it looked like this:

asmlinkage long sys_personality(unsigned long personality)
{
int ret = current->personality;
if (personality != 0xffffffff) {
set_personality(personality);
if (current->personality != personality)
ret = -EINVAL;
}
return ret;
}

Compared to your new one:

asmlinkage long
sys_personality(u_long personality)
{
if (personality == 0xffffffff)
goto ret;
set_personality(personality);
if (current->personality != personality)
return -EINVAL;
ret:
return (current->personality);
}

What was the purpose of changing the way sys_personality works? AFAIK
sys_personality is supposed to return the previous persona. Yours
returns the new persona instead.

Was this intended, or can we roll back this part of your patch?

Thanks,
Paul Larson

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