Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
544 commits
Select commit Hold shift + click to select a range
f1a42d4
can: peak_usb: pcan_usb_pro: Fix info-leaks to USB devices
Jul 31, 2019
db0f72d
USB: core: Fix races in character device registration and deregistraion
AlanStern Aug 12, 2019
6d1b83f
btrfs: inode: Verify inode mode to avoid NULL pointer dereference
adam900710 Mar 13, 2019
1ab0a63
f2fs: fix to do sanity check on valid block count of segment
chaseyu Apr 15, 2019
fc40daa
can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices
Dec 7, 2019
f5d228a
scsi: libsas: stop discovering if oob mode is disconnected
JasonYanHw Dec 6, 2019
9b3abfd
media: cpia2: Fix use-after-free in cpia2_exit
Mar 6, 2019
aa90637
fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links
Mar 29, 2019
90fe93e
fs/proc/proc_sysctl.c: Fix a NULL pointer dereference
Apr 26, 2019
c2e7c8f
dccp: Fix memleak in __feat_register_sp
Apr 1, 2019
1350e78
Input: add safety guards to input_set_keycode()
dtor Dec 13, 2019
0629769
media: go7007: fix a miss of snd_card_free
WillLester Dec 10, 2019
b8c261d
af_packet: set defaule value for tmo
Dec 9, 2019
9fcec62
xfrm: clean up xfrm protocol checks
congwang Mar 22, 2019
f8111d8
staging: android: ashmem: Disallow ashmem memory from being remapped
surenbaghdasaryan Jan 27, 2020
6976774
netlink: Trim skb to alloc size to avoid MSG_TRUNC
ronenil Oct 15, 2015
2035131
selinux: properly handle multiple messages in selinux_netlink_send()
pcmoore Apr 28, 2020
4a488bb
media: uvcvideo: Avoid cyclic entity chains due to malformed USB desc…
willdeacon Nov 8, 2019
bd1edb6
binder: fix UAF when releasing todo list
toddkjos Jul 21, 2020
9bca73d
l2tp: fix race between l2tp_session_delete() and l2tp_tunnel_closeall()
Apr 2, 2020
23cc851
HID: hid-input: clear unmapped usages
dtor Dec 7, 2019
574d2c8
audit: fix error handling in audit_data_to_entry()
pcmoore Feb 23, 2020
04dc64a
HID: core: Sanitize event code and type when mapping input
Sep 1, 2020
4038b5a
epoll: Keep a reference on files added to the check list
Aug 19, 2020
ed5692e
msm: kgsl: Fix race condition between cmdbatch and context destroy
Jul 26, 2019
e9c4feb
msm: vidc: remove additional checks in response_handler
Dec 13, 2019
f4fedcb
vgacon: Fix a UAF in vgacon_invert_region
z00467499 Mar 4, 2020
b67f88b
vt: selection, close sel_buffer race
Feb 10, 2020
61fae7f
vt: selection, push console lock down
Feb 28, 2020
74ef8d9
vt: selection, push sel_lock up
Feb 28, 2020
be62d75
powercap: restrict energy meter to root access
lenb Nov 10, 2020
44e1cc2
floppy: check FDC index for errors before assigning it
torvalds Feb 21, 2020
b33de5c
netlabel: cope with NULL catmap
May 12, 2020
d5b9ad8
net-gro: fix use-after-free read in napi_gro_frags()
edumazet May 29, 2019
707e042
crypto: authenc - fix parsing key with misaligned rta_len
ebiggers Dec 17, 2018
37728bd
s390/cmm: fix information leak in cmm_timeout_handler()
RetSpill Oct 25, 2019
51f8965
vhost: Check docket sk_family instead of call getname
eugpermar Mar 5, 2020
37f174b
diag: Prevent resource leakage of task structure
Mar 18, 2020
7826b97
net: sockev: avoid races between sockev and socket_close
Apr 24, 2019
5d0a49a
msm: kgsl: Correctly clean up dma buffer attachment in case of error
Aug 19, 2020
40208a3
msm: kgsl: skip if requested address doesn't fall in the svm range
Aug 20, 2020
6961f42
crypto: Fix possible stack out of bound error
Aug 10, 2020
657ecc3
crypto: Fix possible stack out of bound error
Oct 5, 2020
252db68
msm: kgsl: Remove VM_MAYWRITE flag to restrict mprotect
Aug 11, 2020
1b6fb23
usb: dwc3: ep0: Return from handle_status if ep0_delegate_req succeeds
Sep 16, 2020
63cd555
msm: kgsl: Don't allow re-importing memory owned by KGSL
Sep 24, 2020
b5f8d76
slcan: Don't transmit uninitialized stack data in padding
Apr 1, 2020
e671f13
mm: mempolicy: require at least one nodeid for MPOL_PREFERRED
rddunlap Apr 2, 2020
67eb852
media: ov519: add missing endpoint sanity checks
jhovold Jan 3, 2020
913704f
media: stv06xx: add missing descriptor sanity checks
jhovold Jan 3, 2020
43aca7e
media: xirlink_cit: add missing descriptor sanity checks
jhovold Jan 3, 2020
1d7d497
Bluetooth: A2MP: Fix not initializing all members
Vudentz Aug 6, 2020
0bda537
Bluetooth: A2MP: Fix not setting request ID
Vudentz Oct 16, 2020
35cc948
scsi: mptfusion: Fix double fetch bug in ioctl
Jan 14, 2020
26746bb
mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv()
Jan 2, 2020
9f98a54
mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status()
Jan 2, 2020
5daf0ab
sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate regis…
neilbrown May 22, 2020
19fd5c4
sunrpc: clean up properly in gss_mech_unregister()
neilbrown May 22, 2020
0285be1
scsi: sg: add sg_remove_request in sg_write
Apr 14, 2020
41cbf31
signal: Extend exec_id to 64bits
ebiederm Mar 31, 2020
5962094
USB: gadget: fix illegal array access in binding with UDC
kt0755 May 10, 2020
ca0db24
vt: keyboard: avoid signed integer overflow in k_ascii
dtor May 25, 2020
f00c7f3
netfilter: nf_conntrack_h323: lost .data_len definition for Q.931/ipv6
vaverin Jun 9, 2020
86c9155
ext4: fix potential negative array index in do_split()
Jun 17, 2020
944a09e
vgacon: Fix for missing check in scrollback handling
Jul 28, 2020
d5199ac
perf/core: Fix race in the perf_mmap_close() function
Sep 16, 2020
28d97af
net/packet: fix overflow in tpacket_rcv
Sep 4, 2020
0e9e582
fbcon: remove soft scrollback code
torvalds Sep 7, 2020
6760292
can, slip: Protect tty->disc_data in write_wakeup and close with RCU
Jan 21, 2020
869400a
usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect
Zqiang1211 Jun 12, 2020
3048008
block: Fix use-after-free in blkdev_get()
JasonYanHw Jun 16, 2020
9107dc6
dccp: don't duplicate ccid when cloning dccp sock
Sep 8, 2021
65a7651
Revert "dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect()"
Oct 13, 2020
4bec30d
cfg80211: mitigate A-MSDU aggregation attacks
vanhoefm May 31, 2021
3248226
mac80211: drop A-MSDUs on old ciphers
jmberg-intel May 31, 2021
c679b49
netfilter: ctnetlink: add a range check for l3/l4 protonum
willmcvicker Aug 24, 2020
23d161d
nfs: Fix getxattr kernel panic and memory overflow
JeffreyMitchellSL Aug 5, 2020
b40954b
rbd: require global CAP_SYS_ADMIN for mapping and unmapping
idryomov Sep 3, 2020
8027ae8
mm/hugetlb: fix a race between hugetlb sysctl handlers
Sep 4, 2020
4501980
hdlc_ppp: add range checks in ppp_cp_parse_cr()
Sep 9, 2020
0d83f80
tty: make FONTX ioctl use the tty pointer they were actually passed
torvalds Oct 26, 2020
5ad3a94
Input: sunkbd - avoid use-after-free in teardown paths
dtor Oct 26, 2020
e714ff9
nfc: fix refcount leak in llcp_sock_connect()
nixiaoming Mar 25, 2021
6f6a5bc
nfc: fix memory leak in llcp_sock_connect()
nixiaoming Mar 25, 2021
0ca61fa
nfc: Avoid endless loops caused by repeated llcp_sock_connect()
nixiaoming Mar 25, 2021
639b6ec
net/nfc/rawsock.c: add CAP_NET_RAW check.
Lqingyu Aug 10, 2020
062dab2
mac80211: do not accept/forward invalid EAPOL frames
jmberg-intel May 31, 2021
91aba2a
mac80211: assure all fragments are encrypted
vanhoefm May 31, 2021
6356c2d
xfrm: policy: Fix doulbe free in xfrm_policy_timer
Mar 23, 2020
97a3033
cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE
Feb 13, 2020
9292d15
jfs: Fix array index bounds check in dbAdjTree
kleikamp Nov 13, 2020
d0b86a8
tracing: Fix race in trace_open and buffer resize call
Oct 6, 2020
00f25d3
vgacon: remove software scrollback support
torvalds Sep 9, 2020
f45e261
fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h
peilin-ye Sep 24, 2020
f7fb1c7
Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts
peilin-ye Sep 24, 2020
bf0950d
fbcon: Fix global-out-of-bounds read in fbcon_get_font()
peilin-ye Sep 24, 2020
948ff63
vt: Disable KD_FONT_OP_COPY
danvet Nov 8, 2020
d9e1af2
romfs: fix uninitialized memory leak in romfs_dev_read()
thejh Aug 21, 2020
437a699
xenbus/xenbus_backend: Disallow pending watch messages
sj-aws Dec 14, 2020
e066d32
tty: Fix ->pgrp locking in tiocspgrp()
thejh Dec 3, 2020
e3a8011
fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent
Eddy0402 Nov 7, 2020
f174f9b
mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_s…
Dec 6, 2020
9fc960f
KVM: fix memory leak in kvm_io_bus_unregister_dev()
rustylife Sep 7, 2020
c71d770
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
ebiggers Mar 22, 2020
62f6430
netfilter: x_tables: Use correct memory barriers.
Mar 8, 2021
e58e571
ANDROID: xt_qtaguid: Remove tag_entry from process list on untag
Jan 11, 2021
056855d
HID: make arrays usage and value to be the same
willmcvicker Dec 5, 2020
8af2c85
af_key: pfkey_dump needs parameter validation
salyzyn Jul 22, 2020
3344268
af_unix: fix garbage collect vs MSG_PEEK
Jul 28, 2021
5e2fd5d
ANDROID: xt_quota2: remove trailing junk which might have a digit in it
samliddicott Jan 7, 2014
d4597ce
msm: ipa2: Add check to validate rule_cnt
Dec 7, 2020
262a6ff
nfsd4: readdirplus shouldn't return parent of export
Jan 11, 2021
f2b4f6d
ext4: handle error of ext4_setup_system_zone() on remount
jankara Mar 17, 2021
809d9af
firewire: nosy: Fix a use-after-free bug in nosy_ioctl()
ZheyuMa Apr 3, 2021
389a99a
Bluetooth: fix the erroneous flush_work() order
f0rm2l1n May 25, 2021
d7b0ec1
Bluetooth: use correct lock to prevent UAF of hdev object
f0rm2l1n May 30, 2021
2bf969e
can: bcm: delay release of struct bcm_op after synchronize_rcu()
Jun 19, 2021
b3e5745
Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl
avlarkin Jul 5, 2021
b3f6453
KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-…
Aug 16, 2021
57d46f8
sctp: add size validation when walking chunks
marceloleitner Jun 28, 2021
15be798
sctp: validate chunk size in __rcv_asconf_lookup
marceloleitner Jun 28, 2021
9d72b3e
sctp: add param size validation for SCTP_PARAM_SET_PRIMARY
marceloleitner Jun 28, 2021
5d8dbf6
net: mac802154: Fix general protection fault
pskrgag Mar 4, 2021
a29f6e6
net_sched: cls_route: remove the right filter from hashtable
congwang Mar 14, 2020
b9228b7
ovl: prevent private clone if bind mount is not allowed
Aug 9, 2021
17267cc
vt_kdsetmode: extend console locking
torvalds Aug 30, 2021
3496332
sctp: use init_tag from inithdr for ABORT chunk
lxin Oct 20, 2021
f6a1f35
sctp: add vtag check in sctp_sf_violation
lxin Oct 20, 2021
1670c7a
isdn: cpai: check ctr->cnr to avoid array index out of bound
Oct 8, 2021
4b44816
hugetlbfs: flush TLBs correctly after huge_pmd_unshare
anadav Nov 21, 2021
b5a5f6d
drm/ttm/nouveau: don't call tt destroy callback on alloc failure.
airlied Jul 28, 2020
c9c791c
ARM: ensure the signal page contains defined contents
Jan 29, 2021
15eca70
net/sctp: fix race condition in sctp_destroy_sock
Apr 13, 2021
b9346ac
Revert "net/sctp: fix race condition in sctp_destroy_sock"
lxin May 2, 2021
0934b55
sctp: delay auto_asconf init until binding the first addr
lxin May 2, 2021
388c1c2
xen-blkback: fix error handling in xen_blkbk_map()
jbeulich Feb 15, 2021
9d812e4
scsi: iscsi: Restrict sessions and handles to admin capabilities
gonzoleeman Feb 23, 2021
e620772
scsi: iscsi: Ensure sysfs attributes are limited to PAGE_SIZE
cleech Feb 24, 2021
be4d97f
scsi: iscsi: Verify lengths on passthrough PDUs
cleech Feb 24, 2021
316611a
staging: rtl8188eu: prevent ->ssid overflow in rtw_wx_set_scan()
Mar 5, 2021
72db4dc
xen-blkback: don't leak persistent grants from xen_blkbk_map()
jbeulich Mar 26, 2021
6227723
xen/console: harden hvc_xen against event channel storms
jgross1 Dec 16, 2021
15f18a4
xen/netback: don't queue unlimited number of packages
jgross1 Nov 30, 2021
125bdbb
btrfs: fix race when cloning extent buffer during rewind of an old root
fdmanana Mar 11, 2021
d25bab4
PCI: rpadlpar: Fix potential drc_name corruption in store functions
tyreld Mar 15, 2021
9937b38
bpf, x86: Validate computation of branch displacements for x86-64
piotr-krysiuk Apr 5, 2021
1fff386
media: v4l: ioctl: Fix memory leak in video_usercopy
Dec 19, 2020
fbae6f7
bluetooth: eliminate the potential race condition when removing the H…
f0rm2l1n Apr 12, 2021
f46196d
vt: drop old FONT ioctls
Jan 5, 2021
8f5a457
seq_file: disallow extremely large seq buffer allocations
Jul 13, 2021
43dda2a
can: bcm: fix infoleak in struct bcm_msg_head
Jun 12, 2021
eaf073d
net: hso: register netdev later to avoid a race condition
akemnade Apr 26, 2017
a798d14
usb: max-3421: Prevent corruption of freed memory
Jun 25, 2021
9ca4a3f
net: xilinx_emaclite: Do not print real IOMEM pointer
May 19, 2021
bfdad5b
epoll: do not insert into poll queues until all sanity checks are done
Sep 10, 2020
51b0c55
scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
Dec 28, 2020
a9c5bb7
staging: ion: Prevent incorrect reference counting behavour
Nov 26, 2021
3594c38
ext4: fix race writing to an inline_data file while its xattrs are ch…
tytso Aug 21, 2021
2aeaab3
net: 6pack: fix slab-out-of-bounds in decode_data
pskrgag Aug 13, 2021
ab5cb16
media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt()
Jan 24, 2022
5c89760
phonet: refcount leak in pep_sock_accep
HBh25Y Dec 9, 2021
69616a1
quota: check block number when reading the block in quota file
zhangyi089 Oct 8, 2021
91e1cdf
drm/i915: Flush TLBs before releasing backing store
tursulin Oct 19, 2021
440b534
udf: Fix NULL ptr deref when converting from inline format
jankara Jan 17, 2022
27f7eb3
udf: Restore i_lenAlloc when inode expansion fails
jankara Jan 18, 2022
67eb0a5
ext4: fix kernel infoleak via ext4_extent_header
anirudhrb May 6, 2021
b653261
fuse: fix pipe buffer lifetime for direct_io
Mar 7, 2022
09ff3b3
af_key: add __GFP_ZERO flag for compose_sadb_supported in function pf…
YunDingLab Mar 8, 2022
b3633a7
net/x25: Fix null-ptr-deref caused by x25_disconnect
stonezdm Mar 26, 2022
ead975c
floppy: use a statically allocated error counter
wtarreau May 8, 2022
ea94397
ath9k: fix use-after-free in ath9k_hif_usb_rx_cb
pskrgag Jun 13, 2022
f673658
NFC: netlink: fix sleep in atomic bug when firmware download timeout
stonezdm May 4, 2022
8895ffd
KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_deliv…
vittyvk Mar 25, 2022
44954a6
net: rose: fix UAF bugs caused by timer handler
stonezdm Jun 29, 2022
93f0458
net_sched: cls_route: remove from list when handle is 0
Aug 9, 2022
72d9c0c
af_key: Do not call xfrm_probe_algs in parallel
herbertx Aug 4, 2022
bbe92c3
video: fbdev: i740fb: Error out if 'pixclock' equals zero
ZheyuMa Apr 4, 2022
9c43474
power: supply: wm8350-power: Add missing free in free_charger_irq
JiangJias Mar 3, 2022
44f536a
misc: sgi-gru: fix use-after-free error in gru_set_context_option, gr…
bluesheep1337 Nov 10, 2022
97bff2f
bnx2x: fix potential memory leak in bnx2x_tpa_stop()
Sep 30, 2022
c8e15ba
mISDN: fix use-after-free bugs in l1oip timer handlers
stonezdm Sep 28, 2022
e7a9470
r8152: Rate limit overflow messages
Oct 2, 2022
63ad7d1
nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level()
konis Oct 2, 2022
3f387f6
wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_wor…
dokyungs Oct 21, 2022
ba7da97
vsock: Fix memory leak in vsock_connect()
peilin-ye Aug 8, 2022
042be24
atm: idt77252: fix use-after-free bugs caused by tst_timer
stonezdm Aug 5, 2022
2b2b188
nilfs2: fix use-after-free bug of struct nilfs_root
konis Oct 3, 2022
24107da
proc: avoid integer type confusion in get_proc_long
torvalds Dec 5, 2022
7f3ff95
USB: core: Prevent nested device-reset calls
AlanStern Aug 26, 2022
40fdfbb
igmp: Add ip_mc_list lock in ip_check_mc_rcu
liujian56 Jul 16, 2021
dafc841
FROMGIT: arm64: fix oops in concurrently setting insn_emulation sysctls
Jul 2, 2022
fbc4826
xen/gntalloc: don't use gnttab_query_foreign_access()
jgross1 Feb 25, 2022
c1c23ea
usb: gadget: clear related members when goto fail
HBh25Y Dec 31, 2021
4a0c8be
USB: gadget: validate interface OS descriptor requests
szymonh Jan 24, 2022
ac91045
sr9700: sanity check for packet length
oneukum Feb 17, 2022
a255799
USB: gadget: validate endpoint index for xilinx udc
szymonh Feb 21, 2022
ab7314c
HID: elo: fix memory leak in elo_probe
mudongliang Jan 22, 2022
88d1e0a
llc: fix netdevice reference leaks in llc_ui_bind()
edumazet Mar 23, 2022
bee1fcb
can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in err…
HBh25Y Feb 28, 2022
4036d69
powerpc/32: Fix overread/overwrite of thread_struct via ptrace
mpe Jun 6, 2022
12f15e7
xen/arm: Fix race in RB-tree based P2M accounting
Jul 1, 2022
90fe96f
x86: Clear .brk area at early boot
jgross1 Jun 30, 2022
b7fa4ff
drm/vmwgfx: Validate the box size for the snooped cursor
zackr Oct 26, 2022
8ef04fd
xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bund…
HBh25Y Jun 1, 2022
b253e4d
mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
thejh Aug 31, 2022
d5d9ee7
video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
V4bel Jun 20, 2022
9ada5b8
fbdev: smscufx: Fix use-after-free in ufx_ops_open()
V4bel Sep 25, 2022
44d80e6
HID: roccat: Fix use-after-free in roccat_read()
V4bel Sep 4, 2022
04c1634
drivers: net: slip: fix NPD bug in sl_tx_timeout()
stonezdm Apr 5, 2022
0532b8c
Bluetooth: L2CAP: Fix attempting to access uninitialized memory
Vudentz Oct 31, 2022
d22a6f5
Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm
Vudentz Oct 31, 2022
d318795
usb: mon: make mmapped memory read only
tstruk Sep 19, 2022
64f097a
Bluetooth: L2CAP: Fix u8 overflow
swkim101 Nov 18, 2022
e6bc7ff
ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
herbertx Jan 10, 2023
f365448
media: vivid: fix compose size exceed boundary
Oct 27, 2022
ac65932
HID: check empty report_list in hid_validate_values()
pietroborrello Jan 16, 2023
17a306c
sctp: fail if no bound addresses can be used for a given scope
marceloleitner Jan 23, 2023
7369243
netfilter: nf_tables: fix null deref due to zeroed list head
Aug 9, 2022
e1949aa
media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
stonezdm Jan 24, 2023
5113d8a
xirc2ps_cs: Fix use after free bug in xirc2ps_detach
bluesheep1337 Mar 16, 2023
0f5ba95
Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unf…
bluesheep1337 Mar 9, 2023
698173f
scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
mikechristie Jan 17, 2023
05ff05e
net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
pr0ln Apr 13, 2023
bdbb81c
dm ioctl: fix nested locking in table_clear() to remove deadlock concern
Apr 17, 2023
94f829b
fs: hfsplus: fix UAF issue in hfsplus_put_super
mudongliang Feb 26, 2023
47712bb
memstick: r592: Fix UAF bug in r592_remove due to race condition
bluesheep1337 Mar 7, 2023
4990e41
firewire: fix potential uaf in outbound_phy_packet_callback()
Ychame Apr 9, 2022
9a54cff
fbcon: Check font dimension limits
sthibaul Jan 29, 2023
0c38d65
wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid
szymonh Jan 11, 2023
25f030a
media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()
bandari Nov 20, 2022
0ceea46
netrom: Fix use-after-free caused by accept on already connected socket
ImV4bel Jan 27, 2023
9c35ade
media: dm1105: Fix use after free bug in dm1105_remove due to race co…
bluesheep1337 Mar 18, 2023
7bc5d94
ASoC: msm: qdsp6v2: return error when copy from userspace fails
Dec 5, 2016
d0cf246
f2fs: fix to do sanity check with node footer and iblocks
chaseyu Jun 29, 2018
f7ffdbf
floppy: fix out-of-bounds read in copy_buffer
evdenis Jul 12, 2019
0d5b475
do_epoll_ctl(): clean the failure exits up a bit
Aug 22, 2020
9d739e0
tty: Fix ->session locking
thejh Dec 3, 2020
e7e67d6
usb: hso: fix error handling code of hso_create_net_device
mudongliang Jul 14, 2021
fcaa717
qcacld-2.0: Fix potential double free in wma_log_supported_evt_handler
Jul 4, 2019
323909b
qcacld-2.0: Validate assoc response IE len before copy
Feb 24, 2020
77c49ec
qcacld-2.0: Validate assoc response IE len before copy
Feb 27, 2020
aeaddf3
qcacld-2.0: Using size_t to avoid OOB
Oct 8, 2019
b12bb38
qcacld-2.0: Discard frag frames if the PN is not consecutive
Feb 26, 2021
74ade00
qcacld-2.0: fix some overflow issue in wma
May 26, 2021
f5eb120
qcacld-2.0: Fix possible OOB in unpack_tlv_core
Oct 12, 2021
016183e
qcacld-2.0: Avoid OOB read in dot11f_unpack_assoc_response
Oct 27, 2021
3701966
qcacld-2.0: Fix array OOB for duplicate rate
Oct 3, 2021
6a2b5f4
qcacld-2.0: Fix array OOB for duplicate rate
Dec 23, 2021
8fb2fe7
qcacld-2.0: Drop mcast and plaintext frags in protected network
Feb 17, 2021
27edc6e
Apply the remaining diffs
SkewedZeppelin Jul 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions Documentation/networking/ip-sysctl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,14 @@ tcp_base_mss - INTEGER
Path MTU discovery (MTU probing). If MTU probing is enabled,
this is the initial MSS used by the connection.

