Re: several messages

Ion Badulescu (ionut@moisil.wal.rhno.columbia.edu)
Tue, 19 Nov 1996 18:40:27 -0500 (EST)


On Tue, 19 Nov 1996, Steffen Zahn wrote:

> it appears that in Linux 2.1.11 I can no longer do operations
> (read, execute) that rely on my membership in some secondary user
> group, though the command id shows that I am in all that secondary
> user groups. Example:

[snip]

On Tue, 19 Nov 1996, Tommy Thorn wrote:

> After applying patch 2.1.11 all my groups are being ignored. I use
> groups extensively, eg. I'm a member of tape and serial and only root
> and group serial have access to cua1. With the new patch, I no longer
> have access to cua1.

Okay, what really happens here is that every _second_ group (as showed by
id) is being ignored. This is the result of copying an array of gid_t (ie,
short) over an array of int...

The following patch corrects this specific problem, but it could break
other stuff which assumes that current->groups is an array of int.

--- linux/include/linux/sched.h.orig Tue Nov 19 18:37:50 1996
+++ linux/include/linux/sched.h Tue Nov 19 18:34:11 1996
@@ -200,7 +200,7 @@
int session;
/* boolean value for session group leader */
int leader;
- int groups[NGROUPS];
+ gid_t groups[NGROUPS];
/*
* pointers to (original) parent process, youngest child, younger sibling,
* older sibling, respectively. (p->father can be replaced with

Ionut

--
Ionut Badulescu - Columbia College '98	    E-mail:ib42@columbia.edu
Phone: (212)853-7875			    Snail mail: 4A4 Wallach Hall
Fax: (212)695-5560					1116 Amsterdam Ave
PGP key available on request				New York, NY 10027
  It is better to keep your mouth shut and be thought a fool,
            than to open it and remove all doubt.