mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 13:15:57 +00:00
Merge branch 'for-6.7' into for-linus
This commit is contained in:
commit
adb982ad4b
@ -1669,7 +1669,6 @@ static int syslog_print_all(char __user *buf, int size, bool clear)
|
|||||||
|
|
||||||
prb_rec_init_rd(&r, &info, text, PRINTK_MESSAGE_MAX);
|
prb_rec_init_rd(&r, &info, text, PRINTK_MESSAGE_MAX);
|
||||||
|
|
||||||
len = 0;
|
|
||||||
prb_for_each_record(seq, prb, seq, &r) {
|
prb_for_each_record(seq, prb, seq, &r) {
|
||||||
int textlen;
|
int textlen;
|
||||||
|
|
||||||
@ -4194,7 +4193,6 @@ bool kmsg_dump_get_buffer(struct kmsg_dump_iter *iter, bool syslog,
|
|||||||
|
|
||||||
prb_rec_init_rd(&r, &info, buf, size);
|
prb_rec_init_rd(&r, &info, buf, size);
|
||||||
|
|
||||||
len = 0;
|
|
||||||
prb_for_each_record(seq, prb, seq, &r) {
|
prb_for_each_record(seq, prb, seq, &r) {
|
||||||
if (r.info->seq >= iter->next_seq)
|
if (r.info->seq >= iter->next_seq)
|
||||||
break;
|
break;
|
||||||
|
@ -60,7 +60,8 @@
|
|||||||
bool no_hash_pointers __ro_after_init;
|
bool no_hash_pointers __ro_after_init;
|
||||||
EXPORT_SYMBOL_GPL(no_hash_pointers);
|
EXPORT_SYMBOL_GPL(no_hash_pointers);
|
||||||
|
|
||||||
static noinline unsigned long long simple_strntoull(const char *startp, size_t max_chars, char **endp, unsigned int base)
|
noinline
|
||||||
|
static unsigned long long simple_strntoull(const char *startp, char **endp, unsigned int base, size_t max_chars)
|
||||||
{
|
{
|
||||||
const char *cp;
|
const char *cp;
|
||||||
unsigned long long result = 0ULL;
|
unsigned long long result = 0ULL;
|
||||||
@ -95,7 +96,7 @@ static noinline unsigned long long simple_strntoull(const char *startp, size_t m
|
|||||||
noinline
|
noinline
|
||||||
unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base)
|
unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base)
|
||||||
{
|
{
|
||||||
return simple_strntoull(cp, INT_MAX, endp, base);
|
return simple_strntoull(cp, endp, base, INT_MAX);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(simple_strtoull);
|
EXPORT_SYMBOL(simple_strtoull);
|
||||||
|
|
||||||
@ -130,8 +131,8 @@ long simple_strtol(const char *cp, char **endp, unsigned int base)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(simple_strtol);
|
EXPORT_SYMBOL(simple_strtol);
|
||||||
|
|
||||||
static long long simple_strntoll(const char *cp, size_t max_chars, char **endp,
|
noinline
|
||||||
unsigned int base)
|
static long long simple_strntoll(const char *cp, char **endp, unsigned int base, size_t max_chars)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* simple_strntoull() safely handles receiving max_chars==0 in the
|
* simple_strntoull() safely handles receiving max_chars==0 in the
|
||||||
@ -140,9 +141,9 @@ static long long simple_strntoll(const char *cp, size_t max_chars, char **endp,
|
|||||||
* and the content of *cp is irrelevant.
|
* and the content of *cp is irrelevant.
|
||||||
*/
|
*/
|
||||||
if (*cp == '-' && max_chars > 0)
|
if (*cp == '-' && max_chars > 0)
|
||||||
return -simple_strntoull(cp + 1, max_chars - 1, endp, base);
|
return -simple_strntoull(cp + 1, endp, base, max_chars - 1);
|
||||||
|
|
||||||
return simple_strntoull(cp, max_chars, endp, base);
|
return simple_strntoull(cp, endp, base, max_chars);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -155,7 +156,7 @@ static long long simple_strntoll(const char *cp, size_t max_chars, char **endp,
|
|||||||
*/
|
*/
|
||||||
long long simple_strtoll(const char *cp, char **endp, unsigned int base)
|
long long simple_strtoll(const char *cp, char **endp, unsigned int base)
|
||||||
{
|
{
|
||||||
return simple_strntoll(cp, INT_MAX, endp, base);
|
return simple_strntoll(cp, endp, base, INT_MAX);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(simple_strtoll);
|
EXPORT_SYMBOL(simple_strtoll);
|
||||||
|
|
||||||
@ -3648,13 +3649,11 @@ int vsscanf(const char *buf, const char *fmt, va_list args)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
if (is_sign)
|
if (is_sign)
|
||||||
val.s = simple_strntoll(str,
|
val.s = simple_strntoll(str, &next, base,
|
||||||
field_width >= 0 ? field_width : INT_MAX,
|
field_width >= 0 ? field_width : INT_MAX);
|
||||||
&next, base);
|
|
||||||
else
|
else
|
||||||
val.u = simple_strntoull(str,
|
val.u = simple_strntoull(str, &next, base,
|
||||||
field_width >= 0 ? field_width : INT_MAX,
|
field_width >= 0 ? field_width : INT_MAX);
|
||||||
&next, base);
|
|
||||||
|
|
||||||
switch (qualifier) {
|
switch (qualifier) {
|
||||||
case 'H': /* that's 'hh' in format */
|
case 'H': /* that's 'hh' in format */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user