aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2024-10-13 16:42:43 +0300
committerSiluxsept <ronny.horn.rh@gmail.com>2024-11-19 15:36:34 +0100
commit9ef5ca94309c15b1f7e4696424388ec746f3bafb (patch)
treed46dbd1cbd50fab019bd7078651cf86a9ed4c78f
parent7c526990f6837ee12ba93f192815d1c240052e1b (diff)
dsp: q6voice: Switch to __builtin_add_overflowu14.0
As seen on newer kernels Change-Id: I87f0a408c211f956ebe8acaf23cbdd8c89fef9e5
-rw-r--r--techpack/audio/dsp/q6voice.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/techpack/audio/dsp/q6voice.c b/techpack/audio/dsp/q6voice.c
index d6100376ed15..dd167f0f7031 100644
--- a/techpack/audio/dsp/q6voice.c
+++ b/techpack/audio/dsp/q6voice.c
@@ -41,17 +41,6 @@
#define CVP_VERSION_2 2
#define GAIN_Q14_FORMAT(a) (a << 14)
-/* Checking for unsigned overflow is relatively easy without causing UB. */
- #define __unsigned_add_overflow(a, b, d) ({ \
- typeof(a) __a = (a); \
- typeof(b) __b = (b); \
- typeof(d) __d = (d); \
- (void) (&__a == &__b); \
- (void) (&__a == __d); \
- *__d = __a + __b; \
- *__d < __a; \
-})
-
enum {
VOC_TOKEN_NONE,
VOIP_MEM_MAP_TOKEN,
@@ -7638,8 +7627,8 @@ static int32_t qdsp_cvs_callback(struct apr_client_data *data, void *priv)
cvs_voc_pkt = v->shmem_info.sh_buf.buf[1].data;
- if (__unsigned_add_overflow(cvs_voc_pkt[2],
- (uint32_t)(3 * sizeof(uint32_t)), &tot_buf_sz)) {
+ if (__builtin_add_overflow(cvs_voc_pkt[2],
+ 3 * sizeof(uint32_t), &tot_buf_sz)) {
pr_err("%s: integer overflow detected\n", __func__);
return -EINVAL;
}