lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Wed, 9 Jun 2010 14:57:03 +0400
From:	"Pavel N. Iakovenko" <yak@...ras.ru>
To:	<linux-kernel@...r.kernel.org>
Subject: setgroups32 syscall changes RCX register

Hello

I noticed that setgroups32 syscall changes the value of RCX register. In my
case  - it is increased by PAGE_SIZE. Is it an acceptable behavior?
Kernel version is 2.6.31.6. Testing program is enclosed.

Please CC me on reply.

Best regards,
Pavel Iakovenko

#include <unistd.h>
#include <sys/types.h>
#include <syscall.h>
#include <grp.h>
#include <stdio.h>
#include <errno.h>

int main()
{
            gid_t groups;
            unsigned long rcx;
            int r ;

            r = initgroups("root", groups);
            if (r) {
                printf("initgroups failed\n");
                goto out;
            }
            
            printf("before setgroups32: RCX = 0x%lx\n", (unsigned
long)&groups);

            asm
            (
                        "int $0x80"
                        : "=a" (r), "=c" (rcx)
                        : "a" (SYS_setgroups32), "b"(1), "c" (&groups)
            );

            if (r) {
                printf("setgroups32 failed\n");
                goto out;
            }
            
            printf("after setgroups32: RCX = 0x%lx\n", rcx);

out:
            return 0;
}
 

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 5184 (20100609) __________

The message was checked by ESET NOD32 Antivirus.

http://www.esetnod32.ru/.ml
 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