diff --git a/drivers/media/platform/tegra/cdi/cdi_mgr.c b/drivers/media/platform/tegra/cdi/cdi_mgr.c index 37636d55..39e2b424 100644 --- a/drivers/media/platform/tegra/cdi/cdi_mgr.c +++ b/drivers/media/platform/tegra/cdi/cdi_mgr.c @@ -1299,8 +1299,14 @@ static void cdi_mgr_dev_ins(struct work_struct *work) dev_dbg(cdi_mgr->dev, "%s - %s\n", __func__, np->full_name); sname = of_get_property(np, "cdi-dev", NULL); - if (sname) - strncpy(d_cfg.drv_name, sname, sizeof(d_cfg.drv_name) - 8); + if (sname) { + ssize_t sz_sname = 0; + sz_sname = strscpy(d_cfg.drv_name, sname, sizeof(d_cfg.drv_name) - 8); + if (sz_sname < 0) { + pr_err("File name too large: %s\n", sname); + return; + } + } for_each_child_of_node(np, subdev) { err = of_property_read_u32(subdev, "addr", &val); diff --git a/include/trace/events/tegra_rtcpu.h b/include/trace/events/tegra_rtcpu.h index 279575ff..635c0b2f 100644 --- a/include/trace/events/tegra_rtcpu.h +++ b/include/trace/events/tegra_rtcpu.h @@ -120,11 +120,11 @@ TRACE_EVENT(rtcpu_string, __entry->tstamp = tstamp; __entry->id = id; __entry->len = len; - strscpy(__entry->data, data, sizeof(__entry->data)); + (void)strscpy(__entry->data, data, sizeof(__entry->data)); ), TP_printk("tstamp:%llu id:0x%08x str:\"%.*s\"", __entry->tstamp, __entry->id, - (int)__entry->len, __entry->data) + (int)(sizeof(__entry->data)), __entry->data) ); DEFINE_EVENT(rtcpu__dump, rtcpu_bulk,