Commit 1f551767 authored by Mateusz Guzik's avatar Mateusz Guzik Committed by Greg Kroah-Hartman

ipc: fix compat msgrcv with negative msgtyp

commit e7ca2552369c1dfe0216c626baf82c3d83ec36bb upstream.

Compat function takes msgtyp argument as u32 and passes it down to
do_msgrcv which results in casting to long, thus the sign is lost and we
get a big positive number instead.

Cast the argument to signed type before passing it down.
Signed-off-by: default avatarMateusz Guzik <>
Reported-by: default avatarGabriellla Schmidt <>
Cc: Al Viro <>
Cc: Davidlohr Bueso <>
Cc: Manfred Spraul <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
Cc: Masanari Iida <>
Signed-off-by: default avatarGreg Kroah-Hartman <>
parent d212dc60
......@@ -381,7 +381,7 @@ COMPAT_SYSCALL_DEFINE6(ipc, u32, call, int, first, int, second,
uptr = compat_ptr(ipck.msgp);
fifth = ipck.msgtyp;
return do_msgrcv(first, uptr, second, fifth, third,
return do_msgrcv(first, uptr, second, (s32)fifth, third,
case MSGGET:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment