mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-05 19:31:57 -04:00
This is the 5.4.299 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjAWV4ACgkQONu9yGCS aT7E+Q//fo2+RnB0lUyOGiXkg1al0NhTy5NpO5REWwz0eAU8LS5PwbgkqpgAHeTl oTN/Vc8zXu0SIsEnQQIPq0nr1uTSAj/XiFKAoWq4D3tJUS2pvzTV95TTUXqhNc3H rGESzEZNyfHwTBHGT5v+KjD70QiPrIfldgpNqSQVnabqPHl6+NcdjXIQFmUhHWKZ fKV9U3g21wA4hDcWeeMf4gpwALu4Try4W7zazkhQ3Ys0OvWghWOMQZBCojzHHkaM imTiO7QNM6SfqCUk6YF1Tx3ME1spiD1modjzf2GdeerMx4ViK2zZuVlxObgrRlz8 YjLNqhW1HLIpMwloWbPglYx8oyDvqXgW0MR7ubb2foCc+nsqNfpilKeRSSEgGIzO iV+Rxh+/I/JedThzok++i2o5LIR3gnL3I6nbKxvzgKqeAw21u5RxUOfrlVSUOzdC pO9zMtkbJWsiGsJuplKNEP8EHGh2aQbxRmPeKlSgMOVO+Mjj3pnEOqx0nUriIolk Om7NkzBnDIv4ck+b+JCtBQaf/X8OFtFYaoW84HpaSauvVchxU072t4RwOaVIfvU5 6YGlpUcguNxRbTZ6pMDKaKvLdlnzAsPv+1GvNHA5aVN2vuz1GesTHsm0dzRegLyf wW7sakrIpKqqJZReBA5LOCrLlUE2518TCf8pZUlvQRn0M4Pmmqg= =eFKc -----END PGP SIGNATURE----- Merge 5.4.299 into android11-5.4-lts Changes in 5.4.299 powerpc: boot: Remove leading zero in label in udelay() wifi: cfg80211: fix use-after-free in cmp_bss() netfilter: conntrack: helper: Replace -EEXIST by -EBUSY Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen() xirc2ps_cs: fix register access when enabling FullDuplex mISDN: Fix memory leak in dsp_hwec_enable() icmp: fix icmp_ndo_send address translation for reply direction i40e: Fix potential invalid access when MAC list is empty net: ethernet: mtk_eth_soc: fix tx vlan tag for llc packets wifi: cw1200: cap SSID length in cw1200_do_join() wifi: libertas: cap SSID len in lbs_associate() net: thunder_bgx: add a missing of_node_put net: thunder_bgx: decrement cleanup index before use ipv4: Fix NULL vs error pointer check in inet_blackhole_dev_init() ax25: properly unshare skbs in ax25_kiss_rcv() net: atm: fix memory leak in atm_register_sysfs when device_register fail ppp: fix memory leak in pad_compress_skb ALSA: usb-audio: Add mute TLV for playback volumes on some devices pcmcia: Fix a NULL pointer dereference in __iodyn_find_io_region() wifi: mwifiex: Initialize the chan_stats array to zero drm/amdgpu: drop hw access in non-DC audio fini batman-adv: fix OOB read/write in network-coding decode e1000e: fix heap overflow in e1000_set_eeprom mm/khugepaged: fix ->anon_vma race scsi: lpfc: Fix buffer free/clear order in deferred receive path mm/slub: avoid accessing metadata when pointer is invalid in object_err() cpufreq/sched: Explicitly synchronize limits_changed flag handling KVM: x86: Take irqfds.lock when adding/deleting IRQ bypass producer iio: chemical: pms7003: use aligned_s64 for timestamp iio: light: opt3001: fix deadlock due to concurrent flag access gpio: pca953x: fix IRQ storm on system wake up ALSA: hda/realtek - Add new HP ZBook laptop with micmute led fixup dmaengine: mediatek: Fix a possible deadlock error in mtk_cqdma_tx_status() net: dsa: microchip: update tag_ksz masks for KSZ9477 family net: dsa: microchip: linearize skb for tail-tagging switches vmxnet3: update MTU after device quiesce randstruct: gcc-plugin: Remove bogus void member randstruct: gcc-plugin: Fix attribute addition ALSA: hda/hdmi: Add pin fix for another HP EliteDesk 800 G4 model pcmcia: Add error handling for add_interval() in do_validate_mem() spi: spi-fsl-lpspi: Fix transmissions when using CONT spi: spi-fsl-lpspi: Set correct chip-select polarity bit spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort cifs: fix integer overflow in match_server() dmaengine: mediatek: Fix a flag reuse error in mtk_cqdma_tx_status() Linux 5.4.299 Change-Id: I3dd8287459f00994b5550e295dc9137e49bf96bb Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
commit
8b500987d7
46 changed files with 249 additions and 131 deletions
|
|
@ -182,6 +182,38 @@ static inline tree build_const_char_string(int len, const char *str)
|
|||
return cstr;
|
||||
}
|
||||
|
||||
static inline void __add_type_attr(tree type, const char *attr, tree args)
|
||||
{
|
||||
tree oldattr;
|
||||
|
||||
if (type == NULL_TREE)
|
||||
return;
|
||||
oldattr = lookup_attribute(attr, TYPE_ATTRIBUTES(type));
|
||||
if (oldattr != NULL_TREE) {
|
||||
gcc_assert(TREE_VALUE(oldattr) == args || TREE_VALUE(TREE_VALUE(oldattr)) == TREE_VALUE(args));
|
||||
return;
|
||||
}
|
||||
|
||||
TYPE_ATTRIBUTES(type) = copy_list(TYPE_ATTRIBUTES(type));
|
||||
TYPE_ATTRIBUTES(type) = tree_cons(get_identifier(attr), args, TYPE_ATTRIBUTES(type));
|
||||
}
|
||||
|
||||
static inline void add_type_attr(tree type, const char *attr, tree args)
|
||||
{
|
||||
tree main_variant = TYPE_MAIN_VARIANT(type);
|
||||
|
||||
__add_type_attr(TYPE_CANONICAL(type), attr, args);
|
||||
__add_type_attr(TYPE_CANONICAL(main_variant), attr, args);
|
||||
__add_type_attr(main_variant, attr, args);
|
||||
|
||||
for (type = TYPE_NEXT_VARIANT(main_variant); type; type = TYPE_NEXT_VARIANT(type)) {
|
||||
if (!lookup_attribute(attr, TYPE_ATTRIBUTES(type)))
|
||||
TYPE_ATTRIBUTES(type) = TYPE_ATTRIBUTES(main_variant);
|
||||
|
||||
__add_type_attr(TYPE_CANONICAL(type), attr, args);
|
||||
}
|
||||
}
|
||||
|
||||
#define PASS_INFO(NAME, REF, ID, POS) \
|
||||
struct register_pass_info NAME##_pass_info = { \
|
||||
.pass = make_##NAME##_pass(), \
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ static tree handle_randomize_layout_attr(tree *node, tree name, tree args, int f
|
|||
|
||||
if (TYPE_P(*node)) {
|
||||
type = *node;
|
||||
} else if (TREE_CODE(*node) == FIELD_DECL) {
|
||||
*no_add_attrs = false;
|
||||
return NULL_TREE;
|
||||
} else {
|
||||
gcc_assert(TREE_CODE(*node) == TYPE_DECL);
|
||||
type = TREE_TYPE(*node);
|
||||
|
|
@ -377,35 +380,18 @@ static int relayout_struct(tree type)
|
|||
|
||||
shuffle(type, (tree *)newtree, shuffle_length);
|
||||
|
||||
/*
|
||||
* set up a bogus anonymous struct field designed to error out on unnamed struct initializers
|
||||
* as gcc provides no other way to detect such code
|
||||
*/
|
||||
list = make_node(FIELD_DECL);
|
||||
TREE_CHAIN(list) = newtree[0];
|
||||
TREE_TYPE(list) = void_type_node;
|
||||
DECL_SIZE(list) = bitsize_zero_node;
|
||||
DECL_NONADDRESSABLE_P(list) = 1;
|
||||
DECL_FIELD_BIT_OFFSET(list) = bitsize_zero_node;
|
||||
DECL_SIZE_UNIT(list) = size_zero_node;
|
||||
DECL_FIELD_OFFSET(list) = size_zero_node;
|
||||
DECL_CONTEXT(list) = type;
|
||||
// to satisfy the constify plugin
|
||||
TREE_READONLY(list) = 1;
|
||||
|
||||
for (i = 0; i < num_fields - 1; i++)
|
||||
TREE_CHAIN(newtree[i]) = newtree[i+1];
|
||||
TREE_CHAIN(newtree[num_fields - 1]) = NULL_TREE;
|
||||
|
||||
add_type_attr(type, "randomize_performed", NULL_TREE);
|
||||
add_type_attr(type, "designated_init", NULL_TREE);
|
||||
if (has_flexarray)
|
||||
add_type_attr(type, "has_flexarray", NULL_TREE);
|
||||
|
||||
main_variant = TYPE_MAIN_VARIANT(type);
|
||||
for (variant = main_variant; variant; variant = TYPE_NEXT_VARIANT(variant)) {
|
||||
TYPE_FIELDS(variant) = list;
|
||||
TYPE_ATTRIBUTES(variant) = copy_list(TYPE_ATTRIBUTES(variant));
|
||||
TYPE_ATTRIBUTES(variant) = tree_cons(get_identifier("randomize_performed"), NULL_TREE, TYPE_ATTRIBUTES(variant));
|
||||
TYPE_ATTRIBUTES(variant) = tree_cons(get_identifier("designated_init"), NULL_TREE, TYPE_ATTRIBUTES(variant));
|
||||
if (has_flexarray)
|
||||
TYPE_ATTRIBUTES(type) = tree_cons(get_identifier("has_flexarray"), NULL_TREE, TYPE_ATTRIBUTES(type));
|
||||
}
|
||||
for (variant = main_variant; variant; variant = TYPE_NEXT_VARIANT(variant))
|
||||
TYPE_FIELDS(variant) = newtree[0];
|
||||
|
||||
/*
|
||||
* force a re-layout of the main variant
|
||||
|
|
@ -473,10 +459,8 @@ static void randomize_type(tree type)
|
|||
if (lookup_attribute("randomize_layout", TYPE_ATTRIBUTES(TYPE_MAIN_VARIANT(type))) || is_pure_ops_struct(type))
|
||||
relayout_struct(type);
|
||||
|
||||
for (variant = TYPE_MAIN_VARIANT(type); variant; variant = TYPE_NEXT_VARIANT(variant)) {
|
||||
TYPE_ATTRIBUTES(type) = copy_list(TYPE_ATTRIBUTES(type));
|
||||
TYPE_ATTRIBUTES(type) = tree_cons(get_identifier("randomize_considered"), NULL_TREE, TYPE_ATTRIBUTES(type));
|
||||
}
|
||||
add_type_attr(type, "randomize_considered", NULL_TREE);
|
||||
|
||||
#ifdef __DEBUG_PLUGIN
|
||||
fprintf(stderr, "Marking randomize_considered on struct %s\n", ORIG_TYPE_NAME(type));
|
||||
#ifdef __DEBUG_VERBOSE
|
||||
|
|
|
|||
Loading…
Reference in a new issue