linux_dsm_epyc7002/sound
Clemens Ladisch b406e6103b ALSA: pcm: fix delta calculation at boundary wraparound
In the cleanup of the hw_ptr update functions in 2.6.33, the calculation
of the delta value was changed to use the modulo operator to protect
against a negative difference due to the pointer wrapping around at the
boundary.

However, the ptr variables are unsigned, so a negative difference would
result in the two complement's value which has no relation to the actual
difference relative to the boundary; the result is typically some value
near LONG_MAX-boundary.  Furthermore, even if the modulo operation would
be done with signed types, the result of a negative dividend could be
negative.

The invalid delta value is then caught by the following checks, but this
means that the pointer update is ignored.

To fix this, use a range check as in the other pointer calculations.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-05-25 20:23:48 +02:00
..
aoa
arm Merge remote branch 'alsa/devel' into topic/misc 2010-04-16 15:20:06 +02:00
atmel
core ALSA: pcm: fix delta calculation at boundary wraparound 2010-05-25 20:23:48 +02:00
drivers Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-05-20 09:41:44 -07:00
i2c Merge remote branch 'alsa/devel' into topic/misc 2010-04-16 15:20:06 +02:00
isa Merge branch 'topic/misc' into for-linus 2010-05-20 11:59:29 +02:00
mips
oss m68k: amiga - Sound platform device conversion 2010-05-17 21:37:44 +02:00
parisc
pci ALSA: aw2-alsa.c: use pci_ids.h defines and fix checkpatch.pl noise 2010-05-25 08:39:28 +02:00
pcmcia pcmcia: dev_node removal (write-only drivers) 2010-05-10 10:23:14 +02:00
ppc Merge remote branch 'alsa/devel' into topic/misc 2010-04-16 15:20:06 +02:00
sh
soc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-05-20 09:41:44 -07:00
sparc
spi
synth
usb ALSA: usb/caiaq: fix Traktor Kontrol X1 ABS_HAT2X axis 2010-05-25 20:21:53 +02:00
ac97_bus.c
Kconfig
last.c
Makefile
sound_core.c
sound_firmware.c