Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
f985b1cd
Commit
f985b1cd
authored
Aug 30, 2002
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://linux-ntfs.bkbits.net/ntfs-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
a62cd1fe
a71635e4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
21 deletions
+26
-21
arch/i386/kernel/traps.c
arch/i386/kernel/traps.c
+17
-16
kernel/exit.c
kernel/exit.c
+9
-5
No files found.
arch/i386/kernel/traps.c
View file @
f985b1cd
...
@@ -311,21 +311,6 @@ static void inline do_trap(int trapnr, int signr, char *str, int vm86,
...
@@ -311,21 +311,6 @@ static void inline do_trap(int trapnr, int signr, char *str, int vm86,
if
(
vm86
&&
regs
->
eflags
&
VM_MASK
)
if
(
vm86
&&
regs
->
eflags
&
VM_MASK
)
goto
vm86_trap
;
goto
vm86_trap
;
#ifdef CONFIG_PNPBIOS
if
(
regs
->
xcs
==
0x60
||
regs
->
xcs
==
0x68
)
{
extern
u32
pnp_bios_fault_eip
,
pnp_bios_fault_esp
;
extern
u32
pnp_bios_is_utter_crap
;
pnp_bios_is_utter_crap
=
1
;
printk
(
KERN_CRIT
"PNPBIOS fault.. attempting recovery.
\n
"
);
__asm__
volatile
(
"movl %0, %%esp
\n\t
"
"jmp *%1
\n\t
"
:
"=a"
(
pnp_bios_fault_esp
),
"=b"
(
pnp_bios_fault_eip
));
panic
(
"do_trap: can't hit this"
);
}
#endif
if
(
!
(
regs
->
xcs
&
3
))
if
(
!
(
regs
->
xcs
&
3
))
goto
kernel_trap
;
goto
kernel_trap
;
...
@@ -341,7 +326,23 @@ static void inline do_trap(int trapnr, int signr, char *str, int vm86,
...
@@ -341,7 +326,23 @@ static void inline do_trap(int trapnr, int signr, char *str, int vm86,
}
}
kernel_trap:
{
kernel_trap:
{
unsigned
long
fixup
=
search_exception_table
(
regs
->
eip
);
unsigned
long
fixup
;
#ifdef CONFIG_PNPBIOS
if
(
unlikely
((
regs
->
xcs
|
8
)
==
0x88
))
/* 0x80 or 0x88 */
{
extern
u32
pnp_bios_fault_eip
,
pnp_bios_fault_esp
;
extern
u32
pnp_bios_is_utter_crap
;
pnp_bios_is_utter_crap
=
1
;
printk
(
KERN_CRIT
"PNPBIOS fault.. attempting recovery.
\n
"
);
__asm__
volatile
(
"movl %0, %%esp
\n\t
"
"jmp *%1
\n\t
"
:
"=a"
(
pnp_bios_fault_esp
),
"=b"
(
pnp_bios_fault_eip
));
panic
(
"do_trap: can't hit this"
);
}
#endif
fixup
=
search_exception_table
(
regs
->
eip
);
if
(
fixup
)
if
(
fixup
)
regs
->
eip
=
fixup
;
regs
->
eip
=
fixup
;
else
else
...
...
kernel/exit.c
View file @
f985b1cd
...
@@ -712,15 +712,19 @@ asmlinkage long sys_wait4(pid_t pid,unsigned int * stat_addr, int options, struc
...
@@ -712,15 +712,19 @@ asmlinkage long sys_wait4(pid_t pid,unsigned int * stat_addr, int options, struc
if
(
retval
)
if
(
retval
)
goto
end_wait4
;
goto
end_wait4
;
retval
=
p
->
pid
;
retval
=
p
->
pid
;
if
(
p
->
real_parent
!=
p
->
parent
||
p
->
ptrace
)
{
if
(
p
->
real_parent
!=
p
->
parent
)
{
write_lock_irq
(
&
tasklist_lock
);
write_lock_irq
(
&
tasklist_lock
);
remove_parent
(
p
);
ptrace_unlink
(
p
);
p
->
parent
=
p
->
real_parent
;
add_parent
(
p
,
p
->
parent
);
do_notify_parent
(
p
,
SIGCHLD
);
do_notify_parent
(
p
,
SIGCHLD
);
write_unlock_irq
(
&
tasklist_lock
);
write_unlock_irq
(
&
tasklist_lock
);
}
else
}
else
{
if
(
p
->
ptrace
)
{
write_lock_irq
(
&
tasklist_lock
);
ptrace_unlink
(
p
);
write_unlock_irq
(
&
tasklist_lock
);
}
release_task
(
p
);
release_task
(
p
);
}
goto
end_wait4
;
goto
end_wait4
;
default:
default:
continue
;
continue
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment