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 ---