tcp_min_snd_mss - INTEGER
TCP SYN and SYNACK messages usually advertise an ADVMSS option,
as described in RFC 1122 and RFC 6691.
If this ADVMSS option is smaller than tcp_min_snd_mss,
it is silently capped to tcp_min_snd_mss.

Default : 48 (at least 8 bytes of payload per segment)

tcp_congestion_control - STRING
Set the congestion control algorithm to be used for new
connections. The algorithm "reno" is always available, but
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/include/asm/tlb.h
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,14 @@ tlb_remove_pmd_tlb_entry(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr
tlb_add_flush(tlb, addr);
}

static inline void
tlb_flush_pmd_range(struct mmu_gather *tlb, unsigned long address,
unsigned long size)
{
tlb_add_flush(tlb, address);
tlb_add_flush(tlb, address + size - PMD_SIZE);
}

#define pte_free_tlb(tlb, ptep, addr) __pte_free_tlb(tlb, ptep, addr)
#define pmd_free_tlb(tlb, pmdp, addr) __pmd_free_tlb(tlb, pmdp, addr)
#define pud_free_tlb(tlb, pudp, addr) pud_free((tlb)->mm, pudp)
Expand Down
13 changes: 7 additions & 6 deletions arch/arm/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -932,18 +932,19 @@ asmlinkage int syscall_trace_enter(struct pt_regs *regs, int scno)
{
current_thread_info()->syscall = scno;

/* Do the secure computing check first; failures should be fast. */
if (test_thread_flag(TIF_SYSCALL_TRACE))
tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);

