From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
Henk Vergonet <Henk.Vergonet@gmail.com>,
Michael Krufky <mkrufky@kernellabs.com>,
Mauro Carvalho Chehab <mchehab@redhat.com>
Subject: [07/20] V4L/DVB (13107): tda18271: fix overflow in FM radio frequency calculation
Date: Sun, 06 Dec 2009 15:30:39 -0800 [thread overview]
Message-ID: <20091206233209.140733272@mini.kroah.org> (raw)
In-Reply-To: <20091206233711.GA11609@kroah.com>
[-- Attachment #1: v4l-dvb-13107-tda18271-fix-overflow-in-fm-radio-frequency-calculation.patch --]
[-- Type: text/plain, Size: 1400 bytes --]
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Michael Krufky <mkrufky@kernellabs.com>
commit 4d8317876d5f53ef792e90f89d8f162d7bca5c81 upstream.
Multiplication by 62500 causes an overflow in the 32 bit freq variable,
which is later divided by 1000 when using FM radio.
This patch prevents the overflow by scaling the frequency value correctly
upfront. Thanks to Henk Vergonet for spotting the problem and providing
a preliminary patch, which this changeset was based upon.
Cc: Henk Vergonet <Henk.Vergonet@gmail.com>
Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/media/common/tuners/tda18271-fe.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/media/common/tuners/tda18271-fe.c
+++ b/drivers/media/common/tuners/tda18271-fe.c
@@ -927,12 +927,12 @@ static int tda18271_set_analog_params(st
struct tda18271_std_map_item *map;
char *mode;
int ret;
- u32 freq = params->frequency * 62500;
+ u32 freq = params->frequency * 125 *
+ ((params->mode == V4L2_TUNER_RADIO) ? 1 : 1000) / 2;
priv->mode = TDA18271_ANALOG;
if (params->mode == V4L2_TUNER_RADIO) {
- freq = freq / 1000;
map = &std_map->fm_radio;
mode = "fm";
} else if (params->std & V4L2_STD_MN) {
next prev parent reply other threads:[~2009-12-06 23:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20091206233032.387950574@mini.kroah.org>
2009-12-06 23:37 ` [00/20] 2.6.27.40-stable review Greg KH
2009-12-06 23:30 ` [01/20] ALSA: AACI: fix AC97 multiple-open bug Greg KH
2009-12-06 23:30 ` [02/20] ALSA: AACI: fix recording bug Greg KH
2009-12-06 23:30 ` [03/20] ALSA: usb-audio: fix combine_word problem Greg KH
2009-12-06 23:30 ` [04/20] [SCSI] gdth: Prevent negative offsets in ioctl CVE-2009-3080 Greg KH
2009-12-06 23:30 ` [05/20] jffs2: Fix memory corruption in jffs2_read_inode_range() Greg KH
2009-12-06 23:30 ` [06/20] V4L/DVB (13079): dib0700: fixed xc2028 firmware loading kernel oops Greg KH
2009-12-06 23:30 ` Greg KH [this message]
2009-12-06 23:30 ` [08/20] V4L/DVB (13109): tda18271: fix signedness issue in tda18271_rf_tracking_filters_init Greg KH
2009-12-06 23:30 ` [09/20] V4L/DVB (13190): em28xx: fix panic that can occur when starting audio streaming Greg KH
2009-12-06 23:30 ` [10/20] V4L/DVB (13230): s2255drv: Dont conditionalize video buffer completion on waiting processes Greg KH
2009-12-06 23:30 ` [11/20] [CPUFREQ] Enable ACPI PDC handshake for VIA/Centaur CPUs Greg KH
2009-12-06 23:30 ` [12/20] fuse: reject O_DIRECT flag also in fuse_create Greg KH
2009-12-06 23:30 ` [13/20] fuse: prevent fuse_put_request on invalid pointer Greg KH
2009-12-06 23:30 ` [14/20] isdn: hfc_usb: Fix read buffer overflow Greg KH
2009-12-06 23:30 ` [15/20] thinkpad-acpi: fix sign of ERESTARTSYS return Greg KH
2009-12-06 23:30 ` [16/20] USB: ohci: quirk AMD prefetch for USB 1.1 ISO transfer Greg KH
2009-12-06 23:30 ` [17/20] USB: suspend/resume support for option driver Greg KH
2009-12-06 23:30 ` [18/20] USB: usb-serial: replace shutdown with disconnect, release Greg KH
2009-12-06 23:30 ` [19/20] dca: redesign locks to fix deadlocks Greg KH
2009-12-06 23:30 ` [20/20] hwmon: (it87) Fix VID reading on IT8718F Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091206233209.140733272@mini.kroah.org \
--to=gregkh@suse.de \
--cc=Henk.Vergonet@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=mkrufky@kernellabs.com \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox