From: Johann Friedrichs Date: Thu, 21 Nov 2019 15:19:05 +0000 (+0100) Subject: media: dvb-core: Fix receiving invalid EIT-sections X-Git-Tag: v5.10.7~3325^2~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=000e6751825d756d7eb3fb4028a41add595204d9;p=platform%2Fkernel%2Flinux-rpi.git media: dvb-core: Fix receiving invalid EIT-sections Resetting buf without resetting pusi_seen at a channel-switch can lead to copying the rest of a section to the start of buf, but treating it as a complete section, when the next pusi arrives. EIT-sections starting without valid header were randomly received during an EIT-scan on a transponder. Signed-off-by: Johann Friedrichs Signed-off-by: Sean Young Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb-core/dvb_demux.c b/drivers/media/dvb-core/dvb_demux.c index 39a2c6c..5fde1d3 100644 --- a/drivers/media/dvb-core/dvb_demux.c +++ b/drivers/media/dvb-core/dvb_demux.c @@ -971,6 +971,7 @@ static int dmx_section_feed_start_filtering(struct dmx_section_feed *feed) dvbdmxfeed->feed.sec.secbuf = dvbdmxfeed->feed.sec.secbuf_base; dvbdmxfeed->feed.sec.secbufp = 0; dvbdmxfeed->feed.sec.seclen = 0; + dvbdmxfeed->pusi_seen = false; if (!dvbdmx->start_feed) { mutex_unlock(&dvbdmx->mutex);