diff options
| author | Michael Bestas <mkbestas@lineageos.org> | 2024-10-13 16:42:43 +0300 |
|---|---|---|
| committer | Siluxsept <ronny.horn.rh@gmail.com> | 2024-11-19 15:36:34 +0100 |
| commit | 9ef5ca94309c15b1f7e4696424388ec746f3bafb (patch) | |
| tree | d46dbd1cbd50fab019bd7078651cf86a9ed4c78f | |
| parent | 7c526990f6837ee12ba93f192815d1c240052e1b (diff) | |
dsp: q6voice: Switch to __builtin_add_overflowu14.0
As seen on newer kernels
Change-Id: I87f0a408c211f956ebe8acaf23cbdd8c89fef9e5
| -rw-r--r-- | techpack/audio/dsp/q6voice.c | 15 |
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; } |
