| From foo@baz Wed Jan 3 18:58:12 CET 2018 |
| From: Hugh Dickins <hughd@google.com> |
| Date: Mon, 4 Dec 2017 20:13:35 -0800 |
| Subject: kaiser: fix unlikely error in alloc_ldt_struct() |
| |
| From: Hugh Dickins <hughd@google.com> |
| |
| |
| An error from kaiser_add_mapping() here is not at all likely, but |
| Eric Biggers rightly points out that __free_ldt_struct() relies on |
| new_ldt->size being initialized: move that up. |
| |
| Signed-off-by: Hugh Dickins <hughd@google.com> |
| Acked-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/kernel/ldt.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/kernel/ldt.c |
| +++ b/arch/x86/kernel/ldt.c |
| @@ -79,11 +79,11 @@ static struct ldt_struct *alloc_ldt_stru |
| |
| ret = kaiser_add_mapping((unsigned long)new_ldt->entries, alloc_size, |
| __PAGE_KERNEL); |
| + new_ldt->size = size; |
| if (ret) { |
| __free_ldt_struct(new_ldt); |
| return NULL; |
| } |
| - new_ldt->size = size; |
| return new_ldt; |
| } |
| |