.. | .. |
---|
70 | 70 | if (argv->v_index > ~(__u64)0 - argv->v_nmembs) |
---|
71 | 71 | return -EINVAL; |
---|
72 | 72 | |
---|
73 | | - buf = (void *)__get_free_pages(GFP_NOFS, 0); |
---|
| 73 | + buf = (void *)get_zeroed_page(GFP_NOFS); |
---|
74 | 74 | if (unlikely(!buf)) |
---|
75 | 75 | return -ENOMEM; |
---|
76 | 76 | maxmembs = PAGE_SIZE / argv->v_size; |
---|
.. | .. |
---|
1129 | 1129 | |
---|
1130 | 1130 | minseg = range[0] + segbytes - 1; |
---|
1131 | 1131 | do_div(minseg, segbytes); |
---|
| 1132 | + |
---|
| 1133 | + if (range[1] < 4096) |
---|
| 1134 | + goto out; |
---|
| 1135 | + |
---|
1132 | 1136 | maxseg = NILFS_SB2_OFFSET_BYTES(range[1]); |
---|
| 1137 | + if (maxseg < segbytes) |
---|
| 1138 | + goto out; |
---|
| 1139 | + |
---|
1133 | 1140 | do_div(maxseg, segbytes); |
---|
1134 | 1141 | maxseg--; |
---|
1135 | 1142 | |
---|