Unverified Commit b2d8f096 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!10417 Backport 5.10.212 LTS patches from upstream

Merge Pull Request from: @sanglipeng 
 
https://gitee.com/openeuler/kernel/issues/IAGOP2

Conflicts:
Already merged(14):
f19d1f98e60e  netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter
2e95350fe9db  net: ip_tunnel: prevent perpetual headroom growth
810fa7d5e520  ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()
6dd0a9dfa99f  Bluetooth: Avoid potential use-after-free in hci_error_reset
df193568d612  Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST
882a51a10ecf  rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
537e3f49dbe8  efi/capsule-loader: fix incorrect allocation size
d7acc4a569f5  power: supply: bq27xxx-i2c: Do not free non existing IRQ
8af1c121b010  riscv: Sparse-Memory/vmemmap out-of-bounds fix
a23ac1788e2c  tomoyo: fix UAF write bug in tomoyo_write_control()
2886fe308a83  btrfs: dev-replace: properly validate device names
9579a21e99fe  dmaengine: fsl-qdma: init irq after reg initialization
43eccc582373  cachefiles: fix memory leak in cachefiles_add_cache()
f74362a00422  mptcp: fix double-free on socket dismantle

Rejected(2):
36103f8cb902  x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers
80d852299987  fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super

Total patches: 41 - 14 - 2  = 25 
 
Link:https://gitee.com/openeuler/kernel/pulls/10417

 

Reviewed-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
parents 505488f1 a719603a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -101,7 +101,8 @@ static void virtio_crypto_dataq_akcipher_callback(struct virtio_crypto_request *
}

static int virtio_crypto_alg_akcipher_init_session(struct virtio_crypto_akcipher_ctx *ctx,
		struct virtio_crypto_ctrl_header *header, void *para,
		struct virtio_crypto_ctrl_header *header,
		struct virtio_crypto_akcipher_session_para *para,
		const uint8_t *key, unsigned int keylen)
{
	struct scatterlist outhdr_sg, key_sg, inhdr_sg, *sgs[3];
@@ -125,7 +126,7 @@ static int virtio_crypto_alg_akcipher_init_session(struct virtio_crypto_akcipher

	ctrl = &vc_ctrl_req->ctrl;
	memcpy(&ctrl->header, header, sizeof(ctrl->header));
	memcpy(&ctrl->u, para, sizeof(ctrl->u));
	memcpy(&ctrl->u.akcipher_create_session.para, para, sizeof(*para));
	input = &vc_ctrl_req->input;
	input->status = cpu_to_le32(VIRTIO_CRYPTO_ERR);

+3 −1
Original line number Diff line number Diff line
@@ -109,6 +109,7 @@
#define FSL_QDMA_CMD_WTHROTL_OFFSET	20
#define FSL_QDMA_CMD_DSEN_OFFSET	19
#define FSL_QDMA_CMD_LWC_OFFSET		16
#define FSL_QDMA_CMD_PF			BIT(17)

/* Field definition for Descriptor status */
#define QDMA_CCDF_STATUS_RTE		BIT(5)
@@ -384,7 +385,8 @@ static void fsl_qdma_comp_fill_memcpy(struct fsl_qdma_comp *fsl_comp,
	qdma_csgf_set_f(csgf_dest, len);
	/* Descriptor Buffer */
	cmd = cpu_to_le32(FSL_QDMA_CMD_RWTTYPE <<
			  FSL_QDMA_CMD_RWTTYPE_OFFSET);
			  FSL_QDMA_CMD_RWTTYPE_OFFSET) |
			  FSL_QDMA_CMD_PF;
	sdf->data = QDMA_SDDF_CMD(cmd);

	cmd = cpu_to_le32(FSL_QDMA_CMD_RWTTYPE <<
+2 −2
Original line number Diff line number Diff line
@@ -127,8 +127,6 @@ static int gen_74x164_probe(struct spi_device *spi)
	if (IS_ERR(chip->gpiod_oe))
		return PTR_ERR(chip->gpiod_oe);

	gpiod_set_value_cansleep(chip->gpiod_oe, 1);

	spi_set_drvdata(spi, chip);

	chip->gpio_chip.label = spi->modalias;
@@ -153,6 +151,8 @@ static int gen_74x164_probe(struct spi_device *spi)
		goto exit_destroy;
	}

	gpiod_set_value_cansleep(chip->gpiod_oe, 1);

	ret = gpiochip_add_data(&chip->gpio_chip, chip);
	if (!ret)
		return 0;
+5 −5
Original line number Diff line number Diff line
@@ -732,11 +732,11 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,

	ret = gpiochip_irqchip_init_valid_mask(gc);
	if (ret)
		goto err_remove_acpi_chip;
		goto err_free_hogs;

	ret = gpiochip_irqchip_init_hw(gc);
	if (ret)
		goto err_remove_acpi_chip;
		goto err_remove_irqchip_mask;

	ret = gpiochip_add_irqchip(gc, lock_key, request_key);
	if (ret)
@@ -761,13 +761,13 @@ int gpiochip_add_data_with_key(struct gpio_chip *gc, void *data,
	gpiochip_irqchip_remove(gc);
err_remove_irqchip_mask:
	gpiochip_irqchip_free_valid_mask(gc);
err_remove_acpi_chip:
err_free_hogs:
	gpiochip_free_hogs(gc);
	acpi_gpiochip_remove(gc);
	gpiochip_remove_pin_ranges(gc);
err_remove_of_chip:
	gpiochip_free_hogs(gc);
	of_gpiochip_remove(gc);
err_free_gpiochip_mask:
	gpiochip_remove_pin_ranges(gc);
	gpiochip_free_valid_mask(gc);
err_remove_from_list:
	spin_lock_irqsave(&gpio_lock, flags);
+2 −0
Original line number Diff line number Diff line
@@ -997,10 +997,12 @@ static int mmc_select_bus_width(struct mmc_card *card)
	static unsigned ext_csd_bits[] = {
		EXT_CSD_BUS_WIDTH_8,
		EXT_CSD_BUS_WIDTH_4,
		EXT_CSD_BUS_WIDTH_1,
	};
	static unsigned bus_widths[] = {
		MMC_BUS_WIDTH_8,
		MMC_BUS_WIDTH_4,
		MMC_BUS_WIDTH_1,
	};
	struct mmc_host *host = card->host;
	unsigned idx, bus_width = 0;
Loading