mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-17 09:41:09 +02:00
658dfbec96620ff08ef17c87b35b6a6bb8d52fc0
BIT(x) macro used all over the driver is defined in
include/vsdo/bit.h as
- #define BIT(nr) (UL(1) << (nr))
which is safer than the local BIT macros declared.
Local macros shift a signed integer which brings
unespected results. For example:
(unsigned long)(1 << 31) => 0xffffffff80000000
shift.c:
int main() {
printf("%lx\n", (unsigned long)(1 << 31));
printf("%lx\n", (unsigned long)(1U << 31));
return 0;
}
...
$ ./shift
ffffffff80000000
80000000
...
So just remove redundant, less safe macro declarations.
Suggested-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
Link: https://lore.kernel.org/r/20210730134048.8736-1-fabioaiuto83@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
…
…
…
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Languages
C
96.9%
Assembly
0.9%
Rust
0.6%
Shell
0.6%
Python
0.5%
Other
0.3%