Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp6237314ybe; Tue, 17 Sep 2019 23:33:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqyfeGeFqaLspd63u64EXYesWxZVkTWp+0MAubsSFM+OFxT0y9+EnHYQkmfLdUWXwJXVuc9c X-Received: by 2002:a50:9250:: with SMTP id j16mr8671558eda.160.1568788406377; Tue, 17 Sep 2019 23:33:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568788406; cv=none; d=google.com; s=arc-20160816; b=I0Ye01t8j3S79axjPAbln0Xg4vadpu2ik8v3xchSgLJmIvCGB1788QnFUA1LBL8c/k 0yP3Zk8lQxjXjlmRiyy4B8t075pO0PmSBtZioVtCstDyqlTmHD621feTwySZWKplFpJr JgI2q+Vg4G+/vHkgtarLgK41d5GpCEtmHo0ye7MljUyYMYkF0H2QSPiPUC2AvaT5Znl7 dCynr7EOUJPe2/r1RHTt35RwI2pQBaP8+YVZ2O4ppJXgcRCbqY8DolCuMIgvdGQ9OAGz fNThffpnFsHALUxdi0jsGb8Qc0RtbXlVGKBhrFS8c7AyldyG/bxLs4N+60RS4xtnD6xC ToJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=p95lvQW300qVU/O+PFmGNGLSDA6hOE2wW3mN4yZJMjg=; b=KB0E+IGS7hvHCe2LWlfBSLaxj0fPmRU9TuR2m7woZnVGMoC7bcFIUsFef+zBtUSUhn UAOO3y+ZuGFNYYjU6936jcXNnV0j1CMlnW0EYfjiYr/DGeQ46p3OHoT7hSUv+jATp7e8 3uKUB2+/KD20JzzSwnlBqcaSoONRUpfVPQD1EJVmiBuTiIfNaWJVnPRLz43dqqTdYtw8 SwdZY5MlusAEiYmu4fkvVlBVfUjDpM8wc/l/nu+lx9hMjcoHlK2em6g37qI23H+caErA KE0Axynxj+el5jSz17XUvUEeTYbCgYkU7xm8KnXu2eBiqTplg9sH9Rjw4uOyY/1YbWWO zz+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r4+hV3Ej; 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 o3si2304286ejm.109.2019.09.17.23.33.03; Tue, 17 Sep 2019 23:33:26 -0700 (PDT) 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=@kernel.org header.s=default header.b=r4+hV3Ej; 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 S1729187AbfIRGZD (ORCPT + 99 others); Wed, 18 Sep 2019 02:25:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:45756 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729969AbfIRGZC (ORCPT ); Wed, 18 Sep 2019 02:25:02 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C7BD521928; Wed, 18 Sep 2019 06:25:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568787901; bh=7KlmHso4sOglABOnIDkOem+DzQc816ftuqxxIAYaDbg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r4+hV3Ejtt34siQvgLvV42KoH1FRTpOdhIf1qvrrNEVxTDvgOuE4+LQ4fQJHaCEzf 3qWkqH3koCSGl5GB370qOV+RAKI3NYXAh1zxNvRfdaLmEerDaIaA8t5vqQqPuVxIjk ZiSfz1DuJVZLmzknltSVWVnZyHyxMz9yU1WVs2dE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kent Gibson , Bartosz Golaszewski Subject: [PATCH 5.2 25/85] gpio: fix line flag validation in lineevent_create Date: Wed, 18 Sep 2019 08:18:43 +0200 Message-Id: <20190918061234.952756789@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190918061234.107708857@linuxfoundation.org> References: <20190918061234.107708857@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kent Gibson commit 5ca2f54b597c816df54ff1b28eb99cf7262b955d upstream. lineevent_create should not allow any of GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_OPEN_DRAIN or GPIOHANDLE_REQUEST_OPEN_SOURCE to be set. Fixes: d7c51b47ac11 ("gpio: userspace ABI for reading/writing GPIO lines") Cc: stable Signed-off-by: Kent Gibson Signed-off-by: Bartosz Golaszewski Signed-off-by: Greg Kroah-Hartman --- drivers/gpio/gpiolib.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -934,7 +934,9 @@ static int lineevent_create(struct gpio_ } /* This is just wrong: we don't look for events on output lines */ - if (lflags & GPIOHANDLE_REQUEST_OUTPUT) { + if ((lflags & GPIOHANDLE_REQUEST_OUTPUT) || + (lflags & GPIOHANDLE_REQUEST_OPEN_DRAIN) || + (lflags & GPIOHANDLE_REQUEST_OPEN_SOURCE)) { ret = -EINVAL; goto out_free_label; } @@ -948,10 +950,6 @@ static int lineevent_create(struct gpio_ if (lflags & GPIOHANDLE_REQUEST_ACTIVE_LOW) set_bit(FLAG_ACTIVE_LOW, &desc->flags); - if (lflags & GPIOHANDLE_REQUEST_OPEN_DRAIN) - set_bit(FLAG_OPEN_DRAIN, &desc->flags); - if (lflags & GPIOHANDLE_REQUEST_OPEN_SOURCE) - set_bit(FLAG_OPEN_SOURCE, &desc->flags); ret = gpiod_direction_input(desc); if (ret)