Bug 163611 - ia64: Unaligned accesses are made when udev starts
Summary: ia64: Unaligned accesses are made when udev starts
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: udev
Version: rawhide
Hardware: ia64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Harald Hoyer
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: fedora-ia64
TreeView+ depends on / blocked
 
Reported: 2005-07-19 14:35 UTC by Prarit Bhargava
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-04-13 06:11:59 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Prarit Bhargava 2005-07-19 14:35:32 UTC
Description of problem:

Unaligned accesses are made when udev starts on ia64.

Version-Release number of selected component (if applicable):

Fedora ia64 devel, rawhide-20050719
udev-062-2

How reproducible: 100%

Steps to Reproduce:

1. Install latest Fedora ia64 devel
2. Boot.
  
Actual results:

Starting udev:  udevstart(2050): unaligned access to 0x6000000000014d29,
ip=0x400000000000f1b1
udevstart(2050): unaligned access to 0x6000000000014b21, ip=0x400000000000bb40
udevstart(2050): unaligned access to 0x6000000000014f59, ip=0x400000000000f1b1
udevstart(2050): unaligned access to 0x6000000000014d41, ip=0x400000000000bb40
[  OK  ]

and later on when xfs and appletalk start,
Starting xfs: udev(4726): unaligned access to 0x6000000000018d29,
ip=0x400000000000f581
udev(4726): unaligned access to 0x6000000000018f5c, ip=0x400000000000f581
udev(4726): unaligned access to 0x60000000000193bd, ip=0x400000000000f581
udev(4726): unaligned access to 0x600000000001935d, ip=0x400000000000e2b1
[  OK  ]
Starting AppleTalk services: 
  Starting atalkd:udev(4839): unaligned access to 0x6000000000018d29,
ip=0x400000000000f581
udev(4839): unaligned access to 0x6000000000018f5c, ip=0x400000000000f581
udev(4839): unaligned access to 0x60000000000193bd, ip=0x400000000000f581
udev(4839): unaligned access to 0x600000000001935d, ip=0x400000000000e2b1

[  OK  ]


Expected results:

No errors should be seen.

Additional info:

If memory serves the issue is that ia64 udev needs to built with the -ftz
compile flag.

Comment 1 Harald Hoyer 2005-07-19 14:45:38 UTC
what does -ftz do?

Comment 2 Bill Nottingham 2005-07-19 17:57:44 UTC
Something to do with -force-to-zero or -flush-to-zero for the floating point
stuff, I think. Shouldn't be relelvant.

I'd suspect the patches that Kay posted to the list for it SIGBUSing on sparc
might be more relevant here.

Comment 3 Prarit Bhargava 2005-07-20 20:13:30 UTC
Whups -- the -ftz thing was a mistake.  Had a brain spasm ...

P.

Comment 4 Bill Nottingham 2005-07-20 20:19:11 UTC
Does the last patch in
http://sourceforge.net/mailarchive/forum.php?thread_id=7720331&forum_id=3157
work for you?

Comment 5 Prarit Bhargava 2005-07-26 14:17:08 UTC
Bill, 
 
The link pushes me to the general list -- not a specific set of patches.  Can 
you attach the patch here/email it to me?   
 
Thanks, 
 
P. 

Comment 6 Bill Nottingham 2005-07-26 16:26:09 UTC
See the next-to-last mail in the thread:

diff --git a/udev_rules_parse.c b/udev_rules_parse.c
 --- a/udev_rules_parse.c
 +++ b/udev_rules_parse.c
 @@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule
  	int valid;
  	char *linepos;
  	char *attr;
 +	size_t padding;
  	int retval;
  
  	/* get all the keys */
 @@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule
  
  	/* grow buffer and add rule */
  	rule_size = sizeof(struct udev_rule) + rule->bufsize;
 +	padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t);
 +	dbg("add %zi padding bytes", padding);
 +	rule_size += padding;
 +	rule->bufsize += padding;
 +
  	rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
  	if (!rules->buf) {
  		err("realloc failed");
 

Comment 7 Prarit Bhargava 2005-07-26 18:24:21 UTC
That looks like it fixes it ....

Thanks Bill.

P.

Comment 8 Bill Nottingham 2005-08-22 18:11:11 UTC
Did 063-x fix this for you?

Comment 9 Prarit Bhargava 2006-02-23 18:04:26 UTC
This is fixed. 


Note You need to log in before you can comment on or make changes to this bug.