/* Do seccomp after ptrace; syscall may have changed. */
#ifdef CONFIG_HAVE_ARCH_SECCOMP_FILTER
if (secure_computing() == -1)
if (secure_computing(NULL) == -1)
return -1;
#else
/* XXX: remove this once OABI gets fixed */
secure_computing_strict(scno);
secure_computing_strict(current_thread_info()->syscall);
#endif

if (test_thread_flag(TIF_SYSCALL_TRACE))
tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);

/* Tracer or seccomp may have changed syscall. */
scno = current_thread_info()->syscall;

if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
Expand Down
14 changes: 8 additions & 6 deletions arch/arm/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -624,18 +624,20 @@ struct page *get_signal_page(void)

addr = page_address(page);

/* Poison the entire page */
memset32(addr, __opcode_to_mem_arm(0xe7fddef1),
PAGE_SIZE / sizeof(u32));

/* Give the signal return code some randomness */
offset = 0x200 + (get_random_int() & 0x7fc);
signal_return_offset = offset;

/*
* Copy signal return handlers into the vector page, and
* set sigreturn to be a pointer to these.
*/
/* Copy signal return handlers into the page */
memcpy(addr + offset, sigreturn_codes, sizeof(sigreturn_codes));

ptr = (unsigned long)addr + offset;
flush_icache_range(ptr, ptr + sizeof(sigreturn_codes));
/* Flush out all instructions in this page */
ptr = (unsigned long)addr;
flush_icache_range(ptr, ptr + PAGE_SIZE);

