kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #90453
[Bug 1393355] Re: Issue with msgrcv in a 32-bit application and -ve argument
** Tags added: kernel-da-key
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1393355
Title:
Issue with msgrcv in a 32-bit application and -ve argument
Status in “linux” package in Ubuntu:
Confirmed
Bug description:
== Comment: #0 - R. Wilson <wilsonrs@xxxxxxxxxx> - 2014-11-13 08:11:01 ==
---Problem Description---
system call msgrcv() from 32-bit application shows error: msgrcv: No message of desired type
The following upstream commit resolves the issue.
commit e7ca2552369c1dfe0216c626baf82c3d83ec36bb
Author: Mateusz Guzik <mguzik@xxxxxxxxxx>
Date: Mon Jan 27 17:07:11 2014 -0800
ipc: fix compat msgrcv with negative msgtyp
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.
We now hit the problem on Ubuntu 14_04 and need to know if a similar
patch is forthcoming.
---uname output---
Linux ctg-a-il-u1 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Machine Type = VMware guest
---Debugger---
A debugger is not configured
---Steps to Reproduce---
Compile test applications using gcc -m32 -o <name> <name.c>
Run test application testmsgs to send a message to a queue
Run test application testmsgr that *should* retriieve message sent by testmsgs
Observe that testmsgr does not retrieve message
Repeat test, compilling with -m64 instead - applications work as expected
Stack trace output:
no
Oops output:
no
Userspace tool common name: custom application designed to replicate problem
The userspace tool has the following bit modes: 32-bit
System Dump Info:
The system is not configured to capture a system dump.
== Comment: #2 - R. Wilson <wilsonrs@xxxxxxxxxx> - 2014-11-13 08:15:25 ==
Back trace for testmsgr:
(gdb) bt
#0 0xf777c430 in __kernel_vsyscall ()
#1 0xf76a4660 in msgrcv () from /lib32/libc.so.6
#2 0x08048573 in main ()
(gdb)
The msgrcv *should* have returned immediately as the message was
placed on the queue by testmsgs
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1393355/+subscriptions