|
Lines 98-110
static void
Link Here
|
| 98 |
busfault_sigaction(int sig, siginfo_t *info, void *param) |
98 |
busfault_sigaction(int sig, siginfo_t *info, void *param) |
| 99 |
{ |
99 |
{ |
| 100 |
void *fault = info->si_addr; |
100 |
void *fault = info->si_addr; |
| 101 |
struct busfault *busfault = NULL; |
101 |
struct busfault *tmp, *busfault = NULL; |
| 102 |
void *new_addr; |
102 |
void *new_addr; |
| 103 |
|
103 |
|
| 104 |
/* Locate the faulting address in our list of shared segments |
104 |
/* Locate the faulting address in our list of shared segments |
| 105 |
*/ |
105 |
*/ |
| 106 |
xorg_list_for_each_entry(busfault, &busfaults, list) { |
106 |
xorg_list_for_each_entry(tmp, &busfaults, list) { |
| 107 |
if ((char *) busfault->addr <= (char *) fault && (char *) fault < (char *) busfault->addr + busfault->size) { |
107 |
if ((char *) tmp->addr <= (char *) fault && |
|
|
108 |
(char *) fault < (char *) tmp->addr + tmp->size) { |
| 109 |
busfault = tmp; |
| 108 |
break; |
110 |
break; |
| 109 |
} |
111 |
} |
| 110 |
} |
112 |
} |