Merge branch 'akpm' (patches from Andrew)
Merge misc updates from Andrew Morton: - a few MM hotfixes - kthread, tools, scripts, ntfs and ocfs2 - some of MM Subsystems affected by this patch series: kthread, tools, scripts, ntfs, ocfs2 and mm (hofixes, pagealloc, slab-generic, slab, slub, kcsan, debug, pagecache, gup, swap, shmem, memcg, pagemap, mremap, mincore, sparsemem, vmalloc, kasan, pagealloc, hugetlb and vmscan). * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (162 commits) mm: vmscan: consistent update to pgrefill mm/vmscan.c: fix typo khugepaged: khugepaged_test_exit() check mmget_still_valid() khugepaged: retract_page_tables() remember to test exit khugepaged: collapse_pte_mapped_thp() protect the pmd lock khugepaged: collapse_pte_mapped_thp() flush the right range mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible mm: thp: replace HTTP links with HTTPS ones mm/page_alloc: fix memalloc_nocma_{save/restore} APIs mm/page_alloc.c: skip setting nodemask when we are in interrupt mm/page_alloc: fallbacks at most has 3 elements mm/page_alloc: silence a KASAN false positive mm/page_alloc.c: remove unnecessary end_bitidx for [set|get]_pfnblock_flags_mask() mm/page_alloc.c: simplify pageblock bitmap access mm/page_alloc.c: extract the common part in pfn_to_bitidx() mm/page_alloc.c: replace the definition of NR_MIGRATETYPE_BITS with PB_migratetype_bits mm/shuffle: remove dynamic reconfiguration mm/memory_hotplug: document why shuffle_zone() is relevant mm/page_alloc: remove nr_free_pagecache_pages() mm: remove vm_total_pages ...
This commit is contained in:
@@ -137,7 +137,7 @@ static void hclge_free_vector_ring_chain(struct hnae3_ring_chain_node *head)
|
||||
|
||||
while (chain) {
|
||||
chain_tmp = chain->next;
|
||||
kzfree(chain);
|
||||
kfree_sensitive(chain);
|
||||
chain = chain_tmp;
|
||||
}
|
||||
}
|
||||
|
@@ -960,9 +960,9 @@ int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
|
||||
return 0;
|
||||
|
||||
err_aead:
|
||||
kzfree(xs->aead);
|
||||
kfree_sensitive(xs->aead);
|
||||
err_xs:
|
||||
kzfree(xs);
|
||||
kfree_sensitive(xs);
|
||||
err_out:
|
||||
msgbuf[1] = err;
|
||||
return err;
|
||||
@@ -1047,7 +1047,7 @@ int ixgbe_ipsec_vf_del_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf)
|
||||
ixgbe_ipsec_del_sa(xs);
|
||||
|
||||
/* remove the xs that was made-up in the add request */
|
||||
kzfree(xs);
|
||||
kfree_sensitive(xs);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -222,7 +222,7 @@ out_free:
|
||||
kfree(state->sha1_digest);
|
||||
if (state->sha1) {
|
||||
crypto_free_shash(state->sha1->tfm);
|
||||
kzfree(state->sha1);
|
||||
kfree_sensitive(state->sha1);
|
||||
}
|
||||
kfree(state);
|
||||
out:
|
||||
@@ -238,8 +238,8 @@ static void mppe_free(void *arg)
|
||||
if (state) {
|
||||
kfree(state->sha1_digest);
|
||||
crypto_free_shash(state->sha1->tfm);
|
||||
kzfree(state->sha1);
|
||||
kzfree(state);
|
||||
kfree_sensitive(state->sha1);
|
||||
kfree_sensitive(state);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -114,7 +114,7 @@ static struct noise_keypair *keypair_create(struct wg_peer *peer)
|
||||
|
||||
static void keypair_free_rcu(struct rcu_head *rcu)
|
||||
{
|
||||
kzfree(container_of(rcu, struct noise_keypair, rcu));
|
||||
kfree_sensitive(container_of(rcu, struct noise_keypair, rcu));
|
||||
}
|
||||
|
||||
static void keypair_free_kref(struct kref *kref)
|
||||
@@ -821,7 +821,7 @@ bool wg_noise_handshake_begin_session(struct noise_handshake *handshake,
|
||||
handshake->entry.peer->device->index_hashtable,
|
||||
&handshake->entry, &new_keypair->entry);
|
||||
} else {
|
||||
kzfree(new_keypair);
|
||||
kfree_sensitive(new_keypair);
|
||||
}
|
||||
rcu_read_unlock_bh();
|
||||
|
||||
|
@@ -203,7 +203,7 @@ static void rcu_release(struct rcu_head *rcu)
|
||||
/* The final zeroing takes care of clearing any remaining handshake key
|
||||
* material and other potentially sensitive information.
|
||||
*/
|
||||
kzfree(peer);
|
||||
kfree_sensitive(peer);
|
||||
}
|
||||
|
||||
static void kref_release(struct kref *refcount)
|
||||
|
@@ -1369,7 +1369,7 @@ static void iwl_pcie_rx_handle_rb(struct iwl_trans *trans,
|
||||
&rxcb, rxq->id);
|
||||
|
||||
if (reclaim) {
|
||||
kzfree(txq->entries[cmd_index].free_buf);
|
||||
kfree_sensitive(txq->entries[cmd_index].free_buf);
|
||||
txq->entries[cmd_index].free_buf = NULL;
|
||||
}
|
||||
|
||||
|
@@ -1026,7 +1026,7 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_trans *trans,
|
||||
BUILD_BUG_ON(IWL_TFH_NUM_TBS > sizeof(out_meta->tbs) * BITS_PER_BYTE);
|
||||
out_meta->flags = cmd->flags;
|
||||
if (WARN_ON_ONCE(txq->entries[idx].free_buf))
|
||||
kzfree(txq->entries[idx].free_buf);
|
||||
kfree_sensitive(txq->entries[idx].free_buf);
|
||||
txq->entries[idx].free_buf = dup_buf;
|
||||
|
||||
trace_iwlwifi_dev_hcmd(trans->dev, cmd, cmd_size, &out_cmd->hdr_wide);
|
||||
@@ -1257,8 +1257,8 @@ static void iwl_pcie_gen2_txq_free(struct iwl_trans *trans, int txq_id)
|
||||
/* De-alloc array of command/tx buffers */
|
||||
if (txq_id == trans->txqs.cmd.q_id)
|
||||
for (i = 0; i < txq->n_window; i++) {
|
||||
kzfree(txq->entries[i].cmd);
|
||||
kzfree(txq->entries[i].free_buf);
|
||||
kfree_sensitive(txq->entries[i].cmd);
|
||||
kfree_sensitive(txq->entries[i].free_buf);
|
||||
}
|
||||
del_timer_sync(&txq->stuck_timer);
|
||||
|
||||
|
@@ -721,8 +721,8 @@ static void iwl_pcie_txq_free(struct iwl_trans *trans, int txq_id)
|
||||
/* De-alloc array of command/tx buffers */
|
||||
if (txq_id == trans->txqs.cmd.q_id)
|
||||
for (i = 0; i < txq->n_window; i++) {
|
||||
kzfree(txq->entries[i].cmd);
|
||||
kzfree(txq->entries[i].free_buf);
|
||||
kfree_sensitive(txq->entries[i].cmd);
|
||||
kfree_sensitive(txq->entries[i].free_buf);
|
||||
}
|
||||
|
||||
/* De-alloc circular buffer of TFDs */
|
||||
@@ -1765,7 +1765,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
|
||||
BUILD_BUG_ON(IWL_TFH_NUM_TBS > sizeof(out_meta->tbs) * BITS_PER_BYTE);
|
||||
out_meta->flags = cmd->flags;
|
||||
if (WARN_ON_ONCE(txq->entries[idx].free_buf))
|
||||
kzfree(txq->entries[idx].free_buf);
|
||||
kfree_sensitive(txq->entries[idx].free_buf);
|
||||
txq->entries[idx].free_buf = dup_buf;
|
||||
|
||||
trace_iwlwifi_dev_hcmd(trans->dev, cmd, cmd_size, &out_cmd->hdr_wide);
|
||||
|
@@ -31,8 +31,8 @@ static int orinoco_set_key(struct orinoco_private *priv, int index,
|
||||
enum orinoco_alg alg, const u8 *key, int key_len,
|
||||
const u8 *seq, int seq_len)
|
||||
{
|
||||
kzfree(priv->keys[index].key);
|
||||
kzfree(priv->keys[index].seq);
|
||||
kfree_sensitive(priv->keys[index].key);
|
||||
kfree_sensitive(priv->keys[index].seq);
|
||||
|
||||
if (key_len) {
|
||||
priv->keys[index].key = kzalloc(key_len, GFP_ATOMIC);
|
||||
|
Reference in New Issue
Block a user