video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
[ Upstream commit a09d2d00af53b43c6f11e6ab3cb58443c2cac8a7 ] In pxa3xx_gcu_write, a count parameter of type size_t is passed to words of type int. Then, copy_from_user() may cause a heap overflow because it is used as the third argument of copy_from_user(). Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
47c5ef29e5
commit
1878eaf0ed
@ -382,7 +382,7 @@ pxa3xx_gcu_write(struct file *file, const char *buff,
|
|||||||
struct pxa3xx_gcu_batch *buffer;
|
struct pxa3xx_gcu_batch *buffer;
|
||||||
struct pxa3xx_gcu_priv *priv = to_pxa3xx_gcu_priv(file);
|
struct pxa3xx_gcu_priv *priv = to_pxa3xx_gcu_priv(file);
|
||||||
|
|
||||||
int words = count / 4;
|
size_t words = count / 4;
|
||||||
|
|
||||||
/* Does not need to be atomic. There's a lock in user space,
|
/* Does not need to be atomic. There's a lock in user space,
|
||||||
* but anyhow, this is just for statistics. */
|
* but anyhow, this is just for statistics. */
|
||||||
|
Loading…
Reference in New Issue
Block a user