projects
/
GitHub
/
mt8127
/
android_kernel_alcatel_ttab.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-3.3/core' of git://git.kernel.dk/linux-block
[GitHub/mt8127/android_kernel_alcatel_ttab.git]
/
kernel
/
fork.c
diff --git
a/kernel/fork.c
b/kernel/fork.c
index 443f5125f11e39435929072e3abbd19d7a408ea9..f3fa18887cc9b8d7fbde14f0e6fe36f57f791b96 100644
(file)
--- a/
kernel/fork.c
+++ b/
kernel/fork.c
@@
-873,6
+873,7
@@
static int copy_io(unsigned long clone_flags, struct task_struct *tsk)
{
#ifdef CONFIG_BLOCK
struct io_context *ioc = current->io_context;
{
#ifdef CONFIG_BLOCK
struct io_context *ioc = current->io_context;
+ struct io_context *new_ioc;
if (!ioc)
return 0;
if (!ioc)
return 0;
@@
-884,11
+885,12
@@
static int copy_io(unsigned long clone_flags, struct task_struct *tsk)
if (unlikely(!tsk->io_context))
return -ENOMEM;
} else if (ioprio_valid(ioc->ioprio)) {
if (unlikely(!tsk->io_context))
return -ENOMEM;
} else if (ioprio_valid(ioc->ioprio)) {
-
tsk->io_context = alloc_io_context(GFP_KERNEL, -1
);
- if (unlikely(!
tsk->io_context
))
+
new_ioc = get_task_io_context(tsk, GFP_KERNEL, NUMA_NO_NODE
);
+ if (unlikely(!
new_ioc
))
return -ENOMEM;
return -ENOMEM;
- tsk->io_context->ioprio = ioc->ioprio;
+ new_ioc->ioprio = ioc->ioprio;
+ put_io_context(new_ioc, NULL);
}
#endif
return 0;
}
#endif
return 0;