Received: by 10.223.176.46 with SMTP id f43csp2633444wra; Mon, 22 Jan 2018 00:30:59 -0800 (PST) X-Google-Smtp-Source: AH8x2266Lo4g+lQvWn1kwSWH17IB3ehAfwK3xmDbKJs66bTvR7f/ksiC1wTlncayGDRj8IyziniK X-Received: by 10.99.113.67 with SMTP id b3mr2365281pgn.134.1516609859468; Mon, 22 Jan 2018 00:30:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516609859; cv=none; d=google.com; s=arc-20160816; b=oIP1er4KjrHB+tk3b7c3ixXGk+gNPeVVRV6SOHRydVOnbHdJjbp8cRY9eYS9+cNKsn i+TFhw7dKELx5pjuJQ/lgFtyH+9BrMCq3XdPaUC/WyTs5FKambeBnhojFqM4V+UAWexU OTUD/yFIaAKuydV4NpG9mgSifMnT73ApNb/kKnv/flreQvAJyheyZUFRHsQXSerg383T DipR1agNJKAtRWqNpinhyb2FiRTcwg45I6hgFnOV1OLAWsmDWOoivnvR3X94mujiZcDW uEG/SFeBnO1fMIcXdy52c/M+OAX0PQgjVJaxXCUG37YUDITTwCJ3PoiHqeVKb5YrrOWv ohSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=4R2Cn5O6b9m9tCFDSAwjCQ3fE/f6NTXF4Gt4SVcWTK8=; b=Ujl9kNJuyIhSdq7AXVUsI3m1ubbLZSL1c1iz0nHVrrJcWrZc50SUXqDXd7J/FW34NR dThJLNZ0UAMcTxP+omWH8rzBnUsnT3y1W+b5ROblolnvD/J+PGz1bk9GjGePBdqNpQCp QqcVv11XY+4Dp0qWIANIkTKfpgO6/l2ivwX96s9IdBksM+j0ujE4a8ow+PKpycF39BAo z7AzYRmmAkPZMzB4JPUY5wTKx6LuxAuAc9Ad+x4UfohI8C6yxKuhZ5pCf5SbLOO+GwOF Fopv44exfQyKAWOM5sTQdl1uTQjyfQMFTtp0ChElursSfHdk4SmmXcfEyS8LxlJnn7xF 3a+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=EMDcClp6; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n188si13785422pgn.289.2018.01.22.00.30.44; Mon, 22 Jan 2018 00:30:59 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=EMDcClp6; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751143AbeAVIaV (ORCPT + 99 others); Mon, 22 Jan 2018 03:30:21 -0500 Received: from mail-pg0-f43.google.com ([74.125.83.43]:44731 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750928AbeAVIaT (ORCPT ); Mon, 22 Jan 2018 03:30:19 -0500 Received: by mail-pg0-f43.google.com with SMTP id m20so6536332pgc.11 for ; Mon, 22 Jan 2018 00:30:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=4R2Cn5O6b9m9tCFDSAwjCQ3fE/f6NTXF4Gt4SVcWTK8=; b=EMDcClp6IyA6MTAaVhRivzAK/aO10aaHyxJuzURS3tA87P5FVsiDDvDHtKAkI49don qlrd1BrDmesq8/aGksxl1oLu99CCs81NLDfZ0KJq1xHFYjyoBoQYY1RWza4nuBL2xHlP U/4IHSGWxVnLt67KmyEethQ2h/neISFPs/cdLS4fF8aBEL+7CBqA+pOw48tt2e3Nmtc3 Zjld+REyZwjg+apAw1yqMprUn3pgFa7kL2D8ismAzSoBhGaP8wXOyAeLMviC3Mk6pbvq yqUc97hNcpF3ocXjK+hJPSucM5Kp1Cf2nCf1uDYgUAoB1KGn1hlwt9nc28RL/jkIO7hK i4Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=4R2Cn5O6b9m9tCFDSAwjCQ3fE/f6NTXF4Gt4SVcWTK8=; b=frTR3T6Ob32O1myUSyQapX4PTEP/QrMcnLU/qgFqp4gkMtOiKN/Sb62HD8P6cfTE/y UBR7GWjWRIb4xcCrQnqRztnqVzsa/J6tsMx74mPgdcocXtXQtYAsXq4rgUIjdDpYcM+5 XDX87NuQWEvqwu0iE73B2y7QQdRl3dW3pEYJ8zRJZbf3yV3D2ouSh9opFsbowv2g1fZU iyRyvnyyYOTqd0UA/8PqnSso3VU60yP7tDO3yWTydeQOaDmSSjvzEYrd4Y5Zf4lNrJi0 QCChexIB8jiUHLEu2KoUwMcCY7dvgyesXuo5vWq2KuMiC50Bq2vXu+bMvWrsTqBhL5EW Ykmg== X-Gm-Message-State: AKwxytcNVC0IntnhpCCr8cRXArGSOCqpjKTvdQFCMG4Xb5K41LAcQrqF TzYKeJ+BsmDDgYsjgOt/bp6JhWg5JjL3HWKcKv2w6Q== X-Received: by 10.101.90.10 with SMTP id y10mr6815540pgs.445.1516609819130; Mon, 22 Jan 2018 00:30:19 -0800 (PST) MIME-Version: 1.0 Received: by 10.236.140.151 with HTTP; Mon, 22 Jan 2018 00:29:58 -0800 (PST) In-Reply-To: References: From: Dmitry Vyukov Date: Mon, 22 Jan 2018 09:29:58 +0100 Message-ID: Subject: Re: Possible Memory Leak in KCOV Linux 4.15-rc1 To: Shankara Pailoor Cc: LKML , syzkaller , Andrew Zhu Aday 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 On Sun, Jan 21, 2018 at 6:54 PM, Shankara Pailoor wrote: > Below is a reproducer. > > #define _GNU_SOURCE > #include > #include > #include > #include > #include > > #define KCOV_INIT_TRACE _IOR('c', 1, unsigned long) > #define KCOV_ENABLE _IO('c', 100) > #define KCOV_DISABLE _IO('c', 101) > #define COVER_SIZE (16 << 20) > > > void kcov_setup() { > unsigned long *cover; > int fd; > > fd = open("/sys/kernel/debug/kcov", O_RDWR); > if (fd == -1) > perror("open"), exit(1); > if (ioctl(fd, KCOV_INIT_TRACE, COVER_SIZE)) > perror("ioctl"), exit(1); > cover = (unsigned long*)mmap(NULL, > COVER_SIZE * sizeof(unsigned long), > PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); > if ((void*)cover == MAP_FAILED) > perror("mmap"), exit(1); > if (ioctl(fd, KCOV_ENABLE, 0)) > perror("ioctl"), exit(1); > > } > > void main() { > int i; > for (i = 0; i < 4; i++) > kcov_setup(); > sleep(10); > } Thanks! I've just mailed a fix for this: https://groups.google.com/d/msg/syzkaller/Hclbq5Elfs8/J5V_FnC4DgAJ With that patch the second KCOV_ENABLE return EBUSY. To make it clear, it won't fix your code per se, because it's a misuse of the API. You need to either call KCOV_DISABLE first, or reuse the first kcov descriptor and mapping, you can just write 0 to the first work of the mapping to reset current coverage (which should be much faster).