Fix strdup conflict on other platforms

In the FreeBSD kernel the strdup signature is:

```
char	*strdup(const char *__restrict, struct malloc_type *);
```

It's unfortunate that the developers have chosen to change
the signature of libc functions - but it's what I have to
deal with.

Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9433
This commit is contained in:
Matthew Macy
2019-10-10 09:47:06 -07:00
committed by Brian Behlendorf
parent c5858ff946
commit e4f5fa1229
21 changed files with 76 additions and 75 deletions
+4 -4
View File
@@ -120,18 +120,18 @@ __strdup(const char *str, int flags)
}
char *
strdup(const char *str)
kmem_strdup(const char *str)
{
return (__strdup(str, KM_SLEEP));
}
EXPORT_SYMBOL(strdup);
EXPORT_SYMBOL(kmem_strdup);
void
strfree(char *str)
kmem_strfree(char *str)
{
kfree(str);
}
EXPORT_SYMBOL(strfree);
EXPORT_SYMBOL(kmem_strfree);
/*
* General purpose unified implementation of kmem_alloc(). It is an