return page;
}
8 changes: 7 additions & 1 deletion arch/arm/kernel/sys_oabi-compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,8 +279,12 @@ asmlinkage long sys_oabi_epoll_wait(int epfd,
mm_segment_t fs;
long ret, err, i;

if (maxevents <= 0 || maxevents > (INT_MAX/sizeof(struct epoll_event)))
if (maxevents <= 0 ||
maxevents > (INT_MAX/sizeof(*kbuf)) ||
maxevents > (INT_MAX/sizeof(*events)))
return -EINVAL;
if (!access_ok(VERIFY_WRITE, events, sizeof(*events) * maxevents))
return -EFAULT;
kbuf = kmalloc(sizeof(*kbuf) * maxevents, GFP_KERNEL);
if (!kbuf)
return -ENOMEM;
Expand Down Expand Up @@ -317,6 +321,8 @@ asmlinkage long sys_oabi_semtimedop(int semid,

if (nsops < 1 || nsops > SEMOPM)
return -EINVAL;
if (!access_ok(VERIFY_READ, tsops, sizeof(*tsops) * nsops))
return -EFAULT;
sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL);
if (!sops)
return -ENOMEM;
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/kvm/mmio.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ int kvm_handle_mmio_return(struct kvm_vcpu *vcpu, struct kvm_run *run)
}

