From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756344AbbCFTu5 (ORCPT ); Fri, 6 Mar 2015 14:50:57 -0500 Received: from mail-ie0-f182.google.com ([209.85.223.182]:40416 "EHLO mail-ie0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755504AbbCFTuz (ORCPT ); Fri, 6 Mar 2015 14:50:55 -0500 MIME-Version: 1.0 In-Reply-To: <20150306133312.GC4259@pd.tnic> References: <1425456048-16236-1-git-send-email-yinghai@kernel.org> <1425456048-16236-5-git-send-email-yinghai@kernel.org> <20150304101649.GA3663@pd.tnic> <20150304200000.GB6276@gmail.com> <20150306133312.GC4259@pd.tnic> Date: Fri, 6 Mar 2015 11:50:54 -0800 X-Google-Sender-Auth: foT4Q6kis0FjvYmQh3cvDzQvwzg Message-ID: Subject: Re: [PATCH v2 04/15] x86, kaslr: get kaslr_enabled back correctly From: Yinghai Lu To: Borislav Petkov Cc: Ingo Molnar , Matt Fleming , "H. Peter Anvin" , Bjorn Helgaas , Thomas Gleixner , Ingo Molnar , Jiri Kosina , Baoquan He , Linux Kernel Mailing List , "linux-efi@vger.kernel.org" , "linux-pci@vger.kernel.org" , Kees Cook Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 6, 2015 at 5:33 AM, Borislav Petkov wrote: > > "However, the setup_data linked list and thus the element which contains > kaslr_enabled is chained together using physical addresses. At the > time when we access it in the kernel proper, we're already running > with paging enabled and therefore must access it through its virtual > address." > > That's it, now how hard was to explain it that way? No, I don't think your change log is right. Actually the old code is using address as value. if the old code would be like: kaslr_enabled = (bool)(*(unsigned char *)(pa_data + sizeof(struct setup_data))); then your change log would be good, but the old code is kaslr_enabled = (bool)(pa_data + sizeof(struct setup_data)); From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yinghai Lu Subject: Re: [PATCH v2 04/15] x86, kaslr: get kaslr_enabled back correctly Date: Fri, 6 Mar 2015 11:50:54 -0800 Message-ID: References: <1425456048-16236-1-git-send-email-yinghai@kernel.org> <1425456048-16236-5-git-send-email-yinghai@kernel.org> <20150304101649.GA3663@pd.tnic> <20150304200000.GB6276@gmail.com> <20150306133312.GC4259@pd.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: <20150306133312.GC4259-fF5Pk5pvG8Y@public.gmane.org> Sender: linux-efi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Borislav Petkov Cc: Ingo Molnar , Matt Fleming , "H. Peter Anvin" , Bjorn Helgaas , Thomas Gleixner , Ingo Molnar , Jiri Kosina , Baoquan He , Linux Kernel Mailing List , "linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Kees Cook List-Id: linux-efi@vger.kernel.org On Fri, Mar 6, 2015 at 5:33 AM, Borislav Petkov wrote: > > "However, the setup_data linked list and thus the element which contains > kaslr_enabled is chained together using physical addresses. At the > time when we access it in the kernel proper, we're already running > with paging enabled and therefore must access it through its virtual > address." > > That's it, now how hard was to explain it that way? No, I don't think your change log is right. Actually the old code is using address as value. if the old code would be like: kaslr_enabled = (bool)(*(unsigned char *)(pa_data + sizeof(struct setup_data))); then your change log would be good, but the old code is kaslr_enabled = (bool)(pa_data + sizeof(struct setup_data));