Re: [PATCH 1/2] s390/con3215: Add __must_hold() attribute to raw3215_make_room()

Sven Schnelle <[email protected]>
Newsgroups org.kernel.vger.linux-s390
Message-ID <[email protected]>
Heiko Carstens <[email protected]> writes:

> Add __must_hold() attribute to raw3215_make_room() in order to let
> clang's context analysis know that "get_ccwdev_lock(raw->cdev)" must be
> held on function entry. This can also be easily verified when inspecting
> the function.
>
> Without this annotation this leads to a valid warning when context
> analysis is enabled:
>
> drivers/s390/char/con3215.c:485:9: warning:
>   expecting spinlock 'raw->cdev->ccwlock' to be held at start of each loop [-Wthread-safety-analysis]
>   485 |         while (RAW3215_BUFFER_SIZE - raw->count < length) {
>
> Signed-off-by: Heiko Carstens <[email protected]>
> ---
>  drivers/s390/char/con3215.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c
> index 46265f4fbfd8..57fefa8986d6 100644
> --- a/drivers/s390/char/con3215.c
> +++ b/drivers/s390/char/con3215.c
> @@ -481,6 +481,7 @@ static unsigned int raw3215_drop(struct raw3215_info *raw)
>   */
>  static unsigned int raw3215_make_room(struct raw3215_info *raw,
>  				      unsigned int length, bool drop)
> +	__must_hold(get_ccwdev_lock(raw->cdev))
>  {
>  	while (RAW3215_BUFFER_SIZE - raw->count < length) {
>  		if (drop)

Reviewed-by: Sven Schnelle <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.