traps.c (3d5271f9883cba7b54762bc4fe027d4172f06db7) | traps.c (cb6fc18e9ca615f03d18e60c49855b434ca2e51e) |
---|---|
1/* 2 * linux/arch/parisc/traps.c 3 * 4 * Copyright (C) 1991, 1992 Linus Torvalds 5 * Copyright (C) 1999, 2000 Philipp Rumpf <prumpf@tux.org> 6 */ 7 8/* --- 179 unchanged lines hidden (view full) --- 188 struct unwind_frame_info info; 189 190 if (!task) { 191 unsigned long sp; 192 struct pt_regs *r; 193 194HERE: 195 asm volatile ("copy %%r30, %0" : "=r"(sp)); | 1/* 2 * linux/arch/parisc/traps.c 3 * 4 * Copyright (C) 1991, 1992 Linus Torvalds 5 * Copyright (C) 1999, 2000 Philipp Rumpf <prumpf@tux.org> 6 */ 7 8/* --- 179 unchanged lines hidden (view full) --- 188 struct unwind_frame_info info; 189 190 if (!task) { 191 unsigned long sp; 192 struct pt_regs *r; 193 194HERE: 195 asm volatile ("copy %%r30, %0" : "=r"(sp)); |
196 r = (struct pt_regs *)kmalloc(sizeof(struct pt_regs), GFP_KERNEL); | 196 r = kzalloc(sizeof(struct pt_regs), GFP_KERNEL); |
197 if (!r) 198 return; | 197 if (!r) 198 return; |
199 memset(r, 0, sizeof(struct pt_regs)); | |
200 r->iaoq[0] = (unsigned long)&&HERE; 201 r->gr[2] = (unsigned long)__builtin_return_address(0); 202 r->gr[30] = sp; 203 unwind_frame_init(&info, current, r); 204 kfree(r); 205 } else { 206 unwind_frame_init_from_blocked_task(&info, task); 207 } --- 652 unchanged lines hidden --- | 199 r->iaoq[0] = (unsigned long)&&HERE; 200 r->gr[2] = (unsigned long)__builtin_return_address(0); 201 r->gr[30] = sp; 202 unwind_frame_init(&info, current, r); 203 kfree(r); 204 } else { 205 unwind_frame_init_from_blocked_task(&info, task); 206 } --- 652 unchanged lines hidden --- |