Skip to content

Commit ddc5906

Browse files
author
CKI KWF Bot
committed
Merge: pps: fix use-after-free of a cdev hit in __fput()
MR: https://gitlab.com/redhat/rhel/src/kernel/rhel-9/-/merge_requests/3461 JIRA: https://issues.redhat.com/browse/RHEL-9309 Signed-off-by: Michal Schmidt <[email protected]> Approved-by: José Ignacio Tornos Martínez <[email protected]> Approved-by: Izabela Bakollari <[email protected]> Approved-by: CKI KWF Bot <[email protected]> Merged-by: CKI KWF Bot <[email protected]>
2 parents 2ad9e65 + a61858f commit ddc5906

File tree

8 files changed

+86
-82
lines changed

8 files changed

+86
-82
lines changed

drivers/pps/clients/pps-gpio.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@ static int pps_gpio_probe(struct platform_device *pdev)
214214
return -EINVAL;
215215
}
216216

217-
dev_info(data->pps->dev, "Registered IRQ %d as PPS source\n",
218-
data->irq);
217+
dev_dbg(&data->pps->dev, "Registered IRQ %d as PPS source\n",
218+
data->irq);
219219

220220
return 0;
221221
}

drivers/pps/clients/pps-ktimer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static struct pps_source_info pps_ktimer_info = {
5656

5757
static void __exit pps_ktimer_exit(void)
5858
{
59-
dev_info(pps->dev, "ktimer PPS source unregistered\n");
59+
dev_dbg(&pps->dev, "ktimer PPS source unregistered\n");
6060

6161
del_timer_sync(&ktimer);
6262
pps_unregister_source(pps);
@@ -74,7 +74,7 @@ static int __init pps_ktimer_init(void)
7474
timer_setup(&ktimer, pps_ktimer_event, 0);
7575
mod_timer(&ktimer, jiffies + HZ);
7676

77-
dev_info(pps->dev, "ktimer PPS source registered\n");
77+
dev_dbg(&pps->dev, "ktimer PPS source registered\n");
7878

7979
return 0;
8080
}

drivers/pps/clients/pps-ldisc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ static void pps_tty_dcd_change(struct tty_struct *tty, bool active)
3232
pps_event(pps, &ts, active ? PPS_CAPTUREASSERT :
3333
PPS_CAPTURECLEAR, NULL);
3434

35-
dev_dbg(pps->dev, "PPS %s at %lu\n",
35+
dev_dbg(&pps->dev, "PPS %s at %lu\n",
3636
active ? "assert" : "clear", jiffies);
3737
}
3838

@@ -69,7 +69,7 @@ static int pps_tty_open(struct tty_struct *tty)
6969
goto err_unregister;
7070
}
7171

72-
dev_info(pps->dev, "source \"%s\" added\n", info.path);
72+
dev_dbg(&pps->dev, "source \"%s\" added\n", info.path);
7373

7474
return 0;
7575

@@ -89,7 +89,7 @@ static void pps_tty_close(struct tty_struct *tty)
8989
if (WARN_ON(!pps))
9090
return;
9191

92-
dev_info(pps->dev, "removed\n");
92+
dev_info(&pps->dev, "removed\n");
9393
pps_unregister_source(pps);
9494
}
9595

drivers/pps/clients/pps_parport.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ static void parport_irq(void *handle)
8383
/* check the signal (no signal means the pulse is lost this time) */
8484
if (!signal_is_set(port)) {
8585
local_irq_restore(flags);
86-
dev_err(dev->pps->dev, "lost the signal\n");
86+
dev_err(&dev->pps->dev, "lost the signal\n");
8787
goto out_assert;
8888
}
8989

