From patchwork Fri Nov 21 18:08:08 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Gardner X-Patchwork-Id: 413138 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 32F4514017A; Sat, 22 Nov 2014 05:08:43 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1XrsdK-0005xb-FY; Fri, 21 Nov 2014 18:08:38 +0000 Received: from mail-ob0-f173.google.com ([209.85.214.173]) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1Xrsd3-0005rk-OI for kernel-team@lists.ubuntu.com; Fri, 21 Nov 2014 18:08:21 +0000 Received: by mail-ob0-f173.google.com with SMTP id uy5so4408131obc.4 for ; Fri, 21 Nov 2014 10:08:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=p20zu556hPS0RRO7JkF6wsGuWUHnqR9AcdMD5/pUgjE=; b=PO1NdyXgazPnVsccJwtXE47M24RT2ekJR+x+TOsS0pDBWYrBnY9K90WGeaQPqRgdyN FedzDbb2fJEBwhLYyeIxdka9oULfPCdjZ7F7eQ/+wz2aZw99zEvqq4Rzi9RElotSIWc7 rtCIef1IleJ7hKKy+t6nq9lYl/rdbZgopDUJB6ahOMh2GF7RXd0NlIzCQP0vL4FQhLg0 Hwl0E6w2NtavpgLpCu5HPsqjnoD0OTu4hNDxGk/OZY7dI5GXJCAaYdPcnU8r02nVvygq zMPOXVPoBOhVwgJ50Pw+vwouK58PR4RtBg+PnKJ2pVD2gWbOErUNohPvH+RizWIEqa8l F5ew== X-Gm-Message-State: ALoCoQn6hIvms3Mo6AgFWX9tlkybkRPsWvTw+s6g5BiAS2dh4SeL5XdYifZDyxwnAv62cJsaXL42 X-Received: by 10.182.120.69 with SMTP id la5mr2888147obb.87.1416593301114; Fri, 21 Nov 2014 10:08:21 -0800 (PST) Received: from localhost.localdomain (rrcs-67-79-14-250.sw.biz.rr.com. [67.79.14.250]) by mx.google.com with ESMTPSA id d85sm2359071oic.26.2014.11.21.10.08.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 21 Nov 2014 10:08:20 -0800 (PST) From: tim.gardner@canonical.com To: kernel-team@lists.ubuntu.com Subject: [PATCH 3/3 Utopic SRU V2] powerpc: Fill in si_addr_lsb siginfo field Date: Fri, 21 Nov 2014 12:08:08 -0600 Message-Id: <1416593288-16995-4-git-send-email-tim.gardner@canonical.com> X-Mailer: git-send-email 2.1.3 In-Reply-To: <1416593288-16995-1-git-send-email-tim.gardner@canonical.com> References: <1416592490-16756-1-git-send-email-tim.gardner@canonical.com> <1416593288-16995-1-git-send-email-tim.gardner@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Anton Blanchard BugLink: http://bugs.launchpad.net/bugs/1370425 Fill in the si_addr_lsb siginfo field so the hwpoison code can pass to userspace the length of memory that has been corrupted. Signed-off-by: Anton Blanchard Signed-off-by: Michael Ellerman (cherry picked from commit 9d57472f61acd7c3a33ebf5a79361e316d8ffbef) Signed-off-by: Tim Gardner --- arch/powerpc/mm/fault.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 588b6cc..24b3f49 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -118,6 +119,7 @@ static int do_sigbus(struct pt_regs *regs, unsigned long address, unsigned int fault) { siginfo_t info; + unsigned int lsb = 0; up_read(¤t->mm->mmap_sem); @@ -135,7 +137,13 @@ static int do_sigbus(struct pt_regs *regs, unsigned long address, current->comm, current->pid, address); info.si_code = BUS_MCEERR_AR; } + + if (fault & VM_FAULT_HWPOISON_LARGE) + lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault)); + if (fault & VM_FAULT_HWPOISON) + lsb = PAGE_SHIFT; #endif + info.si_addr_lsb = lsb; force_sig_info(SIGBUS, &info, current); return MM_FAULT_RETURN; }