Merge 5.6-rc5 into tty-next

We need the vt fixes in here and it resolves a merge issue with
drivers/tty/vt/selection.c

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman
2020-03-10 10:02:49 +01:00
當前提交 cb05c6c82f
共有 552 個文件被更改,包括 5647 次插入3073 次删除

查看文件

@@ -533,7 +533,7 @@ struct xbc_node *find_match_node(struct xbc_node *node, char *k)
static int __init __xbc_add_key(char *k)
{
struct xbc_node *node;
struct xbc_node *node, *child;
if (!xbc_valid_keyword(k))
return xbc_parse_error("Invalid keyword", k);
@@ -543,8 +543,12 @@ static int __init __xbc_add_key(char *k)
if (!last_parent) /* the first level */
node = find_match_node(xbc_nodes, k);
else
node = find_match_node(xbc_node_get_child(last_parent), k);
else {
child = xbc_node_get_child(last_parent);
if (child && xbc_node_is_value(child))
return xbc_parse_error("Subkey is mixed with value", k);
node = find_match_node(child, k);
}
if (node)
last_parent = node;
@@ -574,10 +578,10 @@ static int __init __xbc_parse_keys(char *k)
return __xbc_add_key(k);
}
static int __init xbc_parse_kv(char **k, char *v)
static int __init xbc_parse_kv(char **k, char *v, int op)
{
struct xbc_node *prev_parent = last_parent;
struct xbc_node *node;
struct xbc_node *child;
char *next;
int c, ret;
@@ -585,12 +589,19 @@ static int __init xbc_parse_kv(char **k, char *v)
if (ret)
return ret;
child = xbc_node_get_child(last_parent);
if (child) {
if (xbc_node_is_key(child))
return xbc_parse_error("Value is mixed with subkey", v);
else if (op == '=')
return xbc_parse_error("Value is redefined", v);
}
c = __xbc_parse_value(&v, &next);
if (c < 0)
return c;
node = xbc_add_sibling(v, XBC_VALUE);
if (!node)
if (!xbc_add_sibling(v, XBC_VALUE))
return -ENOMEM;
if (c == ',') { /* Array */
@@ -763,7 +774,7 @@ int __init xbc_init(char *buf)
p = buf;
do {
q = strpbrk(p, "{}=;\n#");
q = strpbrk(p, "{}=+;\n#");
if (!q) {
p = skip_spaces(p);
if (*p != '\0')
@@ -774,8 +785,15 @@ int __init xbc_init(char *buf)
c = *q;
*q++ = '\0';
switch (c) {
case '+':
if (*q++ != '=') {
ret = xbc_parse_error("Wrong '+' operator",
q - 2);
break;
}
/* Fall through */
case '=':
ret = xbc_parse_kv(&p, q);
ret = xbc_parse_kv(&p, q, c);
break;
case '{':
ret = xbc_open_brace(&p, q);

查看文件

@@ -235,6 +235,9 @@ bool chacha20poly1305_crypt_sg_inplace(struct scatterlist *src,
__le64 lens[2];
} b __aligned(16);
if (WARN_ON(src_len > INT_MAX))
return false;
chacha_load_key(b.k, key);
b.iv[0] = 0;