pc_wifi: implement __crypto_xor generated dummy

This function is called when decrypting RX frames on the CPU on 32 bit
platforms. Since the frames are normally decrypted by the wireless LAN
device and this code path is triggered rather infrequently the byte-wise
implementation should not pose a performance risk.

So far it was only encounter with a 7260 device when running netperf.

Issue #4861.
This commit is contained in:
Josef Söntgen 2023-04-17 16:52:37 +02:00 committed by Christian Helmuth
parent d5710d9de3
commit 3ba070e5e4
2 changed files with 14 additions and 8 deletions

View File

@ -538,3 +538,17 @@ void cdev_init(struct cdev * cdev,const struct file_operations * fops)
{
lx_emul_trace(__func__);
}
#include <crypto/algapi.h>
/*
* For the moment implement here as the it will otherwise clash with
* older kernel versions, 5.14.x on the PinePhone, where it is implmented
* in 'crypto/algapi.c.
*/
void __crypto_xor(u8 *dst, const u8 *src1, const u8 *src2, unsigned int len)
{
while (len--)
*dst++ = *src1++ ^ *src2++;
}

View File

@ -20,14 +20,6 @@ int ___ratelimit(struct ratelimit_state * rs,const char * func)
struct cpumask __cpu_active_mask;
#include <crypto/algapi.h>
void __crypto_xor(u8 * dst,const u8 * src1,const u8 * src2,unsigned int len)
{
lx_emul_trace_and_stop(__func__);
}
#include <linux/ethtool.h>
int __ethtool_get_link_ksettings(struct net_device * dev,struct ethtool_link_ksettings * link_ksettings)