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
2afa5980
Commit
2afa5980
authored
Aug 15, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/offset_in_page-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
parents
8e5db3dc
83300c1c
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
111 additions
and
120 deletions
+111
-120
Documentation/DMA-mapping.txt
Documentation/DMA-mapping.txt
+1
-1
crypto/hmac.c
crypto/hmac.c
+4
-4
crypto/tcrypt.c
crypto/tcrypt.c
+68
-68
drivers/block/cryptoloop.c
drivers/block/cryptoloop.c
+2
-2
drivers/ide/arm/icside.c
drivers/ide/arm/icside.c
+1
-1
drivers/ide/ide-dma.c
drivers/ide/ide-dma.c
+2
-2
drivers/ide/ppc/pmac.c
drivers/ide/ppc/pmac.c
+2
-2
drivers/net/acenic.c
drivers/net/acenic.c
+4
-4
drivers/net/sk98lin/skge.c
drivers/net/sk98lin/skge.c
+3
-4
drivers/net/sungem.c
drivers/net/sungem.c
+4
-7
drivers/scsi/3w-xxxx.c
drivers/scsi/3w-xxxx.c
+1
-1
drivers/scsi/arm/scsi.h
drivers/scsi/arm/scsi.h
+1
-1
drivers/scsi/ide-scsi.c
drivers/scsi/ide-scsi.c
+1
-1
drivers/scsi/megaraid.c
drivers/scsi/megaraid.c
+1
-2
drivers/scsi/qlogicfc.c
drivers/scsi/qlogicfc.c
+2
-4
drivers/scsi/sg.c
drivers/scsi/sg.c
+1
-1
drivers/scsi/sym53c8xx.c
drivers/scsi/sym53c8xx.c
+1
-2
drivers/usb/misc/usbtest.c
drivers/usb/misc/usbtest.c
+1
-1
drivers/usb/storage/sddr09.c
drivers/usb/storage/sddr09.c
+1
-1
fs/jbd/journal.c
fs/jbd/journal.c
+3
-6
include/linux/mm.h
include/linux/mm.h
+2
-0
net/ipv6/addrconf.c
net/ipv6/addrconf.c
+2
-2
net/sunrpc/auth_gss/gss_krb5_crypto.c
net/sunrpc/auth_gss/gss_krb5_crypto.c
+3
-3
No files found.
Documentation/DMA-mapping.txt
View file @
2afa5980
...
...
@@ -689,7 +689,7 @@ portably refer to any piece of memory. If you have a cpu pointer
and offset using something like this:
struct page *page = virt_to_page(ptr);
unsigned long offset =
((unsigned long)ptr & ~PAGE_MASK
);
unsigned long offset =
offset_in_page(ptr
);
Here are the interfaces:
...
...
crypto/hmac.c
View file @
2afa5980
...
...
@@ -26,7 +26,7 @@ static void hash_key(struct crypto_tfm *tfm, u8 *key, unsigned int keylen)
struct
scatterlist
tmp
;
tmp
.
page
=
virt_to_page
(
key
);
tmp
.
offset
=
((
long
)
key
&
~
PAGE_MASK
);
tmp
.
offset
=
offset_in_page
(
key
);
tmp
.
length
=
keylen
;
crypto_digest_digest
(
tfm
,
&
tmp
,
1
,
key
);
...
...
@@ -71,7 +71,7 @@ void crypto_hmac_init(struct crypto_tfm *tfm, u8 *key, unsigned int *keylen)
ipad
[
i
]
^=
0x36
;
tmp
.
page
=
virt_to_page
(
ipad
);
tmp
.
offset
=
((
long
)
ipad
&
~
PAGE_MASK
);
tmp
.
offset
=
offset_in_page
(
ipad
);
tmp
.
length
=
crypto_tfm_alg_blocksize
(
tfm
);
crypto_digest_init
(
tfm
);
...
...
@@ -105,14 +105,14 @@ void crypto_hmac_final(struct crypto_tfm *tfm, u8 *key,
opad
[
i
]
^=
0x5c
;
tmp
.
page
=
virt_to_page
(
opad
);
tmp
.
offset
=
((
long
)
opad
&
~
PAGE_MASK
);
tmp
.
offset
=
offset_in_page
(
opad
);
tmp
.
length
=
crypto_tfm_alg_blocksize
(
tfm
);
crypto_digest_init
(
tfm
);
crypto_digest_update
(
tfm
,
&
tmp
,
1
);
tmp
.
page
=
virt_to_page
(
out
);
tmp
.
offset
=
((
long
)
out
&
~
PAGE_MASK
);
tmp
.
offset
=
offset_in_page
(
out
);
tmp
.
length
=
crypto_tfm_alg_digestsize
(
tfm
);
crypto_digest_update
(
tfm
,
&
tmp
,
1
);
...
...
crypto/tcrypt.c
View file @
2afa5980
This diff is collapsed.
Click to expand it.
drivers/block/cryptoloop.c
View file @
2afa5980
...
...
@@ -162,11 +162,11 @@ cryptoloop_transfer_cbc(struct loop_device *lo, int cmd, char *raw_buf,
iv
[
0
]
=
cpu_to_le32
(
IV
&
0xffffffff
);
sg_in
.
page
=
virt_to_page
(
in
);
sg_in
.
offset
=
(
unsigned
long
)
in
&
~
PAGE_MASK
;
sg_in
.
offset
=
offset_in_page
(
in
)
;
sg_in
.
length
=
sz
;
sg_out
.
page
=
virt_to_page
(
out
);
sg_out
.
offset
=
(
unsigned
long
)
out
&
~
PAGE_MASK
;
sg_out
.
offset
=
offset_in_page
(
out
)
;
sg_out
.
length
=
sz
;
encdecfunc
(
tfm
,
&
sg_out
,
&
sg_in
,
sz
,
(
u8
*
)
iv
);
...
...
drivers/ide/arm/icside.c
View file @
2afa5980
...
...
@@ -233,7 +233,7 @@ static void ide_build_sglist(ide_drive_t *drive, struct request *rq)
memset
(
sg
,
0
,
sizeof
(
*
sg
));
sg
->
page
=
virt_to_page
(
rq
->
buffer
);
sg
->
offset
=
((
unsigned
long
)
rq
->
buffer
)
&
~
PAGE_MASK
;
sg
->
offset
=
offset_in_page
(
rq
->
buffer
)
;
sg
->
length
=
rq
->
nr_sectors
*
SECTOR_SIZE
;
nents
=
1
;
}
else
{
...
...
drivers/ide/ide-dma.c
View file @
2afa5980
...
...
@@ -255,7 +255,7 @@ static int ide_raw_build_sglist (ide_drive_t *drive, struct request *rq)
#endif
memset
(
&
sg
[
nents
],
0
,
sizeof
(
*
sg
));
sg
[
nents
].
page
=
virt_to_page
(
virt_addr
);
sg
[
nents
].
offset
=
(
unsigned
long
)
virt_addr
&
~
PAGE_MASK
;
sg
[
nents
].
offset
=
offset_in_page
(
virt_addr
)
;
sg
[
nents
].
length
=
128
*
SECTOR_SIZE
;
nents
++
;
virt_addr
=
virt_addr
+
(
128
*
SECTOR_SIZE
);
...
...
@@ -263,7 +263,7 @@ static int ide_raw_build_sglist (ide_drive_t *drive, struct request *rq)
}
memset
(
&
sg
[
nents
],
0
,
sizeof
(
*
sg
));
sg
[
nents
].
page
=
virt_to_page
(
virt_addr
);
sg
[
nents
].
offset
=
(
unsigned
long
)
virt_addr
&
~
PAGE_MASK
;
sg
[
nents
].
offset
=
offset_in_page
(
virt_addr
)
;
sg
[
nents
].
length
=
sector_count
*
SECTOR_SIZE
;
nents
++
;
...
...
drivers/ide/ppc/pmac.c
View file @
2afa5980
...
...
@@ -971,7 +971,7 @@ pmac_ide_raw_build_sglist(ide_drive_t *drive, struct request *rq)
if
(
sector_count
>
127
)
{
memset
(
&
sg
[
nents
],
0
,
sizeof
(
*
sg
));
sg
[
nents
].
page
=
virt_to_page
(
virt_addr
);
sg
[
nents
].
offset
=
(
unsigned
long
)
virt_addr
&
~
PAGE_MASK
;
sg
[
nents
].
offset
=
offset_in_page
(
virt_addr
)
;
sg
[
nents
].
length
=
127
*
SECTOR_SIZE
;
nents
++
;
virt_addr
=
virt_addr
+
(
127
*
SECTOR_SIZE
);
...
...
@@ -979,7 +979,7 @@ pmac_ide_raw_build_sglist(ide_drive_t *drive, struct request *rq)
}
memset
(
&
sg
[
nents
],
0
,
sizeof
(
*
sg
));
sg
[
nents
].
page
=
virt_to_page
(
virt_addr
);
sg
[
nents
].
offset
=
(
unsigned
long
)
virt_addr
&
~
PAGE_MASK
;
sg
[
nents
].
offset
=
offset_in_page
(
virt_addr
)
;
sg
[
nents
].
length
=
sector_count
*
SECTOR_SIZE
;
nents
++
;
...
...
drivers/net/acenic.c
View file @
2afa5980
...
...
@@ -1960,7 +1960,7 @@ static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs)
*/
skb_reserve
(
skb
,
2
+
16
);
mapping
=
pci_map_page
(
ap
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
ACE_STD_BUFSIZE
-
(
2
+
16
),
PCI_DMA_FROMDEVICE
);
ap
->
skb
->
rx_std_skbuff
[
idx
].
skb
=
skb
;
...
...
@@ -2026,7 +2026,7 @@ static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs)
*/
skb_reserve
(
skb
,
2
+
16
);
mapping
=
pci_map_page
(
ap
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
ACE_MINI_BUFSIZE
-
(
2
+
16
),
PCI_DMA_FROMDEVICE
);
ap
->
skb
->
rx_mini_skbuff
[
idx
].
skb
=
skb
;
...
...
@@ -2087,7 +2087,7 @@ static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs)
*/
skb_reserve
(
skb
,
2
+
16
);
mapping
=
pci_map_page
(
ap
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
ACE_JUMBO_BUFSIZE
-
(
2
+
16
),
PCI_DMA_FROMDEVICE
);
ap
->
skb
->
rx_jumbo_skbuff
[
idx
].
skb
=
skb
;
...
...
@@ -2743,7 +2743,7 @@ ace_map_tx_skb(struct ace_private *ap, struct sk_buff *skb,
struct
tx_ring_info
*
info
;
mapping
=
pci_map_page
(
ap
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
skb
->
len
,
PCI_DMA_TODEVICE
);
info
=
ap
->
skb
->
tx_skbuff
+
idx
;
...
...
drivers/net/sk98lin/skge.c
View file @
2afa5980
...
...
@@ -2142,7 +2142,7 @@ struct sk_buff *pMessage) /* pointer to send-message */
*/
PhysAddr
=
(
SK_U64
)
pci_map_page
(
pAC
->
PciDev
,
virt_to_page
(
pMessage
->
data
),
((
unsigned
long
)
pMessage
->
data
&
~
PAGE_MASK
),
offset_in_page
(
pMessage
->
data
),
pMessage
->
len
,
PCI_DMA_TODEVICE
);
pTxd
->
VDataLow
=
(
SK_U32
)
(
PhysAddr
&
0xffffffff
);
...
...
@@ -2259,7 +2259,7 @@ struct sk_buff *pMessage) /* pointer to send-message */
*/
PhysAddr
=
(
SK_U64
)
pci_map_page
(
pAC
->
PciDev
,
virt_to_page
(
pMessage
->
data
),
((
unsigned
long
)
pMessage
->
data
&
~
PAGE_MASK
),
offset_in_page
(
pMessage
->
data
),
skb_headlen
(
pMessage
),
PCI_DMA_TODEVICE
);
...
...
@@ -2518,8 +2518,7 @@ SK_U64 PhysAddr; /* physical address of a rx buffer */
Length
=
pAC
->
RxBufSize
;
PhysAddr
=
(
SK_U64
)
pci_map_page
(
pAC
->
PciDev
,
virt_to_page
(
pMsgBlock
->
data
),
((
unsigned
long
)
pMsgBlock
->
data
&
~
PAGE_MASK
),
offset_in_page
(
pMsgBlock
->
data
),
pAC
->
RxBufSize
-
2
,
PCI_DMA_FROMDEVICE
);
...
...
drivers/net/sungem.c
View file @
2afa5980
...
...
@@ -725,8 +725,7 @@ static void gem_rx(struct gem *gp)
skb_put
(
new_skb
,
(
ETH_FRAME_LEN
+
RX_OFFSET
));
rxd
->
buffer
=
cpu_to_le64
(
pci_map_page
(
gp
->
pdev
,
virt_to_page
(
new_skb
->
data
),
((
unsigned
long
)
new_skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
new_skb
->
data
),
RX_BUF_ALLOC_SIZE
(
gp
),
PCI_DMA_FROMDEVICE
));
skb_reserve
(
new_skb
,
RX_OFFSET
);
...
...
@@ -873,8 +872,7 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev)
len
=
skb
->
len
;
mapping
=
pci_map_page
(
gp
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
len
,
PCI_DMA_TODEVICE
);
ctrl
|=
TXDCTRL_SOF
|
TXDCTRL_EOF
|
len
;
if
(
gem_intme
(
entry
))
...
...
@@ -898,7 +896,7 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev)
*/
first_len
=
skb_headlen
(
skb
);
first_mapping
=
pci_map_page
(
gp
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
first_len
,
PCI_DMA_TODEVICE
);
entry
=
NEXT_TX
(
entry
);
...
...
@@ -1464,8 +1462,7 @@ static void gem_init_rings(struct gem *gp)
skb_put
(
skb
,
(
ETH_FRAME_LEN
+
RX_OFFSET
));
dma_addr
=
pci_map_page
(
gp
->
pdev
,
virt_to_page
(
skb
->
data
),
((
unsigned
long
)
skb
->
data
&
~
PAGE_MASK
),
offset_in_page
(
skb
->
data
),
RX_BUF_ALLOC_SIZE
(
gp
),
PCI_DMA_FROMDEVICE
);
rxd
->
buffer
=
cpu_to_le64
(
dma_addr
);
...
...
drivers/scsi/3w-xxxx.c
View file @
2afa5980
...
...
@@ -2112,7 +2112,7 @@ static u32 tw_map_scsi_single_data(struct pci_dev *pdev, Scsi_Cmnd *cmd)
if
(
cmd
->
request_bufflen
==
0
)
return
0
;
mapping
=
pci_map_page
(
pdev
,
virt_to_page
(
cmd
->
request_buffer
),
((
unsigned
long
)
cmd
->
request_buffer
&
~
PAGE_MASK
),
cmd
->
request_bufflen
,
dma_dir
);
mapping
=
pci_map_page
(
pdev
,
virt_to_page
(
cmd
->
request_buffer
),
offset_in_page
(
cmd
->
request_buffer
),
cmd
->
request_bufflen
,
dma_dir
);
if
(
mapping
==
0
)
{
printk
(
KERN_WARNING
"3w-xxxx: tw_map_scsi_single_data(): pci_map_page() failed.
\n
"
);
...
...
drivers/scsi/arm/scsi.h
View file @
2afa5980
...
...
@@ -23,7 +23,7 @@ static inline int copy_SCp_to_sg(struct scatterlist *sg, Scsi_Pointer *SCp, int
BUG_ON
(
bufs
+
1
>
max
);
sg
->
page
=
virt_to_page
(
SCp
->
ptr
);
sg
->
offset
=
((
unsigned
int
)
SCp
->
ptr
)
&
~
PAGE_MASK
;
sg
->
offset
=
offset_in_page
(
SCp
->
ptr
)
;
sg
->
length
=
SCp
->
this_residual
;
if
(
bufs
)
...
...
drivers/scsi/ide-scsi.c
View file @
2afa5980
...
...
@@ -761,8 +761,8 @@ static inline struct bio *idescsi_dma_bio(ide_drive_t *drive, idescsi_pc_t *pc)
printk
(
"ide-scsi: %s: building DMA table for a single buffer (%dkB)
\n
"
,
drive
->
name
,
pc
->
request_transfer
>>
10
);
#endif
/* IDESCSI_DEBUG_LOG */
bh
->
bi_io_vec
[
0
].
bv_page
=
virt_to_page
(
pc
->
scsi_cmd
->
request_buffer
);
bh
->
bi_io_vec
[
0
].
bv_offset
=
offset_in_page
(
pc
->
scsi_cmd
->
request_buffer
);
bh
->
bi_io_vec
[
0
].
bv_len
=
pc
->
request_transfer
;
bh
->
bi_io_vec
[
0
].
bv_offset
=
(
unsigned
long
)
pc
->
scsi_cmd
->
request_buffer
&
~
PAGE_MASK
;
bh
->
bi_size
=
pc
->
request_transfer
;
}
return
first_bh
;
...
...
drivers/scsi/megaraid.c
View file @
2afa5980
...
...
@@ -2275,8 +2275,7 @@ mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 *buf, u32 *len)
if
(
!
cmd
->
use_sg
)
{
page
=
virt_to_page
(
cmd
->
request_buffer
);
offset
=
((
unsigned
long
)
cmd
->
request_buffer
&
~
PAGE_MASK
);
offset
=
offset_in_page
(
cmd
->
request_buffer
);
scb
->
dma_h_bulkdata
=
pci_map_page
(
adapter
->
dev
,
page
,
offset
,
...
...
drivers/scsi/qlogicfc.c
View file @
2afa5980
...
...
@@ -1282,8 +1282,7 @@ int isp2x00_queuecommand(Scsi_Cmnd * Cmnd, void (*done) (Scsi_Cmnd *))
}
}
else
if
(
Cmnd
->
request_bufflen
&&
Cmnd
->
sc_data_direction
!=
PCI_DMA_NONE
)
{
struct
page
*
page
=
virt_to_page
(
Cmnd
->
request_buffer
);
unsigned
long
offset
=
((
unsigned
long
)
Cmnd
->
request_buffer
&
~
PAGE_MASK
);
unsigned
long
offset
=
offset_in_page
(
Cmnd
->
request_buffer
);
dma_addr_t
busaddr
=
pci_map_page
(
hostdata
->
pci_dev
,
page
,
offset
,
Cmnd
->
request_bufflen
,
...
...
@@ -1926,8 +1925,7 @@ static int isp2x00_reset_hardware(struct Scsi_Host *host)
*/
busaddr
=
pci_map_page
(
hostdata
->
pci_dev
,
virt_to_page
(
&
hostdata
->
control_block
),
((
unsigned
long
)
&
hostdata
->
control_block
&
~
PAGE_MASK
),
offset_in_page
(
&
hostdata
->
control_block
),
sizeof
(
hostdata
->
control_block
),
PCI_DMA_BIDIRECTIONAL
);
...
...
drivers/scsi/sg.c
View file @
2afa5980
...
...
@@ -1814,7 +1814,7 @@ sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size)
break
;
}
sclp
->
page
=
virt_to_page
(
p
);
sclp
->
offset
=
(
unsigned
long
)
p
&
~
PAGE_MASK
;
sclp
->
offset
=
offset_in_page
(
p
)
;
sclp
->
length
=
ret_sz
;
SCSI_LOG_TIMEOUT
(
5
,
printk
(
"sg_build_build: k=%d, a=0x%p, len=%d
\n
"
,
...
...
drivers/scsi/sym53c8xx.c
View file @
2afa5980
...
...
@@ -1162,8 +1162,7 @@ static dma_addr_t __map_scsi_single_data(pcidev_t pdev, Scsi_Cmnd *cmd)
mapping
=
pci_map_page
(
pdev
,
virt_to_page
(
cmd
->
request_buffer
),
((
unsigned
long
)
cmd
->
request_buffer
&
~
PAGE_MASK
),
offset_in_page
(
cmd
->
request_buffer
),
cmd
->
request_bufflen
,
dma_dir
);
__data_mapped
(
cmd
)
=
1
;
__data_mapping
(
cmd
)
=
mapping
;
...
...
drivers/usb/misc/usbtest.c
View file @
2afa5980
...
...
@@ -271,7 +271,7 @@ alloc_sglist (int nents, int max, int vary)
/* kmalloc pages are always physically contiguous! */
sg
[
i
].
page
=
virt_to_page
(
buf
);
sg
[
i
].
offset
=
((
unsigned
)
buf
)
&
~
PAGE_MASK
;
sg
[
i
].
offset
=
offset_in_page
(
buf
)
;
sg
[
i
].
length
=
size
;
if
(
vary
)
{
...
...
drivers/usb/storage/sddr09.c
View file @
2afa5980
...
...
@@ -1127,7 +1127,7 @@ sddr09_read_map(struct us_data *us) {
char
*
vaddr
=
kmalloc
(
alloc_req
,
GFP_NOIO
);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
sg
[
i
].
page
=
virt_to_page
(
vaddr
);
sg
[
i
].
offset
=
((
unsigned
long
)
vaddr
&
~
PAGE_MASK
);
sg
[
i
].
offset
=
offset_in_page
(
vaddr
);
#else
sg
[
i
].
address
=
vaddr
;
#endif
...
...
fs/jbd/journal.c
View file @
2afa5980
...
...
@@ -278,9 +278,6 @@ static void journal_kill_thread(journal_t *journal)
* Bit 1 set == buffer copy-out performed (kfree the data after IO)
*/
static
inline
unsigned
long
virt_to_offset
(
void
*
p
)
{
return
((
unsigned
long
)
p
)
&
~
PAGE_MASK
;}
int
journal_write_metadata_buffer
(
transaction_t
*
transaction
,
struct
journal_head
*
jh_in
,
struct
journal_head
**
jh_out
,
...
...
@@ -318,10 +315,10 @@ int journal_write_metadata_buffer(transaction_t *transaction,
if
(
jh_in
->
b_frozen_data
)
{
done_copy_out
=
1
;
new_page
=
virt_to_page
(
jh_in
->
b_frozen_data
);
new_offset
=
virt_to_offset
(
jh_in
->
b_frozen_data
);
new_offset
=
offset_in_page
(
jh_in
->
b_frozen_data
);
}
else
{
new_page
=
jh2bh
(
jh_in
)
->
b_page
;
new_offset
=
virt_to_offset
(
jh2bh
(
jh_in
)
->
b_data
);
new_offset
=
offset_in_page
(
jh2bh
(
jh_in
)
->
b_data
);
}
mapped_data
=
kmap_atomic
(
new_page
,
KM_USER0
);
...
...
@@ -358,7 +355,7 @@ int journal_write_metadata_buffer(transaction_t *transaction,
address kmapped so that we can clear the escaped
magic number below. */
new_page
=
virt_to_page
(
tmp
);
new_offset
=
virt_to_offset
(
tmp
);
new_offset
=
offset_in_page
(
tmp
);
done_copy_out
=
1
;
}
...
...
include/linux/mm.h
View file @
2afa5980
...
...
@@ -400,6 +400,8 @@ static inline int page_mapped(struct page *page)
#define VM_FAULT_MINOR 1
#define VM_FAULT_MAJOR 2
#define offset_in_page(p) ((unsigned long)(p) & ~PAGE_MASK)
extern
void
show_free_areas
(
void
);
struct
page
*
shmem_nopage
(
struct
vm_area_struct
*
vma
,
...
...
net/ipv6/addrconf.c
View file @
2afa5980
...
...
@@ -1110,10 +1110,10 @@ static int __ipv6_regen_rndid(struct inet6_dev *idev)
struct
scatterlist
sg
[
2
];
sg
[
0
].
page
=
virt_to_page
(
idev
->
entropy
);
sg
[
0
].
offset
=
((
long
)
idev
->
entropy
&
~
PAGE_MASK
);
sg
[
0
].
offset
=
offset_in_page
(
idev
->
entropy
);
sg
[
0
].
length
=
8
;
sg
[
1
].
page
=
virt_to_page
(
eui64
);
sg
[
1
].
offset
=
((
long
)
eui64
&
~
PAGE_MASK
);
sg
[
1
].
offset
=
offset_in_page
(
eui64
);
sg
[
1
].
length
=
8
;
dev
=
idev
->
dev
;
...
...
net/sunrpc/auth_gss/gss_krb5_crypto.c
View file @
2afa5980
...
...
@@ -75,7 +75,7 @@ krb5_encrypt(
memcpy
(
out
,
in
,
length
);
sg
[
0
].
page
=
virt_to_page
(
out
);
sg
[
0
].
offset
=
((
long
)
out
&
~
PAGE_MASK
);
sg
[
0
].
offset
=
offset_in_page
(
out
);
sg
[
0
].
length
=
length
;
ret
=
crypto_cipher_encrypt
(
tfm
,
sg
,
sg
,
length
);
...
...
@@ -114,7 +114,7 @@ krb5_decrypt(
memcpy
(
out
,
in
,
length
);
sg
[
0
].
page
=
virt_to_page
(
out
);
sg
[
0
].
offset
=
((
long
)
out
&
~
PAGE_MASK
);
sg
[
0
].
offset
=
offset_in_page
(
out
);
sg
[
0
].
length
=
length
;
ret
=
crypto_cipher_decrypt
(
tfm
,
sg
,
sg
,
length
);
...
...
@@ -151,7 +151,7 @@ krb5_make_checksum(s32 cksumtype, struct xdr_netobj *input,
goto
out_free_tfm
;
}
sg
[
0
].
page
=
virt_to_page
(
input
->
data
);
sg
[
0
].
offset
=
((
long
)
input
->
data
&
~
PAGE_MASK
);
sg
[
0
].
offset
=
offset_in_page
(
input
->
data
);
sg
[
0
].
length
=
input
->
len
;
crypto_digest_init
(
tfm
);
...
...
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