← Back to team overview

kernel-packages team mailing list archive

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

 

** Branch linked: lp:ubuntu/trusty-proposed/linux-keystone

-- 
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:
  Fix Released
Status in “linux” source package in Trusty:
  Fix Committed
Status in “linux” source package in Utopic:
  Fix Released
Status in “linux” source package in Vivid:
  Fix Released

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