]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.14/ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch
autosel patches for 4.14
[thirdparty/kernel/stable-queue.git] / queue-4.14 / ptp-fix-pass-zero-to-err_ptr-in-ptp_clock_register.patch
1 From 7b6aa80e235d47864dba719547c7f5735c02e7a8 Mon Sep 17 00:00:00 2001
2 From: YueHaibing <yuehaibing@huawei.com>
3 Date: Fri, 23 Nov 2018 09:54:55 +0800
4 Subject: ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
5
6 [ Upstream commit aea0a897af9e44c258e8ab9296fad417f1bc063a ]
7
8 Fix smatch warning:
9
10 drivers/ptp/ptp_clock.c:298 ptp_clock_register() warn:
11 passing zero to 'ERR_PTR'
12
13 'err' should be set while device_create_with_groups and
14 pps_register_source fails
15
16 Fixes: 85a66e550195 ("ptp: create "pins" together with the rest of attributes")
17 Signed-off-by: YueHaibing <yuehaibing@huawei.com>
18 Acked-by: Richard Cochran <richardcochran@gmail.com>
19 Signed-off-by: David S. Miller <davem@davemloft.net>
20 Signed-off-by: Sasha Levin <sashal@kernel.org>
21 ---
22 drivers/ptp/ptp_clock.c | 5 ++++-
23 1 file changed, 4 insertions(+), 1 deletion(-)
24
25 diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c
26 index 7eacc1c4b3b1..c64903a5978f 100644
27 --- a/drivers/ptp/ptp_clock.c
28 +++ b/drivers/ptp/ptp_clock.c
29 @@ -253,8 +253,10 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info,
30 ptp->dev = device_create_with_groups(ptp_class, parent, ptp->devid,
31 ptp, ptp->pin_attr_groups,
32 "ptp%d", ptp->index);
33 - if (IS_ERR(ptp->dev))
34 + if (IS_ERR(ptp->dev)) {
35 + err = PTR_ERR(ptp->dev);
36 goto no_device;
37 + }
38
39 /* Register a new PPS source. */
40 if (info->pps) {
41 @@ -265,6 +267,7 @@ struct ptp_clock *ptp_clock_register(struct ptp_clock_info *info,
42 pps.owner = info->owner;
43 ptp->pps_source = pps_register_source(&pps, PTP_PPS_DEFAULTS);
44 if (!ptp->pps_source) {
45 + err = -EINVAL;
46 pr_err("failed to register pps source\n");
47 goto no_pps;
48 }
49 --
50 2.19.1
51