trace_kvm_mmio(KVM_TRACE_MMIO_READ, len, run->mmio.phys_addr,
data);
&data);
data = vcpu_data_host_to_guest(vcpu, data, len);
*vcpu_reg(vcpu, vcpu->arch.mmio_decode.rt) = data;
}
Expand Down Expand Up @@ -192,7 +192,7 @@ int io_mem_abort(struct kvm_vcpu *vcpu, struct kvm_run *run,
trace_kvm_mmio((mmio.is_write) ? KVM_TRACE_MMIO_WRITE :
KVM_TRACE_MMIO_READ_UNSATISFIED,
mmio.len, fault_ipa,
(mmio.is_write) ? data : 0);
(mmio.is_write) ? &data : 0);

if (mmio.is_write)
mmio_write_buf(mmio.data, mmio.len, data);
Expand Down
6 changes: 4 additions & 2 deletions arch/arm/xen/p2m.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,12 @@ static int xen_add_phys_to_mach_entry(struct xen_p2m_entry *new)

unsigned long __pfn_to_mfn(unsigned long pfn)
{
struct rb_node *n = phys_to_mach.rb_node;
struct rb_node *n;
struct xen_p2m_entry *entry;
unsigned long irqflags;

read_lock_irqsave(&p2m_lock, irqflags);
n = phys_to_mach.rb_node;
while (n) {
entry = rb_entry(n, struct xen_p2m_entry, rbnode_phys);
if (entry->pfn <= pfn &&
Expand Down Expand Up @@ -122,10 +123,11 @@ bool __set_phys_to_machine_multi(unsigned long pfn,
int rc;
unsigned long irqflags;
struct xen_p2m_entry *p2m_entry;
struct rb_node *n = phys_to_mach.rb_node;
struct rb_node *n;

if (mfn == INVALID_P2M_ENTRY) {
write_lock_irqsave(&p2m_lock, irqflags);
n = phys_to_mach.rb_node;
while (n) {
p2m_entry = rb_entry(n, struct xen_p2m_entry, rbnode_phys);
if (p2m_entry->pfn <= pfn &&
Expand Down
10 changes: 5 additions & 5 deletions arch/arm64/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ typedef struct user_fpsimd_state elf_fpregset_t;
* the loader. We need to make sure that it is out of the way of the program
* that it will "exec", and that there is sufficient room for the brk.
*/
#define ELF_ET_DYN_BASE (2 * TASK_SIZE_64 / 3)
#define ELF_ET_DYN_BASE (U32_MAX)

/*
* When the program starts, a1 contains a pointer to a function to be
Expand All @@ -152,10 +152,10 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
/* 1GB of VA */
#ifdef CONFIG_COMPAT
#define STACK_RND_MASK (test_thread_flag(TIF_32BIT) ? \
0x7ff >> (PAGE_SHIFT - 12) : \
0x3ffff >> (PAGE_SHIFT - 12))
((1UL << mmap_rnd_compat_bits) - 1) >> (PAGE_SHIFT - 12) : \
((1UL << mmap_rnd_bits) - 1) >> (PAGE_SHIFT - 12))
#else
#define STACK_RND_MASK (0x3ffff >> (PAGE_SHIFT - 12))
#define STACK_RND_MASK (((1UL << mmap_rnd_bits) - 1) >> (PAGE_SHIFT - 12))
#endif

struct mm_struct;
Expand All @@ -170,7 +170,7 @@ extern unsigned long arch_randomize_brk(struct mm_struct *mm);
#define COMPAT_ELF_PLATFORM ("v8l")
#endif

#define COMPAT_ELF_ET_DYN_BASE (2 * TASK_SIZE_32 / 3)
#define COMPAT_ELF_ET_DYN_BASE (0x10000000UL)

/* AArch32 registers. */
#define COMPAT_ELF_NGREG 18
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/include/asm/kvm_emulate.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ void kvm_inject_undefined(struct kvm_vcpu *vcpu);
void kvm_inject_dabt(struct kvm_vcpu *vcpu, unsigned long addr);
void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr);

static inline bool vcpu_el1_is_32bit(struct kvm_vcpu *vcpu)
{
return !(vcpu->arch.hcr_el2 & HCR_RW);
}

static inline void vcpu_reset_hcr(struct kvm_vcpu *vcpu)
{
vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS;
Expand Down
3 changes: 3 additions & 0 deletions arch/arm64/include/asm/stackprotector.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ static __always_inline void boot_init_stack_canary(void)
get_random_bytes(&canary, sizeof(canary));
canary ^= LINUX_VERSION_CODE;

/* Sacrifice 8 bits of entropy to mitigate non-terminated C string overflows */
canary &= ~(unsigned long)0xff;

current->stack_canary = canary;
__stack_chk_guard = current->stack_canary;
}
Expand Down
9 changes: 5 additions & 4 deletions arch/arm64/kernel/armv8_deprecated.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ struct insn_emulation {
static LIST_HEAD(insn_emulation);
static int nr_insn_emulated __initdata;
static DEFINE_RAW_SPINLOCK(insn_emulation_lock);
static DEFINE_MUTEX(insn_emulation_mutex);

static void register_emulation_hooks(struct insn_emulation_ops *ops)
{
Expand Down Expand Up @@ -208,10 +209,10 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
loff_t *ppos)
{
int ret = 0;
struct insn_emulation *insn = (struct insn_emulation *) table->data;
struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode);
enum insn_emulation_mode prev_mode = insn->current_mode;

table->data = &insn->current_mode;
mutex_lock(&insn_emulation_mutex);
ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);

if (ret || !write || prev_mode == insn->current_mode)
Expand All @@ -224,7 +225,7 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
update_insn_emulation_mode(insn, INSN_UNDEF);
}
ret:
table->data = insn;
mutex_unlock(&insn_emulation_mutex);
return ret;
}

Expand Down Expand Up @@ -254,7 +255,7 @@ static void __init register_insn_emulation_sysctl(struct ctl_table *table)
sysctl->maxlen = sizeof(int);

sysctl->procname = insn->ops->name;
sysctl->data = insn;
sysctl->data = &insn->current_mode;
sysctl->extra1 = &insn->min;
sysctl->extra2 = &insn->max;
sysctl->proc_handler = emulation_proc_handler;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ static void show_data(unsigned long addr, int nbytes, const char *name)
if (addr < PAGE_OFFSET || addr > -256UL)
return;

printk("\n%s: %#lx:\n", name, addr);
printk("\n%s: %pS:\n", name, addr);

/*
* round address down to a 32 bit boundary
Expand Down
8 changes: 4 additions & 4 deletions arch/arm64/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1145,13 +1145,13 @@ static void tracehook_report_syscall(struct pt_regs *regs,

asmlinkage int syscall_trace_enter(struct pt_regs *regs)
{
/* Do the secure computing check first; failures should be fast. */
if (secure_computing() == -1)
return -1;

if (test_thread_flag(TIF_SYSCALL_TRACE))
tracehook_report_syscall(regs, PTRACE_SYSCALL_ENTER);

/* Do the secure computing after ptrace; failures should be fast. */
if (secure_computing(NULL) == -1)
return -1;

if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
trace_sys_enter(regs, regs->syscallno);

Expand Down
16 changes: 16 additions & 0 deletions arch/arm64/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,19 @@ static void cntfrq_read_handler(unsigned int esr, struct pt_regs *regs)
regs->pc += 4;
}

static void cntpct_read_handler(unsigned int esr, struct pt_regs *regs)
{
int rt = (esr & ESR_ELx_SYS64_ISS_RT_MASK) >> ESR_ELx_SYS64_ISS_RT_SHIFT;

isb();
if (rt != 31)
regs->regs[rt] = arch_counter_get_cntpct();
regs->pc += 4;
}

#define ESR_ELx_SYS64_ISS_SYS_CNTPCT (ESR_ELx_SYS64_ISS_SYS_VAL(3, 3, 1, 14, 0) | \
ESR_ELx_SYS64_ISS_DIR_READ)

