diff options
Diffstat (limited to 'drivers/misc/sgi-gru/grukdump.c')
-rw-r--r-- | drivers/misc/sgi-gru/grukdump.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/misc/sgi-gru/grukdump.c b/drivers/misc/sgi-gru/grukdump.c index a3700a56b8ff..313da3150262 100644 --- a/drivers/misc/sgi-gru/grukdump.c +++ b/drivers/misc/sgi-gru/grukdump.c | |||
@@ -78,11 +78,10 @@ static int gru_dump_tfm(struct gru_state *gru, | |||
78 | void __user *ubuf, void __user *ubufend) | 78 | void __user *ubuf, void __user *ubufend) |
79 | { | 79 | { |
80 | struct gru_tlb_fault_map *tfm; | 80 | struct gru_tlb_fault_map *tfm; |
81 | int i, ret, bytes; | 81 | int i; |
82 | 82 | ||
83 | bytes = GRU_NUM_TFM * GRU_CACHE_LINE_BYTES; | 83 | if (GRU_NUM_TFM * GRU_CACHE_LINE_BYTES > ubufend - ubuf) |
84 | if (bytes > ubufend - ubuf) | 84 | return -EFBIG; |
85 | ret = -EFBIG; | ||
86 | 85 | ||
87 | for (i = 0; i < GRU_NUM_TFM; i++) { | 86 | for (i = 0; i < GRU_NUM_TFM; i++) { |
88 | tfm = get_tfm(gru->gs_gru_base_vaddr, i); | 87 | tfm = get_tfm(gru->gs_gru_base_vaddr, i); |
@@ -99,11 +98,10 @@ static int gru_dump_tgh(struct gru_state *gru, | |||
99 | void __user *ubuf, void __user *ubufend) | 98 | void __user *ubuf, void __user *ubufend) |
100 | { | 99 | { |
101 | struct gru_tlb_global_handle *tgh; | 100 | struct gru_tlb_global_handle *tgh; |
102 | int i, ret, bytes; | 101 | int i; |
103 | 102 | ||
104 | bytes = GRU_NUM_TGH * GRU_CACHE_LINE_BYTES; | 103 | if (GRU_NUM_TGH * GRU_CACHE_LINE_BYTES > ubufend - ubuf) |
105 | if (bytes > ubufend - ubuf) | 104 | return -EFBIG; |
106 | ret = -EFBIG; | ||
107 | 105 | ||
108 | for (i = 0; i < GRU_NUM_TGH; i++) { | 106 | for (i = 0; i < GRU_NUM_TGH; i++) { |
109 | tgh = get_tgh(gru->gs_gru_base_vaddr, i); | 107 | tgh = get_tgh(gru->gs_gru_base_vaddr, i); |
@@ -196,7 +194,7 @@ int gru_dump_chiplet_request(unsigned long arg) | |||
196 | return -EFAULT; | 194 | return -EFAULT; |
197 | 195 | ||
198 | /* Currently, only dump by gid is implemented */ | 196 | /* Currently, only dump by gid is implemented */ |
199 | if (req.gid >= gru_max_gids || req.gid < 0) | 197 | if (req.gid >= gru_max_gids) |
200 | return -EINVAL; | 198 | return -EINVAL; |
201 | 199 | ||
202 | gru = GID_TO_GRU(req.gid); | 200 | gru = GID_TO_GRU(req.gid); |