← Back to team overview

kernel-packages team mailing list archive

[Bug 1393355] [NEW] Issue with msgrcv in a 32-bit application and -ve argument


You have been subscribed to a public bug:

== 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 
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:
Oops output:
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 ()

The msgrcv *should* have returned immediately as the message was placed
on the queue by testmsgs

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Tags: architecture-all bot-comment bugnameltc-118951 severity-critical targetmilestone-inin---
Issue with msgrcv in a 32-bit application and -ve argument
You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu.