소스 검색

hwrng: core - Fix double unlock in rng_dev_read

When the loop terminates with size == 0 in rng_dev_read we will
unlock the rng mutex twice.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Herbert Xu 15 년 전
부모
커밋
f5908267b6
1개의 변경된 파일3개의 추가작업 그리고 2개의 파일을 삭제
  1. 3 2
      drivers/char/hw_random/core.c

+ 3 - 2
drivers/char/hw_random/core.c

@@ -158,10 +158,11 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
 			goto out;
 			goto out;
 		}
 		}
 	}
 	}
-out_unlock:
-	mutex_unlock(&rng_mutex);
 out:
 out:
 	return ret ? : err;
 	return ret ? : err;
+out_unlock:
+	mutex_unlock(&rng_mutex);
+	goto out;
 }
 }