Revision 5ce00760a84848d008554c693ceb6286f4d9c509 authored by Arnd Bergmann on 29 April 2020, 19:02:03 UTC, committed by Takashi Iwai on 30 April 2020, 06:11:42 UTC
gcc-10 points out a few instances of suspicious integer arithmetic leading to value truncation: sound/isa/opti9xx/opti92x-ad1848.c: In function 'snd_opti9xx_configure': sound/isa/opti9xx/opti92x-ad1848.c:322:43: error: overflow in conversion from 'int' to 'unsigned char' changes value from '(int)snd_opti9xx_read(chip, 3) & -256 | 240' to '240' [-Werror=overflow] 322 | (snd_opti9xx_read(chip, reg) & ~(mask)) | ((value) & (mask))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ sound/isa/opti9xx/opti92x-ad1848.c:351:3: note: in expansion of macro 'snd_opti9xx_write_mask' 351 | snd_opti9xx_write_mask(chip, OPTi9XX_MC_REG(3), 0xf0, 0xff); | ^~~~~~~~~~~~~~~~~~~~~~ sound/isa/opti9xx/miro.c: In function 'snd_miro_configure': sound/isa/opti9xx/miro.c:873:40: error: overflow in conversion from 'int' to 'unsigned char' changes value from '(int)snd_miro_read(chip, 3) & -256 | 240' to '240' [-Werror=overflow] 873 | (snd_miro_read(chip, reg) & ~(mask)) | ((value) & (mask))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ sound/isa/opti9xx/miro.c:1010:3: note: in expansion of macro 'snd_miro_write_mask' 1010 | snd_miro_write_mask(chip, OPTi9XX_MC_REG(3), 0xf0, 0xff); | ^~~~~~~~~~~~~~~~~~~ These are all harmless here as only the low 8 bit are passed down anyway. Change the macros to inline functions to make the code more readable and also avoid the warning. Strictly speaking those functions also need locking to make the read/write pair atomic, but it seems unlikely that anyone would still run into that issue. Fixes: 1841f613fd2e ("[ALSA] Add snd-miro driver") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20200429190216.85919-1-arnd@arndb.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
1 parent a2f6472
File | Mode | Size |
---|---|---|
9p | ||
adfs | ||
affs | ||
afs | ||
autofs | ||
befs | ||
bfs | ||
btrfs | ||
cachefiles | ||
ceph | ||
cifs | ||
coda | ||
configfs | ||
cramfs | ||
crypto | ||
debugfs | ||
devpts | ||
dlm | ||
ecryptfs | ||
efivarfs | ||
efs | ||
erofs | ||
exportfs | ||
ext2 | ||
ext4 | ||
f2fs | ||
fat | ||
freevxfs | ||
fscache | ||
fuse | ||
gfs2 | ||
hfs | ||
hfsplus | ||
hostfs | ||
hpfs | ||
hugetlbfs | ||
iomap | ||
isofs | ||
jbd2 | ||
jffs2 | ||
jfs | ||
kernfs | ||
lockd | ||
minix | ||
nfs | ||
nfs_common | ||
nfsd | ||
nilfs2 | ||
nls | ||
notify | ||
ntfs | ||
ocfs2 | ||
omfs | ||
openpromfs | ||
orangefs | ||
overlayfs | ||
proc | ||
pstore | ||
qnx4 | ||
qnx6 | ||
quota | ||
ramfs | ||
reiserfs | ||
romfs | ||
squashfs | ||
sysfs | ||
sysv | ||
tracefs | ||
ubifs | ||
udf | ||
ufs | ||
unicode | ||
vboxsf | ||
verity | ||
xfs | ||
zonefs | ||
Kconfig | -rw-r--r-- | 7.7 KB |
Kconfig.binfmt | -rw-r--r-- | 7.6 KB |
Makefile | -rw-r--r-- | 4.4 KB |
aio.c | -rw-r--r-- | 56.4 KB |
anon_inodes.c | -rw-r--r-- | 4.6 KB |
attr.c | -rw-r--r-- | 9.7 KB |
bad_inode.c | -rw-r--r-- | 5.3 KB |
binfmt_aout.c | -rw-r--r-- | 8.3 KB |
binfmt_elf.c | -rw-r--r-- | 62.8 KB |
binfmt_elf_fdpic.c | -rw-r--r-- | 47.2 KB |
binfmt_em86.c | -rw-r--r-- | 2.8 KB |
binfmt_flat.c | -rw-r--r-- | 28.0 KB |
binfmt_misc.c | -rw-r--r-- | 18.5 KB |
binfmt_script.c | -rw-r--r-- | 4.4 KB |
block_dev.c | -rw-r--r-- | 56.5 KB |
buffer.c | -rw-r--r-- | 90.5 KB |
char_dev.c | -rw-r--r-- | 16.5 KB |
compat.c | -rw-r--r-- | 3.2 KB |
compat_binfmt_elf.c | -rw-r--r-- | 3.3 KB |
coredump.c | -rw-r--r-- | 22.1 KB |
d_path.c | -rw-r--r-- | 11.3 KB |
dax.c | -rw-r--r-- | 45.9 KB |
dcache.c | -rw-r--r-- | 84.0 KB |
dcookies.c | -rw-r--r-- | 7.1 KB |
direct-io.c | -rw-r--r-- | 40.1 KB |
drop_caches.c | -rw-r--r-- | 1.8 KB |
eventfd.c | -rw-r--r-- | 11.6 KB |
eventpoll.c | -rw-r--r-- | 64.3 KB |
exec.c | -rw-r--r-- | 47.0 KB |
fcntl.c | -rw-r--r-- | 23.3 KB |
fhandle.c | -rw-r--r-- | 6.8 KB |
file.c | -rw-r--r-- | 24.7 KB |
file_table.c | -rw-r--r-- | 10.2 KB |
filesystems.c | -rw-r--r-- | 6.4 KB |
fs-writeback.c | -rw-r--r-- | 74.6 KB |
fs_context.c | -rw-r--r-- | 17.7 KB |
fs_parser.c | -rw-r--r-- | 10.2 KB |
fs_pin.c | -rw-r--r-- | 1.9 KB |
fs_struct.c | -rw-r--r-- | 3.3 KB |
fs_types.c | -rw-r--r-- | 2.5 KB |
fsopen.c | -rw-r--r-- | 11.0 KB |
inode.c | -rw-r--r-- | 60.4 KB |
internal.h | -rw-r--r-- | 5.2 KB |
io-wq.c | -rw-r--r-- | 27.5 KB |
io-wq.h | -rw-r--r-- | 3.1 KB |
io_uring.c | -rw-r--r-- | 170.1 KB |
ioctl.c | -rw-r--r-- | 21.3 KB |
libfs.c | -rw-r--r-- | 34.6 KB |
locks.c | -rw-r--r-- | 79.7 KB |
mbcache.c | -rw-r--r-- | 12.0 KB |
mount.h | -rw-r--r-- | 4.0 KB |
mpage.c | -rw-r--r-- | 21.1 KB |
namei.c | -rw-r--r-- | 125.4 KB |
namespace.c | -rw-r--r-- | 96.0 KB |
no-block.c | -rw-r--r-- | 478 bytes |
nsfs.c | -rw-r--r-- | 6.1 KB |
open.c | -rw-r--r-- | 32.1 KB |
pipe.c | -rw-r--r-- | 32.6 KB |
pnode.c | -rw-r--r-- | 15.1 KB |
pnode.h | -rw-r--r-- | 1.9 KB |
posix_acl.c | -rw-r--r-- | 21.5 KB |
proc_namespace.c | -rw-r--r-- | 7.8 KB |
read_write.c | -rw-r--r-- | 52.7 KB |
readdir.c | -rw-r--r-- | 13.6 KB |
select.c | -rw-r--r-- | 34.3 KB |
seq_file.c | -rw-r--r-- | 24.7 KB |
signalfd.c | -rw-r--r-- | 9.0 KB |
splice.c | -rw-r--r-- | 41.1 KB |
stack.c | -rw-r--r-- | 2.5 KB |
stat.c | -rw-r--r-- | 19.6 KB |
statfs.c | -rw-r--r-- | 9.6 KB |
super.c | -rw-r--r-- | 48.0 KB |
sync.c | -rw-r--r-- | 10.4 KB |
timerfd.c | -rw-r--r-- | 13.6 KB |
userfaultfd.c | -rw-r--r-- | 51.3 KB |
utimes.c | -rw-r--r-- | 7.3 KB |
xattr.c | -rw-r--r-- | 23.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...