This is the 5.10.66 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmFDIbAACgkQONu9yGCS aT7zaQ//aT/VgDrNmk5QaNnAAJlN0nsM2cbudR82bEwITkOg1bclrwAMqUXsg0dV d72300fSyrr9oSdD8lodPWi+Gt0OAMoYTZ4z/RE+TBRpfQYiVx1gQJ8QHqkS6oHA AebUrXxc/SuA50TvpLqxd+2De450X7g7ZLzprchlQQXI8T5V7ave1Co3/0nHXoAT rbEm8Zjp7Ge0K/mDDzMXTLVWPsEVeQ2TRmSQNdJlbfS2Fs4XCQV9lr1e1thjv3Zk bYSqVT92Okq/WIBbpzCwtbDNLXQSjGYuiTgsyat23Dc0De8jEg17BEwRE/NGudJa Lye+CTSuI95WCTYVd0JfJq4m49dizqIwxlb/7hRS4QizBnZAvcI3N4Itsqmg9Luv c6q5kVasIVWFBaiyLTEvpxuZJ6gGk8ekEz/qvtVrTPjxp+Y6im7VDH0+gtsaugsE y9ZWWQsPT2Q/S+Tuai3DPYzC53LniMg+gfKuxl3NGCsRv5Ig8G7M5qBhxK5ZglyW pwds2QP/Evr4VzsTMFvvEPezLsF+b8P0cD6auluSYsm1OU9Zjr1VawybqKECRNy3 kbm3TCUL2xzJ7Iet2V2iSB4wHaxYAPLHvXbw+rg0cw1L0Yt7eEAIbJzN+vgonpF/ uWUAA+awJqlJG8kkB5mQtB3hzI4Chh/UWZ93koW+vLXUKf8Iprc= =HYtp -----END PGP SIGNATURE----- Merge 5.10.66 into android12-5.10-lts Changes in 5.10.66 Revert "Bluetooth: Move shutdown callback before flushing tx and rx queue" Revert "block: nbd: add sanity check for first_minor" Revert "posix-cpu-timers: Force next expiration recalc after itimer reset" Revert "time: Handle negative seconds correctly in timespec64_to_ns()" Linux 5.10.66 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I2e40777590f9495135a5c7f78be91c058f3bafa6
This commit is contained in:
commit
d3c86f460d
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
VERSION = 5
|
VERSION = 5
|
||||||
PATCHLEVEL = 10
|
PATCHLEVEL = 10
|
||||||
SUBLEVEL = 65
|
SUBLEVEL = 66
|
||||||
EXTRAVERSION =
|
EXTRAVERSION =
|
||||||
NAME = Dare mighty things
|
NAME = Dare mighty things
|
||||||
|
|
||||||
|
@ -1759,17 +1759,7 @@ static int nbd_dev_add(int index)
|
|||||||
refcount_set(&nbd->refs, 1);
|
refcount_set(&nbd->refs, 1);
|
||||||
INIT_LIST_HEAD(&nbd->list);
|
INIT_LIST_HEAD(&nbd->list);
|
||||||
disk->major = NBD_MAJOR;
|
disk->major = NBD_MAJOR;
|
||||||
|
|
||||||
/* Too big first_minor can cause duplicate creation of
|
|
||||||
* sysfs files/links, since first_minor will be truncated to
|
|
||||||
* byte in __device_add_disk().
|
|
||||||
*/
|
|
||||||
disk->first_minor = index << part_shift;
|
disk->first_minor = index << part_shift;
|
||||||
if (disk->first_minor > 0xff) {
|
|
||||||
err = -EINVAL;
|
|
||||||
goto out_free_idr;
|
|
||||||
}
|
|
||||||
|
|
||||||
disk->fops = &nbd_fops;
|
disk->fops = &nbd_fops;
|
||||||
disk->private_data = nbd;
|
disk->private_data = nbd;
|
||||||
sprintf(disk->disk_name, "nbd%d", index);
|
sprintf(disk->disk_name, "nbd%d", index);
|
||||||
|
@ -25,9 +25,7 @@ struct itimerspec64 {
|
|||||||
#define TIME64_MIN (-TIME64_MAX - 1)
|
#define TIME64_MIN (-TIME64_MAX - 1)
|
||||||
|
|
||||||
#define KTIME_MAX ((s64)~((u64)1 << 63))
|
#define KTIME_MAX ((s64)~((u64)1 << 63))
|
||||||
#define KTIME_MIN (-KTIME_MAX - 1)
|
|
||||||
#define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC)
|
#define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC)
|
||||||
#define KTIME_SEC_MIN (KTIME_MIN / NSEC_PER_SEC)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Limits for settimeofday():
|
* Limits for settimeofday():
|
||||||
@ -126,13 +124,10 @@ static inline bool timespec64_valid_settod(const struct timespec64 *ts)
|
|||||||
*/
|
*/
|
||||||
static inline s64 timespec64_to_ns(const struct timespec64 *ts)
|
static inline s64 timespec64_to_ns(const struct timespec64 *ts)
|
||||||
{
|
{
|
||||||
/* Prevent multiplication overflow / underflow */
|
/* Prevent multiplication overflow */
|
||||||
if (ts->tv_sec >= KTIME_SEC_MAX)
|
if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX)
|
||||||
return KTIME_MAX;
|
return KTIME_MAX;
|
||||||
|
|
||||||
if (ts->tv_sec <= KTIME_SEC_MIN)
|
|
||||||
return KTIME_MIN;
|
|
||||||
|
|
||||||
return ((s64) ts->tv_sec * NSEC_PER_SEC) + ts->tv_nsec;
|
return ((s64) ts->tv_sec * NSEC_PER_SEC) + ts->tv_nsec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1346,6 +1346,8 @@ void set_process_cpu_timer(struct task_struct *tsk, unsigned int clkid,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!*newval)
|
||||||
|
return;
|
||||||
*newval += now;
|
*newval += now;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1732,14 +1732,6 @@ int hci_dev_do_close(struct hci_dev *hdev)
|
|||||||
hci_request_cancel_all(hdev);
|
hci_request_cancel_all(hdev);
|
||||||
hci_req_sync_lock(hdev);
|
hci_req_sync_lock(hdev);
|
||||||
|
|
||||||
if (!hci_dev_test_flag(hdev, HCI_UNREGISTER) &&
|
|
||||||
!hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
|
|
||||||
test_bit(HCI_UP, &hdev->flags)) {
|
|
||||||
/* Execute vendor specific shutdown routine */
|
|
||||||
if (hdev->shutdown)
|
|
||||||
hdev->shutdown(hdev);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
|
if (!test_and_clear_bit(HCI_UP, &hdev->flags)) {
|
||||||
cancel_delayed_work_sync(&hdev->cmd_timer);
|
cancel_delayed_work_sync(&hdev->cmd_timer);
|
||||||
hci_req_sync_unlock(hdev);
|
hci_req_sync_unlock(hdev);
|
||||||
|
Loading…
Reference in New Issue
Block a user