Commit e43afae4 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'powerpc-6.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fixes from Michael Ellerman:

 - Fix wireguard loading failure on pre-Power10 due to Power10 crypto
   routines

 - Fix papr-vpd selftest failure due to missing variable initialization

 - Avoid unnecessary get/put in spapr_tce_platform_iommu_attach_dev()

Thanks to Geetika Moolchandani, Jason Gunthorpe, Michal Suchánek, Nathan
Lynch, and Shivaprasad G Bhat.

* tag 'powerpc-6.9-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  selftests/powerpc/papr-vpd: Fix missing variable initialization
  powerpc/crypto/chacha-p10: Fix failure on non Power10
  powerpc/iommu: Refactor spapr_tce_platform_iommu_attach_dev()
parents 560d4e77 210cfef5
...@@ -197,6 +197,9 @@ static struct skcipher_alg algs[] = { ...@@ -197,6 +197,9 @@ static struct skcipher_alg algs[] = {
static int __init chacha_p10_init(void) static int __init chacha_p10_init(void)
{ {
if (!cpu_has_feature(CPU_FTR_ARCH_31))
return 0;
static_branch_enable(&have_p10); static_branch_enable(&have_p10);
return crypto_register_skciphers(algs, ARRAY_SIZE(algs)); return crypto_register_skciphers(algs, ARRAY_SIZE(algs));
...@@ -204,10 +207,13 @@ static int __init chacha_p10_init(void) ...@@ -204,10 +207,13 @@ static int __init chacha_p10_init(void)
static void __exit chacha_p10_exit(void) static void __exit chacha_p10_exit(void)
{ {
if (!static_branch_likely(&have_p10))
return;
crypto_unregister_skciphers(algs, ARRAY_SIZE(algs)); crypto_unregister_skciphers(algs, ARRAY_SIZE(algs));
} }
module_cpu_feature_match(PPC_MODULE_FEATURE_P10, chacha_p10_init); module_init(chacha_p10_init);
module_exit(chacha_p10_exit); module_exit(chacha_p10_exit);
MODULE_DESCRIPTION("ChaCha and XChaCha stream ciphers (P10 accelerated)"); MODULE_DESCRIPTION("ChaCha and XChaCha stream ciphers (P10 accelerated)");
......
...@@ -1285,15 +1285,14 @@ spapr_tce_platform_iommu_attach_dev(struct iommu_domain *platform_domain, ...@@ -1285,15 +1285,14 @@ spapr_tce_platform_iommu_attach_dev(struct iommu_domain *platform_domain,
struct device *dev) struct device *dev)
{ {
struct iommu_domain *domain = iommu_get_domain_for_dev(dev); struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
struct iommu_group *grp = iommu_group_get(dev);
struct iommu_table_group *table_group; struct iommu_table_group *table_group;
struct iommu_group *grp;
/* At first attach the ownership is already set */ /* At first attach the ownership is already set */
if (!domain) { if (!domain)
iommu_group_put(grp);
return 0; return 0;
}
grp = iommu_group_get(dev);
table_group = iommu_group_get_iommudata(grp); table_group = iommu_group_get_iommudata(grp);
/* /*
* The domain being set to PLATFORM from earlier * The domain being set to PLATFORM from earlier
......
...@@ -154,7 +154,7 @@ static int dev_papr_vpd_null_handle(void) ...@@ -154,7 +154,7 @@ static int dev_papr_vpd_null_handle(void)
static int papr_vpd_close_handle_without_reading(void) static int papr_vpd_close_handle_without_reading(void)
{ {
const int devfd = open(DEVPATH, O_RDONLY); const int devfd = open(DEVPATH, O_RDONLY);
struct papr_location_code lc; struct papr_location_code lc = { .str = "", };
int fd; int fd;
SKIP_IF_MSG(devfd < 0 && errno == ENOENT, SKIP_IF_MSG(devfd < 0 && errno == ENOENT,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment