Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
117ff42f
Commit
117ff42f
authored
Jan 04, 2012
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
parents
1d578303
805a6af8
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
99 additions
and
86 deletions
+99
-86
MAINTAINERS
MAINTAINERS
+5
-6
Makefile
Makefile
+1
-1
drivers/gpu/drm/radeon/radeon_atombios.c
drivers/gpu/drm/radeon/radeon_atombios.c
+5
-1
drivers/net/ethernet/freescale/Kconfig
drivers/net/ethernet/freescale/Kconfig
+2
-2
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/main.c
+3
-0
drivers/net/wireless/b43/pio.c
drivers/net/wireless/b43/pio.c
+13
-3
drivers/net/wireless/mwifiex/sta_ioctl.c
drivers/net/wireless/mwifiex/sta_ioctl.c
+6
-1
drivers/rtc/interface.c
drivers/rtc/interface.c
+10
-40
fs/cifs/connect.c
fs/cifs/connect.c
+2
-2
fs/minix/inode.c
fs/minix/inode.c
+17
-17
include/linux/security.h
include/linux/security.h
+1
-1
kernel/exit.c
kernel/exit.c
+8
-1
kernel/hung_task.c
kernel/hung_task.c
+10
-4
kernel/ptrace.c
kernel/ptrace.c
+12
-1
kernel/signal.c
kernel/signal.c
+0
-2
net/bluetooth/hci_core.c
net/bluetooth/hci_core.c
+1
-1
net/sched/sch_qfq.c
net/sched/sch_qfq.c
+2
-2
security/security.c
security/security.c
+1
-1
No files found.
MAINTAINERS
View file @
117ff42f
...
@@ -1698,11 +1698,9 @@ F: arch/x86/include/asm/tce.h
...
@@ -1698,11 +1698,9 @@ F: arch/x86/include/asm/tce.h
CAN NETWORK LAYER
CAN NETWORK LAYER
M: Oliver Hartkopp <socketcan@hartkopp.net>
M: Oliver Hartkopp <socketcan@hartkopp.net>
M: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
M: Urs Thuermann <urs.thuermann@volkswagen.de>
L: linux-can@vger.kernel.org
L: linux-can@vger.kernel.org
L: netdev@vger.kernel.org
W: http://gitorious.org/linux-can
W: http://developer.berlios.de/projects/socketcan/
T: git git://gitorious.org/linux-can/linux-can-next.git
S: Maintained
S: Maintained
F: net/can/
F: net/can/
F: include/linux/can.h
F: include/linux/can.h
...
@@ -1713,9 +1711,10 @@ F: include/linux/can/gw.h
...
@@ -1713,9 +1711,10 @@ F: include/linux/can/gw.h
CAN NETWORK DRIVERS
CAN NETWORK DRIVERS
M: Wolfgang Grandegger <wg@grandegger.com>
M: Wolfgang Grandegger <wg@grandegger.com>
M: Marc Kleine-Budde <mkl@pengutronix.de>
L: linux-can@vger.kernel.org
L: linux-can@vger.kernel.org
L: netdev@vger.kernel.org
W: http://gitorious.org/linux-can
W: http://developer.berlios.de/projects/socketcan/
T: git git://gitorious.org/linux-can/linux-can-next.git
S: Maintained
S: Maintained
F: drivers/net/can/
F: drivers/net/can/
F: include/linux/can/dev.h
F: include/linux/can/dev.h
...
...
Makefile
View file @
117ff42f
VERSION
=
3
VERSION
=
3
PATCHLEVEL
=
2
PATCHLEVEL
=
2
SUBLEVEL
=
0
SUBLEVEL
=
0
EXTRAVERSION
=
-rc7
EXTRAVERSION
=
NAME
=
Saber-toothed Squirrel
NAME
=
Saber-toothed Squirrel
# *DOCUMENTATION*
# *DOCUMENTATION*
...
...
drivers/gpu/drm/radeon/radeon_atombios.c
View file @
117ff42f
...
@@ -2560,7 +2560,11 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
...
@@ -2560,7 +2560,11 @@ void radeon_atombios_get_power_modes(struct radeon_device *rdev)
rdev
->
pm
.
current_power_state_index
=
rdev
->
pm
.
default_power_state_index
;
rdev
->
pm
.
current_power_state_index
=
rdev
->
pm
.
default_power_state_index
;
rdev
->
pm
.
current_clock_mode_index
=
0
;
rdev
->
pm
.
current_clock_mode_index
=
0
;
rdev
->
pm
.
current_vddc
=
rdev
->
pm
.
power_state
[
rdev
->
pm
.
default_power_state_index
].
clock_info
[
0
].
voltage
.
voltage
;
if
(
rdev
->
pm
.
default_power_state_index
>=
0
)
rdev
->
pm
.
current_vddc
=
rdev
->
pm
.
power_state
[
rdev
->
pm
.
default_power_state_index
].
clock_info
[
0
].
voltage
.
voltage
;
else
rdev
->
pm
.
current_vddc
=
0
;
}
}
void
radeon_atom_set_clock_gating
(
struct
radeon_device
*
rdev
,
int
enable
)
void
radeon_atom_set_clock_gating
(
struct
radeon_device
*
rdev
,
int
enable
)
...
...
drivers/net/ethernet/freescale/Kconfig
View file @
117ff42f
...
@@ -23,8 +23,8 @@ if NET_VENDOR_FREESCALE
...
@@ -23,8 +23,8 @@ if NET_VENDOR_FREESCALE
config FEC
config FEC
tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \
ARCH_MXC ||
ARCH_MXS
)
ARCH_MXC ||
SOC_IMX28
)
default ARCH_MXC ||
ARCH_MXS
if ARM
default ARCH_MXC ||
SOC_IMX28
if ARM
select PHYLIB
select PHYLIB
---help---
---help---
Say Y here if you want to use the built-in 10/100 Fast ethernet
Say Y here if you want to use the built-in 10/100 Fast ethernet
...
...
drivers/net/wireless/ath/ath9k/main.c
View file @
117ff42f
...
@@ -1797,6 +1797,9 @@ static void ath9k_sta_notify(struct ieee80211_hw *hw,
...
@@ -1797,6 +1797,9 @@ static void ath9k_sta_notify(struct ieee80211_hw *hw,
struct
ath_softc
*
sc
=
hw
->
priv
;
struct
ath_softc
*
sc
=
hw
->
priv
;
struct
ath_node
*
an
=
(
struct
ath_node
*
)
sta
->
drv_priv
;
struct
ath_node
*
an
=
(
struct
ath_node
*
)
sta
->
drv_priv
;
if
(
!
(
sc
->
sc_flags
&
SC_OP_TXAGGR
))
return
;
switch
(
cmd
)
{
switch
(
cmd
)
{
case
STA_NOTIFY_SLEEP
:
case
STA_NOTIFY_SLEEP
:
an
->
sleeping
=
true
;
an
->
sleeping
=
true
;
...
...
drivers/net/wireless/b43/pio.c
View file @
117ff42f
...
@@ -617,9 +617,19 @@ static bool pio_rx_frame(struct b43_pio_rxqueue *q)
...
@@ -617,9 +617,19 @@ static bool pio_rx_frame(struct b43_pio_rxqueue *q)
const
char
*
err_msg
=
NULL
;
const
char
*
err_msg
=
NULL
;
struct
b43_rxhdr_fw4
*
rxhdr
=
struct
b43_rxhdr_fw4
*
rxhdr
=
(
struct
b43_rxhdr_fw4
*
)
wl
->
pio_scratchspace
;
(
struct
b43_rxhdr_fw4
*
)
wl
->
pio_scratchspace
;
size_t
rxhdr_size
=
sizeof
(
*
rxhdr
);
BUILD_BUG_ON
(
sizeof
(
wl
->
pio_scratchspace
)
<
sizeof
(
*
rxhdr
));
BUILD_BUG_ON
(
sizeof
(
wl
->
pio_scratchspace
)
<
sizeof
(
*
rxhdr
));
memset
(
rxhdr
,
0
,
sizeof
(
*
rxhdr
));
switch
(
dev
->
fw
.
hdr_format
)
{
case
B43_FW_HDR_410
:
case
B43_FW_HDR_351
:
rxhdr_size
-=
sizeof
(
rxhdr
->
format_598
)
-
sizeof
(
rxhdr
->
format_351
);
break
;
case
B43_FW_HDR_598
:
break
;
}
memset
(
rxhdr
,
0
,
rxhdr_size
);
/* Check if we have data and wait for it to get ready. */
/* Check if we have data and wait for it to get ready. */
if
(
q
->
rev
>=
8
)
{
if
(
q
->
rev
>=
8
)
{
...
@@ -657,11 +667,11 @@ static bool pio_rx_frame(struct b43_pio_rxqueue *q)
...
@@ -657,11 +667,11 @@ static bool pio_rx_frame(struct b43_pio_rxqueue *q)
/* Get the preamble (RX header) */
/* Get the preamble (RX header) */
if
(
q
->
rev
>=
8
)
{
if
(
q
->
rev
>=
8
)
{
b43_block_read
(
dev
,
rxhdr
,
sizeof
(
*
rxhdr
)
,
b43_block_read
(
dev
,
rxhdr
,
rxhdr_size
,
q
->
mmio_base
+
B43_PIO8_RXDATA
,
q
->
mmio_base
+
B43_PIO8_RXDATA
,
sizeof
(
u32
));
sizeof
(
u32
));
}
else
{
}
else
{
b43_block_read
(
dev
,
rxhdr
,
sizeof
(
*
rxhdr
)
,
b43_block_read
(
dev
,
rxhdr
,
rxhdr_size
,
q
->
mmio_base
+
B43_PIO_RXDATA
,
q
->
mmio_base
+
B43_PIO_RXDATA
,
sizeof
(
u16
));
sizeof
(
u16
));
}
}
...
...
drivers/net/wireless/mwifiex/sta_ioctl.c
View file @
117ff42f
...
@@ -55,9 +55,14 @@ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter)
...
@@ -55,9 +55,14 @@ int mwifiex_wait_queue_complete(struct mwifiex_adapter *adapter)
{
{
bool
cancel_flag
=
false
;
bool
cancel_flag
=
false
;
int
status
=
adapter
->
cmd_wait_q
.
status
;
int
status
=
adapter
->
cmd_wait_q
.
status
;
struct
cmd_ctrl_node
*
cmd_queued
=
adapter
->
cmd_queued
;
struct
cmd_ctrl_node
*
cmd_queued
;
if
(
!
adapter
->
cmd_queued
)
return
0
;
cmd_queued
=
adapter
->
cmd_queued
;
adapter
->
cmd_queued
=
NULL
;
adapter
->
cmd_queued
=
NULL
;
dev_dbg
(
adapter
->
dev
,
"cmd pending
\n
"
);
dev_dbg
(
adapter
->
dev
,
"cmd pending
\n
"
);
atomic_inc
(
&
adapter
->
cmd_pending
);
atomic_inc
(
&
adapter
->
cmd_pending
);
...
...
drivers/rtc/interface.c
View file @
117ff42f
...
@@ -73,8 +73,6 @@ int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm)
...
@@ -73,8 +73,6 @@ int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm)
err
=
-
EINVAL
;
err
=
-
EINVAL
;
mutex_unlock
(
&
rtc
->
ops_lock
);
mutex_unlock
(
&
rtc
->
ops_lock
);
/* A timer might have just expired */
schedule_work
(
&
rtc
->
irqwork
);
return
err
;
return
err
;
}
}
EXPORT_SYMBOL_GPL
(
rtc_set_time
);
EXPORT_SYMBOL_GPL
(
rtc_set_time
);
...
@@ -114,8 +112,6 @@ int rtc_set_mmss(struct rtc_device *rtc, unsigned long secs)
...
@@ -114,8 +112,6 @@ int rtc_set_mmss(struct rtc_device *rtc, unsigned long secs)
err
=
-
EINVAL
;
err
=
-
EINVAL
;
mutex_unlock
(
&
rtc
->
ops_lock
);
mutex_unlock
(
&
rtc
->
ops_lock
);
/* A timer might have just expired */
schedule_work
(
&
rtc
->
irqwork
);
return
err
;
return
err
;
}
}
...
@@ -323,20 +319,6 @@ int rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
...
@@ -323,20 +319,6 @@ int rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
}
}
EXPORT_SYMBOL_GPL
(
rtc_read_alarm
);
EXPORT_SYMBOL_GPL
(
rtc_read_alarm
);
static
int
___rtc_set_alarm
(
struct
rtc_device
*
rtc
,
struct
rtc_wkalrm
*
alarm
)
{
int
err
;
if
(
!
rtc
->
ops
)
err
=
-
ENODEV
;
else
if
(
!
rtc
->
ops
->
set_alarm
)
err
=
-
EINVAL
;
else
err
=
rtc
->
ops
->
set_alarm
(
rtc
->
dev
.
parent
,
alarm
);
return
err
;
}
static
int
__rtc_set_alarm
(
struct
rtc_device
*
rtc
,
struct
rtc_wkalrm
*
alarm
)
static
int
__rtc_set_alarm
(
struct
rtc_device
*
rtc
,
struct
rtc_wkalrm
*
alarm
)
{
{
struct
rtc_time
tm
;
struct
rtc_time
tm
;
...
@@ -360,7 +342,14 @@ static int __rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
...
@@ -360,7 +342,14 @@ static int __rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
* over right here, before we set the alarm.
* over right here, before we set the alarm.
*/
*/
return
___rtc_set_alarm
(
rtc
,
alarm
);
if
(
!
rtc
->
ops
)
err
=
-
ENODEV
;
else
if
(
!
rtc
->
ops
->
set_alarm
)
err
=
-
EINVAL
;
else
err
=
rtc
->
ops
->
set_alarm
(
rtc
->
dev
.
parent
,
alarm
);
return
err
;
}
}
int
rtc_set_alarm
(
struct
rtc_device
*
rtc
,
struct
rtc_wkalrm
*
alarm
)
int
rtc_set_alarm
(
struct
rtc_device
*
rtc
,
struct
rtc_wkalrm
*
alarm
)
...
@@ -407,8 +396,6 @@ int rtc_initialize_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
...
@@ -407,8 +396,6 @@ int rtc_initialize_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
timerqueue_add
(
&
rtc
->
timerqueue
,
&
rtc
->
aie_timer
.
node
);
timerqueue_add
(
&
rtc
->
timerqueue
,
&
rtc
->
aie_timer
.
node
);
}
}
mutex_unlock
(
&
rtc
->
ops_lock
);
mutex_unlock
(
&
rtc
->
ops_lock
);
/* maybe that was in the past.*/
schedule_work
(
&
rtc
->
irqwork
);
return
err
;
return
err
;
}
}
EXPORT_SYMBOL_GPL
(
rtc_initialize_alarm
);
EXPORT_SYMBOL_GPL
(
rtc_initialize_alarm
);
...
@@ -776,20 +763,6 @@ static int rtc_timer_enqueue(struct rtc_device *rtc, struct rtc_timer *timer)
...
@@ -776,20 +763,6 @@ static int rtc_timer_enqueue(struct rtc_device *rtc, struct rtc_timer *timer)
return
0
;
return
0
;
}
}
static
void
rtc_alarm_disable
(
struct
rtc_device
*
rtc
)
{
struct
rtc_wkalrm
alarm
;
struct
rtc_time
tm
;
__rtc_read_time
(
rtc
,
&
tm
);
alarm
.
time
=
rtc_ktime_to_tm
(
ktime_add
(
rtc_tm_to_ktime
(
tm
),
ktime_set
(
300
,
0
)));
alarm
.
enabled
=
0
;
___rtc_set_alarm
(
rtc
,
&
alarm
);
}
/**
/**
* rtc_timer_remove - Removes a rtc_timer from the rtc_device timerqueue
* rtc_timer_remove - Removes a rtc_timer from the rtc_device timerqueue
* @rtc rtc device
* @rtc rtc device
...
@@ -811,10 +784,8 @@ static void rtc_timer_remove(struct rtc_device *rtc, struct rtc_timer *timer)
...
@@ -811,10 +784,8 @@ static void rtc_timer_remove(struct rtc_device *rtc, struct rtc_timer *timer)
struct
rtc_wkalrm
alarm
;
struct
rtc_wkalrm
alarm
;
int
err
;
int
err
;
next
=
timerqueue_getnext
(
&
rtc
->
timerqueue
);
next
=
timerqueue_getnext
(
&
rtc
->
timerqueue
);
if
(
!
next
)
{
if
(
!
next
)
rtc_alarm_disable
(
rtc
);
return
;
return
;
}
alarm
.
time
=
rtc_ktime_to_tm
(
next
->
expires
);
alarm
.
time
=
rtc_ktime_to_tm
(
next
->
expires
);
alarm
.
enabled
=
1
;
alarm
.
enabled
=
1
;
err
=
__rtc_set_alarm
(
rtc
,
&
alarm
);
err
=
__rtc_set_alarm
(
rtc
,
&
alarm
);
...
@@ -876,8 +847,7 @@ void rtc_timer_do_work(struct work_struct *work)
...
@@ -876,8 +847,7 @@ void rtc_timer_do_work(struct work_struct *work)
err
=
__rtc_set_alarm
(
rtc
,
&
alarm
);
err
=
__rtc_set_alarm
(
rtc
,
&
alarm
);
if
(
err
==
-
ETIME
)
if
(
err
==
-
ETIME
)
goto
again
;
goto
again
;
}
else
}
rtc_alarm_disable
(
rtc
);
mutex_unlock
(
&
rtc
->
ops_lock
);
mutex_unlock
(
&
rtc
->
ops_lock
);
}
}
...
...
fs/cifs/connect.c
View file @
117ff42f
...
@@ -282,7 +282,7 @@ static int coalesce_t2(struct smb_hdr *psecond, struct smb_hdr *pTargetSMB)
...
@@ -282,7 +282,7 @@ static int coalesce_t2(struct smb_hdr *psecond, struct smb_hdr *pTargetSMB)
byte_count
=
be32_to_cpu
(
pTargetSMB
->
smb_buf_length
);
byte_count
=
be32_to_cpu
(
pTargetSMB
->
smb_buf_length
);
byte_count
+=
total_in_buf2
;
byte_count
+=
total_in_buf2
;
/* don't allow buffer to overflow */
/* don't allow buffer to overflow */
if
(
byte_count
>
CIFSMaxBufSize
)
if
(
byte_count
>
CIFSMaxBufSize
+
MAX_CIFS_HDR_SIZE
-
4
)
return
-
ENOBUFS
;
return
-
ENOBUFS
;
pTargetSMB
->
smb_buf_length
=
cpu_to_be32
(
byte_count
);
pTargetSMB
->
smb_buf_length
=
cpu_to_be32
(
byte_count
);
...
@@ -2122,7 +2122,7 @@ cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info)
...
@@ -2122,7 +2122,7 @@ cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb_vol *volume_info)
warned_on_ntlm
=
true
;
warned_on_ntlm
=
true
;
cERROR
(
1
,
"default security mechanism requested. The default "
cERROR
(
1
,
"default security mechanism requested. The default "
"security mechanism will be upgraded from ntlm to "
"security mechanism will be upgraded from ntlm to "
"ntlmv2 in kernel release 3.
2
"
);
"ntlmv2 in kernel release 3.
3
"
);
}
}
ses
->
overrideSecFlg
=
volume_info
->
secFlg
;
ses
->
overrideSecFlg
=
volume_info
->
secFlg
;
...
...
fs/minix/inode.c
View file @
117ff42f
...
@@ -263,23 +263,6 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
...
@@ -263,23 +263,6 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
goto
out_no_root
;
goto
out_no_root
;
}
}
ret
=
-
ENOMEM
;
s
->
s_root
=
d_alloc_root
(
root_inode
);
if
(
!
s
->
s_root
)
goto
out_iput
;
if
(
!
(
s
->
s_flags
&
MS_RDONLY
))
{
if
(
sbi
->
s_version
!=
MINIX_V3
)
/* s_state is now out from V3 sb */
ms
->
s_state
&=
~
MINIX_VALID_FS
;
mark_buffer_dirty
(
bh
);
}
if
(
!
(
sbi
->
s_mount_state
&
MINIX_VALID_FS
))
printk
(
"MINIX-fs: mounting unchecked file system, "
"running fsck is recommended
\n
"
);
else
if
(
sbi
->
s_mount_state
&
MINIX_ERROR_FS
)
printk
(
"MINIX-fs: mounting file system with errors, "
"running fsck is recommended
\n
"
);
/* Apparently minix can create filesystems that allocate more blocks for
/* Apparently minix can create filesystems that allocate more blocks for
* the bitmaps than needed. We simply ignore that, but verify it didn't
* the bitmaps than needed. We simply ignore that, but verify it didn't
* create one with not enough blocks and bail out if so.
* create one with not enough blocks and bail out if so.
...
@@ -300,6 +283,23 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
...
@@ -300,6 +283,23 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
goto
out_iput
;
goto
out_iput
;
}
}
ret
=
-
ENOMEM
;
s
->
s_root
=
d_alloc_root
(
root_inode
);
if
(
!
s
->
s_root
)
goto
out_iput
;
if
(
!
(
s
->
s_flags
&
MS_RDONLY
))
{
if
(
sbi
->
s_version
!=
MINIX_V3
)
/* s_state is now out from V3 sb */
ms
->
s_state
&=
~
MINIX_VALID_FS
;
mark_buffer_dirty
(
bh
);
}
if
(
!
(
sbi
->
s_mount_state
&
MINIX_VALID_FS
))
printk
(
"MINIX-fs: mounting unchecked file system, "
"running fsck is recommended
\n
"
);
else
if
(
sbi
->
s_mount_state
&
MINIX_ERROR_FS
)
printk
(
"MINIX-fs: mounting file system with errors, "
"running fsck is recommended
\n
"
);
return
0
;
return
0
;
out_iput:
out_iput:
...
...
include/linux/security.h
View file @
117ff42f
...
@@ -2056,7 +2056,7 @@ static inline int security_old_inode_init_security(struct inode *inode,
...
@@ -2056,7 +2056,7 @@ static inline int security_old_inode_init_security(struct inode *inode,
char
**
name
,
void
**
value
,
char
**
name
,
void
**
value
,
size_t
*
len
)
size_t
*
len
)
{
{
return
0
;
return
-
EOPNOTSUPP
;
}
}
static
inline
int
security_inode_create
(
struct
inode
*
dir
,
static
inline
int
security_inode_create
(
struct
inode
*
dir
,
...
...
kernel/exit.c
View file @
117ff42f
...
@@ -1540,8 +1540,15 @@ static int wait_consider_task(struct wait_opts *wo, int ptrace,
...
@@ -1540,8 +1540,15 @@ static int wait_consider_task(struct wait_opts *wo, int ptrace,
}
}
/* dead body doesn't have much to contribute */
/* dead body doesn't have much to contribute */
if
(
p
->
exit_state
==
EXIT_DEAD
)
if
(
unlikely
(
p
->
exit_state
==
EXIT_DEAD
))
{
/*
* But do not ignore this task until the tracer does
* wait_task_zombie()->do_notify_parent().
*/
if
(
likely
(
!
ptrace
)
&&
unlikely
(
ptrace_reparented
(
p
)))
wo
->
notask_error
=
0
;
return
0
;
return
0
;
}
/* slay zombie? */
/* slay zombie? */
if
(
p
->
exit_state
==
EXIT_ZOMBIE
)
{
if
(
p
->
exit_state
==
EXIT_ZOMBIE
)
{
...
...
kernel/hung_task.c
View file @
117ff42f
...
@@ -74,11 +74,17 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout)
...
@@ -74,11 +74,17 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout)
/*
/*
* Ensure the task is not frozen.
* Ensure the task is not frozen.
* Also, when a freshly created task is scheduled once, changes
* Also, skip vfork and any other user process that freezer should skip.
* its state to TASK_UNINTERRUPTIBLE without having ever been
* switched out once, it musn't be checked.
*/
*/
if
(
unlikely
(
t
->
flags
&
PF_FROZEN
||
!
switch_count
))
if
(
unlikely
(
t
->
flags
&
(
PF_FROZEN
|
PF_FREEZER_SKIP
)))
return
;
/*
* When a freshly created task is scheduled once, changes its state to
* TASK_UNINTERRUPTIBLE without having ever been switched out once, it
* musn't be checked.
*/
if
(
unlikely
(
!
switch_count
))
return
;
return
;
if
(
switch_count
!=
t
->
last_switch_count
)
{
if
(
switch_count
!=
t
->
last_switch_count
)
{
...
...
kernel/ptrace.c
View file @
117ff42f
...
@@ -96,9 +96,20 @@ void __ptrace_unlink(struct task_struct *child)
...
@@ -96,9 +96,20 @@ void __ptrace_unlink(struct task_struct *child)
*/
*/
if
(
!
(
child
->
flags
&
PF_EXITING
)
&&
if
(
!
(
child
->
flags
&
PF_EXITING
)
&&
(
child
->
signal
->
flags
&
SIGNAL_STOP_STOPPED
||
(
child
->
signal
->
flags
&
SIGNAL_STOP_STOPPED
||
child
->
signal
->
group_stop_count
))
child
->
signal
->
group_stop_count
))
{
child
->
jobctl
|=
JOBCTL_STOP_PENDING
;
child
->
jobctl
|=
JOBCTL_STOP_PENDING
;
/*
* This is only possible if this thread was cloned by the
* traced task running in the stopped group, set the signal
* for the future reports.
* FIXME: we should change ptrace_init_task() to handle this
* case.
*/
if
(
!
(
child
->
jobctl
&
JOBCTL_STOP_SIGMASK
))
child
->
jobctl
|=
SIGSTOP
;
}
/*
/*
* If transition to TASK_STOPPED is pending or in TASK_TRACED, kick
* If transition to TASK_STOPPED is pending or in TASK_TRACED, kick
* @child in the butt. Note that @resume should be used iff @child
* @child in the butt. Note that @resume should be used iff @child
...
...
kernel/signal.c
View file @
117ff42f
...
@@ -1994,8 +1994,6 @@ static bool do_signal_stop(int signr)
...
@@ -1994,8 +1994,6 @@ static bool do_signal_stop(int signr)
*/
*/
if
(
!
(
sig
->
flags
&
SIGNAL_STOP_STOPPED
))
if
(
!
(
sig
->
flags
&
SIGNAL_STOP_STOPPED
))
sig
->
group_exit_code
=
signr
;
sig
->
group_exit_code
=
signr
;
else
WARN_ON_ONCE
(
!
current
->
ptrace
);
sig
->
group_stop_count
=
0
;
sig
->
group_stop_count
=
0
;
...
...
net/bluetooth/hci_core.c
View file @
117ff42f
...
@@ -643,7 +643,7 @@ static int hci_dev_do_close(struct hci_dev *hdev)
...
@@ -643,7 +643,7 @@ static int hci_dev_do_close(struct hci_dev *hdev)
if
(
!
test_bit
(
HCI_RAW
,
&
hdev
->
flags
))
{
if
(
!
test_bit
(
HCI_RAW
,
&
hdev
->
flags
))
{
set_bit
(
HCI_INIT
,
&
hdev
->
flags
);
set_bit
(
HCI_INIT
,
&
hdev
->
flags
);
__hci_request
(
hdev
,
hci_reset_req
,
0
,
__hci_request
(
hdev
,
hci_reset_req
,
0
,
msecs_to_jiffies
(
HCI_INIT_TIMEOUT
));
msecs_to_jiffies
(
250
));
clear_bit
(
HCI_INIT
,
&
hdev
->
flags
);
clear_bit
(
HCI_INIT
,
&
hdev
->
flags
);
}
}
...
...
net/sched/sch_qfq.c
View file @
117ff42f
...
@@ -818,11 +818,11 @@ static struct sk_buff *qfq_dequeue(struct Qdisc *sch)
...
@@ -818,11 +818,11 @@ static struct sk_buff *qfq_dequeue(struct Qdisc *sch)
static
void
qfq_update_start
(
struct
qfq_sched
*
q
,
struct
qfq_class
*
cl
)
static
void
qfq_update_start
(
struct
qfq_sched
*
q
,
struct
qfq_class
*
cl
)
{
{
unsigned
long
mask
;
unsigned
long
mask
;
u
int32_t
limit
,
roundedF
;
u
64
limit
,
roundedF
;
int
slot_shift
=
cl
->
grp
->
slot_shift
;
int
slot_shift
=
cl
->
grp
->
slot_shift
;
roundedF
=
qfq_round_down
(
cl
->
F
,
slot_shift
);
roundedF
=
qfq_round_down
(
cl
->
F
,
slot_shift
);
limit
=
qfq_round_down
(
q
->
V
,
slot_shift
)
+
(
1UL
<<
slot_shift
);
limit
=
qfq_round_down
(
q
->
V
,
slot_shift
)
+
(
1UL
L
<<
slot_shift
);
if
(
!
qfq_gt
(
cl
->
F
,
q
->
V
)
||
qfq_gt
(
roundedF
,
limit
))
{
if
(
!
qfq_gt
(
cl
->
F
,
q
->
V
)
||
qfq_gt
(
roundedF
,
limit
))
{
/* timestamp was stale */
/* timestamp was stale */
...
...
security/security.c
View file @
117ff42f
...
@@ -381,7 +381,7 @@ int security_old_inode_init_security(struct inode *inode, struct inode *dir,
...
@@ -381,7 +381,7 @@ int security_old_inode_init_security(struct inode *inode, struct inode *dir,
void
**
value
,
size_t
*
len
)
void
**
value
,
size_t
*
len
)
{
{
if
(
unlikely
(
IS_PRIVATE
(
inode
)))
if
(
unlikely
(
IS_PRIVATE
(
inode
)))
return
0
;
return
-
EOPNOTSUPP
;
return
security_ops
->
inode_init_security
(
inode
,
dir
,
qstr
,
name
,
value
,
return
security_ops
->
inode_init_security
(
inode
,
dir
,
qstr
,
name
,
value
,
len
);
len
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment