Friday Apr 11, 2008

We can be quick

Yesterday I managed to get the fix for 6686086 putback into the nevada gate and as the bug reflects the fix will be in build 88. It does show that it is possible to get things done quickly if there is the will. 24 hours from filing the bug to the fix being delivered. Yes the fix is trivial but the “paper work” still has to be done.

Thank you to the reviewers and Evaluator for being prompt.

Wednesday Apr 09, 2008

Range check /etc/name_to_sysnum

Ever since I have worked at Sun I've had a list of “usual suspects” when systems crash. Those drivers that when you got bizarre memory corruption or the system would watchdog reset or fail in other ways that you did not expect were always present, lurking, staring at you with a “accuse me if you dare” look on their face. Invariably disabling the driver would make the problem disappear but proving it was that driver took days, weeks, sometimes the proof never quite came. You know the drivers, fddi will be burned into my brain as having such a driver.

Many of those drivers turned out to be third party products that just had not taken the DDI/DKI interface to heart or feel that using memory after freeing it is just fine. How we love kmem_flags.

However I digress.

Today's problem is due two things;

  1. A third party application adding a bogus entry to /etc/name_to_sysnum

  2. The kernel not range checking the values in /etc/name_to_sysnum..

The result is often, but not always, a system that won't boot. What is worse is that if the system does boot then applying a patch to it can change it into a system that does not boot.

So as a small step to prevent this I have filed this bug:

6686086 System call numbers in /etc/name_to_sysnmum should be range checked.

The fix is trivial, the pain relieved enormous. The webrev is here if anyone wants to review it: http://cr.opensolaris.org/~cjg/sysnum/webrev/.

About

This is the old blog of Chris Gerhard. It has mostly moved to http://chrisgerhard.wordpress.com

Search

Archives
« July 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   
       
Today