| From foo@baz Wed Jan 3 20:37:21 CET 2018 |
| From: Hugh Dickins <hughd@google.com> |
| Date: Sun, 3 Sep 2017 17:09:44 -0700 |
| Subject: kaiser: fix build and FIXME in alloc_ldt_struct() |
| |
| From: Hugh Dickins <hughd@google.com> |
| |
| |
| Include linux/kaiser.h instead of asm/kaiser.h to build ldt.c without |
| CONFIG_KAISER. kaiser_add_mapping() does already return an error code, |
| so fix the FIXME. |
| |
| Signed-off-by: Hugh Dickins <hughd@google.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/kernel/ldt.c | 10 ++++------ |
| 1 file changed, 4 insertions(+), 6 deletions(-) |
| |
| --- a/arch/x86/kernel/ldt.c |
| +++ b/arch/x86/kernel/ldt.c |
| @@ -16,9 +16,9 @@ |
| #include <linux/slab.h> |
| #include <linux/vmalloc.h> |
| #include <linux/uaccess.h> |
| +#include <linux/kaiser.h> |
| |
| #include <asm/ldt.h> |
| -#include <asm/kaiser.h> |
| #include <asm/desc.h> |
| #include <asm/mmu_context.h> |
| #include <asm/syscalls.h> |
| @@ -49,7 +49,7 @@ static struct ldt_struct *alloc_ldt_stru |
| { |
| struct ldt_struct *new_ldt; |
| int alloc_size; |
| - int ret = 0; |
| + int ret; |
| |
| if (size > LDT_ENTRIES) |
| return NULL; |
| @@ -77,10 +77,8 @@ static struct ldt_struct *alloc_ldt_stru |
| return NULL; |
| } |
| |
| - // FIXME: make kaiser_add_mapping() return an error code |
| - // when it fails |
| - kaiser_add_mapping((unsigned long)new_ldt->entries, alloc_size, |
| - __PAGE_KERNEL); |
| + ret = kaiser_add_mapping((unsigned long)new_ldt->entries, alloc_size, |
| + __PAGE_KERNEL); |
| if (ret) { |
| __free_ldt_struct(new_ldt); |
| return NULL; |