asmlinkage void __exception do_sysinstr(unsigned int esr, struct pt_regs *regs)
{
if ((esr & ESR_ELx_SYS64_ISS_SYS_OP_MASK) == ESR_ELx_SYS64_ISS_SYS_CNTVCT) {
Expand All @@ -427,6 +440,9 @@ asmlinkage void __exception do_sysinstr(unsigned int esr, struct pt_regs *regs)
} else if ((esr & ESR_ELx_SYS64_ISS_SYS_OP_MASK) == ESR_ELx_SYS64_ISS_SYS_CNTFRQ) {
cntfrq_read_handler(esr, regs);
return;
} else if ((esr & ESR_ELx_SYS64_ISS_SYS_OP_MASK) == ESR_ELx_SYS64_ISS_SYS_CNTPCT) {
cntpct_read_handler(esr, regs);
return;
}

do_undefinstr(regs);
Expand Down
55 changes: 54 additions & 1 deletion arch/arm64/kvm/guest.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,45 @@ static u64 core_reg_offset_from_id(u64 id)
return id & ~(KVM_REG_ARCH_MASK | KVM_REG_SIZE_MASK | KVM_REG_ARM_CORE);
}

static int validate_core_offset(const struct kvm_one_reg *reg)
{
u64 off = core_reg_offset_from_id(reg->id);
int size;

switch (off) {
case KVM_REG_ARM_CORE_REG(regs.regs[0]) ...
KVM_REG_ARM_CORE_REG(regs.regs[30]):
case KVM_REG_ARM_CORE_REG(regs.sp):
case KVM_REG_ARM_CORE_REG(regs.pc):
case KVM_REG_ARM_CORE_REG(regs.pstate):
case KVM_REG_ARM_CORE_REG(sp_el1):
case KVM_REG_ARM_CORE_REG(elr_el1):
case KVM_REG_ARM_CORE_REG(spsr[0]) ...
KVM_REG_ARM_CORE_REG(spsr[KVM_NR_SPSR - 1]):
size = sizeof(__u64);
break;

case KVM_REG_ARM_CORE_REG(fp_regs.vregs[0]) ...
KVM_REG_ARM_CORE_REG(fp_regs.vregs[31]):
size = sizeof(__uint128_t);
break;

case KVM_REG_ARM_CORE_REG(fp_regs.fpsr):
case KVM_REG_ARM_CORE_REG(fp_regs.fpcr):
size = sizeof(__u32);
break;

default:
return -EINVAL;
}

if (KVM_REG_SIZE(reg->id) == size &&
IS_ALIGNED(off, size / sizeof(__u32)))
return 0;

return -EINVAL;
}

