lkml.org 
[lkml]   [2011]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 1/4] Add routine for generating an ID for kernel pointer
Hello, Cyrill.

Just my 2 cents.

On Fri, Dec 23, 2011 at 04:47:42PM +0400, Cyrill Gorcunov wrote:
> +unsigned long gen_obj_id(void *ptr, int type)
> +{
> + if (!capable(CAP_SYS_ADMIN) || !ptr)
> + return 0;
> +
> + BUG_ON(type >= GEN_OBJ_ID_TYPES);
> +
> + /*
> + * Note the simple XOR is used here not in a sake
> + * of security by any means, but rather to break
> + * an "impression" that such IDs means something
> + * other than a number which can be used for comparison
> + * with another number generated by this helper only.
> + */
> + return ((unsigned long)ptr) ^ gen_obj_cookie[type];
> +}

To me, XOR & CAP_SYS_ADMIN combination doesn't make much sense. With
CAP_SYS_ADMIN, there's no reason for XOR - we can just export
pointers. If we plan on removing CAP_SYS_ADMIN restriction down the
road, XOR doesn't help much. It's too weak. The XOR is unnecessary
with CAP_SYS_ADMIN and useless without it. It seems pointless to me.
If we're going down this route, I think doing cryptographically safe
hash would be much better.

Thanks.

--
tejun


\
 
 \ /
  Last update: 2011-12-28 17:09    [from the cache]
©2003-2011 Jasper Spaans