Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a010d276 authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Greg Kroah-Hartman
Browse files

drivers/misc/sgi-gru: add return on error



If the buffer is too small then return the error and in the process
remove the variables which became unused.

Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
Acked-by: default avatarDimitri Sivanich <sivanich@sgi.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bf84b140
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -78,11 +78,10 @@ static int gru_dump_tfm(struct gru_state *gru,
		void __user *ubuf, void __user *ubufend)
{
	struct gru_tlb_fault_map *tfm;
	int i, ret, bytes;
	int i;

	bytes = GRU_NUM_TFM * GRU_CACHE_LINE_BYTES;
	if (bytes > ubufend - ubuf)
		ret = -EFBIG;
	if (GRU_NUM_TFM * GRU_CACHE_LINE_BYTES > ubufend - ubuf)
		return -EFBIG;

	for (i = 0; i < GRU_NUM_TFM; i++) {
		tfm = get_tfm(gru->gs_gru_base_vaddr, i);
@@ -99,11 +98,10 @@ static int gru_dump_tgh(struct gru_state *gru,
		void __user *ubuf, void __user *ubufend)
{
	struct gru_tlb_global_handle *tgh;
	int i, ret, bytes;
	int i;

	bytes = GRU_NUM_TGH * GRU_CACHE_LINE_BYTES;
	if (bytes > ubufend - ubuf)
		ret = -EFBIG;
	if (GRU_NUM_TGH * GRU_CACHE_LINE_BYTES > ubufend - ubuf)
		return -EFBIG;

	for (i = 0; i < GRU_NUM_TGH; i++) {
		tgh = get_tgh(gru->gs_gru_base_vaddr, i);