static int get_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
{
/*
Expand All @@ -65,6 +104,9 @@ static int get_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
(off + (KVM_REG_SIZE(reg->id) / sizeof(__u32))) >= nr_regs)
return -ENOENT;

if (validate_core_offset(reg))
return -EINVAL;

if (copy_to_user(uaddr, ((u32 *)regs) + off, KVM_REG_SIZE(reg->id)))
return -EFAULT;

Expand All @@ -87,6 +129,9 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
(off + (KVM_REG_SIZE(reg->id) / sizeof(__u32))) >= nr_regs)
return -ENOENT;

if (validate_core_offset(reg))
return -EINVAL;

if (KVM_REG_SIZE(reg->id) > sizeof(tmp))
return -EINVAL;

Expand All @@ -96,17 +141,25 @@ static int set_core_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
}

if (off == KVM_REG_ARM_CORE_REG(regs.pstate)) {
u32 mode = (*(u32 *)valp) & COMPAT_PSR_MODE_MASK;
u64 mode = (*(u64 *)valp) & COMPAT_PSR_MODE_MASK;
switch (mode) {
case COMPAT_PSR_MODE_USR:
if ((read_cpuid(ID_AA64PFR0_EL1) & 0xf) != 2)
return -EINVAL;
break;
case COMPAT_PSR_MODE_FIQ:
case COMPAT_PSR_MODE_IRQ:
case COMPAT_PSR_MODE_SVC:
case COMPAT_PSR_MODE_ABT:
case COMPAT_PSR_MODE_UND:
if (!vcpu_el1_is_32bit(vcpu))
return -EINVAL;
break;
case PSR_MODE_EL0t:
case PSR_MODE_EL1t:
case PSR_MODE_EL1h:
if (vcpu_el1_is_32bit(vcpu))
return -EINVAL;
break;
default:
err = -EINVAL;
Expand Down
Loading