aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/misc/sgi-gru/grufile.c6
-rw-r--r--drivers/misc/sgi-gru/grumain.c4
2 files changed, 4 insertions, 6 deletions
diff --git a/drivers/misc/sgi-gru/grufile.c b/drivers/misc/sgi-gru/grufile.c
index 9e6da46eeb0..b1567ce868e 100644
--- a/drivers/misc/sgi-gru/grufile.c
+++ b/drivers/misc/sgi-gru/grufile.c
@@ -135,11 +135,9 @@ static int gru_create_new_context(unsigned long arg)
135 if (copy_from_user(&req, (void __user *)arg, sizeof(req))) 135 if (copy_from_user(&req, (void __user *)arg, sizeof(req)))
136 return -EFAULT; 136 return -EFAULT;
137 137
138 if (req.data_segment_bytes == 0 || 138 if (req.data_segment_bytes > max_user_dsr_bytes)
139 req.data_segment_bytes > max_user_dsr_bytes)
140 return -EINVAL; 139 return -EINVAL;
141 if (!req.control_blocks || !req.maximum_thread_count || 140 if (req.control_blocks > max_user_cbrs || !req.maximum_thread_count)
142 req.control_blocks > max_user_cbrs)
143 return -EINVAL; 141 return -EINVAL;
144 142
145 if (!(req.options & GRU_OPT_MISS_MASK)) 143 if (!(req.options & GRU_OPT_MISS_MASK))
diff --git a/drivers/misc/sgi-gru/grumain.c b/drivers/misc/sgi-gru/grumain.c
index 3398e54a762..4e6e8c3554f 100644
--- a/drivers/misc/sgi-gru/grumain.c
+++ b/drivers/misc/sgi-gru/grumain.c
@@ -150,7 +150,7 @@ static unsigned long reserve_resources(unsigned long *p, int n, int mmax,
150 unsigned long bits = 0; 150 unsigned long bits = 0;
151 int i; 151 int i;
152 152
153 do { 153 while (n--) {
154 i = find_first_bit(p, mmax); 154 i = find_first_bit(p, mmax);
155 if (i == mmax) 155 if (i == mmax)
156 BUG(); 156 BUG();
@@ -158,7 +158,7 @@ static unsigned long reserve_resources(unsigned long *p, int n, int mmax,
158 __set_bit(i, &bits); 158 __set_bit(i, &bits);
159 if (idx) 159 if (idx)
160 *idx++ = i; 160 *idx++ = i;
161 } while (--n); 161 }
162 return bits; 162 return bits;
163} 163}
164 164