@@ -100,7 +100,7 @@ static void parport_irq(void *handle)
100100
/* timeout */
101101
dev->cw_err++;
102102
if (dev->cw_err >= CLEAR_WAIT_MAX_ERRORS) {
103-
dev_err(dev->pps->dev, "disabled clear edge capture after %d"
103+
dev_err(&dev->pps->dev, "disabled clear edge capture after %d"
104104
" timeouts\n", dev->cw_err);
105105
dev->cw = 0;
106106
dev->cw_err = 0;

drivers/pps/kapi.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ static void pps_add_offset(struct pps_ktime *ts, struct pps_ktime *offset)
4141
static void pps_echo_client_default(struct pps_device *pps, int event,
4242
void *data)
4343
{
44-
dev_info(pps->dev, "echo %s %s\n",
44+
dev_info(&pps->dev, "echo %s %s\n",
4545
event & PPS_CAPTUREASSERT ? "assert" : "",
4646
event & PPS_CAPTURECLEAR ? "clear" : "");
4747
}
@@ -112,7 +112,7 @@ struct pps_device *pps_register_source(struct pps_source_info *info,
112112
goto kfree_pps;
113113
}
114114

115-
dev_info(pps->dev, "new PPS source %s\n", info->name);
115+
dev_dbg(&pps->dev, "new PPS source %s\n", info->name);
116116

117117
return pps;
118118

@@ -166,7 +166,7 @@ void pps_event(struct pps_device *pps, struct pps_event_time *ts, int event,
166166
/* check event type */
167167
BUG_ON((event & (PPS_CAPTUREASSERT | PPS_CAPTURECLEAR)) == 0);
168168

169-
dev_dbg(pps->dev, "PPS event at %lld.%09ld\n",
169+
dev_dbg(&pps->dev, "PPS event at %lld.%09ld\n",
170170
(s64)ts->ts_real.tv_sec, ts->ts_real.tv_nsec);
171171

172172
timespec_to_pps_ktime(&ts_real, ts->ts_real);
@@ -188,7 +188,7 @@ void pps_event(struct pps_device *pps, struct pps_event_time *ts, int event,
188188
/* Save the time stamp */
189189
pps->assert_tu = ts_real;
190190
pps->assert_sequence++;
191-
dev_dbg(pps->dev, "capture assert seq #%u\n",
191+
dev_dbg(&pps->dev, "capture assert seq #%u\n",
192192
pps->assert_sequence);
193193

194194
captured = ~0;
@@ -202,7 +202,7 @@ void pps_event(struct pps_device *pps, struct pps_event_time *ts, int event,
202202
/* Save the time stamp */
203203
pps->clear_tu = ts_real;
204204
pps->clear_sequence++;
205-
dev_dbg(pps->dev, "capture clear seq #%u\n",
205+
dev_dbg(&pps->dev, "capture clear seq #%u\n",
206206
pps->clear_sequence);
207207

208208
captured = ~0;

drivers/pps/kc.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args)
4343
pps_kc_hardpps_mode = 0;
4444
pps_kc_hardpps_dev = NULL;
4545
spin_unlock_irq(&pps_kc_hardpps_lock);
46-
dev_info(pps->dev, "unbound kernel"
46+
dev_info(&pps->dev, "unbound kernel"
4747
" consumer\n");
4848
} else {
4949
spin_unlock_irq(&pps_kc_hardpps_lock);
50-
dev_err(pps->dev, "selected kernel consumer"
50+
dev_err(&pps->dev, "selected kernel consumer"
5151
" is not bound\n");
5252
return -EINVAL;
5353
}
@@ -57,11 +57,11 @@ int pps_kc_bind(struct pps_device *pps, struct pps_bind_args *bind_args)
5757
pps_kc_hardpps_mode = bind_args->edge;
5858
pps_kc_hardpps_dev = pps;
5959
spin_unlock_irq(&pps_kc_hardpps_lock);
60-
dev_info(pps->dev, "bound kernel consumer: "
60+
dev_info(&pps->dev, "bound kernel consumer: "
6161
"edge=0x%x\n", bind_args->edge);
6262
} else {
6363
spin_unlock_irq(&pps_kc_hardpps_lock);
64-
dev_err(pps->dev, "another kernel consumer"
64+
dev_err(&pps->dev, "another kernel consumer"
6565
" is already bound\n");
6666
return -EINVAL;
6767
}
@@ -83,7 +83,7 @@ void pps_kc_remove(struct pps_device *pps)
8383
pps_kc_hardpps_mode = 0;
8484
pps_kc_hardpps_dev = NULL;
8585
spin_unlock_irq(&pps_kc_hardpps_lock);
86-
dev_info(pps->dev, "unbound kernel consumer"
86+
dev_info(&pps->dev, "unbound kernel consumer"
8787
" on device removal\n");
8888
} else
8989
spin_unlock_irq(&pps_kc_hardpps_lock);

0 commit comments

Comments
 (0)