Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #52483 > unrolled thread

Bug#812928: udev: cdrom_id terminated by signal BUS

Started bymd@Linux.IT (Marco d'Itri)
First post2016-01-28 00:00 +0100
Last post2016-01-28 10:20 +0100
Articles 8 — 6 participants

Back to article view | Back to linux.debian.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Bug#812928: udev: cdrom_id terminated by signal BUS md@Linux.IT (Marco d'Itri) - 2016-01-28 00:00 +0100
    Processed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS owner@bugs.debian.org (Debian Bug Tracking System) - 2016-01-28 00:20 +0100
    Bug#812928: udev: cdrom_id terminated by signal BUS Ben Hutchings <ben@decadent.org.uk> - 2016-01-28 00:30 +0100
      Processed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS owner@bugs.debian.org (Debian Bug Tracking System) - 2016-01-28 00:50 +0100
      Bug#812928: udev: cdrom_id terminated by signal BUS Patrick Baggett <baggett.patrick@gmail.com> - 2016-01-28 01:40 +0100
        Bug#812928: udev: cdrom_id terminated by signal BUS Anatoly Pugachev <matorola@gmail.com> - 2016-01-28 07:40 +0100
          Bug#812928: udev: cdrom_id terminated by signal BUS John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> - 2016-01-28 10:10 +0100
            Processed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS owner@bugs.debian.org (Debian Bug Tracking System) - 2016-01-28 10:20 +0100

#52483 — Bug#812928: udev: cdrom_id terminated by signal BUS

Frommd@Linux.IT (Marco d'Itri)
Date2016-01-28 00:00 +0100
SubjectBug#812928: udev: cdrom_id terminated by signal BUS
Message-ID<qVHeb-2ip-19@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Control: reassign -1 src:linux
Control: found -1 4.3.0-1
Control: retitle -1 getauxval(AT_RANDOM) broken on sparc64

On Jan 27, Anatoly Pugachev <matorola@gmail.com> wrote:

> Program terminated with signal SIGUSR1, User defined signal 1.
> #0  0x000001000001b9b8 in initialize_srand () at src/basic/random-util.c:107
> 107                     x ^= *(unsigned*) auxv;
> (gdb) bt
Looks like getauxval(AT_RANDOM) returns garbage on sparc64:

        x = 0;
        auxv = (void*) getauxval(AT_RANDOM);
        if (auxv)
                x ^= *(unsigned*) auxv;

-- 
ciao,
Marco

[toc] | [next] | [standalone]


#52484 — Processed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS

Fromowner@bugs.debian.org (Debian Bug Tracking System)
Date2016-01-28 00:20 +0100
SubjectProcessed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS
Message-ID<qVHxw-2GU-11@gated-at.bofh.it>
In reply to#52483
Processing control commands:

> reassign -1 src:linux
Bug #812928 [udev] udev: cdrom_id terminated by signal BUS
Bug reassigned from package 'udev' to 'src:linux'.
No longer marked as found in versions systemd/228-4.
Ignoring request to alter fixed versions of bug #812928 to the same values previously set
> found -1 4.3.0-1
Bug #812928 [src:linux] udev: cdrom_id terminated by signal BUS
The source 'linux' and version '4.3.0-1' do not appear to match any binary packages
Marked as found in versions linux/4.3.0-1.
> retitle -1 getauxval(AT_RANDOM) broken on sparc64
Bug #812928 [src:linux] udev: cdrom_id terminated by signal BUS
Changed Bug title to 'getauxval(AT_RANDOM) broken on sparc64' from 'udev: cdrom_id terminated by signal BUS'

-- 
812928: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812928
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#52485

FromBen Hutchings <ben@decadent.org.uk>
Date2016-01-28 00:30 +0100
Message-ID<qVHHc-2KP-17@gated-at.bofh.it>
In reply to#52483

[Multipart message — attachments visible in raw view] — view raw

Control: tag -1 moreinfo

On Wed, 2016-01-27 at 23:54 +0100, Marco d'Itri wrote:
> Control: reassign -1 src:linux
> Control: found -1 4.3.0-1
> Control: retitle -1 getauxval(AT_RANDOM) broken on sparc64
> 
> On Jan 27, Anatoly Pugachev <matorola@gmail.com> wrote:
> 
> > Program terminated with signal SIGUSR1, User defined signal 1.
> > #0  0x000001000001b9b8 in initialize_srand () at src/basic/random-
> > util.c:107
> > 107                     x ^= *(unsigned*) auxv;
> > (gdb) bt
> Looks like getauxval(AT_RANDOM) returns garbage on sparc64:
>
>         x = 0;
>         auxv = (void*) getauxval(AT_RANDOM);
>         if (auxv)
>                 x ^= *(unsigned*) auxv;

There is no documented alignment guarantee for the AT_RANDOM bytes so I
think this caller is wrong to treat it as an array of unsigned int.
What happens if you change it to:

	if (auxv)
		memcpy(&x, auxv, sizeof(x));

?

Ben.

-- 
Ben Hutchings
73.46% of all statistics are made up.

[toc] | [prev] | [next] | [standalone]


#52486 — Processed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS

Fromowner@bugs.debian.org (Debian Bug Tracking System)
Date2016-01-28 00:50 +0100
SubjectProcessed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS
Message-ID<qVI0z-2V1-29@gated-at.bofh.it>
In reply to#52485
Processing control commands:

> tag -1 moreinfo
Bug #812928 [src:linux] getauxval(AT_RANDOM) broken on sparc64
Added tag(s) moreinfo.

-- 
812928: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812928
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [next] | [standalone]


#52487

FromPatrick Baggett <baggett.patrick@gmail.com>
Date2016-01-28 01:40 +0100
Message-ID<qVIMV-3vP-11@gated-at.bofh.it>
In reply to#52485
On Wed, Jan 27, 2016 at 5:23 PM, Ben Hutchings <ben@decadent.org.uk> wrote:
> Control: tag -1 moreinfo
>
> On Wed, 2016-01-27 at 23:54 +0100, Marco d'Itri wrote:
>> Control: reassign -1 src:linux
>> Control: found -1 4.3.0-1
>> Control: retitle -1 getauxval(AT_RANDOM) broken on sparc64
>>
>> On Jan 27, Anatoly Pugachev <matorola@gmail.com> wrote:
>>
>> > Program terminated with signal SIGUSR1, User defined signal 1.
>> > #0  0x000001000001b9b8 in initialize_srand () at src/basic/random-
>> > util.c:107
>> > 107                     x ^= *(unsigned*) auxv;
>> > (gdb) bt
>> Looks like getauxval(AT_RANDOM) returns garbage on sparc64:
>>
>>         x = 0;
>>         auxv = (void*) getauxval(AT_RANDOM);
>>         if (auxv)
>>                 x ^= *(unsigned*) auxv;
>
> There is no documented alignment guarantee for the AT_RANDOM bytes so I
> think this caller is wrong to treat it as an array of unsigned int.

Also, you can verify that from a debugger without changing the code,
by printing the value of the pointer `auxv` and check if either of the
lower two bits are set.

> What happens if you change it to:
>
>         if (auxv)
>                 memcpy(&x, auxv, sizeof(x));
>
> ?
>
> Ben.
>
> --
> Ben Hutchings
> 73.46% of all statistics are made up.

[toc] | [prev] | [next] | [standalone]


#52488

FromAnatoly Pugachev <matorola@gmail.com>
Date2016-01-28 07:40 +0100
Message-ID<qVOpk-7Sk-23@gated-at.bofh.it>
In reply to#52487

[Multipart message — attachments visible in raw view] — view raw

On Thu, Jan 28, 2016 at 3:31 AM, Patrick Baggett <baggett.patrick@gmail.com>
wrote:
>
> On Wed, Jan 27, 2016 at 5:23 PM, Ben Hutchings <ben@decadent.org.uk>
wrote:
> > Control: tag -1 moreinfo
> >
> > On Wed, 2016-01-27 at 23:54 +0100, Marco d'Itri wrote:
> >> Control: reassign -1 src:linux
> >> Control: found -1 4.3.0-1
> >> Control: retitle -1 getauxval(AT_RANDOM) broken on sparc64
> >>
> >> On Jan 27, Anatoly Pugachev <matorola@gmail.com> wrote:
> >>
> >> > Program terminated with signal SIGUSR1, User defined signal 1.
> >> > #0  0x000001000001b9b8 in initialize_srand () at src/basic/random-
> >> > util.c:107
> >> > 107                     x ^= *(unsigned*) auxv;
> >> > (gdb) bt
> >> Looks like getauxval(AT_RANDOM) returns garbage on sparc64:
> >>
> >>         x = 0;
> >>         auxv = (void*) getauxval(AT_RANDOM);
> >>         if (auxv)
> >>                 x ^= *(unsigned*) auxv;
> >
> > There is no documented alignment guarantee for the AT_RANDOM bytes so I
> > think this caller is wrong to treat it as an array of unsigned int.
>
> Also, you can verify that from a debugger without changing the code,
> by printing the value of the pointer `auxv` and check if either of the
> lower two bits are set.
>
> > What happens if you change it to:
> >
> >         if (auxv)
> >                 memcpy(&x, auxv, sizeof(x));
> >


restored original cdrom_id.c (with initialize_srand() function call) and
recompiled with memcpy() and run:

mator@deb4g:~/systemd$ sudo ./cdrom_id -l /dev/vdiskb
ID_CDROM=1

there's no SIGBUS. And I don't know what it should output. Probably fixed.
Thanks.

[toc] | [prev] | [next] | [standalone]


#52489

FromJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date2016-01-28 10:10 +0100
Message-ID<qVQKu-1al-17@gated-at.bofh.it>
In reply to#52488
Control: reassign -1 src:systemd
Control: found -1 228-4
Control: retitle -1 initialize_srand provokes unaligned access

On 01/28/2016 07:37 AM, Anatoly Pugachev wrote:
> restored original cdrom_id.c (with initialize_srand() function call) and
> recompiled with memcpy() and run:
> 
> mator@deb4g:~/systemd$ sudo ./cdrom_id -l /dev/vdiskb
> ID_CDROM=1
> 
> there's no SIGBUS. And I don't know what it should output. Probably fixed.
> Thanks.

This is clearly a bug in udev/src:systemd then. I'll re-assign this and
also report this upstream.

Thanks for debugging this!

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

[toc] | [prev] | [next] | [standalone]


#52490 — Processed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS

Fromowner@bugs.debian.org (Debian Bug Tracking System)
Date2016-01-28 10:20 +0100
SubjectProcessed: Re: Bug#812928: udev: cdrom_id terminated by signal BUS
Message-ID<qVQUa-1eY-13@gated-at.bofh.it>
In reply to#52489
Processing control commands:

> reassign -1 src:systemd
Bug #812928 [src:linux] getauxval(AT_RANDOM) broken on sparc64
Bug reassigned from package 'src:linux' to 'src:systemd'.
No longer marked as found in versions linux/4.3.0-1.
Ignoring request to alter fixed versions of bug #812928 to the same values previously set
> found -1 228-4
Bug #812928 [src:systemd] getauxval(AT_RANDOM) broken on sparc64
Marked as found in versions systemd/228-4.
> retitle -1 initialize_srand provokes unaligned access
Bug #812928 [src:systemd] getauxval(AT_RANDOM) broken on sparc64
Changed Bug title to 'initialize_srand provokes unaligned access' from 'getauxval(AT_RANDOM) broken on sparc64'

-- 
812928: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812928
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web