Received: by 10.223.185.116 with SMTP id b49csp2293234wrg; Thu, 15 Feb 2018 09:22:41 -0800 (PST) X-Google-Smtp-Source: AH8x224gDpEXo02KZRVqJ9FnVHtDL6YcRw+MraAyBaQR8Rg1YyELM3zvIxGarsAM5C7Maxvtja+M X-Received: by 2002:a17:902:f83:: with SMTP id 3-v6mr3202966plz.287.1518715361201; Thu, 15 Feb 2018 09:22:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518715361; cv=none; d=google.com; s=arc-20160816; b=Mg+OF42fELVoWr7uXXHhgWFqSiRAUHVOKi1aYmYovL0AvENrNE5stibCuz8b+bJ4KF ZWgn1QEEyNuQMdmK3LRDPBRUEGvr5k6mVX4Pez34mWLo4YiGF1VS7wRuXtBoiF7lw4lw uP66RJC2qeaXb21JCU91cu5LjV9bQLZmg/n66nArrLVGO7F8lvXvs58n9P+Pz1bfZzau K6q5xiKBb35pco/oNamYPbAKU/U9VXDEUzyY4K/DfZXMfBsXwzFchfuf1T5QtYEDoWyY VgssmJ+/J51w82KoghdLz9iLGFiWHXM3p7IZrL8+DkHwDQMNvmvaAquTPaySDwWotxBb drQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=HFLYTn4Vr1CbAv+qPcH7KNIly/qB9t7mnXuiUCbvL5Y=; b=PZ3VF1C95pnUGcSdi4G0nQntH1bWr1Nafaw2HvTg3JBPUbisWA3OTk6x/pJM3D9j94 +fydWkwqkuyGS54aLVFYqJu7QmgE2VMX8/AdWk0tDjmdbAefHgCLUfK4XB9a0kx0WeX/ swaT9oJWIaS9PdVc9Ldy9vspulfBxSN4UJDhvLyVx26HDO8I8ZRdtIQ96UHgjJu0n/vc smdSRDcv6fuKVE445ewLKQniBrgqFFqfFjT2yAOu8gVb3OY1FwaKNGNgqU/kpP3bdQ9+ ibPO/b8EXnAiyTka+lMxVMHGzx0yZn1o2kjWFBhQpsZz7GiPB2m2bSj2tNG4BVlkOti+ t35g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t1si1506589pgv.668.2018.02.15.09.22.26; Thu, 15 Feb 2018 09:22:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1422882AbeBORUB (ORCPT + 99 others); Thu, 15 Feb 2018 12:20:01 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:57502 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422726AbeBOPfj (ORCPT ); Thu, 15 Feb 2018 10:35:39 -0500 Received: from localhost (LFbn-1-12258-90.w90-92.abo.wanadoo.fr [90.92.71.90]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 9202910D2; Thu, 15 Feb 2018 15:35:38 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christophe Leroy , Herbert Xu Subject: [PATCH 4.14 135/195] crypto: talitos - fix Kernel Oops on hashing an empty file Date: Thu, 15 Feb 2018 16:17:06 +0100 Message-Id: <20180215151712.532631504@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180215151705.738773577@linuxfoundation.org> References: <20180215151705.738773577@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: LEROY Christophe commit 87a81dce53b1ea61acaeefa5191a0376a2d1d721 upstream. Performing the hash of an empty file leads to a kernel Oops [ 44.504600] Unable to handle kernel paging request for data at address 0x0000000c [ 44.512819] Faulting instruction address: 0xc02d2be8 [ 44.524088] Oops: Kernel access of bad area, sig: 11 [#1] [ 44.529171] BE PREEMPT CMPC885 [ 44.532232] CPU: 0 PID: 491 Comm: md5sum Not tainted 4.15.0-rc8-00211-g3a968610b6ea #81 [ 44.540814] NIP: c02d2be8 LR: c02d2984 CTR: 00000000 [ 44.545812] REGS: c6813c90 TRAP: 0300 Not tainted (4.15.0-rc8-00211-g3a968610b6ea) [ 44.554223] MSR: 00009032 CR: 48222822 XER: 20000000 [ 44.560855] DAR: 0000000c DSISR: c0000000 [ 44.560855] GPR00: c02d28fc c6813d40 c6828000 c646fa40 00000001 00000001 00000001 00000000 [ 44.560855] GPR08: 0000004c 00000000 c000bfcc 00000000 28222822 100280d4 00000000 10020008 [ 44.560855] GPR16: 00000000 00000020 00000000 00000000 10024008 00000000 c646f9f0 c6179a10 [ 44.560855] GPR24: 00000000 00000001 c62f0018 c6179a10 00000000 c6367a30 c62f0000 c646f9c0 [ 44.598542] NIP [c02d2be8] ahash_process_req+0x448/0x700 [ 44.603751] LR [c02d2984] ahash_process_req+0x1e4/0x700 [ 44.608868] Call Trace: [ 44.611329] [c6813d40] [c02d28fc] ahash_process_req+0x15c/0x700 (unreliable) [ 44.618302] [c6813d90] [c02060c4] hash_recvmsg+0x11c/0x210 [ 44.623716] [c6813db0] [c0331354] ___sys_recvmsg+0x98/0x138 [ 44.629226] [c6813eb0] [c03332c0] __sys_recvmsg+0x40/0x84 [ 44.634562] [c6813f10] [c03336c0] SyS_socketcall+0xb8/0x1d4 [ 44.640073] [c6813f40] [c000d1ac] ret_from_syscall+0x0/0x38 [ 44.645530] Instruction dump: [ 44.648465] 38c00001 7f63db78 4e800421 7c791b78 54690ffe 0f090000 80ff0190 2f870000 [ 44.656122] 40befe50 2f990001 409e0210 813f01bc <8129000c> b39e003a 7d29c214 913e003c This patch fixes that Oops by checking if src is NULL. Fixes: 6a1e8d14156d4 ("crypto: talitos - making mapping helpers more generic") Signed-off-by: Christophe Leroy Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/talitos.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c @@ -1127,6 +1127,10 @@ int talitos_sg_map(struct device *dev, s to_talitos_ptr_len(ptr, len, is_sec1); to_talitos_ptr_ext_set(ptr, 0, is_sec1); + if (!src) { + to_talitos_ptr(ptr, 0, 0, is_sec1); + return 1; + } if (sg_count == 1) { to_talitos_ptr(ptr, sg_dma_address(src) + offset, is_sec1); return sg_count;