linuxolator problem on i386

Roman Divacky rdivacky at freebsd.org
Wed Sep 19 01:54:09 PDT 2007


> It so happened that here we get a deal with magic (number). Let me
> show you the broken behaviour one more time:

>  14594 hlds_i686 CALL  linux_getdents(0x6,0x8da5b44,0x1000)
>  14594 hlds_i686 RET   linux_getdents 4096/0x1000

> Look at the first linux_getdents() line. The third parameter (buffer
> length?) equals to 0x1000 which is 4096. The second line with
> linux_getdents shows that it has read precisely 4096 (bytes?). What if
> we face here a (so called at our high school) border-case
> (border-problem)?
> 
> OK, the program reads the directory contents. Lets touch a new file
> at this directory. What does happen? Follow me:

>  14579 hlds_i686 CALL  linux_getdents(0x6,0x8da574c,0x1000)
>  14579 hlds_i686 RET   linux_getdents 4084/0xff4

 
> That's it! <loud long applauses>
> 
> Roman, I hope now you may create the needed patch.
> As for me I'm too tied (and too proud :-) ) today and 'm going to have
> a little sleep.

I am sorry but I dont understand at all.. what are you trying to show?
whats wrong with returning 4084?


More information about the freebsd-emulation mailing list