From: David Laight <David.Laight@ACULAB.COM>
To: 'Matt Jan' <zoo868e@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Herve Codina <herve.codina@bootlin.com>,
Mark Brown <broonie@kernel.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] minmax: allow comparisons of 'long long int' against 'unsigned char/short/int'
Date: Sun, 7 Jan 2024 20:55:55 +0000 [thread overview]
Message-ID: <b9fcab5c9aa44964ba04ea1ff2b5de59@AcuMS.aculab.com> (raw)
In-Reply-To: <20240107201129.6106-1-zoo868e@gmail.com>
From: Matt Jan
> Sent: 07 January 2024 20:11
>
> Since 'unsigned int' get promoted to 'signed long long int' it is safe
> to compare them against an 'long long int' value.
Yes, but not as below.
That change would allow pretty much everything through since everything
except 'unsigned long long' would be signed.
You'd need a much more complex check and the CPP bloat is pretty
horrid already.
That particular check is there to promote unsigned char/short to
signed int - which always happens.
David
>
> Signed-off-by: Matt Jan <zoo868e@gmail.com>
> ---
> include/linux/minmax.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/minmax.h b/include/linux/minmax.h
> index 2ec559284a9f..61171286b468 100644
> --- a/include/linux/minmax.h
> +++ b/include/linux/minmax.h
> @@ -37,7 +37,7 @@
>
> #define __types_ok(x, y) \
> (__is_signed(x) == __is_signed(y) || \
> - __is_signed((x) + 0) == __is_signed((y) + 0) || \
> + __is_signed((x) + 0ll) == __is_signed((y) + 0ll) || \
> __is_noneg_int(x) || __is_noneg_int(y))
>
> #define __cmp_op_min <
> --
> 2.34.1
>
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
prev parent reply other threads:[~2024-01-07 20:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-07 20:11 [PATCH] minmax: allow comparisons of 'long long int' against 'unsigned char/short/int' Matt Jan
2024-01-07 20:55 ` David Laight [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b9fcab5c9aa44964ba04ea1ff2b5de59@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=akpm@linux-foundation.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=broonie@kernel.org \
--cc=herve.codina@bootlin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=willy@infradead.org \
--cc=zoo868e@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox