The loot includes “Bushido Shoshinsu” by Taira Shigesuke, Miyamoto Musashi’s A Book of Five Rings (Go Rin No Sho), Ben-Ami Shiloni’s – Traditional Japan and Modern Japan books, and Beever’s Stalingrad – The Fateful Siege. I’m already in the middle of it, and it’s great so far, even translated into Hebrew.
June 17, 2004
June 16, 2004
Fwd: Acknowledgement
To: sct-hackers [syscalltrack-hackers (at) lists.sourceforge.net] The paper mentioned below is temporarily available from Cheers, Muli ----- Forwarded message from Sudarshan Srinivasan [smsriniv (at) uiuc.edu] ----- Date: Wed, 16 Jun 2004 11:22:00 -0500 =46rom: Sudarshan Srinivasan [smsriniv (at) uiuc.edu] X-Mailer: Microsoft Outlook, Build 10.0.2627 To: mulix (at) mulix.org Subject: Acknowledgement Hi, I'm a grad student at UIUC. I used syscalltrack for one of the projects that I'm working on- an extension to the Linux 2.4 kernel that allows processes to be rolled back to a previous execution state and re-executed deterministically (for cyclic debugging). I've attached a copy of the paper based on that project, which has been accepted for publication in the USENIX technical conference proceedings. I found syscalltrack easy to extend and very useful. I wanted to thank you for making it available as open-source. I'll be releasing the code for Flashback soon. You can download it from http://carmen.cs.uiuc.edu. I'd appreciate comments and feedback. Thanks! Best wishes, Sudarshan ----- End forwarded message ----- -- Muli Ben-Yehuda http://www.mulix.org | http://mulix.livejournal.com/
Role Playing comeback
Just registered myself and ladypine to the “Say Yes to the Old Man” Role Playing convention. Its been at least ten years since I’ve last played seriously, but I used to love every minute.
June 11, 2004
PNS day 33: ouch ouch ouch
Just came back from the pool. My upper body feels like it’s made out of lead. I can barely lift my arms. Happiness.
I started with a good workout at the gym. Then I walked 7 kms to the DVD place to pick up Bruce Lee’s “Fists of Fury”, which we plan to watch tonight with yrk and Sarah. We were planning on Enter the Dragon, but alas, someone took it. Then met ladypine at the pool. I only did 500 meters, though – not having eaten any breakfast killed me.
The plan for tomorrow is to help my father rearrange his storage area. This happens every few months, and entails lifting many boxes of books. Fun for the whole family. Other than that, maybe Tennis or pool. Definitely no weights.
Yesterday we watched Troy. Considering the number of semi-naked extremely muscular men on parade, I think it will be a worthy edition to the motivational movies shelf.
June 10, 2004
FSF splurging
Taking my cue from yrk, I have just become a Free Software Foundation card-carrying Associate Member. In addition, I ordered the GNU Project 20th Anniversary T-shirt, the original Classic Typing Gnu T-shirt, and the GNU Project 20th Anniversary Travel Mug. Yay for splurging for a good cause!
This afternoon we will be heading out to the yearly Book Fair. I foresee more splurging in my future.
June 9, 2004
A Touching Story
Oleg posted a new All Code Sucks entry, titled A Touching Story. Entertaining as usual… go ahead and submit your own!
PNS day 31: no pain, no gain
Workout this morning was a bitch. I had to drag myself out of bed, drag myself to the gym, and drag myself on and off each and every one of the machines I used. Swimming the 1km yesterday, coupled with the drinks I had at night in the Hessel’s pub left in less than spectacular shape this morning.
why user programs can’t access the kernel’s mapping, cont
Yesterday I wrote about “the story of a page
fault”, ending with “What I am not absolutely convinced about is
why the fault happens in the first place. The options are that it gets
a fault because the kernel is mapped, but the protection on the ptes
is such that only code running in ring 0 (i.e. the kernel) can access
them, or that the kernel is not mapped while we are running in user
space, and is only mapped in when we context switch to kernel
space. The former makes a lot more sense, but I haven’t yet hunted
down the code that does it.”
Well, I found it 🙂
in 2.6.7-rc3, arch/i386/mm/pgtable.c, pgd_ctor():
void pgd_ctor(void *pgd, kmem_cache_t *cache, unsigned long unused)
{
unsigned long flags;
if (PTRS_PER_PMD == 1)
spin_lock_irqsave(&pgd_lock, flags);
/* muli: copy into the user's pgd the portion of the swapper_pg_dir that maps the kernel */
memcpy((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
(PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t));
if (PTRS_PER_PMD > 1)
return;
pgd_list_add(pgd);
spin_unlock_irqrestore(&pgd_lock, flags);
/* muli: set the rest to 0 */
memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t));
}
The way I found it is to go through mingo’s 4:4 split patch,
which obviously needs to change this bit, since the kernel is no
longer mapped in each process’s address space.

