# git rev-parse -q --verify 877ccce7cbe8409256616f5e6bdedb08ce2e82db^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/crypto master # git rev-parse -q --verify 877ccce7cbe8409256616f5e6bdedb08ce2e82db^{commit} 877ccce7cbe8409256616f5e6bdedb08ce2e82db # git checkout -q -f -B kisskb 877ccce7cbe8409256616f5e6bdedb08ce2e82db # git clean -qxdf # < git log -1 # commit 877ccce7cbe8409256616f5e6bdedb08ce2e82db # Author: Ondrej Mosnacek # Date: Fri Aug 3 13:37:50 2018 +0200 # # crypto: x86/aegis,morus - Fix and simplify CPUID checks # # It turns out I had misunderstood how the x86_match_cpu() function works. # It evaluates a logical OR of the matching conditions, not logical AND. # This caused the CPU feature checks for AEGIS to pass even if only SSE2 # (but not AES-NI) was supported (or vice versa), leading to potential # crashes if something tried to use the registered algs. # # This patch switches the checks to a simpler method that is used e.g. in # the Camellia x86 code. # # The patch also removes the MODULE_DEVICE_TABLE declarations which # actually seem to cause the modules to be auto-loaded at boot, which is # not desired. The crypto API on-demand module loading is sufficient. # # Fixes: 1d373d4e8e15 ("crypto: x86 - Add optimized AEGIS implementations") # Fixes: 6ecc9d9ff91f ("crypto: x86 - Add optimized MORUS implementations") # Signed-off-by: Ondrej Mosnacek # Tested-by: Milan Broz # Signed-off-by: Herbert Xu # < /opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 877ccce7cbe8409256616f5e6bdedb08ce2e82db # < make -s -j 40 ARCH=powerpc O=/kisskb/build/crypto_pmac32_defconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- pmac32_defconfig # make -s -j 40 ARCH=powerpc O=/kisskb/build/crypto_pmac32_defconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:183:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2497:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1819:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/ppc/awacs.c: In function 'snd_pmac_awacs_init': /kisskb/src/include/sound/control.h:220:2: warning: 'speaker_vol' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/sound/ppc/awacs.c:886:36: note: 'speaker_vol' was declared here /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:340:21: note: 'pdeo' was declared here /kisskb/src/drivers/dma-buf/reservation.c: In function 'reservation_object_add_shared_fence': /kisskb/src/drivers/dma-buf/reservation.c:225:6: warning: 'k' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/nfsd/nfs4xdr.c: In function 'nfsd4_encode_components_esc': /kisskb/src/fs/nfsd/nfs4xdr.c:2041:9: warning: 'str' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/mac80211/mlme.c: In function 'ieee80211_rx_mgmt_beacon': /kisskb/src/net/mac80211/mlme.c:1352:3: warning: 'pwr_level_cisco' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/net/mac80211/mlme.c:1309:6: note: 'pwr_level_cisco' was declared here /kisskb/src/drivers/tty/serial/8250/8250_core.c: In function 'univ8250_release_irq': /kisskb/src/drivers/tty/serial/8250/8250_core.c:251:18: warning: 'i' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c:231:19: note: 'i' was declared here /kisskb/src/drivers/net/wireless/broadcom/b43/phy_n.c: In function 'b43_nphy_rf_ctl_override_rev7': /kisskb/src/drivers/net/wireless/broadcom/b43/phy_n.c:202:21: warning: 'val_addr' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c: In function 'tun_get_user': /kisskb/src/drivers/net/tun.c:1827:30: warning: 'copylen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1737:46: warning: 'linear' may be used uninitialized in this function [-Wuninitialized] INFO: Uncompressed kernel (size 0x89c2c4) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x900000) Completed OK # rm -rf /kisskb/build/crypto_pmac32_defconfig_powerpc # Build took: 0:00:46.834777