diff options
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 75e6e60bf583..882dc48163b4 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1421,17 +1421,17 @@ struct task_struct { | |||
1421 | #endif | 1421 | #endif |
1422 | #ifdef CONFIG_TRACE_IRQFLAGS | 1422 | #ifdef CONFIG_TRACE_IRQFLAGS |
1423 | unsigned int irq_events; | 1423 | unsigned int irq_events; |
1424 | int hardirqs_enabled; | ||
1425 | unsigned long hardirq_enable_ip; | 1424 | unsigned long hardirq_enable_ip; |
1426 | unsigned int hardirq_enable_event; | ||
1427 | unsigned long hardirq_disable_ip; | 1425 | unsigned long hardirq_disable_ip; |
1426 | unsigned int hardirq_enable_event; | ||
1428 | unsigned int hardirq_disable_event; | 1427 | unsigned int hardirq_disable_event; |
1429 | int softirqs_enabled; | 1428 | int hardirqs_enabled; |
1429 | int hardirq_context; | ||
1430 | unsigned long softirq_disable_ip; | 1430 | unsigned long softirq_disable_ip; |
1431 | unsigned int softirq_disable_event; | ||
1432 | unsigned long softirq_enable_ip; | 1431 | unsigned long softirq_enable_ip; |
1432 | unsigned int softirq_disable_event; | ||
1433 | unsigned int softirq_enable_event; | 1433 | unsigned int softirq_enable_event; |
1434 | int hardirq_context; | 1434 | int softirqs_enabled; |
1435 | int softirq_context; | 1435 | int softirq_context; |
1436 | #endif | 1436 | #endif |
1437 | #ifdef CONFIG_LOCKDEP | 1437 | #ifdef CONFIG_LOCKDEP |
@@ -2086,11 +2086,18 @@ static inline int is_si_special(const struct siginfo *info) | |||
2086 | return info <= SEND_SIG_FORCED; | 2086 | return info <= SEND_SIG_FORCED; |
2087 | } | 2087 | } |
2088 | 2088 | ||
2089 | /* True if we are on the alternate signal stack. */ | 2089 | /* |
2090 | 2090 | * True if we are on the alternate signal stack. | |
2091 | */ | ||
2091 | static inline int on_sig_stack(unsigned long sp) | 2092 | static inline int on_sig_stack(unsigned long sp) |
2092 | { | 2093 | { |
2093 | return (sp - current->sas_ss_sp < current->sas_ss_size); | 2094 | #ifdef CONFIG_STACK_GROWSUP |
2095 | return sp >= current->sas_ss_sp && | ||
2096 | sp - current->sas_ss_sp < current->sas_ss_size; | ||
2097 | #else | ||
2098 | return sp > current->sas_ss_sp && | ||
2099 | sp - current->sas_ss_sp <= current->sas_ss_size; | ||
2100 | #endif | ||
2094 | } | 2101 | } |
2095 | 2102 | ||
2096 | static inline int sas_ss_flags(unsigned long sp) | 2103 | static inline int sas_ss_flags(unsigned long sp) |