[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#618562: marked as done (syscall in libc6 is broken for __NR_fanotify_mark)



Your message dated Sat, 4 Jun 2011 14:46:20 +0200
with message-id <20110604124620.GA4182@volta.aurel32.net>
and subject line Re: Bug#618562: syscall in libc6 is broken for __NR_fanotify_mark
has caused the Debian Bug report #618562,
regarding syscall in libc6 is broken for __NR_fanotify_mark
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
618562: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=618562
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.11.2-10

syscall(__NR_fanotify_mark, fanotify_fd, flags, mask, dfd, pathname),
failed with 'Invalid argument'.
strace shows 'syscall' didn't pass the correct parameters:
    syscall(0x10f1, 0x3, 0x11, 0, 0x20, 0, 0xffffff9c, 0x4013e0)
    ( The expected one is: syscall(0x10f1, 0x3, 0x17, 0x20, 0, -100, 0x4013e0) )

Direct __NR_fanotify_mark call works.

Test platform is fuloong-2f box:
1. CPU: loongson 2f
2. libc6 version 2.11.2-10 and 2.11.2-11
3. Linux-2.6.37 with fanotify enabled (64bit kernel)  (also tried Linux-2.6.38)
4. Debian squeeze mipsel (o32 ABI)

Attachment is the source code of test program, usage:
1. tar xf fanotify-test.tar.bz2
2. cd fanotify-test
3. gcc -o fa-test *.c
4. ./fa-test

Note: modify "missing.h" to switch between indirect __NR_fanotify_mark
syscall and direct syscall.

Attachment: fanotify-test.tar.bz2
Description: BZip2 compressed data


--- End Message ---
--- Begin Message ---
On Mon, Mar 28, 2011 at 01:14:03AM +0200, Aurelien Jarno wrote:
> On Sun, Mar 27, 2011 at 05:13:31AM +0000, Chen Jie wrote:
> > Hi Aurelien,
> > 
> > Got it, thanks for the explanation.
> > 
> > Just curious, does the same problem exist on X86-64(64bit kernel + 32 bit
> > userland)? If yes, should the caller of syscall() need to split each 64bit
> > argument into two 32bit arguments?
> > 
> 
> It is not something which depends on the running kernel, but the problem
> doesn't exists on x86 given the ABI doesn't requires 64-bit arguments to
> be aligned. I have been able to reproduce the problem on powerpc and arm
> though (they both require 64-bit values to be aligned).
> 
> In any case on 32-bit machines, splitting 64-bit arguments into two 
> 32-bit arguments should always work, provided that the endianness is
> correctly taken into account.
> 

As explained, this is not a glibc bug, I am therefore closing the bug.


-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net


--- End Message ---

Reply to: