From patchwork Fri Nov 14 18:35:05 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabian Frederick X-Patchwork-Id: 410972 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41C4B14009B for ; Sat, 15 Nov 2014 05:35:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965701AbaKNSfN (ORCPT ); Fri, 14 Nov 2014 13:35:13 -0500 Received: from mailrelay005.isp.belgacom.be ([195.238.6.171]:39613 "EHLO mailrelay005.isp.belgacom.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964931AbaKNSfL (ORCPT ); Fri, 14 Nov 2014 13:35:11 -0500 X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtcNADJKZlRXQzQ2/2dsb2JhbABbgw6BLrlDBQF1mhWBHRcBAQEBAX2EMC8jgRo3iEUBwXKQJyyGPopkHYQ1BZ5MjRKJaIFHAW6BRzwwgksBAQE Received: from 54.52-67-87.adsl-dyn.isp.belgacom.be (HELO localhost.localdomain) ([87.67.52.54]) by relay.skynet.be with ESMTP; 14 Nov 2014 19:35:09 +0100 From: Fabian Frederick To: linux-kernel@vger.kernel.org Cc: Fabian Frederick , Marcel Holtmann , Gustavo Padovan , Johan Hedberg , "David S. Miller" , linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 1/1 net-next] Bluetooth: hidp: replace kzalloc/copy_from_user by memdup_user Date: Fri, 14 Nov 2014 19:35:05 +0100 Message-Id: <1415990105-28609-1-git-send-email-fabf@skynet.be> X-Mailer: git-send-email 1.9.3 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org use memdup_user for rd_data import. Signed-off-by: Fabian Frederick --- net/bluetooth/hidp/core.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index 1b7d605..cc25d0b 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c @@ -736,14 +736,10 @@ static int hidp_setup_hid(struct hidp_session *session, struct hid_device *hid; int err; - session->rd_data = kzalloc(req->rd_size, GFP_KERNEL); - if (!session->rd_data) - return -ENOMEM; + session->rd_data = memdup_user(req->rd_data, req->rd_size); + if (IS_ERR(session->rd_data)) + return PTR_ERR(session->rd_data); - if (copy_from_user(session->rd_data, req->rd_data, req->rd_size)) { - err = -EFAULT; - goto fault; - } session->rd_size = req->rd_size; hid = hid_allocate_device();