[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230310121832.GH1045797@google.com>
Date: Fri, 10 Mar 2023 21:18:32 +0900
From: Sergey Senozhatsky <senozhatsky@...omium.org>
To: Ricardo Ribalda <ribalda@...omium.org>
Cc: Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
linux-kernel@...r.kernel.org, linux-media@...r.kernel.org,
Sergey Senozhatsky <senozhatsky@...omium.org>,
"hn.chen" <hn.chen@...plusit.com>
Subject: Re: [PATCH v7 1/6] media: uvcvideo: Fix underflow addressing on hw
timestamp
On (23/03/10 10:01), Ricardo Ribalda wrote:
> If head is 0, we will be addressing clock->samples[-1], which will
> result in undefined behaviour.
[..]
> first = &clock->samples[clock->head];
> - last = &clock->samples[(clock->head - 1) % clock->size];
> + last = &clock->samples[(clock->head - 1 + clock->size) % clock->size];
Just for visibility:
Per offline discussion with Ricardo, this should not cause a samples[-1]
access, as all arithmetic operations there `unsigned`
75ef: 41 8d 46 ff lea -0x1(%r14),%eax
75f3: 31 d2 xor %edx,%edx
75f5: f7 f1 div %ecx
75f7: 41 89 d5 mov %edx,%r13d
Regardless of that, Ricardo still has a point, there is a bug in the code.
Powered by blists - more mailing lists