From: Linus Torvalds > Sent: 19 October 2022 19:11 ... > Explicit casts are bad (unless, of course, you are explicitly trying > to violate the type system, when they are both required, and a great > way to say "look, I'm doing something dangerous"). The worst ones in the kernel are the __force ones for sparse. They really ought to be a function (#define) so that they are not seen by the compiler at all. Otherwise they can hide a multitude of sins. There are also the casts to convert integer values to/from unsigned. and to different sized integers. They all happen far too often and can hide things. A '+ 0u' will convert into to unsigned int without a cast. Casts really ought to be rare. Even the casts to from (void *) (for 'buffers') can usually be made implicit in a function call argument. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)