> 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.